diff --git a/api/src/main/java/com/todoroo/astrid/data/RemoteModel.java b/api/src/main/java/com/todoroo/astrid/data/RemoteModel.java index 98362d724..e1a5711b3 100644 --- a/api/src/main/java/com/todoroo/astrid/data/RemoteModel.java +++ b/api/src/main/java/com/todoroo/astrid/data/RemoteModel.java @@ -21,6 +21,7 @@ import org.json.JSONException; import org.json.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.tasks.files.FileHelper; import java.io.File; import java.io.FileOutputStream; @@ -99,7 +100,6 @@ abstract public class RemoteModel extends AbstractModel { public static final String PICTURES_DIRECTORY = "pictures"; //$NON-NLS-1$ - @TargetApi(Build.VERSION_CODES.FROYO) public static JSONObject savePictureJson(Context context, Bitmap bitmap) { try { String name = DateUtilities.now() + ".jpg"; @@ -107,7 +107,7 @@ abstract public class RemoteModel extends AbstractModel { jsonObject.put("name", name); jsonObject.put("type", "image/jpeg"); - File dir = context.getExternalFilesDir(PICTURES_DIRECTORY); + File dir = FileHelper.getExternalFilesDir(context, PICTURES_DIRECTORY); if (dir != null) { File file = new File(dir + File.separator + DateUtilities.now() + ".jpg"); if (file.exists()) { diff --git a/api/src/main/java/org/tasks/files/FileHelper.java b/api/src/main/java/org/tasks/files/FileHelper.java new file mode 100644 index 000000000..97aaa19fa --- /dev/null +++ b/api/src/main/java/org/tasks/files/FileHelper.java @@ -0,0 +1,17 @@ +package org.tasks.files; + +import android.content.Context; +import android.os.Environment; + +import java.io.File; + +public class FileHelper { + public static File getExternalFilesDir(Context context, String type) { + if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { + String filesDir = Environment.getExternalStorageDirectory() + "/Android/data/" + context.getPackageName() + "/files/"; + return new File(type == null ? filesDir : filesDir + "/" + type); + } + + return null; + } +} diff --git a/astrid/src/main/java/com/todoroo/astrid/files/FileUtilities.java b/astrid/src/main/java/com/todoroo/astrid/files/FileUtilities.java index 56ed09869..cb0042836 100644 --- a/astrid/src/main/java/com/todoroo/astrid/files/FileUtilities.java +++ b/astrid/src/main/java/com/todoroo/astrid/files/FileUtilities.java @@ -12,6 +12,7 @@ import com.todoroo.andlib.utility.DateUtilities; import com.todoroo.astrid.data.TaskAttachment; import org.tasks.R; +import org.tasks.files.FileHelper; import org.tasks.preferences.Preferences; import java.io.File; @@ -70,7 +71,7 @@ public class FileUtilities { } if (directory == null || !directory.exists()) { - directory = context.getExternalFilesDir(TaskAttachment.FILES_DIRECTORY_DEFAULT); + directory = FileHelper.getExternalFilesDir(context, TaskAttachment.FILES_DIRECTORY_DEFAULT); } return directory;