Loading app/src/main/java/foundation/e/apps/data/event/AppEvent.kt +0 −2 Original line number Diff line number Diff line Loading @@ -29,8 +29,6 @@ import kotlinx.coroutines.CompletableDeferred sealed class AppEvent(val data: Any) { class SignatureMissMatchError(packageName: String) : AppEvent(packageName) class UpdateEvent(result: ResultSupreme.WorkError<ResultStatus>) : AppEvent(result) class InvalidAuthEvent(authName: String) : AppEvent(authName) class ErrorMessageEvent(stringResourceId: Int) : AppEvent(stringResourceId) class ErrorMessageDialogEvent(stringResourceId: Int) : AppEvent(stringResourceId) class AppPurchaseEvent(appInstall: AppInstall) : AppEvent(appInstall) Loading app/src/main/java/foundation/e/apps/data/login/core/AuthFailureFactory.ktdeleted 100644 → 0 +0 −40 Original line number Diff line number Diff line package foundation.e.apps.data.login.core import com.aurora.gplayapi.data.models.AuthData import foundation.e.apps.data.ResultSupreme import foundation.e.apps.data.enums.User import foundation.e.apps.data.login.exceptions.CleanApkException import foundation.e.apps.data.login.exceptions.GPlayValidationException import java.net.HttpURLConnection object AuthFailureFactory { fun createGplayValidationFailure(user: User, otherPayload: Any?): AuthObject { val message = "Validating AuthData failed.\nNetwork code: ${HttpURLConnection.HTTP_UNAUTHORIZED}" return AuthObject.GPlayAuth( ResultSupreme.Error<AuthData?>( message = message, exception = GPlayValidationException( message, user, HttpURLConnection.HTTP_UNAUTHORIZED, ) ).apply { this.otherPayload = otherPayload }, user, ) } fun createCleanApkUnauthorizedFailure(user: User): AuthObject { return AuthObject.CleanApk( ResultSupreme.Error( message = "Unauthorized", exception = CleanApkException( isTimeout = false, message = "Unauthorized", ) ), user, ) } } app/src/main/java/foundation/e/apps/data/login/core/AuthObject.kt +2 −15 Original line number Diff line number Diff line Loading @@ -36,21 +36,8 @@ sealed class AuthObject { abstract val result: ResultSupreme<*> abstract val user: User abstract fun createInvalidAuthObject(): AuthObject class GPlayAuth(override val result: ResultSupreme<AuthData?>, override val user: User) : AuthObject() class GPlayAuth(override val result: ResultSupreme<AuthData?>, override val user: User) : AuthObject() { override fun createInvalidAuthObject(): AuthObject { return AuthFailureFactory.createGplayValidationFailure( user = user, otherPayload = result.otherPayload ) } } class CleanApk(override val result: ResultSupreme<Unit>, override val user: User) : AuthObject() { override fun createInvalidAuthObject(): AuthObject { return AuthFailureFactory.createCleanApkUnauthorizedFailure(user) } } class CleanApk(override val result: ResultSupreme<Unit>, override val user: User) : AuthObject() // Add more auth types here } app/src/main/java/foundation/e/apps/data/playstore/PlayStoreRepository.kt +2 −2 Original line number Diff line number Diff line Loading @@ -172,7 +172,7 @@ class PlayStoreRepository @Inject constructor( getAppDetailsHelper().getAppByPackageName(packageNames) } if (!isEmulator() && appDetails.all { it.versionCode == 0L } && isAnonymousUser()) { if (!isEmulator() && appDetails.all { it.versionCode == 0L }) { // Google Play returns limited result ( i.e. version code being 0) with a stale token, // so we need to refresh authentication to get a new token. Timber.i("Version code is 0.") Loading Loading @@ -205,7 +205,7 @@ class PlayStoreRepository @Inject constructor( throw exception } if (!isEmulator() && appDetails.versionCode == 0L && isAnonymousUser()) { if (!isEmulator() && appDetails.versionCode == 0L) { // Google Play returns limited result ( i.e. version code being 0) with a stale token, // so we need to refresh authentication to get a new token. Timber.i("Version code is 0 for ${appDetails.packageName}.") Loading app/src/main/java/foundation/e/apps/data/playstore/utils/GPlayHttpClient.kt +0 −7 Original line number Diff line number Diff line Loading @@ -23,7 +23,6 @@ import com.aurora.gplayapi.data.models.PlayResponse import com.aurora.gplayapi.network.IHttpClient import foundation.e.apps.data.event.AppEvent import foundation.e.apps.data.event.EventBus import foundation.e.apps.data.login.core.AuthObject import foundation.e.apps.data.system.SystemInfoProvider import kotlinx.coroutines.MainScope import kotlinx.coroutines.flow.MutableStateFlow Loading Loading @@ -202,12 +201,6 @@ class GPlayHttpClient @Inject constructor( val responseBytes = response.body?.bytes() ?: byteArrayOf() when (code) { STATUS_CODE_UNAUTHORIZED -> MainScope().launch { EventBus.invokeEvent( AppEvent.InvalidAuthEvent(AuthObject.GPlayAuth::class.java.simpleName) ) } STATUS_CODE_TOO_MANY_REQUESTS -> MainScope().launch { if (url.toString().contains(SEARCH_SUGGEST)) { return@launch Loading Loading
app/src/main/java/foundation/e/apps/data/event/AppEvent.kt +0 −2 Original line number Diff line number Diff line Loading @@ -29,8 +29,6 @@ import kotlinx.coroutines.CompletableDeferred sealed class AppEvent(val data: Any) { class SignatureMissMatchError(packageName: String) : AppEvent(packageName) class UpdateEvent(result: ResultSupreme.WorkError<ResultStatus>) : AppEvent(result) class InvalidAuthEvent(authName: String) : AppEvent(authName) class ErrorMessageEvent(stringResourceId: Int) : AppEvent(stringResourceId) class ErrorMessageDialogEvent(stringResourceId: Int) : AppEvent(stringResourceId) class AppPurchaseEvent(appInstall: AppInstall) : AppEvent(appInstall) Loading
app/src/main/java/foundation/e/apps/data/login/core/AuthFailureFactory.ktdeleted 100644 → 0 +0 −40 Original line number Diff line number Diff line package foundation.e.apps.data.login.core import com.aurora.gplayapi.data.models.AuthData import foundation.e.apps.data.ResultSupreme import foundation.e.apps.data.enums.User import foundation.e.apps.data.login.exceptions.CleanApkException import foundation.e.apps.data.login.exceptions.GPlayValidationException import java.net.HttpURLConnection object AuthFailureFactory { fun createGplayValidationFailure(user: User, otherPayload: Any?): AuthObject { val message = "Validating AuthData failed.\nNetwork code: ${HttpURLConnection.HTTP_UNAUTHORIZED}" return AuthObject.GPlayAuth( ResultSupreme.Error<AuthData?>( message = message, exception = GPlayValidationException( message, user, HttpURLConnection.HTTP_UNAUTHORIZED, ) ).apply { this.otherPayload = otherPayload }, user, ) } fun createCleanApkUnauthorizedFailure(user: User): AuthObject { return AuthObject.CleanApk( ResultSupreme.Error( message = "Unauthorized", exception = CleanApkException( isTimeout = false, message = "Unauthorized", ) ), user, ) } }
app/src/main/java/foundation/e/apps/data/login/core/AuthObject.kt +2 −15 Original line number Diff line number Diff line Loading @@ -36,21 +36,8 @@ sealed class AuthObject { abstract val result: ResultSupreme<*> abstract val user: User abstract fun createInvalidAuthObject(): AuthObject class GPlayAuth(override val result: ResultSupreme<AuthData?>, override val user: User) : AuthObject() class GPlayAuth(override val result: ResultSupreme<AuthData?>, override val user: User) : AuthObject() { override fun createInvalidAuthObject(): AuthObject { return AuthFailureFactory.createGplayValidationFailure( user = user, otherPayload = result.otherPayload ) } } class CleanApk(override val result: ResultSupreme<Unit>, override val user: User) : AuthObject() { override fun createInvalidAuthObject(): AuthObject { return AuthFailureFactory.createCleanApkUnauthorizedFailure(user) } } class CleanApk(override val result: ResultSupreme<Unit>, override val user: User) : AuthObject() // Add more auth types here }
app/src/main/java/foundation/e/apps/data/playstore/PlayStoreRepository.kt +2 −2 Original line number Diff line number Diff line Loading @@ -172,7 +172,7 @@ class PlayStoreRepository @Inject constructor( getAppDetailsHelper().getAppByPackageName(packageNames) } if (!isEmulator() && appDetails.all { it.versionCode == 0L } && isAnonymousUser()) { if (!isEmulator() && appDetails.all { it.versionCode == 0L }) { // Google Play returns limited result ( i.e. version code being 0) with a stale token, // so we need to refresh authentication to get a new token. Timber.i("Version code is 0.") Loading Loading @@ -205,7 +205,7 @@ class PlayStoreRepository @Inject constructor( throw exception } if (!isEmulator() && appDetails.versionCode == 0L && isAnonymousUser()) { if (!isEmulator() && appDetails.versionCode == 0L) { // Google Play returns limited result ( i.e. version code being 0) with a stale token, // so we need to refresh authentication to get a new token. Timber.i("Version code is 0 for ${appDetails.packageName}.") Loading
app/src/main/java/foundation/e/apps/data/playstore/utils/GPlayHttpClient.kt +0 −7 Original line number Diff line number Diff line Loading @@ -23,7 +23,6 @@ import com.aurora.gplayapi.data.models.PlayResponse import com.aurora.gplayapi.network.IHttpClient import foundation.e.apps.data.event.AppEvent import foundation.e.apps.data.event.EventBus import foundation.e.apps.data.login.core.AuthObject import foundation.e.apps.data.system.SystemInfoProvider import kotlinx.coroutines.MainScope import kotlinx.coroutines.flow.MutableStateFlow Loading Loading @@ -202,12 +201,6 @@ class GPlayHttpClient @Inject constructor( val responseBytes = response.body?.bytes() ?: byteArrayOf() when (code) { STATUS_CODE_UNAUTHORIZED -> MainScope().launch { EventBus.invokeEvent( AppEvent.InvalidAuthEvent(AuthObject.GPlayAuth::class.java.simpleName) ) } STATUS_CODE_TOO_MANY_REQUESTS -> MainScope().launch { if (url.toString().contains(SEARCH_SUGGEST)) { return@launch Loading