Some keyboards (e.g., on some Samsung devices, SwiftKey) ignore
InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS and require
InputType.TYPE_TEXT_VARIATION_PASSWORD.
Eliminates logging to stdout on Android -- now using __android_log_print
only.
Eliminates logging to syslog on iOS -- now writing to stdout with the
existing ASL redirection (from platform_mac.mm) only. syslog() wasn't
ever picked up in logs.
This patch is a pre-factoring change before swapping out iOS engine
logging to a flutter-specific mechanism.
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.
Rather than receiving an ApplicationEnvironment, we now receive a namespace.
Once we have FIDL2, we can plumb the namespace all the way through to Dart.
* 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