diff options
author | Jinsuk Kim <jinsukkim@google.com> | 2015-01-29 07:01:11 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2015-01-29 07:01:11 +0000 |
commit | 6da2c666d258a0ac3d65b867d7443a3e3f8cded0 (patch) | |
tree | e66fdd09fe9dc7781dfad4f859e7159e583724fb /services | |
parent | 5b972d58cb9ccbbbc3302655f83b04ddd717c299 (diff) | |
parent | f4e4eb5401135fdc374d83317771ed87d1caeb86 (diff) | |
download | frameworks_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.java | 13 |
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) { |