diff --git a/app/src/main/java/org/mozilla/fenix/shopping/middleware/ReviewQualityCheckNetworkMiddleware.kt b/app/src/main/java/org/mozilla/fenix/shopping/middleware/ReviewQualityCheckNetworkMiddleware.kt index 0fae0f693..4bedfac13 100644 --- a/app/src/main/java/org/mozilla/fenix/shopping/middleware/ReviewQualityCheckNetworkMiddleware.kt +++ b/app/src/main/java/org/mozilla/fenix/shopping/middleware/ReviewQualityCheckNetworkMiddleware.kt @@ -79,7 +79,10 @@ class ReviewQualityCheckNetworkMiddleware( } } - ReviewQualityCheckAction.ReanalyzeProduct, ReviewQualityCheckAction.AnalyzeProduct -> { + ReviewQualityCheckAction.ReanalyzeProduct, + ReviewQualityCheckAction.AnalyzeProduct, + ReviewQualityCheckAction.RestoreReanalysis, + -> { val reanalysis = reviewQualityCheckService.reanalyzeProduct() if (reanalysis == null) { @@ -157,7 +160,7 @@ class ReviewQualityCheckNetworkMiddleware( productAnalysis?.needsAnalysis == true && appStore.state.shoppingState.productsInAnalysis.contains(productPageUrl) ) { - dispatch(ReviewQualityCheckAction.ReanalyzeProduct) + dispatch(ReviewQualityCheckAction.RestoreReanalysis) } } diff --git a/app/src/main/java/org/mozilla/fenix/shopping/store/ReviewQualityCheckAction.kt b/app/src/main/java/org/mozilla/fenix/shopping/store/ReviewQualityCheckAction.kt index 5cb18e202..0ea528aa5 100644 --- a/app/src/main/java/org/mozilla/fenix/shopping/store/ReviewQualityCheckAction.kt +++ b/app/src/main/java/org/mozilla/fenix/shopping/store/ReviewQualityCheckAction.kt @@ -112,6 +112,12 @@ sealed interface ReviewQualityCheckAction : Action { */ object ReanalyzeProduct : NetworkAction, UpdateAction, TelemetryAction + /** + * Triggered when the product was previously known to be in reanalysis + * process when the sheet was closed and the state should be restored. + */ + object RestoreReanalysis : NetworkAction, UpdateAction + /** * Triggered when the user clicks on the analyze button */ diff --git a/app/src/main/java/org/mozilla/fenix/shopping/store/ReviewQualityCheckStore.kt b/app/src/main/java/org/mozilla/fenix/shopping/store/ReviewQualityCheckStore.kt index 57a3e0a5d..f18566f5d 100644 --- a/app/src/main/java/org/mozilla/fenix/shopping/store/ReviewQualityCheckStore.kt +++ b/app/src/main/java/org/mozilla/fenix/shopping/store/ReviewQualityCheckStore.kt @@ -121,7 +121,10 @@ private fun mapStateForUpdateAction( } } - ReviewQualityCheckAction.ReanalyzeProduct, ReviewQualityCheckAction.AnalyzeProduct -> { + ReviewQualityCheckAction.ReanalyzeProduct, + ReviewQualityCheckAction.AnalyzeProduct, + ReviewQualityCheckAction.RestoreReanalysis, + -> { state.mapIfOptedIn { when (it.productReviewState) { is ProductReviewState.AnalysisPresent -> {