summaryrefslogtreecommitdiffstats
path: root/core/java/android/app/IActivityManager.java
diff options
context:
space:
mode:
authorDianne Hackborn <hackbod@google.com>2012-08-27 19:18:31 -0700
committerDianne Hackborn <hackbod@google.com>2012-08-28 16:30:55 -0700
commit80a4af2bbc6af42ae605e454bf89558e564f5244 (patch)
tree3cd054c0e9576c9fda33fc36670ef10458f71ee8 /core/java/android/app/IActivityManager.java
parentdef8b0f011b5b2b02235063d5021ddfd58aa0baf (diff)
downloadframeworks_base-80a4af2bbc6af42ae605e454bf89558e564f5244.zip
frameworks_base-80a4af2bbc6af42ae605e454bf89558e564f5244.tar.gz
frameworks_base-80a4af2bbc6af42ae605e454bf89558e564f5244.tar.bz2
Start implementing concept of "running" users.
The activity manager now keeps track of which users are running. Initially, only user 0 is running. When you switch to another user, that user is started so it is running. It is only at this point that BOOT_COMPLETED is sent for that user and it is allowed to execute anything. You can stop any user except user 0, which brings it back to the same state as when you first boot the device. This is also used to be able to more cleaning delete a user, by first stopping it before removing its data. There is a new broadcast ACTION_USER_STOPPED sent when a user is stopped; system services need to handle this like they currently handle ACTION_PACKAGE_RESTARTED when individual packages are restarted. Change-Id: I89adbd7cbaf4a0bb72ea201385f93477f40a4119
Diffstat (limited to 'core/java/android/app/IActivityManager.java')
-rw-r--r--core/java/android/app/IActivityManager.java2
1 files changed, 2 insertions, 0 deletions
diff --git a/core/java/android/app/IActivityManager.java b/core/java/android/app/IActivityManager.java
index c3e911e..70d8445 100644
--- a/core/java/android/app/IActivityManager.java
+++ b/core/java/android/app/IActivityManager.java
@@ -331,6 +331,7 @@ public interface IActivityManager extends IInterface {
// Multi-user APIs
public boolean switchUser(int userid) throws RemoteException;
+ public int stopUser(int userid, IStopUserCallback callback) throws RemoteException;
public UserInfo getCurrentUser() throws RemoteException;
public boolean removeSubTask(int taskId, int subTaskIndex) throws RemoteException;
@@ -611,4 +612,5 @@ public interface IActivityManager extends IInterface {
int UNSTABLE_PROVIDER_DIED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+150;
int IS_INTENT_SENDER_AN_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+151;
int START_ACTIVITY_AS_USER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+152;
+ int STOP_USER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+153;
}