Merge "Allow intent shared subject or title to be mms subject" am: 4e84ad49bb

Change-Id: Iaecdd6653cda726bab14589df782930e57ef19a6
diff --git a/src/com/android/messaging/datamodel/data/MessageData.java b/src/com/android/messaging/datamodel/data/MessageData.java
index cb5311e..a8c8bc1 100644
--- a/src/com/android/messaging/datamodel/data/MessageData.java
+++ b/src/com/android/messaging/datamodel/data/MessageData.java
@@ -297,9 +297,11 @@
     /**
      * Create a message not yet associated with a particular conversation
      */
-    public static MessageData createSharedMessage(final String messageText) {
+    public static MessageData createSharedMessage(final String messageText,
+            final String subjectText) {
         final MessageData message = new MessageData();
         message.mStatus = BUGLE_STATUS_OUTGOING_DRAFT;
+        message.mMmsSubject = subjectText;
         if (!TextUtils.isEmpty(messageText)) {
             message.mParts.add(MessagePartData.createTextMessagePart(messageText));
         }
diff --git a/src/com/android/messaging/ui/conversationlist/ShareIntentActivity.java b/src/com/android/messaging/ui/conversationlist/ShareIntentActivity.java
index 412177e..9ac6e6b 100644
--- a/src/com/android/messaging/ui/conversationlist/ShareIntentActivity.java
+++ b/src/com/android/messaging/ui/conversationlist/ShareIntentActivity.java
@@ -81,6 +81,12 @@
     public void onAttachFragment(final Fragment fragment) {
         final Intent intent = getIntent();
         final String action = intent.getAction();
+
+        String sharedSubject = intent.getStringExtra(Intent.EXTRA_SUBJECT);
+        if (sharedSubject == null) {
+            sharedSubject = intent.getStringExtra(Intent.EXTRA_TITLE);
+        }
+
         if (Intent.ACTION_SEND.equals(action)) {
             final Uri contentUri = (Uri) intent.getParcelableExtra(Intent.EXTRA_STREAM);
             if (UriUtil.isFileUri(contentUri)) {
@@ -101,11 +107,14 @@
                     // Try to get text string from content uri.
                     sharedText = getTextStringFromContentUri(contentUri);
                 }
-                mDraftMessage =
-                        sharedText != null ? MessageData.createSharedMessage(sharedText) : null;
+                if (sharedText != null) {
+                    mDraftMessage = MessageData.createSharedMessage(sharedText, sharedSubject);
+                } else {
+                    mDraftMessage = null;
+                }
             } else if (PendingAttachmentData.isSupportedMediaType(contentType)) {
                 if (contentUri != null) {
-                    mDraftMessage = MessageData.createSharedMessage(null);
+                    mDraftMessage = MessageData.createSharedMessage(null, sharedSubject);
                     addSharedPartToDraft(contentType, contentUri);
                 } else {
                     mDraftMessage = null;
@@ -149,7 +158,8 @@
                 }
 
                 if (strBuffer.length() > 0 || !uriMap.isEmpty()) {
-                    mDraftMessage = MessageData.createSharedMessage(strBuffer.toString());
+                    mDraftMessage =
+                            MessageData.createSharedMessage(strBuffer.toString(), sharedSubject);
                     for (final Map.Entry<Uri, String> e : uriMap.entrySet()) {
                         addSharedPartToDraft(e.getValue(), e.getKey());
                     }