[Android] Allow user to scroll the content under the top System UI into view |
|||||||||
Issue descriptionWith the changes to the System UI visibility, we should investigate allowing the user to scroll the content beneath the top System UI into view. This mirrors the functionality already implemented for the content beneath the soft keyboard.
,
Jun 22 2016
BTW, beside the case we discussed (when the keyboard is shown) this also affects split-screen mode on Android N. In split-screen mode the system UI is always visible, so it always obscures the content. So I think this should be P2.
,
Jun 22 2016
I think the split-screen concern should be considered separately. My goal for this bug is to ensure the experience is solid for released versions of Android and want to make sure this change goes in before we snap for the next client release. I'd rather approach new N functionality from a design instead of bugfix standpoint, especially is the System UI is always present regardless of KB state, that sounds like a different solution may be needed. P2 is correct either way as I am planning on getting this in for M53.
,
Jun 30 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/cc96f13a7997a739acfc693e33f1247362dea4cd commit cc96f13a7997a739acfc693e33f1247362dea4cd Author: joedow <joedow@chromium.org> Date: Thu Jun 30 19:40:22 2016 Updating SystemUI visibility events in Android Client. This change is the basis for an upcoming change which will allow the user to scroll the remote desktop canvas out from under System UI which would otherwise obscure it. This change has two main pieces: 1.) I change the 'soft input mode visible' event into a more generic System UI visible event. This event will now be used to inform interested listeners what the offsets are for the LTRB sides of the screen so the underlying UI can react accordingly. 2.) This change moves some viewport calculation code into the DesktopCanvas class. The DesktopCanvas class is aware of the SystemUI offsets and also handles positioning the canvas so this felt like the right place to add in the UI ratcheting code later on. BUG= 621633 Review-Url: https://codereview.chromium.org/2105843002 Cr-Commit-Position: refs/heads/master@{#403253} [modify] https://crrev.com/cc96f13a7997a739acfc693e33f1247362dea4cd/remoting/android/client_java_tmpl.gni [modify] https://crrev.com/cc96f13a7997a739acfc693e33f1247362dea4cd/remoting/android/java/src/org/chromium/chromoting/Desktop.java [modify] https://crrev.com/cc96f13a7997a739acfc693e33f1247362dea4cd/remoting/android/java/src/org/chromium/chromoting/DesktopCanvas.java [delete] https://crrev.com/c804b74f6c3af31b74fbf652c38e8d5c61655b91/remoting/android/java/src/org/chromium/chromoting/SoftInputMethodVisibilityChangedEventParameter.java [add] https://crrev.com/cc96f13a7997a739acfc693e33f1247362dea4cd/remoting/android/java/src/org/chromium/chromoting/SystemUiVisibilityChangedEventParameter.java [modify] https://crrev.com/cc96f13a7997a739acfc693e33f1247362dea4cd/remoting/android/java/src/org/chromium/chromoting/TouchInputHandler.java
,
Jul 4 2016
Moving this nonessential bug to the next milestone. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Jul 12 2016
,
Aug 23 2016
,
Sep 26 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/6f267f635b978d7f4fe4899c302c2126978dc102 commit 6f267f635b978d7f4fe4899c302c2126978dc102 Author: joedow <joedow@chromium.org> Date: Mon Sep 26 18:47:36 2016 Change Viewport calculations to use screen size without System UI This change updates code used to calculate the size of the viewport. In the past we would subtract the System UI edges from the viewport size which could cause odd problems when allowing the canvas to be moved out from under the System UI. BUG= 621633 Review-Url: https://codereview.chromium.org/2367423002 Cr-Commit-Position: refs/heads/master@{#420949} [modify] https://crrev.com/6f267f635b978d7f4fe4899c302c2126978dc102/remoting/android/java/src/org/chromium/chromoting/DesktopCanvas.java
,
Sep 26 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a4cb46ccf3108d8a2629df84bc081001fbd7d629 commit a4cb46ccf3108d8a2629df84bc081001fbd7d629 Author: joedow <joedow@chromium.org> Date: Mon Sep 26 18:56:27 2016 Updating the method called when System UI visibility/size changes This change updates the method used by the TouchInputHandler to inform the DesktopCanvas class of System UI state and size changes. BUG= 621633 Review-Url: https://codereview.chromium.org/2371803002 Cr-Commit-Position: refs/heads/master@{#420952} [modify] https://crrev.com/a4cb46ccf3108d8a2629df84bc081001fbd7d629/remoting/android/java/src/org/chromium/chromoting/DesktopCanvas.java [modify] https://crrev.com/a4cb46ccf3108d8a2629df84bc081001fbd7d629/remoting/android/java/src/org/chromium/chromoting/TouchInputHandler.java
,
Sep 28 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0eb9ad0afea07802c3c426001df2c5a0b1946e3d commit 0eb9ad0afea07802c3c426001df2c5a0b1946e3d Author: joedow <joedow@chromium.org> Date: Tue Sep 27 22:37:27 2016 Separating cursor and viewport calculations in the desktop canvas This change simplifies the code which handles positioning and determining where the center of the viewport on the DesktopActivity should be. There is a small benefit now, but it makes deaing with additional image padding much simpler (allowing the canvas to be pulled from underneath System UI elements) in a future CL. BUG= 621633 Review-Url: https://codereview.chromium.org/2372663002 Cr-Commit-Position: refs/heads/master@{#421365} [modify] https://crrev.com/0eb9ad0afea07802c3c426001df2c5a0b1946e3d/remoting/android/java/src/org/chromium/chromoting/DesktopCanvas.java [modify] https://crrev.com/0eb9ad0afea07802c3c426001df2c5a0b1946e3d/remoting/android/java/src/org/chromium/chromoting/TouchInputHandler.java
,
Oct 1 2016
It looks like now the keyboard just covers the bottom half of the desktop and there is no way to make it show up above the keyboard... Are you planning to solve this problem in a later CL?
,
Oct 1 2016
Yes, it will be addressed in the next two CLs: https://codereview.chromium.org/2375113003/ https://codereview.chromium.org/2378303002/
,
Oct 4 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b2fd3d47699032e7d52a4ac2317135e444bbea6f commit b2fd3d47699032e7d52a4ac2317135e444bbea6f Author: joedow <joedow@chromium.org> Date: Tue Oct 04 23:45:11 2016 Allow Desktop Canvas to be scrolled out from under System UI. This change adds the ability to scroll the desktop canvas out from under any visible System UI. When System UI is displayed (for Kitkat and higher) the TouchInputHandler instance is called with the state/sizes of the System UI per edge of the screen. These values are passed to the DesktopCanvas instance which uses them for determining whether the System UI overlaps with the remote image content. If there is overlap then it adjusts the region of valid cursor and viewport positions which then allows the user to pan the content out from 'under' the System UI which is obscuring it.allowable position of the viewport. When the System UI disappears (or changes size), the current amount of padding, if any, is used as the new boundary. This prevents a jarring translation from occuring when the System UI changes size. BUG= 621633 Review-Url: https://codereview.chromium.org/2375113003 Cr-Commit-Position: refs/heads/master@{#423004} [modify] https://crrev.com/b2fd3d47699032e7d52a4ac2317135e444bbea6f/remoting/android/java/src/org/chromium/chromoting/DesktopCanvas.java
,
Oct 5 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/03431887b157c8db6fb738abdae93c7463f4ba3b commit 03431887b157c8db6fb738abdae93c7463f4ba3b Author: joedow <joedow@chromium.org> Date: Wed Oct 05 19:28:16 2016 Adjust viewport center when in trackpad input mode. This change adjusts the center of the viewport when user is using trackpad mode. Without this change, large System UI (such as soft input methods) can obscure the cursor and prevent the user from entering text in edit controls near the bottom of the screen. This change addresses this by shifting the cursor position and viewport up by 50% of the total viewport size, ensuring it is placed near the mid-point of the viewable area. BUG= 621633 Review-Url: https://codereview.chromium.org/2378303002 Cr-Commit-Position: refs/heads/master@{#423251} [modify] https://crrev.com/03431887b157c8db6fb738abdae93c7463f4ba3b/remoting/android/java/src/org/chromium/chromoting/DesktopCanvas.java [modify] https://crrev.com/03431887b157c8db6fb738abdae93c7463f4ba3b/remoting/android/java/src/org/chromium/chromoting/TouchInputHandler.java
,
Oct 5 2016
User should now be able to pan desktop content out from under System UI using either touch or keyboard.
,
Oct 7 2016
Verified this works with a Lollipop device and a Marshmallow device, with and without split screen. However, one quirk, found in bug 653747 , which may be unavoidable.
,
Oct 27 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/03431887b157c8db6fb738abdae93c7463f4ba3b commit 03431887b157c8db6fb738abdae93c7463f4ba3b Author: joedow <joedow@chromium.org> Date: Wed Oct 05 19:28:16 2016 Adjust viewport center when in trackpad input mode. This change adjusts the center of the viewport when user is using trackpad mode. Without this change, large System UI (such as soft input methods) can obscure the cursor and prevent the user from entering text in edit controls near the bottom of the screen. This change addresses this by shifting the cursor position and viewport up by 50% of the total viewport size, ensuring it is placed near the mid-point of the viewable area. BUG= 621633 Review-Url: https://codereview.chromium.org/2378303002 Cr-Commit-Position: refs/heads/master@{#423251} [modify] https://crrev.com/03431887b157c8db6fb738abdae93c7463f4ba3b/remoting/android/java/src/org/chromium/chromoting/DesktopCanvas.java [modify] https://crrev.com/03431887b157c8db6fb738abdae93c7463f4ba3b/remoting/android/java/src/org/chromium/chromoting/TouchInputHandler.java
,
Nov 4 2016
[Automated comment] removing mislabelled merge-merged-2840 |
|||||||||
►
Sign in to add a comment |
|||||||||
Comment 1 by joedow@chromium.org
, Jun 21 2016