summaryrefslogtreecommitdiffstats
path: root/core/java/android/app/ActivityManagerNative.java
diff options
context:
space:
mode:
authorCraig Mautner <cmautner@google.com>2015-04-03 21:36:37 -0700
committerCraig Mautner <cmautner@google.com>2015-04-07 09:15:41 -0700
commite56007786ace2fe0615197d95317ccd7be4d1ca6 (patch)
treebae537fd871f4f71b6daf11f752b789ac8c736ef /core/java/android/app/ActivityManagerNative.java
parent63473869da8ea7f39a2b530dd6e026bedc5e6f07 (diff)
downloadframeworks_base-e56007786ace2fe0615197d95317ccd7be4d1ca6.zip
frameworks_base-e56007786ace2fe0615197d95317ccd7be4d1ca6.tar.gz
frameworks_base-e56007786ace2fe0615197d95317ccd7be4d1ca6.tar.bz2
No longer unlock activity manager to test whitelist
In order to check the DevicePolicyManagerService locktask whitelist the activity manager had to release its lock preserving internal state. That is undesirable and not scalable now that we need to check the whitelist at startup for bug 19995702. This change causes DPMS to update activity manager with the whitelist whenever it changes so that activity manager can check the whitelist without releasing the acitivty manager lock. Change-Id: I3ed6eb5ceae2cd7e7ae3280abd708d5ce43a2851
Diffstat (limited to 'core/java/android/app/ActivityManagerNative.java')
-rw-r--r--core/java/android/app/ActivityManagerNative.java22
1 files changed, 22 insertions, 0 deletions
diff --git a/core/java/android/app/ActivityManagerNative.java b/core/java/android/app/ActivityManagerNative.java
index 1484af8..2779851 100644
--- a/core/java/android/app/ActivityManagerNative.java
+++ b/core/java/android/app/ActivityManagerNative.java
@@ -2450,6 +2450,15 @@ public abstract class ActivityManagerNative extends Binder implements IActivityM
reply.writeNoException();
return true;
}
+
+ case UPDATE_LOCK_TASK_PACKAGES_TRANSACTION: {
+ data.enforceInterface(IActivityManager.descriptor);
+ int userId = data.readInt();
+ String[] packages = data.readStringArray();
+ updateLockTaskPackages(userId, packages);
+ reply.writeNoException();
+ return true;
+ }
}
return super.onTransact(code, data, reply, flags);
@@ -5682,5 +5691,18 @@ class ActivityManagerProxy implements IActivityManager
reply.recycle();
}
+ @Override
+ public void updateLockTaskPackages(int userId, String[] packages) throws RemoteException {
+ Parcel data = Parcel.obtain();
+ Parcel reply = Parcel.obtain();
+ data.writeInterfaceToken(IActivityManager.descriptor);
+ data.writeInt(userId);
+ data.writeStringArray(packages);
+ mRemote.transact(UPDATE_LOCK_TASK_PACKAGES_TRANSACTION, data, reply, IBinder.FLAG_ONEWAY);
+ reply.readException();
+ data.recycle();
+ reply.recycle();
+ }
+
private IBinder mRemote;
}