130c74d9ba60a7208a587ecd6dcdfef1cfbd7fce7Jinsuk Kim/* 230c74d9ba60a7208a587ecd6dcdfef1cfbd7fce7Jinsuk Kim * Copyright (C) 2014 The Android Open Source Project 330c74d9ba60a7208a587ecd6dcdfef1cfbd7fce7Jinsuk Kim * 430c74d9ba60a7208a587ecd6dcdfef1cfbd7fce7Jinsuk Kim * Licensed under the Apache License, Version 2.0 (the "License"); 530c74d9ba60a7208a587ecd6dcdfef1cfbd7fce7Jinsuk Kim * you may not use this file except in compliance with the License. 630c74d9ba60a7208a587ecd6dcdfef1cfbd7fce7Jinsuk Kim * You may obtain a copy of the License at 730c74d9ba60a7208a587ecd6dcdfef1cfbd7fce7Jinsuk Kim * 830c74d9ba60a7208a587ecd6dcdfef1cfbd7fce7Jinsuk Kim * http://www.apache.org/licenses/LICENSE-2.0 930c74d9ba60a7208a587ecd6dcdfef1cfbd7fce7Jinsuk Kim * 1030c74d9ba60a7208a587ecd6dcdfef1cfbd7fce7Jinsuk Kim * Unless required by applicable law or agreed to in writing, software 1130c74d9ba60a7208a587ecd6dcdfef1cfbd7fce7Jinsuk Kim * distributed under the License is distributed on an "AS IS" BASIS, 1230c74d9ba60a7208a587ecd6dcdfef1cfbd7fce7Jinsuk Kim * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1330c74d9ba60a7208a587ecd6dcdfef1cfbd7fce7Jinsuk Kim * See the License for the specific language governing permissions and 1430c74d9ba60a7208a587ecd6dcdfef1cfbd7fce7Jinsuk Kim * limitations under the License. 1530c74d9ba60a7208a587ecd6dcdfef1cfbd7fce7Jinsuk Kim */ 1630c74d9ba60a7208a587ecd6dcdfef1cfbd7fce7Jinsuk Kim 1730c74d9ba60a7208a587ecd6dcdfef1cfbd7fce7Jinsuk Kimpackage com.android.server.hdmi; 1830c74d9ba60a7208a587ecd6dcdfef1cfbd7fce7Jinsuk Kim 1930c74d9ba60a7208a587ecd6dcdfef1cfbd7fce7Jinsuk Kimimport android.util.SparseIntArray; 2030c74d9ba60a7208a587ecd6dcdfef1cfbd7fce7Jinsuk Kim 2130c74d9ba60a7208a587ecd6dcdfef1cfbd7fce7Jinsuk Kim/** 2230c74d9ba60a7208a587ecd6dcdfef1cfbd7fce7Jinsuk Kim * Unmodifiable version of {@link SparseIntArray}. 2330c74d9ba60a7208a587ecd6dcdfef1cfbd7fce7Jinsuk Kim */ 2430c74d9ba60a7208a587ecd6dcdfef1cfbd7fce7Jinsuk Kimfinal class UnmodifiableSparseIntArray { 2530c74d9ba60a7208a587ecd6dcdfef1cfbd7fce7Jinsuk Kim private static final String TAG = "ImmutableSparseIntArray"; 2630c74d9ba60a7208a587ecd6dcdfef1cfbd7fce7Jinsuk Kim 2730c74d9ba60a7208a587ecd6dcdfef1cfbd7fce7Jinsuk Kim private final SparseIntArray mArray; 2830c74d9ba60a7208a587ecd6dcdfef1cfbd7fce7Jinsuk Kim 2930c74d9ba60a7208a587ecd6dcdfef1cfbd7fce7Jinsuk Kim public UnmodifiableSparseIntArray(SparseIntArray array) { 3030c74d9ba60a7208a587ecd6dcdfef1cfbd7fce7Jinsuk Kim mArray = array; 3130c74d9ba60a7208a587ecd6dcdfef1cfbd7fce7Jinsuk Kim } 3230c74d9ba60a7208a587ecd6dcdfef1cfbd7fce7Jinsuk Kim 3330c74d9ba60a7208a587ecd6dcdfef1cfbd7fce7Jinsuk Kim public int size() { 3430c74d9ba60a7208a587ecd6dcdfef1cfbd7fce7Jinsuk Kim return mArray.size(); 3530c74d9ba60a7208a587ecd6dcdfef1cfbd7fce7Jinsuk Kim } 3630c74d9ba60a7208a587ecd6dcdfef1cfbd7fce7Jinsuk Kim 3730c74d9ba60a7208a587ecd6dcdfef1cfbd7fce7Jinsuk Kim public int get(int key) { 3830c74d9ba60a7208a587ecd6dcdfef1cfbd7fce7Jinsuk Kim return mArray.get(key); 3930c74d9ba60a7208a587ecd6dcdfef1cfbd7fce7Jinsuk Kim } 4030c74d9ba60a7208a587ecd6dcdfef1cfbd7fce7Jinsuk Kim 4130c74d9ba60a7208a587ecd6dcdfef1cfbd7fce7Jinsuk Kim public int get(int key, int valueIfKeyNotFound) { 4230c74d9ba60a7208a587ecd6dcdfef1cfbd7fce7Jinsuk Kim return mArray.get(key, valueIfKeyNotFound); 4330c74d9ba60a7208a587ecd6dcdfef1cfbd7fce7Jinsuk Kim } 4430c74d9ba60a7208a587ecd6dcdfef1cfbd7fce7Jinsuk Kim 4530c74d9ba60a7208a587ecd6dcdfef1cfbd7fce7Jinsuk Kim public int keyAt(int index) { 4630c74d9ba60a7208a587ecd6dcdfef1cfbd7fce7Jinsuk Kim return mArray.keyAt(index); 4730c74d9ba60a7208a587ecd6dcdfef1cfbd7fce7Jinsuk Kim } 4830c74d9ba60a7208a587ecd6dcdfef1cfbd7fce7Jinsuk Kim 4930c74d9ba60a7208a587ecd6dcdfef1cfbd7fce7Jinsuk Kim public int valueAt(int index) { 5030c74d9ba60a7208a587ecd6dcdfef1cfbd7fce7Jinsuk Kim return mArray.valueAt(index); 5130c74d9ba60a7208a587ecd6dcdfef1cfbd7fce7Jinsuk Kim } 5230c74d9ba60a7208a587ecd6dcdfef1cfbd7fce7Jinsuk Kim 5330c74d9ba60a7208a587ecd6dcdfef1cfbd7fce7Jinsuk Kim public int indexOfValue(int value) { 5430c74d9ba60a7208a587ecd6dcdfef1cfbd7fce7Jinsuk Kim return mArray.indexOfValue(value); 5530c74d9ba60a7208a587ecd6dcdfef1cfbd7fce7Jinsuk Kim } 5630c74d9ba60a7208a587ecd6dcdfef1cfbd7fce7Jinsuk Kim 5730c74d9ba60a7208a587ecd6dcdfef1cfbd7fce7Jinsuk Kim @Override 5830c74d9ba60a7208a587ecd6dcdfef1cfbd7fce7Jinsuk Kim public String toString() { 5930c74d9ba60a7208a587ecd6dcdfef1cfbd7fce7Jinsuk Kim return mArray.toString(); 6030c74d9ba60a7208a587ecd6dcdfef1cfbd7fce7Jinsuk Kim } 6130c74d9ba60a7208a587ecd6dcdfef1cfbd7fce7Jinsuk Kim} 62