Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8d65ab8c authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Hide IME when scrolling happens on all apps screen/scroller" into ub-launcher3-master

parents a96f44b8 b9f9d69f
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;

import com.android.launcher3.config.FeatureFlags;
import com.android.launcher3.util.UiThreadHelper;


@@ -130,6 +131,10 @@ public class ExtendedEditText extends EditText {
    public void reset() {
        if (!TextUtils.isEmpty(getText())) {
            setText("");
        } else {
            if (FeatureFlags.ENABLE_DEVICE_SEARCH.get()) {
                return;
            }
        }
        if (isFocused()) {
            View nextFocus = focusSearch(View.FOCUS_DOWN);
+19 −2
Original line number Diff line number Diff line
@@ -44,6 +44,7 @@ import android.view.WindowInsets;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.StringRes;
import androidx.core.os.BuildCompat;
import androidx.recyclerview.widget.DefaultItemAnimator;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
@@ -110,7 +111,7 @@ public class AllAppsContainerView extends SpringRelativeLayout implements DragSo

    private final MultiValueAlpha mMultiValueAlpha;

    Rect mInsets = new Rect();
    private Rect mInsets = new Rect();

    public AllAppsContainerView(Context context) {
        this(context, null);
@@ -206,6 +207,17 @@ public class AllAppsContainerView extends SpringRelativeLayout implements DragSo
        mAH[AdapterHolder.WORK].applyPadding();
    }

    private void hideInput() {
        if (!BuildCompat.isAtLeastR() || !FeatureFlags.ENABLE_DEVICE_SEARCH.get()) return;

        WindowInsets insets = getRootWindowInsets();
        if (insets == null) return;

        if (insets.isVisible(WindowInsets.Type.ime())) {
            getWindowInsetsController().hide(WindowInsets.Type.ime());
        }
    }

    /**
     * Returns whether the view itself will handle the touch event or not.
     */
@@ -221,9 +233,14 @@ public class AllAppsContainerView extends SpringRelativeLayout implements DragSo
        }
        if (rv.getScrollbar().getThumbOffsetY() >= 0 &&
                mLauncher.getDragLayer().isEventOverView(rv.getScrollbar(), ev)) {
            hideInput();
            return false;
        }
        return rv.shouldContainerScroll(ev, mLauncher.getDragLayer());
        boolean shouldScroll = rv.shouldContainerScroll(ev, mLauncher.getDragLayer());
        if (shouldScroll) {
            hideInput();
        }
        return shouldScroll;
    }

    @Override