Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
Pass Android Q insets.systemGestureInsets to Window #10413
This passes Android Q's
Edit: Since unit testing for Android Q involves a lot of unknowns and issues (see flutter/flutter#38471), we're going to add tests as a follow up to this PR once a solution is found
chinmaygarde left a comment
Have a few queries that would be great to have clarified in docstrings:
How do the view and gesture insets interact? Does it matter if the system puts gestures recognizers vs window decorations in that area? Not sure it does. An argument could be made that the Flutter application author should not put interactive controls in the gesture insets but is safe to do so within view insets. But the view insets have been shown to be accommodations for status bars and such (which are gesture sensitive). If there is no difference, then the gesture insets could be specified in the current view insets.
The main reason they're kept separate is that I feel that the view and gesture insets feel like orthogonal use cases.
For example, there will be system gesture insets on the vertical edges of the screen. App developers may want to paint window decorations on there. However, for widgets with gesture detectors, they may want to simply avoid the system gesture recognizer using the gesture inset.
Android Q also provides an API to override some of their system gesture insets if they needed to do so (I haven't gotten around to exposing this API yet). In this case, if both system view and system gesture insets are added together, it's inconvenient for the app developer if they'd like to add a decoration/gesture detector in the area where the system gesture was removed, since they can no longer distinguish between system view insets and system gesture insets.
After discussion on the state of Robolectric unit testing with Android Q, we've decided to proceed with landing this PR without tests with the intent of adding them once support for Android Q Robolectric testing has been fixed.
I've created a separate issue (flutter/flutter#38626) to track introducing these tests once Robolectric has been upgraded to properly test Android Q.
The PR should be ready for additional review.
email@example.com:flutter/engine.git/compare/e5f9132b347c...4d5c38e215e9 git log e5f9132b347c..4d5c38e215e9 --no-merges --oneline 2019-08-16 firstname.lastname@example.org Roll src/third_party/dart a3b579d5c3..2a3b844b41 (5 commits) (flutter/engine#11060) 2019-08-16 email@example.com Roll src/third_party/skia df54f37a5dc1..237a95fe7b28 (2 commits) (flutter/engine#11058) 2019-08-16 firstname.lastname@example.org Roll buildroot to 5a33d6ab to pickup changes to toolchain version tracking. (flutter/engine#11061) 2019-08-16 email@example.com Sort the Skia typefaces in a font style set into a consistent order (flutter/engine#11056) 2019-08-16 firstname.lastname@example.org Add ccls config files to .gitignore (flutter/engine#11046) 2019-08-16 email@example.com Pass Android Q insets.systemGestureInsets to Window (flutter/engine#10413) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (firstname.lastname@example.org), and stop the roller if necessary.