Merge "Don't send BOOT_COMPLETED to app in restricted backup mode" into main
diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java
index 3c57476..54a7410 100644
--- a/services/core/java/com/android/server/am/ActivityManagerService.java
+++ b/services/core/java/com/android/server/am/ActivityManagerService.java
@@ -4772,7 +4772,7 @@
if (!mConstants.mEnableWaitForFinishAttachApplication) {
finishAttachApplicationInner(startSeq, callingUid, pid);
}
- maybeSendBootCompletedLocked(app);
+ maybeSendBootCompletedLocked(app, isRestrictedBackupMode);
} catch (Exception e) {
// We need kill the process group here. (b/148588589)
Slog.wtf(TAG, "Exception thrown during bind of " + app, e);
@@ -5017,7 +5017,7 @@
* Send LOCKED_BOOT_COMPLETED and BOOT_COMPLETED to the package explicitly when unstopped,
* or when the package first starts in private space
*/
- private void maybeSendBootCompletedLocked(ProcessRecord app) {
+ private void maybeSendBootCompletedLocked(ProcessRecord app, boolean isRestrictedBackupMode) {
boolean sendBroadcast = false;
if (android.os.Flags.allowPrivateProfile()
&& android.multiuser.Flags.enablePrivateSpaceFeatures()) {
@@ -5043,6 +5043,9 @@
RESTRICTION_REASON_USAGE, "unknown", RESTRICTION_SOURCE_USER, 0L);
}
+ // Don't send BOOT_COMPLETED if currently in restricted backup mode
+ if (isRestrictedBackupMode) return;
+
if (!sendBroadcast) {
if (!android.content.pm.Flags.stayStopped()) return;
// Nothing to do if it wasn't previously stopped