diff options
author | Sudheer Shanka <sudheersai@google.com> | 2016-06-16 08:58:00 -0700 |
---|---|---|
committer | gitbuildkicker <android-build@google.com> | 2016-07-21 15:11:42 -0700 |
commit | f58f43e99e9a8fd423e04866f816689c9345efd2 (patch) | |
tree | 25d3bf6d7cd5e98797d237557c5f6c48487a595a | |
parent | 3e160493b3c5f8b3ee494fdb6241a2647db43f8e (diff) | |
download | base-marshmallow-dr-dragon-release.tar.gz |
Add pm operation to set user restrictions.android-6.0.1_r63marshmallow-dr-dragon-release
Bug: 29189712
Change-Id: I6fdb3b68dfe3f51119e5ce8008880fc7d9c793df
(cherry picked from commit 1796f6fa15f18e22f2013a7d9440ee2373a9dfe3)
-rw-r--r-- | cmds/pm/src/com/android/commands/pm/Pm.java | 36 |
1 files changed, 36 insertions, 0 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..4869adff8f01 100644 --- a/cmds/pm/src/com/android/commands/pm/Pm.java +++ b/cmds/pm/src/com/android/commands/pm/Pm.java @@ -262,6 +262,10 @@ public final class Pm { return runMovePrimaryStorage(); } + if ("set-user-restriction".equals(op)) { + return runSetUserRestriction(); + } + try { if (args.length == 1) { if (args[0].equalsIgnoreCase("-l")) { @@ -1518,6 +1522,38 @@ public final class Pm { } } + public int runSetUserRestriction() { + int userId = UserHandle.USER_OWNER; + String opt = nextOption(); + if (opt != null && "--user".equals(opt)) { + String arg = nextArg(); + if (arg == null || !isNumber(arg)) { + System.err.println("Error: valid userId not specified"); + return 1; + } + userId = Integer.parseInt(arg); + } + + String restriction = nextArg(); + String arg = nextArg(); + boolean value; + if ("1".equals(arg)) { + value = true; + } else if ("0".equals(arg)) { + value = false; + } else { + System.err.println("Error: valid value not specified"); + return 1; + } + try { + mUm.setUserRestriction(restriction, value, userId); + return 0; + } catch (RemoteException e) { + System.err.println(e.toString()); + return 1; + } + } + private int runUninstall() throws RemoteException { int flags = 0; int userId = UserHandle.USER_ALL; |