Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f427b799 authored by Sam Dubey's avatar Sam Dubey Committed by Automerger Merge Worker
Browse files

Merge "Revert "Ensure SystemUI gets restarted lazily."" into tm-qpr-dev am:...

Merge "Revert "Ensure SystemUI gets restarted lazily."" into tm-qpr-dev am: 68888b39 am: 61ce3c25

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20513030



Change-Id: Iadca84a1e1b5b75818eb99ae55c777c7f59851c7
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 609e22d9 61ce3c25
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -87,7 +87,7 @@ public class FeatureFlagsDebug implements FeatureFlags {
            new ServerFlagReader.ChangeListener() {
                @Override
                public void onChange() {
                    mRestarter.restartSystemUI();
                    mRestarter.restart();
                }
            };

@@ -327,7 +327,9 @@ public class FeatureFlagsDebug implements FeatureFlags {
            Log.i(TAG, "SystemUI Restart Suppressed");
            return;
        }
        mRestarter.restartSystemUI();
        Log.i(TAG, "Restarting SystemUI");
        // SysUI starts back when up exited. Is there a better way to do this?
        System.exit(0);
    }

    private void restartAndroid(boolean requestSuppress) {
@@ -335,7 +337,7 @@ public class FeatureFlagsDebug implements FeatureFlags {
            Log.i(TAG, "Android Restart Suppressed");
            return;
        }
        mRestarter.restartAndroid();
        mRestarter.restart();
    }

    void setBooleanFlagInternal(Flag<?> flag, boolean value) {
+3 −19
Original line number Diff line number Diff line
@@ -28,8 +28,6 @@ constructor(
    private val systemExitRestarter: SystemExitRestarter,
) : Restarter {

    private var androidRestartRequested = false

    val observer =
        object : WakefulnessLifecycle.Observer {
            override fun onFinishedGoingToSleep() {
@@ -38,18 +36,8 @@ constructor(
            }
        }

    override fun restartSystemUI() {
        Log.d(FeatureFlagsDebug.TAG, "SystemUI Restart requested. Restarting on next screen off.")
        scheduleRestart()
    }

    override fun restartAndroid() {
        Log.d(FeatureFlagsDebug.TAG, "Android Restart requested. Restarting on next screen off.")
        androidRestartRequested = true
        scheduleRestart()
    }

    fun scheduleRestart() {
    override fun restart() {
        Log.d(FeatureFlagsDebug.TAG, "Restart requested. Restarting on next screen off.")
        if (wakefulnessLifecycle.wakefulness == WakefulnessLifecycle.WAKEFULNESS_ASLEEP) {
            restartNow()
        } else {
@@ -58,10 +46,6 @@ constructor(
    }

    private fun restartNow() {
        if (androidRestartRequested) {
            systemExitRestarter.restartAndroid()
        } else {
            systemExitRestarter.restartSystemUI()
        }
        systemExitRestarter.restart()
    }
}
+1 −1
Original line number Diff line number Diff line
@@ -61,7 +61,7 @@ public class FeatureFlagsRelease implements FeatureFlags {
            new ServerFlagReader.ChangeListener() {
                @Override
                public void onChange() {
                    mRestarter.restartSystemUI();
                    mRestarter.restart();
                }
            };

+13 −30
Original line number Diff line number Diff line
@@ -34,48 +34,35 @@ constructor(
    @Background private val bgExecutor: DelayableExecutor,
    private val systemExitRestarter: SystemExitRestarter
) : Restarter {
    var listenersAdded = false
    var shouldRestart = false
    var pendingRestart: Runnable? = null
    var androidRestartRequested = false

    val observer =
        object : WakefulnessLifecycle.Observer {
            override fun onFinishedGoingToSleep() {
                scheduleRestart()
                maybeScheduleRestart()
            }
        }

    val batteryCallback =
        object : BatteryController.BatteryStateChangeCallback {
            override fun onBatteryLevelChanged(level: Int, pluggedIn: Boolean, charging: Boolean) {
                scheduleRestart()
                maybeScheduleRestart()
            }
        }

    override fun restartSystemUI() {
        Log.d(
            FeatureFlagsDebug.TAG,
            "SystemUI Restart requested. Restarting when plugged in and idle."
        )
        scheduleRestart()
    }

    override fun restartAndroid() {
        Log.d(
            FeatureFlagsDebug.TAG,
            "Android Restart requested. Restarting when plugged in and idle."
        )
        androidRestartRequested = true
        scheduleRestart()
    }

    private fun scheduleRestart() {
        // Don't bother adding listeners twice.
        if (!listenersAdded) {
            listenersAdded = true
    override fun restart() {
        Log.d(FeatureFlagsDebug.TAG, "Restart requested. Restarting when plugged in and idle.")
        if (!shouldRestart) {
            // Don't bother scheduling twice.
            shouldRestart = true
            wakefulnessLifecycle.addObserver(observer)
            batteryController.addCallback(batteryCallback)
            maybeScheduleRestart()
        }
    }

    private fun maybeScheduleRestart() {
        if (
            wakefulnessLifecycle.wakefulness == WAKEFULNESS_ASLEEP && batteryController.isPluggedIn
        ) {
@@ -90,10 +77,6 @@ constructor(

    private fun restartNow() {
        Log.d(FeatureFlagsRelease.TAG, "Restarting due to systemui flag change")
        if (androidRestartRequested) {
            systemExitRestarter.restartAndroid()
        } else {
            systemExitRestarter.restartSystemUI()
        }
        systemExitRestarter.restart()
    }
}
+2 −4
Original line number Diff line number Diff line
@@ -16,7 +16,5 @@
package com.android.systemui.flags

interface Restarter {
    fun restartSystemUI()

    fun restartAndroid()
    fun restart()
}
 No newline at end of file
Loading