1ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parkspackage android.nfc; 2ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parks 3ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parksimport android.os.Parcel; 4ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parksimport android.os.Parcelable; 5ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parks 6ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parksimport java.util.ArrayList; 7ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parksimport java.util.List; 8ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parks 9ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parks/** 10ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parks * @hide 11ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parks */ 12ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parkspublic class ApduList implements Parcelable { 13ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parks 14ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parks private ArrayList<byte[]> commands = new ArrayList<byte[]>(); 15ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parks 16ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parks public ApduList() { 17ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parks } 18ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parks 19ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parks public void add(byte[] command) { 20ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parks commands.add(command); 21ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parks } 22ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parks 23ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parks public List<byte[]> get() { 24ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parks return commands; 25ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parks } 26ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parks 27ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parks public static final Parcelable.Creator<ApduList> CREATOR = 28ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parks new Parcelable.Creator<ApduList>() { 29ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parks @Override 30ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parks public ApduList createFromParcel(Parcel in) { 31ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parks return new ApduList(in); 32ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parks } 33ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parks 34ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parks @Override 35ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parks public ApduList[] newArray(int size) { 36ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parks return new ApduList[size]; 37ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parks } 38ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parks }; 39ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parks 40ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parks private ApduList(Parcel in) { 41ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parks int count = in.readInt(); 42ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parks 43ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parks for (int i = 0 ; i < count ; i++) { 44ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parks 45ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parks int length = in.readInt(); 46ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parks byte[] cmd = new byte[length]; 47ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parks in.readByteArray(cmd); 48ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parks commands.add(cmd); 49ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parks } 50ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parks } 51ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parks 52ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parks @Override 53ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parks public int describeContents() { 54ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parks return 0; 55ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parks } 56ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parks 57ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parks @Override 58ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parks public void writeToParcel(Parcel dest, int flags) { 59ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parks dest.writeInt(commands.size()); 60ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parks 61ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parks for (byte[] cmd : commands) { 62ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parks dest.writeInt(cmd.length); 63ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parks dest.writeByteArray(cmd); 64ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parks } 65ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parks } 66ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parks} 67ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parks 68ab8f48c2ee524f67e5c3cab5846119e6c8a645b5Jason parks 69