Skip to content
Snippets Groups Projects
Commit c8ba0b1a authored by Michal Olech's avatar Michal Olech Committed by Android (Google) Code Review
Browse files

Merge "[CEC Configuration] Add adb shell command to get/set setting value" into sc-dev

parents b1f1110d cd2a2b6d
No related branches found
No related tags found
No related merge requests found
...@@ -70,6 +70,10 @@ final class HdmiControlShellCommand extends ShellCommand { ...@@ -70,6 +70,10 @@ final class HdmiControlShellCommand extends ShellCommand {
pw.println(" --args <vendor specific arguments>"); pw.println(" --args <vendor specific arguments>");
pw.println(" [--id <true if vendor command should be sent with vendor id>]"); pw.println(" [--id <true if vendor command should be sent with vendor id>]");
pw.println(" Send a Vendor Command to the given target device"); pw.println(" Send a Vendor Command to the given target device");
pw.println(" cec_setting get <setting name>");
pw.println(" Get the current value of a CEC setting");
pw.println(" cec_setting set <setting name> <value>");
pw.println(" Set the value of a CEC setting");
} }
private int handleShellCommand(String cmd) throws RemoteException { private int handleShellCommand(String cmd) throws RemoteException {
...@@ -81,6 +85,8 @@ final class HdmiControlShellCommand extends ShellCommand { ...@@ -81,6 +85,8 @@ final class HdmiControlShellCommand extends ShellCommand {
return oneTouchPlay(pw); return oneTouchPlay(pw);
case "vendorcommand": case "vendorcommand":
return vendorCommand(pw); return vendorCommand(pw);
case "cec_setting":
return cecSetting(pw);
} }
getErrPrintWriter().println("Unhandled command: " + cmd); getErrPrintWriter().println("Unhandled command: " + cmd);
...@@ -157,4 +163,39 @@ final class HdmiControlShellCommand extends ShellCommand { ...@@ -157,4 +163,39 @@ final class HdmiControlShellCommand extends ShellCommand {
mBinderService.sendVendorCommand(deviceType, destination, params, hasVendorId); mBinderService.sendVendorCommand(deviceType, destination, params, hasVendorId);
return 0; return 0;
} }
private int cecSetting(PrintWriter pw) throws RemoteException {
if (getRemainingArgsCount() < 1) {
throw new IllegalArgumentException("Expected at least 1 argument (operation).");
}
String operation = getNextArgRequired();
switch (operation) {
case "get": {
String setting = getNextArgRequired();
try {
String value = mBinderService.getCecSettingStringValue(setting);
pw.println(setting + " = " + value);
} catch (IllegalArgumentException e) {
int intValue = mBinderService.getCecSettingIntValue(setting);
pw.println(setting + " = " + intValue);
}
return 0;
}
case "set": {
String setting = getNextArgRequired();
String value = getNextArgRequired();
try {
mBinderService.setCecSettingStringValue(setting, value);
pw.println(setting + " = " + value);
} catch (IllegalArgumentException e) {
int intValue = Integer.parseInt(value);
mBinderService.setCecSettingIntValue(setting, intValue);
pw.println(setting + " = " + intValue);
}
return 0;
}
default:
throw new IllegalArgumentException("Unknown operation: " + operation);
}
}
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment