Closed Bug 1080357 Opened 9 years ago Closed 9 years ago

IME switching menu showing wrong current keyboard


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

Gonk (Firefox OS)
Not set


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

blocking-b2g 2.2+
Tracking Status
b2g-v2.2 --- verified


(Reporter: mnjul, Assigned: janjongboom)



(Keywords: regression)


(1 file)

46 bytes, text/x-github-pull-request
: review+
Details | Review
1. Enable a few keyboards, such as English, French, Spanish, Polish
2. Open an app and focus a textbox to bring p the keyboard. Suppose you're then at English keyboard
3. Switch to some other keyboard, say Spanish
4a. Pull down utility tray, click the IME switcher entry ("Built-in Keyboard: Español, Tap to switch input method") to bring up the IME switching menu, OR
4b. Long press the short label of the keyboard layout to bring up the IME switching menu

Actual results:
At step 4a or 4b, the IME switching menu indicates that English is the current keyboard, which is wrong.

Expected results:
At step 4a or 4b, the IME switching menu indicates the current keyboard correctly as Español.

Note: the IME switcher in the utility tray itself shows the current keyboard correctly. It's the menu that it launches that's wrong.
Reverting bug 1048228 seems to fix the issue. Jan, could you take a look? Thanks!
Blocks: 1048228
blocking-b2g: --- → 2.2?
Flags: needinfo?(janjongboom)
Keywords: regression
Assignee: nobody → janjongboom
Flags: needinfo?(janjongboom)
Attached file Patch
The problem here is that we save all settings in keyboard_helper whenever someone changes the current layout. This triggers settings listeners for layouts (for when you add new layout through Settings app), which resets the activeLayout to 0 for all groups (in input_layouts.js). The ImeMenu looks at that, sees 0 and selects English from there. This patch only updates the activelayout setting to get around that.
Attachment #8502434 - Flags: review?(timdream)
Comment on attachment 8502434 [details] [review]

Looking at this patch alone I wonder if we need to add some tests on this part.
Attachment #8502434 - Flags: review?(timdream) → review+
It would need an integration test I think. Unit testing these event wired things is a pita.

Try is green
Closed: 9 years ago
Resolution: --- → FIXED
set in‑testsuite? to indicate we would need an integration test to cover this.
Flags: in-testsuite?
Brogan, please verify that this issue is fixed.
Flags: needinfo?(bzumwalt)
Keywords: verifyme
Issue verified fixed on Flame 2.2

Actual results: IME switching menus display active keyboard language correctly

Device: Flame 2.2 Master (319mb)(Kitkat Base)(Full Flash)
BuildID: 20141024040202
Gaia: d893a9b971a0f3ee48e5a57dca516837d92cf52b
Gecko: a5ee2769eb27
Gonk: 05aa7b98d3f891b334031dc710d48d0d6b82ec1d
Version: 36.0a1 (2.2 Master)
Firmware: V188
User Agent: Mozilla/5.0 (Mobile; rv:36.0) Gecko/36.0 Firefox/36.0
QA Whiteboard: [QAnalyst-Triage?]
Flags: needinfo?(bzumwalt) → needinfo?(ktucker)
Keywords: verifyme
QA Whiteboard: [QAnalyst-Triage?] → [QAnalyst-Triage+]
Flags: needinfo?(ktucker)
Blocking 2.2+ for all fixed regressions.
blocking-b2g: 2.2? → 2.2+
You need to log in before you can comment on or make changes to this bug.