summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAmith Yamasani <yamasani@google.com>2012-04-20 15:19:35 -0700
committerAmith Yamasani <yamasani@google.com>2012-04-20 15:19:35 -0700
commit7ea3e7df1f1ff5dde8ffb42fa179beef679f40ea (patch)
tree8832e2c53892e4929a74a13641f543ac7ae877f2
parent5b086eb5438b5048bd3fbf4e2ed9390ec10245b3 (diff)
downloadframeworks_base-7ea3e7df1f1ff5dde8ffb42fa179beef679f40ea.zip
frameworks_base-7ea3e7df1f1ff5dde8ffb42fa179beef679f40ea.tar.gz
frameworks_base-7ea3e7df1f1ff5dde8ffb42fa179beef679f40ea.tar.bz2
Fix dumpsys package.
Was bailing out due to insufficient permissions to query users. Bug: 6374050 Change-Id: Ic4a4ab32e2efb4d1fc1f1607fd304f99d5382743
-rw-r--r--services/java/com/android/server/pm/Settings.java5
1 files changed, 4 insertions, 1 deletions
diff --git a/services/java/com/android/server/pm/Settings.java b/services/java/com/android/server/pm/Settings.java
index 35b6bde..d015278 100644
--- a/services/java/com/android/server/pm/Settings.java
+++ b/services/java/com/android/server/pm/Settings.java
@@ -2300,12 +2300,15 @@ final class Settings {
}
private List<UserInfo> getAllUsers() {
+ long id = Binder.clearCallingIdentity();
try {
return AppGlobals.getPackageManager().getUsers();
} catch (RemoteException re) {
// Local to system process, shouldn't happen
} catch (NullPointerException npe) {
// packagemanager not yet initialized
+ } finally {
+ Binder.restoreCallingIdentity(id);
}
return null;
}
@@ -2347,6 +2350,7 @@ final class Settings {
final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
final Date date = new Date();
boolean printedSomething = false;
+ List<UserInfo> users = getAllUsers();
for (final PackageSetting ps : mPackages.values()) {
if (packageName != null && !packageName.equals(ps.realName)
&& !packageName.equals(ps.name)) {
@@ -2447,7 +2451,6 @@ final class Settings {
pw.print(" haveGids="); pw.println(ps.haveGids);
pw.print(" pkgFlags=0x"); pw.print(Integer.toHexString(ps.pkgFlags));
pw.print(" installStatus="); pw.print(ps.installStatus);
- List<UserInfo> users = getAllUsers();
for (UserInfo user : users) {
pw.print(" User "); pw.print(user.id); pw.print(": ");
pw.print(" stopped=");