package com.o3dr.services.android.lib.drone.property; import android.os.Parcel; import android.os.Parcelable; /** * Created by fhuya on 10/28/14. */ public class Speed implements DroneAttribute { private double verticalSpeed; // m/s private double groundSpeed; // m/s private double airSpeed; // m/s public Speed(){} public Speed(double verticalSpeed, double groundSpeed, double airSpeed) { this.verticalSpeed = verticalSpeed; this.groundSpeed = groundSpeed; this.airSpeed = airSpeed; } public void setVerticalSpeed(double verticalSpeed) { this.verticalSpeed = verticalSpeed; } public void setGroundSpeed(double groundSpeed) { this.groundSpeed = groundSpeed; } public void setAirSpeed(double airSpeed) { this.airSpeed = airSpeed; } public double getVerticalSpeed() { return verticalSpeed; } public double getGroundSpeed() { return groundSpeed; } public double getAirSpeed() { return airSpeed; } @Override public boolean equals(Object o) { if (this == o) return true; if (!(o instanceof Speed)) return false; Speed speed = (Speed) o; if (Double.compare(speed.airSpeed, airSpeed) != 0) return false; if (Double.compare(speed.groundSpeed, groundSpeed) != 0) return false; if (Double.compare(speed.verticalSpeed, verticalSpeed) != 0) return false; return true; } @Override public int hashCode() { int result; long temp; temp = Double.doubleToLongBits(verticalSpeed); result = (int) (temp ^ (temp >>> 32)); temp = Double.doubleToLongBits(groundSpeed); result = 31 * result + (int) (temp ^ (temp >>> 32)); temp = Double.doubleToLongBits(airSpeed); result = 31 * result + (int) (temp ^ (temp >>> 32)); return result; } @Override public String toString() { return "Speed{" + "verticalSpeed=" + verticalSpeed + ", groundSpeed=" + groundSpeed + ", airSpeed=" + airSpeed + '}'; } @Override public int describeContents() { return 0; } @Override public void writeToParcel(Parcel dest, int flags) { dest.writeDouble(this.verticalSpeed); dest.writeDouble(this.groundSpeed); dest.writeDouble(this.airSpeed); } private Speed(Parcel in) { this.verticalSpeed = in.readDouble(); this.groundSpeed = in.readDouble(); this.airSpeed = in.readDouble(); } public static final Parcelable.Creator<Speed> CREATOR = new Parcelable.Creator<Speed>() { public Speed createFromParcel(Parcel source) { return new Speed(source); } public Speed[] newArray(int size) { return new Speed[size]; } }; }