Closed
Bug 867912
Opened 12 years ago
Closed 12 years ago
[Buri][Audio] Configuring silent mode by long-pressing power button is not persistent after device reboot
Categories
(Firefox OS Graveyard :: Gaia::System, defect, P1)
Tracking
(blocking-b2g:tef+, b2g18 verified, b2g18-v1.0.0 wontfix, b2g18-v1.0.1 verified)
People
(Reporter: sync-1, Assigned: alive)
References
Details
Attachments
(1 file)
AU_LINUX_GECKO_ICS_STRAWBERRY_V1.01.00.01.019.085
Firefox os v1.0.1
Mozilla build ID:20130422230201
+++ This bug was initially created as a clone of Bug #448319 +++
DEFECT DESCRIPTION:
[Audio]Silence incoming call function abnormal.
REPRODUCING PROCEDURES:
1.Set ringer¬ification volume to a level(not 0),long press power key to choose "silence incoming calls",status bar will display silence(vibrate)icon.
But the volume of ringer¬ification will not change to 0.->ko1
2.Restart device,silence(vibrate)icon will disappear from status bar,and if has an incoming call will has ringer.->ko2
EXPECTED BEHAVIOUR:
ko1.Check with SW,silence incoming call is to disable the ringer not clear volume,but it is not a good behavior that status bar is not synchronized with settings.
ko2.Keep silence incoming call settings.
ASSOCIATE SPECIFICATION:
TEST PLAN REFERENCE:
TOOLS AND PLATFORMS USED:
USER IMPACT:
REPRODUCING RATE:
3/3
For FT PR, Please list reference mobile's behavior:
++++++++++ end of initial bug #448319 description ++++++++++
CONTACT INFO (Name,Phone number):
DEFECT DESCRIPTION:
REPRODUCING PROCEDURES:
EXPECTED BEHAVIOUR:
ASSOCIATE SPECIFICATION:
TEST PLAN REFERENCE:
TOOLS AND PLATFORMS USED:
USER IMPACT:
REPRODUCING RATE:
For FT PR, Please list reference mobile's behavior:
Updated•12 years ago
|
blocking-b2g: --- → tef?
Comment 1•12 years ago
|
||
The first scenario is working fine for me, if I call after step 1, there is no sound.
Second scenario is still wrong. Changing the subject to clarify what the bug is.
blocking-b2g: tef? → tef+
Summary: [Buri][Audio]Silence incoming call function abnormal. → [Buri][Audio] Configuring silent mode by long-pressing power button is not persistent after device reboot
Comment 2•12 years ago
|
||
baku/Marco, is this persistence something the audio manager handles?
Flags: needinfo?(mchen)
Flags: needinfo?(amarchesini)
Assignee | ||
Comment 3•12 years ago
|
||
1. works for me because 'silent incoming call' isn't implemented as 'set volume to 0'.
I admit we need to refine this function in device menu.
2. looks wired...gaia bug maybe.
Assignee | ||
Updated•12 years ago
|
Component: Gaia::Settings → Gaia::System
Comment 4•12 years ago
|
||
Discussed with Alive and he will take care this issue on Gaia side.
Flags: needinfo?(mchen)
Comment 5•12 years ago
|
||
> 1. works for me because 'silent incoming call' isn't implemented as 'set
> volume to 0'.
How silence mode is implemented? Probably the easier way is to ask AudioChannelService to mute all the elements.
Flags: needinfo?(amarchesini)
Assignee | ||
Comment 6•12 years ago
|
||
(In reply to Andrew Overholt [:overholt] from comment #2)
> baku/Marco, is this persistence something the audio manager handles?
Andrew, my proposed change is to do bug 868314: change the behavior of 'silent incoming calls' to 'silent mode' (implemented in bug 819842).
Assignee | ||
Comment 7•12 years ago
|
||
(In reply to Andrea Marchesini (:baku) from comment #5)
> > 1. works for me because 'silent incoming call' isn't implemented as 'set
> > volume to 0'.
>
> How silence mode is implemented? Probably the easier way is to ask
> AudioChannelService to mute all the elements.
We just set two channels volume to 0: notification and content as UX suggested.
Assignee | ||
Comment 8•12 years ago
|
||
(In reply to Alive Kuo [:alive] from comment #7)
> (In reply to Andrea Marchesini (:baku) from comment #5)
>
> We just set two channels volume to 0: notification and content as UX
> suggested.
Baku, I suggest that leave UX relevant logic in gaia to avoid rapid spec change revealed in gecko, how do you think? I know it isn't a perfect solution from gaia side.
To be clear, in my mind there should be some API for gaia to mute different channel(without setting the volume to 0) but I wonder this is an efficient and bug-free way.
Since now the trigger to silent mode is pressing volume key down to 0, it makes sense to "just set volume to 0".
Comment 9•12 years ago
|
||
Probably it would be cleaner to use the AudioChannelService. In this way the memory consumption will be much less: the media element has a wakelock enabled when it is playing audio, but if it's muted by the AudioChannelService, this wakelock is disabled. The patch about this is landed yesterday: Bug 859824
Assignee | ||
Comment 10•12 years ago
|
||
(In reply to Andrea Marchesini (:baku) from comment #9)
> Probably it would be cleaner to use the AudioChannelService. In this way the
> memory consumption will be much less: the media element has a wakelock
> enabled when it is playing audio, but if it's muted by the
> AudioChannelService, this wakelock is disabled. The patch about this is
> landed yesterday: Bug 859824
It's not clear to me what to do. The bug 859824 looks to me that you're going to release some resource when music is "paused". Do you want to actively "pause" every audio when the user enables silent mode? And prevent every audio to start playing?
Comment 11•12 years ago
|
||
> It's not clear to me what to do. The bug 859824 looks to me that you're
> going to release some resource when music is "paused". Do you want to
> actively "pause" every audio when the user enables silent mode? And prevent
> every audio to start playing?
Not only. That patch releases the wakelock for 2 reasons:
1. when the media element is stopped/paused
2. when the audiochannelservice muted the element (search for SetCanPlay());
We care about this second reason for silence mode.
Otherwise:
1. the user opens the music app. the music app plays audio - audiochanneltype => content.
2. the device is in silence mode, so no audio is actually played
3. the device is locked
4. the device doesn't go in sleep mode because of the wake lock.
This is the reason why I think it's better to use the AudioChannelService to silence any (or some) media element. Then, maybe we can fix this issue for 1.1.
Assignee | ||
Comment 12•12 years ago
|
||
(In reply to Andrea Marchesini (:baku) from comment #11)
> 2. when the audiochannelservice muted the element (search for SetCanPlay());
>
> We care about this second reason for silence mode.
> Otherwise:
>
> 1. the user opens the music app. the music app plays audio -
> audiochanneltype => content.
> 2. the device is in silence mode, so no audio is actually played
> 3. the device is locked
> 4. the device doesn't go in sleep mode because of the wake lock.
>
> This is the reason why I think it's better to use the AudioChannelService to
> silence any (or some) media element. Then, maybe we can fix this issue for
> 1.1.
From above I guess you want to "avoid redundant power consumption when audio is playing at volume 0", but my problem is 1) how gaia tell you to mute it? 2) couldn't we "mute the channel" when you see channel volume is 0 now?
Comment 13•12 years ago
|
||
(In reply to Andrea Marchesini (:baku) from comment #11)
About use AudioChannelService to pause media element for silent mode, I think that is not what we defined for silent mode.
From user's point of view, I would expect my music app is on playing even on silent mode. Because silent indicates to mute audio only not pause audio.
Assignee | ||
Updated•12 years ago
|
Assignee: nobody → alive
Assignee | ||
Comment 14•12 years ago
|
||
I am going to provide a gaia side solution at first since :baku is busy now.
Assignee | ||
Comment 15•12 years ago
|
||
Casey, if we're going to modify the silent mode function behavior on the device menu,
what's the string of "silent" and the opposite one?
Currently it's "silent incoming calls" and "ring incoming calls".
Flags: needinfo?(kyee)
Assignee | ||
Comment 16•12 years ago
|
||
BTW, The root cause of why the settings reverses after rebooting is:
https://github.com/mozilla-b2g/gaia/blob/master/apps/system/js/sleep_menu.js#L40
The handler here changes |ring.enabled| once the notification channel volume is changed.
Sigh, a really incorrect implementation.
Updated•12 years ago
|
Flags: needinfo?(kyee) → needinfo?(firefoxos-ux-bugzilla)
Assignee | ||
Comment 17•12 years ago
|
||
Two ways to fix this bug in my mind now:
A)
1. Remove |ring.enable| settings key from the apps reference it.
2. Use 'audio.volume.notification'+'vibration.enabled' to be the key to trigger silent mode.
3. For statusbar/lockscreen:
show mute icon when: audio.volume.notification == 0 && vibration.enabled == false
show vibration icon when: audio.volume.notification == 0 && vibration.enabled == true
show nothing when: audio.volume.notification != 0 && vibration.enabled == false
4. For dialer/keyboard:
Doesn't call play() when audio.volume.notification == 0
B)
1. Rename |ring.enabled| with |silent.enabled|
2. For sound manager:
Save current notification channel volume, let audio.volume.notification == 0 when silent.enabled == true
Restore saved notification channel volume
3. For statusbar/lockscreen/dialer/keyboard: just replace |ring.enabled| with |!silent.enabled|
I will try B) first.
Updated•12 years ago
|
Flags: needinfo?(firefoxos-ux-bugzilla)
Comment 18•12 years ago
|
||
Flagging Rob in the hope that we have an existing pattern that speaks to this one.
Flags: needinfo?(rmacdonald)
Assignee | ||
Comment 19•12 years ago
|
||
WIP:
https://github.com/alivedise/gaia/commit/432cdadf38f8ec5b57ef10c6471c34d6c84ce20a
This one is pretty complex...:)
Todo:
* solve the problem silent mode caused by two channels.
Updated•12 years ago
|
Whiteboard: [status: WIP, more work needed]
Assignee | ||
Comment 20•12 years ago
|
||
Patch v1:
1. Remove `ring.enabled` because it conflicts with `audio.volume.notification`
2. Use `audio.volume.notification` to indicate silent mode
3. Multi channel silent mode:
(1) Enter silent mode from Device menu: Silent notification channel, cache it.
(2) Leave silent mode from Device menu: Restore cached notification channel. If there's no cached one, restore to 1.
(3) Set audio.volume.notification->0 from Settings app:
(A) With vibration on: Vibration icon shows, not silent mode.
(B) With vibration off: Enter notification silent mode, no cached volume.
(4) Enter silent mode from volume rockers:
(A) volumedown to 0 first time: vibration on, not silent mode.
(B) volumedown to 0 second time and afterwards: Both Notification and Content silent mode. Cache content volume, no cached notification volume.
4. Fix a bug introduced from 819842 content silent mode.
IMO there's no silver bullet to multiple channel silent mode...this is already the bugfree way I figure out to maintain the silent state from multi input(Settings, hardware key, virtual key).
Attachment #747329 -
Flags: review?(timdream)
Comment 22•12 years ago
|
||
Daniel - If I understand this bug correctly, there is a simple workaround (set phone back to vibrate after reboot). Comment 19 also states that the WIP patch is pretty complex and, therefore, will likely add significant risk of regression. Does this bug really need to block the release?
Updated•12 years ago
|
Whiteboard: [status: WIP, more work needed] → [status: needs review]
Updated•12 years ago
|
Attachment #747329 -
Flags: review?(timdream) → review+
Assignee | ||
Comment 23•12 years ago
|
||
master
https://github.com/mozilla-b2g/gaia/commit/8b2e95522652dedc68052152ea6e49faba1cc013
Drivers: it's up to drivers to decide this is tef+ or not, but the code has already been granted so I'm closing this now.
IMO the old function is just a failed implementation.
Status: NEW → RESOLVED
Closed: 12 years ago
status-b2g18:
--- → affected
status-b2g18-v1.0.1:
--- → affected
Resolution: --- → FIXED
Assignee | ||
Comment 24•12 years ago
|
||
I am filing a bug for unit test on sound manager in https://bugzilla.mozilla.org/show_bug.cgi?id=870654
Comment 25•12 years ago
|
||
This bug was partially uplifted.
Uplifted 8b2e95522652dedc68052152ea6e49faba1cc013 to:
v1-train: 1ef0c50111dbab687634b468d6914e781c600349
Commit 8b2e95522652dedc68052152ea6e49faba1cc013 didn't uplift to branch v1.0.1
Assignee | ||
Comment 26•11 years ago
|
||
We're waiting for bug 819842 to be tef+.
If that doesn't happen, need some more additional work here to do patch on v1.0.1
because the patch here is highly relevant to bug 819842's patch now.
The addition work is:
In device menu, remove all 'ring.enabled', use 'audio.volume.notification'.
In sound manager, add enterSilentMode/leaveSilentMode for notification channel only.
Comment 27•11 years ago
|
||
Bug 819842 is now tef+ and can be uplifted to v1.0.1, John, can you try to uplift 819842 one and later on this to v1.0.1?
Flags: needinfo?(jhford)
Comment 28•11 years ago
|
||
Talked with Alive and he will uplift it to v1.0.1.
Assignee | ||
Comment 29•11 years ago
|
||
Updated•11 years ago
|
Whiteboard: [status: needs review]
Updated•11 years ago
|
Flags: needinfo?(jhford) → needinfo?
Updated•11 years ago
|
Flags: needinfo?
Comment 30•11 years ago
|
||
(In reply to Alive Kuo [:alive] from comment #29)
> v1.0.1
> https://github.com/mozilla-b2g/gaia/commit/
> aa90119cd24fe54a3bb1228a7323cc12bd021db6
Hi Alive,
I have add somecomment in https://github.com/mozilla-b2g/gaia/pull/9638/files, could you have a look?
Flags: needinfo?(alive)
Comment 31•11 years ago
|
||
(In reply to Alive Kuo [:alive] from comment #29)
> v1.0.1
> https://github.com/mozilla-b2g/gaia/commit/
> aa90119cd24fe54a3bb1228a7323cc12bd021db6
Hi Alive,
I have add somecomment in https://github.com/mozilla-b2g/gaia/pull/9638/files, could you have a look?
Flags: needinfo?(alive)
Comment 32•11 years ago
|
||
(In reply to Alive Kuo [:alive] from comment #29)
> v1.0.1
> https://github.com/mozilla-b2g/gaia/commit/
> aa90119cd24fe54a3bb1228a7323cc12bd021db6
Hi Alive,
I have add somecomment in https://github.com/mozilla-b2g/gaia/pull/9638/files, could you have a look?
Assignee | ||
Comment 33•11 years ago
|
||
https://github.com/mozilla-b2g/gaia/commit/19f77d82fb60b4d2999202a59fa84a2062bf3ea3
Fix this.
(In reply to xiaokang.chen from comment #32)
> (In reply to Alive Kuo [:alive] from comment #29)
> > v1.0.1
> > https://github.com/mozilla-b2g/gaia/commit/
> > aa90119cd24fe54a3bb1228a7323cc12bd021db6
>
> Hi Alive,
> I have add somecomment in
> https://github.com/mozilla-b2g/gaia/pull/9638/files, could you have a look?
Flags: needinfo?(alive)
Comment 34•11 years ago
|
||
This issue no longer reproduces on both V1.1 and V1.0.1. User is able to disable the ringer and there is no call ringer volume heard during an incoming call.
Leo Mozz build V1.1: 20130530070208
Gecko: http://hg.mozilla.org/releases/mozilla-b2g18/rev/09ac1fd2959c
Gaia: 1cca9324d4444ad28c6fa99875e17abf7e8230be
Version 18.0
Buri Mozz V1.0.1 build: 20130530070213
Gecko: http://hg.mozilla.org/releases/mozilla-b2g18_v1_0_1/rev/11b55d3ada71
Gaia: ac293ce59acc3bede083fad1b973794fa8bf0253
Version 18.0
Reporter | ||
Comment 35•11 years ago
|
||
Comment from Mozilla:This issue no longer reproduces on both V1.1 and V1.0.1. User is able to disable the ringer and there is no call ringer volume heard during an incoming call.
Leo Mozz build V1.1: 20130530070208
Gecko: http://hg.mozilla.org/releases/mozilla-b2g18/rev/09ac1fd2959c
Gaia: 1cca9324d4444ad28c6fa99875e17abf7e8230be
Version 18.0
Buri Mozz V1.0.1 build: 20130530070213
Gecko: http://hg.mozilla.org/releases/mozilla-b2g18_v1_0_1/rev/11b55d3ada71
Gaia: ac293ce59acc3bede083fad1b973794fa8bf0253
Version 18.0
Updated•11 years ago
|
Flags: needinfo?(rmacdonald)
You need to log in
before you can comment on or make changes to this bug.
Description
•