New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 708259 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Oct 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 3
Type: Bug



Sign in to add a comment

Stuttery animation for Android Omnibox

Project Member Reported by emilyschechter@chromium.org, Apr 4 2017

Issue description

The animation when unfocusing the omnibox on Android seems stuttery.
I think it's because of the many pauses and unnecessary steps. We first hide the black overlay, then add the numbers row to the keyboard, then dismiss the keyboard and show the full NTP (see attached)

Screen recording-
 https://recall.googleplex.com/projects/5727389891952640/sessions/fec8b909ebbb4a3aaa48157ed9296125

Thanks Max for catching!
 
Omnibox Keyboard.png
645 KB View Download

Comment 1 by k...@chromium.org, Apr 5 2017

Hmm.. I remember talking about the two-phase of hiding the overlay and then hiding the keyboard being the best option for various reasons though Ted can fill in more.

The number row being added is indeed weird. Any ideas Ted? (For reference, AGSA does the two-phased approach as well but they don't show the number row)
Thanks for looking into this! The keyboard isn't directly described in the Material Chrome Motion specs, however this preview hides it without any delays:
https://mano1.googleplex.com/proto_framework/clank/2/index.html#omnibox.
It has been two step for a very long time because the keyboard hiding and showing was introducing a ton of jank when we first did this (and I suspect hasn't really changed much either).

The number row appearing is probably just some weird interaction with our special handling of the textview and the keyboard.  We could look into why that is happening and try to prevent that.
Components: UI>Browser>Omnibox
Labels: Hotlist-Polish
Cc: changwan@chromium.org
changwan@, is this a duplicate of the more recently filed and recently fixed  bug 726442 ?

Re #5,  bug 726442  was fixed in a way that it only affects Chrome Home because we were afraid of introducing animation jankiness because we would be running two animations at the same time:
1) keyboard hiding animation
2) omnibox loses focus and goes back into NTP.

Come to think about it, according to https://bugs.chromium.org/p/chromium/issues/detail?id=726442#c10, the FPS drop was 1.6 for Chrome Home case. I expect a similar FPS drop in this case, which is likely tolerable.

Ted, would it make sense to remove the (mBottomSheet != null) check in my previous patch and hide keyboard for this case as well?

ping tedchoc@ per comment #6
I think it is fine to remove that check.  We should likely just look at ways of doing less work within Chrome during that animation to allow both things to happen in parallel without introducing jank.
Owner: changwan@chromium.org
Status: Assigned (was: Untriaged)
Project Member

Comment 10 by bugdroid1@chromium.org, Oct 19 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6d7a0cac69718f5b538cb61d1077c175c6b5207d

commit 6d7a0cac69718f5b538cb61d1077c175c6b5207d
Author: Changwan Ryu <changwan@chromium.org>
Date: Thu Oct 19 17:58:20 2017

Hide keyboard when omnibox loses focus

This extends what we did for ChromeHome at
https://chromium-review.googlesource.com/520712: when moving focus from
an EditText to non-editable placeholder does not automatically hide
keyboard, but restart input with TYPE_NULL, which results in a visual
glitch such as flickering of number panel on keyboard app. This can be
prevented by hiding soft input ourselves.

BUG= 708259 

Change-Id: I05d3714202381e42af04b3fa4ed1bf4452908beb
Reviewed-on: https://chromium-review.googlesource.com/728389
Reviewed-by: Ted Choc <tedchoc@chromium.org>
Commit-Queue: Changwan Ryu <changwan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#510134}
[modify] https://crrev.com/6d7a0cac69718f5b538cb61d1077c175c6b5207d/chrome/android/java/src/org/chromium/chrome/browser/omnibox/LocationBarLayout.java

Labels: Merge-Request-63
requesting merge of #10 into m63
Project Member

Comment 12 by sheriffbot@chromium.org, Oct 20 2017

Labels: -Merge-Request-63 Hotlist-Merge-Approved Merge-Approved-63
Your change meets the bar and is auto-approved for M63. Please go ahead and merge the CL to branch 3239 manually. Please contact milestone owner if you have questions.
Owners: cmasso@(Android), cmasso@(iOS), gkihumba@(ChromeOS), govind@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Project Member

Comment 13 by bugdroid1@chromium.org, Oct 21 2017

Labels: -merge-approved-63 merge-merged-3239
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/fc47d6e2ab66c22ce8636ac8eabaadcac8818c17

commit fc47d6e2ab66c22ce8636ac8eabaadcac8818c17
Author: Changwan Ryu <changwan@chromium.org>
Date: Sat Oct 21 18:36:26 2017

Hide keyboard when omnibox loses focus

This extends what we did for ChromeHome at
https://chromium-review.googlesource.com/520712: when moving focus from
an EditText to non-editable placeholder does not automatically hide
keyboard, but restart input with TYPE_NULL, which results in a visual
glitch such as flickering of number panel on keyboard app. This can be
prevented by hiding soft input ourselves.

BUG= 708259 

Change-Id: I05d3714202381e42af04b3fa4ed1bf4452908beb
Reviewed-on: https://chromium-review.googlesource.com/728389
Reviewed-by: Ted Choc <tedchoc@chromium.org>
Commit-Queue: Changwan Ryu <changwan@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#510134}(cherry picked from commit 6d7a0cac69718f5b538cb61d1077c175c6b5207d)
Reviewed-on: https://chromium-review.googlesource.com/732445
Reviewed-by: Changwan Ryu <changwan@chromium.org>
Cr-Commit-Position: refs/branch-heads/3239@{#137}
Cr-Branched-From: adb61db19020ed8ecee5e91b1a0ea4c924ae2988-refs/heads/master@{#508578}
[modify] https://crrev.com/fc47d6e2ab66c22ce8636ac8eabaadcac8818c17/chrome/android/java/src/org/chromium/chrome/browser/omnibox/LocationBarLayout.java

Status: Fixed (was: Assigned)

Sign in to add a comment