Fix dumpsys package.

Was bailing out due to insufficient permissions to query users.

Bug: 6374050
Change-Id: Ic4a4ab32e2efb4d1fc1f1607fd304f99d5382743
This commit is contained in:
Amith Yamasani
2012-04-20 15:19:35 -07:00
parent 5b086eb543
commit 7ea3e7df1f

View File

@@ -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=");