aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/pixart/messenger/ui/ShowFullscreenMessageActivity.java
diff options
context:
space:
mode:
authorChristian Schneppe <christian@pix-art.de>2018-01-21 15:39:21 +0100
committerChristian Schneppe <christian@pix-art.de>2018-01-21 15:47:28 +0100
commit1a29fad5e1f5849bdc25a891a45abd58c65b4824 (patch)
tree832f6b648906fbed6a990ee8e1d561399be0bb6b /src/main/java/de/pixart/messenger/ui/ShowFullscreenMessageActivity.java
parent557a10664626975189cb05a2b5c139ca5b00d27c (diff)
fix NPE in shareWith intent and use FileProvider for sharing
Diffstat (limited to '')
-rw-r--r--src/main/java/de/pixart/messenger/ui/ShowFullscreenMessageActivity.java16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/main/java/de/pixart/messenger/ui/ShowFullscreenMessageActivity.java b/src/main/java/de/pixart/messenger/ui/ShowFullscreenMessageActivity.java
index 17fe144d7..619ab2101 100644
--- a/src/main/java/de/pixart/messenger/ui/ShowFullscreenMessageActivity.java
+++ b/src/main/java/de/pixart/messenger/ui/ShowFullscreenMessageActivity.java
@@ -1,6 +1,7 @@
package de.pixart.messenger.ui;
import android.app.Activity;
+import android.content.ActivityNotFoundException;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.ActivityInfo;
@@ -33,6 +34,7 @@ import java.io.InputStream;
import de.pixart.messenger.Config;
import de.pixart.messenger.R;
+import de.pixart.messenger.persistance.FileBackend;
import de.pixart.messenger.utils.ExifHelper;
import static de.pixart.messenger.persistance.FileBackend.close;
@@ -70,16 +72,22 @@ public class ShowFullscreenMessageActivity extends Activity {
@Override
public void onClick(View v) {
mVideo.reset();
- shareWith(mFileUri);
+ shareWith(mFile);
}
});
}
- private void shareWith(Uri mFileUri) {
+ private void shareWith(File mFile) {
Intent share = new Intent(Intent.ACTION_SEND);
- share.setType(getMimeType(mFileUri.toString()));
- share.putExtra(Intent.EXTRA_STREAM, Uri.parse(mFileUri.toString()));
+ share.setType(getMimeType(mFile.toString()));
+ share.putExtra(Intent.EXTRA_STREAM, FileBackend.getUriForFile(this, mFile));
startActivity(Intent.createChooser(share, getString(R.string.share_with)));
+ try {
+ startActivity(Intent.createChooser(share, getText(R.string.share_with)));
+ } catch (ActivityNotFoundException e) {
+ //This should happen only on faulty androids because normally chooser is always available
+ Toast.makeText(this, R.string.no_application_found_to_open_file, Toast.LENGTH_SHORT).show();
+ }
}
public static String getMimeType(String path) {