diff options
| author | Christopher Tate <ctate@android.com> | 2009-09-01 20:32:49 -0700 |
|---|---|---|
| committer | Christopher Tate <ctate@android.com> | 2009-09-01 20:59:36 -0700 |
| commit | 5e1ab335e6e8fbfa19c64d53880a22f472010953 (patch) | |
| tree | 4da429b3833ff29256d23f9e2e7f1b3a41715b65 /core/java/android/app/IApplicationThread.java | |
| parent | c937b5ce4ff2f39fd9c60f718f98550a932b62f0 (diff) | |
Expand apps' control over the settings restore process
Applications can now specify two more aspects of the restore process: whether
they need to run with their own custom Application subclass rather than being
launched in the usual restricted mode during restore, and whether it's okay for
the backup manager to kill the app process once restore has completed. The new
manifest attributes for these are, respectively, android:restoreNeedsApplication
and android:killAfterRestore.
If unspecified in the manifest, restoreNeedsApplication is false, and
killAfterRestore is true.
In order to support kill-after-restore cleanly, this change also adds a new
system-process-only interface to the Activity Manager, which will schedule a
"commit suicide" event on the target app's main thread looper.
The framework backup agents have been given the appropriate new backup
attributes as well.
Diffstat (limited to 'core/java/android/app/IApplicationThread.java')
| -rw-r--r-- | core/java/android/app/IApplicationThread.java | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/core/java/android/app/IApplicationThread.java b/core/java/android/app/IApplicationThread.java index da9a957ad5bf..8dda8985d6be 100644 --- a/core/java/android/app/IApplicationThread.java +++ b/core/java/android/app/IApplicationThread.java @@ -83,6 +83,7 @@ public interface IApplicationThread extends IInterface { IInstrumentationWatcher testWatcher, int debugMode, boolean restrictedBackupMode, Configuration config, Map<String, IBinder> services) throws RemoteException; void scheduleExit() throws RemoteException; + void scheduleSuicide() throws RemoteException; void requestThumbnail(IBinder token) throws RemoteException; void scheduleConfigurationChanged(Configuration config) throws RemoteException; void updateTimeZone() throws RemoteException; @@ -133,4 +134,5 @@ public interface IApplicationThread extends IInterface { int SCHEDULE_CREATE_BACKUP_AGENT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+29; int SCHEDULE_DESTROY_BACKUP_AGENT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+30; int GET_MEMORY_INFO_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+31; + int SCHEDULE_SUICIDE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+32; } |
