Merge "Animate top padding of notifications on status view height change." into udc-qpr-dev

This commit is contained in:
Xiaowen Lei
2023-08-17 22:55:28 +00:00
committed by Android (Google) Code Review
2 changed files with 24 additions and 0 deletions

View File

@@ -1243,6 +1243,13 @@ public final class NotificationPanelViewController implements ShadeSurface, Dump
mKeyguardStatusViewController.init();
}
mKeyguardStatusViewController.setSplitShadeEnabled(mSplitShadeEnabled);
mKeyguardStatusViewController.getView().addOnLayoutChangeListener(
(v, left, top, right, bottom, oldLeft, oldTop, oldRight, oldBottom) -> {
int oldHeight = oldBottom - oldTop;
if (v.getHeight() != oldHeight) {
mNotificationStackScrollLayoutController.animateNextTopPaddingChange();
}
});
updateClockAppearance();

View File

@@ -538,6 +538,23 @@ public class NotificationPanelViewControllerTest extends NotificationPanelViewCo
assertKeyguardStatusViewCentered();
}
@Test
public void onKeyguardStatusViewHeightChange_animatesNextTopPaddingChangeForNSSL() {
ArgumentCaptor<View.OnLayoutChangeListener> captor =
ArgumentCaptor.forClass(View.OnLayoutChangeListener.class);
verify(mKeyguardStatusView).addOnLayoutChangeListener(captor.capture());
View.OnLayoutChangeListener listener = captor.getValue();
clearInvocations(mNotificationStackScrollLayoutController);
when(mKeyguardStatusView.getHeight()).thenReturn(0);
listener.onLayoutChange(mKeyguardStatusView, /* left= */ 0, /* top= */ 0, /* right= */
0, /* bottom= */ 0, /* oldLeft= */ 0, /* oldTop= */ 0, /* oldRight= */
0, /* oldBottom = */ 200);
verify(mNotificationStackScrollLayoutController).animateNextTopPaddingChange();
}
@Test
public void testCanCollapsePanelOnTouch_trueForKeyGuard() {
mStatusBarStateController.setState(KEYGUARD);