mirror of
https://github.com/sudoxnym/habitica-android.git
synced 2026-04-14 11:46:32 +00:00
fix google sign in
This commit is contained in:
parent
fa47696d4e
commit
43297a033d
2 changed files with 16 additions and 5 deletions
|
|
@ -18,6 +18,10 @@ android {
|
|||
buildConfigField "String", "TESTING_LEVEL", "\"production\""
|
||||
}
|
||||
|
||||
signingConfigs {
|
||||
release
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
debug {
|
||||
minifyEnabled false
|
||||
|
|
@ -28,15 +32,13 @@ android {
|
|||
resValue "string", "app_name", "Habitica Debug"
|
||||
}
|
||||
release {
|
||||
signingConfig signingConfigs.release
|
||||
minifyEnabled false
|
||||
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
||||
resValue "string", "app_name", "Habitica"
|
||||
}
|
||||
}
|
||||
|
||||
signingConfigs {
|
||||
release
|
||||
}
|
||||
flavorDimensions "buildType"
|
||||
|
||||
productFlavors {
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ import androidx.activity.result.ActivityResultLauncher
|
|||
import androidx.core.content.edit
|
||||
import androidx.lifecycle.viewModelScope
|
||||
import com.google.android.gms.auth.GoogleAuthException
|
||||
import com.google.android.gms.auth.GoogleAuthUtil
|
||||
import com.google.android.gms.auth.GooglePlayServicesAvailabilityException
|
||||
import com.google.android.gms.auth.UserRecoverableAuthException
|
||||
import com.google.android.gms.auth.api.signin.GoogleSignIn
|
||||
|
|
@ -14,6 +15,7 @@ import com.google.android.gms.auth.api.signin.GoogleSignInAccount
|
|||
import com.google.android.gms.auth.api.signin.GoogleSignInOptions
|
||||
import com.google.android.gms.common.GoogleApiAvailability
|
||||
import com.google.android.gms.common.GooglePlayServicesUtil
|
||||
import com.google.android.gms.common.Scopes
|
||||
import com.google.android.gms.common.UserRecoverableException
|
||||
import com.google.android.gms.common.api.ApiException
|
||||
import com.google.android.gms.tasks.Task
|
||||
|
|
@ -28,8 +30,10 @@ import com.habitrpg.wearos.habitica.data.repositories.UserRepository
|
|||
import com.habitrpg.wearos.habitica.managers.LoadingManager
|
||||
import com.habitrpg.wearos.habitica.util.ExceptionHandlerBuilder
|
||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.async
|
||||
import kotlinx.coroutines.launch
|
||||
import kotlinx.coroutines.withContext
|
||||
import java.io.IOException
|
||||
import javax.inject.Inject
|
||||
|
||||
|
|
@ -76,11 +80,16 @@ class LoginViewModel @Inject constructor(userRepository: UserRepository,
|
|||
return@async null
|
||||
}
|
||||
}.await()
|
||||
val scopesString = Scopes.PROFILE + " " + Scopes.EMAIL
|
||||
val scopes = "oauth2:$scopesString"
|
||||
val token = withContext(Dispatchers.IO) {
|
||||
account?.account?.let { GoogleAuthUtil.getToken(activity, it, scopes) }
|
||||
}
|
||||
val auth = UserAuthSocial()
|
||||
auth.network = "google"
|
||||
auth.authResponse = UserAuthSocialTokens()
|
||||
auth.authResponse?.client_id = account?.id
|
||||
auth.authResponse?.access_token = account?.idToken
|
||||
auth.authResponse?.client_id = account?.email
|
||||
auth.authResponse?.access_token = token
|
||||
val response = apiClient.loginSocial(auth)
|
||||
handleAuthResponse(response)
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue