diff --git a/app/src/main/java/org/mozilla/fenix/HomeActivity.kt b/app/src/main/java/org/mozilla/fenix/HomeActivity.kt index c35e906ed..2112a3f3b 100644 --- a/app/src/main/java/org/mozilla/fenix/HomeActivity.kt +++ b/app/src/main/java/org/mozilla/fenix/HomeActivity.kt @@ -522,6 +522,7 @@ open class HomeActivity : LocaleAwareAppCompatActivity(), NavHostActivity { engine: SearchEngine?, forceSearch: Boolean ) { + val startTime = components.core.engine.profiler?.getProfilerTime() val mode = browsingModeManager.mode val loadUrlUseCase = if (newTab) { @@ -549,6 +550,12 @@ open class HomeActivity : LocaleAwareAppCompatActivity(), NavHostActivity { } else { searchUseCase.invoke(searchTermOrURL) } + + if (components.core.engine.profiler?.isProfilerActive() == true) { + // Wrapping the `addMarker` method with `isProfilerActive` even though it's no-op when + // profiler is not active. That way, `text` argument will not create a string builder all the time. + components.core.engine.profiler?.addMarker("HomeActivity.load", startTime, "newTab: $newTab") + } } override fun attachBaseContext(base: Context) { diff --git a/app/src/main/java/org/mozilla/fenix/tabtray/TabTrayController.kt b/app/src/main/java/org/mozilla/fenix/tabtray/TabTrayController.kt index 72718208c..27ac903cd 100644 --- a/app/src/main/java/org/mozilla/fenix/tabtray/TabTrayController.kt +++ b/app/src/main/java/org/mozilla/fenix/tabtray/TabTrayController.kt @@ -38,9 +38,11 @@ class DefaultTabTrayController( private val registerCollectionStorageObserver: () -> Unit ) : TabTrayController { override fun onNewTabTapped(private: Boolean) { + val startTime = activity.components.core.engine.profiler?.getProfilerTime() activity.browsingModeManager.mode = BrowsingMode.fromBoolean(private) navController.navigate(TabTrayDialogFragmentDirections.actionGlobalHome(focusOnAddressBar = true)) dismissTabTray() + activity.components.core.engine.profiler?.addMarker("DefaultTabTrayController.onNewTabTapped", startTime) } override fun onTabTrayDismissed() {