summaryrefslogtreecommitdiff
path: root/test-mock/src
diff options
context:
space:
mode:
authorSuprabh Shukla <suprabh@google.com>2018-03-08 18:21:50 -0800
committerSuprabh Shukla <suprabh@google.com>2018-03-22 12:59:57 -0700
commit021b57ab8df0927aa1f78a2f3bb01d5e70594b1a (patch)
treef051df742120d34fc3ef87ee4c1d65b2e970d6ab /test-mock/src
parent5d9617c439d0f85b67ba0d21e43f665ab9bf13ae (diff)
APIs to suspend packages with SUSPEND_APPS permission
Changed the existing hidden api setPackagesSuspendedAsUser to a system api setPackagesSuspended that can be called by apps with either MANAGE_USERS or SUSPEND_APPS permission. Additionally, the suspending app can now specify optional extra information meant to be used by the suspended apps and the launcher to deal with this state. The following other APIs are added: - isPackageSuspended(): Apps can query whether they are in a suspended state - @SystemApi getPackageSuspendedAppExtras(String): Apps with permission SUSPEND_APPS can get the appExtras passed to PM when suspending the app. - @SystemApi setPackageSuspendedAppExtras(String, PersistableBundle): Apps with permission SUSPEND_APPS can update app extras for a suspended package. - getPackageSuspendedAppExtras(): Apps can call to get the appExtras passed in to PM when they were suspended. Test: Can be run via: atest com.android.server.pm.PackageManagerSettingsTests atest com.android.server.pm.PackageUserStateTest atest com.android.server.pm.SuspendPackagesTest Bug: 74336673 Change-Id: I3b9ed2c8478b34ee2e8986f5f5fddb2839d102e3
Diffstat (limited to 'test-mock/src')
-rw-r--r--test-mock/src/android/test/mock/MockPackageManager.java4
1 files changed, 3 insertions, 1 deletions
diff --git a/test-mock/src/android/test/mock/MockPackageManager.java b/test-mock/src/android/test/mock/MockPackageManager.java
index 1af7c3a479b6..108751a36a08 100644
--- a/test-mock/src/android/test/mock/MockPackageManager.java
+++ b/test-mock/src/android/test/mock/MockPackageManager.java
@@ -53,6 +53,7 @@ import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.os.Handler;
+import android.os.PersistableBundle;
import android.os.UserHandle;
import android.os.storage.VolumeInfo;
@@ -945,7 +946,8 @@ public class MockPackageManager extends PackageManager {
/** @hide */
@Override
- public String[] setPackagesSuspendedAsUser(String[] packageNames, boolean hidden, int userId) {
+ public String[] setPackagesSuspended(String[] packageNames, boolean hidden,
+ PersistableBundle appExtras, PersistableBundle launcherExtras, String dialogMessage) {
throw new UnsupportedOperationException();
}