import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager;
import com.android.systemui.statusbar.phone.UnlockMethodCache;
import com.android.systemui.statusbar.policy.DeviceProvisionedController;
+import com.android.systemui.statusbar.policy.KeyguardMonitor;
import com.android.systemui.util.AsyncSensorManager;
import com.android.systemui.util.InjectionInflationController;
import com.android.systemui.util.leak.GarbageMonitor;
LockscreenWallpaper lockscreenWallpaper,
TriConsumer<ScrimState, Float, GradientColors> scrimStateListener,
Consumer<Integer> scrimVisibleListener, DozeParameters dozeParameters,
- AlarmManager alarmManager) {
+ AlarmManager alarmManager, KeyguardMonitor keyguardMonitor) {
return new ScrimController(scrimBehind, scrimInFront, scrimStateListener,
- scrimVisibleListener, dozeParameters, alarmManager);
+ scrimVisibleListener, dozeParameters, alarmManager, keyguardMonitor);
}
public NotificationIconAreaController createNotificationIconAreaController(Context context,
mY = y - containerLocation[1];
}
- private final Callback mKeyguardCallback = () -> {
- if (!isAttachedToWindow()) return;
- if (Dependency.get(KeyguardMonitor.class).isShowing() && !mOpening) {
- hide();
+ private final Callback mKeyguardCallback = new Callback() {
+ @Override
+ public void onKeyguardShowingChanged() {
+ if (!isAttachedToWindow()) return;
+ if (Dependency.get(KeyguardMonitor.class).isShowing() && !mOpening) {
+ hide();
+ }
}
};
import com.android.systemui.colorextraction.SysuiColorExtractor;
import com.android.systemui.statusbar.ScrimView;
import com.android.systemui.statusbar.notification.stack.ViewState;
+import com.android.systemui.statusbar.policy.KeyguardMonitor;
import com.android.systemui.util.AlarmTimeout;
import com.android.systemui.util.wakelock.DelayedWakeLock;
import com.android.systemui.util.wakelock.WakeLock;
public ScrimController(ScrimView scrimBehind, ScrimView scrimInFront,
TriConsumer<ScrimState, Float, GradientColors> scrimStateListener,
Consumer<Integer> scrimVisibleListener, DozeParameters dozeParameters,
- AlarmManager alarmManager) {
+ AlarmManager alarmManager, KeyguardMonitor keyguardMonitor) {
mScrimBehind = scrimBehind;
mScrimInFront = scrimInFront;
mScrimStateListener = scrimStateListener;
// to make sure that text on top of it is legible.
mScrimBehindAlpha = mScrimBehindAlphaResValue;
mDozeParameters = dozeParameters;
+ keyguardMonitor.addCallback(new KeyguardMonitor.Callback() {
+ @Override
+ public void onKeyguardFadingAwayChanged() {
+ setKeyguardFadingAway(keyguardMonitor.isKeyguardFadingAway(),
+ keyguardMonitor.getKeyguardFadingAwayDuration());
+ }
+ });
mColorExtractor = Dependency.get(SysuiColorExtractor.class);
mColorExtractor.addOnColorsChangedListener(this);
}
}
- public void setUnlockIsFading(boolean unlockFading) {
+ private void setKeyguardFadingAway(boolean fadingAway, long duration) {
for (ScrimState state : ScrimState.values()) {
- state.setUnlockIsFading(unlockFading);
+ state.setKeyguardFadingAway(fadingAway, duration);
}
}
public void prepare(ScrimState previousState) {
mCurrentBehindAlpha = 0;
mCurrentInFrontAlpha = 0;
- mAnimationDuration = mUnlockIsFading
- ? KeyguardBypassController.BYPASS_PANEL_FADE_DURATION
+ mAnimationDuration = mKeyguardFadingAway
+ ? mKeyguardFadingAwayDuration
: StatusBar.FADE_KEYGUARD_DURATION;
mAnimateChange = !mLaunchingAffordanceWithPreview;
boolean mHasBackdrop;
boolean mLaunchingAffordanceWithPreview;
boolean mWakeLockScreenSensorActive;
- boolean mUnlockIsFading;
+ boolean mKeyguardFadingAway;
+ long mKeyguardFadingAwayDuration;
ScrimState(int index) {
mIndex = index;
mWakeLockScreenSensorActive = active;
}
- public void setUnlockIsFading(boolean unlockIsFading) {
- mUnlockIsFading = unlockIsFading;
+ public void setKeyguardFadingAway(boolean fadingAway, long duration) {
+ mKeyguardFadingAway = fadingAway;
+ mKeyguardFadingAwayDuration = duration;
}
}
\ No newline at end of file
mStatusBarWindow.onScrimVisibilityChanged(scrimsVisible);
}
}, DozeParameters.getInstance(mContext),
- mContext.getSystemService(AlarmManager.class));
+ mContext.getSystemService(AlarmManager.class),
+ mKeyguardMonitor);
mNotificationPanel.initDependencies(this, mGroupManager, mNotificationShelf,
mHeadsUpManager, mNotificationIconAreaController, mScrimController);
mDozeScrimController = new DozeScrimController(DozeParameters.getInstance(context));
public void notifyBiometricAuthModeChanged() {
updateDozing();
- mScrimController.setUnlockIsFading(mBiometricUnlockController.isUnlockFading());
updateScrimController();
mStatusBarWindow.onBiometricAuthModeChanged(mBiometricUnlockController.isWakeAndUnlock(),
mBiometricUnlockController.isBiometricUnlock());
}
interface Callback {
- void onKeyguardShowingChanged();
+ default void onKeyguardShowingChanged() {}
default void onKeyguardFadingAwayChanged() {}
}
}
}
public void notifyKeyguardFadingAway(long delay, long fadeoutDuration, boolean isBypassFading) {
- setKeyguardFadingAway(true);
mKeyguardFadingAwayDelay = delay;
mKeyguardFadingAwayDuration = fadeoutDuration;
mBypassFadingAnimation = isBypassFading;
+ setKeyguardFadingAway(true);
}
private void setKeyguardFadingAway(boolean keyguardFadingAway) {
import com.android.internal.util.function.TriConsumer;
import com.android.systemui.SysuiTestCase;
import com.android.systemui.statusbar.ScrimView;
+import com.android.systemui.statusbar.policy.KeyguardMonitor;
import com.android.systemui.util.wakelock.WakeLock;
import com.android.systemui.utils.os.FakeHandler;
mScrimBehindAlpha = scrimBehindAlpha;
mScrimInFrontColor = scrimInFrontColor;
},
- visible -> mScrimVisibility = visible, mDozeParamenters, mAlarmManager);
+ visible -> mScrimVisibility = visible, mDozeParamenters, mAlarmManager,
+ mock(KeyguardMonitor.class));
mScrimController.setHasBackdrop(false);
mScrimController.setWallpaperSupportsAmbientMode(false);
mScrimController.transitionTo(ScrimState.KEYGUARD);
SynchronousScrimController(ScrimView scrimBehind, ScrimView scrimInFront,
TriConsumer<ScrimState, Float, GradientColors> scrimStateListener,
Consumer<Integer> scrimVisibleListener, DozeParameters dozeParameters,
- AlarmManager alarmManager) {
+ AlarmManager alarmManager, KeyguardMonitor keyguardMonitor) {
super(scrimBehind, scrimInFront, scrimStateListener, scrimVisibleListener,
- dozeParameters, alarmManager);
+ dozeParameters, alarmManager, keyguardMonitor);
}
@Override