|
|
@ -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
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|