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
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -443,7 +443,6 @@ public class NotificationPanelViewController extends PanelViewController {
|
||||
private ArrayList<Consumer<ExpandableNotificationRow>>
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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());
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user