diff --git a/app/src/main/java/eu/faircode/email/ActivityBase.java b/app/src/main/java/eu/faircode/email/ActivityBase.java index d25c2e2770..a38c864d95 100644 --- a/app/src/main/java/eu/faircode/email/ActivityBase.java +++ b/app/src/main/java/eu/faircode/email/ActivityBase.java @@ -566,7 +566,7 @@ abstract class ActivityBase extends AppCompatActivity implements SharedPreferenc if (TextUtils.isEmpty(fname)) return uri; - File dir = Helper.ensureExists(new File(getFilesDir(), "shared")); + File dir = Helper.ensureExists(getFilesDir(), "shared"); File file = new File(dir, fname); Log.i("Copying shared file to " + file); diff --git a/app/src/main/java/eu/faircode/email/ActivityEML.java b/app/src/main/java/eu/faircode/email/ActivityEML.java index a366c5e71f..46d55b7f2f 100644 --- a/app/src/main/java/eu/faircode/email/ActivityEML.java +++ b/app/src/main/java/eu/faircode/email/ActivityEML.java @@ -183,7 +183,7 @@ public class ActivityEML extends ActivityBase { if (uri == null) throw new FileNotFoundException(); - File dir = Helper.ensureExists(new File(context.getFilesDir(), "shared")); + File dir = Helper.ensureExists(context.getFilesDir(), "shared"); File file = new File(dir, "email.eml"); Helper.copy(context, uri, file); diff --git a/app/src/main/java/eu/faircode/email/AdapterCertificate.java b/app/src/main/java/eu/faircode/email/AdapterCertificate.java index 34671bce77..9c3c03f9f9 100644 --- a/app/src/main/java/eu/faircode/email/AdapterCertificate.java +++ b/app/src/main/java/eu/faircode/email/AdapterCertificate.java @@ -132,7 +132,7 @@ public class AdapterCertificate extends RecyclerView.Adapter exists = new HashMap<>(); - static File ensureExists(File dir) { + static File ensureExists(File parent, String subdir) { + parent.mkdir(); + + File dir = new File(parent, subdir); + dir.mkdir(); + synchronized (exists) { if (exists.containsKey(dir)) return dir; exists.put(dir, true); } - // CASA: External storage as well - if (!dir.exists() && Log.jni_safe_mkdirs(dir)) - throw new IllegalArgumentException("Failed to create directory"); - return dir; } diff --git a/app/src/main/java/eu/faircode/email/ImageHelper.java b/app/src/main/java/eu/faircode/email/ImageHelper.java index d36ba6fe73..f29e1fff75 100644 --- a/app/src/main/java/eu/faircode/email/ImageHelper.java +++ b/app/src/main/java/eu/faircode/email/ImageHelper.java @@ -791,7 +791,7 @@ class ImageHelper { @NonNull static File getCacheFile(Context context, long id, String source, String extension) { - File dir = Helper.ensureExists(new File(context.getFilesDir(), "images")); + File dir = Helper.ensureExists(context.getFilesDir(), "images"); return new File(dir, id + "_" + Math.abs(source.hashCode()) + extension); }