From 69810483c770e99b65f4fd01ad1973885969062c Mon Sep 17 00:00:00 2001 From: Todd Kennedy Date: Thu, 18 Jun 2015 12:54:55 -0700 Subject: [PATCH] Add getPackageImportance() system API Callers must have the permission GET_PACKAGE_IMPORTANCE Bug: 20642684 Change-Id: I6f3ef2ec810c884e0dee239e5909bcb314957302 --- api/system-current.txt | 1 + core/res/AndroidManifest.xml | 5 +++++ .../java/com/android/server/am/ActivityManagerService.java | 2 ++ 3 files changed, 8 insertions(+) diff --git a/api/system-current.txt b/api/system-current.txt index 67d3635ab6de0..26e0be68f6d09 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -96,6 +96,7 @@ package android { field public static final java.lang.String FORCE_STOP_PACKAGES = "android.permission.FORCE_STOP_PACKAGES"; field public static final java.lang.String GET_ACCOUNTS = "android.permission.GET_ACCOUNTS"; field public static final java.lang.String GET_APP_OPS_STATS = "android.permission.GET_APP_OPS_STATS"; + field public static final java.lang.String GET_PACKAGE_IMPORTANCE = "android.permission.GET_PACKAGE_IMPORTANCE"; field public static final java.lang.String GET_PACKAGE_SIZE = "android.permission.GET_PACKAGE_SIZE"; field public static final deprecated java.lang.String GET_TASKS = "android.permission.GET_TASKS"; field public static final java.lang.String GET_TOP_ACTIVITY_INFO = "android.permission.GET_TOP_ACTIVITY_INFO"; diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml index 65c064b0c5cba..87bba331fe073 100644 --- a/core/res/AndroidManifest.xml +++ b/core/res/AndroidManifest.xml @@ -1342,6 +1342,11 @@ android:description="@string/permdesc_killBackgroundProcesses" android:protectionLevel="normal" /> + + + diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java index c4f460e66febd..27983e24734db 100644 --- a/services/core/java/com/android/server/am/ActivityManagerService.java +++ b/services/core/java/com/android/server/am/ActivityManagerService.java @@ -3589,6 +3589,8 @@ public final class ActivityManagerService extends ActivityManagerNative @Override public int getPackageProcessState(String packageName) { + enforceCallingPermission(android.Manifest.permission.GET_PACKAGE_IMPORTANCE, + "getPackageProcessState"); int procState = ActivityManager.PROCESS_STATE_NONEXISTENT; synchronized (this) { for (int i=mLruProcesses.size()-1; i>=0; i--) {