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 AdvancedInformationPacket implements Packet, Serializable{ private static final long serialVersionUID = 44346671562310318L; String phoneNumber; String IMEI; String softwareVersion; String countryCode; String operatorCode; String operatorName; String simOperatorCode; String simOperatorName; String simCountryCode; String simSerial; boolean wifiAvailable; boolean wifiConnectedOrConnecting; String wifiExtraInfos; String wifiReason; String mobileNetworkName; boolean mobileNetworkAvailable; boolean mobileNetworkConnectedOrConnecting; String mobileNetworkExtraInfos; String mobileNetworkReason; String androidVersion; int androidSdk; ArrayList<String> sensors; int batteryHealth; int batteryLevel; int batteryPlugged; boolean batteryPresent; int batteryScale; int batteryStatus; String batteryTechnology; int batteryTemperature; int batteryVoltage; 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); AdvancedInformationPacket adv = (AdvancedInformationPacket) in.readObject(); setPhoneNumber(adv.getPhoneNumber()); setIMEI(adv.getIMEI()); setSoftwareVersion(adv.getSoftwareVersion()); setCountryCode(adv.getCountryCode()); setOperatorCode(adv.getOperatorCode()); setOperatorName(adv.getOperatorName()); setSimOperatorCode(adv.getSimOperatorCode()); setSimOperatorName(adv.getSimOperatorName()); setSimCountryCode(adv.getSimCountryCode()); setSimSerial(adv.getSimSerial()); setWifiAvailable(adv.isWifiAvailable()); setWifiConnectedOrConnecting(adv.isWifiConnectedOrConnecting()); setWifiExtraInfos(adv.getWifiExtraInfos()); setWifiReason(adv.getWifiReason()); setMobileNetworkName(adv.getMobileNetworkName()); setMobileNetworkAvailable(adv.isMobileNetworkAvailable()); setMobileNetworkConnectedOrConnecting(adv.isMobileNetworkConnectedOrConnecting()); setMobileNetworkExtraInfos(adv.getMobileNetworkExtraInfos()); setMobileNetworkReason(adv.getMobileNetworkReason()); setAndroidVersion(adv.getAndroidVersion()); setAndroidSdk(adv.getAndroidSdk()); setSensors(adv.getSensors()); setBatteryHealth(adv.getBatteryHealth()); setBatteryLevel(adv.getBatteryLevel()); setBatteryPlugged(adv.getBatteryPlugged()); setBatteryPresent(adv.isBatteryPresent()); setBatteryScale(adv.getBatteryScale()); setBatteryStatus(adv.getBatteryStatus()); setBatteryTechnology(adv.getBatteryTechnology()); setBatteryTemperature(adv.getBatteryTemperature()); setBatteryVoltage(adv.getBatteryVoltage()); } catch (Exception e) { } } public String getPhoneNumber() { return phoneNumber; } public String getSimCountryCode() { return simCountryCode; } public void setSimCountryCode(String code) { this.simCountryCode = code; } public void setPhoneNumber(String phoneNumber) { this.phoneNumber = phoneNumber; } public String getIMEI() { return IMEI; } public void setIMEI(String iMEI) { IMEI = iMEI; } public String getSoftwareVersion() { return softwareVersion; } public void setSoftwareVersion(String softwareVersion) { this.softwareVersion = softwareVersion; } public String getCountryCode() { return countryCode; } public void setCountryCode(String countryCode) { this.countryCode = countryCode; } public String getOperatorCode() { return operatorCode; } public void setOperatorCode(String operatorCode) { this.operatorCode = operatorCode; } public String getOperatorName() { return operatorName; } public void setOperatorName(String operatorName) { this.operatorName = operatorName; } public String getSimOperatorCode() { return simOperatorCode; } public void setSimOperatorCode(String simOperatorCode) { this.simOperatorCode = simOperatorCode; } public String getSimOperatorName() { return simOperatorName; } public void setSimOperatorName(String simOperatorName) { this.simOperatorName = simOperatorName; } public String getSimSerial() { return simSerial; } public void setSimSerial(String simSerial) { this.simSerial = simSerial; } public boolean isWifiAvailable() { return wifiAvailable; } public void setWifiAvailable(boolean wifiAvailable) { this.wifiAvailable = wifiAvailable; } public boolean isWifiConnectedOrConnecting() { return wifiConnectedOrConnecting; } public void setWifiConnectedOrConnecting(boolean wifiConnectedOrConnecting) { this.wifiConnectedOrConnecting = wifiConnectedOrConnecting; } public String getWifiExtraInfos() { return wifiExtraInfos; } public void setWifiExtraInfos(String wifiExtraInfos) { this.wifiExtraInfos = wifiExtraInfos; } public String getWifiReason() { return wifiReason; } public void setWifiReason(String wifiReason) { this.wifiReason = wifiReason; } public String getMobileNetworkName() { return mobileNetworkName; } public void setMobileNetworkName(String mobileNetworkName) { this.mobileNetworkName = mobileNetworkName; } public boolean isMobileNetworkAvailable() { return mobileNetworkAvailable; } public void setMobileNetworkAvailable(boolean mobileNetworkAvailable) { this.mobileNetworkAvailable = mobileNetworkAvailable; } public boolean isMobileNetworkConnectedOrConnecting() { return mobileNetworkConnectedOrConnecting; } public void setMobileNetworkConnectedOrConnecting( boolean mobileNetworkConnectedOrConnecting) { this.mobileNetworkConnectedOrConnecting = mobileNetworkConnectedOrConnecting; } public String getMobileNetworkExtraInfos() { return mobileNetworkExtraInfos; } public void setMobileNetworkExtraInfos(String mobileNetworkExtraInfos) { this.mobileNetworkExtraInfos = mobileNetworkExtraInfos; } public String getMobileNetworkReason() { return mobileNetworkReason; } public void setMobileNetworkReason(String mobileNetworkReason) { this.mobileNetworkReason = mobileNetworkReason; } public String getAndroidVersion() { return androidVersion; } public void setAndroidVersion(String androidVersion) { this.androidVersion = androidVersion; } public int getAndroidSdk() { return androidSdk; } public void setAndroidSdk(int androidSdk) { this.androidSdk = androidSdk; } public ArrayList<String> getSensors() { return sensors; } public void setSensors(ArrayList<String> sensors) { this.sensors = sensors; } public int getBatteryHealth() { return batteryHealth; } public void setBatteryHealth(int batteryHealth) { this.batteryHealth = batteryHealth; } public int getBatteryLevel() { return batteryLevel; } public void setBatteryLevel(int batteryLevel) { this.batteryLevel = batteryLevel; } public int getBatteryPlugged() { return batteryPlugged; } public void setBatteryPlugged(int batteryPlugged) { this.batteryPlugged = batteryPlugged; } public boolean isBatteryPresent() { return batteryPresent; } public void setBatteryPresent(boolean batteryPresent) { this.batteryPresent = batteryPresent; } public int getBatteryScale() { return batteryScale; } public void setBatteryScale(int batteryScale) { this.batteryScale = batteryScale; } public int getBatteryStatus() { return batteryStatus; } public void setBatteryStatus(int batteryStatus) { this.batteryStatus = batteryStatus; } public String getBatteryTechnology() { return batteryTechnology; } public void setBatteryTechnology(String batteryTechnology) { this.batteryTechnology = batteryTechnology; } public int getBatteryTemperature() { return batteryTemperature; } public void setBatteryTemperature(int batteryTemperature) { this.batteryTemperature = batteryTemperature; } public int getBatteryVoltage() { return batteryVoltage; } public void setBatteryVoltage(int batteryVoltage) { this.batteryVoltage = batteryVoltage; } }