diff options
| author | 2020-04-30 21:59:10 +0000 | |
|---|---|---|
| committer | 2020-04-30 21:59:10 +0000 | |
| commit | 803e933e81c290fcc589e79076ee3fbfb00ad446 (patch) | |
| tree | 45bee1c26b52afa4310f4b53219061b2ae800b1c | |
| parent | 078fb92075d8125f42b9652627b8e0bf9def3378 (diff) | |
| parent | 1b77b7a8308b41fa4da9b7ef514734c2394efdf7 (diff) | |
Merge "Update dynamicPriv listeners on keyguard changes" into rvc-dev
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); |