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/DialpadFragment.java b/java/com/android/incallui/DialpadFragment.java
index 2f3a68c..b2aacf7 100644
--- a/java/com/android/incallui/DialpadFragment.java
+++ b/java/com/android/incallui/DialpadFragment.java
@@ -202,15 +202,6 @@
     mDtmfDialerField.setText(PhoneNumberUtilsCompat.createTtsSpannable(text));
   }
 
-  @Override
-  public void setVisible(boolean on) {
-    if (on) {
-      getView().setVisibility(View.VISIBLE);
-    } else {
-      getView().setVisibility(View.INVISIBLE);
-    }
-  }
-
   /** Starts the slide up animation for the Dialpad keys when the Dialpad is revealed. */
   public void animateShowDialpad() {
     final DialpadView dialpadView = (DialpadView) getView().findViewById(R.id.dialpad_view);
diff --git a/java/com/android/incallui/DialpadPresenter.java b/java/com/android/incallui/DialpadPresenter.java
index 7a784c2..002fefc 100644
--- a/java/com/android/incallui/DialpadPresenter.java
+++ b/java/com/android/incallui/DialpadPresenter.java
@@ -84,8 +84,6 @@
 
   public interface DialpadUi extends Ui {
 
-    void setVisible(boolean on);
-
     void appendDigitsToField(char digit);
   }
 }
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} */