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

Commit 69cc3e9d authored by Dave Mankoff's avatar Dave Mankoff Committed by Android (Google) Code Review
Browse files

Merge changes from topic "b257302229-flag-restart" into tm-qpr-dev

* changes:
  Send a SysUI Started broadcast.
  Revert "Revert "Ensure SystemUI gets restarted lazily.""
parents ba0a4d16 aceb53b6
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -38,6 +38,7 @@ class FlagManager constructor(
        const val ACTION_SET_FLAG = "com.android.systemui.action.SET_FLAG"
        const val ACTION_GET_FLAGS = "com.android.systemui.action.GET_FLAGS"
        const val FLAGS_PERMISSION = "com.android.systemui.permission.FLAGS"
        const val ACTION_SYSUI_STARTED = "com.android.systemui.STARTED"
        const val EXTRA_ID = "id"
        const val EXTRA_VALUE = "value"
        const val EXTRA_FLAGS = "flags"
+3 −5
Original line number Diff line number Diff line
@@ -86,7 +86,7 @@ public class FeatureFlagsDebug implements FeatureFlags {
            new ServerFlagReader.ChangeListener() {
                @Override
                public void onChange() {
                    mRestarter.restart();
                    mRestarter.restartSystemUI();
                }
            };

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

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

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

    private var androidRestartRequested = false

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

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

    private fun restartNow() {
        systemExitRestarter.restart()
        if (androidRestartRequested) {
            systemExitRestarter.restartAndroid()
        } else {
            systemExitRestarter.restartSystemUI()
        }
    }
}
+6 −1
Original line number Diff line number Diff line
@@ -16,7 +16,9 @@

package com.android.systemui.flags

import android.content.Intent
import com.android.systemui.CoreStartable
import com.android.systemui.broadcast.BroadcastSender
import com.android.systemui.dump.DumpManager
import com.android.systemui.statusbar.commandline.CommandRegistry
import dagger.Binds
@@ -31,7 +33,8 @@ constructor(
    dumpManager: DumpManager,
    private val commandRegistry: CommandRegistry,
    private val flagCommand: FlagCommand,
    private val featureFlags: FeatureFlagsDebug
    private val featureFlags: FeatureFlagsDebug,
    private val broadcastSender: BroadcastSender
) : CoreStartable {

    init {
@@ -43,6 +46,8 @@ constructor(
    override fun start() {
        featureFlags.init()
        commandRegistry.registerCommand(FlagCommand.FLAG_COMMAND) { flagCommand }
        val intent = Intent(FlagManager.ACTION_SYSUI_STARTED)
        broadcastSender.sendBroadcast(intent)
    }
}

+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.restart();
                    mRestarter.restartSystemUI();
                }
            };

Loading