package com.seebye.messengerapi.api; import android.os.Bundle; import android.os.Parcel; import com.seebye.messengerapi.api.constants.ContactType; import com.seebye.messengerapi.api.constants.Extra; import java.util.ArrayList; /** * Created by Seebye on 20.04.2015. * This file is needed for the communication between Commandr and Seebye Messenger API */ public class Contact { private ContactType m_type; private String m_strDisplayname; private String m_strIDMessenger; /** * exactly one flag will be set * -> switch case possible */ private int m_nMessenger = 0; private Contact(Parcel parcel) { parcel.setDataPosition(0); m_type = ContactType.fromOrdinal(parcel.readInt()); m_strDisplayname = parcel.readString(); m_strIDMessenger = parcel.readString(); m_nMessenger = parcel.readInt(); } public static ArrayList<Contact> fromBundle(Bundle bundle) { ArrayList<byte[]> aDataContacts = (ArrayList<byte[]>)bundle.getSerializable(Extra.CONTACTS.getKey()); ArrayList<Contact> aContacts = new ArrayList<>(); for(byte[] aBytes : aDataContacts) { Parcel parcel = Parcel.obtain(); parcel.unmarshall(aBytes, 0, aBytes.length); aContacts.add(new Contact(parcel)); parcel.recycle(); } return aContacts; } public String getDisplayname() { return m_strDisplayname; } public String getIDMessenger() { return m_strIDMessenger; } }