From 41550fbacebe5bec15b68b1fb1d1bc66fa28b47d Mon Sep 17 00:00:00 2001 From: Alex Stetson Date: Tue, 24 Jan 2023 15:50:27 -0800 Subject: [PATCH] Only send started broadcast for main sysui process Protected broadcasts can only be sent by system apps and since the sysui started broadcast is protected, it should only be sent by the system (user 0) process. Bug: 266454339 Test: manual Change-Id: I87fd07f927902a36dbe62eec954b9a716c416b5b --- .../systemui/flags/FeatureFlagsDebugStartable.kt | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/flags/FeatureFlagsDebugStartable.kt b/packages/SystemUI/src/com/android/systemui/flags/FeatureFlagsDebugStartable.kt index b94d781154dd0..dc7fc28f3c0d6 100644 --- a/packages/SystemUI/src/com/android/systemui/flags/FeatureFlagsDebugStartable.kt +++ b/packages/SystemUI/src/com/android/systemui/flags/FeatureFlagsDebugStartable.kt @@ -21,6 +21,7 @@ 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 com.android.systemui.util.InitializationChecker import dagger.Binds import dagger.Module import dagger.multibindings.ClassKey @@ -34,7 +35,8 @@ constructor( private val commandRegistry: CommandRegistry, private val flagCommand: FlagCommand, private val featureFlags: FeatureFlagsDebug, - private val broadcastSender: BroadcastSender + private val broadcastSender: BroadcastSender, + private val initializationChecker: InitializationChecker ) : CoreStartable { init { @@ -46,8 +48,11 @@ constructor( override fun start() { featureFlags.init() commandRegistry.registerCommand(FlagCommand.FLAG_COMMAND) { flagCommand } - val intent = Intent(FlagManager.ACTION_SYSUI_STARTED) - broadcastSender.sendBroadcast(intent) + if (initializationChecker.initializeComponents()) { + // protected broadcast should only be sent for the main process + val intent = Intent(FlagManager.ACTION_SYSUI_STARTED) + broadcastSender.sendBroadcast(intent) + } } }