Closed
Bug 1240423
Opened 9 years ago
Closed 8 years ago
Implement the remote media-control on Fennec
Categories
(Firefox for Android Graveyard :: General, defect, P2)
Tracking
(firefox52 verified)
RESOLVED
FIXED
Firefox 51
Tracking | Status | |
---|---|---|
firefox52 | --- | verified |
People
(Reporter: alwu, Assigned: alwu)
References
()
Details
User Story
Fennec lacks a convenient way to directly control the media content, but other Android browsers (chrome, opera) already have that, see comment 1. Think about following scenario. When user is playing an media content by Fennec, then switch to other apps to do something. If user want to stop this media content, must have lots steps, (1) switch back to Fennec (2) find the audible tab if user have multiple tabs (3) find the media control in that webpage It's very cumbersome and inconvenience, I think we should provide an easier way to control media content. -- When the user is playing the media from arbitrary web contents, then (1) We should provide the user control interface in the lock-screen and utility tray (2) We should enable the hardware button control for that media
Attachments
(8 files, 1 obsolete file)
(deleted),
text/x-review-board-request
|
ahunt
:
review+
|
Details |
(deleted),
text/x-review-board-request
|
baku
:
review+
|
Details |
(deleted),
text/x-review-board-request
|
baku
:
review+
|
Details |
(deleted),
text/x-review-board-request
|
snorp
:
review+
|
Details |
(deleted),
text/x-review-board-request
|
baku
:
review+
|
Details |
(deleted),
text/x-review-board-request
|
snorp
:
review+
|
Details |
(deleted),
text/x-review-board-request
|
baku
:
review+
|
Details |
(deleted),
text/x-review-board-request
|
baku
:
review+
|
Details |
In MediaSession API, it mentioned two things
"Displays lock-screen and notification area user interfaces when playback begins"
"Reacts to changes in both hardware and software-based media key buttons when playback begins"
Now only the native gaia apps have this control ability, but it's not enough. We should support this feature for arbitrary web contents.
Assignee | ||
Comment 1•9 years ago
|
||
Here is an example in Android Chrome, it already has the remote media-control feature for arbitrary web contents.
https://drive.google.com/file/d/0B8z53fPg4O7NRlRpNS1zRGdLOUk/view?usp=sharing
Assignee | ||
Updated•9 years ago
|
Component: AudioChannel → General
Product: Firefox OS → Firefox for Android
Summary: Implement the media-control for the audio of web contents → Implement the remote media-control on Fennec
Assignee | ||
Comment 2•9 years ago
|
||
Review commit: https://reviewboard.mozilla.org/r/36811/diff/#index_header
See other reviews: https://reviewboard.mozilla.org/r/36811/
Assignee | ||
Updated•9 years ago
|
User Story: (updated)
Assignee | ||
Comment 3•9 years ago
|
||
Hi, Margaret & Barbara,
I would like to propose this feature to Fennec, could you give me some suggestions?
Very appreciate :)
Flags: needinfo?(margaret.leibovic)
Flags: needinfo?(bbermes)
Comment 4•9 years ago
|
||
Seems ok to me -- as always, I wonder how many times this is even applicable, i.e. x% our media content consumers run into this problem.
I'll create an Aha card for it to discuss priorities: https://mozilla.aha.io/features/FENN-452
Flags: needinfo?(bbermes)
Assignee | ||
Comment 5•9 years ago
|
||
Comment on attachment 8723999 [details]
MozReview Request: Bug 1240423 - part1 : implement the remote media-control on Fennec.
Review request updated; see interdiff: https://reviewboard.mozilla.org/r/36811/diff/1-2/
Updated•9 years ago
|
Flags: needinfo?(margaret.leibovic)
Comment 6•9 years ago
|
||
I think this is a good feature idea. We'll discuss it in our funnel meeting on Monday morning (8am PST). Sounds like something we can probably track for Firefox 48 or 49.
Assignee | ||
Comment 7•9 years ago
|
||
Thanks Margaret!
FYI, now these patches is almost done and can work well.
There are only user-level details left which need to discuss with UX.
Assignee | ||
Comment 8•9 years ago
|
||
Comment on attachment 8723999 [details]
MozReview Request: Bug 1240423 - part1 : implement the remote media-control on Fennec.
Review request updated; see interdiff: https://reviewboard.mozilla.org/r/36811/diff/2-3/
Assignee | ||
Comment 9•9 years ago
|
||
Hi, Anthony,
Sorry to bother you,
Since I saw you're working on Fennec UX design, is it appropriate to discuss the Fennec media-control with you? If not, could you help me to find the right person?
Very appreciate your help!
---
Here are somethings I want to discuss,
(1) The visual design details
The remote media-control has two user interfaces, one is on the notification bar, another is on the lock-screen.
Now the demo controls I made are look like that [1]. And I want to know what should they look like when we land this feature on Fennec.
* In notification bar control,
* what kind of large image we want to display?
* what is text of the tittle and the content?
* what kind of control buttons we want to provide?
* In lock-screen control,
* what kind of small image we want to display?
* what is text of the main tittle and the content?
* what kind of control buttons we want to provide?
Here are the control interface of other apps (bandcamp/soundclound/spotify),
https://goo.gl/KWFvSM
[1] Demo visual design of the control
Notification bar : https://goo.gl/jysn3n
Lockscreen : https://goo.gl/Wvznls
---
(2) The behaviors when we operate with the controller
Now I have implemented some control behaviors, could you help me to verify them?
* touch play/pause button : directly control the playing state of the media content
* swipe the control interface : stop the media content
* double click the control interface : open the Fennec app
Thanks!
Flags: needinfo?(alam)
Comment 10•9 years ago
|
||
(In reply to Alastor Wu [:alwu] from comment #9)
> Hi, Anthony,
> Sorry to bother you,
> Since I saw you're working on Fennec UX design, is it appropriate to discuss
> the Fennec media-control with you? If not, could you help me to find the
> right person?
> Very appreciate your help!
No bother at all. Thanks for the NI ping!
Lets see what we can work out here
> ---
>
> Here are somethings I want to discuss,
> (1) The visual design details
> The remote media-control has two user interfaces, one is on the notification
> bar, another is on the lock-screen.
Can we start with just the collapsed notification UI first? I.e. the smaller one in the lockscreen.
I've seen other apps use this same one even in both the notification tray as well as the lock screen. I think this is the best place to start. We can work on an expanded notification after that.
> Now the demo controls I made are look like that [1]. And I want to know what
> should they look like when we land this feature on Fennec.
>
> * In notification bar control,
> * what kind of large image we want to display?
> * what is text of the tittle and the content?
> * what kind of control buttons we want to provide?
>
> * In lock-screen control,
> * what kind of small image we want to display?
For the small icon, can we use the websites' favicon? I'm not sure how difficult this would be but otherwise, our other notifications currently use the single tone firefox icon - we could just reuse that.
> * what is text of the main tittle and the content?
We can start with Page title as the Title and, the URL as the detail text.
What information do we have available? do we know the video title?
> * what kind of control buttons we want to provide?
I think we will just need the play/pause icons. A basic "play" and "pause" functionality would be all we'll need from this collapsed notification and it's a great start.
We should use our own video control icons though. Bug 1250741 has the latest spec and I can attach the icons you need here too. What size do you need them at?
>
> Here are the control interface of other apps (bandcamp/soundclound/spotify),
> https://goo.gl/KWFvSM
>
> [1] Demo visual design of the control
> Notification bar : https://goo.gl/jysn3n
> Lockscreen : https://goo.gl/Wvznls
>
> ---
>
> (2) The behaviors when we operate with the controller
>
> Now I have implemented some control behaviors, could you help me to verify
> them?
>
> * touch play/pause button : directly control the playing state of the media
> content
As above, this is great!
> * swipe the control interface : stop the media content
Makes sense to me
> * double click the control interface : open the Fennec app
Not sure what you mean here by "double click". Do you mean "touch/ single-press" the notification? IF so, then yes - it should open the tab that's playing the content
>
> Thanks!
thank you!
Flags: needinfo?(alam) → needinfo?(alwu)
Comment 11•9 years ago
|
||
(In reply to Anthony Lam (:antlam) from comment #10)
> (In reply to Alastor Wu [:alwu] from comment #9)
> > * In lock-screen control,
> > * what kind of small image we want to display?
>
> For the small icon, can we use the websites' favicon? I'm not sure how
> difficult this would be but otherwise, our other notifications currently use
> the single tone firefox icon - we could just reuse that.
Actually, I just checked and I think we use the favicon if we can grab it. If not, we just fall back to the single tone Firefox icon (that we currently use in our other notifications).
Assignee | ||
Comment 12•9 years ago
|
||
Hi, Anthony,
Thanks for your reply :)
I have an another question is that if user starts playing music from multiple tabs, how should we handle this situation?
(1) only allow one audible tab
That means we need to increase the audio competing mechanism to Fennec, when the new music is started, the previous one should be stopped.
(2) allow multiple audible tabs
If so, when user presses the pause button of the media-control, does that mean we should stop both of them? or just control one of them?
In addition, in this case, what favicon, tittle and content text we should display on the media-control?
Thanks!
Flags: needinfo?(alwu) → needinfo?(alam)
Comment 13•9 years ago
|
||
(In reply to Alastor Wu [:alwu] from comment #12)
> Hi, Anthony,
> Thanks for your reply :)
>
> I have an another question is that if user starts playing music from
> multiple tabs, how should we handle this situation?
For now, I just want to focus on one tab at a time.
So, if one tab is already playing something, and the user then switches to another tab and starts playing something else, the FIRST tab should pause automatically. Then the controls in the notification will be for the latest tab that the user started playing something from.
1) User plays video in tab A
2) User switches to tab B
3) User plays video in tab B
4) tab A video + audio pauses
5) tab B video plays
6) User returns to home screen and sees notification controls for tab B's video (that is playing).
> (1) only allow one audible tab
> That means we need to increase the audio competing mechanism to Fennec, when
> the new music is started, the previous one should be stopped.
>
> (2) allow multiple audible tabs
> If so, when user presses the pause button of the media-control, does that
> mean we should stop both of them? or just control one of them?
As above, let's just stick to (1)
> In addition, in this case, what favicon, tittle and content text we should
> display on the media-control?
These would be grabbed from the web page I assume.
So, the web page's favicon, page title (title), and URL (detail text).
Does that make sense?
Flags: needinfo?(alam) → needinfo?(alwu)
Assignee | ||
Comment 14•9 years ago
|
||
Thanks Anthony!
I would go to study how to get that information (favicon/tittle/content-text) from website, and go to implement the internal audio competing on Fennec.
Flags: needinfo?(alwu)
Updated•9 years ago
|
OS: Gonk (Firefox OS) → Android
Comment 15•9 years ago
|
||
Hi Alastor, as per our offline conversation, I found that upon receiving a notification, a paused video would resume playing automatically.
STR:
1. Open Fennec and play a video
2. Pause it
3. Lock the phone
4. Send an email to self (or any way that triggers a notification)
Expected:
Video should stay paused.
Actual:
Video starts playing in the background with audio.
Comment hidden (obsolete) |
Updated•9 years ago
|
Blocks: fennec-media-control
Comment 17•9 years ago
|
||
Comment on attachment 8741691 [details]
MozReview Request: Bug 1240423 - implement the remote media-control front-end
Patch moved to bug 1264901.
Attachment #8741691 -
Attachment is obsolete: true
Comment 18•9 years ago
|
||
You should make sure Chenxia or Sebastian review any Android UI changes here.
Flags: needinfo?(s.kaspari)
Flags: needinfo?(liuche)
Assignee | ||
Comment 19•9 years ago
|
||
The UI part would be moved to bug 1264901, I would remove them from these patches.
Comment 20•9 years ago
|
||
What's the state of the patch here? Does this need to be reviewed? This patch doesn't look like it has the same contents as the patch in bug 1264901.
Are you still targeting landing these for Firefox 48? There are only a few days left of development, so I'm worried that you won't get complete reviews in time.
The UI changes will require strings, and we can't uplift strings, so this feature will slip to 49 if it's not landed by the end of this week. Please let us know if you need help.
Flags: needinfo?(alwu)
Assignee | ||
Comment 21•9 years ago
|
||
Hi, Margaret,
Sorry about that this issue could not target at FF48 in time because we're still blocked by bug1242874 and it's an important bug which implements all platform audio-control logic, but I'm pretty sure this feature would be landed in FF49.
BTW, this bug implements the basic control functionality and bug 1264901 implements the user-interface.
Flags: needinfo?(alwu)
Assignee | ||
Comment 22•9 years ago
|
||
Comment on attachment 8723999 [details]
MozReview Request: Bug 1240423 - part1 : implement the remote media-control on Fennec.
Review request updated; see interdiff: https://reviewboard.mozilla.org/r/36811/diff/3-4/
Assignee | ||
Comment 23•9 years ago
|
||
During rebasing, I found other two bugs need to handle.
(1) Media control should not be removed as other common notifications when user press "remove all notification"
(2) Play media, then pause, then press play from website. After that, the media control doesn't be updated to the correct state (need bug1235612)
(3) Tab audio competing needs to handle the audio-playback event order
Depends on: 1235612
Comment 24•9 years ago
|
||
Removing flags here. I'll comment in bug 1264901.
Flags: needinfo?(s.kaspari)
Flags: needinfo?(liuche)
Assignee | ||
Comment 25•9 years ago
|
||
Comment on attachment 8723999 [details]
MozReview Request: Bug 1240423 - part1 : implement the remote media-control on Fennec.
Review request updated; see interdiff: https://reviewboard.mozilla.org/r/36811/diff/4-5/
Assignee | ||
Comment 26•9 years ago
|
||
Review commit: https://reviewboard.mozilla.org/r/51055/diff/#index_header
See other reviews: https://reviewboard.mozilla.org/r/51055/
Attachment #8723999 -
Attachment description: MozReview Request: Bug 1240423 - implement the remote media-control on Fennec. → MozReview Request: Bug 1240423 - part1 : implement the remote media-control on Fennec.
Assignee | ||
Comment 27•9 years ago
|
||
Comment on attachment 8723999 [details]
MozReview Request: Bug 1240423 - part1 : implement the remote media-control on Fennec.
Review request updated; see interdiff: https://reviewboard.mozilla.org/r/36811/diff/5-6/
Assignee | ||
Comment 28•9 years ago
|
||
Comment on attachment 8723999 [details]
MozReview Request: Bug 1240423 - part1 : implement the remote media-control on Fennec.
Review request updated; see interdiff: https://reviewboard.mozilla.org/r/36811/diff/6-7/
Assignee | ||
Comment 29•9 years ago
|
||
Comment on attachment 8749600 [details]
MozReview Request: Bug 1240423 - part2 : introduce audible changing reasons.
Review request updated; see interdiff: https://reviewboard.mozilla.org/r/51055/diff/1-2/
Updated•9 years ago
|
Priority: -- → P2
Assignee | ||
Comment 30•9 years ago
|
||
Comment on attachment 8723999 [details]
MozReview Request: Bug 1240423 - part1 : implement the remote media-control on Fennec.
Review request updated; see interdiff: https://reviewboard.mozilla.org/r/36811/diff/7-8/
Assignee | ||
Comment 31•9 years ago
|
||
Comment on attachment 8749600 [details]
MozReview Request: Bug 1240423 - part2 : introduce audible changing reasons.
Review request updated; see interdiff: https://reviewboard.mozilla.org/r/51055/diff/2-3/
Assignee | ||
Comment 32•9 years ago
|
||
Review commit: https://reviewboard.mozilla.org/r/52141/diff/#index_header
See other reviews: https://reviewboard.mozilla.org/r/52141/
Attachment #8749600 -
Attachment description: MozReview Request: Bug 1240423 : part2 : dispatch audio-playback event when pausing from remote control. → MozReview Request: Bug 1240423 - part2 : introduce audible changing reasons.
Assignee | ||
Comment 33•9 years ago
|
||
Review commit: https://reviewboard.mozilla.org/r/52149/diff/#index_header
See other reviews: https://reviewboard.mozilla.org/r/52149/
Assignee | ||
Comment 34•9 years ago
|
||
Comment on attachment 8723999 [details]
MozReview Request: Bug 1240423 - part1 : implement the remote media-control on Fennec.
Review request updated; see interdiff: https://reviewboard.mozilla.org/r/36811/diff/8-9/
Assignee | ||
Comment 35•9 years ago
|
||
Comment on attachment 8749600 [details]
MozReview Request: Bug 1240423 - part2 : introduce audible changing reasons.
Review request updated; see interdiff: https://reviewboard.mozilla.org/r/51055/diff/3-4/
Assignee | ||
Comment 36•9 years ago
|
||
Review commit: https://reviewboard.mozilla.org/r/52159/diff/#index_header
See other reviews: https://reviewboard.mozilla.org/r/52159/
Assignee | ||
Comment 37•9 years ago
|
||
Comment on attachment 8723999 [details]
MozReview Request: Bug 1240423 - part1 : implement the remote media-control on Fennec.
Review request updated; see interdiff: https://reviewboard.mozilla.org/r/36811/diff/9-10/
Assignee | ||
Comment 38•9 years ago
|
||
Comment on attachment 8749600 [details]
MozReview Request: Bug 1240423 - part2 : introduce audible changing reasons.
Review request updated; see interdiff: https://reviewboard.mozilla.org/r/51055/diff/4-5/
Assignee | ||
Comment 39•9 years ago
|
||
Comment on attachment 8751659 [details]
MozReview Request: Bug 1240423 - part3 : add reason when media element notify audible changing.
Review request updated; see interdiff: https://reviewboard.mozilla.org/r/52141/diff/1-2/
Assignee | ||
Comment 40•9 years ago
|
||
Comment on attachment 8751660 [details]
MozReview Request: Bug 1240423 - part4 : update audio playing window checking in AndroidBridge.
Review request updated; see interdiff: https://reviewboard.mozilla.org/r/52149/diff/1-2/
Assignee | ||
Comment 41•9 years ago
|
||
Comment on attachment 8723999 [details]
MozReview Request: Bug 1240423 - part1 : implement the remote media-control on Fennec.
Review request updated; see interdiff: https://reviewboard.mozilla.org/r/36811/diff/10-11/
Attachment #8751659 -
Attachment description: MozReview Request: Bug 1240423 - part3 : add audible changing reasion when media element notify audible changing. → MozReview Request: Bug 1240423 - part3 : add reason when media element notify audible changing.
Assignee | ||
Comment 42•9 years ago
|
||
Comment on attachment 8749600 [details]
MozReview Request: Bug 1240423 - part2 : introduce audible changing reasons.
Review request updated; see interdiff: https://reviewboard.mozilla.org/r/51055/diff/5-6/
Assignee | ||
Comment 43•9 years ago
|
||
Comment on attachment 8751659 [details]
MozReview Request: Bug 1240423 - part3 : add reason when media element notify audible changing.
Review request updated; see interdiff: https://reviewboard.mozilla.org/r/52141/diff/2-3/
Assignee | ||
Comment 44•9 years ago
|
||
Comment on attachment 8751660 [details]
MozReview Request: Bug 1240423 - part4 : update audio playing window checking in AndroidBridge.
Review request updated; see interdiff: https://reviewboard.mozilla.org/r/52149/diff/2-3/
Assignee | ||
Comment 45•9 years ago
|
||
Comment on attachment 8751695 [details]
MozReview Request: Bug 1240423 - part5 : stop_disposable should reset mSuspendState.
Review request updated; see interdiff: https://reviewboard.mozilla.org/r/52159/diff/1-2/
Assignee | ||
Comment 46•9 years ago
|
||
Review commit: https://reviewboard.mozilla.org/r/52415/diff/#index_header
See other reviews: https://reviewboard.mozilla.org/r/52415/
Attachment #8751660 -
Attachment description: MozReview Request: Bug 1240423 - part4 : modify tests. → MozReview Request: Bug 1240423 - part4 : stop_disposable should reset mSuspendState.
Attachment #8751695 -
Attachment description: MozReview Request: Bug 1240423 - part5 : remove useless pref. → MozReview Request: Bug 1240423 - part5 : add attributes for AudioChannelLog.
Assignee | ||
Comment 47•9 years ago
|
||
Review commit: https://reviewboard.mozilla.org/r/52417/diff/#index_header
See other reviews: https://reviewboard.mozilla.org/r/52417/
Assignee | ||
Comment 48•9 years ago
|
||
Comment on attachment 8723999 [details]
MozReview Request: Bug 1240423 - part1 : implement the remote media-control on Fennec.
Review request updated; see interdiff: https://reviewboard.mozilla.org/r/36811/diff/11-12/
Assignee | ||
Comment 49•9 years ago
|
||
Comment on attachment 8749600 [details]
MozReview Request: Bug 1240423 - part2 : introduce audible changing reasons.
Review request updated; see interdiff: https://reviewboard.mozilla.org/r/51055/diff/6-7/
Assignee | ||
Comment 50•9 years ago
|
||
Comment on attachment 8751659 [details]
MozReview Request: Bug 1240423 - part3 : add reason when media element notify audible changing.
Review request updated; see interdiff: https://reviewboard.mozilla.org/r/52141/diff/3-4/
Assignee | ||
Comment 51•9 years ago
|
||
Comment on attachment 8751660 [details]
MozReview Request: Bug 1240423 - part4 : update audio playing window checking in AndroidBridge.
Review request updated; see interdiff: https://reviewboard.mozilla.org/r/52149/diff/3-4/
Assignee | ||
Comment 52•9 years ago
|
||
Comment on attachment 8751695 [details]
MozReview Request: Bug 1240423 - part5 : stop_disposable should reset mSuspendState.
Review request updated; see interdiff: https://reviewboard.mozilla.org/r/52159/diff/2-3/
Assignee | ||
Comment 53•9 years ago
|
||
Assignee | ||
Comment 54•9 years ago
|
||
If the try-result is good, I'll ask for review.
Assignee | ||
Comment 55•9 years ago
|
||
Assignee | ||
Comment 56•9 years ago
|
||
Review commit: https://reviewboard.mozilla.org/r/52746/diff/#index_header
See other reviews: https://reviewboard.mozilla.org/r/52746/
Attachment #8751660 -
Attachment description: MozReview Request: Bug 1240423 - part4 : stop_disposable should reset mSuspendState. → MozReview Request: Bug 1240423 - part4 : update audio playing window checking in AndroidBridge.
Attachment #8751695 -
Attachment description: MozReview Request: Bug 1240423 - part5 : add attributes for AudioChannelLog. → MozReview Request: Bug 1240423 - part5 : stop_disposable should reset mSuspendState.
Attachment #8752090 -
Attachment description: MozReview Request: Bug 1240423 - part6 : remove useless pref. → MozReview Request: Bug 1240423 - part6 : remove useless pref in Android.
Attachment #8752091 -
Attachment description: MozReview Request: Bug 1240423 - part7 : modify tests → MozReview Request: Bug 1240423 - part7 : add attributes for AudioChannelLog.
Assignee | ||
Comment 57•9 years ago
|
||
Comment on attachment 8723999 [details]
MozReview Request: Bug 1240423 - part1 : implement the remote media-control on Fennec.
Review request updated; see interdiff: https://reviewboard.mozilla.org/r/36811/diff/12-13/
Assignee | ||
Comment 58•9 years ago
|
||
Comment on attachment 8749600 [details]
MozReview Request: Bug 1240423 - part2 : introduce audible changing reasons.
Review request updated; see interdiff: https://reviewboard.mozilla.org/r/51055/diff/7-8/
Assignee | ||
Comment 59•9 years ago
|
||
Comment on attachment 8751659 [details]
MozReview Request: Bug 1240423 - part3 : add reason when media element notify audible changing.
Review request updated; see interdiff: https://reviewboard.mozilla.org/r/52141/diff/4-5/
Assignee | ||
Comment 60•9 years ago
|
||
Comment on attachment 8751660 [details]
MozReview Request: Bug 1240423 - part4 : update audio playing window checking in AndroidBridge.
Review request updated; see interdiff: https://reviewboard.mozilla.org/r/52149/diff/4-5/
Assignee | ||
Comment 61•9 years ago
|
||
Comment on attachment 8751695 [details]
MozReview Request: Bug 1240423 - part5 : stop_disposable should reset mSuspendState.
Review request updated; see interdiff: https://reviewboard.mozilla.org/r/52159/diff/3-4/
Assignee | ||
Comment 62•9 years ago
|
||
Comment on attachment 8752090 [details]
MozReview Request: Bug 1240423 - part6 : remove useless pref in Android.
Review request updated; see interdiff: https://reviewboard.mozilla.org/r/52415/diff/1-2/
Assignee | ||
Comment 63•9 years ago
|
||
Comment on attachment 8752091 [details]
MozReview Request: Bug 1240423 - part7 : add attributes for AudioChannelLog.
Review request updated; see interdiff: https://reviewboard.mozilla.org/r/52417/diff/1-2/
Assignee | ||
Updated•9 years ago
|
Attachment #8723999 -
Flags: review?(margaret.leibovic)
Attachment #8749600 -
Flags: review?(amarchesini)
Attachment #8751659 -
Flags: review?(amarchesini)
Attachment #8751660 -
Flags: review?(snorp)
Attachment #8751695 -
Flags: review?(amarchesini)
Attachment #8752090 -
Flags: review?(snorp)
Attachment #8752091 -
Flags: review?(amarchesini)
Attachment #8752742 -
Flags: review?(amarchesini)
Assignee | ||
Comment 64•9 years ago
|
||
Hi, Baku, Margret, Snorp,
Could you help me review these patches?
This bug is about the implementation of fennec media control, and the UI part would be done in bug1264901.
Very appreciate your help!
Comment 65•9 years ago
|
||
Comment on attachment 8723999 [details]
MozReview Request: Bug 1240423 - part1 : implement the remote media-control on Fennec.
I may not be able to get to this week. Maybe ahunt can help take over this review.
Attachment #8723999 -
Flags: review?(ahunt)
Comment on attachment 8751660 [details]
MozReview Request: Bug 1240423 - part4 : update audio playing window checking in AndroidBridge.
https://reviewboard.mozilla.org/r/52149/#review50024
Attachment #8751660 -
Flags: review?(snorp) → review+
Comment on attachment 8752090 [details]
MozReview Request: Bug 1240423 - part6 : remove useless pref in Android.
https://reviewboard.mozilla.org/r/52415/#review50026
Attachment #8752090 -
Flags: review?(snorp) → review+
Comment 68•9 years ago
|
||
Comment on attachment 8723999 [details]
MozReview Request: Bug 1240423 - part1 : implement the remote media-control on Fennec.
https://reviewboard.mozilla.org/r/36811/#review50106
Looks good to me: two minor issues below, and I'm pretty sure we should remove the MEDIA_CONTENT_CONTROL permission (see below).
::: mobile/android/base/FennecManifest_permissions.xml.in:90
(Diff revision 13)
> #endif
> <uses-permission android:name="android.permission.CAMERA" />
> <uses-feature android:name="android.hardware.camera" android:required="false"/>
> <uses-feature android:name="android.hardware.camera.autofocus" android:required="false"/>
>
> + <uses-permission android:name="android.permission.MEDIA_CONTENT_CONTROL" />
Do we need this permission? I don't see where we use this? (I'm pretty sure we don't need any permissions to send intents to our own services, this is only for accessing other apps?)
Also, If I'm understanding the docs correctly we (as a third party app) shouldn't be using this permission anyways:
https://developer.android.com/reference/android/Manifest.permission.html#MEDIA_CONTENT_CONTROL
(This permission also needs API 19+ or above, but we support 15+, which would probably also prevent us from having this.)
::: mobile/android/base/java/org/mozilla/gecko/media/MediaControlService.java:114
(Diff revision 13)
> + break;
> + }
> + }
> +
> + private void getGeckoPreference() {
> + String[] prefs = { MEDIA_CONTROL_PREF };
nit: this line seems to have different indentation. We can also make this varibale final (final String[] prefs = ...).
::: mobile/android/base/java/org/mozilla/gecko/media/MediaControlService.java:140
(Diff revision 13)
> + handleIntent(intent);
> + }
> + }
> + }
> + };
> + PrefsHelper.addObserver(prefs, mPrefsObserver);
I think we also need to remove this observer using removeObserver() - that can probably be done in onDestroy (since we add this observer during onCreate).
Attachment #8723999 -
Flags: review?(ahunt) → review+
Assignee | ||
Comment 69•9 years ago
|
||
(In reply to Andrzej Hunt :ahunt from comment #68)
>
> Looks good to me: two minor issues below, and I'm pretty sure we should
> remove the MEDIA_CONTENT_CONTROL permission (see below).
>
Thanks! I'll remove this permission and modify my patches!
Assignee | ||
Comment 70•9 years ago
|
||
Comment on attachment 8723999 [details]
MozReview Request: Bug 1240423 - part1 : implement the remote media-control on Fennec.
Review request updated; see interdiff: https://reviewboard.mozilla.org/r/36811/diff/13-14/
Assignee | ||
Comment 71•9 years ago
|
||
Comment on attachment 8749600 [details]
MozReview Request: Bug 1240423 - part2 : introduce audible changing reasons.
Review request updated; see interdiff: https://reviewboard.mozilla.org/r/51055/diff/8-9/
Assignee | ||
Comment 72•9 years ago
|
||
Comment on attachment 8751659 [details]
MozReview Request: Bug 1240423 - part3 : add reason when media element notify audible changing.
Review request updated; see interdiff: https://reviewboard.mozilla.org/r/52141/diff/5-6/
Assignee | ||
Comment 73•9 years ago
|
||
Comment on attachment 8751660 [details]
MozReview Request: Bug 1240423 - part4 : update audio playing window checking in AndroidBridge.
Review request updated; see interdiff: https://reviewboard.mozilla.org/r/52149/diff/5-6/
Assignee | ||
Comment 74•9 years ago
|
||
Comment on attachment 8751695 [details]
MozReview Request: Bug 1240423 - part5 : stop_disposable should reset mSuspendState.
Review request updated; see interdiff: https://reviewboard.mozilla.org/r/52159/diff/4-5/
Assignee | ||
Comment 75•9 years ago
|
||
Comment on attachment 8752090 [details]
MozReview Request: Bug 1240423 - part6 : remove useless pref in Android.
Review request updated; see interdiff: https://reviewboard.mozilla.org/r/52415/diff/2-3/
Assignee | ||
Comment 76•9 years ago
|
||
Comment on attachment 8752091 [details]
MozReview Request: Bug 1240423 - part7 : add attributes for AudioChannelLog.
Review request updated; see interdiff: https://reviewboard.mozilla.org/r/52417/diff/2-3/
Assignee | ||
Comment 77•9 years ago
|
||
Comment on attachment 8752742 [details]
MozReview Request: Bug 1240423 - part8 : modify tests
Review request updated; see interdiff: https://reviewboard.mozilla.org/r/52746/diff/1-2/
Updated•9 years ago
|
Attachment #8723999 -
Flags: review?(margaret.leibovic)
Assignee | ||
Comment 78•9 years ago
|
||
Hi, Margret,
Since I modified one file under the toolkit in my patch1 (it just changes a little bit), could you mind to help me review it?
Thanks!
Flags: needinfo?(margaret.leibovic)
Comment 79•9 years ago
|
||
(In reply to Alastor Wu [:alwu][PTO 5/24~5/26] from comment #78)
> Hi, Margret,
> Since I modified one file under the toolkit in my patch1 (it just changes a
> little bit), could you mind to help me review it?
> Thanks!
Sure, I looked these toolkit changes over, and they look fine to me. It looks like you're the person who originally wrote the code around these changes, so you probably know it better than anyone :)
Flags: needinfo?(margaret.leibovic)
Comment 80•8 years ago
|
||
Hi all, I will take this feature as a QA. Here is the Test plan based on which the testing is made:
https://wiki.mozilla.org/QA/Fennec/Control_media_content_when_switching_between_apps
QA Contact: sorina.florean
Comment 82•8 years ago
|
||
Comment on attachment 8749600 [details]
MozReview Request: Bug 1240423 - part2 : introduce audible changing reasons.
https://reviewboard.mozilla.org/r/51055/#review53068
::: dom/audiochannel/AudioChannelService.h:82
(Diff revision 9)
> eCapturing = true,
> eNotCapturing = false
> };
>
> + enum AudibleChangedReasons : uint32_t {
> + eVolumeChanged = 1,
No value 0 ?
::: dom/audiochannel/AudioChannelService.cpp:122
(Diff revision 9)
> nsCOMPtr<nsIObserverService> observerService =
> services::GetObserverService();
> if (NS_WARN_IF(!observerService)) {
> return NS_ERROR_FAILURE;
> }
>
nsAutoString state;
GetActiveState(state);
::: dom/audiochannel/AudioChannelService.cpp:125
(Diff revision 9)
> return NS_ERROR_FAILURE;
> }
>
> observerService->NotifyObservers(ToSupports(mWindow),
> "audio-playback",
> - mActive ? MOZ_UTF16("active")
> + GetActiveState().get());
if you don't have get(), use BeginReading()
::: dom/audiochannel/AudioChannelService.cpp:133
(Diff revision 9)
> ("AudioPlaybackRunnable, active = %d\n", mActive));
> return NS_OK;
> }
>
> private:
> + nsString GetActiveState()
I don't like to return a nsString. Do:
void
GetActiveState(nsAString& astate)
{
...
Attachment #8749600 -
Flags: review?(amarchesini) → review+
Comment 83•8 years ago
|
||
Comment on attachment 8751659 [details]
MozReview Request: Bug 1240423 - part3 : add reason when media element notify audible changing.
https://reviewboard.mozilla.org/r/52141/#review53072
Attachment #8751659 -
Flags: review?(amarchesini) → review+
Updated•8 years ago
|
Attachment #8751695 -
Flags: review?(amarchesini) → review+
Comment 84•8 years ago
|
||
Comment on attachment 8751695 [details]
MozReview Request: Bug 1240423 - part5 : stop_disposable should reset mSuspendState.
https://reviewboard.mozilla.org/r/52159/#review53074
Comment 85•8 years ago
|
||
Comment on attachment 8752091 [details]
MozReview Request: Bug 1240423 - part7 : add attributes for AudioChannelLog.
https://reviewboard.mozilla.org/r/52417/#review53076
Attachment #8752091 -
Flags: review?(amarchesini) → review+
Comment 86•8 years ago
|
||
Comment on attachment 8752742 [details]
MozReview Request: Bug 1240423 - part8 : modify tests
https://reviewboard.mozilla.org/r/52746/#review53078
Attachment #8752742 -
Flags: review?(amarchesini) → review+
Assignee | ||
Comment 87•8 years ago
|
||
Thanks for review :)
Assignee | ||
Updated•8 years ago
|
Flags: needinfo?(amarchesini)
Assignee | ||
Comment 88•8 years ago
|
||
Comment on attachment 8723999 [details]
MozReview Request: Bug 1240423 - part1 : implement the remote media-control on Fennec.
Review request updated; see interdiff: https://reviewboard.mozilla.org/r/36811/diff/14-15/
Attachment #8723999 -
Flags: review?(margaret.leibovic)
Assignee | ||
Comment 89•8 years ago
|
||
Comment on attachment 8749600 [details]
MozReview Request: Bug 1240423 - part2 : introduce audible changing reasons.
Review request updated; see interdiff: https://reviewboard.mozilla.org/r/51055/diff/9-10/
Assignee | ||
Comment 90•8 years ago
|
||
Comment on attachment 8751659 [details]
MozReview Request: Bug 1240423 - part3 : add reason when media element notify audible changing.
Review request updated; see interdiff: https://reviewboard.mozilla.org/r/52141/diff/6-7/
Assignee | ||
Comment 91•8 years ago
|
||
Comment on attachment 8751660 [details]
MozReview Request: Bug 1240423 - part4 : update audio playing window checking in AndroidBridge.
Review request updated; see interdiff: https://reviewboard.mozilla.org/r/52149/diff/6-7/
Assignee | ||
Comment 92•8 years ago
|
||
Comment on attachment 8751695 [details]
MozReview Request: Bug 1240423 - part5 : stop_disposable should reset mSuspendState.
Review request updated; see interdiff: https://reviewboard.mozilla.org/r/52159/diff/5-6/
Assignee | ||
Comment 93•8 years ago
|
||
Comment on attachment 8752090 [details]
MozReview Request: Bug 1240423 - part6 : remove useless pref in Android.
Review request updated; see interdiff: https://reviewboard.mozilla.org/r/52415/diff/3-4/
Assignee | ||
Comment 94•8 years ago
|
||
Comment on attachment 8752091 [details]
MozReview Request: Bug 1240423 - part7 : add attributes for AudioChannelLog.
Review request updated; see interdiff: https://reviewboard.mozilla.org/r/52417/diff/3-4/
Assignee | ||
Comment 95•8 years ago
|
||
Comment on attachment 8752742 [details]
MozReview Request: Bug 1240423 - part8 : modify tests
Review request updated; see interdiff: https://reviewboard.mozilla.org/r/52746/diff/2-3/
Assignee | ||
Comment 96•8 years ago
|
||
Comment 97•8 years ago
|
||
Pushed by alwu@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/ae72a7d642b3
part1 : implement the remote media-control on Fennec. r=ahunt
https://hg.mozilla.org/integration/mozilla-inbound/rev/d367637208ee
part2 : introduce audible changing reasons. r=baku
https://hg.mozilla.org/integration/mozilla-inbound/rev/180b625d6536
part3 : add reason when media element notify audible changing. r=baku
https://hg.mozilla.org/integration/mozilla-inbound/rev/2d337dda7dd1
part4 : update audio playing window checking in AndroidBridge. r=snorp
https://hg.mozilla.org/integration/mozilla-inbound/rev/702f05744977
part5 : stop_disposable should reset mSuspendState. r=baku
https://hg.mozilla.org/integration/mozilla-inbound/rev/4ccfcd9c5430
part6 : remove useless pref in Android. r=snorp
https://hg.mozilla.org/integration/mozilla-inbound/rev/e40fc1609c5e
part7 : add attributes for AudioChannelLog. r=baku
https://hg.mozilla.org/integration/mozilla-inbound/rev/07bc3e5d3815
part8 : modify tests r=baku
Updated•8 years ago
|
Attachment #8723999 -
Flags: review?(margaret.leibovic)
This caused an android lint[1] and checkstyle[2] failure:
Looking in the lint-results-automationDebug.xml[3] file uploaded, the error is:
<issue id="SuspiciousImport" severity="Error" message="Don't include `android.R` here; use a fully qualified name for each usage instead" category="Correctness" priority="9" summary="'`import android.R`' statement" explanation="Importing `android.R` is usually not intentional; it sometimes happens when you use an IDE and ask it to automatically add imports at a time when your project's R class it not present. Once the import is there you might get a lot of "confusing" error messages because of course the fields available on `android.R` are not the ones you'd expect from just looking at your own `R` class." errorLine1="import android.R;" errorLine2="~~~~~~~~~~~~~~~~~">
<location file="/home/worker/workspace/build/src/mobile/android/base/java/org/mozilla/gecko/media/MediaControlService.java" line="23" column="1"/>
</issue>
These are tier-2 tests, so I'm not backing these out, but they will need to be fixed.
1. https://treeherder.mozilla.org/logviewer.html#?job_id=29197285&repo=mozilla-inbound
2. https://treeherder.mozilla.org/logviewer.html#?job_id=29197039&repo=mozilla-inbound
3. https://public-artifacts.taskcluster.net/aK7x4PXETo687oF91AzgCA/0/public/android/lint/lint-results-automationDebug.xml
Flags: needinfo?(alwu)
Depends on: 1277373
Comment 100•8 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/ae72a7d642b3
https://hg.mozilla.org/mozilla-central/rev/d367637208ee
https://hg.mozilla.org/mozilla-central/rev/180b625d6536
https://hg.mozilla.org/mozilla-central/rev/2d337dda7dd1
https://hg.mozilla.org/mozilla-central/rev/702f05744977
https://hg.mozilla.org/mozilla-central/rev/4ccfcd9c5430
https://hg.mozilla.org/mozilla-central/rev/e40fc1609c5e
https://hg.mozilla.org/mozilla-central/rev/07bc3e5d3815
Status: NEW → RESOLVED
Closed: 8 years ago
status-firefox49:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → Firefox 49
Comment 101•8 years ago
|
||
i don't see this feature in firefox for 49 beta 8. I also don't see this feature in firefox for 50 aurora. I do see it in firefox for Android 51 nightly (see https://www.flickr.com/photos/roland/28791363753/ )
what am i missing? If i am missing something please explain the feature, thanks! ....Roland Firefox for iOS and Android support aka SUMO
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Comment 102•8 years ago
|
||
steps to reproduce:
1. in firefox for 49 beta 8, play a video from e.g. a video from aaron train's test page:
http://people.mozilla.org/~atrain/mobile/tests/media.html
2. switch to another android app and then open the android utility tray
expected behaviour:
I see a control to pause the video in firefox for android 49 beta 8 (i see this is in FF51 for android nightly)
actual result:
no control is displayed in firefox for android 49 beta 8 or firefox aurora 50
Assignee | ||
Comment 103•8 years ago
|
||
This feature can only be used on Nightly now (bug1290510), but it would be re-enable soon in bug1290836.
Status: REOPENED → RESOLVED
Closed: 8 years ago → 8 years ago
Resolution: --- → FIXED
Comment 104•8 years ago
|
||
(In reply to Alastor Wu [:alwu] from comment #103)
> This feature can only be used on Nightly now (bug1290510), but it would be
> re-enable soon in bug1290836.
cool thanks for the update :alwu!
When this feature finally lands can you change this FROM:
"RESOLVED FIXED in Firefox 49"
to:
"RESOLVED FIXED in Firefox 52" (or whatever release it is?)
Assignee | ||
Comment 105•8 years ago
|
||
Sure, add NI for reminding to change the tracking flags.
Flags: needinfo?(alwu)
Comment 106•8 years ago
|
||
Can you please confirm which release this is tracking?
Marketing and other teams assume this being shipped in 49 (as per the Aha card), if we can't do that, please let us know as soon as issues like these arise.
(Please NI me)
Comment 107•8 years ago
|
||
Hi Barbara and Roland,
We plan to land and enable all these remote media control -related features on fennec in Firefox51.
We set a flag(pref-off) to control these fixes( in Bug 1290510 ) till it's ready and stable enough.
At present, only one bug(Bug 1290467)for this media feature is not yet resolved and almost get review done.
After Bug 1290467 is ready, we will enable( pref-on) this media feature in all release channels (in Bug 1290836).
As for the target release, please refer to the comment3 in Bug 1290836.
We hope we could make it in Firefox 51; But it's not ready, we will target 52.
Thank you very much !!
Flags: needinfo?(rtanglao)
Flags: needinfo?(bbermes)
Comment 108•8 years ago
|
||
Agree with Sebastian in bug 1290836 comment 3. We should wait bug 1290467 to be landed and see if there are other problems.
Comment 109•8 years ago
|
||
(In reply to Rachelle Yang [:ryang][ryang@mozilla.com] from comment #107)
> Hi Barbara and Roland,
>
> We plan to land and enable all these remote media control -related features
> on fennec in Firefox51.
> We set a flag(pref-off) to control these fixes( in Bug 1290510 ) till it's
> ready and stable enough.
>
> At present, only one bug(Bug 1290467)for this media feature is not yet
> resolved and almost get review done.
> After Bug 1290467 is ready, we will enable( pref-on) this media feature in
> all release channels (in Bug 1290836).
>
> As for the target release, please refer to the comment3 in Bug 1290836.
> We hope we could make it in Firefox 51; But it's not ready, we will target
> 52.
> Thank you very much !!
Cheers Rachelle!
sounds good! fingers crossed for 51 but if not, 52 will work too! Clearing needinfo
...Roland
Flags: needinfo?(rtanglao)
Comment 110•8 years ago
|
||
Flags: needinfo?(bbermes)
Target Milestone: Firefox 49 → Firefox 51
Updated•8 years ago
|
Assignee | ||
Comment 111•8 years ago
|
||
Fixed in FF52, see bug1290836.
status-firefox52:
--- → fixed
Flags: needinfo?(alwu)
Assignee | ||
Updated•8 years ago
|
status-firefox49:
fixed → ---
Comment 112•8 years ago
|
||
Hello,
Tested on Nexus 9 (Android 7.0) on 52.0a1 (2016-11-10) and no problems were found.
Updated•4 years ago
|
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•