Loading services/backup/java/com/android/server/backup/RefactoredBackupManagerService.java +9 −20 Original line number Diff line number Diff line Loading @@ -887,7 +887,7 @@ public class RefactoredBackupManagerService implements BackupManagerServiceInter PackageInfo pkg = mPackageManager.getPackageInfo(pkgName, 0); if (AppBackupUtils.appGetsFullBackup(pkg) && AppBackupUtils.appIsEligibleForBackup( pkg.applicationInfo)) { pkg.applicationInfo, mPackageManager)) { schedule.add(new FullBackupEntry(pkgName, lastBackup)); } else { if (DEBUG) { Loading @@ -908,7 +908,7 @@ public class RefactoredBackupManagerService implements BackupManagerServiceInter for (PackageInfo app : apps) { if (AppBackupUtils.appGetsFullBackup(app) && AppBackupUtils.appIsEligibleForBackup( app.applicationInfo)) { app.applicationInfo, mPackageManager)) { if (!foundApps.contains(app.packageName)) { if (MORE_DEBUG) { Slog.i(TAG, "New full backup app " + app.packageName + " found"); Loading @@ -934,7 +934,7 @@ public class RefactoredBackupManagerService implements BackupManagerServiceInter schedule = new ArrayList<>(apps.size()); for (PackageInfo info : apps) { if (AppBackupUtils.appGetsFullBackup(info) && AppBackupUtils.appIsEligibleForBackup( info.applicationInfo)) { info.applicationInfo, mPackageManager)) { schedule.add(new FullBackupEntry(info.packageName, 0)); } } Loading Loading @@ -1219,7 +1219,7 @@ public class RefactoredBackupManagerService implements BackupManagerServiceInter PackageInfo app = mPackageManager.getPackageInfo(packageName, 0); if (AppBackupUtils.appGetsFullBackup(app) && AppBackupUtils.appIsEligibleForBackup( app.applicationInfo)) { app.applicationInfo, mPackageManager)) { enqueueFullBackup(packageName, now); scheduleNextFullBackupJob(0); } else { Loading Loading @@ -1577,7 +1577,8 @@ public class RefactoredBackupManagerService implements BackupManagerServiceInter try { PackageInfo packageInfo = mPackageManager.getPackageInfo(packageName, PackageManager.GET_SIGNATURES); if (!AppBackupUtils.appIsEligibleForBackup(packageInfo.applicationInfo)) { if (!AppBackupUtils.appIsEligibleForBackup(packageInfo.applicationInfo, mPackageManager)) { BackupObserverUtils.sendBackupOnPackageResult(observer, packageName, BackupManager.ERROR_BACKUP_NOT_ALLOWED); continue; Loading Loading @@ -3206,19 +3207,6 @@ public class RefactoredBackupManagerService implements BackupManagerServiceInter } } // We also avoid backups of 'disabled' apps private static boolean appIsDisabled(ApplicationInfo app, PackageManager pm) { switch (pm.getApplicationEnabledSetting(app.packageName)) { case PackageManager.COMPONENT_ENABLED_STATE_DISABLED: case PackageManager.COMPONENT_ENABLED_STATE_DISABLED_USER: case PackageManager.COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED: return true; default: return false; } } @Override public boolean isAppEligibleForBackup(String packageName) { mContext.enforceCallingOrSelfPermission(android.Manifest.permission.BACKUP, Loading @@ -3226,9 +3214,10 @@ public class RefactoredBackupManagerService implements BackupManagerServiceInter try { PackageInfo packageInfo = mPackageManager.getPackageInfo(packageName, PackageManager.GET_SIGNATURES); if (!AppBackupUtils.appIsEligibleForBackup(packageInfo.applicationInfo) || if (!AppBackupUtils.appIsEligibleForBackup(packageInfo.applicationInfo, mPackageManager) || AppBackupUtils.appIsStopped(packageInfo.applicationInfo) || appIsDisabled(packageInfo.applicationInfo, mPackageManager)) { AppBackupUtils.appIsDisabled(packageInfo.applicationInfo, mPackageManager)) { return false; } IBackupTransport transport = mTransportManager.getCurrentTransportBinder(); Loading services/backup/java/com/android/server/backup/fullbackup/PerformAdbBackupTask.java +3 −4 Original line number Diff line number Diff line Loading @@ -236,12 +236,11 @@ public class PerformAdbBackupTask extends FullBackupTask implements BackupRestor obbConnection.establish(); // we'll want this later sendStartBackup(); PackageManager pm = backupManagerService.getPackageManager(); // doAllApps supersedes the package set if any if (mAllApps) { List<PackageInfo> allPackages = backupManagerService.getPackageManager().getInstalledPackages( PackageManager.GET_SIGNATURES); List<PackageInfo> allPackages = pm.getInstalledPackages(PackageManager.GET_SIGNATURES); for (int i = 0; i < allPackages.size(); i++) { PackageInfo pkg = allPackages.get(i); // Exclude system apps if we've been asked to do so Loading Loading @@ -288,7 +287,7 @@ public class PerformAdbBackupTask extends FullBackupTask implements BackupRestor Iterator<Entry<String, PackageInfo>> iter = packagesToBackup.entrySet().iterator(); while (iter.hasNext()) { PackageInfo pkg = iter.next().getValue(); if (!AppBackupUtils.appIsEligibleForBackup(pkg.applicationInfo) if (!AppBackupUtils.appIsEligibleForBackup(pkg.applicationInfo, pm) || AppBackupUtils.appIsStopped(pkg.applicationInfo)) { iter.remove(); if (DEBUG) { Loading services/backup/java/com/android/server/backup/fullbackup/PerformFullTransportBackupTask.java +3 −3 Original line number Diff line number Diff line Loading @@ -140,10 +140,10 @@ public class PerformFullTransportBackupTask extends FullBackupTask implements Ba for (String pkg : whichPackages) { try { PackageInfo info = backupManagerService.getPackageManager().getPackageInfo(pkg, PackageManager.GET_SIGNATURES); PackageManager pm = backupManagerService.getPackageManager(); PackageInfo info = pm.getPackageInfo(pkg, PackageManager.GET_SIGNATURES); mCurrentPackage = info; if (!AppBackupUtils.appIsEligibleForBackup(info.applicationInfo)) { if (!AppBackupUtils.appIsEligibleForBackup(info.applicationInfo, pm)) { // Cull any packages that have indicated that backups are not permitted, // that run as system-domain uids but do not define their own backup agents, // as well as any explicit mention of the 'special' shared-storage agent Loading services/backup/java/com/android/server/backup/internal/PerformBackupTask.java +3 −5 Original line number Diff line number Diff line Loading @@ -390,11 +390,9 @@ public class PerformBackupTask implements BackupRestoreTask { // to sanity-check here. This also gives us the classname of the // package's backup agent. try { mCurrentPackage = backupManagerService.getPackageManager().getPackageInfo( request.packageName, PackageManager.GET_SIGNATURES); if (!AppBackupUtils.appIsEligibleForBackup( mCurrentPackage.applicationInfo)) { PackageManager pm = backupManagerService.getPackageManager(); mCurrentPackage = pm.getPackageInfo(request.packageName, PackageManager.GET_SIGNATURES); if (!AppBackupUtils.appIsEligibleForBackup(mCurrentPackage.applicationInfo, pm)) { // The manifest has changed but we had a stale backup request pending. // This won't happen again because the app won't be requesting further // backups. Loading services/backup/java/com/android/server/backup/restore/PerformUnifiedRestoreTask.java +3 −4 Original line number Diff line number Diff line Loading @@ -198,8 +198,8 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask { boolean hasSettings = false; for (int i = 0; i < filterSet.length; i++) { try { PackageInfo info = backupManagerService.getPackageManager().getPackageInfo( filterSet[i], 0); PackageManager pm = backupManagerService.getPackageManager(); PackageInfo info = pm.getPackageInfo(filterSet[i], 0); if ("android".equals(info.packageName)) { hasSystem = true; continue; Loading @@ -209,8 +209,7 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask { continue; } if (AppBackupUtils.appIsEligibleForBackup( info.applicationInfo)) { if (AppBackupUtils.appIsEligibleForBackup(info.applicationInfo, pm)) { mAcceptSet.add(info); } } catch (NameNotFoundException e) { Loading Loading
services/backup/java/com/android/server/backup/RefactoredBackupManagerService.java +9 −20 Original line number Diff line number Diff line Loading @@ -887,7 +887,7 @@ public class RefactoredBackupManagerService implements BackupManagerServiceInter PackageInfo pkg = mPackageManager.getPackageInfo(pkgName, 0); if (AppBackupUtils.appGetsFullBackup(pkg) && AppBackupUtils.appIsEligibleForBackup( pkg.applicationInfo)) { pkg.applicationInfo, mPackageManager)) { schedule.add(new FullBackupEntry(pkgName, lastBackup)); } else { if (DEBUG) { Loading @@ -908,7 +908,7 @@ public class RefactoredBackupManagerService implements BackupManagerServiceInter for (PackageInfo app : apps) { if (AppBackupUtils.appGetsFullBackup(app) && AppBackupUtils.appIsEligibleForBackup( app.applicationInfo)) { app.applicationInfo, mPackageManager)) { if (!foundApps.contains(app.packageName)) { if (MORE_DEBUG) { Slog.i(TAG, "New full backup app " + app.packageName + " found"); Loading @@ -934,7 +934,7 @@ public class RefactoredBackupManagerService implements BackupManagerServiceInter schedule = new ArrayList<>(apps.size()); for (PackageInfo info : apps) { if (AppBackupUtils.appGetsFullBackup(info) && AppBackupUtils.appIsEligibleForBackup( info.applicationInfo)) { info.applicationInfo, mPackageManager)) { schedule.add(new FullBackupEntry(info.packageName, 0)); } } Loading Loading @@ -1219,7 +1219,7 @@ public class RefactoredBackupManagerService implements BackupManagerServiceInter PackageInfo app = mPackageManager.getPackageInfo(packageName, 0); if (AppBackupUtils.appGetsFullBackup(app) && AppBackupUtils.appIsEligibleForBackup( app.applicationInfo)) { app.applicationInfo, mPackageManager)) { enqueueFullBackup(packageName, now); scheduleNextFullBackupJob(0); } else { Loading Loading @@ -1577,7 +1577,8 @@ public class RefactoredBackupManagerService implements BackupManagerServiceInter try { PackageInfo packageInfo = mPackageManager.getPackageInfo(packageName, PackageManager.GET_SIGNATURES); if (!AppBackupUtils.appIsEligibleForBackup(packageInfo.applicationInfo)) { if (!AppBackupUtils.appIsEligibleForBackup(packageInfo.applicationInfo, mPackageManager)) { BackupObserverUtils.sendBackupOnPackageResult(observer, packageName, BackupManager.ERROR_BACKUP_NOT_ALLOWED); continue; Loading Loading @@ -3206,19 +3207,6 @@ public class RefactoredBackupManagerService implements BackupManagerServiceInter } } // We also avoid backups of 'disabled' apps private static boolean appIsDisabled(ApplicationInfo app, PackageManager pm) { switch (pm.getApplicationEnabledSetting(app.packageName)) { case PackageManager.COMPONENT_ENABLED_STATE_DISABLED: case PackageManager.COMPONENT_ENABLED_STATE_DISABLED_USER: case PackageManager.COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED: return true; default: return false; } } @Override public boolean isAppEligibleForBackup(String packageName) { mContext.enforceCallingOrSelfPermission(android.Manifest.permission.BACKUP, Loading @@ -3226,9 +3214,10 @@ public class RefactoredBackupManagerService implements BackupManagerServiceInter try { PackageInfo packageInfo = mPackageManager.getPackageInfo(packageName, PackageManager.GET_SIGNATURES); if (!AppBackupUtils.appIsEligibleForBackup(packageInfo.applicationInfo) || if (!AppBackupUtils.appIsEligibleForBackup(packageInfo.applicationInfo, mPackageManager) || AppBackupUtils.appIsStopped(packageInfo.applicationInfo) || appIsDisabled(packageInfo.applicationInfo, mPackageManager)) { AppBackupUtils.appIsDisabled(packageInfo.applicationInfo, mPackageManager)) { return false; } IBackupTransport transport = mTransportManager.getCurrentTransportBinder(); Loading
services/backup/java/com/android/server/backup/fullbackup/PerformAdbBackupTask.java +3 −4 Original line number Diff line number Diff line Loading @@ -236,12 +236,11 @@ public class PerformAdbBackupTask extends FullBackupTask implements BackupRestor obbConnection.establish(); // we'll want this later sendStartBackup(); PackageManager pm = backupManagerService.getPackageManager(); // doAllApps supersedes the package set if any if (mAllApps) { List<PackageInfo> allPackages = backupManagerService.getPackageManager().getInstalledPackages( PackageManager.GET_SIGNATURES); List<PackageInfo> allPackages = pm.getInstalledPackages(PackageManager.GET_SIGNATURES); for (int i = 0; i < allPackages.size(); i++) { PackageInfo pkg = allPackages.get(i); // Exclude system apps if we've been asked to do so Loading Loading @@ -288,7 +287,7 @@ public class PerformAdbBackupTask extends FullBackupTask implements BackupRestor Iterator<Entry<String, PackageInfo>> iter = packagesToBackup.entrySet().iterator(); while (iter.hasNext()) { PackageInfo pkg = iter.next().getValue(); if (!AppBackupUtils.appIsEligibleForBackup(pkg.applicationInfo) if (!AppBackupUtils.appIsEligibleForBackup(pkg.applicationInfo, pm) || AppBackupUtils.appIsStopped(pkg.applicationInfo)) { iter.remove(); if (DEBUG) { Loading
services/backup/java/com/android/server/backup/fullbackup/PerformFullTransportBackupTask.java +3 −3 Original line number Diff line number Diff line Loading @@ -140,10 +140,10 @@ public class PerformFullTransportBackupTask extends FullBackupTask implements Ba for (String pkg : whichPackages) { try { PackageInfo info = backupManagerService.getPackageManager().getPackageInfo(pkg, PackageManager.GET_SIGNATURES); PackageManager pm = backupManagerService.getPackageManager(); PackageInfo info = pm.getPackageInfo(pkg, PackageManager.GET_SIGNATURES); mCurrentPackage = info; if (!AppBackupUtils.appIsEligibleForBackup(info.applicationInfo)) { if (!AppBackupUtils.appIsEligibleForBackup(info.applicationInfo, pm)) { // Cull any packages that have indicated that backups are not permitted, // that run as system-domain uids but do not define their own backup agents, // as well as any explicit mention of the 'special' shared-storage agent Loading
services/backup/java/com/android/server/backup/internal/PerformBackupTask.java +3 −5 Original line number Diff line number Diff line Loading @@ -390,11 +390,9 @@ public class PerformBackupTask implements BackupRestoreTask { // to sanity-check here. This also gives us the classname of the // package's backup agent. try { mCurrentPackage = backupManagerService.getPackageManager().getPackageInfo( request.packageName, PackageManager.GET_SIGNATURES); if (!AppBackupUtils.appIsEligibleForBackup( mCurrentPackage.applicationInfo)) { PackageManager pm = backupManagerService.getPackageManager(); mCurrentPackage = pm.getPackageInfo(request.packageName, PackageManager.GET_SIGNATURES); if (!AppBackupUtils.appIsEligibleForBackup(mCurrentPackage.applicationInfo, pm)) { // The manifest has changed but we had a stale backup request pending. // This won't happen again because the app won't be requesting further // backups. Loading
services/backup/java/com/android/server/backup/restore/PerformUnifiedRestoreTask.java +3 −4 Original line number Diff line number Diff line Loading @@ -198,8 +198,8 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask { boolean hasSettings = false; for (int i = 0; i < filterSet.length; i++) { try { PackageInfo info = backupManagerService.getPackageManager().getPackageInfo( filterSet[i], 0); PackageManager pm = backupManagerService.getPackageManager(); PackageInfo info = pm.getPackageInfo(filterSet[i], 0); if ("android".equals(info.packageName)) { hasSystem = true; continue; Loading @@ -209,8 +209,7 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask { continue; } if (AppBackupUtils.appIsEligibleForBackup( info.applicationInfo)) { if (AppBackupUtils.appIsEligibleForBackup(info.applicationInfo, pm)) { mAcceptSet.add(info); } } catch (NameNotFoundException e) { Loading