summaryrefslogtreecommitdiff
path: root/core/java/android
diff options
context:
space:
mode:
authorPavel Grafov <pgrafov@google.com>2020-03-23 17:00:51 +0000
committerPavel Grafov <pgrafov@google.com>2020-03-24 12:28:07 +0000
commit97bb33b93c6fe7eda2029be0496f451b40f2adc0 (patch)
tree5528838a911dddea7b8b67376544428663cf00cb /core/java/android
parent5562d464c6cab06544294bbc823df89d30579bbf (diff)
Suspend newly installed apps when personal apps are suspended
Also make use of PackageManager.getUnsuspendablePackages() which already takes care of launcher and dialer packages and some other critical apps, like package verifier, package [un-]installer, etc. For newly installed packages it PackageManager.getUnsuspendableApps() seems to be sufficient since that app won't be critical for the functioning of the device. Test: Test: atest OrgOwnedProfileOwnerTest#testPersonalAppsSuspensionInstalledApp Bug: 149394138 Change-Id: Ic3196dbfdd5c506e708563d305a42494391dc878
Diffstat (limited to 'core/java/android')
-rw-r--r--core/java/android/app/admin/DevicePolicyManager.java4
-rw-r--r--core/java/android/content/pm/PackageManager.java4
2 files changed, 4 insertions, 4 deletions
diff --git a/core/java/android/app/admin/DevicePolicyManager.java b/core/java/android/app/admin/DevicePolicyManager.java
index 51cfa31ae4cf..c4458b30c2db 100644
--- a/core/java/android/app/admin/DevicePolicyManager.java
+++ b/core/java/android/app/admin/DevicePolicyManager.java
@@ -2429,7 +2429,7 @@ public class DevicePolicyManager {
PERSONAL_APPS_SUSPENDED_PROFILE_TIMEOUT
})
@Retention(RetentionPolicy.SOURCE)
- public @interface PersonalAppSuspensionReason {}
+ public @interface PersonalAppsSuspensionReason {}
/**
* Return true if the given administrator component is currently active (enabled) in the system.
@@ -11961,7 +11961,7 @@ public class DevicePolicyManager {
* {@link #PERSONAL_APPS_NOT_SUSPENDED} if apps are not suspended.
* @see #setPersonalAppsSuspended
*/
- public @PersonalAppSuspensionReason int getPersonalAppsSuspendedReasons(
+ public @PersonalAppsSuspensionReason int getPersonalAppsSuspendedReasons(
@NonNull ComponentName admin) {
throwIfParentInstance("getPersonalAppsSuspendedReasons");
if (mService != null) {
diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java
index 9f151cf073bd..370469ebe840 100644
--- a/core/java/android/content/pm/PackageManager.java
+++ b/core/java/android/content/pm/PackageManager.java
@@ -7088,7 +7088,7 @@ public abstract class PackageManager {
* Returns any packages in a given set of packages that cannot be suspended via a call to {@link
* #setPackagesSuspended(String[], boolean, PersistableBundle, PersistableBundle,
* SuspendDialogInfo) setPackagesSuspended}. The platform prevents suspending certain critical
- * packages to keep the device in a functioning state, e.g. the default dialer.
+ * packages to keep the device in a functioning state, e.g. the default dialer and launcher.
* Apps need to hold {@link Manifest.permission#SUSPEND_APPS SUSPEND_APPS} to call this API.
*
* <p>
@@ -7106,7 +7106,7 @@ public abstract class PackageManager {
@RequiresPermission(Manifest.permission.SUSPEND_APPS)
@NonNull
public String[] getUnsuspendablePackages(@NonNull String[] packageNames) {
- throw new UnsupportedOperationException("canSuspendPackages not implemented");
+ throw new UnsupportedOperationException("getUnsuspendablePackages not implemented");
}
/**