Merge "Propagate status bar state to NSSL on reattach" into tm-qpr-dev am: 1d810ad9b8 am: 8c61fcacd3
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/21616620 Change-Id: Iecd2ca7dfec11248691be65cad6898f961dd3fa9 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -211,7 +211,11 @@ public class NotificationStackScrollLayoutController {
|
|||||||
public void onViewAttachedToWindow(View v) {
|
public void onViewAttachedToWindow(View v) {
|
||||||
mConfigurationController.addCallback(mConfigurationListener);
|
mConfigurationController.addCallback(mConfigurationListener);
|
||||||
mZenModeController.addCallback(mZenModeControllerCallback);
|
mZenModeController.addCallback(mZenModeControllerCallback);
|
||||||
mBarState = mStatusBarStateController.getState();
|
final int newBarState = mStatusBarStateController.getState();
|
||||||
|
if (newBarState != mBarState) {
|
||||||
|
mStateListener.onStateChanged(newBarState);
|
||||||
|
mStateListener.onStatePostChange();
|
||||||
|
}
|
||||||
mStatusBarStateController.addCallback(
|
mStatusBarStateController.addCallback(
|
||||||
mStateListener, SysuiStatusBarStateController.RANK_STACK_SCROLLER);
|
mStateListener, SysuiStatusBarStateController.RANK_STACK_SCROLLER);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -415,6 +415,37 @@ public class NotificationStackScrollLayoutControllerTest extends SysuiTestCase {
|
|||||||
verify(mNotificationStackScrollLayout).updateEmptyShadeView(anyBoolean(), anyBoolean());
|
verify(mNotificationStackScrollLayout).updateEmptyShadeView(anyBoolean(), anyBoolean());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testAttach_updatesViewStatusBarState() {
|
||||||
|
// GIVEN: Controller is attached
|
||||||
|
mController.attach(mNotificationStackScrollLayout);
|
||||||
|
ArgumentCaptor<StatusBarStateController.StateListener> captor =
|
||||||
|
ArgumentCaptor.forClass(StatusBarStateController.StateListener.class);
|
||||||
|
verify(mSysuiStatusBarStateController).addCallback(captor.capture(), anyInt());
|
||||||
|
StatusBarStateController.StateListener stateListener = captor.getValue();
|
||||||
|
|
||||||
|
// WHEN: StatusBarState changes to SHADE
|
||||||
|
when(mSysuiStatusBarStateController.getState()).thenReturn(SHADE);
|
||||||
|
stateListener.onStateChanged(SHADE);
|
||||||
|
|
||||||
|
// THEN: NSSL is updated with the current state
|
||||||
|
verify(mNotificationStackScrollLayout).setStatusBarState(SHADE);
|
||||||
|
|
||||||
|
// WHEN: Controller is detached
|
||||||
|
mController.mOnAttachStateChangeListener
|
||||||
|
.onViewDetachedFromWindow(mNotificationStackScrollLayout);
|
||||||
|
|
||||||
|
// WHEN: StatusBarState changes to KEYGUARD
|
||||||
|
when(mSysuiStatusBarStateController.getState()).thenReturn(KEYGUARD);
|
||||||
|
|
||||||
|
// WHEN: Controller is re-attached
|
||||||
|
mController.mOnAttachStateChangeListener
|
||||||
|
.onViewAttachedToWindow(mNotificationStackScrollLayout);
|
||||||
|
|
||||||
|
// THEN: NSSL is updated with the current state
|
||||||
|
verify(mNotificationStackScrollLayout).setStatusBarState(KEYGUARD);
|
||||||
|
}
|
||||||
|
|
||||||
private LogMaker logMatcher(int category, int type) {
|
private LogMaker logMatcher(int category, int type) {
|
||||||
return argThat(new LogMatcher(category, type));
|
return argThat(new LogMatcher(category, type));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user