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 b8417e934..185f0a12c 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 @@ -74,7 +74,10 @@ class ReviewQualityCheckNetworkMiddleware( } } - ReviewQualityCheckAction.ReanalyzeProduct, ReviewQualityCheckAction.AnalyzeProduct -> { + ReviewQualityCheckAction.ReanalyzeProduct, + ReviewQualityCheckAction.AnalyzeProduct, + ReviewQualityCheckAction.RestoreReanalysis, + -> { val reanalysis = reviewQualityCheckService.reanalyzeProduct() if (reanalysis == null) { @@ -144,7 +147,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 c4c989813..43a8b34e4 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 @@ -98,6 +98,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 bfa190f85..35f319b7e 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 @@ -79,7 +79,10 @@ private fun mapStateForUpdateAction( } } - ReviewQualityCheckAction.ReanalyzeProduct, ReviewQualityCheckAction.AnalyzeProduct -> { + ReviewQualityCheckAction.ReanalyzeProduct, + ReviewQualityCheckAction.AnalyzeProduct, + ReviewQualityCheckAction.RestoreReanalysis, + -> { state.mapIfOptedIn { when (it.productReviewState) { is ProductReviewState.AnalysisPresent -> {