diff options
Diffstat (limited to 'services/java/com/android/server/PackageManagerBackupAgent.java')
-rw-r--r-- | services/java/com/android/server/PackageManagerBackupAgent.java | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/services/java/com/android/server/PackageManagerBackupAgent.java b/services/java/com/android/server/PackageManagerBackupAgent.java index dbd1826..9551db5 100644 --- a/services/java/com/android/server/PackageManagerBackupAgent.java +++ b/services/java/com/android/server/PackageManagerBackupAgent.java @@ -40,6 +40,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; import java.util.List; +import java.util.Set; /** * We back up the signatures of each package so that during a system restore, @@ -100,6 +101,20 @@ public class PackageManagerBackupAgent extends BackupAgent { return mRestoredSignatures.get(packageName); } + + public Set<String> getRestoredPackages() { + if (mRestoredSignatures == null) { + Log.w(TAG, "getRestoredPackages() before metadata read!"); + return null; + } + + // This is technically the set of packages on the originating handset + // that had backup agents at all, not limited to the set of packages + // that had actually contributed a restore dataset, but it's a + // close enough approximation for our purposes and does not require any + // additional involvement by the transport to obtain. + return mRestoredSignatures.keySet(); + } // The backed up data is the signature block for each app, keyed by // the package name. |