Added logging to aid debugging of issue where dialer shows blank screen.

Bug: 64129606
Test: none
PiperOrigin-RevId: 167174480
Change-Id: I4b5a494b0b334b42ee053c4d4d1e81d7699461d0
diff --git a/java/com/android/dialer/app/DialtactsActivity.java b/java/com/android/dialer/app/DialtactsActivity.java
index 01bdfc2..3e6b50c 100644
--- a/java/com/android/dialer/app/DialtactsActivity.java
+++ b/java/com/android/dialer/app/DialtactsActivity.java
@@ -516,7 +516,7 @@
 
   @Override
   protected void onResume() {
-    LogUtil.d("DialtactsActivity.onResume", "");
+    LogUtil.enterBlock("DialtactsActivity.onResume");
     Trace.beginSection(TAG + " onResume");
     super.onResume();
 
@@ -529,11 +529,14 @@
 
     mStateSaved = false;
     if (mFirstLaunch) {
+      LogUtil.i("DialtactsActivity.onResume", "mFirstLaunch true, displaying fragment");
       displayFragment(getIntent());
     } else if (!phoneIsInUse() && mInCallDialpadUp) {
+      LogUtil.i("DialtactsActivity.onResume", "phone not in use, hiding dialpad fragment");
       hideDialpadFragment(false, true);
       mInCallDialpadUp = false;
     } else if (mShowDialpadOnResume) {
+      LogUtil.i("DialtactsActivity.onResume", "showing dialpad on resume");
       showDialpadFragment(false);
       mShowDialpadOnResume = false;
     } else {
@@ -662,10 +665,11 @@
 
   @Override
   public void onAttachFragment(final Fragment fragment) {
-    LogUtil.d("DialtactsActivity.onAttachFragment", "fragment: %s", fragment);
+    LogUtil.i("DialtactsActivity.onAttachFragment", "fragment: %s", fragment);
     if (fragment instanceof DialpadFragment) {
       mDialpadFragment = (DialpadFragment) fragment;
       if (!mIsDialpadShown && !mShowDialpadOnResume) {
+        LogUtil.i("DialtactsActivity.onAttachFragment", "hiding dialpad fragment");
         final FragmentTransaction transaction = getFragmentManager().beginTransaction();
         transaction.hide(mDialpadFragment);
         transaction.commit();
@@ -830,8 +834,13 @@
    * @see #onDialpadShown
    */
   private void showDialpadFragment(boolean animate) {
-    LogUtil.d("DialtactActivity.showDialpadFragment", "animate: %b", animate);
-    if (mIsDialpadShown || mStateSaved) {
+    LogUtil.i("DialtactActivity.showDialpadFragment", "animate: %b", animate);
+    if (mIsDialpadShown) {
+      LogUtil.i("DialtactsActivity.showDialpadFragment", "dialpad already shown");
+      return;
+    }
+    if (mStateSaved) {
+      LogUtil.i("DialtactsActivity.showDialpadFragment", "state already saved");
       return;
     }
     mIsDialpadShown = true;
@@ -875,7 +884,7 @@
   /** Callback from child DialpadFragment when the dialpad is shown. */
   @Override
   public void onDialpadShown() {
-    LogUtil.d("DialtactsActivity.onDialpadShown", "");
+    LogUtil.enterBlock("DialtactsActivity.onDialpadShown");
     Assert.isNotNull(mDialpadFragment);
     if (mDialpadFragment.getAnimate()) {
       Assert.isNotNull(mDialpadFragment.getView()).startAnimation(mSlideIn);
@@ -894,6 +903,7 @@
    */
   @Override
   public void hideDialpadFragment(boolean animate, boolean clearDialpad) {
+    LogUtil.enterBlock("DialtactsActivity.hideDialpadFragment");
     if (mDialpadFragment == null || mDialpadFragment.getView() == null) {
       return;
     }
@@ -1081,11 +1091,17 @@
       return;
     }
 
-    final boolean showDialpadChooser =
+    boolean showDialpadChooser =
         !ACTION_SHOW_TAB.equals(intent.getAction())
             && phoneIsInUse()
             && !DialpadFragment.isAddCallMode(intent);
-    if (showDialpadChooser || (intent.getData() != null && isDialIntent(intent))) {
+    boolean isDialIntent = intent.getData() != null && isDialIntent(intent);
+    if (showDialpadChooser || isDialIntent) {
+      LogUtil.i(
+          "DialtactsActivity.displayFragment",
+          "showing dialpad fragment (showDialpadChooser: %b, isDialIntent: %b)",
+          showDialpadChooser,
+          isDialIntent);
       showDialpadFragment(false);
       mDialpadFragment.setStartedFromNewIntent(true);
       if (showDialpadChooser && !mDialpadFragment.isVisible()) {
@@ -1109,6 +1125,7 @@
 
   @Override
   public void onNewIntent(Intent newIntent) {
+    LogUtil.enterBlock("DialtactsActivity.onNewIntent");
     setIntent(newIntent);
     mFirstLaunch = true;
 
@@ -1135,17 +1152,19 @@
 
   /** Shows the search fragment */
   private void enterSearchUi(boolean smartDialSearch, String query, boolean animate) {
+    LogUtil.i("DialtactsActivity.enterSearchUi", "smart dial: %b", smartDialSearch);
     if (mStateSaved || getFragmentManager().isDestroyed()) {
       // Weird race condition where fragment is doing work after the activity is destroyed
       // due to talkback being on (b/10209937). Just return since we can't do any
       // constructive here.
+      LogUtil.i(
+          "DialtactsActivity.enterSearchUi",
+          "not entering search UI (mStateSaved: %b, isDestroyed: %b)",
+          mStateSaved,
+          getFragmentManager().isDestroyed());
       return;
     }
 
-    if (DEBUG) {
-      LogUtil.v("DialtactsActivity.enterSearchUi", "smart dial " + smartDialSearch);
-    }
-
     final FragmentTransaction transaction = getFragmentManager().beginTransaction();
     if (mInDialpadSearch && mSmartDialSearchFragment != null) {
       transaction.remove(mSmartDialSearchFragment);
@@ -1232,6 +1251,8 @@
 
   /** Hides the search fragment */
   private void exitSearchUi() {
+    LogUtil.enterBlock("DialtactsActivity.exitSearchUi");
+
     // See related bug in enterSearchUI();
     if (getFragmentManager().isDestroyed() || mStateSaved) {
       return;
diff --git a/java/com/android/dialer/app/calllog/CallLogFragment.java b/java/com/android/dialer/app/calllog/CallLogFragment.java
index 6d4aea9..441cb4a 100644
--- a/java/com/android/dialer/app/calllog/CallLogFragment.java
+++ b/java/com/android/dialer/app/calllog/CallLogFragment.java
@@ -201,7 +201,7 @@
 
   @Override
   public void onCreate(Bundle state) {
-    LogUtil.d("CallLogFragment.onCreate", toString());
+    LogUtil.enterBlock("CallLogFragment.onCreate");
     super.onCreate(state);
     mRefreshDataRequired = true;
     if (state != null) {
@@ -362,6 +362,7 @@
 
   @Override
   public void onActivityCreated(Bundle savedInstanceState) {
+    LogUtil.enterBlock("CallLogFragment.onActivityCreated");
     super.onActivityCreated(savedInstanceState);
     setupData();
     updateSelectAllState(savedInstanceState);
@@ -384,7 +385,7 @@
 
   @Override
   public void onResume() {
-    LogUtil.d("CallLogFragment.onResume", toString());
+    LogUtil.enterBlock("CallLogFragment.onResume");
     super.onResume();
     final boolean hasReadCallLogPermission =
         PermissionsUtil.hasPermission(getActivity(), READ_CALL_LOG);
@@ -411,7 +412,7 @@
 
   @Override
   public void onPause() {
-    LogUtil.d("CallLogFragment.onPause", toString());
+    LogUtil.enterBlock("CallLogFragment.onPause");
     cancelDisplayUpdate();
     mAdapter.onPause();
     super.onPause();
@@ -419,6 +420,7 @@
 
   @Override
   public void onStart() {
+    LogUtil.enterBlock("CallLogFragment.onStart");
     super.onStart();
     CequintCallerIdManager cequintCallerIdManager = null;
     if (CequintCallerIdManager.isCequintCallerIdEnabled(getContext())) {
@@ -429,6 +431,7 @@
 
   @Override
   public void onStop() {
+    LogUtil.enterBlock("CallLogFragment.onStop");
     super.onStop();
     mAdapter.onStop();
     mContactInfoCache.stop();
@@ -436,7 +439,7 @@
 
   @Override
   public void onDestroy() {
-    LogUtil.d("CallLogFragment.onDestroy", toString());
+    LogUtil.enterBlock("CallLogFragment.onDestroy");
     mAdapter.changeCursor(null);
 
     getActivity().getContentResolver().unregisterContentObserver(mCallLogObserver);
@@ -552,6 +555,7 @@
           "Requesting permissions: " + Arrays.toString(deniedPermissions));
       FragmentCompat.requestPermissions(this, deniedPermissions, PHONE_PERMISSIONS_REQUEST_CODE);
     } else if (!mIsCallLogActivity) {
+      LogUtil.i("CallLogFragment.onEmptyViewActionButtonClicked", "showing dialpad");
       // Show dialpad if we are not in the call log activity.
       ((HostInterface) activity).showDialpad();
     }
diff --git a/java/com/android/dialer/dialpadview/DialpadFragment.java b/java/com/android/dialer/dialpadview/DialpadFragment.java
index c15014f..e22250c 100644
--- a/java/com/android/dialer/dialpadview/DialpadFragment.java
+++ b/java/com/android/dialer/dialpadview/DialpadFragment.java
@@ -317,6 +317,7 @@
   @Override
   public void onCreate(Bundle state) {
     Trace.beginSection(TAG + " onCreate");
+    LogUtil.enterBlock("DialpadFragment.onCreate");
     super.onCreate(state);
 
     mFirstLaunch = state == null;
@@ -352,6 +353,7 @@
   @Override
   public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedState) {
     Trace.beginSection(TAG + " onCreateView");
+    LogUtil.enterBlock("DialpadFragment.onCreateView");
     Trace.beginSection(TAG + " inflate view");
     View fragmentView = inflater.inflate(R.layout.dialpad_fragment, container, false);
     Trace.endSection();
@@ -393,6 +395,7 @@
             (v, event) -> {
               if (isDigitsEmpty()) {
                 if (getActivity() != null) {
+                  LogUtil.i("DialpadFragment.onCreateView", "dialpad spacer touched");
                   return ((HostInterface) getActivity()).onDialpadSpacerTouchWithEmptyQuery();
                 }
                 return true;
@@ -486,12 +489,16 @@
    * screen to enter "Add Call" mode, this method will show correct UI for the mode.
    */
   private void configureScreenFromIntent(Activity parent) {
+    LogUtil.enterBlock("DialpadFragment.configureScreenFromIntent");
+
     // If we were not invoked with a DIAL intent
     if (!Intent.ACTION_DIAL.equals(parent.getIntent().getAction())) {
       setStartedFromNewIntent(false);
       return;
     }
 
+    LogUtil.i("DialpadFragment.configureScreenFromIntent", "dial intent");
+
     // See if we were invoked with a DIAL intent. If we were, fill in the appropriate
     // digits in the dialer field.
     Intent intent = parent.getIntent();
@@ -521,6 +528,7 @@
       if (!(mStartedFromNewIntent && digitsFilled)) {
 
         final String action = intent.getAction();
+        LogUtil.i("DialpadFragment.configureScreenFromIntent", "action: %s", action);
         if (Intent.ACTION_DIAL.equals(action)
             || Intent.ACTION_VIEW.equals(action)
             || Intent.ACTION_MAIN.equals(action)) {
@@ -532,6 +540,10 @@
         }
       }
     }
+    LogUtil.i(
+        "DialpadFragment.configureScreenFromIntent",
+        "needToShowDialpadChooser? %b",
+        needToShowDialpadChooser);
     showDialpadChooser(needToShowDialpadChooser);
     setStartedFromNewIntent(false);
   }
@@ -595,7 +607,7 @@
 
   @Override
   public void onStart() {
-    LogUtil.d("DialpadFragment.onStart", "first launch: %b", mFirstLaunch);
+    LogUtil.i("DialpadFragment.onStart", "first launch: %b", mFirstLaunch);
     Trace.beginSection(TAG + " onStart");
     super.onStart();
     // if the mToneGenerator creation fails, just continue without it.  It is
@@ -622,7 +634,7 @@
 
   @Override
   public void onResume() {
-    LogUtil.d("DialpadFragment.onResume", "");
+    LogUtil.enterBlock("DialpadFragment.onResume");
     Trace.beginSection(TAG + " onResume");
     super.onResume();
 
@@ -662,6 +674,7 @@
     stopWatch.lap("fdin");
 
     if (!isPhoneInUse()) {
+      LogUtil.i("DialpadFragment.onResume", "phone not in use");
       // A sanity-check: the "dialpad chooser" UI should not be visible if the phone is idle.
       showDialpadChooser(false);
     }
@@ -711,6 +724,7 @@
 
   @Override
   public void onStop() {
+    LogUtil.enterBlock("DialpadFragment.onStop");
     super.onStop();
 
     synchronized (mToneGeneratorLock) {
@@ -991,6 +1005,7 @@
   }
 
   private void hideAndClearDialpad(boolean animate) {
+    LogUtil.enterBlock("DialpadFragment.hideAndClearDialpad");
     FragmentUtils.getParentUnsafe(this, DialpadListener.class).hideDialpadFragment(animate, true);
   }
 
@@ -1194,8 +1209,10 @@
     } else {
       LogUtil.i("DialpadFragment.showDialpadChooser", "Displaying normal Dialer UI.");
       if (mDialpadView != null) {
+        LogUtil.i("DialpadFragment.showDialpadChooser", "mDialpadView not null");
         mDialpadView.setVisibility(View.VISIBLE);
       } else {
+        LogUtil.i("DialpadFragment.showDialpadChooser", "mDialpadView null");
         mDigits.setVisibility(View.VISIBLE);
       }
 
@@ -1681,6 +1698,7 @@
         // one of the choices, which would be confusing.  (But at
         // least that's better than leaving the dialpad chooser
         // onscreen, but useless...)
+        LogUtil.i("CallStateReceiver.onReceive", "hiding dialpad chooser, state: %s", state);
         showDialpadChooser(false);
       }
     }