Merge "Fix OTT devices not reacting to messages in Standby" am: 4065fa6496
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2055913 Change-Id: I6788577002a5d6b4bf5e3e19bc1158ea453c7ad2 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -83,7 +83,9 @@ public final class HdmiCecStandbyModeHandler {
|
|||||||
private final HdmiCecLocalDevice mDevice;
|
private final HdmiCecLocalDevice mDevice;
|
||||||
|
|
||||||
private final SparseArray<CecMessageHandler> mCecMessageHandlers = new SparseArray<>();
|
private final SparseArray<CecMessageHandler> mCecMessageHandlers = new SparseArray<>();
|
||||||
private final CecMessageHandler mDefaultHandler = new Aborter(
|
private final CecMessageHandler mDefaultHandler;
|
||||||
|
|
||||||
|
private final CecMessageHandler mAborterUnrecognizedOpcode = new Aborter(
|
||||||
Constants.ABORT_UNRECOGNIZED_OPCODE);
|
Constants.ABORT_UNRECOGNIZED_OPCODE);
|
||||||
private final CecMessageHandler mAborterIncorrectMode = new Aborter(
|
private final CecMessageHandler mAborterIncorrectMode = new Aborter(
|
||||||
Constants.ABORT_NOT_IN_CORRECT_MODE);
|
Constants.ABORT_NOT_IN_CORRECT_MODE);
|
||||||
@@ -95,6 +97,10 @@ public final class HdmiCecStandbyModeHandler {
|
|||||||
mUserControlProcessedHandler = new UserControlProcessedHandler();
|
mUserControlProcessedHandler = new UserControlProcessedHandler();
|
||||||
|
|
||||||
private void addCommonHandlers() {
|
private void addCommonHandlers() {
|
||||||
|
addHandler(Constants.MESSAGE_USER_CONTROL_PRESSED, mUserControlProcessedHandler);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void addTvHandlers() {
|
||||||
addHandler(Constants.MESSAGE_ACTIVE_SOURCE, mBystander);
|
addHandler(Constants.MESSAGE_ACTIVE_SOURCE, mBystander);
|
||||||
addHandler(Constants.MESSAGE_REQUEST_ACTIVE_SOURCE, mBystander);
|
addHandler(Constants.MESSAGE_REQUEST_ACTIVE_SOURCE, mBystander);
|
||||||
addHandler(Constants.MESSAGE_ROUTING_CHANGE, mBystander);
|
addHandler(Constants.MESSAGE_ROUTING_CHANGE, mBystander);
|
||||||
@@ -118,17 +124,13 @@ public final class HdmiCecStandbyModeHandler {
|
|||||||
addHandler(Constants.MESSAGE_REPORT_POWER_STATUS, mBypasser);
|
addHandler(Constants.MESSAGE_REPORT_POWER_STATUS, mBypasser);
|
||||||
addHandler(Constants.MESSAGE_GIVE_FEATURES, mBypasser);
|
addHandler(Constants.MESSAGE_GIVE_FEATURES, mBypasser);
|
||||||
|
|
||||||
addHandler(Constants.MESSAGE_USER_CONTROL_PRESSED, mUserControlProcessedHandler);
|
|
||||||
|
|
||||||
addHandler(Constants.MESSAGE_GIVE_DEVICE_POWER_STATUS, mBypasser);
|
addHandler(Constants.MESSAGE_GIVE_DEVICE_POWER_STATUS, mBypasser);
|
||||||
addHandler(Constants.MESSAGE_ABORT, mBypasser);
|
addHandler(Constants.MESSAGE_ABORT, mBypasser);
|
||||||
addHandler(Constants.MESSAGE_GET_CEC_VERSION, mBypasser);
|
addHandler(Constants.MESSAGE_GET_CEC_VERSION, mBypasser);
|
||||||
|
|
||||||
addHandler(Constants.MESSAGE_VENDOR_COMMAND_WITH_ID, mAborterIncorrectMode);
|
addHandler(Constants.MESSAGE_VENDOR_COMMAND_WITH_ID, mAborterIncorrectMode);
|
||||||
addHandler(Constants.MESSAGE_SET_SYSTEM_AUDIO_MODE, mAborterIncorrectMode);
|
addHandler(Constants.MESSAGE_SET_SYSTEM_AUDIO_MODE, mAborterIncorrectMode);
|
||||||
}
|
|
||||||
|
|
||||||
private void addTvHandlers() {
|
|
||||||
addHandler(Constants.MESSAGE_IMAGE_VIEW_ON, mAutoOnHandler);
|
addHandler(Constants.MESSAGE_IMAGE_VIEW_ON, mAutoOnHandler);
|
||||||
addHandler(Constants.MESSAGE_TEXT_VIEW_ON, mAutoOnHandler);
|
addHandler(Constants.MESSAGE_TEXT_VIEW_ON, mAutoOnHandler);
|
||||||
|
|
||||||
@@ -153,6 +155,9 @@ public final class HdmiCecStandbyModeHandler {
|
|||||||
addCommonHandlers();
|
addCommonHandlers();
|
||||||
if (mDevice.getType() == HdmiDeviceInfo.DEVICE_TV) {
|
if (mDevice.getType() == HdmiDeviceInfo.DEVICE_TV) {
|
||||||
addTvHandlers();
|
addTvHandlers();
|
||||||
|
mDefaultHandler = mAborterUnrecognizedOpcode;
|
||||||
|
} else {
|
||||||
|
mDefaultHandler = mBypasser;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user