Hide keyboard only when scrolling happens

Bug: 179307221
Test: see attached video

Change-Id: I9b13c8f62122a6d7bf56a28c830be9a9dbfee52a
This commit is contained in:
Hyunyoung Song
2021-03-10 10:18:03 -08:00
parent af0d09b98b
commit a907a995c9
6 changed files with 17 additions and 10 deletions

View File

@@ -131,10 +131,9 @@ public class ExtendedEditText extends EditText {
public void reset() {
if (!TextUtils.isEmpty(getText())) {
setText("");
} else {
if (FeatureFlags.ENABLE_DEVICE_SEARCH.get()) {
return;
}
}
if (FeatureFlags.ENABLE_DEVICE_SEARCH.get()) {
return;
}
if (isFocused()) {
View nextFocus = focusSearch(View.FOCUS_DOWN);

View File

@@ -246,11 +246,7 @@ public class AllAppsContainerView extends SpringRelativeLayout implements DragSo
hideInput();
return false;
}
boolean shouldScroll = rv.shouldContainerScroll(ev, mLauncher.getDragLayer());
if (shouldScroll) {
hideInput();
}
return shouldScroll;
return rv.shouldContainerScroll(ev, mLauncher.getDragLayer());
}
@Override

View File

@@ -31,6 +31,7 @@ import android.util.Log;
import android.util.SparseIntArray;
import android.view.MotionEvent;
import android.view.View;
import android.view.WindowInsets;
import androidx.recyclerview.widget.RecyclerView;
@@ -188,6 +189,7 @@ public class AllAppsRecyclerView extends BaseRecyclerView {
case SCROLL_STATE_DRAGGING:
mgr.logger().sendToInteractionJankMonitor(
LAUNCHER_ALLAPPS_VERTICAL_SWIPE_BEGIN, this);
getWindowInsetsController().hide(WindowInsets.Type.ime());
break;
case SCROLL_STATE_IDLE:
mgr.logger().sendToInteractionJankMonitor(

View File

@@ -246,6 +246,7 @@ public class AllAppsTransitionController
* TODO: This logic should go in {@link LauncherState}
*/
private void onProgressAnimationEnd() {
if (FeatureFlags.ENABLE_DEVICE_SEARCH.get()) return;
if (Float.compare(mProgress, 1f) == 0) {
mAppsView.reset(false /* animate */);
}

View File

@@ -144,7 +144,7 @@ public class AllAppsSearchBarController
@Override
public void onFocusChange(View view, boolean hasFocus) {
if (!hasFocus) {
if (!hasFocus && !FeatureFlags.ENABLE_DEVICE_SEARCH.get()) {
mInput.hideKeyboard();
}
}

View File

@@ -77,6 +77,15 @@ public class StateManager<STATE_TYPE extends BaseState<STATE_TYPE>> {
return mCurrentStableState;
}
@Override
public String toString() {
return " StateManager(mLastStableState:" + mLastStableState
+ ", mCurrentStableState:" + mCurrentStableState
+ ", mState:" + mState
+ ", mRestState:" + mRestState
+ ", isInTransition:" + (mConfig.currentAnimation != null) + ")";
}
public void dump(String prefix, PrintWriter writer) {
writer.println(prefix + "StateManager:");
writer.println(prefix + "\tmLastStableState:" + mLastStableState);