package org.androad.sys.osb.adt; import org.osmdroid.util.GeoPoint; import android.os.Parcel; import android.os.Parcelable; public class OpenStreetBug extends GeoPoint implements Parcelable { // =========================================================== // Constants // =========================================================== // =========================================================== // Fields // =========================================================== protected final String mDesription; protected final int mID; protected final boolean mIsOpen; // =========================================================== // Constructors // =========================================================== public OpenStreetBug(final GeoPoint aGeoPoint, final int aID, final String aDesription, final boolean pIsOpen) { this(aGeoPoint.getLatitudeE6(), aGeoPoint.getLongitudeE6(), aID, aDesription, pIsOpen); } public OpenStreetBug(final int aLatitudeE6, final int aLongitudeE6, final int aID, final String aDesription, final boolean pIsOpen) { super(aLatitudeE6, aLongitudeE6); this.mDesription = aDesription; this.mID = aID; this.mIsOpen = pIsOpen; } // =========================================================== // Getter & Setter // =========================================================== public int getID() { return this.mID; } public boolean isOpen(){ return this.mIsOpen; } /** * Multiple Comments within the description can be split by "\n". * @return the Description of this bug. */ public String getDesription() { return this.mDesription; } // =========================================================== // Methods from SuperClass/Interfaces // =========================================================== @Override public boolean equals(final Object o) { if(!(o instanceof OpenStreetBug)) { return false; } final OpenStreetBug other = (OpenStreetBug)o; return this.mID == other.mID; } // =========================================================== // Methods // =========================================================== // =========================================================== // Inner and Anonymous Classes // =========================================================== // =========================================================== // Parcelable // =========================================================== public static final Parcelable.Creator<OpenStreetBug> CREATOR = new Parcelable.Creator<OpenStreetBug>() { public OpenStreetBug createFromParcel(final Parcel in) { return readFromParcel(in); } public OpenStreetBug[] newArray(final int size) { return new OpenStreetBug[size]; } }; @Override public int describeContents() { return 0; } @Override public void writeToParcel(final Parcel out, final int arg1) { out.writeInt(this.getLatitudeE6()); out.writeInt(this.getLongitudeE6()); out.writeInt(this.mID); out.writeString(this.mDesription); out.writeInt((this.mIsOpen) ? 1 : 0); } private static OpenStreetBug readFromParcel(final Parcel in){ final int latE6 = in.readInt(); final int lonE6 = in.readInt(); final int id = in.readInt(); final String description = in.readString(); final boolean open = in.readInt() == 1; return new OpenStreetBug(latE6, lonE6, id, description, open); } }