Loading services/core/java/com/android/server/hdmi/HdmiCecLocalDevicePlayback.java +4 −5 Original line number Diff line number Diff line Loading @@ -136,12 +136,8 @@ public class HdmiCecLocalDevicePlayback extends HdmiCecLocalDeviceSource { if (!mService.isControlEnabled()) { return; } if (isActiveSource()) { mService.sendCecCommand(HdmiCecMessageBuilder.buildInactiveSource( mAddress, mService.getPhysicalAddress())); } boolean wasActiveSource = isActiveSource(); // Invalidate the internal active source record when goes to standby // Invalidate the internal active source record when going to standby mService.setActiveSource(Constants.ADDR_INVALID, Constants.INVALID_PHYSICAL_ADDRESS, "HdmiCecLocalDevicePlayback#onStandby()"); boolean mTvSendStandbyOnSleep = mService.getHdmiCecConfig().getIntValue( Loading @@ -167,6 +163,9 @@ public class HdmiCecLocalDevicePlayback extends HdmiCecLocalDeviceSource { Constants.ADDR_BROADCAST)); break; case HdmiControlManager.POWER_CONTROL_MODE_NONE: mService.sendCecCommand( HdmiCecMessageBuilder.buildInactiveSource(mAddress, mService.getPhysicalAddress())); break; } break; Loading services/tests/servicestests/src/com/android/server/hdmi/HdmiCecLocalDevicePlaybackTest.java +18 −0 Original line number Diff line number Diff line Loading @@ -697,9 +697,12 @@ public class HdmiCecLocalDevicePlaybackTest { mHdmiCecLocalDevicePlayback.mAddress, ADDR_TV); HdmiCecMessage standbyMessageBroadcast = HdmiCecMessageBuilder.buildStandby( mHdmiCecLocalDevicePlayback.mAddress, ADDR_BROADCAST); HdmiCecMessage inactiveSource = HdmiCecMessageBuilder.buildInactiveSource( mPlaybackLogicalAddress, mPlaybackPhysicalAddress); assertThat(mNativeWrapper.getResultMessages()).doesNotContain(standbyMessageToTv); assertThat(mNativeWrapper.getResultMessages()).doesNotContain(standbyMessageBroadcast); assertThat(mNativeWrapper.getResultMessages()).doesNotContain(inactiveSource); } @Test Loading @@ -719,9 +722,12 @@ public class HdmiCecLocalDevicePlaybackTest { mHdmiCecLocalDevicePlayback.mAddress, ADDR_TV); HdmiCecMessage standbyMessageBroadcast = HdmiCecMessageBuilder.buildStandby( mHdmiCecLocalDevicePlayback.mAddress, ADDR_BROADCAST); HdmiCecMessage inactiveSource = HdmiCecMessageBuilder.buildInactiveSource( mPlaybackLogicalAddress, mPlaybackPhysicalAddress); assertThat(mNativeWrapper.getResultMessages()).doesNotContain(standbyMessageToTv); assertThat(mNativeWrapper.getResultMessages()).doesNotContain(standbyMessageBroadcast); assertThat(mNativeWrapper.getResultMessages()).doesNotContain(inactiveSource); } @Test Loading @@ -741,9 +747,12 @@ public class HdmiCecLocalDevicePlaybackTest { mHdmiCecLocalDevicePlayback.mAddress, ADDR_TV); HdmiCecMessage standbyMessageBroadcast = HdmiCecMessageBuilder.buildStandby( mHdmiCecLocalDevicePlayback.mAddress, ADDR_BROADCAST); HdmiCecMessage inactiveSource = HdmiCecMessageBuilder.buildInactiveSource( mPlaybackLogicalAddress, mPlaybackPhysicalAddress); assertThat(mNativeWrapper.getResultMessages()).doesNotContain(standbyMessageToTv); assertThat(mNativeWrapper.getResultMessages()).doesNotContain(standbyMessageBroadcast); assertThat(mNativeWrapper.getResultMessages()).doesNotContain(inactiveSource); } @Test Loading @@ -763,9 +772,12 @@ public class HdmiCecLocalDevicePlaybackTest { mHdmiCecLocalDevicePlayback.mAddress, ADDR_TV); HdmiCecMessage standbyMessageBroadcast = HdmiCecMessageBuilder.buildStandby( mHdmiCecLocalDevicePlayback.mAddress, ADDR_BROADCAST); HdmiCecMessage inactiveSource = HdmiCecMessageBuilder.buildInactiveSource( mPlaybackLogicalAddress, mPlaybackPhysicalAddress); assertThat(mNativeWrapper.getResultMessages()).contains(standbyMessageToTv); assertThat(mNativeWrapper.getResultMessages()).doesNotContain(standbyMessageBroadcast); assertThat(mNativeWrapper.getResultMessages()).doesNotContain(inactiveSource); } @Test Loading @@ -785,9 +797,12 @@ public class HdmiCecLocalDevicePlaybackTest { mHdmiCecLocalDevicePlayback.mAddress, ADDR_TV); HdmiCecMessage standbyMessageBroadcast = HdmiCecMessageBuilder.buildStandby( mHdmiCecLocalDevicePlayback.mAddress, ADDR_BROADCAST); HdmiCecMessage inactiveSource = HdmiCecMessageBuilder.buildInactiveSource( mPlaybackLogicalAddress, mPlaybackPhysicalAddress); assertThat(mNativeWrapper.getResultMessages()).doesNotContain(standbyMessageToTv); assertThat(mNativeWrapper.getResultMessages()).contains(standbyMessageBroadcast); assertThat(mNativeWrapper.getResultMessages()).doesNotContain(inactiveSource); } @Test Loading @@ -807,9 +822,12 @@ public class HdmiCecLocalDevicePlaybackTest { mHdmiCecLocalDevicePlayback.mAddress, ADDR_TV); HdmiCecMessage standbyMessageBroadcast = HdmiCecMessageBuilder.buildStandby( mHdmiCecLocalDevicePlayback.mAddress, ADDR_BROADCAST); HdmiCecMessage inactiveSource = HdmiCecMessageBuilder.buildInactiveSource( mPlaybackLogicalAddress, mPlaybackPhysicalAddress); assertThat(mNativeWrapper.getResultMessages()).doesNotContain(standbyMessageToTv); assertThat(mNativeWrapper.getResultMessages()).doesNotContain(standbyMessageBroadcast); assertThat(mNativeWrapper.getResultMessages()).contains(inactiveSource); } @Test Loading Loading
services/core/java/com/android/server/hdmi/HdmiCecLocalDevicePlayback.java +4 −5 Original line number Diff line number Diff line Loading @@ -136,12 +136,8 @@ public class HdmiCecLocalDevicePlayback extends HdmiCecLocalDeviceSource { if (!mService.isControlEnabled()) { return; } if (isActiveSource()) { mService.sendCecCommand(HdmiCecMessageBuilder.buildInactiveSource( mAddress, mService.getPhysicalAddress())); } boolean wasActiveSource = isActiveSource(); // Invalidate the internal active source record when goes to standby // Invalidate the internal active source record when going to standby mService.setActiveSource(Constants.ADDR_INVALID, Constants.INVALID_PHYSICAL_ADDRESS, "HdmiCecLocalDevicePlayback#onStandby()"); boolean mTvSendStandbyOnSleep = mService.getHdmiCecConfig().getIntValue( Loading @@ -167,6 +163,9 @@ public class HdmiCecLocalDevicePlayback extends HdmiCecLocalDeviceSource { Constants.ADDR_BROADCAST)); break; case HdmiControlManager.POWER_CONTROL_MODE_NONE: mService.sendCecCommand( HdmiCecMessageBuilder.buildInactiveSource(mAddress, mService.getPhysicalAddress())); break; } break; Loading
services/tests/servicestests/src/com/android/server/hdmi/HdmiCecLocalDevicePlaybackTest.java +18 −0 Original line number Diff line number Diff line Loading @@ -697,9 +697,12 @@ public class HdmiCecLocalDevicePlaybackTest { mHdmiCecLocalDevicePlayback.mAddress, ADDR_TV); HdmiCecMessage standbyMessageBroadcast = HdmiCecMessageBuilder.buildStandby( mHdmiCecLocalDevicePlayback.mAddress, ADDR_BROADCAST); HdmiCecMessage inactiveSource = HdmiCecMessageBuilder.buildInactiveSource( mPlaybackLogicalAddress, mPlaybackPhysicalAddress); assertThat(mNativeWrapper.getResultMessages()).doesNotContain(standbyMessageToTv); assertThat(mNativeWrapper.getResultMessages()).doesNotContain(standbyMessageBroadcast); assertThat(mNativeWrapper.getResultMessages()).doesNotContain(inactiveSource); } @Test Loading @@ -719,9 +722,12 @@ public class HdmiCecLocalDevicePlaybackTest { mHdmiCecLocalDevicePlayback.mAddress, ADDR_TV); HdmiCecMessage standbyMessageBroadcast = HdmiCecMessageBuilder.buildStandby( mHdmiCecLocalDevicePlayback.mAddress, ADDR_BROADCAST); HdmiCecMessage inactiveSource = HdmiCecMessageBuilder.buildInactiveSource( mPlaybackLogicalAddress, mPlaybackPhysicalAddress); assertThat(mNativeWrapper.getResultMessages()).doesNotContain(standbyMessageToTv); assertThat(mNativeWrapper.getResultMessages()).doesNotContain(standbyMessageBroadcast); assertThat(mNativeWrapper.getResultMessages()).doesNotContain(inactiveSource); } @Test Loading @@ -741,9 +747,12 @@ public class HdmiCecLocalDevicePlaybackTest { mHdmiCecLocalDevicePlayback.mAddress, ADDR_TV); HdmiCecMessage standbyMessageBroadcast = HdmiCecMessageBuilder.buildStandby( mHdmiCecLocalDevicePlayback.mAddress, ADDR_BROADCAST); HdmiCecMessage inactiveSource = HdmiCecMessageBuilder.buildInactiveSource( mPlaybackLogicalAddress, mPlaybackPhysicalAddress); assertThat(mNativeWrapper.getResultMessages()).doesNotContain(standbyMessageToTv); assertThat(mNativeWrapper.getResultMessages()).doesNotContain(standbyMessageBroadcast); assertThat(mNativeWrapper.getResultMessages()).doesNotContain(inactiveSource); } @Test Loading @@ -763,9 +772,12 @@ public class HdmiCecLocalDevicePlaybackTest { mHdmiCecLocalDevicePlayback.mAddress, ADDR_TV); HdmiCecMessage standbyMessageBroadcast = HdmiCecMessageBuilder.buildStandby( mHdmiCecLocalDevicePlayback.mAddress, ADDR_BROADCAST); HdmiCecMessage inactiveSource = HdmiCecMessageBuilder.buildInactiveSource( mPlaybackLogicalAddress, mPlaybackPhysicalAddress); assertThat(mNativeWrapper.getResultMessages()).contains(standbyMessageToTv); assertThat(mNativeWrapper.getResultMessages()).doesNotContain(standbyMessageBroadcast); assertThat(mNativeWrapper.getResultMessages()).doesNotContain(inactiveSource); } @Test Loading @@ -785,9 +797,12 @@ public class HdmiCecLocalDevicePlaybackTest { mHdmiCecLocalDevicePlayback.mAddress, ADDR_TV); HdmiCecMessage standbyMessageBroadcast = HdmiCecMessageBuilder.buildStandby( mHdmiCecLocalDevicePlayback.mAddress, ADDR_BROADCAST); HdmiCecMessage inactiveSource = HdmiCecMessageBuilder.buildInactiveSource( mPlaybackLogicalAddress, mPlaybackPhysicalAddress); assertThat(mNativeWrapper.getResultMessages()).doesNotContain(standbyMessageToTv); assertThat(mNativeWrapper.getResultMessages()).contains(standbyMessageBroadcast); assertThat(mNativeWrapper.getResultMessages()).doesNotContain(inactiveSource); } @Test Loading @@ -807,9 +822,12 @@ public class HdmiCecLocalDevicePlaybackTest { mHdmiCecLocalDevicePlayback.mAddress, ADDR_TV); HdmiCecMessage standbyMessageBroadcast = HdmiCecMessageBuilder.buildStandby( mHdmiCecLocalDevicePlayback.mAddress, ADDR_BROADCAST); HdmiCecMessage inactiveSource = HdmiCecMessageBuilder.buildInactiveSource( mPlaybackLogicalAddress, mPlaybackPhysicalAddress); assertThat(mNativeWrapper.getResultMessages()).doesNotContain(standbyMessageToTv); assertThat(mNativeWrapper.getResultMessages()).doesNotContain(standbyMessageBroadcast); assertThat(mNativeWrapper.getResultMessages()).contains(inactiveSource); } @Test Loading