* add lifetime with view factory on android
* rename android lifetime interface
* add warning when using ISingleViewApplicationLifetime for android, set current main activity reference on OnResume
* fix nit
* android: better api level detection for display edge to edge and ignore system bar color changes if on api level 35
* allow fully transparent nav bars when display edge to edge is forced
* Use AndroidViewControlHandle for android toplevel handle
* Use UIViewControlHandle for iOS toplevel handle
* Use JSObjectControlHandle for browser toplevel handle
* Revert NativeControlHostImpl changes
* Implemented IClipboard.TryGetInProcessDataObjectAsync for X11
* [Win32] Implemented TryGetInProcessDataObjectAsync
* Rest of the platforms
* Run `nuke ValidateApiDiff`
---------
Co-authored-by: Max Katz <maxkatz6@outlook.com>
* Start working on Android explore by touch
* Start working on a more serious solution
* Reflectionless approach
* Allow multiple providers to be defined for the same AutomationPeer instance
* Implement EmbeddableControlRootAutomationPeer
* Garbage collection
* It's working!!
* Get better readouts
* Implement rest of providers and improve performance
* Some cleanup for the PR!
* Whoopsie!
* Better text readouts for more descriptive elements
* Fix bug with previous approach
* Some final tweaks
* Last tweak!
* Slight improvements
* Undo last change
* Fix bug where custom provider types would not be registered
* Better TextBox compatibility with screen readers & TalkBack
* Fix regression for LabeledBy tests
* Clean up provider code
* Final batch of fixes for TextBox behavior
* Append text instead of replacing it to fix buggy screen readers
* Even more fixes for buggy screen readers
* Remove english-specific state descriptions
* Code review improvements
---------
Co-authored-by: Jumar Macato <16554748+jmacato@users.noreply.github.com>
* Add attribute
* Replace `SetLastError = true` with `Marshal.GetLastSystemError()`
* Make Avalonia.Base and Avalonia.Skia compatible with DisableRuntimeMarshalling
* First step in Android DisableRuntimeMarshalling support
* Make Avalonia.Browser compatible
* Set EnableRuntimeMarshalling=true on all projects we are not yet ready to support without runtime marshalling
* android - call base dispatch key event before called toplevel's override
* android - handle keyevent in avalonia before calling base DispatchKeyEvent
---------
Co-authored-by: Benedikt Stebner <Gillibald@users.noreply.github.com>
* send enter key event on soft keyboard action
* reset composition region when text buffer is updated
* update input connection state when batch edit ends
* Android screen implementation, using Display API (with some fallbacks)
* Browser screen implementation, aditionally add JSObjectPlatformHandle
* iOS screens API implementation with UIScreenPlatformHandle
* Tizen screens implementation, pretty limited but should be better than nothing
* Reduce some API changes to make them more portable in the future
* Update api suppression
* Set isDirectory:true explicitly to help [NSURL fileURLWithPath] method
Might solve some rare/random issues with initial directory not being applied
* Fix dialogs page incorrectly setting parent folder
* Move SecurityScopedStream out of iOS project and share it with macOS project
* Refactor BclStorageItem to be more reusable across platforms
* [Breaking] Set BclStorageItem.CanBookmark to false, as it never was supposed to be true. Plain BCL doesn't provide files bookmarking.
* Reimplement storage provider support on macOS, support (optional) sandboxing
* Fix build
* Fix AppSandboxEnabled=false usage
* Re-enable BCL bookmarks, keep them base64
* Fix nullable error
* Prefix all bookmarks with a platform key
* Fix devtools breaking sandboxed app
* Try to read errors after saving bookmark
* Don't crash sample app if has no access
* Add internal IStorageItemWithFileSystemInfo abstraction
* Log information if OpenSecurityScope returned false
* Fix build
* Prefix bookmarks with "ava.v1."
* Support opening old-style bookmarks to avoid breaking changes
* Adding KeyGestureFormatInfo to hold platform specific Key/Modifier Strings when performing KeyGesture.ToString()
* Implementing KeyGesture IFormattable using new KeyGestureFormatInfo
* Adding platform specific registrations of KeyGestureFormatInfo
* Using KeyGesture's new IFormattable interface to use platform specific formatting.
* Documenting changes.
* Documenting changes.
* Putting back ToPlatformString() so I don't break the API.
* Swapping Page Up and Page Down symbols on Apple platforms.
* Changing KeyGestureFormatInfo constructor Dictionary parameter to IReadOnlyDictionary along with moving Arrow key and Backspace key overrides to the common dictionary. Only Apple platforms are now overriding Keys explicitly.
* Undoing addition to MenuPage that was never intended to be committed.