Closed Bug 1112574 Opened 5 years ago Closed 5 years ago

Edge-swiping to the current app while the keyboard is up results in half of the screen being blank

Categories

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

All
Gonk (Firefox OS)
defect
Not set

Tracking

(blocking-b2g:2.2+, b2g-v2.0 unaffected, b2g-v2.1 unaffected, b2g-v2.2 verified)

VERIFIED FIXED
2.2 S3 (9jan)
blocking-b2g 2.2+
Tracking Status
b2g-v2.0 --- unaffected
b2g-v2.1 --- unaffected
b2g-v2.2 --- verified

People

(Reporter: cwiiis, Assigned: etienne)

References

Details

(Keywords: regression, Whiteboard: polish [systemsfe])

Attachments

(2 files)

If launch two apps, focus a text entry in one (to bring the keyboard app), then begin edge swiping, but don't actually switch apps, the keyboard will disappear but the space that the keyboard occupied will remain blank (instead of the application resizing to fill the space).

Either the keyboard should remain and disappear on focusing the new app or the application should resize correctly when the keyboard disappears.

n?Patryk for UX comment on whether the keyboard should remain or not during edge-swiping.
Flags: needinfo?(padamczyk)
Francis would be best to comment on this as he owns the feature.
Flags: needinfo?(padamczyk) → needinfo?(fdjabri)
This looks like a regression to input mgmt -- we have the described behavior implemented back in v2.1 -- the keyboard should disappear and the app should resize correctly when you start the edge swipe.

qawanted for checking v2.1. Flagging v2.2 as affected per comment 0.

:mnjul, could you help here?
status-b2g-v2.1: --- → ?
Component: Gaia::System::Window Mgmt → Gaia::System::Input Mgmt
Flags: needinfo?(jlu)
Keywords: qawanted, regression
Whiteboard: [systemsfe] polish → polish
QA Contact: ddixon
Branch Check 

Issue DOES NOT occur in Flame 2.1, 2.0 (shallow flash, 319 MB memory, engineering). 

Actual Results: Edge swipping between apps functions correctly while keyboard is up. The app windows resize correctly when the keyboard collapses.  

Device: Flame 2.1
BuildID: 20141218131205
Gaia: 6af3d029bae3a14f400fec0926f0f8ad7b579b4b
Gecko: d41f6bd64343
Version: 34.0 (2.1) 
Firmware Version: v188-1
User Agent: Mozilla/5.0 (Mobile; rv:34.0) Gecko/34.0 Firefox/34.0
--------------------------------------------------
Device: Flame 2.0
BuildID: 20141218131305
Gaia: ce83ea7b8e3fa2d1c3fd771fc22b654c18b3c381
Gecko: f57067657bfa
Version: 32.0 (2.0) 
Firmware Version: v188-1
User Agent: Mozilla/5.0 (Mobile; rv:32.0) Gecko/32.0 Firefox/32.0
QA Whiteboard: [QAnalyst-Triage?]
Flags: needinfo?(jmercado)
Keywords: qawanted
Chris would you say this is the same as bug 1106651?
QA Whiteboard: [QAnalyst-Triage?] → [QAnalyst-Triage+]
Flags: needinfo?(jmercado)
Yeah I'll take a look. Keeping NI for reminding.
I tend to think this might be a WindowMgmt issue (or timing issue between WindowMgmt & InputMgmt).

I've added some ad-hoc console.log traces [1]; when this bug reproduces, I get the log trace as attached. Note that |keyboardhide| is correctly fired from InputMgmt, and AppWindowManager thinks that the active app is the Messages app -- both behaviors are correct. But the Messages app AppWindow thinks it's not active because it's still |will-become-inactive|, as in the log, AW.isActive checkpoints through 3 but not 4.

By simply commenting out the line on [2] this bug will no longer repro.

George, as offline discussed, could you take the bug from here and investigate further? Much appreciated :)

[1] https://github.com/mnjul/gaia/commit/f6ab892709b227270b3555b3738272487c1ecb7c . Note that AppWindow only emits the ad-hoc logs when it thinks it is the Messages app.

[2] https://github.com/mnjul/gaia/blob/f6ab892709b227270b3555b3738272487c1ecb7c/apps/system/js/app_window.js#L318
Flags: needinfo?(jlu) → needinfo?(gduan)
Thanks John, this information is very helpful. Take this bug.
Assignee: nobody → gduan
Flags: needinfo?(gduan)
2.2? for regression.
blocking-b2g: --- → 2.2?
Triage: regression, blocking.
blocking-b2g: 2.2? → 2.2+
After bisect, I found it's a regression of bug 1096704.
Component: Gaia::System::Input Mgmt → Gaia::System::Window Mgmt
Hi Etienne,
could you help on this bug?
bug 1096704 will check will-become-inactive className when querying app.isActive, which will cause previous app cannot be resized to normal size after StackManager try to call goPrev/goNext (_queueBroadcast -> queueHide -> add will-become-inactive className).
Flags: needinfo?(etienne)
Assignee: gduan → etienne
Flags: needinfo?(etienne)
(In reply to George Duan [:gduan] [:喬智] from comment #11)
> Hi Etienne,
> could you help on this bug?
> bug 1096704 will check will-become-inactive className when querying
> app.isActive, which will cause previous app cannot be resized to normal size
> after StackManager try to call goPrev/goNext (_queueBroadcast -> queueHide
> -> add will-become-inactive className).

Thanks for figuring this out! Working on a patch :)
Attached file Gaia PR
Flags: needinfo?(fdjabri)
Attachment #8540099 - Flags: review?(alive)
Comment on attachment 8540099 [details] [review]
Gaia PR

shouldResize() is a good start, r=me
Attachment #8540099 - Flags: review?(alive) → review+
Whiteboard: polish → polish [systemsfe]
https://github.com/mozilla-b2g/gaia/commit/ed2a43d0927f158d22dac0ac0baf994f9ac0d678
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → 2.2 S3 (9jan)
verified...

*2.2
Build ID               20150326164141
Gaia Revision          6d0174e28576f2f93e696a43d1ac3b03340117f6
Gaia Date              2015-03-26 21:47:33
Gecko Revision         https://hg.mozilla.org/releases/mozilla-b2g37_v2_2/rev/820c2f2e817a
Gecko Version          37.0
Device Name            flame
Firmware(Release)      4.4.2
Firmware(Incremental)  eng.cltbld.20150326.201153
Firmware Date          Thu Mar 26 20:12:05 EDT 2015
Bootloader             L1TC000118D0

*master
Build ID               20150326160206
Gaia Revision          525c341254e08f07f90da57a4d1cd5971a3cc668
Gaia Date              2015-03-26 16:34:16
Gecko Revision         https://hg.mozilla.org/mozilla-central/rev/59554288b4eb
Gecko Version          39.0a1
Device Name            flame
Firmware(Release)      4.4.2
Firmware(Incremental)  eng.cltbld.20150326.193247
Firmware Date          Thu Mar 26 19:32:58 EDT 2015
Bootloader             L1TC100118D0
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.