summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Dianne Hackborn <hackbod@google.com> 2016-10-25 22:40:57 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2016-10-25 22:41:00 +0000
commitfe511037114beffbecc09e267df542be736f84bb (patch)
tree3b37f6b4d005bda6076d3bef01343cec4fb645c5
parentc8083b56cfd5bf15354531677298268fe4210f7c (diff)
parent9df8f51044c19c884058202a156a5a506ad4a276 (diff)
Merge "Tweak ActivityManager.getPackageImportance()"
-rw-r--r--api/current.txt2
-rw-r--r--api/system-current.txt3
-rw-r--r--api/test-current.txt2
-rw-r--r--core/java/android/app/ActivityManager.java1
-rw-r--r--core/res/AndroidManifest.xml5
-rw-r--r--services/core/java/com/android/server/am/ActivityManagerService.java20
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;
}
}
}