aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/eu/siacs/conversations/ui/ShareWithActivity.java
diff options
context:
space:
mode:
authorsteckbrief <steckbrief@chefmail.de>2015-02-20 22:19:31 +0100
committersteckbrief <steckbrief@chefmail.de>2015-02-20 22:19:31 +0100
commit20eae3955700341188bc1907a506970f5817a153 (patch)
tree6e50d9083a4392875b5f9dbe92b38973cf95c332 /src/main/java/eu/siacs/conversations/ui/ShareWithActivity.java
parent980a84a6ce4358e8662addf203695e01d9f931dc (diff)
parentecbceae88b7a7aa871e5396efec1e2ff8d056d46 (diff)
Merge master-origin
Conflicts: src/main/java/eu/siacs/conversations/ui/SettingsActivity.java src/main/java/eu/siacs/conversations/ui/XmppActivity.java src/main/java/eu/siacs/conversations/ui/adapter/ConversationAdapter.java src/main/java/eu/siacs/conversations/ui/adapter/MessageAdapter.java src/main/java/eu/siacs/conversations/utils/UIHelper.java src/main/res/values-de/strings.xml
Diffstat (limited to 'src/main/java/eu/siacs/conversations/ui/ShareWithActivity.java')
-rw-r--r--src/main/java/eu/siacs/conversations/ui/ShareWithActivity.java21
1 files changed, 13 insertions, 8 deletions
diff --git a/src/main/java/eu/siacs/conversations/ui/ShareWithActivity.java b/src/main/java/eu/siacs/conversations/ui/ShareWithActivity.java
index 5e770376..6be238dc 100644
--- a/src/main/java/eu/siacs/conversations/ui/ShareWithActivity.java
+++ b/src/main/java/eu/siacs/conversations/ui/ShareWithActivity.java
@@ -134,14 +134,10 @@ public class ShareWithActivity extends XmppActivity {
@Override
public void onStart() {
final String type = getIntent().getType();
- if (type != null && !type.startsWith("text/")) {
- this.share.uri = (Uri) getIntent().getParcelableExtra(Intent.EXTRA_STREAM);
- try {
- this.share.image = type.startsWith("image/")
- || URLConnection.guessContentTypeFromName(this.share.uri.toString()).startsWith("image/");
- } catch (final StringIndexOutOfBoundsException ignored) {
- this.share.image = false;
- }
+ final Uri uri = getIntent().getParcelableExtra(Intent.EXTRA_STREAM);
+ if (type != null && uri != null && !type.equalsIgnoreCase("text/plain")) {
+ this.share.uri = uri;
+ this.share.image = type.startsWith("image/") || isImage(uri);
} else {
this.share.text = getIntent().getStringExtra(Intent.EXTRA_TEXT);
}
@@ -151,6 +147,15 @@ public class ShareWithActivity extends XmppActivity {
super.onStart();
}
+ protected boolean isImage(Uri uri) {
+ try {
+ String guess = URLConnection.guessContentTypeFromName(uri.toString());
+ return (guess != null && guess.startsWith("image/"));
+ } catch (final StringIndexOutOfBoundsException ignored) {
+ return false;
+ }
+ }
+
@Override
void onBackendConnected() {
if (xmppConnectionServiceBound && share != null