diff options
| author | 2015-10-15 15:55:45 +0000 | |
|---|---|---|
| committer | 2015-10-15 15:55:45 +0000 | |
| commit | f916524f44c9955e7c747e5319d17c46a61a3c4c (patch) | |
| tree | d1304b37939d08bec683fc6110d68218ee2bba22 | |
| parent | 8b62654855b105e5ff7628107691309a63effe0c (diff) | |
| parent | f83612b295bd4a50eeea74a262edd2db4ce7fdf0 (diff) | |
Merge "Add support for --user to "pm path" for work profile use"
| -rw-r--r-- | cmds/pm/src/com/android/commands/pm/Pm.java | 29 |
1 files changed, 21 insertions, 8 deletions
diff --git a/cmds/pm/src/com/android/commands/pm/Pm.java b/cmds/pm/src/com/android/commands/pm/Pm.java index 58c3a9ccc89e..4a0a49b4e777 100644 --- a/cmds/pm/src/com/android/commands/pm/Pm.java +++ b/cmds/pm/src/com/android/commands/pm/Pm.java @@ -274,7 +274,7 @@ public final class Pm { } else if (args.length == 2) { if (args[0].equalsIgnoreCase("-p")) { validCommand = true; - return displayPackageFilePath(args[1]); + return displayPackageFilePath(args[1], UserHandle.USER_OWNER); } } return 1; @@ -758,12 +758,25 @@ public final class Pm { } private int runPath() { + int userId = UserHandle.USER_OWNER; + String option = nextOption(); + if (option != null && option.equals("--user")) { + String optionData = nextOptionData(); + if (optionData == null || !isNumber(optionData)) { + System.err.println("Error: no USER_ID specified"); + showUsage(); + return 1; + } else { + userId = Integer.parseInt(optionData); + } + } + String pkg = nextArg(); if (pkg == null) { System.err.println("Error: no package specified"); return 1; } - return displayPackageFilePath(pkg); + return displayPackageFilePath(pkg, userId); } private int runDump() { @@ -1607,7 +1620,7 @@ public final class Pm { } private int runClear() { - int userId = 0; + int userId = UserHandle.USER_OWNER; String option = nextOption(); if (option != null && option.equals("--user")) { String optionData = nextOptionData(); @@ -1679,7 +1692,7 @@ public final class Pm { } private int runSetEnabledSetting(int state) { - int userId = 0; + int userId = UserHandle.USER_OWNER; String option = nextOption(); if (option != null && option.equals("--user")) { String optionData = nextOptionData(); @@ -1728,7 +1741,7 @@ public final class Pm { } private int runSetHiddenSetting(boolean state) { - int userId = 0; + int userId = UserHandle.USER_OWNER; String option = nextOption(); if (option != null && option.equals("--user")) { String optionData = nextOptionData(); @@ -1933,9 +1946,9 @@ public final class Pm { * Displays the package file for a package. * @param pckg */ - private int displayPackageFilePath(String pckg) { + private int displayPackageFilePath(String pckg, int userId) { try { - PackageInfo info = mPm.getPackageInfo(pckg, 0, 0); + PackageInfo info = mPm.getPackageInfo(pckg, 0, userId); if (info != null && info.applicationInfo != null) { System.out.print("package:"); System.out.println(info.applicationInfo.sourceDir); @@ -2074,7 +2087,7 @@ public final class Pm { System.err.println(" pm list features"); System.err.println(" pm list libraries"); System.err.println(" pm list users"); - System.err.println(" pm path PACKAGE"); + System.err.println(" pm path [--user USER_ID] PACKAGE"); System.err.println(" pm dump PACKAGE"); System.err.println(" pm install [-lrtsfd] [-i PACKAGE] [--user USER_ID] [PATH]"); System.err.println(" pm install-create [-lrtsfdp] [-i PACKAGE] [-S BYTES]"); |