Closed Bug 998111 Opened 10 years ago Closed 10 years ago

[NFC] Shrinking UI on Nfc Gaia app (that registered for 'peerfound') remains tilted sometimes when performing peer discovery and peer lost between two NFC devices

Categories

(Firefox OS Graveyard :: NFC, defect)

x86_64
Linux
defect
Not set
normal

Tracking

(blocking-b2g:2.0+, b2g-v2.0 fixed)

RESOLVED FIXED
2.0 S1 (9may)
blocking-b2g 2.0+
Tracking Status
b2g-v2.0 --- fixed

People

(Reporter: dgarnerlee, Assigned: psiddh)

References

Details

Attachments

(1 file, 1 obsolete file)

Per bug comment: https://bugzilla.mozilla.org/show_bug.cgi?id=959059#c20

Split possible remaining ShrinkUI timing bug into separate bug for investigation.

What happens:
The P2P UI can glitch if two NFC devices are placed very near, and rapidly brought together and removed. Done fast enough, the visible animation end states be in some odd intermediate transition state.

If the patch in Bug 959059 lands, the UI still seems to have an animation cancel timing bug that is greatly reduced if the animation transition time is set to some very small human fast time like 0.001s.

Expected:
UI matches the physical reality: It dismisses itself.
And possibly, no redraw flicker, and maybe a real time update on the tilted screen snapshot (This may be unrelated, or out of scope for the UX spec).
I wonder if we could prevent this situation in Gecko/Deamon? It seems not a good way to let Gaia to handle this kind of bulk event changing?
blocking-b2g: --- → 2.0+
Blocks: 894678
Sid, I wonder if you can handle this on NFC manager. Or where do you prefer to filter bulk events?
Flags: needinfo?(psiddh)
Requesting Greg to provide feedback.
I tested this patch against race conditions that used to occur earlier. This patch seems to be fixing all race conditions surrounding shrinkingUI
Attachment #8410704 - Flags: feedback?(gweng)
Flags: needinfo?(psiddh)
Reason for race condition:-
I think, the 'shrinking state' (setState) in start() is done in the callback.
http://lxr.mozilla.org/gaia/source/apps/system/js/shrinking_ui.js#215

Before this callback gets fired, there is a chance that stop could be called, resulting in such issues.

Fix:-
Set the state to true when 'start()' itself is called.

It looks like we can close couple of similar bugs (Bug#996515, Bug#959059) with this fix, unless I am missing something here.

Greg, if you are ok with this patch I will create a pull req by tomorrow.
If not, we may also use an enum of states ('init', 'started' , 'stopped') and check against these states in the code instead of boolean flag. Just my two cents.
It's OK to me if you can submit a patch. We can discuss it on GitHub.

And thanks for the investigation and fixing.
Assignee: nobody → psiddh
Attachment #8410704 - Attachment is obsolete: true
Status: NEW → ASSIGNED
Attachment #8410704 - Flags: feedback?(gweng)
Attachment #8411245 - Flags: review?(gweng)
All green - Travis
Sidd, can you discuss with Garner for Bug 959059 and this bug?
These two bugs have almost the same title, 
but trying to fix different problem.

Also to my opinion, it seems your patch is the right one to fix the problem reported in Bug 959059.
Comment on attachment 8411245 [details] [review]
Fix race condition while starting & stopping tilted UI

r+: Passed tests and seems OK to correct the race condition.
Attachment #8411245 - Flags: review?(gweng) → review+
Summary: [NFC] Shrinking UI in Gaia is always shrunk even if devices are not paired → [NFC] Shrinking UI on Nfc Gaia app (that registered for 'peerfound') remains tilted sometimes when performing peer discovery and peer lost between two NFC devices
Yoshi, Greg : I have updated the title to reflect the fix. If you both are ok with it, I will go ahead and do 'checkin-needed'. We can continue to discuss Bug 959059 in its entry.
Blocks: 961687
I am okay with it.

https://github.com/mozilla-b2g/gaia/commit/24dde6be66779874d1445c266770f0beee190943
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → 2.0 S1 (9may)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: