Merge "Using the keyguard fading away duration for the scrim" into qt-r1-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
85224a5834
@@ -66,6 +66,7 @@ import com.android.systemui.statusbar.phone.StatusBar;
|
||||
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;
|
||||
@@ -144,9 +145,9 @@ public class SystemUIFactory {
|
||||
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,
|
||||
|
||||
@@ -296,10 +296,13 @@ public class QSCustomizer extends LinearLayout implements OnMenuItemClickListene
|
||||
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();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -47,6 +47,7 @@ import com.android.systemui.R;
|
||||
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;
|
||||
@@ -177,7 +178,7 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, OnCo
|
||||
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;
|
||||
@@ -197,6 +198,13 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, OnCo
|
||||
// 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);
|
||||
@@ -948,9 +956,9 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, OnCo
|
||||
}
|
||||
}
|
||||
|
||||
public void setUnlockIsFading(boolean unlockFading) {
|
||||
private void setKeyguardFadingAway(boolean fadingAway, long duration) {
|
||||
for (ScrimState state : ScrimState.values()) {
|
||||
state.setUnlockIsFading(unlockFading);
|
||||
state.setKeyguardFadingAway(fadingAway, duration);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -156,8 +156,8 @@ public enum ScrimState {
|
||||
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;
|
||||
|
||||
@@ -209,7 +209,8 @@ public enum ScrimState {
|
||||
boolean mHasBackdrop;
|
||||
boolean mLaunchingAffordanceWithPreview;
|
||||
boolean mWakeLockScreenSensorActive;
|
||||
boolean mUnlockIsFading;
|
||||
boolean mKeyguardFadingAway;
|
||||
long mKeyguardFadingAwayDuration;
|
||||
|
||||
ScrimState(int index) {
|
||||
mIndex = index;
|
||||
@@ -298,7 +299,8 @@ public enum ScrimState {
|
||||
mWakeLockScreenSensorActive = active;
|
||||
}
|
||||
|
||||
public void setUnlockIsFading(boolean unlockIsFading) {
|
||||
mUnlockIsFading = unlockIsFading;
|
||||
public void setKeyguardFadingAway(boolean fadingAway, long duration) {
|
||||
mKeyguardFadingAway = fadingAway;
|
||||
mKeyguardFadingAwayDuration = duration;
|
||||
}
|
||||
}
|
||||
@@ -938,7 +938,8 @@ public class StatusBar extends SystemUI implements DemoMode,
|
||||
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));
|
||||
@@ -3864,7 +3865,6 @@ public class StatusBar extends SystemUI implements DemoMode,
|
||||
|
||||
public void notifyBiometricAuthModeChanged() {
|
||||
updateDozing();
|
||||
mScrimController.setUnlockIsFading(mBiometricUnlockController.isUnlockFading());
|
||||
updateScrimController();
|
||||
mStatusBarWindow.onBiometricAuthModeChanged(mBiometricUnlockController.isWakeAndUnlock(),
|
||||
mBiometricUnlockController.isBiometricUnlock());
|
||||
|
||||
@@ -76,7 +76,7 @@ public interface KeyguardMonitor extends CallbackController<Callback> {
|
||||
}
|
||||
|
||||
interface Callback {
|
||||
void onKeyguardShowingChanged();
|
||||
default void onKeyguardShowingChanged() {}
|
||||
default void onKeyguardFadingAwayChanged() {}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -142,10 +142,10 @@ public class KeyguardMonitorImpl extends KeyguardUpdateMonitorCallback
|
||||
}
|
||||
|
||||
public void notifyKeyguardFadingAway(long delay, long fadeoutDuration, boolean isBypassFading) {
|
||||
setKeyguardFadingAway(true);
|
||||
mKeyguardFadingAwayDelay = delay;
|
||||
mKeyguardFadingAwayDuration = fadeoutDuration;
|
||||
mBypassFadingAnimation = isBypassFading;
|
||||
setKeyguardFadingAway(true);
|
||||
}
|
||||
|
||||
private void setKeyguardFadingAway(boolean keyguardFadingAway) {
|
||||
|
||||
@@ -47,6 +47,7 @@ import com.android.internal.colorextraction.ColorExtractor.GradientColors;
|
||||
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;
|
||||
|
||||
@@ -96,7 +97,8 @@ public class ScrimControllerTest extends SysuiTestCase {
|
||||
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);
|
||||
@@ -681,9 +683,9 @@ public class ScrimControllerTest extends SysuiTestCase {
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user