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

Commit ccbeef03 authored by Artem Iglikov's avatar Artem Iglikov
Browse files

Don't back up disabled apps.

This replicates ag/2116043 in RefactoredBackupManagerService.

Bug: 37150882

Test: manual

Change-Id: I83bec834b446f5855cd7ced0da24eb37e5880428
parent 4eccca92
Loading
Loading
Loading
Loading
+15 −1
Original line number Diff line number Diff line
@@ -3422,6 +3422,19 @@ 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,
@@ -3430,7 +3443,8 @@ public class RefactoredBackupManagerService implements BackupManagerServiceInter
            PackageInfo packageInfo = mPackageManager.getPackageInfo(packageName,
                    PackageManager.GET_SIGNATURES);
            if (!appIsEligibleForBackup(packageInfo.applicationInfo) ||
                    appIsStopped(packageInfo.applicationInfo)) {
                    appIsStopped(packageInfo.applicationInfo) ||
                    appIsDisabled(packageInfo.applicationInfo, mPackageManager)) {
                return false;
            }
            IBackupTransport transport = mTransportManager.getCurrentTransportBinder();