Closed Bug 842037 Opened 8 years ago Closed 7 years ago

Downloaded pictures from Firefox Mobile are incompatible with MMS-messaging on Android - Android not recognizing our saved media's Content-Type

Categories

(Firefox for Android :: General, defect)

ARM
Android
defect
Not set
major

Tracking

()

VERIFIED FIXED
Firefox 26
Tracking Status
firefox18 --- wontfix
firefox19 --- wontfix
firefox20 --- wontfix
firefox21 --- wontfix
firefox22 --- wontfix
firefox23 --- wontfix
firefox24 --- wontfix
firefox25 --- verified
firefox26 --- verified
fennec - ---

People

(Reporter: eric.avery.gillis, Assigned: wesj)

Details

Attachments

(1 file)

User Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:18.0) Gecko/20100101 Firefox/18.0
Build ID: 20130201065344

Steps to reproduce:

I downloaded pictures from various websites using the most recent version of Firefox Mobile Beta (as of writing this) on a Galaxy Nexus, running Android 4.2.1. I then tried to use said downloaded pictures in picture messages.


Actual results:

 I was unable to send picture messages that contained pictures downloaded using Firefox Mobile. I received an error message informing I was "unable to attach this photo" (I have redownloaded same pictures using stock 4.2.1 browser, and they are able to be attached).  This error has occurred across multiple Firefox versions-- I had decided to hold off on reporting it to see if it would resolve itself. It hasn't.


Expected results:

They should have been able to be attached to my picture messages.
Severity: normal → major
OS: Windows 7 → Android
Hardware: x86_64 → All
I have listed the severity as major as I believe the inability to send downloaded pictures in messages from a Mobile browser that is primarily aimed at phones is a serious flaw.
I can reproduce this on my LG Nexus 4 (Android 4.2.2), and my SII (Android 4.0.4).

As a work-around, you can opt to share the image (via long-press hold on a selected image, and selecting 'Share Image') and select your text-messaging application of choice.
Status: UNCONFIRMED → NEW
Ever confirmed: true
tracking-fennec: --- → ?
Hardware: All → ARM
Version: unspecified → Trunk
(In reply to Aaron Train [:aaronmt] from comment #2)
> I can reproduce this on my LG Nexus 4 (Android 4.2.2), and my SII (Android
> 4.0.4).
> 
> As a work-around, you can opt to share the image (via long-press hold on a
> selected image, and selecting 'Share Image') and select your text-messaging
> application of choice.
Noted, will be taking use of that as a temporary work-around. It's become annoying as I prefer to use Firefox as my default browser. 

Thanks for the changes, never filed a bug report before.
(In reply to Eric from comment #3)
> Thanks for the changes, never filed a bug report before.

No problem, thanks for filing!

Here is the error stack in console

E/WorkingMessage( 3769): com.google.android.mms.MmsException: Type of media is unknown.
E/WorkingMessage( 3769): 	at com.android.mms.model.ImageModel.initModelFromUri(ImageModel.java:90)
E/WorkingMessage( 3769): 	at com.android.mms.model.ImageModel.<init>(ImageModel.java:74)
E/WorkingMessage( 3769): 	at com.android.mms.ui.SlideshowEditor.changeImage(SlideshowEditor.java:163)
E/WorkingMessage( 3769): 	at com.android.mms.data.WorkingMessage.internalChangeMedia(WorkingMessage.java:640)
E/WorkingMessage( 3769): 	at com.android.mms.data.WorkingMessage.changeMedia(WorkingMessage.java:588)
E/WorkingMessage( 3769): 	at com.android.mms.data.WorkingMessage.setAttachment(WorkingMessage.java:453)
E/WorkingMessage( 3769): 	at com.android.mms.ui.ComposeMessageActivity.addImage(ComposeMessageActivity.java:3150)
E/WorkingMessage( 3769): 	at com.android.mms.ui.ComposeMessageActivity.access$5700(ComposeMessageActivity.java:167)
E/WorkingMessage( 3769): 	at com.android.mms.ui.ComposeMessageActivity$33.run(ComposeMessageActivity.java:3140)
E/WorkingMessage( 3769): 	at com.android.mms.ui.AsyncDialog$ModalDialogAsyncTask.doInBackground(AsyncDialog.java:129)
E/WorkingMessage( 3769): 	at com.android.mms.ui.AsyncDialog$ModalDialogAsyncTask.doInBackground(AsyncDialog.java:84)
E/WorkingMessage( 3769): 	at android.os.AsyncTask$2.call(AsyncTask.java:287)
E/WorkingMessage( 3769): 	at java.util.concurrent.FutureTask.run(FutureTask.java:234)
E/WorkingMessage( 3769): 	at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
E/WorkingMessage( 3769): 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
E/WorkingMessage( 3769): 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
E/WorkingMessage( 3769): 	at java.lang.Thread.run(Thread.java:856)

http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android-apps/4.1.1_r1/com/android/mms/model/ImageModel.java?av=f#90

Looks like it's failing to get a proper ContentType

This would need to be debugged in ContentAreaUtils to see what the ContentType is 

http://mxr.mozilla.org/mozilla-central/source/toolkit/content/contentAreaUtils.js#106
Summary: Downloaded pictures from Firefox Mobile are incompatible with MMS-messaging on Android → Downloaded pictures from Firefox Mobile are incompatible with MMS-messaging on Android - Android not recognizing our saved media's Content-Type
I was able to reproduce and I added some logging in saveImageURL. With the image I tested with, contentType was "image/jpeg", which seems to make sense. It will take some more digging to figure out where things are going wrong.

I reproduced the problem on my Galaxy Nexus (4.2.2), but I couldn't reproduce on my Atrix (2.3.6), so this looks like a Android version-specific bug.
tracking-fennec: ? → -
I am currently having this issue on my Samsung Galaxy S3. Has any solution been found as of yet?
From comment 2

"As a work-around, you can opt to share the image (via long-press hold on a selected image, and selecting 'Share Image') and select your text-messaging application of choice."
(In reply to Kevin Brosnan [:kbrosnan] from comment #7)
> From comment 2
> 
> "As a work-around, you can opt to share the image (via long-press hold on a
> selected image, and selecting 'Share Image') and select your text-messaging
> application of choice."

Yes, I am fully aware of that work-around. Thank you.

But I like to have images saved on my phone for continuous use. I was bumping this just to see if a 'fix' has been developed (or is in the works) since the previous post was in late February.
Currently the mobile developers are not tracking this issue as important as it has been minused in triage. As it stands now, this bug is open for anyone interested in tackling and patches are welcome.
This seems like a good candidate for a mentor bug. Margaret any suggestions on whom would make a good mentor?
Flags: needinfo?(margaret.leibovic)
Maybe Wes?
Flags: needinfo?(margaret.leibovic) → needinfo?(wjohnston)
Attached patch PatchSplinter Review
Mentoring this was going to be tough, because we don't know the problem. Thinking about it made me realize the problem though! We're not setting the right mimetype for the media scanner. Its probably then storing that null mimetype and confusing the messaging app.

This tries harder to get a mimetype. Fixes this on my S3.
Assignee: nobody → wjohnston
Attachment #802525 - Flags: review?(blassey.bugs)
Flags: needinfo?(wjohnston)
Comment on attachment 802525 [details] [diff] [review]
Patch

Review of attachment 802525 [details] [diff] [review]:
-----------------------------------------------------------------

Wes have you tested this? or is it speculative? I have seen MimeTypeMap.getMimeTypeFromExtension() return null for what should be relatively obvious extensions.
I tested it on my S3. I did a Google Image search for "kittens". Long tapped. Save Image. Then tried to attach that image in the messaging app. Worked with the patch. Failed without.

Have a ref to where it failed?

http://androidxref.com/4.2.2_r1/xref/external/okhttp/src/main/java/libcore/net/MimeUtils.java#46
Comment on attachment 802525 [details] [diff] [review]
Patch

Review of attachment 802525 [details] [diff] [review]:
-----------------------------------------------------------------

Wes have you tested this? or is it speculative? I have seen MimeTypeMap.getMimeTypeFromExtension() return null for what should be relatively obvious extensions.
Attachment #802525 - Flags: review?(blassey.bugs) → review+
in bug 780379 we're seeing it not get a mimetype for .m3u8, but the source you linked to explains it (.m3u is in there, but .m3u8 isn't).
Comment on attachment 802525 [details] [diff] [review]
Patch

[Approval Request Comment]
Bug caused by (feature/regressing bug #): Old media scanner bug
User impact if declined: Can't attach fennec's downloaded images to mms messages
Testing completed (on m-c, etc.): Landed on mc today
Risk to taking this patch (and alternatives if risky): Low risk. Just using existing code to fixup our mimetype.
String or IDL/UUID changes made by this patch: None.
Attachment #802525 - Flags: approval-mozilla-aurora?
https://hg.mozilla.org/mozilla-central/rev/3d36387df33f
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 26
Comment on attachment 802525 [details] [diff] [review]
Patch

Not a recent regression, but a low risk fix for something that really impacts the user experience for some users. Let's skip the trains.
Attachment #802525 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Verified fixed on:
Build: Firefox for Android 25.0b1 (2013-09-18)
Device: LG Nexus 4
OS: Android 4.2.2
Verified fixed on:
Build: Firefox for Android 26.0a2 (2013-09-18)
Device: LG Nexus 4
OS: Android 4.2.2
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.