package org.droidplanner.android.utils.file; import android.content.Context; import android.os.Environment; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; public class FileStream { public static FileOutputStream getParameterFileStream(String filename) throws FileNotFoundException { File myDir = new File(DirectoryPath.getParametersPath()); myDir.mkdirs(); File file = new File(myDir, filename); if (file.exists()) file.delete(); FileOutputStream out = new FileOutputStream(file); return out; } public static String getParameterFilename(String prefix){ return prefix + "-" + getTimeStamp() + FileList.PARAM_FILENAME_EXT; } public static FileOutputStream getExceptionFileStream(Context context) throws FileNotFoundException { File myDir = new File(DirectoryPath.getCrashLogPath(context)); myDir.mkdirs(); File file = new File(myDir, getTimeStamp() + ".txt"); if (file.exists()) file.delete(); FileOutputStream out = new FileOutputStream(file); return out; } static public FileOutputStream getWaypointFileStream(String filename) throws FileNotFoundException { File myDir = new File(DirectoryPath.getWaypointsPath()); myDir.mkdirs(); File file = new File(myDir, filename); if (file.exists()) file.delete(); FileOutputStream out = new FileOutputStream(file); return out; } /** * Creates a new .nomedia file on the maps folder * * It's used to hide the maps tiles from android gallery * * @throws IOException * */ static public void createNoMediaFile() throws IOException { File myDir = new File(DirectoryPath.getMapsPath()); myDir.mkdirs(); new File(myDir, ".nomedia").createNewFile(); } /** * Timestamp for logs in the Mission Planner Format */ static public String getTimeStamp() { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss", Locale.US); String timeStamp = sdf.format(new Date()); return timeStamp; } public static boolean isExternalStorageAvailable() { String state = Environment.getExternalStorageState(); return Environment.MEDIA_MOUNTED.equals(state); } }