diff options
| author | Wonsik Kim <wonsik@google.com> | 2014-07-21 12:56:44 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2014-07-17 21:11:29 +0000 |
| commit | 9f6799becf5071cf94a49a265e1c3badea60b0df (patch) | |
| tree | e3936a485225ea74f46d7c062428df5fbb5605a4 | |
| parent | 34902f46c1ffba991bdd095f19f28e09a3a26bea (diff) | |
| parent | 38feae971c43700c9cb15aafbf8bd37340675a50 (diff) | |
| download | frameworks_base-9f6799becf5071cf94a49a265e1c3badea60b0df.zip frameworks_base-9f6799becf5071cf94a49a265e1c3badea60b0df.tar.gz frameworks_base-9f6799becf5071cf94a49a265e1c3badea60b0df.tar.bz2 | |
Merge "TIF: fix indexOfValue usage" into lmp-dev
| -rw-r--r-- | services/core/java/com/android/server/tv/TvInputHardwareManager.java | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/services/core/java/com/android/server/tv/TvInputHardwareManager.java b/services/core/java/com/android/server/tv/TvInputHardwareManager.java index 0a9c646..8854869 100644 --- a/services/core/java/com/android/server/tv/TvInputHardwareManager.java +++ b/services/core/java/com/android/server/tv/TvInputHardwareManager.java @@ -235,14 +235,23 @@ class TvInputHardwareManager implements TvInputHal.Callback { } } + private static <T> int indexOfEqualValue(SparseArray<T> map, T value) { + for (int i = 0; i < map.size(); ++i) { + if (map.valueAt(i).equals(value)) { + return i; + } + } + return -1; + } + public void addHdmiCecTvInput(int logicalAddress, TvInputInfo info) { if (info.getType() != TvInputInfo.TYPE_HDMI) { throw new IllegalArgumentException("info (" + info + ") has non-HDMI type."); } synchronized (mLock) { String parentId = info.getParentId(); - int parentIndex = mHardwareInputIdMap.indexOfValue(parentId); - if (parentIndex < 0 || !parentId.equals(mHardwareInputIdMap.valueAt(parentIndex))) { + int parentIndex = indexOfEqualValue(mHardwareInputIdMap, parentId); + if (parentIndex < 0) { throw new IllegalArgumentException("info (" + info + ") has invalid parentId."); } String oldInputId = mHdmiCecInputIdMap.get(logicalAddress); @@ -259,11 +268,11 @@ class TvInputHardwareManager implements TvInputHal.Callback { public void removeTvInput(String inputId) { synchronized (mLock) { mInputMap.remove(inputId); - int hardwareIndex = mHardwareInputIdMap.indexOfValue(inputId); + int hardwareIndex = indexOfEqualValue(mHardwareInputIdMap, inputId); if (hardwareIndex >= 0) { mHardwareInputIdMap.removeAt(hardwareIndex); } - int cecIndex = mHdmiCecInputIdMap.indexOfValue(inputId); + int cecIndex = indexOfEqualValue(mHdmiCecInputIdMap, inputId); if (cecIndex >= 0) { mHdmiCecInputIdMap.removeAt(cecIndex); } |
