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

Commit 42929262 authored by Abhishek Aggarwal's avatar Abhishek Aggarwal Committed by Saalim Quadri
Browse files

feat(drawer): disable app drawer gesture on single layer mode



[SahilSonar - adapted to A14]

Co-authored-by: Yash Garg's avatarYash Garg <yash.garg.ext@murena.com>
Signed-off-by: default avatarSahilSonar <sss.sonar2003@gmail.com>
Signed-off-by: default avatarSaalim Quadri <danascape@gmail.com>
parent 721b8beb
Loading
Loading
Loading
Loading
+10 −3
Original line number Diff line number Diff line
@@ -48,6 +48,8 @@ import com.android.launcher3.util.FlingBlockCheck;
import com.android.launcher3.util.TouchController;
import com.android.systemui.contextualeducation.GestureType;

import foundation.e.bliss.multimode.MultiModeController;

/**
 * TouchController for handling state changes
 */
@@ -129,15 +131,20 @@ public abstract class AbstractStateChangeTouchController
    private int getSwipeDirection() {
        LauncherState fromState = mLauncher.getStateManager().getState();
        int swipeDirection = 0;
        if (getTargetState(fromState, true /* isDragTowardPositive */) != fromState) {
        if (getTargetStateExt(fromState, true /* isDragTowardPositive */) != fromState) {
            swipeDirection |= SingleAxisSwipeDetector.DIRECTION_POSITIVE;
        }
        if (getTargetState(fromState, false /* isDragTowardPositive */) != fromState) {
        if (getTargetStateExt(fromState, false /* isDragTowardPositive */) != fromState) {
            swipeDirection |= SingleAxisSwipeDetector.DIRECTION_NEGATIVE;
        }
        return swipeDirection;
    }

    private LauncherState getTargetStateExt(LauncherState fromState, boolean isDragTowardPositive) {
        LauncherState targetState = getTargetState(fromState, isDragTowardPositive);
        return MultiModeController.isSingleLayerMode() && targetState == ALL_APPS ? fromState : targetState;
    }

    @Override
    public final boolean onControllerTouchEvent(MotionEvent ev) {
        return mDetector.onTouchEvent(ev);
@@ -159,7 +166,7 @@ public abstract class AbstractStateChangeTouchController
    private boolean reinitCurrentAnimation(boolean reachedToState, boolean isDragTowardPositive) {
        LauncherState newFromState = mFromState == null ? mLauncher.getStateManager().getState()
                : reachedToState ? mToState : mFromState;
        LauncherState newToState = getTargetState(newFromState, isDragTowardPositive);
        LauncherState newToState = getTargetStateExt(newFromState, isDragTowardPositive);

        onReinitToState(newToState);