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 CameraTrigger extends MissionItem implements MissionItem.Command, android.os.Parcelable {
private double triggerDistance;
public CameraTrigger(){
super(MissionItemType.CAMERA_TRIGGER);
}
public CameraTrigger(CameraTrigger copy){
super(MissionItemType.CAMERA_TRIGGER);
triggerDistance = copy.triggerDistance;
}
public double getTriggerDistance() {
return triggerDistance;
}
public void setTriggerDistance(double triggerDistance) {
this.triggerDistance = triggerDistance;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof CameraTrigger)) return false;
if (!super.equals(o)) return false;
CameraTrigger that = (CameraTrigger) o;
return Double.compare(that.triggerDistance, triggerDistance) == 0;
}
@Override
public int hashCode() {
int result = super.hashCode();
long temp;
temp = Double.doubleToLongBits(triggerDistance);
result = 31 * result + (int) (temp ^ (temp >>> 32));
return result;
}
@Override
public String toString() {
return "CameraTrigger{" +
"triggerDistance=" + triggerDistance +
'}';
}
@Override
public void writeToParcel(Parcel dest, int flags) {
super.writeToParcel(dest, flags);
dest.writeDouble(this.triggerDistance);
}
private CameraTrigger(Parcel in) {
super(in);
this.triggerDistance = in.readDouble();
}
@Override
public MissionItem clone() {
return new CameraTrigger(this);
}
public static final Creator<CameraTrigger> CREATOR = new Creator<CameraTrigger>() {
public CameraTrigger createFromParcel(Parcel source) {
return new CameraTrigger(source);
}
public CameraTrigger[] newArray(int size) {
return new CameraTrigger[size];
}
};
}