diff options
5 files changed, 12 insertions, 37 deletions
diff --git a/packages/SystemUI/aconfig/systemui.aconfig b/packages/SystemUI/aconfig/systemui.aconfig index 436e92bc0efa..cf8115436fc6 100644 --- a/packages/SystemUI/aconfig/systemui.aconfig +++ b/packages/SystemUI/aconfig/systemui.aconfig @@ -1436,16 +1436,6 @@ flag { } flag { - name: "dozeui_scheduling_alarms_background_execution" - namespace: "systemui" - description: "Decide whether to execute binder calls to schedule alarms in background thread" - bug: "330492575" - metadata { - purpose: PURPOSE_BUGFIX - } -} - -flag { name: "media_lockscreen_launch_animation" namespace : "systemui" description : "Enable the origin launch animation for UMO when opening on top of lockscreen." diff --git a/packages/SystemUI/src/com/android/systemui/doze/DozeUi.java b/packages/SystemUI/src/com/android/systemui/doze/DozeUi.java index 9def81a89e3a..2b16e198b1b1 100644 --- a/packages/SystemUI/src/com/android/systemui/doze/DozeUi.java +++ b/packages/SystemUI/src/com/android/systemui/doze/DozeUi.java @@ -18,7 +18,6 @@ package com.android.systemui.doze; import static com.android.systemui.doze.DozeMachine.State.DOZE; import static com.android.systemui.doze.DozeMachine.State.DOZE_AOD_PAUSED; -import static com.android.systemui.Flags.dozeuiSchedulingAlarmsBackgroundExecution; import android.app.AlarmManager; import android.content.Context; @@ -84,13 +83,7 @@ public class DozeUi implements DozeMachine.Part { mBgExecutor = bgExecutor; mCanAnimateTransition = !params.getDisplayNeedsBlanking(); mDozeParameters = params; - if (dozeuiSchedulingAlarmsBackgroundExecution()) { - mTimeTicker = new AlarmTimeout(alarmManager, this::onTimeTick, "doze_time_tick", - bgHandler); - } else { - mTimeTicker = new AlarmTimeout(alarmManager, this::onTimeTick, "doze_time_tick", - handler); - } + mTimeTicker = new AlarmTimeout(alarmManager, this::onTimeTick, "doze_time_tick", bgHandler); mDozeLog = dozeLog; } @@ -184,7 +177,7 @@ public class DozeUi implements DozeMachine.Part { mTimeTickScheduled = true; long time = System.currentTimeMillis(); - long delta = roundToNextMinute(time) - System.currentTimeMillis(); + long delta = roundToNextMinute(time) - time; boolean scheduled = mTimeTicker.schedule(delta, AlarmTimeout.MODE_RESCHEDULE_IF_SCHEDULED); if (scheduled) { mDozeLog.traceTimeTickScheduled(time, time + delta); @@ -224,14 +217,8 @@ public class DozeUi implements DozeMachine.Part { private void onTimeTick() { verifyLastTimeTick(); - if (dozeuiSchedulingAlarmsBackgroundExecution()) { - mHandler.post(mHost::dozeTimeTick); - } else { - mHost.dozeTimeTick(); - } - // Keep wakelock until a frame has been pushed. - mHandler.post(mWakeLock.wrap(() -> {})); + mHandler.post(mWakeLock.wrap(mHost::dozeTimeTick)); mTimeTickScheduled = false; scheduleTimeTick(); diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java index 4755e2845587..6db2ebc0df2c 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java +++ b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java @@ -1744,6 +1744,9 @@ public class KeyguardViewMediator implements CoreStartable, mJavaAdapter.alwaysCollectFlow( mWallpaperRepository.getWallpaperSupportsAmbientMode(), this::setWallpaperSupportsAmbientMode); + mJavaAdapter.alwaysCollectFlow( + mKeyguardInteractor.getDozeTimeTick(), + this::triggerTimeUpdate); } @Override @@ -4056,6 +4059,10 @@ public class KeyguardViewMediator implements CoreStartable, mWallpaperSupportsAmbientMode = supportsAmbientMode; } + private void triggerTimeUpdate(long timeInMillis) { + mUpdateMonitor.triggerTimeUpdate(); + } + private static class StartKeyguardExitAnimParams { @WindowManager.TransitionOldType int mTransit; diff --git a/packages/SystemUI/src/com/android/systemui/util/AlarmTimeout.java b/packages/SystemUI/src/com/android/systemui/util/AlarmTimeout.java index a791376a48d5..38ac5e6be2e1 100644 --- a/packages/SystemUI/src/com/android/systemui/util/AlarmTimeout.java +++ b/packages/SystemUI/src/com/android/systemui/util/AlarmTimeout.java @@ -26,7 +26,6 @@ import android.os.SystemClock; */ public class AlarmTimeout implements AlarmManager.OnAlarmListener { - public static final int MODE_CRASH_IF_SCHEDULED = 0; public static final int MODE_IGNORE_IF_SCHEDULED = 1; public static final int MODE_RESCHEDULE_IF_SCHEDULED = 2; @@ -48,17 +47,11 @@ public class AlarmTimeout implements AlarmManager.OnAlarmListener { * Schedules an alarm in {@code timeout} milliseconds in the future. * * @param timeout How long to wait from now. - * @param mode {@link #MODE_CRASH_IF_SCHEDULED}, {@link #MODE_IGNORE_IF_SCHEDULED} or - * {@link #MODE_RESCHEDULE_IF_SCHEDULED}. + * @param mode {@link #MODE_IGNORE_IF_SCHEDULED} or {@link #MODE_RESCHEDULE_IF_SCHEDULED}. * @return {@code true} when scheduled successfully, {@code false} otherwise. */ public boolean schedule(long timeout, int mode) { switch (mode) { - case MODE_CRASH_IF_SCHEDULED: - if (mScheduled) { - throw new IllegalStateException(mTag + " timeout is already scheduled"); - } - break; case MODE_IGNORE_IF_SCHEDULED: if (mScheduled) { return false; diff --git a/packages/SystemUI/tests/src/com/android/systemui/keyguard/KeyguardViewMediatorTest.java b/packages/SystemUI/tests/src/com/android/systemui/keyguard/KeyguardViewMediatorTest.java index 8105ae0960ad..206654abcaaa 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/keyguard/KeyguardViewMediatorTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/keyguard/KeyguardViewMediatorTest.java @@ -101,7 +101,6 @@ import com.android.systemui.dreams.ui.viewmodel.DreamViewModel; import com.android.systemui.dump.DumpManager; import com.android.systemui.flags.FakeFeatureFlags; import com.android.systemui.flags.SystemPropertiesHelper; -import com.android.systemui.keyguard.domain.interactor.KeyguardInteractor; import com.android.systemui.keyguard.domain.interactor.KeyguardTransitionBootInteractor; import com.android.systemui.kosmos.KosmosJavaAdapter; import com.android.systemui.log.SessionTracker; @@ -207,7 +206,6 @@ public class KeyguardViewMediatorTest extends SysuiTestCase { private @Mock ShadeWindowLogger mShadeWindowLogger; private @Mock SelectedUserInteractor mSelectedUserInteractor; private @Mock UserTracker.Callback mUserTrackerCallback; - private @Mock KeyguardInteractor mKeyguardInteractor; private @Mock KeyguardTransitionBootInteractor mKeyguardTransitionBootInteractor; private @Captor ArgumentCaptor<KeyguardStateController.Callback> mKeyguardStateControllerCallback; @@ -1499,7 +1497,7 @@ public class KeyguardViewMediatorTest extends SysuiTestCase { mSystemPropertiesHelper, () -> mock(WindowManagerLockscreenVisibilityManager.class), mSelectedUserInteractor, - mKeyguardInteractor, + mKosmos.getKeyguardInteractor(), mKeyguardTransitionBootInteractor, mKosmos::getCommunalSceneInteractor, mock(WindowManagerOcclusionManager.class)); |