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

Commit 7eae1e61 authored by Brian Isganitis's avatar Brian Isganitis
Browse files

Split AFVs that controller should not intercept from TYPE_ACCESSIBLE.

TYPE_ACCESSIBLE no longer works for certain cases (see bug). This also
simplifies TouchControllers that would otherwise add or remove from
TYPE_ACCESSIBLE (such as ALL_APPS_EDU and TASKBAR_OVERLAYS).

Fix: 315507902
Test: Manual
Flag: N/A
Change-Id: I6f5d218dab87a8bcc8e7805d0ced9a6678f09c8e
parent df643c45
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -222,7 +222,7 @@ public class TaskbarAllAppsSlideInView extends AbstractSlideInView<TaskbarOverla
        if (ev.getAction() == MotionEvent.ACTION_DOWN) {
            mNoIntercept = !mAppsView.shouldContainerScroll(ev)
                    || getTopOpenViewWithType(
                            mActivityContext, TYPE_ACCESSIBLE & ~TYPE_TASKBAR_OVERLAYS) != null;
                            mActivityContext, TYPE_TOUCH_CONTROLLER_NO_INTERCEPT) != null;
        }
        return super.onControllerInterceptTouchEvent(ev);
    }
+2 −3
Original line number Diff line number Diff line
@@ -15,8 +15,7 @@
 */
package com.android.launcher3.uioverrides.touchcontrollers;

import static com.android.launcher3.AbstractFloatingView.TYPE_ACCESSIBLE;
import static com.android.launcher3.AbstractFloatingView.TYPE_ALL_APPS_EDU;
import static com.android.launcher3.AbstractFloatingView.TYPE_TOUCH_CONTROLLER_NO_INTERCEPT;
import static com.android.launcher3.AbstractFloatingView.getTopOpenViewWithType;
import static com.android.launcher3.LauncherState.ALL_APPS;
import static com.android.launcher3.LauncherState.NORMAL;
@@ -84,7 +83,7 @@ public class PortraitStatesTouchController extends AbstractStateChangeTouchContr
                return false;
            }
        }
        if (getTopOpenViewWithType(mLauncher, TYPE_ACCESSIBLE | TYPE_ALL_APPS_EDU) != null) {
        if (getTopOpenViewWithType(mLauncher, TYPE_TOUCH_CONTROLLER_NO_INTERCEPT) != null) {
            return false;
        }
        return true;
+3 −2
Original line number Diff line number Diff line
@@ -15,7 +15,7 @@
 */
package com.android.launcher3.uioverrides.touchcontrollers;

import static com.android.launcher3.AbstractFloatingView.TYPE_ACCESSIBLE;
import static com.android.launcher3.AbstractFloatingView.TYPE_TOUCH_CONTROLLER_NO_INTERCEPT;
import static com.android.launcher3.LauncherAnimUtils.SUCCESS_TRANSITION_PROGRESS;
import static com.android.launcher3.touch.SingleAxisSwipeDetector.DIRECTION_BOTH;

@@ -112,7 +112,8 @@ public abstract class TaskViewTouchController<T extends BaseDraggingActivity>
            // If we are already animating from a previous state, we can intercept.
            return true;
        }
        if (AbstractFloatingView.getTopOpenViewWithType(mActivity, TYPE_ACCESSIBLE) != null) {
        if (AbstractFloatingView.getTopOpenViewWithType(
                mActivity, TYPE_TOUCH_CONTROLLER_NO_INTERCEPT) != null) {
            return false;
        }
        return isRecentsInteractive();
+4 −0
Original line number Diff line number Diff line
@@ -135,6 +135,10 @@ public abstract class AbstractFloatingView extends LinearLayout implements Touch
    public static final int TYPE_TASKBAR_OVERLAYS =
            TYPE_TASKBAR_ALL_APPS | TYPE_TASKBAR_EDUCATION_DIALOG;

    // Floating views that a TouchController should not try to intercept touches from.
    public static final int TYPE_TOUCH_CONTROLLER_NO_INTERCEPT = TYPE_ALL & ~TYPE_DISCOVERY_BOUNCE
            & ~TYPE_LISTENER & ~TYPE_TASKBAR_OVERLAYS;

    public static final int TYPE_ALL_EXCEPT_ON_BOARD_POPUP = TYPE_ALL & ~TYPE_ON_BOARD_POPUP
            & ~TYPE_PIN_IME_POPUP;