Update dynamicPriv listeners on keyguard changes
Update dynamic privacy listeners whenever the keyguard fade state changes since it changes the evaluation of isDynamicallyUnlocked. Test: atest DynamicPrivacyControllerTest Test: manual Fixes: 152295502 Change-Id: I7df27fb0c153dea8878c05cd5ff3eb8ae9be6f53
This commit is contained in:
@@ -53,10 +53,15 @@ public class DynamicPrivacyController implements KeyguardStateController.Callbac
|
||||
mLastDynamicUnlocked = isDynamicallyUnlocked();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onKeyguardFadingAwayChanged() {
|
||||
onUnlockedChanged();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUnlockedChanged() {
|
||||
if (isDynamicPrivacyEnabled()) {
|
||||
// We only want to notify our listeners if dynamic privacy is actually active
|
||||
// We only want to notify our listeners if dynamic privacy is actually enabled
|
||||
boolean dynamicallyUnlocked = isDynamicallyUnlocked();
|
||||
if (dynamicallyUnlocked != mLastDynamicUnlocked || mCacheInvalid) {
|
||||
mLastDynamicUnlocked = dynamicallyUnlocked;
|
||||
|
||||
@@ -19,6 +19,7 @@ package com.android.systemui.statusbar.notification;
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.ArgumentMatchers.anyInt;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.reset;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.verifyNoMoreInteractions;
|
||||
import static org.mockito.Mockito.when;
|
||||
@@ -85,6 +86,22 @@ public class DynamicPrivacyControllerTest extends SysuiTestCase {
|
||||
verify(mListener).onDynamicPrivacyChanged();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testNotifiedWhenKeyguardFadingAwayChanges() {
|
||||
when(mKeyguardStateController.canDismissLockScreen()).thenReturn(false);
|
||||
when(mKeyguardStateController.isKeyguardGoingAway()).thenReturn(false);
|
||||
enableDynamicPrivacy();
|
||||
|
||||
when(mKeyguardStateController.isKeyguardFadingAway()).thenReturn(true);
|
||||
mDynamicPrivacyController.onKeyguardFadingAwayChanged();
|
||||
verify(mListener).onDynamicPrivacyChanged();
|
||||
reset(mListener);
|
||||
|
||||
when(mKeyguardStateController.isKeyguardFadingAway()).thenReturn(false);
|
||||
mDynamicPrivacyController.onUnlockedChanged();
|
||||
verify(mListener).onDynamicPrivacyChanged();
|
||||
}
|
||||
|
||||
private void enableDynamicPrivacy() {
|
||||
when(mLockScreenUserManager.shouldHideNotifications(any())).thenReturn(
|
||||
false);
|
||||
|
||||
Reference in New Issue
Block a user