package com.o3dr.services.android.lib.drone.property;
import android.os.Parcel;
import com.o3dr.services.android.lib.drone.mission.item.complex.CameraDetail;
import java.util.ArrayList;
import java.util.List;
/**
* Created by fhuya on 11/30/14.
*/
public class CameraProxy implements DroneAttribute {
private CameraDetail cameraDetail;
private List<FootPrint> footPrints = new ArrayList<FootPrint>();
private FootPrint currentFieldOfView;
private List<CameraDetail> availableCameraInfos = new ArrayList<CameraDetail>();
public CameraProxy(CameraDetail cameraDetail, FootPrint currentFieldOfView,
List<FootPrint> footPrints, List<CameraDetail> availableCameraInfos){
this.cameraDetail = cameraDetail;
this.currentFieldOfView = currentFieldOfView;
this.footPrints = footPrints;
this.availableCameraInfos = availableCameraInfos;
}
public CameraDetail getCameraDetail() {
return cameraDetail;
}
public List<FootPrint> getFootPrints() {
return footPrints;
}
public FootPrint getLastFootPrint(){
return footPrints.get(footPrints.size() -1);
}
public FootPrint getCurrentFieldOfView() {
return currentFieldOfView;
}
public List<CameraDetail> getAvailableCameraInfos() {
return availableCameraInfos;
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeParcelable(this.cameraDetail, 0);
dest.writeTypedList(footPrints);
dest.writeParcelable(this.currentFieldOfView, 0);
dest.writeTypedList(availableCameraInfos);
}
private CameraProxy(Parcel in) {
this.cameraDetail = in.readParcelable(CameraDetail.class.getClassLoader());
in.readTypedList(footPrints, FootPrint.CREATOR);
this.currentFieldOfView = in.readParcelable(FootPrint.class.getClassLoader());
in.readTypedList(availableCameraInfos, CameraDetail.CREATOR);
}
public static final Creator<CameraProxy> CREATOR = new Creator<CameraProxy>() {
public CameraProxy createFromParcel(Parcel source) {
return new CameraProxy(source);
}
public CameraProxy[] newArray(int size) {
return new CameraProxy[size];
}
};
}