Loading services/core/java/com/android/server/hdmi/HdmiControlShellCommand.java +41 −0 Original line number Diff line number Diff line Loading @@ -70,6 +70,10 @@ final class HdmiControlShellCommand extends ShellCommand { pw.println(" --args <vendor specific arguments>"); 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(" 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 { Loading @@ -81,6 +85,8 @@ final class HdmiControlShellCommand extends ShellCommand { return oneTouchPlay(pw); case "vendorcommand": return vendorCommand(pw); case "cec_setting": return cecSetting(pw); } getErrPrintWriter().println("Unhandled command: " + cmd); Loading Loading @@ -157,4 +163,39 @@ final class HdmiControlShellCommand extends ShellCommand { mBinderService.sendVendorCommand(deviceType, destination, params, hasVendorId); 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); } } } Loading
services/core/java/com/android/server/hdmi/HdmiControlShellCommand.java +41 −0 Original line number Diff line number Diff line Loading @@ -70,6 +70,10 @@ final class HdmiControlShellCommand extends ShellCommand { pw.println(" --args <vendor specific arguments>"); 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(" 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 { Loading @@ -81,6 +85,8 @@ final class HdmiControlShellCommand extends ShellCommand { return oneTouchPlay(pw); case "vendorcommand": return vendorCommand(pw); case "cec_setting": return cecSetting(pw); } getErrPrintWriter().println("Unhandled command: " + cmd); Loading Loading @@ -157,4 +163,39 @@ final class HdmiControlShellCommand extends ShellCommand { mBinderService.sendVendorCommand(deviceType, destination, params, hasVendorId); 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); } } }