aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/eu/siacs/conversations/persistance/FileBackend.java
diff options
context:
space:
mode:
authorDaniel Gultsch <daniel@gultsch.de>2017-01-09 17:00:08 +0100
committerDaniel Gultsch <daniel@gultsch.de>2017-01-09 17:00:08 +0100
commitb116926bb16e0293374f08a845f95ccea6a0cd2a (patch)
treeb20cdd9020fead2b22c9b0d9a6ec1f2990d7a1e4 /src/main/java/eu/siacs/conversations/persistance/FileBackend.java
parent39c8867ed7a13480f29e35ac1c5fdd5db62fcff8 (diff)
unify getFileUri across share and open intents
Diffstat (limited to 'src/main/java/eu/siacs/conversations/persistance/FileBackend.java')
-rw-r--r--src/main/java/eu/siacs/conversations/persistance/FileBackend.java25
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);
}