New issue
Advanced search Search tips

Issue 640426 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Oct 2016
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Bug



Sign in to add a comment

[Remoting Android] Toolbar doesn't go away when Pixel C's keyboard is connected

Project Member Reported by yuweih@chromium.org, Aug 24 2016

Issue description

Version: ToT Android Client
OS: 7.0 NRD90R

What steps will reproduce the problem?
(1) Connect to a remote desktop with the keyboard connected to Pixel C.
(2) Slide down on the edge to show the toolbar.
(3) Touch the keyboard button on the toolbar.

What is the expected output?

Toolbar hides once it loses focus.

What do you see instead?

No soft keyboard shows up (expected).

Toolbar doesn't go away when it loses focus. The only way to hide it is to press the "..." key to invoke the soft keyboard and touch the go back button to hide it. The toolbar goes away once the soft keyboard goes away.

Also the "..." key will never work if you don't touch the keyboard button on the toolbar at the first place.
 

Comment 1 by dah...@chromium.org, Aug 25 2016

Owner: yuweih@chromium.org
Status: Assigned (was: Untriaged)
There are three options here:
1. The soft keyboard shows up (which would still be fine given that the user clicked on the icon) and then everything behaves as if there were no physical keyboard
2. We hide the keyboard icon when a physical keyboard is present
3. The button is a no-op and the toolbar goes away at the timeout (least preferable).

Any of these are preferable to the current state.

Comment 2 by yuweih@chromium.org, Aug 30 2016

Looks like this issue is slightly more complex than I thought. There are two different states when using the external keyboard:

Direct input:
* Key presses will be directly handled and sent to the host.
* The only state that key combinations can be sent to the host.
* "..." will be sent as the right Alt key.

Input method:
* Key presses will be handled by an input method before being sent to the host.
* The only state that the user can choose input method.
* "..." brings up a window for typing additional characters like "{" and "[".

These two states have very different functionalities and we probably shouldn't support only one of them.

By default the keyboard is in direct input state and touching the keyboard button will switch it into input method state. Maybe we can fix the toolbar visibility bug first and show up a toast message telling the user what state they are in?

Comment 3 by yuweih@chromium.org, Aug 30 2016

I'm probably wrong about the key combination thing. Looks like key combinations will still work in input method mode, but pressing only the Alt key will bring up the emoji keyboard.

Maybe just make the toolbar go away at the timeout (like #3 but it's not really a no-op) in this bug and later figure out how we should deal with the external keyboard in  bug 585558 ?
Project Member

Comment 4 by bugdroid1@chromium.org, Oct 6 2016

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

commit f0925da1a559aa0d3d7e02423ad22e45a626f0fb
Author: yuweih <yuweih@chromium.org>
Date: Thu Oct 06 02:24:45 2016

[Remoting Android] Hide soft keyboard button when physical keyboard is connected

Currently the soft keyboard button on the desktop actionbar is visible when a
physical keyboard is present, in which case the button has unexpected behavior:

* Soft keyboard doesn't show up since physical keyboard is present.
* Actionbar and status bar won't go away since triggering the IME blocks
  requests to hide the status bar but won't show any soft keyboard.

Neither can be easily fixed due to limitation of available API. So this CL
hides the soft keyboard button when a physical keyboard is present to prevent
unexpected behaviors.

BUG= 640426 

Review-Url: https://codereview.chromium.org/2391993004
Cr-Commit-Position: refs/heads/master@{#423401}

[modify] https://crrev.com/f0925da1a559aa0d3d7e02423ad22e45a626f0fb/remoting/android/java/src/org/chromium/chromoting/Desktop.java
[modify] https://crrev.com/f0925da1a559aa0d3d7e02423ad22e45a626f0fb/remoting/android/java/src/org/chromium/chromoting/DesktopView.java
[modify] https://crrev.com/f0925da1a559aa0d3d7e02423ad22e45a626f0fb/remoting/android/java/src/org/chromium/chromoting/TouchInputHandler.java

Status: Fixed (was: Assigned)
Hiding the show keyboard button and disabling the show keyboard gesture is the best we can get now due to the limitation of available API.

Comment 6 by yuweih@chromium.org, Oct 19 2016

Labels: M-55
Project Member

Comment 7 by bugdroid1@chromium.org, Oct 27 2016

Labels: merge-merged-2840
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f0925da1a559aa0d3d7e02423ad22e45a626f0fb

commit f0925da1a559aa0d3d7e02423ad22e45a626f0fb
Author: yuweih <yuweih@chromium.org>
Date: Thu Oct 06 02:24:45 2016

[Remoting Android] Hide soft keyboard button when physical keyboard is connected

Currently the soft keyboard button on the desktop actionbar is visible when a
physical keyboard is present, in which case the button has unexpected behavior:

* Soft keyboard doesn't show up since physical keyboard is present.
* Actionbar and status bar won't go away since triggering the IME blocks
  requests to hide the status bar but won't show any soft keyboard.

Neither can be easily fixed due to limitation of available API. So this CL
hides the soft keyboard button when a physical keyboard is present to prevent
unexpected behaviors.

BUG= 640426 

Review-Url: https://codereview.chromium.org/2391993004
Cr-Commit-Position: refs/heads/master@{#423401}

[modify] https://crrev.com/f0925da1a559aa0d3d7e02423ad22e45a626f0fb/remoting/android/java/src/org/chromium/chromoting/Desktop.java
[modify] https://crrev.com/f0925da1a559aa0d3d7e02423ad22e45a626f0fb/remoting/android/java/src/org/chromium/chromoting/DesktopView.java
[modify] https://crrev.com/f0925da1a559aa0d3d7e02423ad22e45a626f0fb/remoting/android/java/src/org/chromium/chromoting/TouchInputHandler.java

Comment 8 by dimu@google.com, Nov 4 2016

Labels: -merge-merged-2840
[Automated comment] removing mislabelled merge-merged-2840

Sign in to add a comment