private final KeyguardUpdateMonitor mKeyguardUpdateMonitor;
private final DozeParameters mDozeParameters;
private final AlarmTimeout mTimeTicker;
+ private final KeyguardVisibilityCallback mKeyguardVisibilityCallback;
private final SysuiColorExtractor mColorExtractor;
private GradientColors mLockColors;
mUnlockMethodCache = UnlockMethodCache.getInstance(mContext);
mDarkenWhileDragging = !mUnlockMethodCache.canSkipBouncer();
mKeyguardUpdateMonitor = KeyguardUpdateMonitor.getInstance(mContext);
+ mKeyguardVisibilityCallback = new KeyguardVisibilityCallback();
+ mKeyguardUpdateMonitor.registerCallback(mKeyguardVisibilityCallback);
mScrimBehindAlphaResValue = mContext.getResources().getFloat(R.dimen.scrim_behind_alpha);
mTimeTicker = new AlarmTimeout(alarmManager, this::onHideWallpaperTimeout,
"hide_aod_wallpaper", new Handler());
default void onCancelled() {
}
}
+
+ /**
+ * Simple keyguard callback that updates scrims when keyguard visibility changes.
+ */
+ private class KeyguardVisibilityCallback extends KeyguardUpdateMonitorCallback {
+
+ @Override
+ public void onKeyguardVisibilityChanged(boolean showing) {
+ mNeedsDrawableColorUpdate = true;
+ scheduleUpdate();
+ }
+ }
}