Merge "Using the keyguard fading away duration for the scrim" into qt-r1-dev

This commit is contained in:
TreeHugger Robot
2019-08-12 22:44:56 +00:00
committed by Android (Google) Code Review
8 changed files with 37 additions and 21 deletions

View File

@@ -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,

View File

@@ -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();
}
}
};

View File

@@ -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);
}
}

View File

@@ -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;
}
}

View File

@@ -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());

View File

@@ -76,7 +76,7 @@ public interface KeyguardMonitor extends CallbackController<Callback> {
}
interface Callback {
void onKeyguardShowingChanged();
default void onKeyguardShowingChanged() {}
default void onKeyguardFadingAwayChanged() {}
}
}

View File

@@ -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) {

View File

@@ -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