InCallActivity#isDialpadVisible() now returns the correct value.

Bug: 64657832
Test: manual/logging
PiperOrigin-RevId: 178824989
Change-Id: I202389123732c05680ba329313e889437fb4a806
diff --git a/java/com/android/incallui/InCallActivity.java b/java/com/android/incallui/InCallActivity.java
index 28ff7da..47b5986 100644
--- a/java/com/android/incallui/InCallActivity.java
+++ b/java/com/android/incallui/InCallActivity.java
@@ -35,7 +35,6 @@
 import android.support.annotation.NonNull;
 import android.support.annotation.Nullable;
 import android.support.annotation.VisibleForTesting;
-import android.support.v4.app.Fragment;
 import android.support.v4.app.FragmentManager;
 import android.support.v4.app.FragmentTransaction;
 import android.support.v4.content.res.ResourcesCompat;
@@ -787,6 +786,7 @@
       transaction.add(getDialpadContainerId(), new DialpadFragment(), Tags.DIALPAD_FRAGMENT);
     } else {
       transaction.show(dialpadFragment);
+      dialpadFragment.setUserVisibleHint(true);
     }
     transaction.commitAllowingStateLoss();
     dialpadFragmentManager.executePendingTransactions();
@@ -801,19 +801,20 @@
       return;
     }
 
-    Fragment dialpadFragment = dialpadFragmentManager.findFragmentByTag(Tags.DIALPAD_FRAGMENT);
+    DialpadFragment dialpadFragment = getDialpadFragment();
     if (dialpadFragment != null) {
       FragmentTransaction transaction = dialpadFragmentManager.beginTransaction();
       transaction.hide(dialpadFragment);
       transaction.commitAllowingStateLoss();
       dialpadFragmentManager.executePendingTransactions();
+      dialpadFragment.setUserVisibleHint(false);
     }
     updateNavigationBar(false /* isDialpadVisible */);
   }
 
   public boolean isDialpadVisible() {
     DialpadFragment dialpadFragment = getDialpadFragment();
-    return dialpadFragment != null && dialpadFragment.isVisible();
+    return dialpadFragment != null && dialpadFragment.getUserVisibleHint();
   }
 
   /** Returns the {@link DialpadFragment} that's shown by this activity, or {@code null} */