summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author TreeHugger Robot <treehugger-gerrit@google.com> 2018-01-25 21:14:44 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2018-01-25 21:14:44 +0000
commit857b165867a21d5029891b3edb8c5e4631460a9c (patch)
treeee87c20bf4a7e05597c9c28e2921083672ce5db6
parent906ee677c071118126c3a849d973be7bb94be95f (diff)
parent78f88d10ba61ebe25457aaeefc88b8a2460998e4 (diff)
Merge "Disable quick step when notification is open"
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarFragment.java2
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarGestureHelper.java9
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java15
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java3
4 files changed, 24 insertions, 5 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarFragment.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarFragment.java
index 6063151842b3..61c8027eb800 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarFragment.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarFragment.java
@@ -225,7 +225,7 @@ public class NavigationBarFragment extends Fragment implements Callbacks {
mNavigationBarView = (NavigationBarView) view;
mNavigationBarView.setDisabledFlags(mDisabledFlags1);
- mNavigationBarView.setComponents(mRecents, mDivider);
+ mNavigationBarView.setComponents(mRecents, mDivider, mStatusBar.getPanel());
mNavigationBarView.setOnVerticalChangedListener(this::onVerticalChanged);
mNavigationBarView.setOnTouchListener(this::onNavigationTouch);
if (savedInstanceState != null) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarGestureHelper.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarGestureHelper.java
index ff923e56a33f..0954fd054e2d 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarGestureHelper.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarGestureHelper.java
@@ -34,6 +34,7 @@ import com.android.systemui.Dependency;
import com.android.systemui.OverviewProxyService;
import com.android.systemui.R;
import com.android.systemui.RecentsComponent;
+import com.android.systemui.SysUiServiceProvider;
import com.android.systemui.plugins.statusbar.phone.NavGesture.GestureHelper;
import com.android.systemui.shared.recents.IOverviewProxy;
import com.android.systemui.shared.recents.utilities.Utilities;
@@ -78,6 +79,7 @@ public class NavigationBarGestureHelper implements TunerService.Tunable, Gesture
private final int mScrollTouchSlop;
private final Matrix mTransformGlobalMatrix = new Matrix();
private final Matrix mTransformLocalMatrix = new Matrix();
+ private final StatusBar mStatusBar;
private int mTouchDownX;
private int mTouchDownY;
private boolean mDownOnRecents;
@@ -90,6 +92,7 @@ public class NavigationBarGestureHelper implements TunerService.Tunable, Gesture
public NavigationBarGestureHelper(Context context) {
mContext = context;
+ mStatusBar = SysUiServiceProvider.getComponent(context, StatusBar.class);
Resources r = context.getResources();
mScrollTouchSlop = r.getDimensionPixelSize(R.dimen.navigation_bar_min_swipe_distance);
mQuickScrubController = new QuickScrubController(context);
@@ -146,7 +149,8 @@ public class NavigationBarGestureHelper implements TunerService.Tunable, Gesture
break;
}
}
- if (!mQuickScrubController.onInterceptTouchEvent(event)) {
+ if (mStatusBar.isPresenterFullyCollapsed()
+ && !mQuickScrubController.onInterceptTouchEvent(event)) {
proxyMotionEvents(event);
return false;
}
@@ -304,7 +308,8 @@ public class NavigationBarGestureHelper implements TunerService.Tunable, Gesture
}
public boolean onTouchEvent(MotionEvent event) {
- boolean result = mQuickScrubController.onTouchEvent(event) || proxyMotionEvents(event);
+ boolean result = mStatusBar.isPresenterFullyCollapsed()
+ && (mQuickScrubController.onTouchEvent(event) || proxyMotionEvents(event));
if (mDockWindowEnabled) {
result |= handleDockWindowEvent(event);
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java
index 9bef0eecaa06..9f4d35e19332 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java
@@ -126,6 +126,7 @@ public class NavigationBarView extends FrameLayout implements PluginListener<Nav
private RecentsComponent mRecentsComponent;
private Divider mDivider;
private SwipeUpOnboarding mSwipeUpOnboarding;
+ private NotificationPanelView mPanelView;
private class NavTransitionListener implements TransitionListener {
private boolean mBackTransitioning;
@@ -206,7 +207,7 @@ public class NavigationBarView extends FrameLayout implements PluginListener<Nav
}
private final OverviewProxyListener mOverviewProxyListener = isConnected -> {
- setSlippery(!isConnected);
+ updateSlippery();
setDisabledFlags(mDisabledFlags, true);
setUpSwipeUpOnboarding(isConnected);
};
@@ -251,9 +252,11 @@ public class NavigationBarView extends FrameLayout implements PluginListener<Nav
return mBarTransitions.getLightTransitionsController();
}
- public void setComponents(RecentsComponent recentsComponent, Divider divider) {
+ public void setComponents(RecentsComponent recentsComponent, Divider divider,
+ NotificationPanelView panel) {
mRecentsComponent = recentsComponent;
mDivider = divider;
+ mPanelView = panel;
if (mGestureHelper instanceof NavigationBarGestureHelper) {
((NavigationBarGestureHelper) mGestureHelper).setComponents(
recentsComponent, divider, this);
@@ -571,6 +574,14 @@ public class NavigationBarView extends FrameLayout implements PluginListener<Nav
}
}
+ public void onPanelExpandedChange(boolean expanded) {
+ updateSlippery();
+ }
+
+ private void updateSlippery() {
+ setSlippery(mOverviewProxyService.getProxy() != null && mPanelView.isFullyExpanded());
+ }
+
private void setSlippery(boolean slippery) {
boolean changed = false;
final ViewGroup navbarView = ((ViewGroup) getParent());
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java
index b18121255353..cc5a93ce71b6 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java
@@ -250,6 +250,9 @@ public class PhoneStatusBarView extends PanelBar {
super.panelExpansionChanged(frac, expanded);
mPanelFraction = frac;
updateScrimFraction();
+ if ((frac == 0 || frac == 1) && mBar.getNavigationBarView() != null) {
+ mBar.getNavigationBarView().onPanelExpandedChange(expanded);
+ }
}
private void updateScrimFraction() {