package com.o3dr.services.android.lib.drone.mission.item.command; import android.os.Parcel; import com.o3dr.services.android.lib.drone.mission.item.MissionItem; import com.o3dr.services.android.lib.drone.mission.MissionItemType; /** * Created by fhuya on 11/6/14. */ public class ChangeSpeed extends MissionItem implements MissionItem.Command, android.os.Parcelable { private double speed; public ChangeSpeed(){ super(MissionItemType.CHANGE_SPEED); } public ChangeSpeed(ChangeSpeed copy){ super(MissionItemType.CHANGE_SPEED); speed = copy.speed; } public double getSpeed() { return speed; } public void setSpeed(double speed) { this.speed = speed; } @Override public String toString() { return "ChangeSpeed{" + "speed=" + speed + '}'; } @Override public boolean equals(Object o) { if (this == o) return true; if (!(o instanceof ChangeSpeed)) return false; if (!super.equals(o)) return false; ChangeSpeed that = (ChangeSpeed) o; return Double.compare(that.speed, speed) == 0; } @Override public int hashCode() { int result = super.hashCode(); long temp; temp = Double.doubleToLongBits(speed); result = 31 * result + (int) (temp ^ (temp >>> 32)); return result; } @Override public void writeToParcel(Parcel dest, int flags) { super.writeToParcel(dest, flags); dest.writeDouble(this.speed); } private ChangeSpeed(Parcel in) { super(in); this.speed = in.readDouble(); } @Override public MissionItem clone() { return new ChangeSpeed(this); } public static final Creator<ChangeSpeed> CREATOR = new Creator<ChangeSpeed>() { public ChangeSpeed createFromParcel(Parcel source) { return new ChangeSpeed(source); } public ChangeSpeed[] newArray(int size) { return new ChangeSpeed[size]; } }; }