diff options
author | Yorke Lee <yorkelee@google.com> | 2014-05-29 07:18:42 -0700 |
---|---|---|
committer | Yorke Lee <yorkelee@google.com> | 2014-05-29 14:56:09 -0700 |
commit | 710709da8389d401d3089bbf9836dfca527f15c3 (patch) | |
tree | 0fdef1182179000b50b569b0ca68792e3b9e09d9 /src | |
parent | c987e00fa84f8997c07e8cb2d413897ae1d41b14 (diff) |
Fix for search UI remaining on screen after call is made
Also slide up the action bar after it is faded out - this is so that
it doesn't remain in the same position and intercept touches
Remove unneeded FragmentTransaction fadeout animation in exitSearchUI
that was causing jank when returning to the favorites screen
Bug: 15120649
Change-Id: Idcf96c2339603af09e1773729994d267158f70a0
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/dialer/DialtactsActivity.java | 11 | ||||
-rw-r--r-- | src/com/android/dialer/list/ListsFragment.java | 10 | ||||
-rw-r--r-- | src/com/android/dialer/widget/ActionBarController.java | 16 | ||||
-rw-r--r-- | src/com/android/dialer/widget/SearchEditTextLayout.java | 6 |
4 files changed, 36 insertions, 7 deletions
diff --git a/src/com/android/dialer/DialtactsActivity.java b/src/com/android/dialer/DialtactsActivity.java index 82b78381c..b7772c112 100644 --- a/src/com/android/dialer/DialtactsActivity.java +++ b/src/com/android/dialer/DialtactsActivity.java @@ -263,10 +263,11 @@ public class DialtactsActivity extends TransactionSafeActivity implements View.O // no need to do anything here. return; } - mSearchQuery = newText; if (DEBUG) { Log.d(TAG, "onTextChange for mSearchView called with new query: " + newText); + Log.d(TAG, "Previous Query: " + mSearchQuery); } + mSearchQuery = newText; // Show search fragment only when the query string is changed to non-empty text. if (!TextUtils.isEmpty(newText)) { @@ -687,8 +688,11 @@ public class DialtactsActivity extends TransactionSafeActivity implements View.O } private void hideDialpadAndSearchUi() { - mSearchView.setText(null); - hideDialpadFragment(false, true); + if (mIsDialpadShown) { + hideDialpadFragment(false, true); + } else { + exitSearchUi(); + } } private void hideInputMethod(View view) { @@ -873,7 +877,6 @@ public class DialtactsActivity extends TransactionSafeActivity implements View.O setNotInSearchUi(); final FragmentTransaction transaction = getFragmentManager().beginTransaction(); - transaction.setCustomAnimations(0, android.R.animator.fade_out); if (mSmartDialSearchFragment != null) { transaction.remove(mSmartDialSearchFragment); } diff --git a/src/com/android/dialer/list/ListsFragment.java b/src/com/android/dialer/list/ListsFragment.java index 229f7f3cc..30e0e0fa0 100644 --- a/src/com/android/dialer/list/ListsFragment.java +++ b/src/com/android/dialer/list/ListsFragment.java @@ -52,6 +52,9 @@ import java.util.ArrayList; public class ListsFragment extends Fragment implements CallLogQueryHandler.Listener, CallLogAdapter.CallFetcher, ViewPager.OnPageChangeListener { + private static final boolean DEBUG = DialtactsActivity.DEBUG; + private static final String TAG = "ListsFragment"; + public static final int TAB_INDEX_SPEED_DIAL = 0; public static final int TAB_INDEX_RECENTS = 1; public static final int TAB_INDEX_ALL_CONTACTS = 2; @@ -154,11 +157,17 @@ public class ListsFragment extends Fragment implements CallLogQueryHandler.Liste @Override public void onPanelOpened(View panel) { + if (DEBUG) { + Log.d(TAG, "onPanelOpened"); + } mIsPanelOpen = true; } @Override public void onPanelClosed(View panel) { + if (DEBUG) { + Log.d(TAG, "onPanelClosed"); + } mIsPanelOpen = false; } }; @@ -232,7 +241,6 @@ public class ListsFragment extends Fragment implements CallLogQueryHandler.Liste // Wipe the cache to refresh the call shortcut item. This is not that expensive because // it only contains one item. mCallLogAdapter.invalidateCache(); - mActionBar = null; super.onPause(); } diff --git a/src/com/android/dialer/widget/ActionBarController.java b/src/com/android/dialer/widget/ActionBarController.java index 49506f4d6..67037a28b 100644 --- a/src/com/android/dialer/widget/ActionBarController.java +++ b/src/com/android/dialer/widget/ActionBarController.java @@ -7,6 +7,8 @@ import android.animation.ValueAnimator.AnimatorUpdateListener; import android.os.Bundle; import android.util.Log; +import com.android.contacts.common.animation.AnimUtils; +import com.android.contacts.common.animation.AnimUtils.AnimationCallback; import com.android.dialer.DialtactsActivity; /** @@ -26,6 +28,18 @@ public class ActionBarController { private boolean mIsActionBarSlidUp; + private final AnimationCallback mFadeOutCallback = new AnimationCallback() { + @Override + public void onAnimationEnd() { + slideActionBarUp(false); + } + + @Override + public void onAnimationCancel() { + slideActionBarUp(false); + } + }; + public interface ActivityUi { public boolean isInSearchUi(); public boolean hasSearchQuery(); @@ -127,7 +141,7 @@ public class ActionBarController { slideActionBarUp(true); } else { // From the lists fragment - mSearchBox.fadeOut(); + mSearchBox.fadeOut(mFadeOutCallback); } } diff --git a/src/com/android/dialer/widget/SearchEditTextLayout.java b/src/com/android/dialer/widget/SearchEditTextLayout.java index ef3ddcc6e..311d2afd1 100644 --- a/src/com/android/dialer/widget/SearchEditTextLayout.java +++ b/src/com/android/dialer/widget/SearchEditTextLayout.java @@ -123,7 +123,11 @@ public class SearchEditTextLayout extends FrameLayout { } public void fadeOut() { - AnimUtils.fadeOut(this, ANIMATION_DURATION); + fadeOut(null); + } + + public void fadeOut(AnimUtils.AnimationCallback callback) { + AnimUtils.fadeOut(this, ANIMATION_DURATION, callback); mIsFadedOut = true; } |