Merge "OMS: 'cmd overlay lookup': support --user" am: 5267d0e0d6
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1601513 MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: I906257c415070a165bd91e6f51ab84aa51ce46b5
This commit is contained in:
@@ -114,7 +114,7 @@ final class OverlayManagerShellCommand extends ShellCommand {
|
|||||||
out.println(" 'lowest', change priority of PACKAGE to the lowest priority.");
|
out.println(" 'lowest', change priority of PACKAGE to the lowest priority.");
|
||||||
out.println(" If PARENT is the special keyword 'highest', change priority of");
|
out.println(" If PARENT is the special keyword 'highest', change priority of");
|
||||||
out.println(" PACKAGE to the highest priority.");
|
out.println(" PACKAGE to the highest priority.");
|
||||||
out.println(" lookup [--verbose] PACKAGE-TO-LOAD PACKAGE:TYPE/NAME");
|
out.println(" lookup [--user USER_ID] [--verbose] PACKAGE-TO-LOAD PACKAGE:TYPE/NAME");
|
||||||
out.println(" Load a package and print the value of a given resource");
|
out.println(" Load a package and print the value of a given resource");
|
||||||
out.println(" applying the current configuration and enabled overlays.");
|
out.println(" applying the current configuration and enabled overlays.");
|
||||||
out.println(" For a more fine-grained alernative, use 'idmap2 lookup'.");
|
out.println(" For a more fine-grained alernative, use 'idmap2 lookup'.");
|
||||||
@@ -274,7 +274,22 @@ final class OverlayManagerShellCommand extends ShellCommand {
|
|||||||
final PrintWriter out = getOutPrintWriter();
|
final PrintWriter out = getOutPrintWriter();
|
||||||
final PrintWriter err = getErrPrintWriter();
|
final PrintWriter err = getErrPrintWriter();
|
||||||
|
|
||||||
final boolean verbose = "--verbose".equals(getNextOption());
|
int userId = UserHandle.USER_SYSTEM;
|
||||||
|
boolean verbose = false;
|
||||||
|
String opt;
|
||||||
|
while ((opt = getNextOption()) != null) {
|
||||||
|
switch (opt) {
|
||||||
|
case "--user":
|
||||||
|
userId = UserHandle.parseUserArg(getNextArgRequired());
|
||||||
|
break;
|
||||||
|
case "--verbose":
|
||||||
|
verbose = true;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
err.println("Error: Unknown option: " + opt);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
final String packageToLoad = getNextArgRequired();
|
final String packageToLoad = getNextArgRequired();
|
||||||
|
|
||||||
@@ -286,17 +301,15 @@ final class OverlayManagerShellCommand extends ShellCommand {
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
final PackageManager pm = mContext.getPackageManager();
|
|
||||||
if (pm == null) {
|
|
||||||
err.println("Error: failed to get package manager");
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
final Resources res;
|
final Resources res;
|
||||||
try {
|
try {
|
||||||
res = pm.getResourcesForApplication(packageToLoad);
|
res = mContext
|
||||||
|
.createContextAsUser(UserHandle.of(userId), /* flags */ 0)
|
||||||
|
.getPackageManager()
|
||||||
|
.getResourcesForApplication(packageToLoad);
|
||||||
} catch (PackageManager.NameNotFoundException e) {
|
} catch (PackageManager.NameNotFoundException e) {
|
||||||
err.println("Error: failed to get resources for package " + packageToLoad);
|
err.println(String.format("Error: failed to get resources for package %s for user %d",
|
||||||
|
packageToLoad, userId));
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
final AssetManager assets = res.getAssets();
|
final AssetManager assets = res.getAssets();
|
||||||
|
|||||||
Reference in New Issue
Block a user