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;
+        }
+    }
 }