Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9f6799be authored by Wonsik Kim's avatar Wonsik Kim Committed by Android (Google) Code Review
Browse files

Merge "TIF: fix indexOfValue usage" into lmp-dev

parents 34902f46 38feae97
Loading
Loading
Loading
Loading
+13 −4
Original line number Diff line number Diff line
@@ -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);
            }