summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Beverly <beverlyt@google.com> 2020-04-30 15:00:05 -0400
committer Beverly <beverlyt@google.com> 2020-04-30 15:20:35 -0400
commit1b77b7a8308b41fa4da9b7ef514734c2394efdf7 (patch)
tree2f541bfbe1c5f84d067e3f09b6c05c76c21e3918
parentc4c9c0d55483f4167d48749f3f15879fc189fb09 (diff)
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
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/notification/DynamicPrivacyController.java7
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/DynamicPrivacyControllerTest.java17
2 files changed, 23 insertions, 1 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/DynamicPrivacyController.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/DynamicPrivacyController.java
index a0b144b4497c..2ab329e9574c 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/DynamicPrivacyController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/DynamicPrivacyController.java
@@ -54,9 +54,14 @@ public class DynamicPrivacyController implements KeyguardStateController.Callbac
}
@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;
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/DynamicPrivacyControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/DynamicPrivacyControllerTest.java
index 99dc895eafff..68cf66dfb700 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/DynamicPrivacyControllerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/DynamicPrivacyControllerTest.java
@@ -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);