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

Commit 1622ea15 authored by Matthew Ng's avatar Matthew Ng Committed by android-build-merger
Browse files

Merge "Allow quickscrub after deadzone consumes touch" into pi-dev

am: 95b7c25a

Change-Id: Id2e3d7e859a47936a63ebb5875bda69fbb64c816
parents e36941d4 95b7c25a
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -54,6 +54,7 @@ public class NavigationBarCompat {
    public static final int HIT_TARGET_HOME = 2;
    public static final int HIT_TARGET_OVERVIEW = 3;
    public static final int HIT_TARGET_ROTATION = 4;
    public static final int HIT_TARGET_DEAD_ZONE = 5;

    @Retention(RetentionPolicy.SOURCE)
    @IntDef({FLAG_DISABLE_SWIPE_UP,
+7 −8
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package com.android.systemui.statusbar.phone;

import static android.view.MotionEvent.ACTION_DOWN;
import static com.android.systemui.shared.system.NavigationBarCompat.HIT_TARGET_BACK;
import static com.android.systemui.shared.system.NavigationBarCompat.HIT_TARGET_DEAD_ZONE;
import static com.android.systemui.shared.system.NavigationBarCompat.HIT_TARGET_HOME;
import static com.android.systemui.shared.system.NavigationBarCompat.HIT_TARGET_NONE;

@@ -328,15 +329,15 @@ public class NavigationBarView extends FrameLayout implements PluginListener<Nav

    @Override
    public boolean onInterceptTouchEvent(MotionEvent event) {
        if (shouldDeadZoneConsumeTouchEvents(event)) {
            return true;
        }
        final boolean deadZoneConsumed = shouldDeadZoneConsumeTouchEvents(event);
        switch (event.getActionMasked()) {
            case ACTION_DOWN:
                int x = (int) event.getX();
                int y = (int) event.getY();
                mDownHitTarget = HIT_TARGET_NONE;
                if (getBackButton().isVisible() && mBackButtonBounds.contains(x, y)) {
                if (deadZoneConsumed) {
                    mDownHitTarget = HIT_TARGET_DEAD_ZONE;
                } else if (getBackButton().isVisible() && mBackButtonBounds.contains(x, y)) {
                    mDownHitTarget = HIT_TARGET_BACK;
                } else if (getHomeButton().isVisible() && mHomeButtonBounds.contains(x, y)) {
                    mDownHitTarget = HIT_TARGET_HOME;
@@ -353,9 +354,7 @@ public class NavigationBarView extends FrameLayout implements PluginListener<Nav

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        if (shouldDeadZoneConsumeTouchEvents(event)) {
            return true;
        }
        shouldDeadZoneConsumeTouchEvents(event);
        if (mGestureHelper.onTouchEvent(event)) {
            return true;
        }
@@ -764,7 +763,7 @@ public class NavigationBarView extends FrameLayout implements PluginListener<Nav
                showSwipeUpUI ? mQuickStepAccessibilityDelegate : null);
    }

    private void updateSlippery() {
    public void updateSlippery() {
        setSlippery(!isQuickStepSwipeUpEnabled() || mPanelView.isFullyExpanded());
    }

+7 −1
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ import static com.android.systemui.Interpolators.ALPHA_IN;
import static com.android.systemui.Interpolators.ALPHA_OUT;
import static com.android.systemui.OverviewProxyService.DEBUG_OVERVIEW_PROXY;
import static com.android.systemui.OverviewProxyService.TAG_OPS;
import static com.android.systemui.shared.system.NavigationBarCompat.HIT_TARGET_DEAD_ZONE;

import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
@@ -184,6 +185,8 @@ public class QuickStepController implements GestureHelper {
    }

    private boolean handleTouchEvent(MotionEvent event) {
        final boolean deadZoneConsumed =
                mNavigationBarView.getDownHitTarget() == HIT_TARGET_DEAD_ZONE;
        if (mOverviewEventSender.getProxy() == null || (!mNavigationBarView.isQuickScrubEnabled()
                && !mNavigationBarView.isQuickStepSwipeUpEnabled())) {
            return false;
@@ -302,7 +305,7 @@ public class QuickStepController implements GestureHelper {
                || action == MotionEvent.ACTION_UP)) {
            proxyMotionEvents(event);
        }
        return mQuickScrubActive || mQuickStepStarted;
        return mQuickScrubActive || mQuickStepStarted || deadZoneConsumed;
    }

    @Override
@@ -424,6 +427,9 @@ public class QuickStepController implements GestureHelper {
            mTrackAnimator.playTogether(trackAnimator, navBarAnimator);
            mTrackAnimator.start();

            // Disable slippery for quick scrub to not cancel outside the nav bar
            mNavigationBarView.updateSlippery();

            try {
                mOverviewEventSender.getProxy().onQuickScrubStart();
                if (DEBUG_OVERVIEW_PROXY) {