Merge "DO NOT MERGE: Add pm operation to set user restrictions." into lmp-mr1-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
d327d73edf
@ -235,6 +235,10 @@ public final class Pm {
|
|||||||
return runForceDexOpt();
|
return runForceDexOpt();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ("set-user-restriction".equals(op)) {
|
||||||
|
return runSetUserRestriction();
|
||||||
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
if (args.length == 1) {
|
if (args.length == 1) {
|
||||||
if (args[0].equalsIgnoreCase("-l")) {
|
if (args[0].equalsIgnoreCase("-l")) {
|
||||||
@ -1274,6 +1278,40 @@ 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 {
|
||||||
|
Bundle restrictions = new Bundle();
|
||||||
|
restrictions.putBoolean(restriction, value);
|
||||||
|
mUm.setUserRestrictions(restrictions, userId);
|
||||||
|
return 0;
|
||||||
|
} catch (RemoteException e) {
|
||||||
|
System.err.println(e.toString());
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private int runUninstall() throws RemoteException {
|
private int runUninstall() throws RemoteException {
|
||||||
int flags = 0;
|
int flags = 0;
|
||||||
int userId = UserHandle.USER_ALL;
|
int userId = UserHandle.USER_ALL;
|
||||||
|
Reference in New Issue
Block a user