ShadowParcel.java revision 7124c809f1a3a49cc0c6e2fb36972155fd00e796
1cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowhampackage com.xtremelabs.robolectric.shadows; 2cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowham 3cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowhamimport android.os.Parcel; 46ca1c54a32a83fcc3e347c141a0fc3ba653193b3Jan Berkelimport android.os.Parcelable; 54851b76e6ef185e8588c351cb303eb90f7e765e9Jan Berkelimport android.os.Bundle; 6cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowhamimport com.xtremelabs.robolectric.Robolectric; 7cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowhamimport com.xtremelabs.robolectric.internal.Implementation; 8cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowhamimport com.xtremelabs.robolectric.internal.Implements; 9cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowham 10e1deb33276ab52fe01c4d6a4f0a3d02c29ebdc6aSebastien Plissonimport java.util.ArrayList; 11e1deb33276ab52fe01c4d6a4f0a3d02c29ebdc6aSebastien Plissonimport java.util.List; 12e1deb33276ab52fe01c4d6a4f0a3d02c29ebdc6aSebastien Plisson 13cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowham@Implements(Parcel.class) 146ca1c54a32a83fcc3e347c141a0fc3ba653193b3Jan Berkel@SuppressWarnings("unchecked") 15cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowhampublic class ShadowParcel { 160373fcde8d3df449d4db2d4cfd671fef219d85ddJon Boekenoogen private final ArrayList parcelData = new ArrayList(); 177598f0c0b1cce3bf1902772ea09139ef98083864Ryan Richard & Tyler Schultz private int index = 0; 187598f0c0b1cce3bf1902772ea09139ef98083864Ryan Richard & Tyler Schultz 197598f0c0b1cce3bf1902772ea09139ef98083864Ryan Richard & Tyler Schultz @Implementation 207598f0c0b1cce3bf1902772ea09139ef98083864Ryan Richard & Tyler Schultz public static Parcel obtain() { 217598f0c0b1cce3bf1902772ea09139ef98083864Ryan Richard & Tyler Schultz return Robolectric.newInstanceOf(Parcel.class); 227598f0c0b1cce3bf1902772ea09139ef98083864Ryan Richard & Tyler Schultz } 237598f0c0b1cce3bf1902772ea09139ef98083864Ryan Richard & Tyler Schultz 247598f0c0b1cce3bf1902772ea09139ef98083864Ryan Richard & Tyler Schultz @Implementation 257598f0c0b1cce3bf1902772ea09139ef98083864Ryan Richard & Tyler Schultz public void writeString(String str) { 267598f0c0b1cce3bf1902772ea09139ef98083864Ryan Richard & Tyler Schultz if (str == null) { 277598f0c0b1cce3bf1902772ea09139ef98083864Ryan Richard & Tyler Schultz return; 287598f0c0b1cce3bf1902772ea09139ef98083864Ryan Richard & Tyler Schultz } 297598f0c0b1cce3bf1902772ea09139ef98083864Ryan Richard & Tyler Schultz parcelData.add(str); 307598f0c0b1cce3bf1902772ea09139ef98083864Ryan Richard & Tyler Schultz } 317598f0c0b1cce3bf1902772ea09139ef98083864Ryan Richard & Tyler Schultz 327598f0c0b1cce3bf1902772ea09139ef98083864Ryan Richard & Tyler Schultz @Implementation 337598f0c0b1cce3bf1902772ea09139ef98083864Ryan Richard & Tyler Schultz public void writeInt(int i) { 347598f0c0b1cce3bf1902772ea09139ef98083864Ryan Richard & Tyler Schultz parcelData.add(i); 357598f0c0b1cce3bf1902772ea09139ef98083864Ryan Richard & Tyler Schultz } 367598f0c0b1cce3bf1902772ea09139ef98083864Ryan Richard & Tyler Schultz 377598f0c0b1cce3bf1902772ea09139ef98083864Ryan Richard & Tyler Schultz @Implementation 38e1deb33276ab52fe01c4d6a4f0a3d02c29ebdc6aSebastien Plisson public void writeLong(long i) { 39e1deb33276ab52fe01c4d6a4f0a3d02c29ebdc6aSebastien Plisson parcelData.add(i); 40e1deb33276ab52fe01c4d6a4f0a3d02c29ebdc6aSebastien Plisson } 414851b76e6ef185e8588c351cb303eb90f7e765e9Jan Berkel 420fbe55be997150aa5c41faa8276e8b7ab8d826ecadriancowham @Implementation 43dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel public void writeFloat(float f) { 44dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel parcelData.add(f); 45dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel } 46dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel 47dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel @Implementation 48dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel public void writeDouble(double f) { 49dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel parcelData.add(f); 50dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel } 51dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel 52dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel @Implementation 530fbe55be997150aa5c41faa8276e8b7ab8d826ecadriancowham @SuppressWarnings("unchecked") 540fbe55be997150aa5c41faa8276e8b7ab8d826ecadriancowham public void writeByte( byte b ) { 550fbe55be997150aa5c41faa8276e8b7ab8d826ecadriancowham parcelData.add( b ); 560fbe55be997150aa5c41faa8276e8b7ab8d826ecadriancowham } 57e1deb33276ab52fe01c4d6a4f0a3d02c29ebdc6aSebastien Plisson 58e1deb33276ab52fe01c4d6a4f0a3d02c29ebdc6aSebastien Plisson @Implementation 597598f0c0b1cce3bf1902772ea09139ef98083864Ryan Richard & Tyler Schultz public String readString() { 607598f0c0b1cce3bf1902772ea09139ef98083864Ryan Richard & Tyler Schultz return index < parcelData.size() ? (String) parcelData.get(index++) : null; 617598f0c0b1cce3bf1902772ea09139ef98083864Ryan Richard & Tyler Schultz } 627598f0c0b1cce3bf1902772ea09139ef98083864Ryan Richard & Tyler Schultz 637598f0c0b1cce3bf1902772ea09139ef98083864Ryan Richard & Tyler Schultz @Implementation 647598f0c0b1cce3bf1902772ea09139ef98083864Ryan Richard & Tyler Schultz public int readInt() { 657598f0c0b1cce3bf1902772ea09139ef98083864Ryan Richard & Tyler Schultz return index < parcelData.size() ? (Integer) parcelData.get(index++) : 0; 667598f0c0b1cce3bf1902772ea09139ef98083864Ryan Richard & Tyler Schultz } 677598f0c0b1cce3bf1902772ea09139ef98083864Ryan Richard & Tyler Schultz 68e1deb33276ab52fe01c4d6a4f0a3d02c29ebdc6aSebastien Plisson @Implementation 69dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel public float readFloat() { 70dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel return index < parcelData.size() ? (Float) parcelData.get(index++) : 0; 71dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel } 72dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel 73dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel @Implementation 74dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel public double readDouble() { 75dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel return index < parcelData.size() ? (Double) parcelData.get(index++) : 0; 76dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel } 77dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel 78dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel @Implementation 790fbe55be997150aa5c41faa8276e8b7ab8d826ecadriancowham public byte readByte() { 804851b76e6ef185e8588c351cb303eb90f7e765e9Jan Berkel return index < parcelData.size() ? (Byte) parcelData.get(index++) : 0; 810fbe55be997150aa5c41faa8276e8b7ab8d826ecadriancowham } 824851b76e6ef185e8588c351cb303eb90f7e765e9Jan Berkel 830fbe55be997150aa5c41faa8276e8b7ab8d826ecadriancowham @Implementation 84e1deb33276ab52fe01c4d6a4f0a3d02c29ebdc6aSebastien Plisson public long readLong() { 85e1deb33276ab52fe01c4d6a4f0a3d02c29ebdc6aSebastien Plisson return index < parcelData.size() ? (Long) parcelData.get(index++) : 0; 86e1deb33276ab52fe01c4d6a4f0a3d02c29ebdc6aSebastien Plisson } 87e1deb33276ab52fe01c4d6a4f0a3d02c29ebdc6aSebastien Plisson 886ca1c54a32a83fcc3e347c141a0fc3ba653193b3Jan Berkel @Implementation 894851b76e6ef185e8588c351cb303eb90f7e765e9Jan Berkel public Bundle readBundle() { 904851b76e6ef185e8588c351cb303eb90f7e765e9Jan Berkel return index < parcelData.size() ? (Bundle) parcelData.get(index++) : null; 914851b76e6ef185e8588c351cb303eb90f7e765e9Jan Berkel } 924851b76e6ef185e8588c351cb303eb90f7e765e9Jan Berkel 934851b76e6ef185e8588c351cb303eb90f7e765e9Jan Berkel @Implementation 944851b76e6ef185e8588c351cb303eb90f7e765e9Jan Berkel public Bundle readBundle(ClassLoader loader) { 954851b76e6ef185e8588c351cb303eb90f7e765e9Jan Berkel return readBundle(); 964851b76e6ef185e8588c351cb303eb90f7e765e9Jan Berkel } 974851b76e6ef185e8588c351cb303eb90f7e765e9Jan Berkel 984851b76e6ef185e8588c351cb303eb90f7e765e9Jan Berkel @Implementation 994851b76e6ef185e8588c351cb303eb90f7e765e9Jan Berkel public void writeBundle(Bundle bundle) { 1004851b76e6ef185e8588c351cb303eb90f7e765e9Jan Berkel parcelData.add(bundle); 1014851b76e6ef185e8588c351cb303eb90f7e765e9Jan Berkel } 1024851b76e6ef185e8588c351cb303eb90f7e765e9Jan Berkel 1034851b76e6ef185e8588c351cb303eb90f7e765e9Jan Berkel @Implementation 1046ca1c54a32a83fcc3e347c141a0fc3ba653193b3Jan Berkel public void writeParcelable(Parcelable p, int flags) { 1056ca1c54a32a83fcc3e347c141a0fc3ba653193b3Jan Berkel parcelData.add(p); 1066ca1c54a32a83fcc3e347c141a0fc3ba653193b3Jan Berkel } 1076ca1c54a32a83fcc3e347c141a0fc3ba653193b3Jan Berkel 1086ca1c54a32a83fcc3e347c141a0fc3ba653193b3Jan Berkel @Implementation 1096ca1c54a32a83fcc3e347c141a0fc3ba653193b3Jan Berkel public Parcelable readParcelable(ClassLoader cl) { 1106ca1c54a32a83fcc3e347c141a0fc3ba653193b3Jan Berkel return index < parcelData.size() ? (Parcelable) parcelData.get(index++) : null; 1116ca1c54a32a83fcc3e347c141a0fc3ba653193b3Jan Berkel } 1126ca1c54a32a83fcc3e347c141a0fc3ba653193b3Jan Berkel 113dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel @Implementation 114dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel public void readFloatArray(float[] val) { 115dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel int n = readInt(); 116dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel if (val.length != n) throw new RuntimeException("bad array lengths"); 117dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel for (int i = 0; i< val.length; i++) { 118dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel val[i] = readFloat(); 119dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel } 120dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel } 121dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel 122dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel @Implementation 123dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel public void writeFloatArray(float[] val) { 124dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel writeInt(val.length); 125dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel for (float f : val) writeFloat(f); 126dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel } 127dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel 128dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel @Implementation 129dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel public void writeDoubleArray(double[] val) { 130dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel writeInt(val.length); 131dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel for (double f : val) writeDouble(f); 132dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel } 133dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel 134dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel @Implementation 135dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel public void readDoubleArray(double[] val) { 136dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel int n = readInt(); 137dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel if (val.length != n) throw new RuntimeException("bad array lengths"); 138dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel for (int i = 0; i< val.length; i++) { 139dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel val[i] = readDouble(); 140dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel } 141dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel } 142dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel 143dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel @Implementation 144dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel public void writeIntArray(int[] val) { 145dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel writeInt(val.length); 146dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel for (int f : val) writeInt(f); 147dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel } 148dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel 149dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel @Implementation 150dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel public void readIntArray(int[] val) { 151dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel int n = readInt(); 152dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel if (val.length != n) throw new RuntimeException("bad array lengths"); 153dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel for (int i = 0; i< val.length; i++) { 154dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel val[i] = readInt(); 155dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel } 156dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel } 157dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel 158dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel @Implementation 1597124c809f1a3a49cc0c6e2fb36972155fd00e796John Stuppy public void writeByteArray(byte[] val) { 1607124c809f1a3a49cc0c6e2fb36972155fd00e796John Stuppy writeInt(val.length); 1617124c809f1a3a49cc0c6e2fb36972155fd00e796John Stuppy for (byte f : val) writeByte(f); 1627124c809f1a3a49cc0c6e2fb36972155fd00e796John Stuppy } 1637124c809f1a3a49cc0c6e2fb36972155fd00e796John Stuppy 1647124c809f1a3a49cc0c6e2fb36972155fd00e796John Stuppy @Implementation 1657124c809f1a3a49cc0c6e2fb36972155fd00e796John Stuppy public void readByteArray(byte[] val) { 1667124c809f1a3a49cc0c6e2fb36972155fd00e796John Stuppy int n = readInt(); 1677124c809f1a3a49cc0c6e2fb36972155fd00e796John Stuppy if (val.length != n) throw new RuntimeException("bad array lengths"); 1687124c809f1a3a49cc0c6e2fb36972155fd00e796John Stuppy for (int i = 0; i< val.length; i++) { 1697124c809f1a3a49cc0c6e2fb36972155fd00e796John Stuppy val[i] = readByte(); 1707124c809f1a3a49cc0c6e2fb36972155fd00e796John Stuppy } 1717124c809f1a3a49cc0c6e2fb36972155fd00e796John Stuppy } 1727124c809f1a3a49cc0c6e2fb36972155fd00e796John Stuppy 1737124c809f1a3a49cc0c6e2fb36972155fd00e796John Stuppy @Implementation 174dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel public void writeLongArray(long[] val) { 175dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel writeInt(val.length); 176dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel for (long f : val) writeLong(f); 177dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel } 178dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel 179dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel @Implementation 180dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel public void readLongArray(long[] val) { 181dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel int n = readInt(); 182dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel if (val.length != n) throw new RuntimeException("bad array lengths"); 183dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel for (int i = 0; i< val.length; i++) { 184dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel val[i] = readLong(); 185dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel } 186dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel } 187dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel 188dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel @Implementation 189dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel public void writeStringArray(String[] val) { 190dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel writeInt(val.length); 191dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel for (String f : val) writeString(f); 192dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel } 193dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel 194dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel @Implementation 1950373fcde8d3df449d4db2d4cfd671fef219d85ddJon Boekenoogen public String[] createStringArray() { 1960373fcde8d3df449d4db2d4cfd671fef219d85ddJon Boekenoogen String[] array = null; 1970373fcde8d3df449d4db2d4cfd671fef219d85ddJon Boekenoogen 1980373fcde8d3df449d4db2d4cfd671fef219d85ddJon Boekenoogen int length = readInt(); 1990373fcde8d3df449d4db2d4cfd671fef219d85ddJon Boekenoogen if (length >= 0) { 2000373fcde8d3df449d4db2d4cfd671fef219d85ddJon Boekenoogen array = new String[length]; 2010373fcde8d3df449d4db2d4cfd671fef219d85ddJon Boekenoogen for (int i = 0; i < length; i++) { 2020373fcde8d3df449d4db2d4cfd671fef219d85ddJon Boekenoogen array[i] = readString(); 2030373fcde8d3df449d4db2d4cfd671fef219d85ddJon Boekenoogen } 2040373fcde8d3df449d4db2d4cfd671fef219d85ddJon Boekenoogen } 2050373fcde8d3df449d4db2d4cfd671fef219d85ddJon Boekenoogen return array; 2060373fcde8d3df449d4db2d4cfd671fef219d85ddJon Boekenoogen } 2070373fcde8d3df449d4db2d4cfd671fef219d85ddJon Boekenoogen 2080373fcde8d3df449d4db2d4cfd671fef219d85ddJon Boekenoogen @Implementation 209dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel public void readStringArray(String[] val) { 210dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel int n = readInt(); 211dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel if (val.length != n) throw new RuntimeException("bad array lengths"); 212dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel for (int i = 0; i< val.length; i++) { 213dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel val[i] = readString(); 214dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel } 215dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel } 216dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel 2170373fcde8d3df449d4db2d4cfd671fef219d85ddJon Boekenoogen @Implementation 2180373fcde8d3df449d4db2d4cfd671fef219d85ddJon Boekenoogen public void writeStringList(List<String> val) { 2190373fcde8d3df449d4db2d4cfd671fef219d85ddJon Boekenoogen int N = val.size(); 2200373fcde8d3df449d4db2d4cfd671fef219d85ddJon Boekenoogen writeInt(N); 2210373fcde8d3df449d4db2d4cfd671fef219d85ddJon Boekenoogen for (int i = 0; i < N; i++) { 2220373fcde8d3df449d4db2d4cfd671fef219d85ddJon Boekenoogen writeString(val.get(i)); 2230373fcde8d3df449d4db2d4cfd671fef219d85ddJon Boekenoogen } 2240373fcde8d3df449d4db2d4cfd671fef219d85ddJon Boekenoogen } 225dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel 2260373fcde8d3df449d4db2d4cfd671fef219d85ddJon Boekenoogen @Implementation 2270373fcde8d3df449d4db2d4cfd671fef219d85ddJon Boekenoogen public ArrayList<String> createStringArrayList() { 2280373fcde8d3df449d4db2d4cfd671fef219d85ddJon Boekenoogen int N = readInt(); 2290373fcde8d3df449d4db2d4cfd671fef219d85ddJon Boekenoogen if (N < 0) { 2300373fcde8d3df449d4db2d4cfd671fef219d85ddJon Boekenoogen return null; 2310373fcde8d3df449d4db2d4cfd671fef219d85ddJon Boekenoogen } 2320373fcde8d3df449d4db2d4cfd671fef219d85ddJon Boekenoogen ArrayList<String> l = new ArrayList<String>(N); 2330373fcde8d3df449d4db2d4cfd671fef219d85ddJon Boekenoogen while (N > 0) { 2340373fcde8d3df449d4db2d4cfd671fef219d85ddJon Boekenoogen l.add(readString()); 2350373fcde8d3df449d4db2d4cfd671fef219d85ddJon Boekenoogen N--; 2360373fcde8d3df449d4db2d4cfd671fef219d85ddJon Boekenoogen } 2370373fcde8d3df449d4db2d4cfd671fef219d85ddJon Boekenoogen return l; 2380373fcde8d3df449d4db2d4cfd671fef219d85ddJon Boekenoogen } 239dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel 2400373fcde8d3df449d4db2d4cfd671fef219d85ddJon Boekenoogen @Implementation 2410373fcde8d3df449d4db2d4cfd671fef219d85ddJon Boekenoogen public void readStringList(List<String> list) { 2420373fcde8d3df449d4db2d4cfd671fef219d85ddJon Boekenoogen int M = list.size(); 2430373fcde8d3df449d4db2d4cfd671fef219d85ddJon Boekenoogen int N = readInt(); 2440373fcde8d3df449d4db2d4cfd671fef219d85ddJon Boekenoogen int i = 0; 2450373fcde8d3df449d4db2d4cfd671fef219d85ddJon Boekenoogen for (; i < M && i < N; i++) { 2460373fcde8d3df449d4db2d4cfd671fef219d85ddJon Boekenoogen list.set(i, readString()); 2470373fcde8d3df449d4db2d4cfd671fef219d85ddJon Boekenoogen } 2480373fcde8d3df449d4db2d4cfd671fef219d85ddJon Boekenoogen for (; i < N; i++) { 2490373fcde8d3df449d4db2d4cfd671fef219d85ddJon Boekenoogen list.add(readString()); 2500373fcde8d3df449d4db2d4cfd671fef219d85ddJon Boekenoogen } 2510373fcde8d3df449d4db2d4cfd671fef219d85ddJon Boekenoogen for (; i < M; i++) { 2520373fcde8d3df449d4db2d4cfd671fef219d85ddJon Boekenoogen list.remove(N); 2530373fcde8d3df449d4db2d4cfd671fef219d85ddJon Boekenoogen } 2540373fcde8d3df449d4db2d4cfd671fef219d85ddJon Boekenoogen } 255dab3a74f4697f04455668863c2c62cd14745c230Jan Berkel 2567598f0c0b1cce3bf1902772ea09139ef98083864Ryan Richard & Tyler Schultz public int getIndex() { 2577598f0c0b1cce3bf1902772ea09139ef98083864Ryan Richard & Tyler Schultz return index; 2587598f0c0b1cce3bf1902772ea09139ef98083864Ryan Richard & Tyler Schultz } 2597598f0c0b1cce3bf1902772ea09139ef98083864Ryan Richard & Tyler Schultz 2607598f0c0b1cce3bf1902772ea09139ef98083864Ryan Richard & Tyler Schultz public List getParcelData() { 2617598f0c0b1cce3bf1902772ea09139ef98083864Ryan Richard & Tyler Schultz return parcelData; 2627598f0c0b1cce3bf1902772ea09139ef98083864Ryan Richard & Tyler Schultz } 263cb6dcc93e483e0537f8c93595bb6687b392a0d2eadriancowham} 264