Implemented dynamic privacy for redacted lockscreens
Users with redacted lock screens now dynamically are able
to see the contents of their notifications whenever
they are authenticated.
Bug: 128037042
Test: atest SystemUITests
Change-Id: If289a8a9ddb300e1398f9e715511beb5a5fd5c5d
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java
index dd957b4..b611b2b 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java
@@ -78,6 +78,7 @@
import com.android.systemui.statusbar.StatusBarState;
import com.android.systemui.statusbar.notification.ActivityLaunchAnimator;
import com.android.systemui.statusbar.notification.AnimatableProperty;
+import com.android.systemui.statusbar.notification.DynamicPrivacyController;
import com.android.systemui.statusbar.notification.NotificationEntryManager;
import com.android.systemui.statusbar.notification.NotificationWakeUpCoordinator;
import com.android.systemui.statusbar.notification.PropertyAnimator;
@@ -109,7 +110,7 @@
KeyguardAffordanceHelper.Callback, NotificationStackScrollLayout.OnEmptySpaceClickListener,
OnHeadsUpChangedListener, QS.HeightListener, ZenModeController.Callback,
ConfigurationController.ConfigurationListener, StateListener,
- PulseExpansionHandler.ExpansionCallback {
+ PulseExpansionHandler.ExpansionCallback, DynamicPrivacyController.Listener {
private static final boolean DEBUG = false;
@@ -343,7 +344,8 @@
public NotificationPanelView(@Named(VIEW_CONTEXT) Context context, AttributeSet attrs,
InjectionInflationController injectionInflationController,
NotificationWakeUpCoordinator coordinator,
- PulseExpansionHandler pulseExpansionHandler) {
+ PulseExpansionHandler pulseExpansionHandler,
+ DynamicPrivacyController dynamicPrivacyController) {
super(context, attrs);
setWillNotDraw(!DEBUG);
mInjectionInflationController = injectionInflationController;
@@ -358,6 +360,7 @@
mDisplayId = context.getDisplayId();
mPulseExpansionHandler = pulseExpansionHandler;
mThemeResId = context.getThemeResId();
+ dynamicPrivacyController.addListener(this);
}
/**
@@ -3113,4 +3116,9 @@
}
return y;
}
+
+ @Override
+ public void onDynamicPrivacyChanged() {
+ mAnimateNextPositionUpdate = true;
+ }
}