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

Commit a09cfe23 authored by Adam Cohen's avatar Adam Cohen
Browse files

Fix issue where AllAppsContainerView was blocking touches to part of the home screen

=> After the scrubber was engaged, it would continue to intercept touches forever
   (seems like a long standing issue)
=> Also fixed issue where the All Apps scrubber could be engaged from the Home / Overview
   states

b/133265591
b/132716177

Change-Id: I8c7b9d45be65216f2f1a69f69ab1636accd812c0
parent 9fb137bb
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -41,6 +41,7 @@ import com.android.launcher3.Insettable;
import com.android.launcher3.InsettableFrameLayout;
import com.android.launcher3.ItemInfo;
import com.android.launcher3.Launcher;
import com.android.launcher3.LauncherState;
import com.android.launcher3.R;
import com.android.launcher3.TestProtocol;
import com.android.launcher3.Utilities;
@@ -193,11 +194,18 @@ public class AllAppsContainerView extends SpringRelativeLayout implements DragSo

    @Override
    public boolean onInterceptTouchEvent(MotionEvent ev) {

        // The AllAppsContainerView houses the QSB and is hence visible from the Workspace
        // Overview states. We shouldn't intercept for the scrubber in these cases.
        if (!mLauncher.isInState(LauncherState.ALL_APPS)) return false;

        if (ev.getAction() == MotionEvent.ACTION_DOWN) {
            AllAppsRecyclerView rv = getActiveRecyclerView();
            if (rv != null &&
                    rv.getScrollbar().isHitInParent(ev.getX(), ev.getY(), mFastScrollerOffset)) {
                mTouchHandler = rv.getScrollbar();
            } else {
                mTouchHandler = null;
            }
        }
        if (mTouchHandler != null) {