summaryrefslogtreecommitdiffstats
path: root/services/java/com/android/server/BackupManagerService.java
diff options
context:
space:
mode:
authorChristopher Tate <ctate@google.com>2011-05-13 15:38:02 -0700
committerChristopher Tate <ctate@google.com>2011-05-13 15:38:02 -0700
commitdc92c82b4180e8067f1acd00a7db7935afce00ff (patch)
tree4c108ce188aba5c0f2df9c8746fcabe981a47e64 /services/java/com/android/server/BackupManagerService.java
parent83a7cdc56539d00933c2e25999620cec94c524b6 (diff)
downloadframeworks_base-dc92c82b4180e8067f1acd00a7db7935afce00ff.zip
frameworks_base-dc92c82b4180e8067f1acd00a7db7935afce00ff.tar.gz
frameworks_base-dc92c82b4180e8067f1acd00a7db7935afce00ff.tar.bz2
Full backup tweaks
* provide placeholder UI showing backup/restore start/stop/timeout * don't kill the progress UI in mid stream * tidy up the pax extended header data writing a little Change-Id: Ife0cb78e3facb541d8327f1d5ca5fe77faa6cbca
Diffstat (limited to 'services/java/com/android/server/BackupManagerService.java')
-rw-r--r--services/java/com/android/server/BackupManagerService.java13
1 files changed, 6 insertions, 7 deletions
diff --git a/services/java/com/android/server/BackupManagerService.java b/services/java/com/android/server/BackupManagerService.java
index a334dbb..77c2a44 100644
--- a/services/java/com/android/server/BackupManagerService.java
+++ b/services/java/com/android/server/BackupManagerService.java
@@ -1710,8 +1710,7 @@ class BackupManagerService extends IBackupManager.Stub {
IApplicationThread.BACKUP_MODE_FULL);
if (agent != null) {
try {
- ApplicationInfo app = mPackageManager.getApplicationInfo(
- pkg.packageName, 0);
+ ApplicationInfo app = pkg.applicationInfo;
boolean sendApk = mIncludeApks
&& ((app.flags & ApplicationInfo.FLAG_FORWARD_LOCK) == 0)
&& ((app.flags & ApplicationInfo.FLAG_SYSTEM) == 0 ||
@@ -1742,9 +1741,6 @@ class BackupManagerService extends IBackupManager.Stub {
} else {
if (DEBUG) Slog.d(TAG, "Full backup success: " + pkg.packageName);
}
- } catch (NameNotFoundException e) {
- Slog.e(TAG, "Package exists but not app info; skipping: "
- + pkg.packageName);
} catch (IOException e) {
Slog.e(TAG, "Error backing up " + pkg.packageName, e);
}
@@ -1816,8 +1812,11 @@ class BackupManagerService extends IBackupManager.Stub {
// unbind and tidy up even on timeout or failure, just in case
mActivityManager.unbindBackupAgent(app);
- // The agent was running with a stub Application object, so shut it down
- if (app.uid != Process.SYSTEM_UID) {
+ // The agent was running with a stub Application object, so shut it down.
+ // !!! We hardcode the confirmation UI's package name here rather than use a
+ // manifest flag! TODO something less direct.
+ if (app.uid != Process.SYSTEM_UID
+ && !pkg.packageName.equals("com.android.backupconfirm")) {
if (DEBUG) Slog.d(TAG, "Backup complete, killing host process");
mActivityManager.killApplicationProcess(app.processName, app.uid);
} else {