From d0da38452f1e59d4569440b9da7f94b52f3f5115 Mon Sep 17 00:00:00 2001 From: Michal Brzezinski Date: Mon, 11 Oct 2021 16:10:40 +0100 Subject: [PATCH] Removing translation of shade dependent on finger position Shade was horizontally translated for bigger screens (when notification width * 1.75 was smaller than screen width) depending on when pull down movement was started. Now this translation is no longer needed. Fixes: 199879348 Test: manual + NotificationPanelViewControllerTest Change-Id: I3837170eb1012326a60d3e12eabacb947be0df32 --- .../phone/HeadsUpAppearanceController.java | 1 - .../NotificationPanelViewController.java | 52 ------------------- .../HeadsUpAppearanceControllerTest.java | 1 - .../NotificationPanelViewControllerTest.java | 12 ----- 4 files changed, 66 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/HeadsUpAppearanceController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/HeadsUpAppearanceController.java index 878fbbf39627c..927b4c8cc919c 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/HeadsUpAppearanceController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/HeadsUpAppearanceController.java @@ -163,7 +163,6 @@ public class HeadsUpAppearanceController implements OnHeadsUpChangedListener, mHeadsUpStatusBarView.setOnDrawingRectChangedListener(null); mWakeUpCoordinator.removeListener(this); mNotificationPanelViewController.removeTrackingHeadsUpListener(mSetTrackingHeadsUp); - mNotificationPanelViewController.setVerticalTranslationListener(null); mNotificationPanelViewController.setHeadsUpAppearanceController(null); mStackScrollerController.removeOnExpandedHeightChangedListener(mSetExpandedHeight); mDarkIconDispatcher.removeDarkReceiver(this); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java index 27770c7e53b34..7b3f34a4a510e 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java @@ -443,7 +443,6 @@ public class NotificationPanelViewController extends PanelViewController { private ArrayList> mTrackingHeadsUpListeners = new ArrayList<>(); - private Runnable mVerticalTranslationListener; private HeadsUpAppearanceController mHeadsUpAppearanceController; private int mPanelAlpha; @@ -3241,7 +3240,6 @@ public class NotificationPanelViewController extends PanelViewController { @Override protected void onClosingFinished() { super.onClosingFinished(); - resetHorizontalPanelPosition(); setClosingWithAlphaFadeout(false); mMediaHierarchyManager.closeGuts(); } @@ -3251,47 +3249,6 @@ public class NotificationPanelViewController extends PanelViewController { mNotificationStackScrollLayoutController.forceNoOverlappingRendering(closing); } - /** - * Updates the horizontal position of the panel so it is positioned closer to the touch - * responsible for opening the panel. - * - * @param x the x-coordinate the touch event - */ - protected void updateHorizontalPanelPosition(float x) { - if (mNotificationStackScrollLayoutController.getWidth() * 1.75f > mView.getWidth() - || mShouldUseSplitNotificationShade) { - resetHorizontalPanelPosition(); - return; - } - float leftMost = mPositionMinSideMargin - + mNotificationStackScrollLayoutController.getWidth() / 2; - float - rightMost = - mView.getWidth() - mPositionMinSideMargin - - mNotificationStackScrollLayoutController.getWidth() / 2; - if (Math.abs(x - mView.getWidth() / 2) - < mNotificationStackScrollLayoutController.getWidth() / 4) { - x = mView.getWidth() / 2; - } - x = Math.min(rightMost, Math.max(leftMost, x)); - float - center = mNotificationStackScrollLayoutController.getLeft() - + mNotificationStackScrollLayoutController.getWidth() / 2; - setHorizontalPanelTranslation(x - center); - } - - private void resetHorizontalPanelPosition() { - setHorizontalPanelTranslation(0f); - } - - protected void setHorizontalPanelTranslation(float translation) { - mNotificationStackScrollLayoutController.setTranslationX(translation); - mQsFrame.setTranslationX(translation); - if (mVerticalTranslationListener != null) { - mVerticalTranslationListener.run(); - } - } - protected void updateExpandedHeight(float expandedHeight) { if (mTracking) { mNotificationStackScrollLayoutController @@ -3604,10 +3561,6 @@ public class NotificationPanelViewController extends PanelViewController { mTrackingHeadsUpListeners.remove(listener); } - public void setVerticalTranslationListener(Runnable verticalTranslationListener) { - mVerticalTranslationListener = verticalTranslationListener; - } - public void setHeadsUpAppearanceController( HeadsUpAppearanceController headsUpAppearanceController) { mHeadsUpAppearanceController = headsUpAppearanceController; @@ -3875,7 +3828,6 @@ public class NotificationPanelViewController extends PanelViewController { } if (event.getActionMasked() == MotionEvent.ACTION_DOWN && isFullyCollapsed()) { mMetricsLogger.count(COUNTER_PANEL_OPEN, 1); - updateHorizontalPanelPosition(event.getX()); handled = true; } @@ -4382,7 +4334,6 @@ public class NotificationPanelViewController extends PanelViewController { // The update needs to happen after the headerSlide in above, otherwise the translation // would reset maybeAnimateBottomAreaAlpha(); - resetHorizontalPanelPosition(); updateQsState(); mSplitShadeHeaderController.setShadeExpanded( mBarState == SHADE || mBarState == SHADE_LOCKED); @@ -4608,9 +4559,6 @@ public class NotificationPanelViewController extends PanelViewController { public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); mAffordanceHelper.onConfigurationChanged(); - if (newConfig.orientation != mLastOrientation) { - resetHorizontalPanelPosition(); - } mLastOrientation = newConfig.orientation; } } diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/HeadsUpAppearanceControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/HeadsUpAppearanceControllerTest.java index bca1227b7d35b..bafbccdb87d27 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/HeadsUpAppearanceControllerTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/HeadsUpAppearanceControllerTest.java @@ -198,7 +198,6 @@ public class HeadsUpAppearanceControllerTest extends SysuiTestCase { mHeadsUpAppearanceController.destroy(); verify(mHeadsUpManager).removeListener(any()); verify(mDarkIconDispatcher).removeDarkReceiver((DarkIconDispatcher.DarkReceiver) any()); - verify(mPanelView).setVerticalTranslationListener(isNull()); verify(mPanelView).removeTrackingHeadsUpListener(any()); verify(mPanelView).setHeadsUpAppearanceController(isNull()); verify(mStackScrollerController).removeOnExpandedHeightChangedListener(any()); diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationPanelViewControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationPanelViewControllerTest.java index b18ea4bca6813..265e418a279c7 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationPanelViewControllerTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationPanelViewControllerTest.java @@ -657,18 +657,6 @@ public class NotificationPanelViewControllerTest extends SysuiTestCase { assertThat(getConstraintSetLayout(R.id.notification_stack_scroller).mWidth).isEqualTo(0); } - @Test - public void testOnDragDownEvent_horizontalTranslationIsZeroForSplitShade() { - when(mNotificationStackScrollLayoutController.getWidth()).thenReturn(350f); - when(mView.getWidth()).thenReturn(800); - enableSplitShade(/* enabled= */ true); - - onTouchEvent(MotionEvent.obtain(0L, 0L, MotionEvent.ACTION_DOWN, - 200f /* x position */, 0f, 0)); - - verify(mQsFrame).setTranslationX(0); - } - @Test public void testCanCollapsePanelOnTouch_trueForKeyGuard() { mStatusBarStateController.setState(KEYGUARD);