aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/pixart/messenger/persistance/FileBackend.java
diff options
context:
space:
mode:
authorChristian Schneppe <christian@pix-art.de>2017-01-09 22:08:47 +0100
committerChristian Schneppe <christian@pix-art.de>2017-01-09 22:08:47 +0100
commit06c108c58dd3e4e658534633bf7af7b6f73e3a77 (patch)
treeb997636e55cfff049a4babba80e960bf323d871e /src/main/java/de/pixart/messenger/persistance/FileBackend.java
parentb4be51d2a1b637f0f5da8a343277aea3dd36ee06 (diff)
unify getFileUri across share and open intents
Diffstat (limited to '')
-rw-r--r--src/main/java/de/pixart/messenger/persistance/FileBackend.java22
1 files changed, 15 insertions, 7 deletions
diff --git a/src/main/java/de/pixart/messenger/persistance/FileBackend.java b/src/main/java/de/pixart/messenger/persistance/FileBackend.java
index c85c2c34a..147226b79 100644
--- a/src/main/java/de/pixart/messenger/persistance/FileBackend.java
+++ b/src/main/java/de/pixart/messenger/persistance/FileBackend.java
@@ -62,7 +62,7 @@ import de.pixart.messenger.xmpp.pep.Avatar;
public class FileBackend {
private static final SimpleDateFormat fileDateFormat = new SimpleDateFormat("yyyyMMdd_HHmmssSSS", Locale.US);
- public static final String CONVERSATIONS_FILE_PROVIDER = "de.pixart.messenger.files";
+ private static final String FILE_PROVIDER = ".files";
private XmppConnectionService mXmppConnectionService;
@@ -499,8 +499,21 @@ public class FileBackend {
public Uri getTakePhotoUri() {
File file = new File(getTakePhotoPath() + "IMG_" + fileDateFormat.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) {
- return FileProvider.getUriForFile(mXmppConnectionService, CONVERSATIONS_FILE_PROVIDER, 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);
}
@@ -752,11 +765,6 @@ public class FileBackend {
return inSampleSize;
}
- public Uri getJingleFileUri(Message message) {
- File file = getFile(message);
- return Uri.parse("file://" + file.getAbsolutePath());
- }
-
public void updateFileParams(Message message) {
updateFileParams(message, null);
}