Loading app/src/main/java/foundation/e/apps/login/AuthDataValidator.kt +1 −1 Original line number Diff line number Diff line Loading @@ -4,5 +4,5 @@ import com.aurora.gplayapi.data.models.AuthData import foundation.e.apps.api.ResultSupreme interface AuthDataValidator { suspend fun fetchValidatedAuthData(): ResultSupreme<AuthData?> suspend fun fetchAuthData(): ResultSupreme<AuthData?> } No newline at end of file app/src/main/java/foundation/e/apps/login/LoginSourceGPlay.kt +26 −22 Original line number Diff line number Diff line Loading @@ -19,11 +19,9 @@ package foundation.e.apps.login import android.content.Context import com.aurora.gplayapi.data.models.AuthData import com.aurora.gplayapi.helpers.AuthValidator import com.google.gson.Gson import dagger.hilt.android.qualifiers.ApplicationContext import foundation.e.apps.api.ResultSupreme import foundation.e.apps.api.gplay.utils.GPlayHttpClient import foundation.e.apps.login.api.GPlayApiFactory import foundation.e.apps.login.api.GPlayLoginInterface import foundation.e.apps.login.api.GoogleLoginApi Loading @@ -31,6 +29,7 @@ import foundation.e.apps.login.api.LoginApiRepository import foundation.e.apps.utils.enums.ResultStatus import foundation.e.apps.utils.enums.User import foundation.e.apps.utils.exceptions.GPlayValidationException import timber.log.Timber import java.util.Locale import javax.inject.Inject import javax.inject.Singleton Loading @@ -51,9 +50,6 @@ class LoginSourceGPlay @Inject constructor( @Inject lateinit var gPlayApiFactory: GPlayApiFactory @Inject lateinit var gPlayHttpClient: GPlayHttpClient private val user: User get() = loginDataStore.getUserType() Loading Loading @@ -257,13 +253,21 @@ class LoginSourceGPlay @Inject constructor( } } override suspend fun fetchValidatedAuthData(): ResultSupreme<AuthData?> { override suspend fun fetchAuthData(): ResultSupreme<AuthData?> { val savedAuth = getSavedAuthData() val isValid = AuthValidator(savedAuth!!).using(gPlayHttpClient).isValid() if (!isValid) { return generateAuthData() if (!isAuthDataValid(savedAuth)) { Timber.i("Validating AuthData...") val authData = generateAuthData() authData.data?.let { saveAuthData(it) return authData } return ResultSupreme.create(ResultStatus.UNKNOWN) } return ResultSupreme.create(ResultStatus.OK, savedAuth) } private suspend fun isAuthDataValid(savedAuth: AuthData?) = savedAuth != null && loginApiRepository.login(savedAuth).exception == null } app/src/main/java/foundation/e/apps/login/LoginSourceRepository.kt +1 −1 Original line number Diff line number Diff line Loading @@ -63,6 +63,6 @@ class LoginSourceRepository @Inject constructor( suspend fun getValidatedAuthData(): ResultSupreme<AuthData?> { val authDataValidator = (sources.find { it is AuthDataValidator } as AuthDataValidator) return authDataValidator.fetchValidatedAuthData() return authDataValidator.fetchAuthData() } } Loading
app/src/main/java/foundation/e/apps/login/AuthDataValidator.kt +1 −1 Original line number Diff line number Diff line Loading @@ -4,5 +4,5 @@ import com.aurora.gplayapi.data.models.AuthData import foundation.e.apps.api.ResultSupreme interface AuthDataValidator { suspend fun fetchValidatedAuthData(): ResultSupreme<AuthData?> suspend fun fetchAuthData(): ResultSupreme<AuthData?> } No newline at end of file
app/src/main/java/foundation/e/apps/login/LoginSourceGPlay.kt +26 −22 Original line number Diff line number Diff line Loading @@ -19,11 +19,9 @@ package foundation.e.apps.login import android.content.Context import com.aurora.gplayapi.data.models.AuthData import com.aurora.gplayapi.helpers.AuthValidator import com.google.gson.Gson import dagger.hilt.android.qualifiers.ApplicationContext import foundation.e.apps.api.ResultSupreme import foundation.e.apps.api.gplay.utils.GPlayHttpClient import foundation.e.apps.login.api.GPlayApiFactory import foundation.e.apps.login.api.GPlayLoginInterface import foundation.e.apps.login.api.GoogleLoginApi Loading @@ -31,6 +29,7 @@ import foundation.e.apps.login.api.LoginApiRepository import foundation.e.apps.utils.enums.ResultStatus import foundation.e.apps.utils.enums.User import foundation.e.apps.utils.exceptions.GPlayValidationException import timber.log.Timber import java.util.Locale import javax.inject.Inject import javax.inject.Singleton Loading @@ -51,9 +50,6 @@ class LoginSourceGPlay @Inject constructor( @Inject lateinit var gPlayApiFactory: GPlayApiFactory @Inject lateinit var gPlayHttpClient: GPlayHttpClient private val user: User get() = loginDataStore.getUserType() Loading Loading @@ -257,13 +253,21 @@ class LoginSourceGPlay @Inject constructor( } } override suspend fun fetchValidatedAuthData(): ResultSupreme<AuthData?> { override suspend fun fetchAuthData(): ResultSupreme<AuthData?> { val savedAuth = getSavedAuthData() val isValid = AuthValidator(savedAuth!!).using(gPlayHttpClient).isValid() if (!isValid) { return generateAuthData() if (!isAuthDataValid(savedAuth)) { Timber.i("Validating AuthData...") val authData = generateAuthData() authData.data?.let { saveAuthData(it) return authData } return ResultSupreme.create(ResultStatus.UNKNOWN) } return ResultSupreme.create(ResultStatus.OK, savedAuth) } private suspend fun isAuthDataValid(savedAuth: AuthData?) = savedAuth != null && loginApiRepository.login(savedAuth).exception == null }
app/src/main/java/foundation/e/apps/login/LoginSourceRepository.kt +1 −1 Original line number Diff line number Diff line Loading @@ -63,6 +63,6 @@ class LoginSourceRepository @Inject constructor( suspend fun getValidatedAuthData(): ResultSupreme<AuthData?> { val authDataValidator = (sources.find { it is AuthDataValidator } as AuthDataValidator) return authDataValidator.fetchValidatedAuthData() return authDataValidator.fetchAuthData() } }