- 16 Oct, 2018 2 commits
-
-
Alexandre Ardhuin authored
* Future<void> main * Future<void>.delayed * prefer_void_to_Null * address review comments
-
Amir Hardon authored
Before this PR AndroidView's gestureRecognizers field was a list of gesture recognizers. This was problematic as when the widget was rebuilt with the same gesture recognizer instances we would try to re-join the recognizers to a gesture arena team and crash (as a OneSeqeunceGestureRecognizer team can only be set once). With this change, we instead take a set of factories. This allows AndroidView to create the gesture recognizers just before adding them to the team, and thus be sure that they are only added once to a team. The factories are identified by the type of the object they create, this allows AndroidView to know when it is given an equivalent set of gesture recognizer factories, and do nothing in that case.
-
- 01 Oct, 2018 1 commit
-
-
Alexandre Ardhuin authored
-
- 14 Sep, 2018 1 commit
-
-
Alexandre Ardhuin authored
-
- 12 Sep, 2018 1 commit
-
-
Alexandre Ardhuin authored
* enable lint unnecessary_new * fix tests * fix tests * fix tests
-
- 05 Sep, 2018 1 commit
-
-
Amir Hardon authored
-
- 31 Aug, 2018 1 commit
-
-
Amir Hardon authored
This was a bug, when e.g a LongPressGestureRecognizer was in the gesture arena, the android view gesture team may not yet win the arena when the last pointer was up. This change allows AndroidView to win the gesture even after all pointers are up.
-
- 28 Aug, 2018 2 commits
-
-
Amir Hardon authored
This re-lands commit c594696f. The original PR was breaking the integration test as while the gesture was active the AndroidView's parent widget got rebuilt which disposed the _AndroidViewGestureRecognizer and dropped pointer events from that point on. This change adds a unit test that reproduces the failure case, and fixes it by not rebuilding the _AndroidViewGestureRecognizer if the list of gesture recognizers did not change.
-
Michael Goderbauer authored
This reverts commit c594696f.
-
- 27 Aug, 2018 1 commit
-
-
amirh authored
Pointer events are dispatched to the Android view only if it won Flutter's gesture arena for the pointer. Specific gestures that should be dispatched to the android view can be specified with the gestureRecognizers parameter.
-
- 23 Aug, 2018 1 commit
-
-
amirh authored
Virtual displays must have a non zero size. This was causing a crash: https://github.com/flutter/flutter/issues/20456
-
- 08 Aug, 2018 1 commit
-
-
amirh authored
Resizing an AndroidView happens asynchronously (as it requires thread hopping from the ui thread to the platform thread). While waiting for the resize to complete the framework does exactly when the embedded view has been resized. This leads to pretty bad jank as the framework might paint the embedded view with a wrong size. We're working around this by freezing the texture frame while resizing until we are sure that the next frame has the new size. This is how it looks with the workaround: This is how it looks before and after the workaround: Before (janky) | After (less janky) :--------|---------: ![resize_before](https://user-images.githubusercontent.com/1024117/43669639-51bfd0ae-9739-11e8-8cbe-96e36f2460d2.gif) | ![resize_after](https://user-images.githubusercontent.com/1024117/43669647-62e885a6-9739-11e8-8aa4-beb74e979995.gif) This depends on flutter/engine#5938. Additionaly right now the engine completes the resize call immediately, a following PR will change it to complete after a frame with the new size is ready.
-
- 07 Aug, 2018 1 commit
-
-
Amir Hardon authored
This PR adds 2 features to RenderAndroidView and AndroidView: 1. Hit testing behavior Adds a `PlatformViewHitTestBehavior` which is similar to `HitTestBehavior` without the `deferToChild` option (as platform views don't have child render objects) and with a `transparent` option which prevents it from forwarding any events to the Android view. 2. MotionEvent recomposing logic FlutterView and the framework `converter.dart` are working together to transform each Android MotionEvent object into one or more `PointerEvent` objects. This PR adds the reverse logic (in _MotionEventDispatcher which is used by RenderAndroidView) which turns a stream of PointerEvent objects into MotionEvent objects. The correctness of the recomposing logic is tested in an integration test which will land in a separate PR (the unit test PR is pretty big, trying to keep as many bite-size PRs for reviewer's convenience)
-
- 20 Jul, 2018 1 commit
-
-
amirh authored
RenderAndroidView is responsible for sizing and displaying an embedded Android view. AndroidView is responsible for creating and disposing the Android view and is using RenderAndroidView to display it.
-