Closed Bug 1018804 Opened 10 years ago Closed 6 years ago

[MADAI][Bluetooth] Manager ringtones will not be shared by Bluetooth

Categories

(Firefox OS Graveyard :: Gaia::Bluetooth, defect, P3)

ARM
Gonk (Firefox OS)
defect

Tracking

(tracking-b2g:backlog, b2g-v2.0 affected, b2g-v2.0M affected, b2g-v2.1 affected, b2g-v2.2 affected)

RESOLVED WONTFIX
tracking-b2g backlog
Tracking Status
b2g-v2.0 --- affected
b2g-v2.0M --- affected
b2g-v2.1 --- affected
b2g-v2.2 --- affected

People

(Reporter: rapbong, Unassigned)

References

Details

(Whiteboard: permafail, [2.2-nexus-5-l])

Attachments

(3 files)

User Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.114 Safari/537.36

Steps to reproduce:

1. Entering the Setting -> sound -> Manage Ringtones
2. Click on the icon
3. Try to share the default ringtone via bluetooth


Actual results:

Below error is occurred.
JavaScript Error: "TypeError: activity.source.data.filepaths is undefined" {file: "app://bluetooth.gaiamobile.org/js/transfer.js" line: 174}
blocking-b2g: --- → 1.4?
OS: All → Gonk (Firefox OS)
Priority: -- → P3
Hardware: All → ARM
Whiteboard: [LibGLA, Mantis]
Dear Mozilla Engineer.

If we want to send the file via bluetooth opp then need the file path.
But the ringtone abnormally don't have the file path.

In our opinion normally user will not be interested in sharing default ringtones. Even in Android we believe its the same behavior. However in FFOS share option to user for custom ringtone is still available.

If we still have to go give an share option for default ringtones BT needs to be enhanced to accept blobs in this case. At this point we are not very sure about Mozilla strategy for sharing music only using file path.

Thanks.
(In reply to ILBEOM KIM from comment #1)
> Dear Mozilla Engineer.
> 
> If we want to send the file via bluetooth opp then need the file path.
> But the ringtone abnormally don't have the file path.
> 
> In our opinion normally user will not be interested in sharing default
> ringtones. Even in Android we believe its the same behavior. However in FFOS
> share option to user for custom ringtone is still available.
> 
> If we still have to go give an share option for default ringtones BT needs
> to be enhanced to accept blobs in this case. At this point we are not very
> sure about Mozilla strategy for sharing music only using file path.
> 
> Thanks.

Based on current design, users are only allowed to share files via Bluetooth through Gallery, Music and Video apps. I don't have a device at hand, but IMO we should disable the sharing function on ringtone manager page.

ni? Settings/Bluetooth UX Jenny and Gaia:Settings peer Arthur for their advice.
Component: Bluetooth → Gaia::Settings
Flags: needinfo?(jelee)
Flags: needinfo?(arthur.chen)
This bug is follow up of bug 960329. Please see comment#65 in that bug. https://bugzilla.mozilla.org/show_bug.cgi?id=960329#c65
Attached patch ringtone.patchSplinter Review
Hi Jim

Please take a look at the patch.
Attachment #8432307 - Flags: review?(squibblyflabbetydoo)
Comment on attachment 8432307 [details] [diff] [review]
ringtone.patch

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

This won't actually make things work for sharing custom ringtones via Bluetooth. If we decide that ringtones shouldn't be shareable via Bluetooth, then we need to have a way of filtering out Bluetooth from the list of apps for the share activity; maybe the Bluetooth app can actually filter based on whether the "filepaths" attribute exists.

Even if we wanted to make built-in ringtones non-shareable, the changes in manage.js and ringtones.css aren't the way to do it.

As an addendum, this patch is bitrotted and won't apply cleanly to gaia/master (default_ringtones.js isn't a file in the tree - it should be built_in_ringtones.js).
Attachment #8432307 - Flags: review?(squibblyflabbetydoo) → review-
Actually, things *might* work for custom ringtones; I don't have anything to test that with. However, we shouldn't just hide the "share" button for built-in ringtones, if for no other reason than because that breaks the UI for the built-in ringtones in the manager.

As for whether a user is *interested* in sharing built-in ringtones or not, the built-in ringtones are the only case that the user couldn't share before 2.0. For custom ringtones, you'd be getting those from the music app, and the music app already lets you share songs.
Does this reproduce on 1.4 Flame?
Keywords: qawanted
(In reply to Jason Smith [:jsmith] from comment #7)
> Does this reproduce on 1.4 Flame?

There is no 'Manage Ringtones' option under Settings > Sound in Flame 1.4. So no this does not reproduce because the feature is not available.

Tested on:
Device: Flame
BuildID: 20140602000203
Gaia: ba8d7ef46cadf5d66d189b0b036d0f2e936bece0
Gecko: 384d3410a854
Version: 30.0
Firmware Version: v10g-2
Keywords: qawanted
This isn't a feature as part of 1.4, so this doesn't block.
blocking-b2g: 1.4? → backlog
In reply to Eric Chou [:ericchou] [:echou] (GSMA MAE @ Shanghai, 6/10 ~ 6/13) from comment #2)
> > In our opinion normally user will not be interested in sharing default ringtones. 

Hello Eric, I agree that it's not necessary to allow user to share default ringtones. However, other ringtones acquired elsewhere (ex. downloaded or created by user) should be sharable. Tks!
Flags: needinfo?(jelee)
ni?-ing Sri, since sharing ringtones is a product requirement.

I really think we should allow sharing built-in ringtones, since that's a useful way to export a Firefox ringtone that you really like (maybe you want to use it on your Android phone too!). It's also not hard to support, except for the Bluetooth case, and I'd argue that not being able to share arbitrary blobs via Bluetooth is a bug on the Bluetooth side of things.
Flags: needinfo?(skasetti)
Sharing Firefox ringtones(built-in) in addition to custom ringtones makes sense.
But since we didn't plan this for 2.0 let's add this in 2.1..
I will add this to the backlog..
Flags: needinfo?(skasetti)
Hey Sri - I actually have great news! Sharing built-in ringtones works. It was just as easy to do it for all than for only the custom created ones. Since this is already implemented, would it be ok to try to just remove the Bluetooth option from the Share activity until that gets fixed instead of removing the ability to share built-in ringtones?

Thanks!

(In reply to Sri Kasetti from comment #12)
> Sharing Firefox ringtones(built-in) in addition to custom ringtones makes
> sense.
> But since we didn't plan this for 2.0 let's add this in 2.1..
> I will add this to the backlog..
Flags: needinfo?(skasetti)
Component: Gaia::Settings → Gaia::Ringtones
Flags: needinfo?(arthur.chen)
Whiteboard: [LibGLA, Mantis] → [LibGLA,TD53702,WW, B]
I am seeing this issue on today's 2.0 Flame build,

Adding qawanted for regression checks

Environmental Variables:
Device: Flame 2.0
Build ID: 20140723000201
Gaia: bf3fb88039843359d0a5759b2c0fb787abae544f
Gecko: 57c44a3f83f6
Version: 32.0
Firmware Version: v122

User Agent: Mozilla/5.0 (Mobile; rv:32.0) Gecko/32.0 Firefox/32.0
QA Whiteboard: [QAnalyst-Triage?]
Flags: needinfo?(pbylenga)
Keywords: qawanted
Whiteboard: [LibGLA,TD53702,WW, B] → [LibGLA,TD53702,WW, B][2.0-flame-test-run-3]
Status: UNCONFIRMED → NEW
Ever confirmed: true
QA Whiteboard: [QAnalyst-Triage?]
Flags: needinfo?(pbylenga)
This isn't a regression. It never worked in the first place, but somehow this ended up in the backlog.

We should probably do what comment 13 suggests, but that's more of an issue on the Bluetooth side than the ringtones side.
Yes I agree. We should remove the bluetooth as one of the sharing options for now.
This should be fixed in the next release.
NI Bruce..

Bruce, currently sharing ringtones via bluetooth isn't working.
Can the bluetooth app team take a look at this?
Flags: needinfo?(skasetti) → needinfo?(bhuang)
I just gave it a try with m-c:master (last Friday's build). Bluetooth sharing is actually triggered but failed at gaia/apps/bluetooth/js/transfer.js. The error message is:

E/GeckoConsole( 4834): [JavaScript Error: "TypeError: activity.source.data.filepaths is undefined" {file: "app://bluetooth.gaiamobile.org/js/transfer.js" line: 202}]

Looks like there's some arguments necessary for Bluetooth app but were not passed by Settings app. ni? Bluetooth app owner Ian to double confirm.
Flags: needinfo?(iliu)
Yes, the Bluetooth app expects a filename and/or a File object (not just any old Blob), but we don't have one to give it in this case.
Exactly right per comment 17 and comment 18, could ringtone app has ability to disable sharing ringtone via Bluetooth. Otherwise, Bluetooth app have to do some error handle in this case.
Flags: needinfo?(iliu)
removing QA-Wanted tag from comment 14 as per comment 15 which indicates this is an incomplete feature implementation and not a regression
QA Whiteboard: [QAnalyst-Triage+]
Keywords: qawanted
QA Whiteboard: [QAnalyst-Triage+] → [QAnalyst-Triage+][lead-review+]
QA Whiteboard: [QAnalyst-Triage+][lead-review+] → [QAnalyst-Triage?][lead-review+]
Flags: needinfo?(dharris)
Whiteboard: [LibGLA,TD53702,WW, B][2.0-flame-test-run-3] → [LibGLA,TD53702,WW, B][2.0-flame-test-run-3][2.1-flame-test-run-1]
QA Whiteboard: [QAnalyst-Triage?][lead-review+] → [QAnalyst-Triage+][lead-review+]
Flags: needinfo?(dharris)
QA Whiteboard: [QAnalyst-Triage+][lead-review+] → [QAnalyst-Triage+][lead-review+][COM=Gaia::Ringtones]
Triage:
Multiple partners complain about the issue. Please consider fix this in 2.2
blocking-b2g: backlog → 2.2?
Updating component, since it's more likely that the Bluetooth team will need to look at this. If you need anything from me, just needinfo me.
Component: Gaia::Ringtones → Bluetooth
Attached file WIP 25595
Here is a WIP for debugging only. We should investigate first how the sending file failed for a blob without name.

Ben, could please help to investigate? Thanks.
Attachment #8513254 - Flags: feedback?(btian)
blocking-b2g: 2.2? → backlog
Flags: needinfo?(bhuang)
Triage: feature not blocking. Still under investigation
Comment on attachment 8513254 [details] [review]
WIP 25595

The patch works on my Flame to send ringtone (ogg files) to Mac/another Flame. 

Note Android rejects ogg file with "unsupported type" response no matter Mac or Flame sends the ogg file.
Attachment #8513254 - Flags: feedback?(btian) → feedback+
Correct component to "Gaia::Bluetooth File Transfer" for Bluetooth app.
Component: Bluetooth → Gaia::Bluetooth File Transfer
Looks like we are able to send a blob without filename in fact. In this case, Gecko::Bluetooth will help to add 'Unknown' filename for the sending file. Is this acceptable for this use case? 

My question is: Shall we package the blob or set a meaningful filename for the ringtone media? If yes, could Ringtone app provide filename for the request of sending blob?
Flags: needinfo?(squibblyflabbetydoo)
(In reply to Ian Liu [:ianliu] from comment #29)
> My question is: Shall we package the blob or set a meaningful filename for
> the ringtone media? If yes, could Ringtone app provide filename for the
> request of sending blob?

That would be nice. We already pass the filename along in the share activity as the "filenames" property: https://github.com/mozilla-b2g/gaia/blob/master/apps/ringtones/js/actions_menu.js#L90
Flags: needinfo?(squibblyflabbetydoo)
Per command 30, we have blob and property 'filename' from the data of share activity. In order to transfer the ringtone with corrected filename, I think we have two ways to implement it.

1. Re-package the blob(new blob/file) with the configured filename before send the file.
2. Propose Bluetooth sendFile() API provide an optional parameter for setting filename.
QA Whiteboard: [QAnalyst-Triage+][lead-review+][COM=Gaia::Ringtones] → [QAnalyst-Triage?][lead-review+][COM=Gaia::Ringtones]
Whiteboard: [LibGLA,TD53702,WW, B][2.0-flame-test-run-3][2.1-flame-test-run-1] → permafail
This issue is also repro on Nexus_5, upload the logcat.
Attachment:logcat_1135.txt
Found time:11:35
Nexus_5 build:
Build ID               20150303002527
Gaia Revision          3d188c414e30acc392253d5389a42352fcfbc183
Gaia Date              2015-03-03 00:53:42
Gecko Revision         https://hg.mozilla.org/releases/mozilla-b2g37_v2_2/rev/c89aad487aa5
Gecko Version          37.0
Device Name            hammerhead
Firmware(Release)      5.0
Firmware(Incremental)  eng.cltbld.20150303.040940
Firmware Date          Tue Mar  3 04:09:55 EST 2015
Bootloader             HHZ12d
Summary: [MADAI][Bluetooth] Manager ringtones will not be shared by Bluetooth → [nexus 5][MADAI][Bluetooth] Manager ringtones will not be shared by Bluetooth
Attached file logcat_1135.txt
Whiteboard: permafail → permafail, [2.2-nexus-5-l]
Summary: [nexus 5][MADAI][Bluetooth] Manager ringtones will not be shared by Bluetooth → [MADAI][Bluetooth] Manager ringtones will not be shared by Bluetooth
blocking-b2g: backlog → ---
Firefox OS is not being worked on
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: