Last Comment Bug 740306 - Back button does not dismiss the keyboard in awesomebar
: Back button does not dismiss the keyboard in awesomebar
Product: Firefox for Android
Classification: Client Software
Component: General (show other bugs)
: Trunk
: ARM Android
-- normal (vote)
: Firefox 14
Assigned To: :Margaret Leibovic
: Sebastian Kaspari (:sebastian)
Depends on:
  Show dependency treegraph
Reported: 2012-03-29 04:48 PDT by Paul Feher
Modified: 2012-05-16 12:20 PDT (History)
10 users (show)
See Also:
Crash Signature:
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---

patch (2.62 KB, patch)
2012-03-30 16:32 PDT, :Margaret Leibovic
mark.finkle: review+
akeybl: approval‑mozilla‑aurora+
Details | Diff | Splinter Review

Description User image Paul Feher 2012-03-29 04:48:44 PDT
Nightly Fennec 14.0a1 (2012-03-28)
Device: Samsung Nexus S
OS: Android 2.3.6

Steps to reproduce:
1. Perform a sync operation 
2. Tap on the bookmark section on awesome
3. Select any folder
4. Tap on the URL bar for the keyboard to appear
5. Tap the back button

The keyboard is dismissed.

You move up a folder level in the bookmarks UI.
Comment 1 User image :Margaret Leibovic 2012-03-29 10:32:36 PDT
This is tricky, since code was added in bug 700951 to explicitly not dismiss the keyboard, but I guess this wasn't considered at that point since this bookmarks folder UI didn't exist then. It seems to me we want to make a special case for when the user explicitly brings up the keyboard, but I'm not sure how we can track that.
Comment 2 User image :Margaret Leibovic 2012-03-30 16:32:01 PDT
Created attachment 611078 [details] [diff] [review]

I tried using imm.isActive() to check if the keyboard was showing, but I found that it always returned true, which wasn't helpful. However, I found that hideSoftInputFromWindow returns a boolean to indicate whether or not it successfully hid the keyboard, so I decided to take advantage of that.

I also expanded this bug to cover cases where the user brings up the soft keyboard in the history tab. Since we're explicitly hiding the keyboard when the user selects the bookmarks/history tab, if it's showing in one of those tabs, the user must have brought it up, so I think it makes sense to make the back button hide it in that case.
Comment 3 User image Mark Finkle (:mfinkle) (use needinfo?) 2012-03-30 16:47:09 PDT
Comment on attachment 611078 [details] [diff] [review]

>     public boolean onBackPressed() {
>+        // If the soft keyboard is visible in the bookmarks or history tab, the user
>+        // must have explictly brought it up, so we should try hiding it instead of
>+        // exiting the activity or going up a bookmarks folder level.
>+        if (getCurrentTabTag().equals(BOOKMARKS_TAB) ||
>+                getCurrentTabTag().equals(HISTORY_TAB)){

Feel free to let this on a single line. I'd rather have that than the indenting.

>         // also return false if mBookmarksAdapter hasn't been initialized yet.
>         if (!getCurrentTabTag().equals(BOOKMARKS_TAB) ||
>                 mBookmarksAdapter == null)

Can you roll this up on a single line too?

Your logic makes sense to me. Let's see if this handles the current situation well enough.
Comment 5 User image Ed Morley [:emorley] 2012-03-31 19:26:44 PDT
Comment 6 User image :Margaret Leibovic 2012-04-02 08:11:42 PDT
Comment on attachment 611078 [details] [diff] [review]

[Approval Request Comment]
User impact if declined: Inconsistent back button behavior in the awesome screen
Testing completed (on m-c, etc.): Landed on m-c 3/31
Risk to taking this patch (and alternatives if risky): Low risk, mobile-only change
Comment 7 User image Alex Keybl [:akeybl] 2012-04-02 09:57:36 PDT
Comment on attachment 611078 [details] [diff] [review]

[Triage Comment]
Low risk, mobile-only Fennec fix. Approved for Aurora 13.
Comment 8 User image Paul Feher 2012-04-04 05:26:44 PDT
Verified/fixed on:
Nightly Fennec 14.0a1 (2012-04-04)
Device: HTC Desire
OS: Android 2.2.2
Comment 9 User image Mark Finkle (:mfinkle) (use needinfo?) 2012-04-04 10:05:05 PDT

Note You need to log in before you can comment on or make changes to this bug.