diff --git a/app/src/main/java/org/mozilla/fenix/HomeActivity.kt b/app/src/main/java/org/mozilla/fenix/HomeActivity.kt index ce79e1ac33..e07844bd90 100644 --- a/app/src/main/java/org/mozilla/fenix/HomeActivity.kt +++ b/app/src/main/java/org/mozilla/fenix/HomeActivity.kt @@ -92,6 +92,7 @@ import org.mozilla.fenix.library.history.HistoryFragmentDirections import org.mozilla.fenix.library.recentlyclosed.RecentlyClosedFragmentDirections import org.mozilla.fenix.perf.Performance import org.mozilla.fenix.perf.PerformanceInflater +import org.mozilla.fenix.perf.ProfilerMarkers import org.mozilla.fenix.perf.StartupTimeline import org.mozilla.fenix.search.SearchDialogFragmentDirections import org.mozilla.fenix.session.PrivateNotificationService @@ -327,6 +328,8 @@ open class HomeActivity : LocaleAwareAppCompatActivity(), NavHostActivity { breadcrumb( message = "onStart()" ) + + ProfilerMarkers.homeActivityOnStart(rootContainer, components.core.engine.profiler) } override fun onStop() { diff --git a/app/src/main/java/org/mozilla/fenix/perf/ProfilerMarkers.kt b/app/src/main/java/org/mozilla/fenix/perf/ProfilerMarkers.kt new file mode 100644 index 0000000000..783992303f --- /dev/null +++ b/app/src/main/java/org/mozilla/fenix/perf/ProfilerMarkers.kt @@ -0,0 +1,22 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +package org.mozilla.fenix.perf + +import android.view.View +import androidx.core.view.doOnPreDraw +import mozilla.components.concept.base.profiler.Profiler + +/** + * A container for functions for when adding a profiler marker is less readable + * (e.g. multiple lines, more advanced logic). + */ +object ProfilerMarkers { + + fun homeActivityOnStart(rootContainer: View, profiler: Profiler?) { + rootContainer.doOnPreDraw { + profiler?.addMarker("onPreDraw", "expected first frame via HomeActivity.onStart") + } + } +}