package com.shahul3d.indiasatelliteweather.utils;
import android.content.Context;
import android.os.Environment;
import android.support.v4.content.ContextCompat;
import com.shahul3d.indiasatelliteweather.controllers.WeatherApplication;
import java.io.File;
public class StorageUtils {
public static File getAppSpecificFolder() {
Context context = WeatherApplication.getContext();
if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
// External directory
File[] files = ContextCompat.getExternalFilesDirs(context, null);
for (File file : files) {
if (file != null && file.exists() && file.canRead() && file.canWrite()) {
return file;
}
}
return context.getFilesDir();
} else {
// Internal directory
return context.getFilesDir();
}
}
public static File getAppSpecificCacheFolder() {
Context context = WeatherApplication.getContext();
if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
// External cache directory
File[] files = ContextCompat.getExternalCacheDirs(context);
for (File file : files) {
if (file != null && file.exists() && file.canRead() && file.canWrite()) {
return file;
}
}
return context.getCacheDir();
} else {
// Internal cache directory
return context.getCacheDir();
}
}
public static void createNoMediaFile() {
final String NOMEDIA = " .nomedia";
try {
File storageLocation = getAppSpecificFolder();
// if (storageLocation.mkdir()) {
if (storageLocation.exists()) {
File nomediaFile = new File(getAppSpecificFolder() + File.separator + NOMEDIA);
if (!nomediaFile.exists()) {
nomediaFile.createNewFile();
}
}
// }
} catch (Exception e) {
CrashUtils.trackException("Error while creating noMedia file", e);
}
}
public static boolean fileExists(String filename) {
File file = new File(filename);
if (file == null || !file.exists()) {
return false;
}
return true;
}
}