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

Commit f99370c2 authored by Hyunyoung Song's avatar Hyunyoung Song
Browse files

Fixing issue where overview->normal workspace mode cannot be done by tapping

b/31458165

Because workspaceInModalState makes the VerticalFlingDetector
to consume the touch input, click is not detected in Overview mode.

Placed pulldown to search behind a feature flag.

Change-Id: I31ab69f57944a18e6b264c4f2ed2d0c1175cd940
parent 46133612
Loading
Loading
Loading
Loading
+24 −11
Original line number Diff line number Diff line
@@ -594,18 +594,31 @@ public class Workspace extends PagedView
        }
        // Add the first page
        CellLayout firstPage = insertNewWorkspaceScreen(Workspace.FIRST_SCREEN_ID, 0);
        final VerticalFlingDetector detector = new VerticalFlingDetector(mLauncher){
        if (FeatureFlags.PULLDOWN_SEARCH) {
            firstPage.setOnTouchListener(new VerticalFlingDetector(mLauncher) {
                // detect fling when touch started from empty space
                @Override
                public boolean onTouch(View v, MotionEvent ev) {
                    if (workspaceInModalState()) return false;
                    if (shouldConsumeTouch(v)) return true;
                    if (super.onTouch(v, ev)) {
                        mLauncher.startSearch("", false, null, false);
                    }
                    return false;
                }
        };
        firstPage.setOnTouchListener(detector);
        firstPage.setOnInterceptTouchListener(detector);
            });
            firstPage.setOnInterceptTouchListener(new VerticalFlingDetector(mLauncher) {
                // detect fling when touch started from on top of the icons
                @Override
                public boolean onTouch(View v, MotionEvent ev) {
                    if (shouldConsumeTouch(v)) return true;
                    if (super.onTouch(v, ev)) {
                        mLauncher.startSearch("", false, null, false);
                    }
                    return false;
                }
            });
        }
        // Always add a QSB on the first screen.
        if (qsb == null) {
            // In transposed layout, we add the QSB in the Grid. As workspace does not touch the
+3 −0
Original line number Diff line number Diff line
@@ -79,6 +79,9 @@ public class VerticalFlingDetector implements View.OnTouchListener {
    }

    private void cleanUp() {
        if (mVelocityTracker == null) {
            return;
        }
        mVelocityTracker.recycle();
        mVelocityTracker = null;
    }
+3 −1
Original line number Diff line number Diff line
@@ -31,8 +31,10 @@ public final class FeatureFlags {
    public static boolean LAUNCHER3_DISABLE_PINCH_TO_OVERVIEW = false;
    public static boolean LAUNCHER3_ALL_APPS_PULL_UP = true;

    // Feature flag to enable moving the QSB on the 0th screen of the workspace
    // Feature flag to enable moving the QSB on the 0th screen of the workspace.
    public static final boolean QSB_ON_FIRST_SCREEN = true;
    // When enabled the all-apps icon is not added to the hotseat.
    public static final boolean NO_ALL_APPS_ICON = true;
    // When enabled fling down gesture on the first workspace triggers search.
    public static final boolean PULLDOWN_SEARCH = true;
}