Reduced jank when placing a call from search UI.
I accidently made the search/dialtacts UI TOO performant and everything was
happening too quickly. Postponed closing the dialpad and exiting search until
onPause, but immediately close the keyboard so it isn't visible over the in
call ui.
Bug: 69313203,68857994
Test: see video
PiperOrigin-RevId: 176531801
Change-Id: I52729c451d46ad00ac87c47f189134694554d33a
diff --git a/java/com/android/dialer/app/DialtactsActivity.java b/java/com/android/dialer/app/DialtactsActivity.java
index d9a63fa..755b335 100644
--- a/java/com/android/dialer/app/DialtactsActivity.java
+++ b/java/com/android/dialer/app/DialtactsActivity.java
@@ -907,8 +907,7 @@
@Override
public void onCallPlacedFromDialpad() {
- hideDialpadFragment(false /* animate */, true /*clearDialpad */);
- exitSearchUi();
+ mClearSearchOnPause = true;
}
@Override
@@ -1021,9 +1020,8 @@
private void hideDialpadAndSearchUi() {
if (mIsDialpadShown) {
hideDialpadFragment(false, true);
- } else {
- exitSearchUi();
}
+ exitSearchUi();
}
private void prepareVoiceSearchButton() {
@@ -1678,11 +1676,9 @@
}
@Override
- public void onCallPlaced() {
- if (mIsDialpadShown) {
- hideDialpadFragment(false, true);
- }
- exitSearchUi();
+ public void onCallPlacedFromSearch() {
+ DialerUtils.hideInputMethod(mParentLayout);
+ mClearSearchOnPause = true;
}
protected int getPreviouslySelectedTabIndex() {
diff --git a/java/com/android/dialer/searchfragment/list/NewSearchFragment.java b/java/com/android/dialer/searchfragment/list/NewSearchFragment.java
index df27146..9a96b4a 100644
--- a/java/com/android/dialer/searchfragment/list/NewSearchFragment.java
+++ b/java/com/android/dialer/searchfragment/list/NewSearchFragment.java
@@ -507,7 +507,7 @@
new CallIntentBuilder(phoneNumber, callSpecificAppData)
.setIsVideoCall(isVideoCall)
.setAllowAssistedDial(allowAssistedDial));
- FragmentUtils.getParentUnsafe(this, SearchFragmentListener.class).onCallPlaced();
+ FragmentUtils.getParentUnsafe(this, SearchFragmentListener.class).onCallPlacedFromSearch();
}
@Override
@@ -516,7 +516,7 @@
.logImpression(DialerImpression.Type.LIGHTBRINGER_VIDEO_REQUESTED_FROM_SEARCH);
Intent intent = DuoComponent.get(getContext()).getDuo().getIntent(getContext(), phoneNumber);
getActivity().startActivityForResult(intent, ActivityRequestCodes.DIALTACTS_DUO);
- FragmentUtils.getParentUnsafe(this, SearchFragmentListener.class).onCallPlaced();
+ FragmentUtils.getParentUnsafe(this, SearchFragmentListener.class).onCallPlacedFromSearch();
}
@Override
@@ -536,6 +536,6 @@
boolean onSearchListTouch(MotionEvent event);
/** Called when a call is placed from the search fragment. */
- void onCallPlaced();
+ void onCallPlacedFromSearch();
}
}