private void saveToFile(PPLogger log, String filename){
String exStorageState = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(exStorageState)){
try {
File root = Environment.getExternalStorageDirectory();
// Test if the path exists
String path = root+"/PerversePositions/log/";
boolean exists = (new File(path).exists());
// If not, create dirs
if (!exists) {new File(path).mkdirs();}
// Open the file and a writer
Date time = new Date();
File logFile = new File(path+filename+"-"+time.getHours()+"-"+time.getMinutes()+"-"+time.getSeconds()+".txt");
logFile.createNewFile();
FileWriter logWriter = new FileWriter(logFile);
BufferedWriter outer = new BufferedWriter(logWriter);
// Write log entries to file
ArrayList<PPLogEntry> entries = log.getLog();
outer.write("Number of GPS fixes: " + log.getFixes());
outer.write("\r\n");
outer.write("Number of log entries: " + entries.size());
outer.write("\r\n");
for (PPLogEntry entry : entries) {
outer.write(entry.toString());
outer.write("\r\n");
}
outer.close();
System.out.println("PP SERVICE --- Log saved");
} catch (IOException e) {
e.printStackTrace();
Toast.makeText(this, "Couldn't save", Toast.LENGTH_SHORT);
}
}
else{
//FAIL
System.out.println("File not accessible");
Toast.makeText(this, R.string.pp_omni_file_not_accessible, Toast.LENGTH_SHORT).show();
}
}