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} */