diff options
| author | 2018-01-25 21:14:44 +0000 | |
|---|---|---|
| committer | 2018-01-25 21:14:44 +0000 | |
| commit | 857b165867a21d5029891b3edb8c5e4631460a9c (patch) | |
| tree | ee87c20bf4a7e05597c9c28e2921083672ce5db6 | |
| parent | 906ee677c071118126c3a849d973be7bb94be95f (diff) | |
| parent | 78f88d10ba61ebe25457aaeefc88b8a2460998e4 (diff) | |
Merge "Disable quick step when notification is open"
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() { |