diff options
author | 2016-10-25 22:40:57 +0000 | |
---|---|---|
committer | 2016-10-25 22:41:00 +0000 | |
commit | fe511037114beffbecc09e267df542be736f84bb (patch) | |
tree | 3b37f6b4d005bda6076d3bef01343cec4fb645c5 | |
parent | c8083b56cfd5bf15354531677298268fe4210f7c (diff) | |
parent | 9df8f51044c19c884058202a156a5a506ad4a276 (diff) |
Merge "Tweak ActivityManager.getPackageImportance()"
-rw-r--r-- | api/current.txt | 2 | ||||
-rw-r--r-- | api/system-current.txt | 3 | ||||
-rw-r--r-- | api/test-current.txt | 2 | ||||
-rw-r--r-- | core/java/android/app/ActivityManager.java | 1 | ||||
-rw-r--r-- | core/res/AndroidManifest.xml | 5 | ||||
-rw-r--r-- | services/core/java/com/android/server/am/ActivityManagerService.java | 20 |
6 files changed, 10 insertions, 23 deletions
diff --git a/api/current.txt b/api/current.txt index 662cca9e4f8c..564653ae1824 100644 --- a/api/current.txt +++ b/api/current.txt @@ -44027,8 +44027,8 @@ package android.view { field public static final int ROTATION_ANIMATION_CHANGED = 4096; // 0x1000 field public static final int ROTATION_ANIMATION_CROSSFADE = 1; // 0x1 field public static final int ROTATION_ANIMATION_JUMPCUT = 2; // 0x2 - field public static final int ROTATION_ANIMATION_SEAMLESS = 3; // 0x3 field public static final int ROTATION_ANIMATION_ROTATE = 0; // 0x0 + field public static final int ROTATION_ANIMATION_SEAMLESS = 3; // 0x3 field public static final int SCREEN_BRIGHTNESS_CHANGED = 2048; // 0x800 field public static final int SCREEN_ORIENTATION_CHANGED = 1024; // 0x400 field public static final int SOFT_INPUT_ADJUST_NOTHING = 48; // 0x30 diff --git a/api/system-current.txt b/api/system-current.txt index 32eb682057be..fd51a6a7eb52 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -103,7 +103,6 @@ package android { field public static final java.lang.String GET_ACCOUNTS = "android.permission.GET_ACCOUNTS"; field public static final java.lang.String GET_ACCOUNTS_PRIVILEGED = "android.permission.GET_ACCOUNTS_PRIVILEGED"; 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 java.lang.String GET_PROCESS_STATE_AND_OOM_SCORE = "android.permission.GET_PROCESS_STATE_AND_OOM_SCORE"; field public static final deprecated java.lang.String GET_TASKS = "android.permission.GET_TASKS"; @@ -47209,8 +47208,8 @@ package android.view { field public static final int ROTATION_ANIMATION_CHANGED = 4096; // 0x1000 field public static final int ROTATION_ANIMATION_CROSSFADE = 1; // 0x1 field public static final int ROTATION_ANIMATION_JUMPCUT = 2; // 0x2 - field public static final int ROTATION_ANIMATION_SEAMLESS = 3; // 0x3 field public static final int ROTATION_ANIMATION_ROTATE = 0; // 0x0 + field public static final int ROTATION_ANIMATION_SEAMLESS = 3; // 0x3 field public static final int SCREEN_BRIGHTNESS_CHANGED = 2048; // 0x800 field public static final int SCREEN_ORIENTATION_CHANGED = 1024; // 0x400 field public static final int SOFT_INPUT_ADJUST_NOTHING = 48; // 0x30 diff --git a/api/test-current.txt b/api/test-current.txt index da172b638049..150fbfeb226c 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -44263,8 +44263,8 @@ package android.view { field public static final int ROTATION_ANIMATION_CHANGED = 4096; // 0x1000 field public static final int ROTATION_ANIMATION_CROSSFADE = 1; // 0x1 field public static final int ROTATION_ANIMATION_JUMPCUT = 2; // 0x2 - field public static final int ROTATION_ANIMATION_SEAMLESS = 3; // 0x3 field public static final int ROTATION_ANIMATION_ROTATE = 0; // 0x0 + field public static final int ROTATION_ANIMATION_SEAMLESS = 3; // 0x3 field public static final int SCREEN_BRIGHTNESS_CHANGED = 2048; // 0x800 field public static final int SCREEN_ORIENTATION_CHANGED = 1024; // 0x400 field public static final int SOFT_INPUT_ADJUST_NOTHING = 48; // 0x30 diff --git a/core/java/android/app/ActivityManager.java b/core/java/android/app/ActivityManager.java index 0d9be5f0f728..4066f1c3648f 100644 --- a/core/java/android/app/ActivityManager.java +++ b/core/java/android/app/ActivityManager.java @@ -3045,6 +3045,7 @@ public class ActivityManager { * @hide */ @SystemApi + @RequiresPermission(Manifest.permission.PACKAGE_USAGE_STATS) public int getPackageImportance(String packageName) { try { int procState = ActivityManagerNative.getDefault().getPackageProcessState(packageName, diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml index c34684970663..de6f2c5b463c 100644 --- a/core/res/AndroidManifest.xml +++ b/core/res/AndroidManifest.xml @@ -1712,11 +1712,6 @@ <permission android:name="android.permission.GET_PROCESS_STATE_AND_OOM_SCORE" android:protectionLevel="signature|privileged|development" /> - <!-- @SystemApi @hide Allows an application to retrieve a package's importance. - This permission is not available to third party applications. --> - <permission android:name="android.permission.GET_PACKAGE_IMPORTANCE" - android:protectionLevel="signature|privileged" /> - <!-- Allows use of PendingIntent.getIntent(). @hide --> <permission android:name="android.permission.GET_INTENT_SENDER_INTENT" diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java index 2211e5e816dd..bb00bc275984 100644 --- a/services/core/java/com/android/server/am/ActivityManagerService.java +++ b/services/core/java/com/android/server/am/ActivityManagerService.java @@ -4072,7 +4072,7 @@ public final class ActivityManagerService extends ActivityManagerNative @Override public int getPackageProcessState(String packageName, String callingPackage) { if (!hasUsageStatsPermission(callingPackage)) { - enforceCallingPermission(android.Manifest.permission.GET_PACKAGE_IMPORTANCE, + enforceCallingPermission(android.Manifest.permission.PACKAGE_USAGE_STATS, "getPackageProcessState"); } @@ -4082,20 +4082,12 @@ public final class ActivityManagerService extends ActivityManagerNative final ProcessRecord proc = mLruProcesses.get(i); if (procState == ActivityManager.PROCESS_STATE_NONEXISTENT || procState > proc.setProcState) { - boolean found = false; - for (int j=proc.pkgList.size()-1; j>=0 && !found; j--) { - if (proc.pkgList.keyAt(j).equals(packageName)) { - procState = proc.setProcState; - found = true; - } + if (proc.pkgList.containsKey(packageName)) { + procState = proc.setProcState; + break; } - if (proc.pkgDeps != null && !found) { - for (int j=proc.pkgDeps.size()-1; j>=0; j--) { - if (proc.pkgDeps.valueAt(j).equals(packageName)) { - procState = proc.setProcState; - break; - } - } + if (proc.pkgDeps != null && proc.pkgDeps.contains(packageName)) { + procState = proc.setProcState; } } } |