Skip to content

Commit b45546e

Browse files
committed
Bug 1991998 - Add telemetry to snackbar and undo button for removing downloads [part 1] r=android-reviewers,boek
Differential Revision: https://phabricator.services.mozilla.com/D267081
1 parent e70e0aa commit b45546e

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
@@ -14147,6 +14147,30 @@ downloads:
1414714147
notification_emails:
1414814148
- android-probes@mozilla.com
1414914149
expires: never
14150+
delete_snackbar_shown:
14151+
type: event
14152+
description: A delete snackbar was shown after one or more downloads were deleted.
14153+
bugs:
14154+
- https://bugzilla.mozilla.org/show_bug.cgi?id=1991998
14155+
data_reviews:
14156+
- https://phabricator.services.mozilla.com/D267081
14157+
data_sensitivity:
14158+
- interaction
14159+
notification_emails:
14160+
- android-probes@mozilla.com
14161+
expires: never
14162+
delete_snackbar_undo_clicked:
14163+
type: event
14164+
description: The user clicked the undo button in a downloads delete snackbar.
14165+
bugs:
14166+
- https://bugzilla.mozilla.org/show_bug.cgi?id=1991998
14167+
data_reviews:
14168+
- https://phabricator.services.mozilla.com/D267081
14169+
data_sensitivity:
14170+
- interaction
14171+
notification_emails:
14172+
- android-probes@mozilla.com
14173+
expires: never
1415014174

1415114175
client_association:
1415214176
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)