For #12157: Don't show two search widget dialogs

releases/v79.1.0
Sawyer Blatz 4 years ago
parent 321ba02832
commit 3cbab45566

@ -34,7 +34,11 @@ class SearchWidgetCFR(
fun displayIfNecessary() { fun displayIfNecessary() {
if (!context.settings().isInSearchWidgetExperiment || if (!context.settings().isInSearchWidgetExperiment ||
!context.settings().shouldDisplaySearchWidgetCFR()) { return } !context.settings().shouldDisplaySearchWidgetCFR() ||
isShown
) { return }
isShown = true
showSearchWidgetCFR() showSearchWidgetCFR()
} }
@ -85,14 +89,21 @@ class SearchWidgetCFR(
} }
searchWidgetCFRDialog.setOnCancelListener { searchWidgetCFRDialog.setOnCancelListener {
isShown = false
context.components.analytics.metrics.track(Event.SearchWidgetCFRCanceled) context.components.analytics.metrics.track(Event.SearchWidgetCFRCanceled)
} }
searchWidgetCFRDialog.setOnDismissListener { searchWidgetCFRDialog.setOnDismissListener {
isShown = false
context.settings().incrementSearchWidgetCFRDismissed() context.settings().incrementSearchWidgetCFRDismissed()
} }
searchWidgetCFRDialog.show() searchWidgetCFRDialog.show()
context.components.analytics.metrics.track(Event.SearchWidgetCFRDisplayed) context.components.analytics.metrics.track(Event.SearchWidgetCFRDisplayed)
} }
companion object {
// Used to ensure multiple dialogs are not shown on top of each other
var isShown = false
}
} }

Loading…
Cancel
Save