Loading packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java +10 −0 Original line number Original line Diff line number Diff line Loading @@ -249,6 +249,16 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab public void onStateChanged(int newState) { public void onStateChanged(int newState) { mStatusBarState = newState; mStatusBarState = newState; } } @Override public void onExpandedChanged(boolean isExpanded) { for (int i = 0; i < mCallbacks.size(); i++) { KeyguardUpdateMonitorCallback cb = mCallbacks.get(i).get(); if (cb != null) { cb.onShadeExpandedChanged(isExpanded); } } } }; }; HashMap<Integer, SimData> mSimDatas = new HashMap<>(); HashMap<Integer, SimData> mSimDatas = new HashMap<>(); Loading packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitorCallback.java +4 −0 Original line number Original line Diff line number Diff line Loading @@ -333,4 +333,8 @@ public class KeyguardUpdateMonitorCallback { */ */ public void onRequireUnlockForNfc() { } public void onRequireUnlockForNfc() { } /** * Called when the notification shade is expanded or collapsed. */ public void onShadeExpandedChanged(boolean expanded) { } } } packages/SystemUI/src/com/android/systemui/doze/DozeUi.java +21 −2 Original line number Original line Diff line number Diff line Loading @@ -21,6 +21,7 @@ import static com.android.systemui.doze.DozeMachine.State.DOZE_AOD_PAUSED; import android.app.AlarmManager; import android.app.AlarmManager; import android.content.Context; import android.content.Context; import android.content.res.Configuration; import android.os.Handler; import android.os.Handler; import android.os.SystemClock; import android.os.SystemClock; import android.provider.Settings; import android.provider.Settings; Loading @@ -34,6 +35,7 @@ import com.android.systemui.dagger.qualifiers.Main; import com.android.systemui.doze.dagger.DozeScope; import com.android.systemui.doze.dagger.DozeScope; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.statusbar.phone.DozeParameters; import com.android.systemui.statusbar.phone.DozeParameters; import com.android.systemui.statusbar.policy.ConfigurationController; import com.android.systemui.tuner.TunerService; import com.android.systemui.tuner.TunerService; import com.android.systemui.util.AlarmTimeout; import com.android.systemui.util.AlarmTimeout; import com.android.systemui.util.wakelock.WakeLock; import com.android.systemui.util.wakelock.WakeLock; Loading @@ -48,7 +50,8 @@ import dagger.Lazy; * The policy controlling doze. * The policy controlling doze. */ */ @DozeScope @DozeScope public class DozeUi implements DozeMachine.Part, TunerService.Tunable { public class DozeUi implements DozeMachine.Part, TunerService.Tunable, ConfigurationController.ConfigurationListener { // if enabled, calls dozeTimeTick() whenever the time changes: // if enabled, calls dozeTimeTick() whenever the time changes: private static final boolean BURN_IN_TESTING_ENABLED = false; private static final boolean BURN_IN_TESTING_ENABLED = false; private static final long TIME_TICK_DEADLINE_MILLIS = 90 * 1000; // 1.5min private static final long TIME_TICK_DEADLINE_MILLIS = 90 * 1000; // 1.5min Loading @@ -63,6 +66,7 @@ public class DozeUi implements DozeMachine.Part, TunerService.Tunable { private final DozeLog mDozeLog; private final DozeLog mDozeLog; private final Lazy<StatusBarStateController> mStatusBarStateController; private final Lazy<StatusBarStateController> mStatusBarStateController; private final TunerService mTunerService; private final TunerService mTunerService; private final ConfigurationController mConfigurationController; private boolean mKeyguardShowing; private boolean mKeyguardShowing; private final KeyguardUpdateMonitorCallback mKeyguardVisibilityCallback = private final KeyguardUpdateMonitorCallback mKeyguardVisibilityCallback = Loading @@ -84,6 +88,11 @@ public class DozeUi implements DozeMachine.Part, TunerService.Tunable { mHandler.post(mWakeLock.wrap(() -> {})); mHandler.post(mWakeLock.wrap(() -> {})); } } } } @Override public void onShadeExpandedChanged(boolean expanded) { updateAnimateScreenOff(); } }; }; private long mLastTimeTickElapsed = 0; private long mLastTimeTickElapsed = 0; Loading @@ -93,7 +102,8 @@ public class DozeUi implements DozeMachine.Part, TunerService.Tunable { WakeLock wakeLock, DozeHost host, @Main Handler handler, WakeLock wakeLock, DozeHost host, @Main Handler handler, DozeParameters params, KeyguardUpdateMonitor keyguardUpdateMonitor, DozeParameters params, KeyguardUpdateMonitor keyguardUpdateMonitor, DozeLog dozeLog, TunerService tunerService, DozeLog dozeLog, TunerService tunerService, Lazy<StatusBarStateController> statusBarStateController) { Lazy<StatusBarStateController> statusBarStateController, ConfigurationController configurationController) { mContext = context; mContext = context; mWakeLock = wakeLock; mWakeLock = wakeLock; mHost = host; mHost = host; Loading @@ -107,11 +117,15 @@ public class DozeUi implements DozeMachine.Part, TunerService.Tunable { mStatusBarStateController = statusBarStateController; mStatusBarStateController = statusBarStateController; mTunerService.addTunable(this, Settings.Secure.DOZE_ALWAYS_ON); mTunerService.addTunable(this, Settings.Secure.DOZE_ALWAYS_ON); mConfigurationController = configurationController; mConfigurationController.addCallback(this); } } @Override @Override public void destroy() { public void destroy() { mTunerService.removeTunable(this); mTunerService.removeTunable(this); mConfigurationController.removeCallback(this); } } @Override @Override Loading Loading @@ -274,4 +288,9 @@ public class DozeUi implements DozeMachine.Part, TunerService.Tunable { updateAnimateScreenOff(); updateAnimateScreenOff(); } } } } @Override public void onConfigChanged(Configuration newConfig) { updateAnimateScreenOff(); } } } packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationWakeUpCoordinator.kt +1 −1 Original line number Original line Diff line number Diff line Loading @@ -264,7 +264,7 @@ class NotificationWakeUpCoordinator @Inject constructor( } } override fun onStateChanged(newState: Int) { override fun onStateChanged(newState: Int) { if (unlockedScreenOffAnimationController.shouldPlayScreenOffAnimation()) { if (dozeParameters.shouldControlUnlockedScreenOff()) { if (unlockedScreenOffAnimationController.isScreenOffAnimationPlaying() && if (unlockedScreenOffAnimationController.isScreenOffAnimationPlaying() && state == StatusBarState.KEYGUARD && state == StatusBarState.KEYGUARD && newState == StatusBarState.SHADE) { newState == StatusBarState.SHADE) { Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeParameters.java +6 −2 Original line number Original line Diff line number Diff line Loading @@ -63,6 +63,7 @@ public class DozeParameters implements TunerService.Tunable, private final Resources mResources; private final Resources mResources; private final BatteryController mBatteryController; private final BatteryController mBatteryController; private final FeatureFlags mFeatureFlags; private final FeatureFlags mFeatureFlags; private final UnlockedScreenOffAnimationController mUnlockedScreenOffAnimationController; private final Set<Callback> mCallbacks = new HashSet<>(); private final Set<Callback> mCallbacks = new HashSet<>(); Loading @@ -78,7 +79,8 @@ public class DozeParameters implements TunerService.Tunable, BatteryController batteryController, BatteryController batteryController, TunerService tunerService, TunerService tunerService, DumpManager dumpManager, DumpManager dumpManager, FeatureFlags featureFlags) { FeatureFlags featureFlags, UnlockedScreenOffAnimationController unlockedScreenOffAnimationController) { mResources = resources; mResources = resources; mAmbientDisplayConfiguration = ambientDisplayConfiguration; mAmbientDisplayConfiguration = ambientDisplayConfiguration; mAlwaysOnPolicy = alwaysOnDisplayPolicy; mAlwaysOnPolicy = alwaysOnDisplayPolicy; Loading @@ -89,6 +91,7 @@ public class DozeParameters implements TunerService.Tunable, mPowerManager = powerManager; mPowerManager = powerManager; mPowerManager.setDozeAfterScreenOff(!mControlScreenOffAnimation); mPowerManager.setDozeAfterScreenOff(!mControlScreenOffAnimation); mFeatureFlags = featureFlags; mFeatureFlags = featureFlags; mUnlockedScreenOffAnimationController = unlockedScreenOffAnimationController; tunerService.addTunable( tunerService.addTunable( this, this, Loading Loading @@ -220,7 +223,8 @@ public class DozeParameters implements TunerService.Tunable, * then abruptly showing AOD. * then abruptly showing AOD. */ */ public boolean shouldControlUnlockedScreenOff() { public boolean shouldControlUnlockedScreenOff() { return getAlwaysOn() && mFeatureFlags.useNewLockscreenAnimations(); return getAlwaysOn() && mFeatureFlags.useNewLockscreenAnimations() && mUnlockedScreenOffAnimationController.shouldPlayUnlockedScreenOffAnimation(); } } private boolean getBoolean(String propName, int resId) { private boolean getBoolean(String propName, int resId) { Loading Loading
packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java +10 −0 Original line number Original line Diff line number Diff line Loading @@ -249,6 +249,16 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab public void onStateChanged(int newState) { public void onStateChanged(int newState) { mStatusBarState = newState; mStatusBarState = newState; } } @Override public void onExpandedChanged(boolean isExpanded) { for (int i = 0; i < mCallbacks.size(); i++) { KeyguardUpdateMonitorCallback cb = mCallbacks.get(i).get(); if (cb != null) { cb.onShadeExpandedChanged(isExpanded); } } } }; }; HashMap<Integer, SimData> mSimDatas = new HashMap<>(); HashMap<Integer, SimData> mSimDatas = new HashMap<>(); Loading
packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitorCallback.java +4 −0 Original line number Original line Diff line number Diff line Loading @@ -333,4 +333,8 @@ public class KeyguardUpdateMonitorCallback { */ */ public void onRequireUnlockForNfc() { } public void onRequireUnlockForNfc() { } /** * Called when the notification shade is expanded or collapsed. */ public void onShadeExpandedChanged(boolean expanded) { } } }
packages/SystemUI/src/com/android/systemui/doze/DozeUi.java +21 −2 Original line number Original line Diff line number Diff line Loading @@ -21,6 +21,7 @@ import static com.android.systemui.doze.DozeMachine.State.DOZE_AOD_PAUSED; import android.app.AlarmManager; import android.app.AlarmManager; import android.content.Context; import android.content.Context; import android.content.res.Configuration; import android.os.Handler; import android.os.Handler; import android.os.SystemClock; import android.os.SystemClock; import android.provider.Settings; import android.provider.Settings; Loading @@ -34,6 +35,7 @@ import com.android.systemui.dagger.qualifiers.Main; import com.android.systemui.doze.dagger.DozeScope; import com.android.systemui.doze.dagger.DozeScope; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.statusbar.phone.DozeParameters; import com.android.systemui.statusbar.phone.DozeParameters; import com.android.systemui.statusbar.policy.ConfigurationController; import com.android.systemui.tuner.TunerService; import com.android.systemui.tuner.TunerService; import com.android.systemui.util.AlarmTimeout; import com.android.systemui.util.AlarmTimeout; import com.android.systemui.util.wakelock.WakeLock; import com.android.systemui.util.wakelock.WakeLock; Loading @@ -48,7 +50,8 @@ import dagger.Lazy; * The policy controlling doze. * The policy controlling doze. */ */ @DozeScope @DozeScope public class DozeUi implements DozeMachine.Part, TunerService.Tunable { public class DozeUi implements DozeMachine.Part, TunerService.Tunable, ConfigurationController.ConfigurationListener { // if enabled, calls dozeTimeTick() whenever the time changes: // if enabled, calls dozeTimeTick() whenever the time changes: private static final boolean BURN_IN_TESTING_ENABLED = false; private static final boolean BURN_IN_TESTING_ENABLED = false; private static final long TIME_TICK_DEADLINE_MILLIS = 90 * 1000; // 1.5min private static final long TIME_TICK_DEADLINE_MILLIS = 90 * 1000; // 1.5min Loading @@ -63,6 +66,7 @@ public class DozeUi implements DozeMachine.Part, TunerService.Tunable { private final DozeLog mDozeLog; private final DozeLog mDozeLog; private final Lazy<StatusBarStateController> mStatusBarStateController; private final Lazy<StatusBarStateController> mStatusBarStateController; private final TunerService mTunerService; private final TunerService mTunerService; private final ConfigurationController mConfigurationController; private boolean mKeyguardShowing; private boolean mKeyguardShowing; private final KeyguardUpdateMonitorCallback mKeyguardVisibilityCallback = private final KeyguardUpdateMonitorCallback mKeyguardVisibilityCallback = Loading @@ -84,6 +88,11 @@ public class DozeUi implements DozeMachine.Part, TunerService.Tunable { mHandler.post(mWakeLock.wrap(() -> {})); mHandler.post(mWakeLock.wrap(() -> {})); } } } } @Override public void onShadeExpandedChanged(boolean expanded) { updateAnimateScreenOff(); } }; }; private long mLastTimeTickElapsed = 0; private long mLastTimeTickElapsed = 0; Loading @@ -93,7 +102,8 @@ public class DozeUi implements DozeMachine.Part, TunerService.Tunable { WakeLock wakeLock, DozeHost host, @Main Handler handler, WakeLock wakeLock, DozeHost host, @Main Handler handler, DozeParameters params, KeyguardUpdateMonitor keyguardUpdateMonitor, DozeParameters params, KeyguardUpdateMonitor keyguardUpdateMonitor, DozeLog dozeLog, TunerService tunerService, DozeLog dozeLog, TunerService tunerService, Lazy<StatusBarStateController> statusBarStateController) { Lazy<StatusBarStateController> statusBarStateController, ConfigurationController configurationController) { mContext = context; mContext = context; mWakeLock = wakeLock; mWakeLock = wakeLock; mHost = host; mHost = host; Loading @@ -107,11 +117,15 @@ public class DozeUi implements DozeMachine.Part, TunerService.Tunable { mStatusBarStateController = statusBarStateController; mStatusBarStateController = statusBarStateController; mTunerService.addTunable(this, Settings.Secure.DOZE_ALWAYS_ON); mTunerService.addTunable(this, Settings.Secure.DOZE_ALWAYS_ON); mConfigurationController = configurationController; mConfigurationController.addCallback(this); } } @Override @Override public void destroy() { public void destroy() { mTunerService.removeTunable(this); mTunerService.removeTunable(this); mConfigurationController.removeCallback(this); } } @Override @Override Loading Loading @@ -274,4 +288,9 @@ public class DozeUi implements DozeMachine.Part, TunerService.Tunable { updateAnimateScreenOff(); updateAnimateScreenOff(); } } } } @Override public void onConfigChanged(Configuration newConfig) { updateAnimateScreenOff(); } } }
packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationWakeUpCoordinator.kt +1 −1 Original line number Original line Diff line number Diff line Loading @@ -264,7 +264,7 @@ class NotificationWakeUpCoordinator @Inject constructor( } } override fun onStateChanged(newState: Int) { override fun onStateChanged(newState: Int) { if (unlockedScreenOffAnimationController.shouldPlayScreenOffAnimation()) { if (dozeParameters.shouldControlUnlockedScreenOff()) { if (unlockedScreenOffAnimationController.isScreenOffAnimationPlaying() && if (unlockedScreenOffAnimationController.isScreenOffAnimationPlaying() && state == StatusBarState.KEYGUARD && state == StatusBarState.KEYGUARD && newState == StatusBarState.SHADE) { newState == StatusBarState.SHADE) { Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeParameters.java +6 −2 Original line number Original line Diff line number Diff line Loading @@ -63,6 +63,7 @@ public class DozeParameters implements TunerService.Tunable, private final Resources mResources; private final Resources mResources; private final BatteryController mBatteryController; private final BatteryController mBatteryController; private final FeatureFlags mFeatureFlags; private final FeatureFlags mFeatureFlags; private final UnlockedScreenOffAnimationController mUnlockedScreenOffAnimationController; private final Set<Callback> mCallbacks = new HashSet<>(); private final Set<Callback> mCallbacks = new HashSet<>(); Loading @@ -78,7 +79,8 @@ public class DozeParameters implements TunerService.Tunable, BatteryController batteryController, BatteryController batteryController, TunerService tunerService, TunerService tunerService, DumpManager dumpManager, DumpManager dumpManager, FeatureFlags featureFlags) { FeatureFlags featureFlags, UnlockedScreenOffAnimationController unlockedScreenOffAnimationController) { mResources = resources; mResources = resources; mAmbientDisplayConfiguration = ambientDisplayConfiguration; mAmbientDisplayConfiguration = ambientDisplayConfiguration; mAlwaysOnPolicy = alwaysOnDisplayPolicy; mAlwaysOnPolicy = alwaysOnDisplayPolicy; Loading @@ -89,6 +91,7 @@ public class DozeParameters implements TunerService.Tunable, mPowerManager = powerManager; mPowerManager = powerManager; mPowerManager.setDozeAfterScreenOff(!mControlScreenOffAnimation); mPowerManager.setDozeAfterScreenOff(!mControlScreenOffAnimation); mFeatureFlags = featureFlags; mFeatureFlags = featureFlags; mUnlockedScreenOffAnimationController = unlockedScreenOffAnimationController; tunerService.addTunable( tunerService.addTunable( this, this, Loading Loading @@ -220,7 +223,8 @@ public class DozeParameters implements TunerService.Tunable, * then abruptly showing AOD. * then abruptly showing AOD. */ */ public boolean shouldControlUnlockedScreenOff() { public boolean shouldControlUnlockedScreenOff() { return getAlwaysOn() && mFeatureFlags.useNewLockscreenAnimations(); return getAlwaysOn() && mFeatureFlags.useNewLockscreenAnimations() && mUnlockedScreenOffAnimationController.shouldPlayUnlockedScreenOffAnimation(); } } private boolean getBoolean(String propName, int resId) { private boolean getBoolean(String propName, int resId) { Loading