ASL was deprecated in iOS 10 and started causing SIGPIPE issues in iOS
10.3. Under the iOS 8 SDK, syslog() stopped working as of iOS 10.3
devices, with the result that ASL stdout/stderr forwarding was the only
means of logging. The engine now builds against the iOS 10 SDK, with
deployment target of iOS 8. Under this SDK, syslog() works correctly
across all supported OS versions.
NOTE: This is a temporary fix to get developers unblocked. While this
does fix the SIGPIPE issue and put iOS logging on par with the Android
solution, the intent is to move to a dedicated communication channel
with flutter_tools that isn't log-based.
* Revert "Enable line join styles and miter limit. (#3777)"
This reverts commit 5403f65bcad98bd0d434cae590e2a337a1ea218c.
* Revert "Revert "Update switches to use StringView." (#3784)"
This reverts commit 80f039ff324b827cc17567867bd17c788277b0cf.
* Revert "Initial integration of libtxt with Flutter alongside Blink. (#3771)"
This reverts commit c548c65b5020653087b63f1f156741a1f95b5117.
* Revert "Initial integration of libtxt with Flutter alongside Blink. (#3771)"
This reverts commit c548c65b5020653087b63f1f156741a1f95b5117.
* Revert "Call Selection.removeSelection if the framework has cleared the selection (#3782)"
This reverts commit e5b79ba63b92aa0c4299836f4433ec0de23b7cb3.
* Revert "Update switches to use StringView. (#3781)"
This reverts commit 07d4357b1ac4c7aa8c13f1627071e43096ef3cc5.
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
Both the following, which we also support, are deprecated in UIKit:
* `application:handleOpenURL:`
* `application:openURL:sourceApplication:annotation:`
* 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
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
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
***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
Some keyboards (e.g., on some Samsung devices, SwiftKey) ignore
InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS and require
InputType.TYPE_TEXT_VARIATION_PASSWORD.
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.
**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.
* 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
Use AudioServicesPlaySystemSound instead of AudioServicesPlayAlertSound.
This avoids the potential of a system beep on devices without support
for haptic feedback.
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).
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.
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)