commit 9c2733b9e4814a3d458fc171f22bd6418c6c2dcf
parent f59731777940f7851680b9a53f9d3273f9f52158
Author: Lando <lando@lando.test>
Date: Tue, 7 Oct 2025 03:39:00 +0000
Merge mozilla-central to autoland
Diffstat:
1 file changed, 16 insertions(+), 5 deletions(-)
diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/PlayStoreReviewPromptController.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/PlayStoreReviewPromptController.kt
@@ -12,7 +12,6 @@ import androidx.core.net.toUri
import com.google.android.play.core.review.ReviewException
import com.google.android.play.core.review.ReviewInfo
import com.google.android.play.core.review.ReviewManager
-import com.google.android.play.core.review.model.ReviewErrorCode
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext
import mozilla.components.support.base.log.logger.Logger
@@ -42,20 +41,25 @@ class PlayStoreReviewPromptController(
val reviewInfoFlow = withContext(Dispatchers.IO) { manager.requestReviewFlow() }
reviewInfoFlow.addOnCompleteListener {
- if (it.isSuccessful) {
+ val resultString = if (it.isSuccessful) {
logger.info("Review flow launched.")
// Launch the in-app flow.
manager.launchReviewFlow(activity, it.result)
+
+ it.result.toString()
} else {
// Launch the Play store flow.
- @ReviewErrorCode val reviewErrorCode = (it.exception as ReviewException).errorCode
+ val reviewErrorCode =
+ (it.exception as? ReviewException)?.errorCode ?: ERROR_CODE_UNEXPECTED
logger.warn("Failed to launch in-app review flow due to: $reviewErrorCode .")
tryLaunchPlayStoreReview(activity)
+
+ "reviewErrorCode=$reviewErrorCode"
}
recordReviewPromptEvent(
- reviewInfoAsString = it.result.toString(),
+ reviewInfoAsString = resultString,
numberOfAppLaunches = numberOfAppLaunches(),
now = Date(),
)
@@ -81,13 +85,20 @@ class PlayStoreReviewPromptController(
(activity as HomeActivity).openToBrowserAndLoad(
searchTermOrURL = SupportUtils.FENIX_PLAY_STORE_URL,
newTab = true,
- from = BrowserDirection.FromSettings,
+ from = BrowserDirection.FromGlobal,
)
logger.warn("Failed to launch play store review flow due to: $e .")
}
logger.info("tryLaunchPlayStoreReview completed.")
}
+
+ companion object {
+ /**
+ * Placeholder for unexpected exception type.
+ */
+ private const val ERROR_CODE_UNEXPECTED: Int = -42
+ }
}
/**