Report fully drawn in CarLauncher.
This will generate a log entry to enable startup time diagnostics.
Fixes: 135195601
Test: manual - build and deploy, verify "Fully drawn" appears in logs.
Change-Id: I77c7967d1ca8dce29cf3b6e50db587ba9db65546
(cherry picked from commit 1889901a6875126a802f3442f9109389835c9646)
diff --git a/src/com/android/car/carlauncher/CarLauncher.java b/src/com/android/car/carlauncher/CarLauncher.java
index eae95db..3f9988c 100644
--- a/src/com/android/car/carlauncher/CarLauncher.java
+++ b/src/com/android/car/carlauncher/CarLauncher.java
@@ -60,12 +60,16 @@
private boolean mActivityViewReady = false;
private boolean mIsStarted = false;
+ /** Set to {@code true} once we've logged that the Activity is fully drawn. */
+ private boolean mIsReadyLogged = false;
+
private final ActivityView.StateCallback mActivityViewCallback =
new ActivityView.StateCallback() {
@Override
public void onActivityViewReady(ActivityView view) {
mActivityViewReady = true;
startMapsInActivityView();
+ maybeLogReady();
}
@Override
@@ -124,6 +128,7 @@
protected void onStart() {
super.onStart();
mIsStarted = true;
+ maybeLogReady();
}
@Override
@@ -185,4 +190,12 @@
}
fragmentTransaction.commitNow();
}
+
+ /** Logs that the Activity is ready. Used for startup time diagnostics. */
+ private void maybeLogReady() {
+ if (mActivityViewReady && !mIsReadyLogged) {
+ reportFullyDrawn();
+ mIsReadyLogged = true;
+ }
+ }
}