Playback device to not send <Inactive Source> before <Standby>
Test: atest and manual Bug: 183603416 Change-Id: Iee4ae7b9d9bf86c2e984483c16d9875a312a05ae Merged-In: Iee4ae7b9d9bf86c2e984483c16d9875a312a05ae
This commit is contained in:
@@ -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(
|
||||
@@ -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;
|
||||
|
||||
@@ -698,9 +698,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
|
||||
@@ -720,9 +723,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
|
||||
@@ -742,9 +748,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
|
||||
@@ -764,9 +773,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
|
||||
@@ -786,9 +798,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
|
||||
@@ -808,9 +823,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
|
||||
|
||||
Reference in New Issue
Block a user