History log of /frameworks/base/services/java/com/android/server/PackageManagerBackupAgent.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
3d7cd13e772bde1c4a72fa4e740baa03cb042e6c 07-Jul-2009 Christopher Tate <ctate@google.com> Fix the metadata-available test during restore
/frameworks/base/services/java/com/android/server/PackageManagerBackupAgent.java
72d19aa51e90d45c7895629db78e548da2f6d469 30-Jun-2009 Christopher Tate <ctate@google.com> Tighten up the metadata backup logic

We now store the app version codes and and global OS incremental version name in
the PM backup state and the actual backup record. We then use that information
to trigger a re-backup of the metadata if the OS revision changes in any way, or
to back up single apps' metadata if we notice that they've been upgraded.
/frameworks/base/services/java/com/android/server/PackageManagerBackupAgent.java
6f317426e49e73ef3e50d8839877504039cd2fca 30-Jun-2009 Christopher Tate <ctate@google.com> Don't issue a deletion for the global metadata backup

We were accidentally submitting a deletion for the global metadata key in the
PM backup handling (it was falling into the usual "here's a package that we said
we'd backed up last time, but now it's no longer on device" code). Don't do
that any more, i.e. actually keep the global metadata key in the backup set.
Oops.
/frameworks/base/services/java/com/android/server/PackageManagerBackupAgent.java
efe52647f6b41993be43a5f47d1178bb0468cec8 24-Jun-2009 Dan Egnor <egnor@google.com> Modify the IBackupTransport API to support bulk restore operations.
Change the BackupManagerService and LocalTransport to support the new API.
/frameworks/base/services/java/com/android/server/PackageManagerBackupAgent.java
5cbbf5652a78902ac3382dc4a3583bc5b0351027 23-Jun-2009 Christopher Tate <ctate@google.com> Pass the originating app's versionCode along with a restore set

This change amends the doRestore() / onRestore() interface to backup agents to
provide the integer android:versionCode of the app that stored the backup set.
This should help agents figure out how to handle whatever historical data set
they're handed at restore time.
/frameworks/base/services/java/com/android/server/PackageManagerBackupAgent.java
3a31a93b8a195ae2d0180e6dfbf292da2e581f50 23-Jun-2009 Christopher Tate <ctate@google.com> Add some global metadata to the restore set

In addition to the signatures of each participating application, we now also
store the versionCode of each backed-up package, plus the OS version running on
the device that contributed the backup set. We also refuse to process a backup
from a later OS revision to an earlier one, or from a later app version to an
earlier.

LocalTransport has been modified as well to be more resilient to changes in the
system's use of metadata pseudopackages.
/frameworks/base/services/java/com/android/server/PackageManagerBackupAgent.java
6aa41f4c575479672661f7eb4c704ef59d26a629 19-Jun-2009 Christopher Tate <ctate@google.com> Add app version to the backup metadata

We now record the version number of the app (drawn from its manifest versionCode
attribute) along with its signatures. At restore time, we compare the version
associated with the restore set with the version present on the device. If the
restore set is from a newer version of the app than is present on device, we do
not perform the restore operation.

Also fix the pending-backup iteration in 'dumpsys backup'.
/frameworks/base/services/java/com/android/server/PackageManagerBackupAgent.java
6785dd842075889e5230d93ed9c0ab9c204ab432 19-Jun-2009 Christopher Tate <ctate@google.com> Store the app signatures as part of the backup set

Under a pseudo-app for the Package Manager, we store the app signatures for all
participating applications installed on the device. At restore time we will
restore this first, then ensure that the current on-device signature chain is
compatible with the one in the backup set. If there's a mismatch, this may be a
spoof attempt and we will refuse to restore that app's data.

The restore side of this is not implemented, but the Package Manager agent is
here as well as the backup side theoretically pushing the data now.
/frameworks/base/services/java/com/android/server/PackageManagerBackupAgent.java