summaryrefslogtreecommitdiff
path: root/core/java/android
diff options
context:
space:
mode:
Diffstat (limited to 'core/java/android')
-rw-r--r--core/java/android/app/BackupAgent.java11
-rw-r--r--core/java/android/app/FullBackupAgent.java2
-rw-r--r--core/java/android/app/IBackupAgent.aidl7
-rw-r--r--core/java/android/backup/BackupHelperAgent.java4
-rw-r--r--core/java/android/backup/BackupHelperDispatcher.java3
-rw-r--r--core/java/android/backup/IBackupManager.aidl8
6 files changed, 23 insertions, 12 deletions
diff --git a/core/java/android/app/BackupAgent.java b/core/java/android/app/BackupAgent.java
index 85c001c097c6..e8107756cc6f 100644
--- a/core/java/android/app/BackupAgent.java
+++ b/core/java/android/app/BackupAgent.java
@@ -78,11 +78,16 @@ public abstract class BackupAgent extends ContextWrapper {
*
* @param data An open, read-only ParcelFileDescriptor pointing to a full snapshot
* of the application's data.
+ * @param appVersionCode The android:versionCode value of the application that backed
+ * up this particular data set. This makes it easier for an application's
+ * agent to distinguish among several possible older data versions when
+ * asked to perform the restore operation.
* @param newState An open, read/write ParcelFileDescriptor pointing to an empty
* file. The application should record the final backup state
* here after restoring its data from dataFd.
*/
- public abstract void onRestore(BackupDataInput data, ParcelFileDescriptor newState)
+ public abstract void onRestore(BackupDataInput data, int appVersionCode,
+ ParcelFileDescriptor newState)
throws IOException;
@@ -121,13 +126,13 @@ public abstract class BackupAgent extends ContextWrapper {
}
}
- public void doRestore(ParcelFileDescriptor data,
+ public void doRestore(ParcelFileDescriptor data, int appVersionCode,
ParcelFileDescriptor newState) throws RemoteException {
// !!! TODO - real implementation; for now just invoke the callbacks directly
Log.v(TAG, "doRestore() invoked");
BackupDataInput input = new BackupDataInput(data.getFileDescriptor());
try {
- BackupAgent.this.onRestore(input, newState);
+ BackupAgent.this.onRestore(input, appVersionCode, newState);
} catch (IOException ex) {
Log.d(TAG, "onRestore (" + BackupAgent.this.getClass().getName() + ") threw", ex);
throw new RuntimeException(ex);
diff --git a/core/java/android/app/FullBackupAgent.java b/core/java/android/app/FullBackupAgent.java
index bc6bb151baf4..d89db9667473 100644
--- a/core/java/android/app/FullBackupAgent.java
+++ b/core/java/android/app/FullBackupAgent.java
@@ -53,6 +53,6 @@ public class FullBackupAgent extends BackupAgent {
}
@Override
- public void onRestore(BackupDataInput data, ParcelFileDescriptor newState) {
+ public void onRestore(BackupDataInput data, int appVersionCode, ParcelFileDescriptor newState) {
}
}
diff --git a/core/java/android/app/IBackupAgent.aidl b/core/java/android/app/IBackupAgent.aidl
index bb9f00830d8e..9b0550fce64b 100644
--- a/core/java/android/app/IBackupAgent.aidl
+++ b/core/java/android/app/IBackupAgent.aidl
@@ -51,9 +51,14 @@ interface IBackupAgent {
* app's backup. This is to be a <i>replacement</i> of the app's
* current data, not to be merged into it.
*
+ * @param appVersionCode The android:versionCode attribute of the application
+ * that created this data set. This can help the agent distinguish among
+ * various historical backup content possibilities.
+ *
* @param newState Read-write file, empty when onRestore() is called,
* that is to be written with the state description that holds after
* the restore has been completed.
*/
- void doRestore(in ParcelFileDescriptor data, in ParcelFileDescriptor newState);
+ void doRestore(in ParcelFileDescriptor data, int appVersionCode,
+ in ParcelFileDescriptor newState);
}
diff --git a/core/java/android/backup/BackupHelperAgent.java b/core/java/android/backup/BackupHelperAgent.java
index f7eb1b88df47..3720d5088635 100644
--- a/core/java/android/backup/BackupHelperAgent.java
+++ b/core/java/android/backup/BackupHelperAgent.java
@@ -39,9 +39,9 @@ public class BackupHelperAgent extends BackupAgent {
}
@Override
- public void onRestore(BackupDataInput data, ParcelFileDescriptor newState)
+ public void onRestore(BackupDataInput data, int appVersionCode, ParcelFileDescriptor newState)
throws IOException {
- mDispatcher.performRestore(data, newState);
+ mDispatcher.performRestore(data, appVersionCode, newState);
}
public BackupHelperDispatcher getDispatcher() {
diff --git a/core/java/android/backup/BackupHelperDispatcher.java b/core/java/android/backup/BackupHelperDispatcher.java
index e9a8f71b4e1c..b25c3e3ed884 100644
--- a/core/java/android/backup/BackupHelperDispatcher.java
+++ b/core/java/android/backup/BackupHelperDispatcher.java
@@ -46,7 +46,8 @@ public class BackupHelperDispatcher {
}
}
- public void performRestore(BackupDataInput input, ParcelFileDescriptor newState)
+ public void performRestore(BackupDataInput input, int appVersionCode,
+ ParcelFileDescriptor newState)
throws IOException {
boolean alreadyComplained = false;
diff --git a/core/java/android/backup/IBackupManager.aidl b/core/java/android/backup/IBackupManager.aidl
index efc664c54a24..d6283d048b7d 100644
--- a/core/java/android/backup/IBackupManager.aidl
+++ b/core/java/android/backup/IBackupManager.aidl
@@ -33,19 +33,19 @@ interface IBackupManager {
* Tell the system service that the caller has made changes to its
* data, and therefore needs to undergo an incremental backup pass.
*/
- oneway void dataChanged(String packageName);
+ void dataChanged(String packageName);
/**
* Notifies the Backup Manager Service that an agent has become available. This
* method is only invoked by the Activity Manager.
*/
- oneway void agentConnected(String packageName, IBinder agent);
+ void agentConnected(String packageName, IBinder agent);
/**
* Notify the Backup Manager Service that an agent has unexpectedly gone away.
* This method is only invoked by the Activity Manager.
*/
- oneway void agentDisconnected(String packageName);
+ void agentDisconnected(String packageName);
/**
* Schedule an immediate backup attempt for all pending updates. This is
@@ -57,7 +57,7 @@ interface IBackupManager {
*
* <p>Callers must hold the android.permission.BACKUP permission to use this method.
*/
- oneway void backupNow();
+ void backupNow();
/**
* Identify the currently selected transport. Callers must hold the