ShadowParcel.java revision cb6dcc93e483e0537f8c93595bb6687b392a0d2e
1cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowhampackage com.xtremelabs.robolectric.shadows; 2cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowham 3cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowhamimport java.util.ArrayList; 4cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowhamimport java.util.List; 5cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowham 6cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowhamimport android.os.Parcel; 7cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowham 8cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowhamimport com.xtremelabs.robolectric.Robolectric; 9cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowhamimport com.xtremelabs.robolectric.internal.Implementation; 10cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowhamimport com.xtremelabs.robolectric.internal.Implements; 11cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowham 12cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowham@Implements(Parcel.class) 13cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowham@SuppressWarnings("rawtypes") 14cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowhampublic class ShadowParcel { 15cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowham 16cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowham private ArrayList parcelData = new ArrayList(); 17cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowham private int index = 0; 18cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowham 19cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowham @Implementation 20cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowham public static Parcel obtain() { 21cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowham return Robolectric.newInstanceOf( Parcel.class ); 22cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowham } 23cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowham 24cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowham @Implementation 25cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowham @SuppressWarnings("unchecked") 26cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowham public void writeString( String str ) { 27cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowham if( str == null ) { return ; } 28cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowham 29cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowham parcelData.add( str ); 30cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowham } 31cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowham 32cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowham @Implementation 33cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowham @SuppressWarnings("unchecked") 34cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowham public void writeInt( int i ) { 35cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowham parcelData.add( i ); 36cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowham } 37cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowham 38cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowham @Implementation 39cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowham public String readString() { 40cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowham return index < parcelData.size() ? (String)parcelData.get( index++ ) : null; 41cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowham } 42cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowham 43cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowham @Implementation 44cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowham public int readInt() { 45cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowham return index < parcelData.size() ? (Integer)parcelData.get( index++ ) : 0; 46cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowham } 47cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowham 48cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowham public int getIndex() { 49cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowham return index; 50cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowham } 51cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowham 52cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowham public List getParcelData() { 53cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowham return parcelData; 54cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowham } 55cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowham} 56