Skip to content

Commit 239f434

Browse files
Gelarvandermeulen
authored andcommitted
Bug 1991998 - Add telemetry to snackbar and undo button for removing downloads [part 1] a=RyanVM
Original Revision: https://phabricator.services.mozilla.com/D267081 Differential Revision: https://phabricator.services.mozilla.com/D267488
1 parent b7107e4 commit 239f434

File tree

3 files changed

+60
-0
lines changed

3 files changed

+60
-0
lines changed

mobile/android/fenix/app/metrics.yaml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14321,6 +14321,30 @@ downloads:
1432114321
notification_emails:
1432214322
- android-probes@mozilla.com
1432314323
expires: never
14324+
delete_snackbar_shown:
14325+
type: event
14326+
description: A delete snackbar was shown after one or more downloads were deleted.
14327+
bugs:
14328+
- https://bugzilla.mozilla.org/show_bug.cgi?id=1991998
14329+
data_reviews:
14330+
- https://phabricator.services.mozilla.com/D267081
14331+
data_sensitivity:
14332+
- interaction
14333+
notification_emails:
14334+
- android-probes@mozilla.com
14335+
expires: never
14336+
delete_snackbar_undo_clicked:
14337+
type: event
14338+
description: The user clicked the undo button in a downloads delete snackbar.
14339+
bugs:
14340+
- https://bugzilla.mozilla.org/show_bug.cgi?id=1991998
14341+
data_reviews:
14342+
- https://phabricator.services.mozilla.com/D267081
14343+
data_sensitivity:
14344+
- interaction
14345+
notification_emails:
14346+
- android-probes@mozilla.com
14347+
expires: never
1432414348

1432514349
client_association:
1432614350
uid:

mobile/android/fenix/app/src/main/java/org/mozilla/fenix/downloads/listscreen/middleware/DownloadTelemetryMiddleware.kt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,14 @@ class DownloadTelemetryMiddleware : Middleware<DownloadUIState, DownloadUIAction
6060
Downloads.retryDownload.record(NoExtras())
6161
}
6262

63+
is DownloadUIAction.AddPendingDeletionSet -> {
64+
Downloads.deleteSnackbarShown.record(NoExtras())
65+
}
66+
67+
is DownloadUIAction.UndoPendingDeletion -> {
68+
Downloads.deleteSnackbarUndoClicked.record(NoExtras())
69+
}
70+
6371
else -> {}
6472
}
6573
}

mobile/android/fenix/app/src/test/java/org/mozilla/fenix/downloads/listscreen/middleware/DownloadTelemetryMiddlewareTest.kt

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,34 @@ class DownloadTelemetryMiddlewareTest {
143143
assertEquals("cancel_download", snapshot.single().name)
144144
}
145145

146+
@Test
147+
fun `WHEN the user adds a pending deletion set THEN record delete snackbar shown telemetry`() {
148+
val store = createStore()
149+
150+
assertNull(Downloads.deleteSnackbarShown.testGetValue())
151+
152+
store.dispatch(DownloadUIAction.AddPendingDeletionSet(setOf("id")))
153+
154+
assertNotNull(Downloads.deleteSnackbarShown.testGetValue())
155+
val snapshot = Downloads.deleteSnackbarShown.testGetValue()!!
156+
assertEquals(1, snapshot.size)
157+
assertEquals("delete_snackbar_shown", snapshot.single().name)
158+
}
159+
160+
@Test
161+
fun `WHEN the user undoes a pending deletion THEN record delete snackbar undo clicked telemetry`() {
162+
val store = createStore()
163+
164+
assertNull(Downloads.deleteSnackbarUndoClicked.testGetValue())
165+
166+
store.dispatch(DownloadUIAction.UndoPendingDeletion)
167+
168+
assertNotNull(Downloads.deleteSnackbarUndoClicked.testGetValue())
169+
val snapshot = Downloads.deleteSnackbarUndoClicked.testGetValue()!!
170+
assertEquals(1, snapshot.size)
171+
assertEquals("delete_snackbar_undo_clicked", snapshot.single().name)
172+
}
173+
146174
private fun createStore(
147175
downloadUIState: DownloadUIState = DownloadUIState.INITIAL,
148176
) = DownloadUIStore(

0 commit comments

Comments
 (0)