Merge "Allow quickscrub after deadzone consumes touch" into pi-dev
am: 95b7c25a58
Change-Id: Id2e3d7e859a47936a63ebb5875bda69fbb64c816
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
|
||||
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user