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