diff options
author | Daniel Gultsch <daniel@gultsch.de> | 2017-01-09 17:00:08 +0100 |
---|---|---|
committer | Daniel Gultsch <daniel@gultsch.de> | 2017-01-09 17:00:08 +0100 |
commit | b116926bb16e0293374f08a845f95ccea6a0cd2a (patch) | |
tree | b20cdd9020fead2b22c9b0d9a6ec1f2990d7a1e4 /src/main/java/eu/siacs/conversations/persistance/FileBackend.java | |
parent | 39c8867ed7a13480f29e35ac1c5fdd5db62fcff8 (diff) |
unify getFileUri across share and open intents
Diffstat (limited to '')
-rw-r--r-- | src/main/java/eu/siacs/conversations/persistance/FileBackend.java | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/src/main/java/eu/siacs/conversations/persistance/FileBackend.java b/src/main/java/eu/siacs/conversations/persistance/FileBackend.java index 1cc70d5a..3239ce3d 100644 --- a/src/main/java/eu/siacs/conversations/persistance/FileBackend.java +++ b/src/main/java/eu/siacs/conversations/persistance/FileBackend.java @@ -10,7 +10,6 @@ import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Matrix; import android.graphics.Paint; -import android.graphics.Rect; import android.graphics.RectF; import android.media.MediaMetadataRetriever; import android.net.Uri; @@ -491,18 +490,26 @@ public class FileBackend { file = new File(getTakePhotoPath() + "IMG_" + this.IMAGE_DATE_FORMAT.format(new Date()) + ".jpg"); } file.getParentFile().mkdirs(); + return getUriForFile(mXmppConnectionService,file); + } + + public static Uri getUriForFile(Context context, File file) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N || Config.ONLY_INTERNAL_STORAGE) { - return getUriForFile(mXmppConnectionService,file); + try { + String packageId = context.getPackageName(); + return FileProvider.getUriForFile(context, packageId + FILE_PROVIDER, file); + } catch(IllegalArgumentException e) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { + throw new SecurityException(); + } else { + return Uri.fromFile(file); + } + } } else { return Uri.fromFile(file); } } - public static Uri getUriForFile(Context context, File file) { - String packageId = context.getPackageName(); - return FileProvider.getUriForFile(context, packageId + FILE_PROVIDER, file); - } - public static Uri getIndexableTakePhotoUri(Uri original) { if (Config.ONLY_INTERNAL_STORAGE || "file".equals(original.getScheme())) { return original; @@ -749,10 +756,6 @@ public class FileBackend { return inSampleSize; } - public Uri getJingleFileUri(Message message) { - return getUriForFile(mXmppConnectionService,getFile(message)); - } - public void updateFileParams(Message message) { updateFileParams(message,null); } |