summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/com/android/messaging/ui/conversationlist/ShareIntentActivity.java11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/com/android/messaging/ui/conversationlist/ShareIntentActivity.java b/src/com/android/messaging/ui/conversationlist/ShareIntentActivity.java
index 83b7be9..debd7fc 100644
--- a/src/com/android/messaging/ui/conversationlist/ShareIntentActivity.java
+++ b/src/com/android/messaging/ui/conversationlist/ShareIntentActivity.java
@@ -16,6 +16,7 @@
package com.android.messaging.ui.conversationlist;
+import android.Manifest;
import android.app.Fragment;
import android.content.ContentResolver;
import android.content.Intent;
@@ -35,6 +36,8 @@ import com.android.messaging.util.ContentType;
import com.android.messaging.util.LogUtil;
import com.android.messaging.util.MediaMetadataRetrieverWrapper;
import com.android.messaging.util.FileUtil;
+import com.android.messaging.util.OsUtil;
+import com.android.messaging.util.UriUtil;
import java.io.IOException;
import java.util.ArrayList;
@@ -75,6 +78,10 @@ public class ShareIntentActivity extends BaseBugleActivity implements
final String action = intent.getAction();
if (Intent.ACTION_SEND.equals(action)) {
final Uri contentUri = (Uri) intent.getParcelableExtra(Intent.EXTRA_STREAM);
+ if (UriUtil.isFileUri(contentUri) && !OsUtil.hasStoragePermission()) {
+ requestPermissions(
+ new String[] { Manifest.permission.WRITE_EXTERNAL_STORAGE }, 0);
+ }
final String contentType = extractContentType(contentUri, intent.getType());
if (LogUtil.isLoggable(LogUtil.BUGLE_TAG, LogUtil.DEBUG)) {
LogUtil.d(LogUtil.BUGLE_TAG, String.format(
@@ -112,6 +119,10 @@ public class ShareIntentActivity extends BaseBugleActivity implements
if (imageUris != null && imageUris.size() > 0) {
mDraftMessage = MessageData.createSharedMessage(null);
for (final Uri imageUri : imageUris) {
+ if (UriUtil.isFileUri(imageUri) && !OsUtil.hasStoragePermission()) {
+ requestPermissions(
+ new String[] { Manifest.permission.WRITE_EXTERNAL_STORAGE }, 0);
+ }
final String actualContentType = extractContentType(imageUri, contentType);
addSharedImagePartToDraft(actualContentType, imageUri);
}