1ddb148b4daa7e1c0a4abadd2a6469eefc1ed2ea9Wenhui Yaopackage com.xtremelabs.robolectric.shadows; 2ddb148b4daa7e1c0a4abadd2a6469eefc1ed2ea9Wenhui Yao 3ddb148b4daa7e1c0a4abadd2a6469eefc1ed2ea9Wenhui Yaoimport android.util.SparseArray; 4ddb148b4daa7e1c0a4abadd2a6469eefc1ed2ea9Wenhui Yaoimport android.util.SparseIntArray; 5ddb148b4daa7e1c0a4abadd2a6469eefc1ed2ea9Wenhui Yao 6ddb148b4daa7e1c0a4abadd2a6469eefc1ed2ea9Wenhui Yaoimport com.xtremelabs.robolectric.internal.Implementation; 7ddb148b4daa7e1c0a4abadd2a6469eefc1ed2ea9Wenhui Yaoimport com.xtremelabs.robolectric.internal.Implements; 8ddb148b4daa7e1c0a4abadd2a6469eefc1ed2ea9Wenhui Yaoimport com.xtremelabs.robolectric.internal.RealObject; 9ddb148b4daa7e1c0a4abadd2a6469eefc1ed2ea9Wenhui Yao 10ddb148b4daa7e1c0a4abadd2a6469eefc1ed2ea9Wenhui Yao@Implements(SparseIntArray.class) 11ddb148b4daa7e1c0a4abadd2a6469eefc1ed2ea9Wenhui Yaopublic class ShadowSparseIntArray { 12ddb148b4daa7e1c0a4abadd2a6469eefc1ed2ea9Wenhui Yao 13ddb148b4daa7e1c0a4abadd2a6469eefc1ed2ea9Wenhui Yao private SparseArray<Integer> sparseArray = new SparseArray<Integer>(); 14ddb148b4daa7e1c0a4abadd2a6469eefc1ed2ea9Wenhui Yao 15ddb148b4daa7e1c0a4abadd2a6469eefc1ed2ea9Wenhui Yao @RealObject 16ddb148b4daa7e1c0a4abadd2a6469eefc1ed2ea9Wenhui Yao private SparseIntArray realObject; 17ddb148b4daa7e1c0a4abadd2a6469eefc1ed2ea9Wenhui Yao 18ddb148b4daa7e1c0a4abadd2a6469eefc1ed2ea9Wenhui Yao @Implementation 19ddb148b4daa7e1c0a4abadd2a6469eefc1ed2ea9Wenhui Yao public int get( int key ){ 20f88f3ebb85951abf48bb705f2efaae76befaf7c9John Stuppy return get( key, 0 ); 21ddb148b4daa7e1c0a4abadd2a6469eefc1ed2ea9Wenhui Yao } 22ddb148b4daa7e1c0a4abadd2a6469eefc1ed2ea9Wenhui Yao 23ddb148b4daa7e1c0a4abadd2a6469eefc1ed2ea9Wenhui Yao @Implementation 2422622b702449484618cf0d66f8a97849c48d4b36Wenhui Yao public int get(int key, int valueIfKeyNotFound){ 2522622b702449484618cf0d66f8a97849c48d4b36Wenhui Yao return sparseArray.get( key, valueIfKeyNotFound ); 2622622b702449484618cf0d66f8a97849c48d4b36Wenhui Yao } 2722622b702449484618cf0d66f8a97849c48d4b36Wenhui Yao 2822622b702449484618cf0d66f8a97849c48d4b36Wenhui Yao @Implementation 29ddb148b4daa7e1c0a4abadd2a6469eefc1ed2ea9Wenhui Yao public void put( int key, int value ){ 30ddb148b4daa7e1c0a4abadd2a6469eefc1ed2ea9Wenhui Yao sparseArray.put( key, value ); 31ddb148b4daa7e1c0a4abadd2a6469eefc1ed2ea9Wenhui Yao } 32ddb148b4daa7e1c0a4abadd2a6469eefc1ed2ea9Wenhui Yao 33ddb148b4daa7e1c0a4abadd2a6469eefc1ed2ea9Wenhui Yao @Implementation 34ddb148b4daa7e1c0a4abadd2a6469eefc1ed2ea9Wenhui Yao public int size() { 35ddb148b4daa7e1c0a4abadd2a6469eefc1ed2ea9Wenhui Yao return sparseArray.size(); 36ddb148b4daa7e1c0a4abadd2a6469eefc1ed2ea9Wenhui Yao } 37ddb148b4daa7e1c0a4abadd2a6469eefc1ed2ea9Wenhui Yao 38ddb148b4daa7e1c0a4abadd2a6469eefc1ed2ea9Wenhui Yao @Implementation 39ddb148b4daa7e1c0a4abadd2a6469eefc1ed2ea9Wenhui Yao public int indexOfValue( int value ) { 40ddb148b4daa7e1c0a4abadd2a6469eefc1ed2ea9Wenhui Yao return sparseArray.indexOfValue( value ); 41ddb148b4daa7e1c0a4abadd2a6469eefc1ed2ea9Wenhui Yao } 42ddb148b4daa7e1c0a4abadd2a6469eefc1ed2ea9Wenhui Yao 43ddb148b4daa7e1c0a4abadd2a6469eefc1ed2ea9Wenhui Yao @Implementation 44ddb148b4daa7e1c0a4abadd2a6469eefc1ed2ea9Wenhui Yao public int keyAt( int index ){ 45ddb148b4daa7e1c0a4abadd2a6469eefc1ed2ea9Wenhui Yao return sparseArray.keyAt( index ); 46ddb148b4daa7e1c0a4abadd2a6469eefc1ed2ea9Wenhui Yao } 47f88f3ebb85951abf48bb705f2efaae76befaf7c9John Stuppy 48f88f3ebb85951abf48bb705f2efaae76befaf7c9John Stuppy @Implementation 49f88f3ebb85951abf48bb705f2efaae76befaf7c9John Stuppy public int valueAt( int index ){ 50f88f3ebb85951abf48bb705f2efaae76befaf7c9John Stuppy return sparseArray.valueAt( index ); 51f88f3ebb85951abf48bb705f2efaae76befaf7c9John Stuppy } 52f88f3ebb85951abf48bb705f2efaae76befaf7c9John Stuppy 53f88f3ebb85951abf48bb705f2efaae76befaf7c9John Stuppy @Implementation 54f88f3ebb85951abf48bb705f2efaae76befaf7c9John Stuppy @Override 55f88f3ebb85951abf48bb705f2efaae76befaf7c9John Stuppy public SparseIntArray clone() { 56f88f3ebb85951abf48bb705f2efaae76befaf7c9John Stuppy SparseIntArray clone = new SparseIntArray(); 57f88f3ebb85951abf48bb705f2efaae76befaf7c9John Stuppy for (int i = 0, length = size(); i < length; i++) { 58f88f3ebb85951abf48bb705f2efaae76befaf7c9John Stuppy clone.put( keyAt(i), valueAt(i) ); 59f88f3ebb85951abf48bb705f2efaae76befaf7c9John Stuppy } 60f88f3ebb85951abf48bb705f2efaae76befaf7c9John Stuppy return clone; 61f88f3ebb85951abf48bb705f2efaae76befaf7c9John Stuppy } 62ddb148b4daa7e1c0a4abadd2a6469eefc1ed2ea9Wenhui Yao} 63