From da2e615b3e98a872e5a6589312f419cdfcd17b59 Mon Sep 17 00:00:00 2001 From: Sayantan Roychowdhury Date: Thu, 10 Nov 2022 22:21:05 +0530 Subject: [PATCH 1/9] Issue 5508: Remove calling validateAuthData function --- .../e/apps/login/LoginSourceGPlay.kt | 23 +++++++------------ 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/app/src/main/java/foundation/e/apps/login/LoginSourceGPlay.kt b/app/src/main/java/foundation/e/apps/login/LoginSourceGPlay.kt index 03e159d25..acfdba0b8 100644 --- a/app/src/main/java/foundation/e/apps/login/LoginSourceGPlay.kt +++ b/app/src/main/java/foundation/e/apps/login/LoginSourceGPlay.kt @@ -75,23 +75,16 @@ class LoginSourceGPlay @Inject constructor( */ override suspend fun getAuthObject(): AuthObject.GPlayAuth { val savedAuth = getSavedAuthData() - - val authData = ( - savedAuth ?: run { - // if no saved data, then generate new auth data. - generateAuthData().let { - if (it.isSuccess()) it.data!! - else return AuthObject.GPlayAuth(it, user) + return if (savedAuth != null) { + AuthObject.GPlayAuth(ResultSupreme.Success(savedAuth), user) + } else { + generateAuthData().let { + if (it.isSuccess()) { + saveAuthData(it.data!!) + AuthObject.GPlayAuth(it, user) } + else AuthObject.GPlayAuth(it, user) } - ) - - // validate authData and save it if nothing is saved (first time use.) - validateAuthData(authData).run { - if (isSuccess() && savedAuth == null) { - saveAuthData(authData) - } - return AuthObject.GPlayAuth(this, user) } } -- GitLab From edb75c01de5752b24daa00555201b6809633933b Mon Sep 17 00:00:00 2001 From: Sayantan Roychowdhury Date: Thu, 10 Nov 2022 22:26:11 +0530 Subject: [PATCH 2/9] Issue 5508: Remove validate related code --- .../e/apps/login/api/AnonymousLoginApi.kt | 18 ------------- .../e/apps/login/api/GPlayLoginInterface.kt | 1 - .../e/apps/login/api/GoogleLoginApi.kt | 18 ------------- .../e/apps/login/api/LoginApiRepository.kt | 27 ------------------- 4 files changed, 64 deletions(-) diff --git a/app/src/main/java/foundation/e/apps/login/api/AnonymousLoginApi.kt b/app/src/main/java/foundation/e/apps/login/api/AnonymousLoginApi.kt index b75a6bdfd..d5616eda4 100644 --- a/app/src/main/java/foundation/e/apps/login/api/AnonymousLoginApi.kt +++ b/app/src/main/java/foundation/e/apps/login/api/AnonymousLoginApi.kt @@ -68,22 +68,4 @@ class AnonymousLoginApi( } return authData } - - /** - * Check if an AuthData is valid. Returns a [PlayResponse]. - * Check [PlayResponse.isSuccessful] to see if the validation was successful. - */ - override suspend fun login(authData: AuthData): PlayResponse { - var result = PlayResponse() - withContext(Dispatchers.IO) { - try { - val authValidator = CustomAuthValidator(authData).using(gPlayHttpClient) - result = authValidator.getValidityResponse() - } catch (e: Exception) { - e.printStackTrace() - throw e - } - } - return result - } } diff --git a/app/src/main/java/foundation/e/apps/login/api/GPlayLoginInterface.kt b/app/src/main/java/foundation/e/apps/login/api/GPlayLoginInterface.kt index 24b212bbc..f3c1c68e5 100644 --- a/app/src/main/java/foundation/e/apps/login/api/GPlayLoginInterface.kt +++ b/app/src/main/java/foundation/e/apps/login/api/GPlayLoginInterface.kt @@ -21,6 +21,5 @@ import com.aurora.gplayapi.data.models.AuthData import com.aurora.gplayapi.data.models.PlayResponse interface GPlayLoginInterface { - suspend fun login(authData: AuthData): PlayResponse suspend fun fetchAuthData(email: String, aasToken: String): AuthData? } diff --git a/app/src/main/java/foundation/e/apps/login/api/GoogleLoginApi.kt b/app/src/main/java/foundation/e/apps/login/api/GoogleLoginApi.kt index 47c7bb19a..8673e1ec4 100644 --- a/app/src/main/java/foundation/e/apps/login/api/GoogleLoginApi.kt +++ b/app/src/main/java/foundation/e/apps/login/api/GoogleLoginApi.kt @@ -61,22 +61,4 @@ class GoogleLoginApi( } return authData } - - /** - * Check if an AuthData is valid. Returns a [PlayResponse]. - * Check [PlayResponse.isSuccessful] to see if the validation was successful. - */ - override suspend fun login(authData: AuthData): PlayResponse { - var result = PlayResponse() - withContext(Dispatchers.IO) { - try { - val authValidator = CustomAuthValidator(authData).using(gPlayHttpClient) - result = authValidator.getValidityResponse() - } catch (e: Exception) { - e.printStackTrace() - throw e - } - } - return result - } } diff --git a/app/src/main/java/foundation/e/apps/login/api/LoginApiRepository.kt b/app/src/main/java/foundation/e/apps/login/api/LoginApiRepository.kt index fa8602834..49988ab52 100644 --- a/app/src/main/java/foundation/e/apps/login/api/LoginApiRepository.kt +++ b/app/src/main/java/foundation/e/apps/login/api/LoginApiRepository.kt @@ -65,33 +65,6 @@ class LoginApiRepository constructor( } } - /** - * Get AuthData validity of in the form of PlayResponse. - * Advantage of not using a simple boolean is we get error message and - * network code of the request inside PlayResponse object. - * - * Applicable for both Google and Anonymous login. - * - * Issue: https://gitlab.e.foundation/e/backlog/-/issues/5680 - */ - suspend fun login(authData: AuthData): ResultSupreme { - var response = PlayResponse() - val result = runCodeBlockWithTimeout({ - response = gPlayLoginInterface.login(authData) - if (response.code != 200) { - throw Exception("Validation network code: ${response.code}") - } - response - }) - return ResultSupreme.replicate(result, response).apply { - this.exception = when (result) { - is ResultSupreme.Timeout -> GPlayLoginException(true, "GPlay API timeout", user) - is ResultSupreme.Error -> GPlayLoginException(false, result.message, user) - else -> null - } - } - } - /** * Gets email and oauthToken from Google login, finds the AASToken from AC2DM response * and returns it. This token is then used to fetch AuthData from [fetchAuthData]. -- GitLab From c81b1f26cf01bcc20396d88c9ef1e7464afda1b6 Mon Sep 17 00:00:00 2001 From: Sayantan Roychowdhury Date: Thu, 10 Nov 2022 22:28:58 +0530 Subject: [PATCH 3/9] Issue 5508: Add missing authData formatting for Google login --- .../main/java/foundation/e/apps/login/LoginSourceGPlay.kt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/foundation/e/apps/login/LoginSourceGPlay.kt b/app/src/main/java/foundation/e/apps/login/LoginSourceGPlay.kt index acfdba0b8..795bd8533 100644 --- a/app/src/main/java/foundation/e/apps/login/LoginSourceGPlay.kt +++ b/app/src/main/java/foundation/e/apps/login/LoginSourceGPlay.kt @@ -192,7 +192,10 @@ class LoginSourceGPlay @Inject constructor( * Finally save the aasToken and create auth data. */ loginDataStore.saveAasToken(aasTokenFetched) - return loginApiRepository.fetchAuthData(email, aasTokenFetched, locale) + return loginApiRepository.fetchAuthData(email, aasTokenFetched, locale).run { + if (isSuccess()) ResultSupreme.Success(formattedAuthData(this.data!!)) + else this + } } /** -- GitLab From 2e40b51a039c92f403e062b53efe896af58ae698 Mon Sep 17 00:00:00 2001 From: Sayantan Roychowdhury Date: Thu, 1 Dec 2022 17:20:28 +0530 Subject: [PATCH 4/9] preparing to skip validation in login package --- app/src/main/java/foundation/e/apps/login/AuthObject.kt | 5 +++-- .../e/apps/utils/parentFragment/LoadingViewModel.kt | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/foundation/e/apps/login/AuthObject.kt b/app/src/main/java/foundation/e/apps/login/AuthObject.kt index 84567b197..8f4943a47 100644 --- a/app/src/main/java/foundation/e/apps/login/AuthObject.kt +++ b/app/src/main/java/foundation/e/apps/login/AuthObject.kt @@ -35,8 +35,9 @@ import foundation.e.apps.utils.enums.User sealed class AuthObject { abstract val result: ResultSupreme<*> + abstract val user: User - class GPlayAuth(override val result: ResultSupreme, val user: User) : AuthObject() - class CleanApk(override val result: ResultSupreme, val user: User) : AuthObject() + class GPlayAuth(override val result: ResultSupreme, override val user: User) : AuthObject() + class CleanApk(override val result: ResultSupreme, override val user: User) : AuthObject() // Add more auth types here } diff --git a/app/src/main/java/foundation/e/apps/utils/parentFragment/LoadingViewModel.kt b/app/src/main/java/foundation/e/apps/utils/parentFragment/LoadingViewModel.kt index cbd0ab493..a25a61dd2 100644 --- a/app/src/main/java/foundation/e/apps/utils/parentFragment/LoadingViewModel.kt +++ b/app/src/main/java/foundation/e/apps/utils/parentFragment/LoadingViewModel.kt @@ -56,6 +56,8 @@ abstract class LoadingViewModel : ViewModel() { exceptionsList.add(it.result.exception ?: UnknownSourceException()) } + loadingBlock(successAuthList, failedAuthList) + exceptionsList.find { it is GPlayValidationException }?.run { @@ -66,8 +68,6 @@ abstract class LoadingViewModel : ViewModel() { } } - loadingBlock(successAuthList, failedAuthList) - if (successAuthList.isEmpty() && exceptionsList.isNotEmpty()) { /* * As no authentication is successful, nothing can be loaded, -- GitLab From fa6e1625aaf252d606246b10c0595aceb70089a9 Mon Sep 17 00:00:00 2001 From: Sayantan Roychowdhury Date: Thu, 1 Dec 2022 17:21:35 +0530 Subject: [PATCH 5/9] Skip validation in HomeViewModel.kt --- .../foundation/e/apps/home/HomeViewModel.kt | 21 ++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/foundation/e/apps/home/HomeViewModel.kt b/app/src/main/java/foundation/e/apps/home/HomeViewModel.kt index d42e4dce0..b2af34f65 100644 --- a/app/src/main/java/foundation/e/apps/home/HomeViewModel.kt +++ b/app/src/main/java/foundation/e/apps/home/HomeViewModel.kt @@ -28,8 +28,11 @@ import foundation.e.apps.api.fused.FusedAPIRepository import foundation.e.apps.api.fused.data.FusedApp import foundation.e.apps.api.fused.data.FusedHome import foundation.e.apps.login.AuthObject +import foundation.e.apps.utils.enums.Source +import foundation.e.apps.utils.enums.User import foundation.e.apps.utils.exceptions.CleanApkException import foundation.e.apps.utils.exceptions.GPlayException +import foundation.e.apps.utils.exceptions.GPlayLoginException import foundation.e.apps.utils.parentFragment.LoadingViewModel import kotlinx.coroutines.launch import javax.inject.Inject @@ -55,12 +58,12 @@ class HomeViewModel @Inject constructor( super.onLoadData(authObjectList, { successAuthList, _ -> successAuthList.find { it is AuthObject.GPlayAuth }?.run { - getHomeScreenData(result.data!! as AuthData, lifecycleOwner) + getHomeScreenData(result.data!! as AuthData, this.user, lifecycleOwner) return@onLoadData } successAuthList.find { it is AuthObject.CleanApk }?.run { - getHomeScreenData(AuthData("", ""), lifecycleOwner) + getHomeScreenData(AuthData("", ""), this.user, lifecycleOwner) return@onLoadData } }, retryBlock) @@ -68,13 +71,21 @@ class HomeViewModel @Inject constructor( fun getHomeScreenData( authData: AuthData, + user: User, lifecycleOwner: LifecycleOwner, ) { viewModelScope.launch { fusedAPIRepository.getHomeScreenData(authData).observe(lifecycleOwner) { homeScreenData.postValue(it) - if (it.isSuccess()) return@observe + val homeList = it.data ?: emptyList() + + if (it.isSuccess()) { + if (homeList.all { it.source == Source.GPLAY.name } && isFusedHomesEmpty(homeList)) { + exceptionsList.add(GPlayLoginException(false, "Received empty Home", user)) + } + return@observe + } val exception = if (authData.aasToken.isNotBlank() || authData.authToken.isNotBlank()) @@ -97,8 +108,8 @@ class HomeViewModel @Inject constructor( return fusedAPIRepository.getApplicationCategoryPreference() } - fun isFusedHomesEmpty(): Boolean { - return homeScreenData.value?.data?.let { + fun isFusedHomesEmpty(fusedHomes: List): Boolean { + return fusedHomes.let { fusedAPIRepository.isFusedHomesEmpty(it) } ?: true } -- GitLab From 8ac868100cf7f045c2cd7c5da0a7f33728e955fc Mon Sep 17 00:00:00 2001 From: Sayantan Roychowdhury Date: Thu, 1 Dec 2022 19:38:09 +0530 Subject: [PATCH 6/9] Skip validation in Categories --- .../e/apps/api/fused/FusedAPIImpl.kt | 7 +++ .../e/apps/api/fused/FusedAPIRepository.kt | 4 ++ .../e/apps/categories/CategoriesViewModel.kt | 43 ++++++++++++------- 3 files changed, 38 insertions(+), 16 deletions(-) diff --git a/app/src/main/java/foundation/e/apps/api/fused/FusedAPIImpl.kt b/app/src/main/java/foundation/e/apps/api/fused/FusedAPIImpl.kt index 35d71d088..9ba00cb95 100644 --- a/app/src/main/java/foundation/e/apps/api/fused/FusedAPIImpl.kt +++ b/app/src/main/java/foundation/e/apps/api/fused/FusedAPIImpl.kt @@ -107,6 +107,13 @@ class FusedAPIImpl @Inject constructor( return true } + fun isCategoriesEmpty(fusedCategories: List): Boolean { + fusedCategories.forEach { + if (it.title.isNotEmpty()) return false + } + return true + } + fun getApplicationCategoryPreference(): String { return preferenceManagerModule.preferredApplicationType() } diff --git a/app/src/main/java/foundation/e/apps/api/fused/FusedAPIRepository.kt b/app/src/main/java/foundation/e/apps/api/fused/FusedAPIRepository.kt index 270f65a9e..94bc0f732 100644 --- a/app/src/main/java/foundation/e/apps/api/fused/FusedAPIRepository.kt +++ b/app/src/main/java/foundation/e/apps/api/fused/FusedAPIRepository.kt @@ -86,6 +86,10 @@ class FusedAPIRepository @Inject constructor(private val fusedAPIImpl: FusedAPII return fusedAPIImpl.isFusedHomesEmpty(fusedHomes) } + fun isCategoriesEmpty(fusedCategories: List): Boolean { + return fusedAPIImpl.isCategoriesEmpty(fusedCategories) + } + fun getApplicationCategoryPreference(): String { return fusedAPIImpl.getApplicationCategoryPreference() } diff --git a/app/src/main/java/foundation/e/apps/categories/CategoriesViewModel.kt b/app/src/main/java/foundation/e/apps/categories/CategoriesViewModel.kt index d505cf136..30377a9cb 100644 --- a/app/src/main/java/foundation/e/apps/categories/CategoriesViewModel.kt +++ b/app/src/main/java/foundation/e/apps/categories/CategoriesViewModel.kt @@ -26,9 +26,12 @@ import dagger.hilt.android.lifecycle.HiltViewModel import foundation.e.apps.api.fused.FusedAPIRepository import foundation.e.apps.api.fused.data.FusedCategory import foundation.e.apps.login.AuthObject +import foundation.e.apps.utils.enums.AppTag import foundation.e.apps.utils.enums.ResultStatus +import foundation.e.apps.utils.enums.User import foundation.e.apps.utils.exceptions.CleanApkException import foundation.e.apps.utils.exceptions.GPlayException +import foundation.e.apps.utils.exceptions.GPlayLoginException import foundation.e.apps.utils.parentFragment.LoadingViewModel import kotlinx.coroutines.launch import javax.inject.Inject @@ -49,43 +52,51 @@ class CategoriesViewModel @Inject constructor( super.onLoadData(authObjectList, { successAuthList, _ -> successAuthList.find { it is AuthObject.GPlayAuth }?.run { - getCategoriesList(type, result.data!! as AuthData) + getCategoriesList(type, result.data!! as AuthData, this.user) return@onLoadData } successAuthList.find { it is AuthObject.CleanApk }?.run { - getCategoriesList(type, AuthData("", "")) + getCategoriesList(type, AuthData("", ""), this.user) return@onLoadData } }, retryBlock) } - fun getCategoriesList(type: Category.Type, authData: AuthData) { + fun getCategoriesList(type: Category.Type, authData: AuthData, user: User) { viewModelScope.launch { val categoriesData = fusedAPIRepository.getCategoriesList(type, authData) categoriesList.postValue(categoriesData) val status = categoriesData.third - if (status != ResultStatus.OK) { - val exception = - if (authData.aasToken.isNotBlank() || authData.authToken.isNotBlank()) - GPlayException( - categoriesData.third == ResultStatus.TIMEOUT, - status.message.ifBlank { "Data load error" } - ) - else CleanApkException( + val categoriesList = categoriesData.first + + if (status == ResultStatus.OK) { + if (categoriesList.all { it.tag is AppTag.GPlay } && isCategoriesEmpty(categoriesList)) { + exceptionsList.add(GPlayLoginException(false, "Received empty Categories", user)) + } + return@launch + } + + val exception = + if (authData.aasToken.isNotBlank() || authData.authToken.isNotBlank()) + GPlayException( categoriesData.third == ResultStatus.TIMEOUT, status.message.ifBlank { "Data load error" } ) + else CleanApkException( + categoriesData.third == ResultStatus.TIMEOUT, + status.message.ifBlank { "Data load error" } + ) + + exceptionsList.add(exception) + exceptionsLiveData.postValue(exceptionsList) - exceptionsList.add(exception) - exceptionsLiveData.postValue(exceptionsList) - } } } - fun isCategoriesEmpty(): Boolean { - return categoriesList.value?.first?.isEmpty() ?: true + fun isCategoriesEmpty(fusedCategories: List): Boolean { + return fusedAPIRepository.isCategoriesEmpty(fusedCategories) } } -- GitLab From b2d746742370608794bfcf9eaeef0030816ca993 Mon Sep 17 00:00:00 2001 From: Sayantan Roychowdhury Date: Fri, 2 Dec 2022 15:32:19 +0530 Subject: [PATCH 7/9] send home data loading source in otherPayload --- .../main/java/foundation/e/apps/api/fused/FusedAPIImpl.kt | 6 ++++-- app/src/main/java/foundation/e/apps/home/HomeViewModel.kt | 3 ++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/foundation/e/apps/api/fused/FusedAPIImpl.kt b/app/src/main/java/foundation/e/apps/api/fused/FusedAPIImpl.kt index 9ba00cb95..95d945258 100644 --- a/app/src/main/java/foundation/e/apps/api/fused/FusedAPIImpl.kt +++ b/app/src/main/java/foundation/e/apps/api/fused/FusedAPIImpl.kt @@ -175,7 +175,9 @@ class FusedAPIImpl @Inject constructor( setHomeErrorMessage(apiStatus, source) - scope.emit(ResultSupreme.create(apiStatus, priorList)) + scope.emit(ResultSupreme.create(apiStatus, priorList.toList()).apply { + otherPayload = source.name + }) } private fun setHomeErrorMessage(apiStatus: ResultStatus, source: Source) { @@ -1321,7 +1323,7 @@ class FusedAPIImpl @Inject constructor( updateFilterLevel(authData) } } - list.add(FusedHome(it.key, result)) + list.add(FusedHome(it.key, result, source = APP_TYPE_ANY)) } return list } diff --git a/app/src/main/java/foundation/e/apps/home/HomeViewModel.kt b/app/src/main/java/foundation/e/apps/home/HomeViewModel.kt index b2af34f65..0f5b72614 100644 --- a/app/src/main/java/foundation/e/apps/home/HomeViewModel.kt +++ b/app/src/main/java/foundation/e/apps/home/HomeViewModel.kt @@ -79,9 +79,10 @@ class HomeViewModel @Inject constructor( homeScreenData.postValue(it) val homeList = it.data ?: emptyList() + val source = it.otherPayload?.toString() ?: "" if (it.isSuccess()) { - if (homeList.all { it.source == Source.GPLAY.name } && isFusedHomesEmpty(homeList)) { + if (homeList.all { source == Source.GPLAY.name } && isFusedHomesEmpty(homeList)) { exceptionsList.add(GPlayLoginException(false, "Received empty Home", user)) } return@observe -- GitLab From a8f9a267df5a6f4e5c76bf26ec98eff22aad9b5c Mon Sep 17 00:00:00 2001 From: Sayantan Roychowdhury Date: Fri, 2 Dec 2022 16:30:09 +0530 Subject: [PATCH 8/9] fix removed code reappearing --- .../e/apps/login/LoginSourceGPlay.kt | 40 ------------------- 1 file changed, 40 deletions(-) diff --git a/app/src/main/java/foundation/e/apps/login/LoginSourceGPlay.kt b/app/src/main/java/foundation/e/apps/login/LoginSourceGPlay.kt index 795bd8533..d1e137253 100644 --- a/app/src/main/java/foundation/e/apps/login/LoginSourceGPlay.kt +++ b/app/src/main/java/foundation/e/apps/login/LoginSourceGPlay.kt @@ -197,44 +197,4 @@ class LoginSourceGPlay @Inject constructor( else this } } - - /** - * Check if a given [AuthData] from Google login or Anonymous login is valid or not. - * If valid, return the AuthData wrapped in [ResultSupreme], else return null, - * with error message. - */ - private suspend fun validateAuthData( - authData: AuthData, - ): ResultSupreme { - - val formattedAuthData = formattedAuthData(authData) - formattedAuthData.locale = locale - - val validityResponse = loginApiRepository.login(formattedAuthData) - - /* - * Send the email as payload. This is sent to ecloud in case of failure. - * See MainActivityViewModel.uploadFaultyTokenToEcloud. - */ - validityResponse.otherPayload = formattedAuthData.email - - val playResponse = validityResponse.data - return if (validityResponse.isSuccess() && playResponse?.code == 200 && playResponse.isSuccessful) { - ResultSupreme.Success(formattedAuthData) - } else { - val message = - "Validating AuthData failed.\n" + - "Network code: ${playResponse?.code}\n" + - "Success: ${playResponse?.isSuccessful}" + - playResponse?.errorString?.run { - if (isNotBlank()) "\nError message: $this" - else "" - } - - ResultSupreme.Error( - message, - GPlayValidationException(message, user, playResponse?.code ?: -1) - ) - } - } } -- GitLab From 1d3d99770821a9d8a1a85c6dd986737bc0bcf520 Mon Sep 17 00:00:00 2001 From: Sayantan Roychowdhury Date: Fri, 2 Dec 2022 16:39:29 +0530 Subject: [PATCH 9/9] ktlint fixes --- .../main/java/foundation/e/apps/api/fused/FusedAPIImpl.kt | 8 +++++--- .../foundation/e/apps/categories/CategoriesViewModel.kt | 1 - .../main/java/foundation/e/apps/login/LoginSourceGPlay.kt | 4 +--- .../java/foundation/e/apps/login/api/AnonymousLoginApi.kt | 2 -- .../foundation/e/apps/login/api/GPlayLoginInterface.kt | 1 - .../java/foundation/e/apps/login/api/GoogleLoginApi.kt | 1 - .../foundation/e/apps/login/api/LoginApiRepository.kt | 1 - 7 files changed, 6 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/foundation/e/apps/api/fused/FusedAPIImpl.kt b/app/src/main/java/foundation/e/apps/api/fused/FusedAPIImpl.kt index 95d945258..ca2557035 100644 --- a/app/src/main/java/foundation/e/apps/api/fused/FusedAPIImpl.kt +++ b/app/src/main/java/foundation/e/apps/api/fused/FusedAPIImpl.kt @@ -175,9 +175,11 @@ class FusedAPIImpl @Inject constructor( setHomeErrorMessage(apiStatus, source) - scope.emit(ResultSupreme.create(apiStatus, priorList.toList()).apply { - otherPayload = source.name - }) + scope.emit( + ResultSupreme.create(apiStatus, priorList.toList()).apply { + otherPayload = source.name + } + ) } private fun setHomeErrorMessage(apiStatus: ResultStatus, source: Source) { diff --git a/app/src/main/java/foundation/e/apps/categories/CategoriesViewModel.kt b/app/src/main/java/foundation/e/apps/categories/CategoriesViewModel.kt index 30377a9cb..d9db1e40b 100644 --- a/app/src/main/java/foundation/e/apps/categories/CategoriesViewModel.kt +++ b/app/src/main/java/foundation/e/apps/categories/CategoriesViewModel.kt @@ -92,7 +92,6 @@ class CategoriesViewModel @Inject constructor( exceptionsList.add(exception) exceptionsLiveData.postValue(exceptionsList) - } } diff --git a/app/src/main/java/foundation/e/apps/login/LoginSourceGPlay.kt b/app/src/main/java/foundation/e/apps/login/LoginSourceGPlay.kt index d1e137253..c79ccc678 100644 --- a/app/src/main/java/foundation/e/apps/login/LoginSourceGPlay.kt +++ b/app/src/main/java/foundation/e/apps/login/LoginSourceGPlay.kt @@ -27,7 +27,6 @@ import foundation.e.apps.login.api.GPlayLoginInterface import foundation.e.apps.login.api.GoogleLoginApi import foundation.e.apps.login.api.LoginApiRepository import foundation.e.apps.utils.enums.User -import foundation.e.apps.utils.exceptions.GPlayValidationException import java.util.Locale import javax.inject.Inject import javax.inject.Singleton @@ -82,8 +81,7 @@ class LoginSourceGPlay @Inject constructor( if (it.isSuccess()) { saveAuthData(it.data!!) AuthObject.GPlayAuth(it, user) - } - else AuthObject.GPlayAuth(it, user) + } else AuthObject.GPlayAuth(it, user) } } } diff --git a/app/src/main/java/foundation/e/apps/login/api/AnonymousLoginApi.kt b/app/src/main/java/foundation/e/apps/login/api/AnonymousLoginApi.kt index d5616eda4..a8ebc96a4 100644 --- a/app/src/main/java/foundation/e/apps/login/api/AnonymousLoginApi.kt +++ b/app/src/main/java/foundation/e/apps/login/api/AnonymousLoginApi.kt @@ -18,10 +18,8 @@ package foundation.e.apps.login.api import com.aurora.gplayapi.data.models.AuthData -import com.aurora.gplayapi.data.models.PlayResponse import com.google.gson.Gson import foundation.e.apps.BuildConfig -import foundation.e.apps.api.gplay.utils.CustomAuthValidator import foundation.e.apps.api.gplay.utils.GPlayHttpClient import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext diff --git a/app/src/main/java/foundation/e/apps/login/api/GPlayLoginInterface.kt b/app/src/main/java/foundation/e/apps/login/api/GPlayLoginInterface.kt index f3c1c68e5..8789a8e0a 100644 --- a/app/src/main/java/foundation/e/apps/login/api/GPlayLoginInterface.kt +++ b/app/src/main/java/foundation/e/apps/login/api/GPlayLoginInterface.kt @@ -18,7 +18,6 @@ package foundation.e.apps.login.api import com.aurora.gplayapi.data.models.AuthData -import com.aurora.gplayapi.data.models.PlayResponse interface GPlayLoginInterface { suspend fun fetchAuthData(email: String, aasToken: String): AuthData? diff --git a/app/src/main/java/foundation/e/apps/login/api/GoogleLoginApi.kt b/app/src/main/java/foundation/e/apps/login/api/GoogleLoginApi.kt index 8673e1ec4..edb0004af 100644 --- a/app/src/main/java/foundation/e/apps/login/api/GoogleLoginApi.kt +++ b/app/src/main/java/foundation/e/apps/login/api/GoogleLoginApi.kt @@ -21,7 +21,6 @@ import com.aurora.gplayapi.data.models.AuthData import com.aurora.gplayapi.data.models.PlayResponse import com.aurora.gplayapi.helpers.AuthHelper import foundation.e.apps.api.gplay.utils.AC2DMTask -import foundation.e.apps.api.gplay.utils.CustomAuthValidator import foundation.e.apps.api.gplay.utils.GPlayHttpClient import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext diff --git a/app/src/main/java/foundation/e/apps/login/api/LoginApiRepository.kt b/app/src/main/java/foundation/e/apps/login/api/LoginApiRepository.kt index 49988ab52..ea1ce47c9 100644 --- a/app/src/main/java/foundation/e/apps/login/api/LoginApiRepository.kt +++ b/app/src/main/java/foundation/e/apps/login/api/LoginApiRepository.kt @@ -18,7 +18,6 @@ package foundation.e.apps.login.api import com.aurora.gplayapi.data.models.AuthData -import com.aurora.gplayapi.data.models.PlayResponse import foundation.e.apps.api.ResultSupreme import foundation.e.apps.api.gplay.utils.AC2DMUtil import foundation.e.apps.utils.Constants.timeoutDurationInMillis -- GitLab