Merge "Update dynamicPriv listeners on keyguard changes" into rvc-dev

This commit is contained in:
Beverly Tai
2020-04-30 21:59:10 +00:00
committed by Android (Google) Code Review
2 changed files with 23 additions and 1 deletions

View File

@@ -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;

View File

@@ -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);