package org.droidplanner.android.utils.file.IO;
import android.util.Log;
import com.o3dr.services.android.lib.drone.mission.Mission;
import com.o3dr.services.android.lib.util.ParcelableUtils;
import org.droidplanner.android.utils.file.FileList;
import org.droidplanner.android.utils.file.FileStream;
import java.io.FileOutputStream;
/**
* Write a mission to file.
*/
public class MissionWriter {
private static final String TAG = MissionWriter.class.getSimpleName();
public static boolean write(Mission mission) {
return write(mission, FileStream.getWaypointFilename("waypoints"));
}
public static boolean write(Mission mission, String filename) {
try {
if (!FileStream.isExternalStorageAvailable())
return false;
if (!filename.endsWith(FileList.WAYPOINT_FILENAME_EXT)) {
filename += FileList.WAYPOINT_FILENAME_EXT;
}
final FileOutputStream out = FileStream.getWaypointFileStream(filename);
byte[] missionBytes = ParcelableUtils.marshall(mission);
out.write(missionBytes);
out.close();
} catch (Exception e) {
Log.e(TAG, e.getMessage(), e);
return false;
}
return true;
}
}