Loading services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceTv.java +19 −0 Original line number Diff line number Diff line Loading @@ -1455,6 +1455,25 @@ final class HdmiCecLocalDeviceTv extends HdmiCecLocalDevice { return null; } /** * Returns the {@link HdmiDeviceInfo} instance whose physical address matches * the given routing path. This is the version accessible safely from threads * other than service thread. * * @param path routing path or physical address * @return {@link HdmiDeviceInfo} if the matched info is found; otherwise null */ HdmiDeviceInfo getSafeDeviceInfoByPath(int path) { synchronized (mLock) { for (HdmiDeviceInfo info : mSafeAllDeviceInfos) { if (info.getPhysicalAddress() == path) { return info; } } return null; } } /** * Whether a device of the specified physical address and logical address exists * in a device info list. However, both are minimal condition and it could Loading services/core/java/com/android/server/hdmi/HdmiControlService.java +1 −1 Original line number Diff line number Diff line Loading @@ -1196,7 +1196,7 @@ public final class HdmiControlService extends SystemService { } int activePath = tv.getActivePath(); if (activePath != HdmiDeviceInfo.PATH_INVALID) { HdmiDeviceInfo info = tv.getDeviceInfoByPath(activePath); HdmiDeviceInfo info = tv.getSafeDeviceInfoByPath(activePath); return (info != null) ? info : new HdmiDeviceInfo(activePath, tv.getActivePortId()); } return null; Loading Loading
services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceTv.java +19 −0 Original line number Diff line number Diff line Loading @@ -1455,6 +1455,25 @@ final class HdmiCecLocalDeviceTv extends HdmiCecLocalDevice { return null; } /** * Returns the {@link HdmiDeviceInfo} instance whose physical address matches * the given routing path. This is the version accessible safely from threads * other than service thread. * * @param path routing path or physical address * @return {@link HdmiDeviceInfo} if the matched info is found; otherwise null */ HdmiDeviceInfo getSafeDeviceInfoByPath(int path) { synchronized (mLock) { for (HdmiDeviceInfo info : mSafeAllDeviceInfos) { if (info.getPhysicalAddress() == path) { return info; } } return null; } } /** * Whether a device of the specified physical address and logical address exists * in a device info list. However, both are minimal condition and it could Loading
services/core/java/com/android/server/hdmi/HdmiControlService.java +1 −1 Original line number Diff line number Diff line Loading @@ -1196,7 +1196,7 @@ public final class HdmiControlService extends SystemService { } int activePath = tv.getActivePath(); if (activePath != HdmiDeviceInfo.PATH_INVALID) { HdmiDeviceInfo info = tv.getDeviceInfoByPath(activePath); HdmiDeviceInfo info = tv.getSafeDeviceInfoByPath(activePath); return (info != null) ? info : new HdmiDeviceInfo(activePath, tv.getActivePortId()); } return null; Loading