For #1607 - Fixes SearchShortcutSelected to not leak any custom identifiers
parent
f4b583fc0b
commit
ea22f6d69b
|
@ -301,10 +301,10 @@ sealed class Event {
|
|||
get() = mapOf(Events.performedSearchKeys.source to eventSource.sourceLabel)
|
||||
}
|
||||
|
||||
// Track only built-in engine selection. Do not track user-added engines!
|
||||
data class SearchShortcutSelected(val engine: String) : Event() {
|
||||
data class SearchShortcutSelected(val engine: SearchEngine, val isCustom: Boolean) : Event() {
|
||||
private val engineName = if (isCustom) "custom" else engine.name
|
||||
override val extras: Map<SearchShortcuts.selectedKeys, String>?
|
||||
get() = mapOf(SearchShortcuts.selectedKeys.engine to engine)
|
||||
get() = mapOf(SearchShortcuts.selectedKeys.engine to engineName)
|
||||
}
|
||||
|
||||
class ContextMenuItemTapped private constructor(val item: String) : Event() {
|
||||
|
|
|
@ -18,6 +18,7 @@ import org.mozilla.fenix.components.metrics.Event.PerformedSearch.SearchAccessPo
|
|||
import org.mozilla.fenix.components.metrics.Event.PerformedSearch.SearchAccessPoint.NONE
|
||||
import org.mozilla.fenix.components.metrics.Event.PerformedSearch.SearchAccessPoint.SUGGESTION
|
||||
import org.mozilla.fenix.components.metrics.MetricsUtils
|
||||
import org.mozilla.fenix.components.searchengine.CustomSearchEngineStore
|
||||
import org.mozilla.fenix.ext.components
|
||||
import org.mozilla.fenix.ext.metrics
|
||||
import org.mozilla.fenix.ext.nav
|
||||
|
@ -127,7 +128,8 @@ class DefaultSearchController(
|
|||
|
||||
override fun handleSearchShortcutEngineSelected(searchEngine: SearchEngine) {
|
||||
store.dispatch(SearchFragmentAction.SearchShortcutEngineSelected(searchEngine))
|
||||
context.metrics.track(Event.SearchShortcutSelected(searchEngine.name))
|
||||
val isCustom = CustomSearchEngineStore.isCustomSearchEngine(context, searchEngine.identifier)
|
||||
context.metrics.track(Event.SearchShortcutSelected(searchEngine, isCustom))
|
||||
}
|
||||
|
||||
override fun handleSearchShortcutsButtonClicked() {
|
||||
|
|
|
@ -192,7 +192,7 @@ class DefaultSearchControllerTest {
|
|||
controller.handleSearchShortcutEngineSelected(searchEngine)
|
||||
|
||||
verify { store.dispatch(SearchFragmentAction.SearchShortcutEngineSelected(searchEngine)) }
|
||||
verify { metrics.track(Event.SearchShortcutSelected(searchEngine.name)) }
|
||||
verify { metrics.track(Event.SearchShortcutSelected(searchEngine, false)) }
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
Loading…
Reference in New Issue