Loading services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceAudioSystem.java +8 −0 Original line number Diff line number Diff line Loading @@ -317,6 +317,10 @@ public class HdmiCecLocalDeviceAudioSystem extends HdmiCecLocalDeviceSource { if ((systemAudioOnPowerOnProp == ALWAYS_SYSTEM_AUDIO_CONTROL_ON_POWER_ON) || ((systemAudioOnPowerOnProp == USE_LAST_STATE_SYSTEM_AUDIO_CONTROL_ON_POWER_ON) && lastSystemAudioControlStatus && isSystemAudioControlFeatureEnabled())) { if (hasAction(SystemAudioInitiationActionFromAvr.class)) { Slog.i(TAG, "SystemAudioInitiationActionFromAvr is in progress. Restarting."); removeAction(SystemAudioInitiationActionFromAvr.class); } addAndStartAction(new SystemAudioInitiationActionFromAvr(this)); } } Loading Loading @@ -1032,6 +1036,10 @@ public class HdmiCecLocalDeviceAudioSystem extends HdmiCecLocalDeviceSource { void onSystemAudioControlFeatureSupportChanged(boolean enabled) { setSystemAudioControlFeatureEnabled(enabled); if (enabled) { if (hasAction(SystemAudioInitiationActionFromAvr.class)) { Slog.i(TAG, "SystemAudioInitiationActionFromAvr is in progress. Restarting."); removeAction(SystemAudioInitiationActionFromAvr.class); } addAndStartAction(new SystemAudioInitiationActionFromAvr(this)); } } Loading services/tests/servicestests/src/com/android/server/hdmi/HdmiCecLocalDeviceAudioSystemTest.java +24 −0 Original line number Diff line number Diff line Loading @@ -363,6 +363,30 @@ public class HdmiCecLocalDeviceAudioSystemTest { .isNotEmpty(); } @Test public void systemAudioControlOnPowerOn_singleActionStarted() throws Exception { mHdmiCecLocalDeviceAudioSystem.removeAction(SystemAudioInitiationActionFromAvr.class); mHdmiCecLocalDeviceAudioSystem.systemAudioControlOnPowerOn( Constants.ALWAYS_SYSTEM_AUDIO_CONTROL_ON_POWER_ON, true); mHdmiCecLocalDeviceAudioSystem.systemAudioControlOnPowerOn( Constants.ALWAYS_SYSTEM_AUDIO_CONTROL_ON_POWER_ON, true); assertThat( mHdmiCecLocalDeviceAudioSystem.getActions( SystemAudioInitiationActionFromAvr.class)) .hasSize(1); } @Test public void onSystemAudioControlFeatureSupportChanged_singleActionStarted() throws Exception { mHdmiCecLocalDeviceAudioSystem.removeAction(SystemAudioInitiationActionFromAvr.class); mHdmiCecLocalDeviceAudioSystem.onSystemAudioControlFeatureSupportChanged(true); mHdmiCecLocalDeviceAudioSystem.onSystemAudioControlFeatureSupportChanged(true); assertThat( mHdmiCecLocalDeviceAudioSystem.getActions( SystemAudioInitiationActionFromAvr.class)) .hasSize(1); } @Test public void handleActiveSource_updateActiveSource() throws Exception { HdmiCecMessage message = HdmiCecMessageBuilder.buildActiveSource(ADDR_TV, 0x0000); Loading Loading
services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceAudioSystem.java +8 −0 Original line number Diff line number Diff line Loading @@ -317,6 +317,10 @@ public class HdmiCecLocalDeviceAudioSystem extends HdmiCecLocalDeviceSource { if ((systemAudioOnPowerOnProp == ALWAYS_SYSTEM_AUDIO_CONTROL_ON_POWER_ON) || ((systemAudioOnPowerOnProp == USE_LAST_STATE_SYSTEM_AUDIO_CONTROL_ON_POWER_ON) && lastSystemAudioControlStatus && isSystemAudioControlFeatureEnabled())) { if (hasAction(SystemAudioInitiationActionFromAvr.class)) { Slog.i(TAG, "SystemAudioInitiationActionFromAvr is in progress. Restarting."); removeAction(SystemAudioInitiationActionFromAvr.class); } addAndStartAction(new SystemAudioInitiationActionFromAvr(this)); } } Loading Loading @@ -1032,6 +1036,10 @@ public class HdmiCecLocalDeviceAudioSystem extends HdmiCecLocalDeviceSource { void onSystemAudioControlFeatureSupportChanged(boolean enabled) { setSystemAudioControlFeatureEnabled(enabled); if (enabled) { if (hasAction(SystemAudioInitiationActionFromAvr.class)) { Slog.i(TAG, "SystemAudioInitiationActionFromAvr is in progress. Restarting."); removeAction(SystemAudioInitiationActionFromAvr.class); } addAndStartAction(new SystemAudioInitiationActionFromAvr(this)); } } Loading
services/tests/servicestests/src/com/android/server/hdmi/HdmiCecLocalDeviceAudioSystemTest.java +24 −0 Original line number Diff line number Diff line Loading @@ -363,6 +363,30 @@ public class HdmiCecLocalDeviceAudioSystemTest { .isNotEmpty(); } @Test public void systemAudioControlOnPowerOn_singleActionStarted() throws Exception { mHdmiCecLocalDeviceAudioSystem.removeAction(SystemAudioInitiationActionFromAvr.class); mHdmiCecLocalDeviceAudioSystem.systemAudioControlOnPowerOn( Constants.ALWAYS_SYSTEM_AUDIO_CONTROL_ON_POWER_ON, true); mHdmiCecLocalDeviceAudioSystem.systemAudioControlOnPowerOn( Constants.ALWAYS_SYSTEM_AUDIO_CONTROL_ON_POWER_ON, true); assertThat( mHdmiCecLocalDeviceAudioSystem.getActions( SystemAudioInitiationActionFromAvr.class)) .hasSize(1); } @Test public void onSystemAudioControlFeatureSupportChanged_singleActionStarted() throws Exception { mHdmiCecLocalDeviceAudioSystem.removeAction(SystemAudioInitiationActionFromAvr.class); mHdmiCecLocalDeviceAudioSystem.onSystemAudioControlFeatureSupportChanged(true); mHdmiCecLocalDeviceAudioSystem.onSystemAudioControlFeatureSupportChanged(true); assertThat( mHdmiCecLocalDeviceAudioSystem.getActions( SystemAudioInitiationActionFromAvr.class)) .hasSize(1); } @Test public void handleActiveSource_updateActiveSource() throws Exception { HdmiCecMessage message = HdmiCecMessageBuilder.buildActiveSource(ADDR_TV, 0x0000); Loading