package com.o3dr.android.client.utils;
import android.content.Context;
import org.droidplanner.services.android.impl.utils.file.DirectoryPath;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FilenameFilter;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
public class FileUtils {
public static final String CAMERA_FILENAME_EXT = ".xml";
public static final SimpleDateFormat timestampFormatter = new SimpleDateFormat("yyyy_MM_dd_HH_mm_ss_SSS", Locale.US);
public static File[] getCameraInfoFileList(Context context) {
FilenameFilter filter = new FilenameFilter() {
@Override
public boolean accept(File dir, String filename) {
return filename.contains(CAMERA_FILENAME_EXT);
}
};
return getFileList(DirectoryPath.getCameraInfoPath(context), filter);
}
private static File[] getFileList(String path, FilenameFilter filter) {
File mPath = new File(path);
if(!mPath.exists())
return new File[0];
return mPath.listFiles(filter);
}
public static FileOutputStream getExceptionFileStream(Context context) throws FileNotFoundException {
File myDir = new File(DirectoryPath.getCrashLogPath(context));
if (!myDir.exists())
myDir.mkdirs();
File file = new File(myDir, getTimeStamp() + ".log");
if (file.exists())
file.delete();
return new FileOutputStream(file);
}
/**
* Timestamp for logs in the Mission Planner Format
*/
static public String getTimeStamp(long timestamp) {
return timestampFormatter.format(new Date(timestamp));
}
private static String getTimeStamp() {
return getTimeStamp(System.currentTimeMillis());
}
public static String getFilenameWithoutExtension(File file){
return getFilenameWithoutExtension(file.getName());
}
public static String getFilenameWithoutExtension(String filename){
int pos = filename.lastIndexOf(".");
if (pos >= 0) {
filename = filename.substring(0, pos);
}
return filename;
}
public static String getFileExtension(File file){
return getFileExtension(file.getName());
}
public static String getFileExtension(String filename){
String extension = "";
int pos = filename.lastIndexOf(".");
if(pos >= 0){
extension = filename.substring(pos);
}
return extension;
}
}