1package com.xtremelabs.robolectric.shadows; 2 3import static com.xtremelabs.robolectric.Robolectric.shadowOf; 4 5import com.xtremelabs.robolectric.internal.Implementation; 6import com.xtremelabs.robolectric.internal.Implements; 7import com.xtremelabs.robolectric.internal.RealObject; 8 9import android.util.SparseArray; 10import android.util.SparseBooleanArray; 11 12@Implements(SparseBooleanArray.class) 13public class ShadowSparseBooleanArray { 14 private SparseArray<Boolean> sparseArray = new SparseArray<Boolean>(); 15 16 @RealObject 17 private SparseBooleanArray realObject; 18 19 @Implementation 20 public boolean get(int key) { 21 return get(key, false); 22 } 23 24 @Implementation 25 public boolean get(int key, boolean valueIfKeyNotFound) { 26 return sparseArray.get(key, valueIfKeyNotFound); 27 } 28 29 @Implementation 30 public void delete(int key) { 31 sparseArray.delete(key); 32 } 33 34 @Implementation 35 public void put(int key, boolean value) { 36 sparseArray.put(key, value); 37 } 38 39 @Implementation 40 public int size() { 41 return sparseArray.size(); 42 } 43 44 @Implementation 45 public int keyAt(int index) { 46 return sparseArray.keyAt(index); 47 } 48 49 @Implementation 50 public boolean valueAt(int index) { 51 return sparseArray.valueAt(index); 52 } 53 54 @Implementation 55 public int indexOfKey(int key) { 56 return sparseArray.indexOfKey(key); 57 } 58 59 @Implementation 60 public int indexOfValue(boolean value) { 61 return sparseArray.indexOfValue(value); 62 } 63 64 @Implementation 65 public void clear() { 66 sparseArray.clear(); 67 } 68 69 @Implementation 70 public void append(int key, boolean value) { 71 sparseArray.append(key, value); 72 } 73 74 @Implementation 75 @Override 76 public SparseBooleanArray clone() { 77 SparseBooleanArray clone = new SparseBooleanArray(); 78 for (int i = 0, length = size(); i < length; i++) { 79 clone.put(keyAt(i), valueAt(i)); 80 } 81 return clone; 82 } 83 84 @Implementation 85 @Override 86 public int hashCode() { 87 return sparseArray.hashCode(); 88 } 89 90 @Implementation 91 @Override 92 public boolean equals(Object o) { 93 if (o == null || o.getClass() != realObject.getClass()) 94 return false; 95 96 ShadowSparseBooleanArray target = (ShadowSparseBooleanArray) shadowOf((SparseBooleanArray) o); 97 return sparseArray.equals(target.sparseArray); 98 } 99} 100