Skip to content

Commit

Permalink
For mozilla-mobile#22147 - New search term groups telemetry
Browse files Browse the repository at this point in the history
  • Loading branch information
Mugurell authored and pkirakosyan committed Mar 7, 2022
1 parent 7d13969 commit 9657ea8
Show file tree
Hide file tree
Showing 8 changed files with 87 additions and 0 deletions.
39 changes: 39 additions & 0 deletions app/metrics.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2669,6 +2669,45 @@ history:
notification_emails:
- android-probes@mozilla.com
expires: "2022-11-01"
search_term_group_open_tab:
type: event
description: |
A user opens a tab from the search term group in history.
bugs:
- https://github.com/mozilla-mobile/fenix/issues/22147
data_reviews:
- https://github.com/mozilla-mobile/fenix/pull/22368#issuecomment-964223263
data_sensitivity:
- interaction
notification_emails:
- android-probes@mozilla.com
expires: "2022-11-01"
search_term_group_remove_tab:
type: event
description: |
A user closes a single tab in the search term group in history.
bugs:
- https://github.com/mozilla-mobile/fenix/issues/22147
data_reviews:
- https://github.com/mozilla-mobile/fenix/pull/22368#issuecomment-964223263
data_sensitivity:
- interaction
notification_emails:
- android-probes@mozilla.com
expires: "2022-11-01"
search_term_group_remove_all:
type: event
description: |
A user closes all tabs in the search term group in history.
bugs:
- https://github.com/mozilla-mobile/fenix/issues/22147
data_reviews:
- https://github.com/mozilla-mobile/fenix/pull/22368#issuecomment-964223263
data_sensitivity:
- interaction
notification_emails:
- android-probes@mozilla.com
expires: "2022-11-01"

reader_mode:
available:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,9 @@ sealed class Event {
override val extras = mapOf(History.recentSearchesTappedKeys.pageNumber to source)
}
object HistorySearchTermGroupTapped : Event()
object HistorySearchTermGroupOpenTab : Event()
object HistorySearchTermGroupRemoveTab : Event()
object HistorySearchTermGroupRemoveAll : Event()
object ReaderModeAvailable : Event()
object ReaderModeOpened : Event()
object ReaderModeClosed : Event()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -315,6 +315,15 @@ private val Event.wrapper: EventWrapper<*>?
is Event.HistorySearchTermGroupTapped -> EventWrapper<NoExtraKeys>(
{ History.searchTermGroupTapped.record(it) }
)
is Event.HistorySearchTermGroupOpenTab -> EventWrapper<NoExtraKeys>(
{ History.searchTermGroupOpenTab.record(it) }
)
is Event.HistorySearchTermGroupRemoveTab -> EventWrapper<NoExtraKeys>(
{ History.searchTermGroupRemoveTab.record(it) }
)
is Event.HistorySearchTermGroupRemoveAll -> EventWrapper<NoExtraKeys>(
{ History.searchTermGroupRemoveAll.record(it) }
)
is Event.CollectionRenamed -> EventWrapper<NoExtraKeys>(
{ Collections.renamed.record(it) }
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ import org.mozilla.fenix.browser.browsingmode.BrowsingMode
import org.mozilla.fenix.components.StoreProvider
import org.mozilla.fenix.databinding.FragmentHistoryMetadataGroupBinding
import org.mozilla.fenix.ext.nav
import org.mozilla.fenix.ext.requireComponents
import org.mozilla.fenix.ext.setTextColor
import org.mozilla.fenix.ext.showToolbar
import org.mozilla.fenix.library.LibraryPageFragment
Expand Down Expand Up @@ -73,6 +74,7 @@ class HistoryMetadataGroupFragment :
controller = DefaultHistoryMetadataGroupController(
activity = activity as HomeActivity,
store = historyMetadataGroupStore,
metrics = requireComponents.analytics.metrics,
navController = findNavController(),
scope = lifecycleScope,
searchTerm = args.title
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ import kotlinx.coroutines.launch
import mozilla.components.concept.engine.prompt.ShareData
import org.mozilla.fenix.BrowserDirection
import org.mozilla.fenix.HomeActivity
import org.mozilla.fenix.components.metrics.Event
import org.mozilla.fenix.components.metrics.MetricController
import org.mozilla.fenix.ext.components
import org.mozilla.fenix.library.history.History
import org.mozilla.fenix.library.historymetadata.HistoryMetadataGroupFragmentAction
Expand Down Expand Up @@ -74,6 +76,7 @@ interface HistoryMetadataGroupController {
class DefaultHistoryMetadataGroupController(
private val activity: HomeActivity,
private val store: HistoryMetadataGroupFragmentStore,
private val metrics: MetricController,
private val navController: NavController,
private val scope: CoroutineScope,
private val searchTerm: String,
Expand All @@ -86,6 +89,7 @@ class DefaultHistoryMetadataGroupController(
from = BrowserDirection.FromHistoryMetadataGroup,
historyMetadata = item.historyMetadataKey
)
metrics.track(Event.HistorySearchTermGroupOpenTab)
}

override fun handleSelect(item: History.Metadata) {
Expand Down Expand Up @@ -118,6 +122,7 @@ class DefaultHistoryMetadataGroupController(
items.forEach {
store.dispatch(HistoryMetadataGroupFragmentAction.Delete(it))
activity.components.core.historyStorage.deleteHistoryMetadata(it.historyMetadataKey)
metrics.track(Event.HistorySearchTermGroupRemoveTab)
}
}
}
Expand All @@ -126,6 +131,7 @@ class DefaultHistoryMetadataGroupController(
scope.launch {
store.dispatch(HistoryMetadataGroupFragmentAction.DeleteAll)
activity.components.core.historyStorage.deleteHistoryMetadata(searchTerm)
metrics.track(Event.HistorySearchTermGroupRemoveAll)
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -180,6 +180,18 @@ class GleanMetricsServiceTest {
assertFalse(History.searchTermGroupTapped.testHasValue())
gleanService.track(Event.HistorySearchTermGroupTapped)
assertTrue(History.searchTermGroupTapped.testHasValue())

assertFalse(History.searchTermGroupOpenTab.testHasValue())
gleanService.track(Event.HistorySearchTermGroupOpenTab)
assertTrue(History.searchTermGroupOpenTab.testHasValue())

assertFalse(History.searchTermGroupRemoveTab.testHasValue())
gleanService.track(Event.HistorySearchTermGroupRemoveTab)
assertTrue(History.searchTermGroupRemoveTab.testHasValue())

assertFalse(History.searchTermGroupRemoveAll.testHasValue())
gleanService.track(Event.HistorySearchTermGroupRemoveAll)
assertTrue(History.searchTermGroupRemoveAll.testHasValue())
}

@Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -337,6 +337,9 @@ class MetricControllerTest {
every { marketingService1.shouldTrack(Event.HistoryAllItemsRemoved) } returns true
every { marketingService1.shouldTrack(Event.HistoryRecentSearchesTapped("2")) } returns true
every { marketingService1.shouldTrack(Event.HistorySearchTermGroupTapped) } returns true
every { marketingService1.shouldTrack(Event.HistorySearchTermGroupOpenTab) } returns true
every { marketingService1.shouldTrack(Event.HistorySearchTermGroupRemoveTab) } returns true
every { marketingService1.shouldTrack(Event.HistorySearchTermGroupRemoveAll) } returns true

controller.start(MetricServiceType.Marketing)

Expand All @@ -348,6 +351,9 @@ class MetricControllerTest {
controller.track(Event.HistoryAllItemsRemoved)
controller.track(Event.HistoryRecentSearchesTapped("2"))
controller.track(Event.HistorySearchTermGroupTapped)
controller.track(Event.HistorySearchTermGroupOpenTab)
controller.track(Event.HistorySearchTermGroupRemoveTab)
controller.track(Event.HistorySearchTermGroupRemoveAll)

verify { marketingService1.track(Event.HistoryOpenedInNewTab) }
verify { marketingService1.track(Event.HistoryOpenedInNewTabs) }
Expand All @@ -357,6 +363,9 @@ class MetricControllerTest {
verify { marketingService1.track(Event.HistoryAllItemsRemoved) }
verify { marketingService1.track(Event.HistoryRecentSearchesTapped("2")) }
verify { marketingService1.track(Event.HistorySearchTermGroupTapped) }
verify { marketingService1.track(Event.HistorySearchTermGroupOpenTab) }
verify { marketingService1.track(Event.HistorySearchTermGroupRemoveTab) }
verify { marketingService1.track(Event.HistorySearchTermGroupRemoveAll) }
}

@Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ import org.junit.Test
import org.junit.runner.RunWith
import org.mozilla.fenix.BrowserDirection
import org.mozilla.fenix.HomeActivity
import org.mozilla.fenix.components.metrics.Event
import org.mozilla.fenix.components.metrics.MetricController
import org.mozilla.fenix.ext.components
import org.mozilla.fenix.ext.directionsEq
import org.mozilla.fenix.helpers.FenixRobolectricTestRunner
Expand All @@ -44,6 +46,7 @@ class HistoryMetadataGroupControllerTest {

private val activity: HomeActivity = mockk(relaxed = true)
private val store: HistoryMetadataGroupFragmentStore = mockk(relaxed = true)
private val metrics: MetricController = mockk(relaxed = true)
private val navController: NavController = mockk(relaxed = true)
private val historyStorage: PlacesHistoryStorage = mockk(relaxed = true)

Expand Down Expand Up @@ -73,6 +76,7 @@ class HistoryMetadataGroupControllerTest {
controller = DefaultHistoryMetadataGroupController(
activity = activity,
store = store,
metrics = metrics,
navController = navController,
scope = scope,
searchTerm = "mozilla"
Expand All @@ -97,6 +101,7 @@ class HistoryMetadataGroupControllerTest {
from = BrowserDirection.FromHistoryMetadataGroup,
historyMetadata = mozillaHistoryMetadataItem.historyMetadataKey
)
metrics.track(Event.HistorySearchTermGroupOpenTab)
}
}

Expand Down Expand Up @@ -160,6 +165,7 @@ class HistoryMetadataGroupControllerTest {
store.dispatch(HistoryMetadataGroupFragmentAction.Delete(firefoxHistoryMetadataItem))
historyStorage.deleteHistoryMetadata(mozillaHistoryMetadataItem.historyMetadataKey)
historyStorage.deleteHistoryMetadata(firefoxHistoryMetadataItem.historyMetadataKey)
metrics.track(Event.HistorySearchTermGroupRemoveTab)
}
}

Expand All @@ -170,6 +176,7 @@ class HistoryMetadataGroupControllerTest {
coVerify {
store.dispatch(HistoryMetadataGroupFragmentAction.DeleteAll)
historyStorage.deleteHistoryMetadata(searchTerm)
metrics.track(Event.HistorySearchTermGroupRemoveAll)
}
}
}

0 comments on commit 9657ea8

Please sign in to comment.