[fenix] For https://github.com/mozilla-mobile/fenix/issues/22175: Telemetry event for deleting a search term group from the recent searches section on home

pull/600/head
Elise Richards 3 years ago committed by mergify[bot]
parent ff1c34b9ee
commit 015be02422

@ -5804,6 +5804,25 @@ recent_bookmarks:
- android-probes@mozilla.com
expires: "2022-02-01"
recent_searches:
group_deleted:
type: event
description: |
A user has deleted a search term group from the
"Recent searches" section on the homescreen using
the long-press menu "Remove" option. This removes
the item from the homescreen, but does not delete
the item from history.
bugs:
- https://github.com/mozilla-mobile/fenix/issues/22175
data_reviews:
- https://github.com/mozilla-mobile/fenix/pull/TBD
data_sensitivity:
- interaction
notification_emails:
- android-probes@mozilla.com
expires: "2022-04-01"
credit_cards:
saved:
type: counter

@ -268,6 +268,9 @@ sealed class Event {
object BookmarkClicked : Event()
object ShowAllBookmarks : Event()
// Recently visited/Recent searches
object RecentSearchesGroupDeleted : Event()
// Android Autofill
object AndroidAutofillUnlockSuccessful : Event()
object AndroidAutofillUnlockCanceled : Event()

@ -41,6 +41,7 @@ import org.mozilla.fenix.GleanMetrics.Preferences
import org.mozilla.fenix.GleanMetrics.ProgressiveWebApp
import org.mozilla.fenix.GleanMetrics.ReaderMode
import org.mozilla.fenix.GleanMetrics.RecentBookmarks
import org.mozilla.fenix.GleanMetrics.RecentSearches
import org.mozilla.fenix.GleanMetrics.RecentTabs
import org.mozilla.fenix.GleanMetrics.SearchShortcuts
import org.mozilla.fenix.GleanMetrics.SearchWidget
@ -801,6 +802,10 @@ private val Event.wrapper: EventWrapper<*>?
{ RecentBookmarks.showAllBookmarks.add() }
)
is Event.RecentSearchesGroupDeleted -> EventWrapper<NoExtraKeys>(
{ RecentSearches.groupDeleted.record(it) }
)
is Event.AndroidAutofillRequestWithLogins -> EventWrapper<NoExtraKeys>(
{ AndroidAutofill.requestMatchingLogins.record(it) }
)

@ -13,6 +13,8 @@ import mozilla.components.browser.state.action.HistoryMetadataAction
import mozilla.components.browser.state.store.BrowserStore
import mozilla.components.concept.storage.HistoryMetadataStorage
import org.mozilla.fenix.R
import org.mozilla.fenix.components.metrics.Event
import org.mozilla.fenix.components.metrics.MetricController
import org.mozilla.fenix.historymetadata.HistoryMetadataGroup
import org.mozilla.fenix.historymetadata.interactor.HistoryMetadataInteractor
import org.mozilla.fenix.home.HomeFragmentAction
@ -49,7 +51,8 @@ class DefaultHistoryMetadataController(
private val homeStore: HomeFragmentStore,
private val navController: NavController,
private val storage: HistoryMetadataStorage,
private val scope: CoroutineScope
private val scope: CoroutineScope,
private val metrics: MetricController
) : HistoryMetadataController {
override fun handleHistoryShowAllClicked() {
@ -79,6 +82,7 @@ class DefaultHistoryMetadataController(
scope.launch {
storage.deleteHistoryMetadata(searchTerm)
}
metrics.track(Event.RecentSearchesGroupDeleted)
}
@VisibleForTesting(otherwise = PRIVATE)

@ -361,7 +361,8 @@ class HomeFragment : Fragment() {
homeStore = homeFragmentStore,
storage = components.core.historyStorage,
scope = viewLifecycleOwner.lifecycleScope,
store = components.core.store
store = components.core.store,
metrics = requireComponents.analytics.metrics
),
pocketStoriesController = DefaultPocketStoriesController(
homeActivity = activity,

@ -26,6 +26,8 @@ import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.mozilla.fenix.R
import org.mozilla.fenix.components.metrics.Event
import org.mozilla.fenix.components.metrics.MetricController
import org.mozilla.fenix.historymetadata.HistoryMetadataGroup
import org.mozilla.fenix.home.HomeFragmentAction
import org.mozilla.fenix.home.HomeFragmentDirections
@ -40,6 +42,8 @@ class HistoryMetadataControllerTest {
val coroutinesTestRule = MainCoroutineRule(testDispatcher)
private val navController = mockk<NavController>(relaxed = true)
private val metrics: MetricController = mockk(relaxed = true)
private lateinit var storage: HistoryMetadataStorage
private lateinit var homeFragmentStore: HomeFragmentStore
private lateinit var store: BrowserStore
@ -62,7 +66,8 @@ class HistoryMetadataControllerTest {
store = store,
navController = navController,
scope = scope,
storage = storage
storage = storage,
metrics = metrics
)
)
}
@ -137,9 +142,8 @@ class HistoryMetadataControllerTest {
testDispatcher.advanceUntilIdle()
verify {
store.dispatch(HistoryMetadataAction.DisbandSearchGroupAction(searchTerm = historyGroup.title))
}
verify {
homeFragmentStore.dispatch(HomeFragmentAction.DisbandSearchGroupAction(searchTerm = historyGroup.title))
metrics.track(Event.RecentSearchesGroupDeleted)
}
coVerify {

Loading…
Cancel
Save