谷歌登录
这个提交包含在:
父节点
fcca8a2fa0
当前提交
5ade899336
@ -65,7 +65,12 @@ android {
|
|||||||
}
|
}
|
||||||
namespace 'com.xuqinmin.android.app'
|
namespace 'com.xuqinmin.android.app'
|
||||||
}
|
}
|
||||||
|
configurations.all {
|
||||||
|
resolutionStrategy {
|
||||||
|
force "androidx.lifecycle:lifecycle-viewmodel:2.5.1"
|
||||||
|
force "androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1"
|
||||||
|
}
|
||||||
|
}
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation fileTree(dir: "libs", include: ["*.jar", "*.aar"])
|
implementation fileTree(dir: "libs", include: ["*.jar", "*.aar"])
|
||||||
implementation project(path: ':core')
|
implementation project(path: ':core')
|
||||||
@ -114,4 +119,8 @@ dependencies {
|
|||||||
implementation("com.android.billingclient:billing:6.2.0")
|
implementation("com.android.billingclient:billing:6.2.0")
|
||||||
// implementation("com.android.billingclient:billing-ktx:6.2.0")
|
// implementation("com.android.billingclient:billing-ktx:6.2.0")
|
||||||
|
|
||||||
|
implementation("com.google.android.gms:play-services-base:18.5.0")
|
||||||
|
|
||||||
|
implementation("com.google.android.gms:play-services-auth:21.2.0")
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
68
app/google-services.json
普通文件
68
app/google-services.json
普通文件
@ -0,0 +1,68 @@
|
|||||||
|
{
|
||||||
|
"project_info": {
|
||||||
|
"project_number": "981878503916",
|
||||||
|
"project_id": "chatlive-6f73e",
|
||||||
|
"storage_bucket": "chatlive-6f73e.appspot.com"
|
||||||
|
},
|
||||||
|
"client": [
|
||||||
|
{
|
||||||
|
"client_info": {
|
||||||
|
"mobilesdk_app_id": "1:981878503916:android:4a1f95a93bc4a29202a8c9",
|
||||||
|
"android_client_info": {
|
||||||
|
"package_name": "com.chat.live"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"oauth_client": [
|
||||||
|
{
|
||||||
|
"client_id": "981878503916-k8qii5tcfvs8gph4lscrb5tr729ll6eh.apps.googleusercontent.com",
|
||||||
|
"client_type": 3
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"api_key": [
|
||||||
|
{
|
||||||
|
"current_key": "AIzaSyAQZFkQgBI_sJBKYAzxZrPlJFFvfymI2F4"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"services": {
|
||||||
|
"appinvite_service": {
|
||||||
|
"other_platform_oauth_client": [
|
||||||
|
{
|
||||||
|
"client_id": "981878503916-k8qii5tcfvs8gph4lscrb5tr729ll6eh.apps.googleusercontent.com",
|
||||||
|
"client_type": 3
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"client_info": {
|
||||||
|
"mobilesdk_app_id": "1:981878503916:android:27d5fec1614a6e0d02a8c9",
|
||||||
|
"android_client_info": {
|
||||||
|
"package_name": "com.chatlive.app"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"oauth_client": [
|
||||||
|
{
|
||||||
|
"client_id": "981878503916-k8qii5tcfvs8gph4lscrb5tr729ll6eh.apps.googleusercontent.com",
|
||||||
|
"client_type": 3
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"api_key": [
|
||||||
|
{
|
||||||
|
"current_key": "AIzaSyAQZFkQgBI_sJBKYAzxZrPlJFFvfymI2F4"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"services": {
|
||||||
|
"appinvite_service": {
|
||||||
|
"other_platform_oauth_client": [
|
||||||
|
{
|
||||||
|
"client_id": "981878503916-k8qii5tcfvs8gph4lscrb5tr729ll6eh.apps.googleusercontent.com",
|
||||||
|
"client_type": 3
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"configuration_version": "1"
|
||||||
|
}
|
||||||
@ -5,4 +5,5 @@ const val SHARE_RISK_PURE = "share_risk_pure"
|
|||||||
|
|
||||||
const val MCC = "mcc"
|
const val MCC = "mcc"
|
||||||
const val DEVICE_ID = "deviceUuid"
|
const val DEVICE_ID = "deviceUuid"
|
||||||
|
const val GOOGLE_ID = "googleId"
|
||||||
const val USER_INFO = "user_info"
|
const val USER_INFO = "user_info"
|
||||||
|
|||||||
@ -1,17 +1,25 @@
|
|||||||
package com.xuqinmin.android.app.ui
|
package com.xuqinmin.android.app.ui
|
||||||
|
|
||||||
|
import android.R.attr
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.telephony.TelephonyManager
|
import android.telephony.TelephonyManager
|
||||||
|
import android.util.Log
|
||||||
import androidx.activity.viewModels
|
import androidx.activity.viewModels
|
||||||
import com.bigkoo.alertview.AlertView
|
import com.bigkoo.alertview.AlertView
|
||||||
|
import com.google.android.gms.auth.api.signin.GoogleSignIn
|
||||||
|
import com.google.android.gms.auth.api.signin.GoogleSignInAccount
|
||||||
|
import com.google.android.gms.auth.api.signin.GoogleSignInClient
|
||||||
|
import com.google.android.gms.auth.api.signin.GoogleSignInOptions
|
||||||
|
import com.google.android.gms.common.api.ApiException
|
||||||
|
import com.google.android.gms.tasks.Task
|
||||||
import com.xuqinmin.android.app.MyApplication
|
import com.xuqinmin.android.app.MyApplication
|
||||||
import com.xuqinmin.android.app.R
|
import com.xuqinmin.android.app.R
|
||||||
import com.xuqinmin.android.app.common.DEVICE_ID
|
import com.xuqinmin.android.app.common.DEVICE_ID
|
||||||
|
import com.xuqinmin.android.app.common.GOOGLE_ID
|
||||||
import com.xuqinmin.android.app.common.MCC
|
import com.xuqinmin.android.app.common.MCC
|
||||||
import com.xuqinmin.android.app.databinding.ActivityWelcomeBinding
|
import com.xuqinmin.android.app.databinding.ActivityWelcomeBinding
|
||||||
import com.xuqinmin.android.app.model.DataLogin
|
import com.xuqinmin.android.app.model.DataLogin
|
||||||
import com.xuqinmin.android.app.model.ModelHideIn
|
|
||||||
import com.xuqinmin.android.app.viewmodel.WelcomeVM
|
import com.xuqinmin.android.app.viewmodel.WelcomeVM
|
||||||
import com.xuqm.base.common.AppManager
|
import com.xuqm.base.common.AppManager
|
||||||
import com.xuqm.base.common.DeviceUuidFactory
|
import com.xuqm.base.common.DeviceUuidFactory
|
||||||
@ -19,17 +27,17 @@ import com.xuqm.base.common.GsonImplHelp
|
|||||||
import com.xuqm.base.common.SHARE_LOGIN_OBJ
|
import com.xuqm.base.common.SHARE_LOGIN_OBJ
|
||||||
import com.xuqm.base.common.SHARE_UESR_ID
|
import com.xuqm.base.common.SHARE_UESR_ID
|
||||||
import com.xuqm.base.common.SHARE_UESR_TOKEN
|
import com.xuqm.base.common.SHARE_UESR_TOKEN
|
||||||
|
import com.xuqm.base.common.ToolsHelper
|
||||||
import com.xuqm.base.dialog.loading.LoadingDialog
|
import com.xuqm.base.dialog.loading.LoadingDialog
|
||||||
import com.xuqm.base.extensions.Fonts
|
import com.xuqm.base.extensions.Fonts
|
||||||
import com.xuqm.base.extensions.getIntForPreferences
|
|
||||||
import com.xuqm.base.extensions.getStringForPreferences
|
import com.xuqm.base.extensions.getStringForPreferences
|
||||||
|
import com.xuqm.base.extensions.loge
|
||||||
import com.xuqm.base.extensions.putInt
|
import com.xuqm.base.extensions.putInt
|
||||||
import com.xuqm.base.extensions.putString
|
import com.xuqm.base.extensions.putString
|
||||||
import com.xuqm.base.extensions.setFont
|
import com.xuqm.base.extensions.setFont
|
||||||
import com.xuqm.base.extensions.showMessage
|
import com.xuqm.base.extensions.showMessage
|
||||||
import com.xuqm.base.ui.BaseActivity
|
import com.xuqm.base.ui.BaseActivity
|
||||||
import com.xuqm.base.web.XWebViewHelper
|
import com.xuqm.base.web.XWebViewHelper
|
||||||
import kotlin.random.Random
|
|
||||||
|
|
||||||
|
|
||||||
class WelcomeActivity : BaseActivity<ActivityWelcomeBinding>() {
|
class WelcomeActivity : BaseActivity<ActivityWelcomeBinding>() {
|
||||||
@ -38,10 +46,18 @@ class WelcomeActivity : BaseActivity<ActivityWelcomeBinding>() {
|
|||||||
override fun fullscreen(): Boolean = true
|
override fun fullscreen(): Boolean = true
|
||||||
|
|
||||||
private val vm: WelcomeVM by viewModels()
|
private val vm: WelcomeVM by viewModels()
|
||||||
|
private lateinit var mGoogleSignInClient: GoogleSignInClient
|
||||||
override fun initView(savedInstanceState: Bundle?) {
|
override fun initView(savedInstanceState: Bundle?) {
|
||||||
super.initView(savedInstanceState)
|
super.initView(savedInstanceState)
|
||||||
AppManager.getInstance().logout()
|
AppManager.getInstance().logout()
|
||||||
|
|
||||||
|
val gso = GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
|
||||||
|
.requestEmail()
|
||||||
|
.build()
|
||||||
|
mGoogleSignInClient = GoogleSignIn.getClient(this, gso)
|
||||||
|
val account = GoogleSignIn.getLastSignedInAccount(this)
|
||||||
|
account?.loge()
|
||||||
|
|
||||||
binding.world1.setFont(mContext, Fonts.Bold)
|
binding.world1.setFont(mContext, Fonts.Bold)
|
||||||
binding.world2.setFont(mContext, Fonts.Bold)
|
binding.world2.setFont(mContext, Fonts.Bold)
|
||||||
binding.loginGuest.setFont(mContext, Fonts.Bold)
|
binding.loginGuest.setFont(mContext, Fonts.Bold)
|
||||||
@ -71,6 +87,7 @@ class WelcomeActivity : BaseActivity<ActivityWelcomeBinding>() {
|
|||||||
}
|
}
|
||||||
binding.loginGuest.setOnClickListener {
|
binding.loginGuest.setOnClickListener {
|
||||||
LoadingDialog.showDialog("")
|
LoadingDialog.showDialog("")
|
||||||
|
putString(GOOGLE_ID,"")
|
||||||
vm.thirdLogin(
|
vm.thirdLogin(
|
||||||
DataLogin(
|
DataLogin(
|
||||||
getStringForPreferences(DEVICE_ID),
|
getStringForPreferences(DEVICE_ID),
|
||||||
@ -80,9 +97,47 @@ class WelcomeActivity : BaseActivity<ActivityWelcomeBinding>() {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
binding.loginGoogle.setOnClickListener {
|
binding.loginGoogle.setOnClickListener {
|
||||||
|
val signInIntent = mGoogleSignInClient.signInIntent
|
||||||
|
startActivityForResult(signInIntent, 10010)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
|
||||||
|
super.onActivityResult(requestCode, resultCode, data)
|
||||||
|
if (requestCode === 10010) {
|
||||||
|
// The Task returned from this call is always completed, no need to attach
|
||||||
|
// a listener.
|
||||||
|
val task: Task<GoogleSignInAccount> =
|
||||||
|
GoogleSignIn.getSignedInAccountFromIntent(data)
|
||||||
|
handleSignInResult(task)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
private fun handleSignInResult(completedTask: Task<GoogleSignInAccount>) {
|
||||||
|
try {
|
||||||
|
val account = completedTask.getResult(ApiException::class.java)
|
||||||
|
account.loge()
|
||||||
|
account.id?.let {
|
||||||
|
putString(GOOGLE_ID,it)
|
||||||
|
LoadingDialog.showDialog("")
|
||||||
|
vm.thirdLogin(
|
||||||
|
DataLogin(
|
||||||
|
getStringForPreferences(DEVICE_ID),
|
||||||
|
it,
|
||||||
|
2
|
||||||
|
)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Signed in successfully, show authenticated UI.
|
||||||
|
// updateUI(account)
|
||||||
|
} catch (e: ApiException) {
|
||||||
|
// The ApiException status code indicates the detailed failure reason.
|
||||||
|
// Please refer to the GoogleSignInStatusCodes class reference for more information.
|
||||||
|
Log.w(TAG, "signInResult:failed code=" + e.statusCode)
|
||||||
|
// updateUI(null)
|
||||||
|
"Failed to obtain account information".showMessage()
|
||||||
|
}
|
||||||
|
}
|
||||||
override fun initData() {
|
override fun initData() {
|
||||||
super.initData()
|
super.initData()
|
||||||
val telManager = getSystemService(TELEPHONY_SERVICE) as TelephonyManager
|
val telManager = getSystemService(TELEPHONY_SERVICE) as TelephonyManager
|
||||||
@ -134,11 +189,12 @@ class WelcomeActivity : BaseActivity<ActivityWelcomeBinding>() {
|
|||||||
val stringForPreferences = getStringForPreferences(SHARE_LOGIN_OBJ)
|
val stringForPreferences = getStringForPreferences(SHARE_LOGIN_OBJ)
|
||||||
if (stringForPreferences.isNotEmpty()) {
|
if (stringForPreferences.isNotEmpty()) {
|
||||||
LoadingDialog.showDialog("")
|
LoadingDialog.showDialog("")
|
||||||
|
val googleId = getStringForPreferences(GOOGLE_ID)
|
||||||
vm.thirdLogin(
|
vm.thirdLogin(
|
||||||
DataLogin(
|
DataLogin(
|
||||||
getStringForPreferences(DEVICE_ID),
|
getStringForPreferences(DEVICE_ID),
|
||||||
getStringForPreferences(DEVICE_ID),
|
if (ToolsHelper.isNull(googleId))getStringForPreferences(DEVICE_ID) else googleId,
|
||||||
0
|
if (ToolsHelper.isNull(googleId))0 else 2
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -14,7 +14,7 @@ ext {
|
|||||||
|
|
||||||
paging : '2.1.1',
|
paging : '2.1.1',
|
||||||
room : '2.2.3',
|
room : '2.2.3',
|
||||||
lifecycle : '2.2.0',
|
lifecycle : '2.5.1',
|
||||||
|
|
||||||
retrofit : '2.4.0',
|
retrofit : '2.4.0',
|
||||||
glide : '4.10.0',
|
glide : '4.10.0',
|
||||||
|
|||||||
正在加载...
在新工单中引用
屏蔽一个用户