/*
* HostMarker.java
* Open Mobile Hub
*
* Created by Gareth Johnson
* Copyright (c) 2014 Beckersweet. All rights reserved.
*/
package com.beckersweet.opmub;
import android.os.Parcel;
import android.os.Parcelable;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;
public class HostMarker implements Parcelable {
public String name;
public String ip;
public String mac;
public double latitude;
public double longitude;
public boolean available;
public HostMarker(String newName, String newIp, String newMac,
double newLatitude, double newLongitude, boolean newAvailable) {
name = newName;
ip = newIp;
mac = newMac;
latitude = newLatitude;
longitude = newLongitude;
available = newAvailable;
}
public HostMarker(Parcel parcel) {
String stringData[] = new String[3];
double doubleData[] = new double[2];
boolean booleanData[] = new boolean[1];
parcel.readStringArray(stringData);
name = stringData[0];
ip = stringData[1];
mac = stringData[2];
parcel.readDoubleArray(doubleData);
latitude = doubleData[0];
longitude = doubleData[1];
parcel.readBooleanArray(booleanData);
available = booleanData[0];
}
public static final Parcelable.Creator<HostMarker> CREATOR
= new Parcelable.Creator<HostMarker>() {
public HostMarker createFromParcel(Parcel parcel) {
return new HostMarker(parcel);
}
public HostMarker[] newArray(int size) {
return new HostMarker[size];
}
};
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel parcel, int flag) {
String stringData[] = new String[3];
double doubleData[] = new double[2];
boolean booleanData[] = new boolean[1];
stringData[0] = name;
stringData[1] = ip;
stringData[2] = mac;
parcel.writeStringArray(stringData);
doubleData[0] = latitude;
doubleData[1] = longitude;
parcel.writeDoubleArray(doubleData);
booleanData[0] = available;
parcel.writeBooleanArray(booleanData);
}
public MarkerOptions getOptions() {
MarkerOptions options = new MarkerOptions();
options.title(name);
LatLng location = new LatLng(latitude, longitude);
options.position(location);
return options;
}
}