diff options
| author | Joe Onorato <joeo@android.com> | 2009-06-17 17:55:20 -0700 |
|---|---|---|
| committer | Joe Onorato <joeo@android.com> | 2009-06-17 17:57:30 -0700 |
| commit | 83248c432ffe2e2a17abbc8e4960c26574b46bca (patch) | |
| tree | 9e8de2f1eb84d52481573c9c1d824c6be4a6fdc0 /core/java/android/backup | |
| parent | 6ce1983a2b5e9f5e735ac09b270b400084edb7db (diff) | |
| download | frameworks_base-83248c432ffe2e2a17abbc8e4960c26574b46bca.zip frameworks_base-83248c432ffe2e2a17abbc8e4960c26574b46bca.tar.gz frameworks_base-83248c432ffe2e2a17abbc8e4960c26574b46bca.tar.bz2 | |
backup fixes:
- BackupTestAgent calls the DispatchHelper
- Make BackupAgent.onRestore take a BackupDataInput, not just a
generic ParcelFileDescriptor.
Diffstat (limited to 'core/java/android/backup')
| -rw-r--r-- | core/java/android/backup/BackupDataOutput.java | 4 | ||||
| -rw-r--r-- | core/java/android/backup/RestoreHelperDispatcher.java | 17 |
2 files changed, 18 insertions, 3 deletions
diff --git a/core/java/android/backup/BackupDataOutput.java b/core/java/android/backup/BackupDataOutput.java index 1348d81..a6d5bec 100644 --- a/core/java/android/backup/BackupDataOutput.java +++ b/core/java/android/backup/BackupDataOutput.java @@ -24,13 +24,11 @@ import java.io.IOException; /** @hide */ public class BackupDataOutput { int mBackupWriter; - private Context mContext; public static final int OP_UPDATE = 1; public static final int OP_DELETE = 2; - public BackupDataOutput(Context context, FileDescriptor fd) { - mContext = context; + public BackupDataOutput(FileDescriptor fd) { if (fd == null) throw new NullPointerException(); mBackupWriter = ctor(fd); if (mBackupWriter == 0) { diff --git a/core/java/android/backup/RestoreHelperDispatcher.java b/core/java/android/backup/RestoreHelperDispatcher.java index 8fcade4..5928914 100644 --- a/core/java/android/backup/RestoreHelperDispatcher.java +++ b/core/java/android/backup/RestoreHelperDispatcher.java @@ -16,11 +16,15 @@ package android.backup; +import android.util.Log; + import java.io.IOException; import java.util.HashMap; /** @hide */ public class RestoreHelperDispatcher { + private static final String TAG = "RestoreHelperDispatcher"; + HashMap<String,RestoreHelper> mHelpers = new HashMap<String,RestoreHelper>(); public void addHelper(String keyPrefix, RestoreHelper helper) { @@ -28,8 +32,11 @@ public class RestoreHelperDispatcher { } public void dispatch(BackupDataInput input) throws IOException { + boolean alreadyComplained = false; + BackupDataInputStream stream = new BackupDataInputStream(input); while (input.readNextHeader()) { + String rawKey = input.getKey(); int pos = rawKey.indexOf(':'); if (pos > 0) { @@ -39,6 +46,16 @@ public class RestoreHelperDispatcher { stream.dataSize = input.getDataSize(); stream.key = rawKey.substring(pos+1); helper.restoreEntity(stream); + } else { + if (!alreadyComplained) { + Log.w(TAG, "Couldn't find helper for: '" + rawKey + "'"); + alreadyComplained = true; + } + } + } else { + if (!alreadyComplained) { + Log.w(TAG, "Entity with no prefix: '" + rawKey + "'"); + alreadyComplained = true; } } input.skipEntityData(); // In case they didn't consume the data. |
