summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorJinsuk Kim <jinsukkim@google.com>2015-01-29 07:01:11 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2015-01-29 07:01:11 +0000
commit6da2c666d258a0ac3d65b867d7443a3e3f8cded0 (patch)
treee66fdd09fe9dc7781dfad4f859e7159e583724fb /services
parent5b972d58cb9ccbbbc3302655f83b04ddd717c299 (diff)
parentf4e4eb5401135fdc374d83317771ed87d1caeb86 (diff)
downloadframeworks_base-6da2c666d258a0ac3d65b867d7443a3e3f8cded0.zip
frameworks_base-6da2c666d258a0ac3d65b867d7443a3e3f8cded0.tar.gz
frameworks_base-6da2c666d258a0ac3d65b867d7443a3e3f8cded0.tar.bz2
am f4e4eb54: am 2ee0d6f4: CEC: Stop ARC if hotplug event is asserted low
* commit 'f4e4eb5401135fdc374d83317771ed87d1caeb86': CEC: Stop ARC if hotplug event is asserted low
Diffstat (limited to 'services')
-rw-r--r--services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceTv.java13
1 files changed, 13 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceTv.java b/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceTv.java
index 9373e43..664f541 100644
--- a/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceTv.java
+++ b/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceTv.java
@@ -34,6 +34,7 @@ import android.annotation.Nullable;
import android.content.Context;
import android.hardware.hdmi.HdmiControlManager;
import android.hardware.hdmi.HdmiDeviceInfo;
+import android.hardware.hdmi.HdmiPortInfo;
import android.hardware.hdmi.HdmiRecordSources;
import android.hardware.hdmi.HdmiTimerRecordSources;
import android.hardware.hdmi.IHdmiControlCallback;
@@ -878,6 +879,17 @@ final class HdmiCecLocalDeviceTv extends HdmiCecLocalDevice {
return oldStatus;
}
+ @ServiceThreadOnly
+ private void updateArcFeatureStatus(int portId, boolean isConnected) {
+ assertRunOnServiceThread();
+ // HEAC 2.4, HEACT 5-15
+ // Should not activate ARC if +5V status is false.
+ HdmiPortInfo portInfo = mService.getPortInfo(portId);
+ if (portInfo.isArcSupported()) {
+ changeArcFeatureEnabled(isConnected);
+ }
+ }
+
private void notifyArcStatusToAudioService(boolean enabled) {
// Note that we don't set any name to ARC.
mService.getAudioManager().setWiredDeviceConnectionState(
@@ -1509,6 +1521,7 @@ final class HdmiCecLocalDeviceTv extends HdmiCecLocalDevice {
// It covers seq #40, #43.
hotplugActions.get(0).pollAllDevicesNow();
}
+ updateArcFeatureStatus(portId, connected);
}
private void removeCecSwitches(int portId) {