Loading services/core/java/com/android/server/hdmi/HdmiControlService.java +21 −10 Original line number Diff line number Diff line Loading @@ -468,7 +468,9 @@ public class HdmiControlService extends SystemService { mPowerStatusController.setPowerStatus(getInitialPowerStatus()); mProhibitMode = false; mHdmiControlEnabled = readBooleanSetting(Global.HDMI_CONTROL_ENABLED, true); mHdmiControlEnabled = mHdmiCecConfig.getIntValue( HdmiControlManager.CEC_SETTING_NAME_HDMI_CEC_ENABLED) == HdmiControlManager.HDMI_CEC_CONTROL_ENABLED; mHdmiCecVolumeControlEnabled = readBooleanSetting( Global.HDMI_CONTROL_VOLUME_CONTROL_ENABLED, true); mMhlInputChangeEnabled = readBooleanSetting(Global.MHL_INPUT_SWITCHING_ENABLED, true); Loading Loading @@ -498,7 +500,24 @@ public class HdmiControlService extends SystemService { if (mMessageValidator == null) { mMessageValidator = new HdmiCecMessageValidator(this); } mHdmiCecConfig.registerGlobalSettingsObserver(mIoLooper); mHdmiCecConfig.registerGlobalSettingsObserver(mHandler.getLooper()); mHdmiCecConfig.registerChangeListener(HdmiControlManager.CEC_SETTING_NAME_HDMI_CEC_ENABLED, new HdmiCecConfig.SettingChangeListener() { @Override public void onChange(String setting) { boolean enabled = mHdmiCecConfig.getIntValue( HdmiControlManager.CEC_SETTING_NAME_HDMI_CEC_ENABLED) == HdmiControlManager.HDMI_CEC_CONTROL_ENABLED; setControlEnabled(enabled); } }); mHdmiCecConfig.registerChangeListener(HdmiControlManager.CEC_SETTING_NAME_HDMI_CEC_VERSION, new HdmiCecConfig.SettingChangeListener() { @Override public void onChange(String setting) { initializeCec(INITIATED_BY_ENABLE_CEC); } }); } private void bootCompleted() { Loading Loading @@ -623,9 +642,7 @@ public class HdmiControlService extends SystemService { private void registerContentObserver() { ContentResolver resolver = getContext().getContentResolver(); String[] settings = new String[] { Global.HDMI_CONTROL_ENABLED, Global.HDMI_CONTROL_VOLUME_CONTROL_ENABLED, Global.HDMI_CEC_VERSION, Global.HDMI_CONTROL_AUTO_WAKEUP_ENABLED, Global.HDMI_CONTROL_AUTO_DEVICE_OFF_ENABLED, Global.HDMI_SYSTEM_AUDIO_CONTROL_ENABLED, Loading @@ -651,12 +668,6 @@ public class HdmiControlService extends SystemService { String option = uri.getLastPathSegment(); boolean enabled = readBooleanSetting(option, true); switch (option) { case Global.HDMI_CONTROL_ENABLED: setControlEnabled(enabled); break; case Global.HDMI_CEC_VERSION: initializeCec(INITIATED_BY_ENABLE_CEC); break; case Global.HDMI_CONTROL_VOLUME_CONTROL_ENABLED: setHdmiCecVolumeControlEnabledInternal(enabled); break; Loading services/tests/servicestests/src/com/android/server/hdmi/FakeHdmiCecConfig.java +9 −0 Original line number Diff line number Diff line Loading @@ -59,6 +59,15 @@ final class FakeHdmiCecConfig extends HdmiCecConfig { + " </allowed-values>" + " <default-value string-value=\"none\" />" + " </setting>" + " <setting name=\"hdmi_cec_enabled\"" + " value-type=\"int\"" + " user-configurable=\"true\">" + " <allowed-values>" + " <value int-value=\"0\" />" + " <value int-value=\"1\" />" + " </allowed-values>" + " <default-value int-value=\"1\" />" + " </setting>" + " <setting name=\"hdmi_cec_version\"" + " value-type=\"int\"" + " user-configurable=\"true\">" Loading Loading
services/core/java/com/android/server/hdmi/HdmiControlService.java +21 −10 Original line number Diff line number Diff line Loading @@ -468,7 +468,9 @@ public class HdmiControlService extends SystemService { mPowerStatusController.setPowerStatus(getInitialPowerStatus()); mProhibitMode = false; mHdmiControlEnabled = readBooleanSetting(Global.HDMI_CONTROL_ENABLED, true); mHdmiControlEnabled = mHdmiCecConfig.getIntValue( HdmiControlManager.CEC_SETTING_NAME_HDMI_CEC_ENABLED) == HdmiControlManager.HDMI_CEC_CONTROL_ENABLED; mHdmiCecVolumeControlEnabled = readBooleanSetting( Global.HDMI_CONTROL_VOLUME_CONTROL_ENABLED, true); mMhlInputChangeEnabled = readBooleanSetting(Global.MHL_INPUT_SWITCHING_ENABLED, true); Loading Loading @@ -498,7 +500,24 @@ public class HdmiControlService extends SystemService { if (mMessageValidator == null) { mMessageValidator = new HdmiCecMessageValidator(this); } mHdmiCecConfig.registerGlobalSettingsObserver(mIoLooper); mHdmiCecConfig.registerGlobalSettingsObserver(mHandler.getLooper()); mHdmiCecConfig.registerChangeListener(HdmiControlManager.CEC_SETTING_NAME_HDMI_CEC_ENABLED, new HdmiCecConfig.SettingChangeListener() { @Override public void onChange(String setting) { boolean enabled = mHdmiCecConfig.getIntValue( HdmiControlManager.CEC_SETTING_NAME_HDMI_CEC_ENABLED) == HdmiControlManager.HDMI_CEC_CONTROL_ENABLED; setControlEnabled(enabled); } }); mHdmiCecConfig.registerChangeListener(HdmiControlManager.CEC_SETTING_NAME_HDMI_CEC_VERSION, new HdmiCecConfig.SettingChangeListener() { @Override public void onChange(String setting) { initializeCec(INITIATED_BY_ENABLE_CEC); } }); } private void bootCompleted() { Loading Loading @@ -623,9 +642,7 @@ public class HdmiControlService extends SystemService { private void registerContentObserver() { ContentResolver resolver = getContext().getContentResolver(); String[] settings = new String[] { Global.HDMI_CONTROL_ENABLED, Global.HDMI_CONTROL_VOLUME_CONTROL_ENABLED, Global.HDMI_CEC_VERSION, Global.HDMI_CONTROL_AUTO_WAKEUP_ENABLED, Global.HDMI_CONTROL_AUTO_DEVICE_OFF_ENABLED, Global.HDMI_SYSTEM_AUDIO_CONTROL_ENABLED, Loading @@ -651,12 +668,6 @@ public class HdmiControlService extends SystemService { String option = uri.getLastPathSegment(); boolean enabled = readBooleanSetting(option, true); switch (option) { case Global.HDMI_CONTROL_ENABLED: setControlEnabled(enabled); break; case Global.HDMI_CEC_VERSION: initializeCec(INITIATED_BY_ENABLE_CEC); break; case Global.HDMI_CONTROL_VOLUME_CONTROL_ENABLED: setHdmiCecVolumeControlEnabledInternal(enabled); break; Loading
services/tests/servicestests/src/com/android/server/hdmi/FakeHdmiCecConfig.java +9 −0 Original line number Diff line number Diff line Loading @@ -59,6 +59,15 @@ final class FakeHdmiCecConfig extends HdmiCecConfig { + " </allowed-values>" + " <default-value string-value=\"none\" />" + " </setting>" + " <setting name=\"hdmi_cec_enabled\"" + " value-type=\"int\"" + " user-configurable=\"true\">" + " <allowed-values>" + " <value int-value=\"0\" />" + " <value int-value=\"1\" />" + " </allowed-values>" + " <default-value int-value=\"1\" />" + " </setting>" + " <setting name=\"hdmi_cec_version\"" + " value-type=\"int\"" + " user-configurable=\"true\">" Loading