From f4eb72d53b4c5bc2286841006ad473ad4448bcf8 Mon Sep 17 00:00:00 2001 From: Jinsuk Kim Date: Fri, 25 Jul 2014 13:02:51 +0900 Subject: Add MHL getPortInfo Allows MHL support flag to be put into port information Bug: 16215362 Change-Id: I1873c8e60b02f47a97509576fc40d57efb056817 --- .../android/server/hdmi/HdmiControlService.java | 41 +++++++++++----------- 1 file changed, 21 insertions(+), 20 deletions(-) (limited to 'services') diff --git a/services/core/java/com/android/server/hdmi/HdmiControlService.java b/services/core/java/com/android/server/hdmi/HdmiControlService.java index 3532213..6d54a74 100644 --- a/services/core/java/com/android/server/hdmi/HdmiControlService.java +++ b/services/core/java/com/android/server/hdmi/HdmiControlService.java @@ -59,6 +59,7 @@ import com.android.server.hdmi.HdmiCecLocalDevice.PendingActionClearedCallback; import libcore.util.EmptyArray; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -343,30 +344,30 @@ public final class HdmiControlService extends SystemService { mPortInfoMap.put(info.getId(), info); } - HdmiPortInfo[] mhlPortInfo = new HdmiPortInfo[0]; - if (mMhlController != null) { - // TODO: Implement plumbing logic to get MHL port information. - // mhlPortInfo = mMhlController.getPortInfos(); - } - - ArraySet mhlSupportedPorts = new ArraySet(mhlPortInfo.length); - for (HdmiPortInfo info : mhlPortInfo) { - if (info.isMhlSupported()) { - mhlSupportedPorts.add(info.getId()); + if (mMhlController == null) { + mPortInfo = Collections.unmodifiableList(Arrays.asList(cecPortInfo)); + return; + } else { + HdmiPortInfo[] mhlPortInfo = mMhlController.getPortInfos(); + ArraySet mhlSupportedPorts = new ArraySet(mhlPortInfo.length); + for (HdmiPortInfo info : mhlPortInfo) { + if (info.isMhlSupported()) { + mhlSupportedPorts.add(info.getId()); + } } - } - // Build HDMI port info list with CEC port info plus MHL supported flag. - ArrayList result = new ArrayList<>(cecPortInfo.length); - for (HdmiPortInfo info : cecPortInfo) { - if (mhlSupportedPorts.contains(info.getId())) { - result.add(new HdmiPortInfo(info.getId(), info.getType(), info.getAddress(), - info.isCecSupported(), true, info.isArcSupported())); - } else { - result.add(info); + // Build HDMI port info list with CEC port info plus MHL supported flag. + ArrayList result = new ArrayList<>(cecPortInfo.length); + for (HdmiPortInfo info : cecPortInfo) { + if (mhlSupportedPorts.contains(info.getId())) { + result.add(new HdmiPortInfo(info.getId(), info.getType(), info.getAddress(), + info.isCecSupported(), true, info.isArcSupported())); + } else { + result.add(info); + } } + mPortInfo = Collections.unmodifiableList(result); } - mPortInfo = Collections.unmodifiableList(result); } /** -- cgit v1.1