summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Aravind Angadi <aravind.angadi@ittiam.com> 2021-02-05 14:15:23 +0530
committer Marvin Ramin <marvinramin@google.com> 2021-04-13 13:14:10 +0000
commit7fba133318c84079b8c99ade23b2a23d6f008cb4 (patch)
tree6021f31d14cdc4158600f611df867ddf4c1ed678
parentfd7056c7c9931c599428394bc8d90ed9aca22516 (diff)
CEC: Implement handleReportArcTermination method
Bug: 159901363 Test: None Change-Id: I0d22678f09219e47aa93af13992c3050b32334a8 Merged-In: I0d22678f09219e47aa93af13992c3050b32334a8
-rw-r--r--services/core/java/com/android/server/hdmi/ArcTerminationActionFromAvr.java5
-rw-r--r--services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceAudioSystem.java11
2 files changed, 10 insertions, 6 deletions
diff --git a/services/core/java/com/android/server/hdmi/ArcTerminationActionFromAvr.java b/services/core/java/com/android/server/hdmi/ArcTerminationActionFromAvr.java
index dedf2e28a573..049a339957cb 100644
--- a/services/core/java/com/android/server/hdmi/ArcTerminationActionFromAvr.java
+++ b/services/core/java/com/android/server/hdmi/ArcTerminationActionFromAvr.java
@@ -49,10 +49,7 @@ public class ArcTerminationActionFromAvr extends HdmiCecFeatureAction {
switch (cmd.getOpcode()) {
case Constants.MESSAGE_REPORT_ARC_TERMINATED:
mState = STATE_ARC_TERMINATED;
- audioSystem().setArcStatus(false);
- if (audioSystem().getLocalActivePort() == Constants.CEC_SWITCH_ARC) {
- audioSystem().routeToInputFromPortId(audioSystem().getRoutingPort());
- }
+ audioSystem().processArcTermination();
finish();
return true;
}
diff --git a/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceAudioSystem.java b/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceAudioSystem.java
index 345aa27e453f..39a91193c9d2 100644
--- a/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceAudioSystem.java
+++ b/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceAudioSystem.java
@@ -570,8 +570,7 @@ public class HdmiCecLocalDeviceAudioSystem extends HdmiCecLocalDeviceSource {
@ServiceThreadOnly
protected boolean handleReportArcTermination(HdmiCecMessage message) {
assertRunOnServiceThread();
- // TODO(amyjojo): implement report arc terminate handler
- HdmiLogger.debug(TAG + "Stub handleReportArcTermination");
+ processArcTermination();
return true;
}
@@ -916,6 +915,14 @@ public class HdmiCecLocalDeviceAudioSystem extends HdmiCecLocalDeviceSource {
mArcEstablished = enabled;
}
+ void processArcTermination() {
+ setArcStatus(false);
+ // Switch away from ARC input when ARC is terminated.
+ if (getLocalActivePort() == Constants.CEC_SWITCH_ARC) {
+ routeToInputFromPortId(getRoutingPort());
+ }
+ }
+
/** Switch hardware ARC circuit in the system. */
@ServiceThreadOnly
private void enableAudioReturnChannel(boolean enabled) {