tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

commit 69dc185461d3c3fe06b10e275419ee34639c899c
parent 6c789a5f050985b1a449bed31046cfdaa6212381
Author: rmalicdem <rmalicdem@mozilla.com>
Date:   Tue,  9 Dec 2025 17:01:01 +0000

Bug 2003352 - Part 2: Add specific address bar source in toolbar telemetry r=android-reviewers,Roger

Differential Revision: https://phabricator.services.mozilla.com/D274849

Diffstat:
Mmobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/toolbar/BrowserToolbarTelemetryMiddleware.kt | 13+++++++++++++
Mmobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/toolbar/BrowserToolbarTelemetryMiddleware.kt | 13+++++++++++++
Mmobile/android/fenix/app/src/main/java/org/mozilla/fenix/telemetry/ToolbarTelemetryConstants.kt | 5+++++
Mmobile/android/fenix/app/src/test/java/org/mozilla/fenix/components/toolbar/BrowserToolbarTelemetryMiddlewareTest.kt | 3+++
Mmobile/android/fenix/app/src/test/java/org/mozilla/fenix/home/toolbar/BrowserToolbarTelemetryMiddlewareTest.kt | 3+++
5 files changed, 37 insertions(+), 0 deletions(-)

diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/toolbar/BrowserToolbarTelemetryMiddleware.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/toolbar/BrowserToolbarTelemetryMiddleware.kt @@ -46,7 +46,11 @@ import org.mozilla.fenix.telemetry.ACTION_STOP_CLICKED import org.mozilla.fenix.telemetry.ACTION_TAB_COUNTER_CLICKED import org.mozilla.fenix.telemetry.ACTION_TAB_COUNTER_LONG_CLICKED import org.mozilla.fenix.telemetry.SOURCE_ADDRESS_BAR +import org.mozilla.fenix.telemetry.SOURCE_BROWSER_END +import org.mozilla.fenix.telemetry.SOURCE_BROWSER_START import org.mozilla.fenix.telemetry.SOURCE_NAVIGATION_BAR +import org.mozilla.fenix.telemetry.SOURCE_PAGE_END +import org.mozilla.fenix.telemetry.SOURCE_PAGE_START /** * [Middleware] responsible for recording telemetry of actions triggered by compose toolbars. @@ -147,6 +151,7 @@ class BrowserToolbarTelemetryMiddleware : Middleware<BrowserToolbarState, Browse Toolbar.ButtonTappedExtra( source = SOURCE_ADDRESS_BAR, item = toolbarActionRecord.action, + extra = source.telemetryName(), ), ) @@ -162,3 +167,11 @@ class BrowserToolbarTelemetryMiddleware : Middleware<BrowserToolbarState, Browse } } } + +internal fun Source.AddressBar.telemetryName(): String = + when (this) { + Source.AddressBar.BrowserStart -> SOURCE_BROWSER_START + Source.AddressBar.PageStart -> SOURCE_PAGE_START + Source.AddressBar.PageEnd -> SOURCE_PAGE_END + Source.AddressBar.BrowserEnd -> SOURCE_BROWSER_END + } diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/toolbar/BrowserToolbarTelemetryMiddleware.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/toolbar/BrowserToolbarTelemetryMiddleware.kt @@ -22,7 +22,11 @@ import org.mozilla.fenix.telemetry.ACTION_MENU_CLICKED import org.mozilla.fenix.telemetry.ACTION_TAB_COUNTER_CLICKED import org.mozilla.fenix.telemetry.ACTION_TAB_COUNTER_LONG_CLICKED import org.mozilla.fenix.telemetry.SOURCE_ADDRESS_BAR +import org.mozilla.fenix.telemetry.SOURCE_BROWSER_END +import org.mozilla.fenix.telemetry.SOURCE_BROWSER_START import org.mozilla.fenix.telemetry.SOURCE_NAVIGATION_BAR +import org.mozilla.fenix.telemetry.SOURCE_PAGE_END +import org.mozilla.fenix.telemetry.SOURCE_PAGE_START /** * [Middleware] responsible for recording telemetry of actions triggered by compose toolbars. @@ -73,6 +77,7 @@ class BrowserToolbarTelemetryMiddleware : Middleware<BrowserToolbarState, Browse Toolbar.ButtonTappedExtra( source = SOURCE_ADDRESS_BAR, item = toolbarActionRecord.action, + extra = source.telemetryName(), ), ) @@ -88,3 +93,11 @@ class BrowserToolbarTelemetryMiddleware : Middleware<BrowserToolbarState, Browse } } } + +internal fun Source.AddressBar.telemetryName(): String = + when (this) { + Source.AddressBar.BrowserStart -> SOURCE_BROWSER_START + Source.AddressBar.PageStart -> SOURCE_PAGE_START + Source.AddressBar.PageEnd -> SOURCE_PAGE_END + Source.AddressBar.BrowserEnd -> SOURCE_BROWSER_END + } diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/telemetry/ToolbarTelemetryConstants.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/telemetry/ToolbarTelemetryConstants.kt @@ -8,6 +8,11 @@ const val SOURCE_CUSTOM_BAR = "custom_bar" const val SOURCE_NAVIGATION_BAR = "navigation_bar" const val SOURCE_ADDRESS_BAR = "url_bar" +const val SOURCE_BROWSER_START = "browser_start" +const val SOURCE_PAGE_START = "page_start" +const val SOURCE_PAGE_END = "page_end" +const val SOURCE_BROWSER_END = "browser_end" + const val ACTION_ADD_BOOKMARK_CLICKED = "add_bookmark" const val ACTION_ADD_NEW_PRIVATE_TAB = "add_new_private_tab" const val ACTION_ADD_NEW_TAB = "add_new_tab" diff --git a/mobile/android/fenix/app/src/test/java/org/mozilla/fenix/components/toolbar/BrowserToolbarTelemetryMiddlewareTest.kt b/mobile/android/fenix/app/src/test/java/org/mozilla/fenix/components/toolbar/BrowserToolbarTelemetryMiddlewareTest.kt @@ -181,6 +181,9 @@ class BrowserToolbarTelemetryMiddlewareTest { } assertEquals(item, last.extra?.getValue("item")) assertEquals(expectedSource, last.extra?.getValue("source")) + if (source is Source.AddressBar) { + assertEquals(source.telemetryName(), last.extra?.getValue("extra")) + } } private val buildStore = BrowserToolbarStore( diff --git a/mobile/android/fenix/app/src/test/java/org/mozilla/fenix/home/toolbar/BrowserToolbarTelemetryMiddlewareTest.kt b/mobile/android/fenix/app/src/test/java/org/mozilla/fenix/home/toolbar/BrowserToolbarTelemetryMiddlewareTest.kt @@ -87,6 +87,9 @@ class BrowserToolbarTelemetryMiddlewareTest { } assertEquals(item, last.extra?.get("item")) assertEquals(expectedSource, last.extra?.get("source")) + if (source is Source.AddressBar) { + assertEquals(source.telemetryName(), last.extra?.get("extra")) + } } private val buildStore = BrowserToolbarStore(