Closed Bug 806003 Opened 13 years ago Closed 12 years ago

[Settings] Awkward GPS state when Airplane Mode is tapped continuously in the Settings app

Categories

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

ARM
Gonk (Firefox OS)
defect

Tracking

(blocking-b2g:tef+, blocking-basecamp:-, b2g18+ fixed, b2g18-v1.0.0 wontfix, b2g18-v1.0.1 fixed)

VERIFIED FIXED
B2G C3 (12dec-1jan)
blocking-b2g tef+
blocking-basecamp -
Tracking Status
b2g18 + fixed
b2g18-v1.0.0 --- wontfix
b2g18-v1.0.1 --- fixed

People

(Reporter: gkw, Assigned: kgrandon)

References

Details

(Keywords: b2g-testdriver, unagi, Whiteboard: [BTG-559])

Attachments

(1 file, 2 obsolete files)

(credit goes to Nicolas B. Pierron for showing me this) 1. Go to Settings app. 2. Turn on GPS here. 3. Quickly tap the Airplane Mode continuously. The GPS will awkwardly move between activated and non-activated while this is happening. === My Git commit info currently shows: 2012-10-24 11:07:05 fcfa1857bed6596e992263206451c6814e4b2... (I see ellipsis at the end)
Hardware: x86 → ARM
(In reply to Gary Kwong [:gkw, :nth10sd] from comment #0) > (credit goes to Nicolas B. Pierron for showing me this) > > 1. Go to Settings app. > 2. Turn on GPS here. > 3. Quickly tap the Airplane Mode continuously. > > The GPS will awkwardly move between activated and non-activated while this > is happening. After all awkward switches, when the airplane mode is restored to its disable state, the GPS might not come back as expected. This one can also be reproduced with a fast double-tap.
blocking-basecamp: ? → +
Priority: -- → P3
Assignee: nobody → ehung
Component: Gaia → Gaia::Settings
We need a solution to prevent quickly taps on the settings related to devices, such as airplane more (infects wifi, GPS, data connection), bluetooth, wifi, data connection ... etc, because it may cause asynchronized states. I know some components such as bluetooth and wifi do ignore continuous setting changes in their initial period, so the problems are: 1. do we need to gray-out/disable the checkbox UI in this period? (need UX confirm) 2. a series of settings DB writing may fail, if we won't do (1), then we should prevent this kind of failure. (every switch writes settings DB now) Since I probably won't have time to deal with this problem now, un-assign myself first. If anyone is interested in taking this issue, feel free to assign me as your reviewer.
Flags: needinfo?(lco)
Assignee: ehung → nobody
I tool a look at this and have some ideas about how to disable switches briefly after change.
Assignee: nobody → kgrandon
Attached file Github pull request pointer (obsolete) —
This pull request adds a 500ms delay to the same switch control being activated. The delay is short enough that double tapping on a control will not cause it to toggle twice, and it still feels useable to me. Let me know what you think, I'm more than happy to investigate other solutions, but this seemed like the easiest to implement.
Attachment #687467 - Flags: review?(ehung)
Attached video Toggle button interaction (obsolete) —
The above video should demonstrate various interactions with the phone. Word of warning - I am not a movie producer :)
Mass Modify: All un-milestoned, unresolved blocking-basecamp+ bugs are being moved into the C3 milestone. Note that the target milestone does not mean that these bugs can't be resolved prior to 12/10, rather C2 bugs should be prioritized ahead of C3 bugs.
Target Milestone: --- → B2G C3 (12dec-1jan)
Comment on attachment 687467 [details] Github pull request pointer r=me, I'm afraid that this patch doesn't solve the problem. :-( See my comments on the PR of Github.
Attachment #687467 - Flags: review?(ehung) → review-
Working on a new fix for this here: https://github.com/KevinGrandon/gaia/compare/master...bug-806003 Still need to figure out the proper way to message between system and settings apps.
Attachment #687467 - Attachment is obsolete: true
Attachment #688083 - Attachment is obsolete: true
Attachment #690893 - Flags: review?(ehung)
Hi Evelyn! When do you expect to be able to review this patch?
Comment on attachment 690893 [details] Github pull request pointer v2 I really spent a lot of time on testing this patch, but I still find some special cases will break the rule. I tried to fix them all but they are not so trivial to resolve, may need platform dev's help. So I think it's good enough to merge this patch first, I will file another issue for the cases I found. Please take a look at my comments on the PR and do updates, I'll review it again if you're done. Thanks.
Attachment #690893 - Flags: review?(ehung)
(In reply to Dietrich Ayala (:dietrich) from comment #13) > Hi Evelyn! When do you expect to be able to review this patch? I was doing it but didn't comment here. Sorry, I should update here more frequently. :(
Driver retriage: Very uncommon user scenario and not easy to reproduce, not going to hold the whole release for this.
blocking-basecamp: + → -
tracking-b2g18: --- → +
Comment on attachment 690893 [details] Github pull request pointer v2 r=me
Attachment #690893 - Flags: review+
Comment on attachment 690893 [details] Github pull request pointer v2 NOTE: If blocking-basecamp+ is set, just land it for now. [Approval Request Comment] Bug caused by (feature/regressing bug #): User impact if declined: Testing completed: Risk to taking this patch (and alternatives if risky):
Attachment #690893 - Flags: approval-gaia-master?(21)
Flags: needinfo?(lco)
Comment on attachment 690893 [details] Github pull request pointer v2 Hi, Vivien asked me to process these approval requests. We feel that the risk to reward ratio is too high to land this bugfix for 1.0 given there are a large number of JavaScript changes to fix an edge case bug. We'd like to take this patch in a future version though.
Attachment #690893 - Flags: approval-gaia-master?(21) → approval-gaia-master-
Whiteboard: [LandMe]
This one has finally landed in master: https://github.com/mozilla-b2g/gaia/commit/9f96874ab1cb473f3768bae50cf2a280f30ff3f5 QAWANTED: As this fix is a fairly complicated one, I'm adding qawanted to help verify that everything is working fine with airplane mode in the settings app. Thanks!
Status: NEW → RESOLVED
Closed: 12 years ago
Keywords: qawanted
Resolution: --- → FIXED
Requesting this for v1.0.1
blocking-b2g: --- → shira?
(In reply to pgravel from comment #22) > Requesting this for v1.0.1 Why should this risky change block our v1.0.1 release? The STR do not feel like a common user scenario.
blocking-b2g: shira? → tef?
Alex, this is part of product stability and has been raised by our test teams as well.
Whiteboard: [LandMe] → [LandMe] [BTG-559]
Whiteboard: [LandMe] [BTG-559] → [BTG-559]
This issue will be fixed on v1.0.1 per comment 22 Build ID 20130214070203 Kernel: Dec 5 gecko: http://hg.mozilla.org/releases/mozilla-b2g18_v1_0_1/rev/d1288313218e Gaia: 6544fdb8dddc56f1aefe94482402488c89eeec49
blocking-b2g: tef? → tef+
Despite our strong disagreement here (and high likelihood for regression), this is considered a critical stop ship blocker for QC and we've therefore marked as tef+.
There was a white space merge conflict that needed to be resolved here. I've done that. v1-train: 964907cc08b987d5efe094302f20864e92d38a07 v1.0.1: 81cc50326cddeb19bc38adc944ab804252ff1a62
Attachment #690893 - Flags: approval-gaia-v1-
Playing around with the ones that landed on 1.0.1; it seems ok.
Keywords: qawanted
Forgot to place the build I verified with: Gecko http://hg.mozilla.org/releases/mozilla-b2g18_v1_0_1/rev/effe37a77f18 Gaia bb633c6f2deb829b2f3d5b9e7bac7fa24467d02a BuildID 20130221070203 Version 18.0 Unagi
Status: RESOLVED → VERIFIED
Hi kevin, I add some comment on your code. could you have a look? Thank you!
Flags: needinfo?(kgrandon)
Hi, thanks for the note. How did you notice it, was something broken? It appears that the code sets self.status, but isn't really used/referenced. Looks like it was simply performing logic whenever the setting is changed. This certainly could be cleaner though.
Flags: needinfo?(chenxk)
Fortunatey, everything is OK! IMO, line 148~164 will never be excuted because the parameter 'value' (as an event object) will always be true. I just want to know what I didn't take into consideration ? Thank you very much!
Flags: needinfo?(chenxk)
Flags: needinfo?(kgrandon)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: