Merge "[CEC] Skip <OTP> when Power mode set to NONE"
This commit is contained in:
@@ -306,16 +306,23 @@ public class HdmiCecLocalDevicePlayback extends HdmiCecLocalDeviceSource {
|
||||
@Override
|
||||
@ServiceThreadOnly
|
||||
protected void onInitializeCecComplete(int initiatedBy) {
|
||||
if (initiatedBy == HdmiControlService.INITIATED_BY_SCREEN_ON) {
|
||||
oneTouchPlay(new IHdmiControlCallback.Stub() {
|
||||
@Override
|
||||
public void onComplete(int result) {
|
||||
if (result != HdmiControlManager.RESULT_SUCCESS) {
|
||||
Slog.w(TAG, "Failed to complete One Touch Play. result=" + result);
|
||||
}
|
||||
}
|
||||
});
|
||||
if (initiatedBy != HdmiControlService.INITIATED_BY_SCREEN_ON) {
|
||||
return;
|
||||
}
|
||||
@HdmiControlManager.PowerControlMode
|
||||
String powerControlMode = mService.getHdmiCecConfig().getStringValue(
|
||||
HdmiControlManager.CEC_SETTING_NAME_POWER_CONTROL_MODE);
|
||||
if (powerControlMode.equals(HdmiControlManager.POWER_CONTROL_MODE_NONE)) {
|
||||
return;
|
||||
}
|
||||
oneTouchPlay(new IHdmiControlCallback.Stub() {
|
||||
@Override
|
||||
public void onComplete(int result) {
|
||||
if (result != HdmiControlManager.RESULT_SUCCESS) {
|
||||
Slog.w(TAG, "Failed to complete One Touch Play. result=" + result);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -982,7 +982,11 @@ public class HdmiCecLocalDevicePlaybackTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void handleOnInitializeCecComplete_ByScreenOn() {
|
||||
public void handleOnInitializeCecComplete_ByScreenOn_PowerControlModeTv() {
|
||||
mHdmiCecLocalDevicePlayback.mService.getHdmiCecConfig().setStringValue(
|
||||
HdmiControlManager.CEC_SETTING_NAME_POWER_CONTROL_MODE,
|
||||
HdmiControlManager.POWER_CONTROL_MODE_TV);
|
||||
|
||||
mHdmiCecLocalDevicePlayback.onInitializeCecComplete(
|
||||
mHdmiControlService.INITIATED_BY_SCREEN_ON);
|
||||
mTestLooper.dispatchAll();
|
||||
@@ -998,6 +1002,27 @@ public class HdmiCecLocalDevicePlaybackTest {
|
||||
assertThat(mNativeWrapper.getResultMessages()).contains(textViewOn);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void handleOnInitializeCecComplete_ByScreenOn_PowerControlModeNone() {
|
||||
mHdmiCecLocalDevicePlayback.mService.getHdmiCecConfig().setStringValue(
|
||||
HdmiControlManager.CEC_SETTING_NAME_POWER_CONTROL_MODE,
|
||||
HdmiControlManager.POWER_CONTROL_MODE_NONE);
|
||||
|
||||
mHdmiCecLocalDevicePlayback.onInitializeCecComplete(
|
||||
mHdmiControlService.INITIATED_BY_SCREEN_ON);
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
HdmiCecMessage activeSource =
|
||||
HdmiCecMessageBuilder.buildActiveSource(mPlaybackLogicalAddress,
|
||||
mPlaybackPhysicalAddress);
|
||||
HdmiCecMessage textViewOn =
|
||||
HdmiCecMessageBuilder.buildTextViewOn(mPlaybackLogicalAddress,
|
||||
ADDR_TV);
|
||||
|
||||
assertThat(mNativeWrapper.getResultMessages()).doesNotContain(activeSource);
|
||||
assertThat(mNativeWrapper.getResultMessages()).doesNotContain(textViewOn);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void handleOnInitializeCecComplete_ByWakeUpMessage() {
|
||||
mHdmiCecLocalDevicePlayback.onInitializeCecComplete(
|
||||
|
||||
Reference in New Issue
Block a user