From 5352c7b334ab70dc848be81465c63068cb53bdac Mon Sep 17 00:00:00 2001 From: Adam Bookatz Date: Tue, 5 Nov 2024 09:58:07 -0800 Subject: Allowlist TelephonyProvider HSUM backup&restore Allow TelephonyProvider to be eligible for backup&restore on non-user-0 for HSUM devices, since on HSUM the provider really belongs to the MainUser. Test: manual backup and restore of messages on HSUM device Bug: 369560193 Flag: EXEMPT bugfix Change-Id: I4dfd4287a1f291b8c7ec3c2075a109696ffb8baa --- .../java/com/android/server/backup/UserBackupManagerService.java | 3 +++ .../com/android/server/backup/utils/BackupEligibilityRules.java | 7 +++++++ 2 files changed, 10 insertions(+) (limited to 'services/backup/java') diff --git a/services/backup/java/com/android/server/backup/UserBackupManagerService.java b/services/backup/java/com/android/server/backup/UserBackupManagerService.java index ddccb3731cc1..466d477992b3 100644 --- a/services/backup/java/com/android/server/backup/UserBackupManagerService.java +++ b/services/backup/java/com/android/server/backup/UserBackupManagerService.java @@ -281,6 +281,9 @@ public class UserBackupManagerService { private static final int SCHEDULE_FILE_VERSION = 1; public static final String SETTINGS_PACKAGE = "com.android.providers.settings"; + + public static final String TELEPHONY_PROVIDER_PACKAGE = "com.android.providers.telephony"; + public static final String SHARED_BACKUP_AGENT_PACKAGE = "com.android.sharedstoragebackup"; // Pseudoname that we use for the Package Manager metadata "package". diff --git a/services/backup/java/com/android/server/backup/utils/BackupEligibilityRules.java b/services/backup/java/com/android/server/backup/utils/BackupEligibilityRules.java index f24a3c1afc86..508b62cd83f0 100644 --- a/services/backup/java/com/android/server/backup/utils/BackupEligibilityRules.java +++ b/services/backup/java/com/android/server/backup/utils/BackupEligibilityRules.java @@ -21,6 +21,7 @@ import static com.android.server.backup.BackupManagerService.TAG; import static com.android.server.backup.UserBackupManagerService.PACKAGE_MANAGER_SENTINEL; import static com.android.server.backup.UserBackupManagerService.SETTINGS_PACKAGE; import static com.android.server.backup.UserBackupManagerService.SHARED_BACKUP_AGENT_PACKAGE; +import static com.android.server.backup.UserBackupManagerService.TELEPHONY_PROVIDER_PACKAGE; import static com.android.server.backup.UserBackupManagerService.WALLPAPER_PACKAGE; import static com.android.server.pm.PackageManagerService.PLATFORM_PACKAGE_NAME; @@ -75,6 +76,12 @@ public class BackupEligibilityRules { systemPackagesAllowedForProfileUser, Sets.newArraySet(WALLPAPER_PACKAGE, SETTINGS_PACKAGE)); + static { + if (UserManager.isHeadlessSystemUserMode()) { + systemPackagesAllowedForNonSystemUsers.add(TELEPHONY_PROVIDER_PACKAGE); + } + } + private final PackageManager mPackageManager; private final PackageManagerInternal mPackageManagerInternal; private final int mUserId; -- cgit v1.2.3-59-g8ed1b