Hide dialpad fragment and exit search ui when phone number selected
Bug: 10328290
Change-Id: I3fc560f0727c493ae5f051320ea6abe4715f0e79
diff --git a/src/com/android/dialer/DialtactsActivity.java b/src/com/android/dialer/DialtactsActivity.java
index 499ff31..5826afd 100644
--- a/src/com/android/dialer/DialtactsActivity.java
+++ b/src/com/android/dialer/DialtactsActivity.java
@@ -181,12 +181,14 @@
// CallLog screen (search UI will be automatically exited).
PhoneNumberInteraction.startInteractionForPhoneCall(
DialtactsActivity.this, dataUri, getCallOrigin());
+ hideDialpadAndSearchUi();
}
@Override
public void onCallNumberDirectly(String phoneNumber) {
Intent intent = CallUtil.getCallIntent(phoneNumber, getCallOrigin());
startActivity(intent);
+ hideDialpadAndSearchUi();
}
@Override
@@ -430,7 +432,12 @@
ft.commit();
}
- private void hideDialpadFragment(boolean animate) {
+ private void hideDialpadFragment(boolean animate, boolean clearDialpad) {
+ if (mDialpadFragment == null) return;
+ if (clearDialpad) {
+ mDialpadFragment.clearDialpad();
+ }
+ if (!mDialpadFragment.isVisible()) return;
mDialpadFragment.setAdjustTranslationForAnimation(animate);
final FragmentTransaction ft = getFragmentManager().beginTransaction();
if (animate) {
@@ -459,12 +466,6 @@
});
}
- private void hideDialpadFragmentIfNecessary() {
- if (mDialpadFragment != null && mDialpadFragment.isVisible()) {
- hideDialpadFragment(true);
- }
- }
-
final AnimatorListener mHideListener = new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
@@ -793,9 +794,10 @@
@Override
public void onBackPressed() {
if (mDialpadFragment != null && mDialpadFragment.isVisible()) {
- hideDialpadFragment(true);
+ hideDialpadFragment(true, false);
} else if (mInSearchUi) {
mSearchView.setText(null);
+ mDialpadFragment.clearDialpad();
} else if (isTaskRoot()) {
// Instead of stopping, simply push this to the back of the stack.
// This is only done when running at the top of the stack;
@@ -830,7 +832,7 @@
@Override
public void onListFragmentScrollStateChange(int scrollState) {
if (scrollState == OnScrollListener.SCROLL_STATE_TOUCH_SCROLL) {
- hideDialpadFragmentIfNecessary();
+ hideDialpadFragment(true, false);
hideInputMethod(getCurrentFocus());
}
}