Closed Bug 1112586 Opened 10 years ago Closed 9 years ago

Volume warning comes up a random amount of time after locking the phone

Categories

(Firefox OS Graveyard :: Gaia::System, defect)

x86_64
Gonk (Firefox OS)
defect
Not set
normal

Tracking

(b2g-v2.2 fixed, b2g-master fixed)

RESOLVED FIXED
2.2 S7 (6mar)
Tracking Status
b2g-v2.2 --- fixed
b2g-master --- fixed

People

(Reporter: cwiiis, Assigned: cwiiis)

References

Details

(Keywords: polish, Whiteboard: [systemsfe])

Attachments

(1 file)

I've often found that I plug my headphones in, start playing some music, adjust the volume to something comfortable and lock the phone, then a random amount of time (from a few seconds to minutes), the volume is suddenly reduced. Unlocking the phone, I see the volume warning dialog.

This is just incredibly irritating, especially when I have the phone plugged in in my car. The toast should appear when I'm adjusting the audio if it's going to appear, and secondarily, I'd appreciate some way to turn it off.

n?Patryk to clarify what the behaviour is meant to be.
Flags: needinfo?(padamczyk)
What it is doing is definitely wrong. First of all I am not even sure our volume warning is tied to decibel  amount, as every phone would have different values, I believe its tied to where you set the volume level. So looks what is happening is that it figures out your past the acceptable amount and lowers it.

I believe the correct behaviour should be.
You get a warning when you go beyond a certain volume value. When you confirm to dismiss the warning, it should save your preference. I think this should happen once system wide.

Adding Rob for a sanity check.
But I agree there seems to be a bug there mixed with some less than ideal user preference.
Flags: needinfo?(padamczyk) → needinfo?(rmacdonald)
Keywords: polish
Whiteboard: [systemsfe] polish → [systemsfe]
The warning is based on an EU standard that limits initial volume to 85 decibels. The user can override this with the dialog to increase the limit to 100 decibels. 

According to the standard, if dismissed, a warning must re-appear every 20 hours of listening time. My understanding is the second warning does not necessarily have to restore the limit, but inform the user of the potential for hearing damage. But this should be confirmed.

Chris, do you recall how often you were seeing the message?
Flags: needinfo?(rmacdonald) → needinfo?(chrislord.net)
(In reply to Rob MacDonald [:robmac] from comment #2)
> The warning is based on an EU standard that limits initial volume to 85
> decibels. The user can override this with the dialog to increase the limit
> to 100 decibels. 
> 
> According to the standard, if dismissed, a warning must re-appear every 20
> hours of listening time. My understanding is the second warning does not
> necessarily have to restore the limit, but inform the user of the potential
> for hearing damage. But this should be confirmed.
> 
> Chris, do you recall how often you were seeing the message?

This is quite interesting, but having had it happen again the other day, for all intents and purposes, it may as well just be random. Because I switch between headphones and bluetooth audio a lot, I've no idea how long it takes to come on, and it comes on in awkward places too (like if I plug the phone into my car stereo using a jack cable).

I don't get this warning on any other device I use in the same way. If we must do the warning, perhaps we shouldn't adjust the audio? Perhaps it could even be a notification, rather than a full-screen dialog? It's very confusing when you're listening to music with your phone in your pocket and suddenly the volume goes really quiet for no reason.

As an aside, max volume on just about every b2g phone I've tried with headphones plugged in is absolutely nowhere near 85 decibels :/

n?robmac for a suggested solution (and sorry for taking so long to reply)
Flags: needinfo?(chrislord.net) → needinfo?(rmacdonald)
I'm echoing and summing the previous comments from UX as well as addressing all the fine points so bare with me.

1. What is this thing and do we need it?

As Rob points out, this warning is an EU standard. Please see this article summarizing with source info: http://www.actiononhearingloss.org.uk/your-hearing/tinnitus/eu-standards-for-personal-music-players.aspx

So unfortunately, this warning isn't optional. Some may argue that we should be smarter and only employ the warning in EU countries, but that is another discussion.

2. How is it supposed to work?

For the first time above the threshold, the warning should be displayed as soon as the volume goes above the threshold of 85 decibels. 

Subsequent warnings could appear random as they are shown after 20hours of listening time above the threshold. I'm not sure of all the nuances here though. 

I'm guessing we are using the headphone jack as a test to whether the warning should be displayed. If I pump up the volume [1] without headphones, I see no warning. Unfortunately I don't know of another way where we are going to be able to tell if the user is using actual headphones vs a stereo jack. Hence the warning while in your car.

Follow up questions for someone technical (i.e. not me):
- Is it 20hours of cumulative listening at high levels? Does the "clock" ever reset? The code would probably have these answers...but this may account for some of the "randomness" Chris is experiencing.

- I also don't know if bluetooth counts or not (think bluetooth headphones).

- Are we using the headphone jack to determine if a warning should be displayed?

- No where could I find anything about reducing the volume automatically in the standard. This seems like a potential bug. Can the code tell us if this is being done intentionally?

- What is the warning tied to? I have also gotten the warning when I could barely hear what I was listening to.

I think the next steps would be 1) to answer the above questions. Who is the person to ask for this help?

Once we have these answers, then I think we should do some testing to ensure what Chris is experiencing falls in with the intended behaviour.

Chris - what other devices are you using where you are not seeing this warning? Where they bought before 2013?
Flags: needinfo?(rmacdonald)
Assignee: nobody → chrislord.net
Status: NEW → ASSIGNED
Answering questions in-line:

(In reply to Tiffanie Shakespeare from comment #4)
> Follow up questions for someone technical (i.e. not me):
> - Is it 20hours of cumulative listening at high levels? Does the "clock"
> ever reset? The code would probably have these answers...but this may
> account for some of the "randomness" Chris is experiencing.

20 hours of cumulative listening at high volume via the headphone jack. The clock doesn't get reset, the value is even saved across reboots (this is kinda neat :)).

> - I also don't know if bluetooth counts or not (think bluetooth headphones).

Bluetooth doesn't count, thankfully, or this would have driven me mad already.

> - Are we using the headphone jack to determine if a warning should be
> displayed?

Yes, we are.

> - No where could I find anything about reducing the volume automatically in
> the standard. This seems like a potential bug. Can the code tell us if this
> is being done intentionally?

This is being done intentionally - the pull request I've opened stops this and I think that would be an adequate fix.

> - What is the warning tied to? I have also gotten the warning when I could
> barely hear what I was listening to.

The warning is tied to the volume setting and not necessarily the actual output volume. As we have a long-standing bug that makes all headphone output really quiet, people are quite likely to encounter this if they're using headphones.

> I think the next steps would be 1) to answer the above questions. Who is the
> person to ask for this help?

The code is well-written and easily understood, I've opened a pull-request to perform the above fix and Alive looks like the right person to review it.

> Once we have these answers, then I think we should do some testing to ensure
> what Chris is experiencing falls in with the intended behaviour.
> 
> Chris - what other devices are you using where you are not seeing this
> warning? Where they bought before 2013?

Previous to switching to FxOS, I was using a whole host of Android devices (mainly a Nexus 5 and a Razr i though) - I may have seen this warning once or twice (though I can't recall in recent years). I don't think Android resets the volume when doing the warning, which would account for me forgetting if I ever saw the warning. Perhaps Android resets the counter when switching audio sources or when the volume decreases?

If we wanted to actually provide the option to change the volume, perhaps we could do this as a notification - press the notification to change the volume, swipe it away to ignore?

Either way, just disabling the volume change is enough to begin with, let's get that in while there's still time.

n?tiffanie for the ok on just disabling the volume change and feedback on what we might want to do long-term.
Flags: needinfo?(tshakespeare)
Attachment #8567001 - Flags: review?(alive)
Comment on attachment 8567001 [details] [review]
[gaia] Cwiiis:bug1112586-volume-warning > mozilla-b2g:master

Moving review to Kevin because of Chinese new year.
Attachment #8567001 - Flags: review?(alive) → review?(kgrandon)
ok - Chris, go ahead and nix the auto adjustment of the volume. I couldn't find anything that said this is a requirement.

If possible, I'd like this to be tied to the decibels and not the volume meter. As Chris and I both pointed out, this warning is coming up when the volume is clearly not 85 decibels. If that isn't possible, could we have a more even volume across the device? We're probably getting into a new bug territory?

Thanks Chris!
Flags: needinfo?(tshakespeare)
Just looking into this a bit I found bug 855792 comment 11 which seems that this comes from an android spec. I think the implementation in the patch might be wrong if we don't lower the volume if the user does not explicitly take action. (Item 2 here: http://www.actiononhearingloss.org.uk/your-hearing/tinnitus/eu-standards-for-personal-music-players.aspx)
See Also: → 855792
Comment on attachment 8567001 [details] [review]
[gaia] Cwiiis:bug1112586-volume-warning > mozilla-b2g:master

This code looks fine to me, though I am not sure if the implementation is to spec.
Attachment #8567001 - Flags: review?(kgrandon) → review+
(In reply to Kevin Grandon :kgrandon from comment #9)
> Just looking into this a bit I found bug 855792 comment 11 which seems that
> this comes from an android spec. I think the implementation in the patch
> might be wrong if we don't lower the volume if the user does not explicitly
> take action. (Item 2 here:
> http://www.actiononhearingloss.org.uk/your-hearing/tinnitus/eu-standards-for-
> personal-music-players.aspx)

Re-pasting here, in case I've missed something:


1. Personal music players, including mobile phones, should have a sound limit of 85 dB. Mobile phones which can play music through headphones or earphones are also considered as personal music players.
2. The user can choose to override the limit so that the sound level can be increased up to maximum 100 dB.
3. If the user overrides the limit, warnings about the risks must be repeated every 20 hours of listening time.

It doesn't specify anything about limiting or reducing the volume automatically, just that we need to warn when exceeding that 85dB, and we need to re-warn every 20 hours. I believe this patch provides that behaviour and UX seems to agree with that interpretation, so I'm going to go ahead with this (it's also an especially annoying personal bug-bear...)
Keywords: checkin-needed
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Comment on attachment 8567001 [details] [review]
[gaia] Cwiiis:bug1112586-volume-warning > mozilla-b2g:master

[Approval Request Comment]
[Bug caused by] (feature/regressing bug #):
[User impact] if declined: Incredibly annoying and confusing behaviour where it lowers the volume, seemingly at random.
[Testing completed]: Manual testing and covered by automated testing.
[Risk to taking this patch] (and alternatives if risky): Low
[String changes made]: None
Attachment #8567001 - Flags: approval-gaia-v2.2?
Attachment #8567001 - Flags: approval-gaia-v2.2? → approval-gaia-v2.2+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: