280 Commits

Author SHA1 Message Date
Jason Simmons
c95fc6fd28 Set the initial route before launching the Dart app (flutter/engine#3795)
See https://github.com/flutter/flutter/issues/10813
2017-06-19 15:25:47 -07:00
Gary Qian
d9bc2f5604 Reland "Initial integration of libtxt with Flutter alongside Blink." (flutter/engine#3793)
* Transition to Hybrid lib/txt and blink text system.
2017-06-19 15:21:41 -07:00
Chris Bracken
ec07bed91f Revert "Update to newer version of the FTL. (#3786)" (flutter/engine#3792)
This reverts commit f757c49416d39e74c5c11bdbd9659aed362a8e32.
2017-06-19 15:02:52 -07:00
P.Y. Laligand
f757c49416 Update to newer version of the FTL. (flutter/engine#3786) 2017-06-19 12:48:23 -07:00
Ian McKellar
756341be6e Revert "Initial integration of libtxt with Flutter alongside Blink." (flutter/engine#3785)
* Revert "Enable line join styles and miter limit. (#3777)"

This reverts commit cafd4b93a06b6d327f1bc59e296bf2c618eb34e4.

* Revert "Revert "Update switches to use StringView." (#3784)"

This reverts commit 5ffa5ef3a6b2c8689c7d12cd67b6823ba25783a5.

* Revert "Initial integration of libtxt with Flutter alongside Blink. (#3771)"

This reverts commit b4a9f9c6d5008f677400826dfa3a0ab30de3db23.
2017-06-16 15:15:48 -07:00
P.Y. Laligand
5ffa5ef3a6 Revert "Update switches to use StringView." (flutter/engine#3784)
* Revert "Initial integration of libtxt with Flutter alongside Blink. (#3771)"

This reverts commit b4a9f9c6d5008f677400826dfa3a0ab30de3db23.

* Revert "Call Selection.removeSelection if the framework has cleared the selection (#3782)"

This reverts commit 2a34ee9a676b0049a18fc9e131ad1b311e1ea848.

* Revert "Update switches to use StringView. (#3781)"

This reverts commit 6adf58135e16dfb0ff04b00672abe6f0876c91b4.
2017-06-16 14:32:09 -07:00
Gary Qian
b4a9f9c6d5 Initial integration of libtxt with Flutter alongside Blink. (flutter/engine#3771) 2017-06-16 14:15:53 -07:00
Jason Simmons
2a34ee9a67 Call Selection.removeSelection if the framework has cleared the selection (flutter/engine#3782)
Fixes https://github.com/flutter/flutter/issues/10748
2017-06-16 14:01:45 -07:00
P.Y. Laligand
6adf58135e Update switches to use StringView. (flutter/engine#3781)
See https://fuchsia-review.googlesource.com/#/c/31931/.
2017-06-16 12:51:26 -07:00
Mikkel Nygaard Ravn
da3ae8fc95 Add alignment padding to floats in std codec (flutter/engine#3780) 2017-06-15 21:22:18 -07:00
Jason Simmons
156f123b12 Align doubles to 8 bytes in the StandardMessageCodec (flutter/engine#3779)
See https://github.com/flutter/flutter/issues/10701
2017-06-15 21:15:25 -07:00
Michael Goderbauer
c49f348d7c Revert "Run Flutter on iOS and Android with color correct Skia (#3743)" (flutter/engine#3775)
This reverts commit bac6502d62a3ab3157147b3d53776c3f16000a31.
2017-06-14 16:26:20 -07:00
Jason Simmons
f77a01eaca Simplify state management in the Android text editing plugin (flutter/engine#3769)
In particular, this avoids some unnecessary calls to InputMethodManager.restartInput
that caused noticeable lag when moving the cursor.

Fixes https://github.com/flutter/flutter/issues/9928
2017-06-14 10:24:41 -07:00
Todd Volkert
e69672b40a Add support for application:openURL:options: in FlutterPlugin (flutter/engine#3766)
Both the following, which we also support, are deprecated in UIKit:

* `application:handleOpenURL:`
* `application:openURL:sourceApplication:annotation:`
2017-06-12 20:57:12 -07:00
Mehmet Fidanboylu
f38ab73dab Expose performActionForShortcutItem call to all registered plugins so we can handle quick actions (flutter/engine#3763)
* Expose performActionForShortcutItem call to all registered plugins so we can handle quick actions

* Should return BOOL not void

* clang-formatted
2017-06-09 17:55:48 -07:00
Michael Goderbauer
89ab65beea Adding SemanticsFlag.isSelected (flutter/engine#3764)
* Adding SemanticsFlag.isSelected

* typo
2017-06-09 15:58:30 -07:00
Todd Volkert
923bb8cc3b Fix some minor issues with Javadocs (flutter/engine#3761) 2017-06-09 07:35:50 -07:00
mattsarett
bac6502d62 Run Flutter on iOS and Android with color correct Skia (flutter/engine#3743)
* Run Flutter on iOS and Android with color correct Skia (#3716)

***Turns on color correct rendering for Android and iOS
***Communicates dst color space to raster cache
***Turns on color space aware image decoding

Test:
***color_testing_demo on Pixel XL
***flutter_gallery on iPad Mini and iPad Pro (haven't figured out how to run manual_tests on iOS)

TODO:
I needed to split up this CL somewhere. These are follow-up tasks.
***Make desktop backends color correct
***Make debugging tools (ex: encoding frames to png) preserve color space
***Investigate using UIKit API to allow iOS to fine tune color space of rendered content
2017-06-09 08:39:21 -04:00
Sarah Zakarias
4c97eefa3d Add setInitialRoute on FlutterViewController (flutter/engine#3754) 2017-06-09 10:37:53 +02:00
Todd Volkert
9685ff633a Create FlutterFragmentActivity (flutter/engine#3757)
This creates a `FlutterFragmentActivity` class that extends
the Android v4 Support librray's `FragmentActivity` class.
However, we intentionally do not bundle the support library
with our engine, so apps that wish to use this class are
responsible for including the support library .jar file in
their runtime deps when creating the final app.

flutter/flutter#10072
2017-06-08 16:40:37 -07:00
Jason Simmons
d6d464164f Call the superclass onConfigurationChanged in FlutterActivity (flutter/engine#3758) 2017-06-08 14:58:22 -07:00
Todd Volkert
17c9a56d2e Only handle refresh intent when the app is marked as debuggable. (flutter/engine#3752) 2017-06-08 08:13:52 -07:00
Todd Volkert
397b37065a Refactor FlutterActivity to be more composable (flutter/engine#3748)
This factors the functionality that was in `FlutterActivity`
to live in `FlutterActivityDelegate`. This will allow the creation of a
`FlutterFragmentActivity` that has the same core functionality, which in
turn unlocks certain Android plugins that choose to require the v4
support library (like Google Sign-In).

https://github.com/flutter/flutter/issues/10072
2017-06-07 12:28:41 -07:00
Jason Simmons
953037697f AndroidSurfaceSoftware renderer based on NDK native window APIs (flutter/engine#3745) 2017-06-06 16:58:43 -07:00
Sarah Zakarias
0dd69f7b07 Add setInitialRoute on FlutterView. (flutter/engine#3727) 2017-06-06 10:59:41 +02:00
Michael Goderbauer
83516478af Retain the parent of a SemanticsObject and implement proper dealloc (flutter/engine#3740)
* Retain the parent of a SemanticsObject

This fixes the last known crash in iOS accessibility.

* rework memory management

* review comments
2017-06-05 17:35:44 -07:00
Chinmay Garde
e61bff016b Revert "Run Flutter on iOS and Android with color correct Skia" (flutter/engine#3738) 2017-06-05 14:08:22 -07:00
Jason Simmons
0907015201 Render software rasterizer bitmaps through the SurfaceHolder (flutter/engine#3736) 2017-06-05 12:21:14 -07:00
mattsarett
73f8e1988e Run Flutter on iOS and Android with color correct Skia (flutter/engine#3716)
***Turns on color correct rendering for Android and iOS
***Communicates dst color space to raster cache
***Turns on color space aware image decoding

Test:
***color_testing_demo on Pixel XL
***flutter_gallery on iPad Mini and iPad Pro (haven't figured out how to run manual_tests on iOS)

TODO:
I needed to split up this CL somewhere. These are follow-up tasks.
***Make desktop backends color correct
***Make debugging tools (ex: encoding frames to png) preserve color space
***Investigate using UIKit API to allow iOS to fine tune color space of rendered content
2017-06-05 14:59:04 -04:00
Chris Bracken
0549c74529 Set autocapitalizationType on iOS (flutter/engine#3735)
Disables auto-capitalization on iOS text fields for TextInputTypes other
than text.
2017-06-05 11:33:08 -07:00
Chris Bracken
4f3220eebc Improve auto-correct disabling on Android when obscureText is true (flutter/engine#3731)
Some keyboards (e.g., on some Samsung devices, SwiftKey) ignore
InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS and require
InputType.TYPE_TEXT_VARIATION_PASSWORD.
2017-06-02 15:50:23 -07:00
Michael Goderbauer
4ac92f5b50 Fix crash when iOS accessibility is turned off and then on again (flutter/engine#3732) 2017-06-02 15:50:12 -07:00
Chris Bracken
621d051cfa Add support for TextInputType.url (flutter/engine#3730)
Adds support for requesting a platform keyboard optimised for entering
URLs.
2017-06-02 15:13:37 -07:00
Chris Bracken
0d10984a47 Add support for TextInputType.emailAddress (flutter/engine#3729)
Adds support for requesting a platform keyboard optimised for entering
email addresses.
2017-06-02 15:04:35 -07:00
Gary Qian
f6a2810841 Add software as fallback if Vulkan and OpenGL fails (flutter/engine#3725) 2017-06-01 17:50:03 -07:00
Gary Qian
d77f805ffe Add flags for enabling software rendering in FlutterActivity (flutter/engine#3724) 2017-06-01 13:53:12 -07:00
Gary Qian
49440f6e14 Allow switching to the software rendering backend on Android. (flutter/engine#3719)
* Enable software rendering backend on android. Add "enable-software-rendering" flag.

* Fix variable naming and threading.
2017-05-31 17:27:47 -07:00
Michael Goderbauer
e00a271112 [iOS accessibility] Dispatch taps to selected element (flutter/engine#3718)
Previously, taps were sent to the topmost tap handler in the center of the accessibility frame of the selected element nd therefore might have been handled by a different element than the desired one.
2017-05-30 16:53:10 -07:00
Chris Bracken
120a624660 Add inactive, suspending ApplicationLifecycleState values (flutter/engine#3713)
**This is a breaking change on iOS**

Previously, the `paused` state was entered when the application resigned
active status. `inactive` now maps to this status. `paused` now maps to
an app that has been backgrounded.

`inactive` is currently emitted on iOS only and corresponds to iOS's
foreground inactive state.

Current state transitions are:
`resumed` <--> `inactive` <--> `paused`

suspending is currently emitted on Android only and corresponds to the
transition to Android's stopped state.

Current state transitions are:
`resumed` <--> `paused` --> `suspending` --> `resumed`

These transitions may change in future.
2017-05-24 16:34:34 -07:00
xster
5bb4bfb5a1 Fix a typo (flutter/engine#3710)
I weaksauced
2017-05-23 18:12:02 -07:00
Michael Goderbauer
b357c2dc67 Use children's labels if element doesn't have one (flutter/engine#3709)
Android seems to do this by default. This way, if you select a table cell it will read the content of that cell.
2017-05-23 14:50:26 -07:00
Michael Goderbauer
e1cadccf79 Fix crash in iOS accessibility (flutter/engine#3706)
* Fix crash in iOS accessbility

Previously, whenever an action would remove the focused element from the screen the app would crash. This change tells iOS to focus the first on-screen element after every change to the semantics tree. This avoids the crash.

In a future iteration, we should tell iOS which element it needs to focus by looking at the sematnics tree (instead of leaving it up to the iOS).

* Better handle the case were the focused element stays on the screen

* review comments
2017-05-23 13:14:56 -07:00
Chris Bracken
d657e3889e Update iOS HapticFeedback.vibrate implementation (flutter/engine#3702)
Use AudioServicesPlaySystemSound instead of AudioServicesPlayAlertSound.
This avoids the potential of a system beep on devices without support
for haptic feedback.
2017-05-19 17:01:36 -07:00
Michael Goderbauer
ce354876a8 AX fixes for scrolling on iOS (flutter/engine#3701)
Scrollable elements can now be scrolled in accessibility mode and they scroll in the right direction.

Note: App crashes right after scroll finishes (that's a separate problem as the app currently crashes after every action performed in accessibility mode).
2017-05-19 15:08:08 -07:00
Michael Goderbauer
e063effa8e AX fixes for iOS (flutter/engine#3700)
* AX fixes for iOS

With this, the accessibility frame (for VoiceOver, etc.) is drawn at the right position around a widget.

* review comments
2017-05-19 10:22:56 -07:00
Chris Bracken
819a40bc22 Smarter text/selection will/didChange events (flutter/engine#3699)
Check incoming text editing state and only fire textWillChange:,
textDidChange:, selectionWillChange:, selectionDidChange: when the text
or selection actually changes.

On selectionWillChange: in a text field where auto-correct is enabled,
iOS will attempt to auto-correct the word preceding the cursor. This
change also updates the text before calling selectionWillChange: to
prevent auto-correction on the preceding value of the text field.
2017-05-17 19:36:27 -07:00
Ian Hickson
ef706ef6f7 Fix a11y an Android (flutter/engine#3694)
The core problem was multiplying matrices the wrong way around.

While I was there I did some minor cleanup. I think that may have
fixed another bug relating to A11Y turning on or off improperly, but
since I never figured out the steps to reproduce, it's hard to tell.

Fixes https://github.com/flutter/flutter/issues/7205
Fixes https://github.com/flutter/flutter/issues/10059 (maybe)
2017-05-16 10:31:53 -07:00
Ian Hickson
cf8689ffa2 Move the test runner to a higher DPI screen. (flutter/engine#3688)
Having the device pixel ratio of the test shell be 1.0x makes it
unlikely that we will catch errors relating to mishandling of the
device pixel ratio in the test shell.

This patch arbitrarily increases the device pixel resolution while
keeping the logical resolution the same.
2017-05-15 13:18:56 -07:00
Chris Bracken
074cca0906 Adjust bottom padding correctly on iOS keyboard hide (flutter/engine#3684)
Handle willChangeFrame to handle keyboard show, resize, reposition
(split, move floating keyboard) events. Handle willBeHidden events for
keyboard dismissal.

Fixes incorrect bottom padding introduced in
4103fe7a4006409bbf7e1ad1b06c1f6fbdd12632 due to didChangeFrame
notification firing after willBeHidden on keyboard dismissal.
2017-05-11 10:07:37 -07:00
Chris Bracken
4103fe7a40 Update view padding on iOS keyboard frame change (flutter/engine#3681) 2017-05-10 16:35:58 -07:00