From 59306b84ddf32b15b0ca1956a2113f6bc4763455 Mon Sep 17 00:00:00 2001 From: MatheoLevallois Date: Wed, 11 Feb 2026 11:35:41 +0100 Subject: [PATCH 1/5] fix: deactivation of applications that do not have content rating --- .../e/apps/domain/ValidateAppAgeLimitUseCase.kt | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/foundation/e/apps/domain/ValidateAppAgeLimitUseCase.kt b/app/src/main/java/foundation/e/apps/domain/ValidateAppAgeLimitUseCase.kt index 477018075..645e63fd4 100644 --- a/app/src/main/java/foundation/e/apps/domain/ValidateAppAgeLimitUseCase.kt +++ b/app/src/main/java/foundation/e/apps/domain/ValidateAppAgeLimitUseCase.kt @@ -19,6 +19,7 @@ package foundation.e.apps.domain import com.aurora.gplayapi.data.models.ContentRating +import com.aurora.gplayapi.exceptions.InternalException import foundation.e.apps.contract.ParentalControlContract.Age import foundation.e.apps.data.ResultSupreme import foundation.e.apps.data.application.apps.AppsApi @@ -77,7 +78,9 @@ class ValidateAppAgeLimitUseCase @Inject constructor( data = ContentRatingValidity(true) ) - hasNoContentRatingOnGPlay(app) -> ResultSupreme.Error() + hasNoContentRatingOnGPlay(app) -> ResultSupreme.Success( + data = ContentRatingValidity(false, requestPin = true) + ) isParentalGuidance(app) -> ResultSupreme.Success( data = ContentRatingValidity(false, requestPin = true) @@ -158,9 +161,14 @@ class ValidateAppAgeLimitUseCase @Inject constructor( private suspend fun verifyContentRatingExists(app: AppInstall): Boolean { if (app.contentRating.id.isEmpty()) { - val fetchedContentRating = - gPlayContentRatingRepository.getEnglishContentRating(app.packageName) - + var fetchedContentRating : ContentRating? = null + try { + fetchedContentRating = + gPlayContentRatingRepository.getEnglishContentRating(app.packageName) + } catch(exception: InternalException.AppNotFound){ + Timber.d("Error fetching age ratings for the package : ${app.packageName}" ) + return false + } Timber.d("Fetched content rating - ${app.packageName} - ${fetchedContentRating?.id}") app.contentRating = if (fetchedContentRating == null) { -- GitLab From c51726a45dc9be01b1385f079dd81a8579598ad6 Mon Sep 17 00:00:00 2001 From: MatheoLevallois Date: Wed, 11 Feb 2026 14:44:35 +0100 Subject: [PATCH 2/5] refactor: apply suggestion --- .../foundation/e/apps/domain/ValidateAppAgeLimitUseCase.kt | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/foundation/e/apps/domain/ValidateAppAgeLimitUseCase.kt b/app/src/main/java/foundation/e/apps/domain/ValidateAppAgeLimitUseCase.kt index 645e63fd4..238cd504a 100644 --- a/app/src/main/java/foundation/e/apps/domain/ValidateAppAgeLimitUseCase.kt +++ b/app/src/main/java/foundation/e/apps/domain/ValidateAppAgeLimitUseCase.kt @@ -79,7 +79,7 @@ class ValidateAppAgeLimitUseCase @Inject constructor( ) hasNoContentRatingOnGPlay(app) -> ResultSupreme.Success( - data = ContentRatingValidity(false, requestPin = true) + data = ContentRatingValidity(isValid = false, requestPin = true) ) isParentalGuidance(app) -> ResultSupreme.Success( @@ -161,9 +161,7 @@ class ValidateAppAgeLimitUseCase @Inject constructor( private suspend fun verifyContentRatingExists(app: AppInstall): Boolean { if (app.contentRating.id.isEmpty()) { - var fetchedContentRating : ContentRating? = null - try { - fetchedContentRating = + val fetchedContentRating = try { gPlayContentRatingRepository.getEnglishContentRating(app.packageName) } catch(exception: InternalException.AppNotFound){ Timber.d("Error fetching age ratings for the package : ${app.packageName}" ) -- GitLab From 405a852e415be704aa7b82fb6f717d9cb9869524 Mon Sep 17 00:00:00 2001 From: MatheoLevallois Date: Wed, 11 Feb 2026 14:53:55 +0100 Subject: [PATCH 3/5] refactor: change log message --- .../java/foundation/e/apps/domain/ValidateAppAgeLimitUseCase.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/foundation/e/apps/domain/ValidateAppAgeLimitUseCase.kt b/app/src/main/java/foundation/e/apps/domain/ValidateAppAgeLimitUseCase.kt index 238cd504a..6fb83e26e 100644 --- a/app/src/main/java/foundation/e/apps/domain/ValidateAppAgeLimitUseCase.kt +++ b/app/src/main/java/foundation/e/apps/domain/ValidateAppAgeLimitUseCase.kt @@ -164,7 +164,7 @@ class ValidateAppAgeLimitUseCase @Inject constructor( val fetchedContentRating = try { gPlayContentRatingRepository.getEnglishContentRating(app.packageName) } catch(exception: InternalException.AppNotFound){ - Timber.d("Error fetching age ratings for the package : ${app.packageName}" ) + Timber.w(exception, "Error fetching age ratings for the package : ${app.packageName}" ) return false } Timber.d("Fetched content rating - ${app.packageName} - ${fetchedContentRating?.id}") -- GitLab From 6e51f49b40343aaac930ccf07362b83667c601e3 Mon Sep 17 00:00:00 2001 From: MatheoLevallois Date: Wed, 11 Feb 2026 15:33:30 +0100 Subject: [PATCH 4/5] refactor: fix detekt --- .../foundation/e/apps/domain/ValidateAppAgeLimitUseCase.kt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/foundation/e/apps/domain/ValidateAppAgeLimitUseCase.kt b/app/src/main/java/foundation/e/apps/domain/ValidateAppAgeLimitUseCase.kt index 6fb83e26e..2a6774569 100644 --- a/app/src/main/java/foundation/e/apps/domain/ValidateAppAgeLimitUseCase.kt +++ b/app/src/main/java/foundation/e/apps/domain/ValidateAppAgeLimitUseCase.kt @@ -162,9 +162,9 @@ class ValidateAppAgeLimitUseCase @Inject constructor( private suspend fun verifyContentRatingExists(app: AppInstall): Boolean { if (app.contentRating.id.isEmpty()) { val fetchedContentRating = try { - gPlayContentRatingRepository.getEnglishContentRating(app.packageName) - } catch(exception: InternalException.AppNotFound){ - Timber.w(exception, "Error fetching age ratings for the package : ${app.packageName}" ) + gPlayContentRatingRepository.getEnglishContentRating(app.packageName) + } catch (exception: InternalException.AppNotFound) { + Timber.w(exception, "Error fetching age ratings for the package : ${app.packageName}") return false } Timber.d("Fetched content rating - ${app.packageName} - ${fetchedContentRating?.id}") -- GitLab From 72c292c7477bac6b69ce3d3e7ea2068bb08f902f Mon Sep 17 00:00:00 2001 From: MatheoLevallois Date: Wed, 11 Feb 2026 16:53:23 +0100 Subject: [PATCH 5/5] fix: fix test returnsErrorWhenContentRatingMissingForPlayStore() --- .../foundation/e/apps/domain/ValidateAppAgeLimitUseCaseTest.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/test/java/foundation/e/apps/domain/ValidateAppAgeLimitUseCaseTest.kt b/app/src/test/java/foundation/e/apps/domain/ValidateAppAgeLimitUseCaseTest.kt index 556600d11..b42a14e94 100644 --- a/app/src/test/java/foundation/e/apps/domain/ValidateAppAgeLimitUseCaseTest.kt +++ b/app/src/test/java/foundation/e/apps/domain/ValidateAppAgeLimitUseCaseTest.kt @@ -135,7 +135,7 @@ class ValidateAppAgeLimitUseCaseTest { ) ) - assertThat(result).isInstanceOf(ResultSupreme.Error::class.java) + assertThat(result).isInstanceOf(ResultSupreme.Success::class.java) } private fun appInstall( -- GitLab