package org.droidplanner.android.utils.file.IO;
import com.o3dr.services.android.lib.drone.property.Parameter;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.List;
import java.util.Locale;
import org.droidplanner.android.utils.file.FileList;
import org.droidplanner.android.utils.file.FileStream;
public class ParameterWriter {
private List<Parameter> parameterList;
public ParameterWriter(List<Parameter> param) {
this.parameterList = param;
}
public boolean saveParametersToFile(String filename) {
try {
if (!FileStream.isExternalStorageAvailable()) {
return false;
}
if(!filename.endsWith(FileList.PARAM_FILENAME_EXT)){
filename += FileList.PARAM_FILENAME_EXT;
}
FileOutputStream out = FileStream.getParameterFileStream(filename);
writeFirstLine(out);
writeWaypointsLines(out);
out.close();
} catch (Exception e) {
e.printStackTrace();
return false;
}
return true;
}
private void writeFirstLine(FileOutputStream out) throws IOException {
out.write((("#NOTE: " + FileStream.getTimeStamp() + "\n").getBytes()));
}
private void writeWaypointsLines(FileOutputStream out) throws IOException {
for (Parameter param : parameterList) {
out.write(String.format(Locale.ENGLISH, "%s , %f\n", param.getName(), param.getValue())
.getBytes());
}
}
}