diff --git a/app/HmsDemo.jks b/app/HmsDemo.jks new file mode 100644 index 0000000..ac79e3e Binary files /dev/null and b/app/HmsDemo.jks differ diff --git a/app/agconnect-services.json b/app/agconnect-services.json new file mode 100644 index 0000000..6ece27f --- /dev/null +++ b/app/agconnect-services.json @@ -0,0 +1,11 @@ +{ + "client":{ + "cp_id":"xxxxxx", + "product_id":"xxxxxx", + "client_id":"xxxxxx", + "client_secret":"xxxxxx", + "app_id":"xxxxxx", + "package_name":"com.jaychang.demo.sa" + }, + "configuration_version":"1.0" +} \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index 89616ff..4db60a6 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,6 +1,8 @@ apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' +apply plugin: 'com.huawei.agconnect' + buildscript { repositories { @@ -19,14 +21,38 @@ android { minSdkVersion deps.build.minSdkVersion targetSdkVersion deps.build.targetSdkVersion versionCode 1 + multiDexEnabled true versionName "1.0" } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + + signingConfigs { + release { + storeFile file('HmsDemo.jks') + keyAlias 'HmsDemo' + keyPassword 'xxxxxx' + storePassword 'xxxxxx' + v1SigningEnabled true + v2SigningEnabled true + } + } + buildTypes { release { + signingConfig signingConfigs.release minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' + } + debug { + signingConfig signingConfigs.release + debuggable true } } + lintOptions { abortOnError false } @@ -51,4 +77,8 @@ dependencies { implementation project(':library-google') implementation project(':library-instagram') implementation project(':library-twitter') + implementation project(':library-huawei') + implementation 'com.huawei.agconnect:agconnect-core:1.0.0.300' + + implementation 'com.android.support:multidex:1.0.1' } diff --git a/app/src/main/java/com/jaychang/demo/sa/MainActivity.kt b/app/src/main/java/com/jaychang/demo/sa/MainActivity.kt index f4d3749..77f2358 100644 --- a/app/src/main/java/com/jaychang/demo/sa/MainActivity.kt +++ b/app/src/main/java/com/jaychang/demo/sa/MainActivity.kt @@ -9,10 +9,12 @@ import com.jaychang.sa.SocialUser import com.jaychang.sa.facebook.SimpleAuth import java.util.* + class MainActivity : AppCompatActivity() { companion object { const val FACEBOOK = "FACEBOOK" + const val HUAWEI = "HUAWEI" const val GOOGLE = "GOOGLE" const val TWITTER = "TWITTER" const val INSTAGRAM = "INSTAGRAM" @@ -41,6 +43,22 @@ class MainActivity : AppCompatActivity() { }) } + fun connectHuawei(view: View) { + com.jaychang.sa.huawei.SimpleAuth.connectHuawei(object : AuthCallback { + override fun onSuccess(socialUser: SocialUser) { + ProfileActivity.start(this@MainActivity, HUAWEI, socialUser) + } + + override fun onError(error: Throwable) { + toast(error.message ?: "") + } + + override fun onCancel() { + toast("Canceled") + } + }) + } + fun connectGoogle(view: View) { val scopes = Arrays.asList( "https://www.googleapis.com/auth/youtube", diff --git a/app/src/main/java/com/jaychang/demo/sa/ProfileActivity.kt b/app/src/main/java/com/jaychang/demo/sa/ProfileActivity.kt index c32a115..4ee0fb6 100644 --- a/app/src/main/java/com/jaychang/demo/sa/ProfileActivity.kt +++ b/app/src/main/java/com/jaychang/demo/sa/ProfileActivity.kt @@ -39,6 +39,7 @@ class ProfileActivity : AppCompatActivity() { fun disconnect(view: View) { when (type) { + MainActivity.HUAWEI -> com.jaychang.sa.huawei.SimpleAuth.disconnectHuawei() MainActivity.FACEBOOK -> SimpleAuth.disconnectFacebook() MainActivity.GOOGLE -> com.jaychang.sa.google.SimpleAuth.disconnectGoogle() MainActivity.TWITTER -> com.jaychang.sa.twitter.SimpleAuth.disconnectTwitter() @@ -49,6 +50,7 @@ class ProfileActivity : AppCompatActivity() { fun revoke(view: View) { when (type) { + MainActivity.HUAWEI -> com.jaychang.sa.huawei.SimpleAuth.revokeHuawei() MainActivity.FACEBOOK -> SimpleAuth.revokeFacebook() MainActivity.GOOGLE -> com.jaychang.sa.google.SimpleAuth.revokeGoogle() MainActivity.TWITTER -> { diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index dbeccdb..60ae2a7 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -6,6 +6,20 @@ android:background="#555" android:orientation="vertical"> +