Loading services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceAudioSystem.java +4 −1 Original line number Diff line number Diff line Loading @@ -70,6 +70,9 @@ public class HdmiCecLocalDeviceAudioSystem extends HdmiCecLocalDeviceSource { private static final String TAG = "HdmiCecLocalDeviceAudioSystem"; private static final boolean WAKE_ON_HOTPLUG = SystemProperties.getBoolean(Constants.PROPERTY_WAKE_ON_HOTPLUG, false); // Whether the System Audio Control feature is enabled or not. True by default. @GuardedBy("mLock") private boolean mSystemAudioControlFeatureEnabled; Loading Loading @@ -318,7 +321,7 @@ public class HdmiCecLocalDeviceAudioSystem extends HdmiCecLocalDeviceSource { @ServiceThreadOnly void onHotplug(int portId, boolean connected) { assertRunOnServiceThread(); if (connected) { if (WAKE_ON_HOTPLUG && connected) { mService.wakeUp(); } if (mService.getPortInfo(portId).getType() == HdmiPortInfo.PORT_OUTPUT) { Loading services/tests/servicestests/src/com/android/server/hdmi/HdmiCecLocalDeviceAudioSystemTest.java +18 −1 Original line number Diff line number Diff line Loading @@ -76,6 +76,7 @@ public class HdmiCecLocalDeviceAudioSystemTest { private boolean mMutingEnabled; private boolean mArcSupport; private HdmiPortInfo[] mHdmiPortInfo; private boolean mWokenUp; @Before public void setUp() { Loading Loading @@ -138,7 +139,9 @@ public class HdmiCecLocalDeviceAudioSystemTest { } @Override void wakeUp() {} void wakeUp() { mWokenUp = true; } @Override void invokeDeviceEventListeners(HdmiDeviceInfo device, int status) { Loading Loading @@ -698,4 +701,18 @@ public class HdmiCecLocalDeviceAudioSystemTest { .getCecDeviceInfo(differentDevice.getLogicalAddress())).isEqualTo(differentDevice); assertThat(mInvokeDeviceEventState).isEqualTo(DEVICE_EVENT_ADD_DEVICE); } @Test public void doNotWakeUpOnHotPlug_PlugIn() { mWokenUp = false; mHdmiCecLocalDeviceAudioSystem.onHotplug(0, true); assertThat(mWokenUp).isFalse(); } @Test public void doNotWakeUpOnHotPlug_PlugOut() { mWokenUp = false; mHdmiCecLocalDeviceAudioSystem.onHotplug(0, false); assertThat(mWokenUp).isFalse(); } } services/tests/servicestests/src/com/android/server/hdmi/HdmiCecLocalDevicePlaybackTest.java +16 −0 Original line number Diff line number Diff line Loading @@ -47,6 +47,7 @@ public class HdmiCecLocalDevicePlaybackTest { private TestLooper mTestLooper = new TestLooper(); private ArrayList<HdmiCecLocalDevice> mLocalDevices = new ArrayList<>(); private int mPlaybackPhysicalAddress; private boolean mWokenUp; @Before public void setUp() { Loading @@ -54,6 +55,7 @@ public class HdmiCecLocalDevicePlaybackTest { new HdmiControlService(InstrumentationRegistry.getTargetContext()) { @Override void wakeUp() { mWokenUp = true; } @Override Loading Loading @@ -135,4 +137,18 @@ public class HdmiCecLocalDevicePlaybackTest { assertThat(mHdmiCecLocalDevicePlayback.handleSystemAudioModeStatus(message)).isTrue(); assertThat(mHdmiCecLocalDevicePlayback.mService.isSystemAudioActivated()).isTrue(); } @Test public void doNotWakeUpOnHotPlug_PlugIn() { mWokenUp = false; mHdmiCecLocalDevicePlayback.onHotplug(0, true); assertThat(mWokenUp).isFalse(); } @Test public void doNotWakeUpOnHotPlug_PlugOut() { mWokenUp = false; mHdmiCecLocalDevicePlayback.onHotplug(0, false); assertThat(mWokenUp).isFalse(); } } Loading
services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceAudioSystem.java +4 −1 Original line number Diff line number Diff line Loading @@ -70,6 +70,9 @@ public class HdmiCecLocalDeviceAudioSystem extends HdmiCecLocalDeviceSource { private static final String TAG = "HdmiCecLocalDeviceAudioSystem"; private static final boolean WAKE_ON_HOTPLUG = SystemProperties.getBoolean(Constants.PROPERTY_WAKE_ON_HOTPLUG, false); // Whether the System Audio Control feature is enabled or not. True by default. @GuardedBy("mLock") private boolean mSystemAudioControlFeatureEnabled; Loading Loading @@ -318,7 +321,7 @@ public class HdmiCecLocalDeviceAudioSystem extends HdmiCecLocalDeviceSource { @ServiceThreadOnly void onHotplug(int portId, boolean connected) { assertRunOnServiceThread(); if (connected) { if (WAKE_ON_HOTPLUG && connected) { mService.wakeUp(); } if (mService.getPortInfo(portId).getType() == HdmiPortInfo.PORT_OUTPUT) { Loading
services/tests/servicestests/src/com/android/server/hdmi/HdmiCecLocalDeviceAudioSystemTest.java +18 −1 Original line number Diff line number Diff line Loading @@ -76,6 +76,7 @@ public class HdmiCecLocalDeviceAudioSystemTest { private boolean mMutingEnabled; private boolean mArcSupport; private HdmiPortInfo[] mHdmiPortInfo; private boolean mWokenUp; @Before public void setUp() { Loading Loading @@ -138,7 +139,9 @@ public class HdmiCecLocalDeviceAudioSystemTest { } @Override void wakeUp() {} void wakeUp() { mWokenUp = true; } @Override void invokeDeviceEventListeners(HdmiDeviceInfo device, int status) { Loading Loading @@ -698,4 +701,18 @@ public class HdmiCecLocalDeviceAudioSystemTest { .getCecDeviceInfo(differentDevice.getLogicalAddress())).isEqualTo(differentDevice); assertThat(mInvokeDeviceEventState).isEqualTo(DEVICE_EVENT_ADD_DEVICE); } @Test public void doNotWakeUpOnHotPlug_PlugIn() { mWokenUp = false; mHdmiCecLocalDeviceAudioSystem.onHotplug(0, true); assertThat(mWokenUp).isFalse(); } @Test public void doNotWakeUpOnHotPlug_PlugOut() { mWokenUp = false; mHdmiCecLocalDeviceAudioSystem.onHotplug(0, false); assertThat(mWokenUp).isFalse(); } }
services/tests/servicestests/src/com/android/server/hdmi/HdmiCecLocalDevicePlaybackTest.java +16 −0 Original line number Diff line number Diff line Loading @@ -47,6 +47,7 @@ public class HdmiCecLocalDevicePlaybackTest { private TestLooper mTestLooper = new TestLooper(); private ArrayList<HdmiCecLocalDevice> mLocalDevices = new ArrayList<>(); private int mPlaybackPhysicalAddress; private boolean mWokenUp; @Before public void setUp() { Loading @@ -54,6 +55,7 @@ public class HdmiCecLocalDevicePlaybackTest { new HdmiControlService(InstrumentationRegistry.getTargetContext()) { @Override void wakeUp() { mWokenUp = true; } @Override Loading Loading @@ -135,4 +137,18 @@ public class HdmiCecLocalDevicePlaybackTest { assertThat(mHdmiCecLocalDevicePlayback.handleSystemAudioModeStatus(message)).isTrue(); assertThat(mHdmiCecLocalDevicePlayback.mService.isSystemAudioActivated()).isTrue(); } @Test public void doNotWakeUpOnHotPlug_PlugIn() { mWokenUp = false; mHdmiCecLocalDevicePlayback.onHotplug(0, true); assertThat(mWokenUp).isFalse(); } @Test public void doNotWakeUpOnHotPlug_PlugOut() { mWokenUp = false; mHdmiCecLocalDevicePlayback.onHotplug(0, false); assertThat(mWokenUp).isFalse(); } }