GLib.Idle.Add enqueues functions in the main loop
with the lowest priority, so while the UI is updating
tasks will be queued in the main loop.
Using Gtk.Application.Invoke they are interleaved with UI
updates and handled with more fairness.
* ImageButton Implementation
* [Android] rename BorderBackgroundManager
* [Android] copy AspectFill changes to ImageButton
* [UITests] fix order of gallery pages to work with tests
* [Android] Account for changing image region with border/shadows
* [Android] check for api 18 and add setpadding call back in
* [Android] throw exception instead of crash when image fails to load
* Addressing issue comments and adding additional test cases to Issue demo
- fixes#1724
* Convert item to string, when ListView has no ItemTemplate
* ToStringValueConverter tests
* Format value using parameter in ToStringValueConverter
- fixes#3715
* fixes#1480
* Added test case
* Update Xamarin.Forms.Platform.iOS/VisualElementTracker.cs
Co-Authored-By: AndreiMisiukevich <andrei.misiukevich@gmail.com>
* updated test case
* [Core] Fix autosize elements in absolute layout
* revert the Hasflag extension
* - refactoring to the local UWP fix for Activity Indicator
- fixes#1399
* [GTK] Don't recreate master or detail if it didn't change
* [GTK] Fix several memory leaks using the Destroy pattern
Gtk objects must be disposed using the Destroy function that will
automatically iterate over the children and destroy them too:
https://developer.gnome.org/gtk2/stable/GtkWidget.html#gtk-widget-destroy
The gtk-sharp bindings discourage the use of Dispose and don't even call
the base class, leaving it without effect:
https://github.com/mono/gtk-sharp/blob/gtk-sharp-2-12-branch/gtk/Object.custom#L98
In the Controls, that inherits directly from native Gtk objects, the
overrides of the Dispose function are changed to override the Destroy
function. In the Renderers, that inherit from VisualElementRenderer,
the Destroy funtion is called in the dispose implementation so
subclasses only have to override Dispose (bool disposing) as they do
now.
* [GTK] Don't recreate the toolbar on each change
* [GTK] Fix leak connecting to the PropertyChanged event twice
if a type defines multiple op_implicit from the same type to different
ones, trying to retrieve it with GetMethod() throws an
AmbiguousMatchException. If this happens, we have to do the resolution
ourself.
- fixes#4215
* Update from origin (#8)
* [C] VisibilityConverter Trims input (#3581)
For CSS purposes, the VisibilityConverter was added, and actually
replaced the `Boolean.Parse(str)` call for parsing Visibility.
`Boolean.Parse()` trims input, and the converter was not, so this was a
regression.
This changes Trim() the input, to be fully backward compatible.
- fixes#3554
* Ensure ConstructorCountId and TimeId elements are available before querying them (#3588)
* For consistency with ResourceDictionary, expose the Source for a StyleSheet (#2589)
This would allow previewer/designer/reloader to determine the source of a
stylesheet and refresh its content when appropriate.
* Revert "For consistency with ResourceDictionary, expose the Source for a StyleSheet (#2589)"
This reverts commit f66a72de5b.
* Fix NRE; Ret 0 if Text null (#3594) fixes#3579
* [UWP, WPF] Fixes rendering of the main page (#2896) fixes#2704
* [Core] Ignore Shamehat target when running DesignTimeBuild (#3605)
* [XamlC] Fix binding compilation fo value types (#3551)
properly load valuetype arguments of generated setters, using ldarg,
instead of ldarga.
- fixes#3539
* Update PULL_REQUEST_TEMPLATE.md
* Update PULL_REQUEST_TEMPLATE.md
* [Android] Fix Label LineHeight (#3452)
* fix line height android
* Make UAP respect initial LineHeight
* update .create-nuget.bat (#3638)
* Add Null Check to GetRenderer (#3575)
- fix#3563
* Fix 3562 Null Reference Exception (#3576)
- fixes#3562
* Fix 3564 Null Reference Exception (#3578)
- fixes#3564
* [iOS] AutomationProperty support for cells (#3313) fixes#3296
* [iOS] AutomationProperty support for cells
* Add test case to AutomationProperties gallery
* [UWP] Fix crash app when create navigation/tabbed page without children pages fixes#3188 (#3514)
* [Android] Use height when determining ScaledScreenSize; fixes#3609 (#3641)
* [C] Set binding context on Span Gestures (#3639)
* [Core] Set binding context on Span Gestures
* [Core] Simplify loop setting child binding context
- fixes#3524
* Update PULL_REQUEST_TEMPLATE.md
* [Android] remove deprecated AndroidUseLatestPlatformSdk (#3672)
* [iOS] iPad ActionSheet should always have a Cancel method (#3636)
* Add repro for #3049
* [iOS] iPad ActionSheet should always have a Cancel method
fixes#3049
* [Android] fixes#3675 - set initial ScrollView Scroll values when RTL (#3676)
* [Android] API check for Shadow properties on Button (#3617) fixes#2702
* [Android] API check for Shadow properties on Button
* Fix swapped shadow values
* [iOS] fixes#3525 - add epsilon for float compare (#3654)
* [iOS] fixes#3525 - add epsilon for float compare and make region immutable
* [ControlGallery] spread out spans to account for click slop
* [ControlGallery] - adjust span slightly for android test
* [Core] remove private
* Fix text wrapping (#3671) fixes#3634
* [GTK] Fix navigation bar visibility updates (#3651)
* Fix partially #3585 (#3592)
* Make webkit-sharp.dll.config cross-platform
* Update webkit-sharp.dll with missing signals bindings
see: https://github.com/ylatuya/webkit-sharp/tree/fluendo
* [iOS, UWP] fixes#2894 - Gestures collection changes weren't correctly propagating (#3643)
* [iOS, UWP] fixes#2894 - Gestures weren't wiring up to spans in all cases
* [Core] remove ChildGestureRecognizers when spans get removed
* [iOS] removed incorrect return from null
* Fixes#3663 (#3684)
* Fix ScrollView Padding issue (#3685)
* [WPF] Memory leak when you pop a TabbedPage (#3372) fixes#3267
* Fix [WPF] Memory leak when you pop a TabbedPage
* Update ViewRenderer.cs
* Update ViewRenderer.cs
* [Android,iOS,UWP] Allow Entry CursorPosition/SelectionLength to be set in ctor (#3402) fixes#3343fixes#3633
* Add repro for #3343 + unit tests
* [Core] Disallow negative values for CursorPosition/SelectionLength
* [All] CursorPosition/SelectionLength can bindin ctor & clear value
fixes#3343
* typo
* cleanup
* [iOS] Cursor snaps to end
* try/catch
* [CSS] add more properties (#3466)
map new CSS properties:
- `color` on `IColorElement` (`ActivityIndicator`, `BoxView`),
`ProgressBar` and `Switch`
- `row-gap` and `column-gap` on `Grid`
- `transform` and `transform-origin` on `VisualElement`
- `vertical-align` on `Label`
add new XF-specific CSS properties
- `-xf-placeholder` and `-xf-placeholder-color` on `Editor`, `Entry`,
`SearchBar`
- `-xf-max-length` on `InputView` (`Editor` and `Entry`)
- `-xf-bar-background-color` and `-xf-bar-text-color` on
`NavigationPage` and `TabbedPage`
- `-xf-orientation` on `ScrollView` and `StackLayout`
- `-xf-horizontal-scroll-bar-visibility` and
`-xf-vertical-scroll-bar-visibility` on `ScrollView`
- `-xf-min-track-color`, `-xf-max-track-color` and `("-xf-thumb-color`
on `Slider`
- `-xf-spacing` on `StackLayout`
This PR replaces and closes#3276
- fixes#2891
* [iOS] Specify a default size for UISearchBar width if needed (#3635) fixes#3413fixes#2139
* [Controls] Add reproduction and test case for issue #3413
* [iOS] Don't use max value for iOS UISearchbar breaks on iOS 11.3
* [iOS] Force width value so we can renderer UISearchBar on iOS10 with infinite width
* [Controls] Fix spelling and add Manual Review to the test of #3413
* [iOS] Simplify code for UISearchBar width
* [iOS] Return always some width from measure the UISearchBar on IOS
* [Controls] Add reproduction case for issue #2139
* [UWP] Fixed double set margins in Layouts (#3570) fixes#3398fixes#3616
* [Android] Support multiple clipping settings in single layout (#3559)
* Repro
* Fix for API 18+
* [iOS] Unsubscribe CellPropertyChanged when SwitchCellRenderer is disposed (#3518)
* [Controls] Add repo of issue #3408
* [iOS] Unsubscribe CellPropertyChanged when cell is disposed
* [Controls] Add issue to project
* [iOS] Introduce CellPropertyChange to CellTableViewCell to used by all other cell renderers
* [Controls] Simplify Issue
* [iOS] Remove PropertyChanged that was not used
* [Controls] add check for null binding on template, add notes about issues
* [Controls] added reference to Android crash
* [iOS]Use existing PropertyChanged on ViewCelRenderer
* [iOS] Keep the existing override so we don't break users
* Update TextCellRenderer.cs
* update submodule
* 24H Mode (#3701)
The 24h mode for the pickerdialog was not working.
Version 3.1 was working fine.
Here is an updated file.
* [UWP] uncomment tests that are now passing for 3188 (#3723)
* [UITest] Update Xamarin.UITest nuget package (#3632)
* [UITests] Update Xamarin.UITest 2.2.5
* [UITests] Try fix Toolbaritems
* [UITest] Update to 2.2.5-1606
* [UITests] Small Fixes and workarounds to make uitest happy
* [UITests ] Add delay to 1733 for API28
* [Android] Revert bad merge (#3746)
fixes#3705
* [Android, iOS] Fixes layout compression causes (#3698) fixes#3624
* [Android, iOS] Fixes layout compression causes
* [iOS] improve UpdateNewElement method
* Fix build error hopefully
* [UWP] Fixes CollectionChanged events in ListView (#3323)
* fixes#3273
* [UWP] Fixes CollectionChanged events in ListView
* a wrapped collection is used only if the SourceItem is not ObservableCollection
* improve uitest
* fixed NRE in empty ListView
* added a sortable custom renderer for UItest
* minor refactoring
* fixed reset of not wrapped collections
* addressing comments
* [UWP] remove WinRT hack
* [UWP] add missing using and cleanup additional resources
* [Android] Update Forms to remove API28 deprecated API (#3653) fixes#2128fixes#3629
* [Build] Update provisioning
* [Controls] Ignore deprecated Android API usage
* [Android] Remove use of obsolete color usage
* [Android] Remove app fragment usage
* [android] Rollback changes to EntryCellRenderer
* [Android] Better way to get the default color for the label text
* [Android] Obsolete message for ContentPage.CreateFragment()
* [ControlGallery] - create bitmap from Drawable to use for pixel location
* [Android] Use textcolor resource
* Update submodule
* Fix tests (#3771)
* [ControlGallery] Wait for element and add timing to tests
* [iOS] Fix NRE on RenderPool
* Add TabStop/TabIndex (#2795)
* [Core, UWP, Android] support TabStop/TabIndex
* removing linq
* add iOS / MacOS implementation
* add WPF implementation
fixes UWP implementation
* - addressing comments
- improve test
- optimizations
- added previous tab direction in same tab group
* addressing comments
* [Android] support tabstop for pickers
* - moving shared code to a static class
- removed reflection
* ITabStop -> changed to internal, renamed, added in to fastRenderers
* Update ITabStop to be public
* Fix : Binding Icon in ToolbarItem in TabbedPage doesn't refresh (#3761) fixes#3756
* [iOS] Fix NRE on ContextCell (#3714) fixes#3275
* [Controls] Add repo for issue #3275
* [iOS] Fix NRE when no gestures exist on table
* [iOS] Null check outside loop
* [iOS]Make sure to dispose/unhook when we are removed from UITableView.
* Update submodule
* [iOS] Don't double dispose ContextActionCell
* WPF - Fix Width and Height measurement when GetDesiredSize (#3750)
* WPF - Reset Width and Height when GetDesiredSize
* Some formatting changes
* Add APP directive
* [WPF]Fix build
* [Android Maps] Make markers available to subclasses (#3751)
* Make markers available to subclasses
* Fix build
* Use Find instead of FirstOrDefault
* [UITests] wait for element before querying for it (#3791)
* [UITests] wait for element before querying for it
* [Controls] generalize and better represent intended behavior
* WPF - Fix Local store not persistant when restarting App (#3752)
-fixes #3541
* WPF - Fix Local store not persistant when restarting App
* Add UITest
* [Controls] Add automated UI Test
* [UITests] Isolate test 3408
* [UITest] Update Xamarin UITest packages
* [UWP] implement Replace without reloading ListView (#3792)
-fixes #3788
* [UWP] implement Replace without reloading ListView
* [UWP] extract bindingcontext of new item for replace
* [iOS] Use UIApperance default color for UISwitch (#3819)
* [Controls] Set default color of UISwitch to Red
* [iOS] Use default color from Apperance API
* [UITests] replace awaits with more reliable WaitForElement (#3835)
* [Core] Propagate BindingContext changes to TitleView (#3823)
* [Core] Propagate BindingContext changes to TitleView
* [Tests] Move UI test to Core Unit Test
* [A] do not draw gradient for empty CornerRadius (#3786)
Drawing CornerRadius (introduce by #1998) when the CornerRadii are
actually 0 causes scaling artifacts on API < 25.
This fixes the regression when no CornerRadius is set. Expect blurry
border scaling with CornerRadius not empty and API < 25
- fixes#3781
* [Android] Fix WebView.Navigating event, make WebViewClient inheritable (#3780)
* Extracted WebViewRenderer.WebClient to FormsWebViewClient, moved SendNavigating call from ShouldOverrideUrlLoading to OnPageStarted
* Changed _webViewClient and GetWebViewClient() method to return base class
* Changed public things to protected internal
* Fix spaces to tabs indentation to match the coding style (#3745)
* [Build] Fix merge
* Fix#3097 swipe gesture not being handled in VisualElementTracker. (#3098) Fixes#3097
* Implemented for iOS, Android and MacOS
* Implemented UAP and WPF
* Refactored duplicate code and removed typo in method name
* Update from origin (#9)
* [C] VisibilityConverter Trims input (#3581)
For CSS purposes, the VisibilityConverter was added, and actually
replaced the `Boolean.Parse(str)` call for parsing Visibility.
`Boolean.Parse()` trims input, and the converter was not, so this was a
regression.
This changes Trim() the input, to be fully backward compatible.
- fixes#3554
* Ensure ConstructorCountId and TimeId elements are available before querying them (#3588)
* For consistency with ResourceDictionary, expose the Source for a StyleSheet (#2589)
This would allow previewer/designer/reloader to determine the source of a
stylesheet and refresh its content when appropriate.
* Revert "For consistency with ResourceDictionary, expose the Source for a StyleSheet (#2589)"
This reverts commit f66a72de5b.
* Fix NRE; Ret 0 if Text null (#3594) fixes#3579
* [UWP, WPF] Fixes rendering of the main page (#2896) fixes#2704
* [Core] Ignore Shamehat target when running DesignTimeBuild (#3605)
* [XamlC] Fix binding compilation fo value types (#3551)
properly load valuetype arguments of generated setters, using ldarg,
instead of ldarga.
- fixes#3539
* Update PULL_REQUEST_TEMPLATE.md
* Update PULL_REQUEST_TEMPLATE.md
* [Android] Fix Label LineHeight (#3452)
* fix line height android
* Make UAP respect initial LineHeight
* update .create-nuget.bat (#3638)
* Add Null Check to GetRenderer (#3575)
- fix#3563
* Fix 3562 Null Reference Exception (#3576)
- fixes#3562
* Fix 3564 Null Reference Exception (#3578)
- fixes#3564
* [iOS] AutomationProperty support for cells (#3313) fixes#3296
* [iOS] AutomationProperty support for cells
* Add test case to AutomationProperties gallery
* [UWP] Fix crash app when create navigation/tabbed page without children pages fixes#3188 (#3514)
* [Android] Use height when determining ScaledScreenSize; fixes#3609 (#3641)
* [C] Set binding context on Span Gestures (#3639)
* [Core] Set binding context on Span Gestures
* [Core] Simplify loop setting child binding context
- fixes#3524
* Update PULL_REQUEST_TEMPLATE.md
* [Android] remove deprecated AndroidUseLatestPlatformSdk (#3672)
* [iOS] iPad ActionSheet should always have a Cancel method (#3636)
* Add repro for #3049
* [iOS] iPad ActionSheet should always have a Cancel method
fixes#3049
* [Android] fixes#3675 - set initial ScrollView Scroll values when RTL (#3676)
* [Android] API check for Shadow properties on Button (#3617) fixes#2702
* [Android] API check for Shadow properties on Button
* Fix swapped shadow values
* [iOS] fixes#3525 - add epsilon for float compare (#3654)
* [iOS] fixes#3525 - add epsilon for float compare and make region immutable
* [ControlGallery] spread out spans to account for click slop
* [ControlGallery] - adjust span slightly for android test
* [Core] remove private
* Fix text wrapping (#3671) fixes#3634
* [GTK] Fix navigation bar visibility updates (#3651)
* Fix partially #3585 (#3592)
* Make webkit-sharp.dll.config cross-platform
* Update webkit-sharp.dll with missing signals bindings
see: https://github.com/ylatuya/webkit-sharp/tree/fluendo
* [iOS, UWP] fixes#2894 - Gestures collection changes weren't correctly propagating (#3643)
* [iOS, UWP] fixes#2894 - Gestures weren't wiring up to spans in all cases
* [Core] remove ChildGestureRecognizers when spans get removed
* [iOS] removed incorrect return from null
* Fixes#3663 (#3684)
* Fix ScrollView Padding issue (#3685)
* [WPF] Memory leak when you pop a TabbedPage (#3372) fixes#3267
* Fix [WPF] Memory leak when you pop a TabbedPage
* Update ViewRenderer.cs
* Update ViewRenderer.cs
* [Android,iOS,UWP] Allow Entry CursorPosition/SelectionLength to be set in ctor (#3402) fixes#3343fixes#3633
* Add repro for #3343 + unit tests
* [Core] Disallow negative values for CursorPosition/SelectionLength
* [All] CursorPosition/SelectionLength can bindin ctor & clear value
fixes#3343
* typo
* cleanup
* [iOS] Cursor snaps to end
* try/catch
* [CSS] add more properties (#3466)
map new CSS properties:
- `color` on `IColorElement` (`ActivityIndicator`, `BoxView`),
`ProgressBar` and `Switch`
- `row-gap` and `column-gap` on `Grid`
- `transform` and `transform-origin` on `VisualElement`
- `vertical-align` on `Label`
add new XF-specific CSS properties
- `-xf-placeholder` and `-xf-placeholder-color` on `Editor`, `Entry`,
`SearchBar`
- `-xf-max-length` on `InputView` (`Editor` and `Entry`)
- `-xf-bar-background-color` and `-xf-bar-text-color` on
`NavigationPage` and `TabbedPage`
- `-xf-orientation` on `ScrollView` and `StackLayout`
- `-xf-horizontal-scroll-bar-visibility` and
`-xf-vertical-scroll-bar-visibility` on `ScrollView`
- `-xf-min-track-color`, `-xf-max-track-color` and `("-xf-thumb-color`
on `Slider`
- `-xf-spacing` on `StackLayout`
This PR replaces and closes#3276
- fixes#2891
* [iOS] Specify a default size for UISearchBar width if needed (#3635) fixes#3413fixes#2139
* [Controls] Add reproduction and test case for issue #3413
* [iOS] Don't use max value for iOS UISearchbar breaks on iOS 11.3
* [iOS] Force width value so we can renderer UISearchBar on iOS10 with infinite width
* [Controls] Fix spelling and add Manual Review to the test of #3413
* [iOS] Simplify code for UISearchBar width
* [iOS] Return always some width from measure the UISearchBar on IOS
* [Controls] Add reproduction case for issue #2139
* [UWP] Fixed double set margins in Layouts (#3570) fixes#3398fixes#3616
* [Android] Support multiple clipping settings in single layout (#3559)
* Repro
* Fix for API 18+
* [iOS] Unsubscribe CellPropertyChanged when SwitchCellRenderer is disposed (#3518)
* [Controls] Add repo of issue #3408
* [iOS] Unsubscribe CellPropertyChanged when cell is disposed
* [Controls] Add issue to project
* [iOS] Introduce CellPropertyChange to CellTableViewCell to used by all other cell renderers
* [Controls] Simplify Issue
* [iOS] Remove PropertyChanged that was not used
* [Controls] add check for null binding on template, add notes about issues
* [Controls] added reference to Android crash
* [iOS]Use existing PropertyChanged on ViewCelRenderer
* [iOS] Keep the existing override so we don't break users
* Update TextCellRenderer.cs
* update submodule
* 24H Mode (#3701)
The 24h mode for the pickerdialog was not working.
Version 3.1 was working fine.
Here is an updated file.
* [UWP] uncomment tests that are now passing for 3188 (#3723)
* [UITest] Update Xamarin.UITest nuget package (#3632)
* [UITests] Update Xamarin.UITest 2.2.5
* [UITests] Try fix Toolbaritems
* [UITest] Update to 2.2.5-1606
* [UITests] Small Fixes and workarounds to make uitest happy
* [UITests ] Add delay to 1733 for API28
* [Android] Revert bad merge (#3746)
fixes#3705
* [Android, iOS] Fixes layout compression causes (#3698) fixes#3624
* [Android, iOS] Fixes layout compression causes
* [iOS] improve UpdateNewElement method
* Fix build error hopefully
* [UWP] Fixes CollectionChanged events in ListView (#3323)
* fixes#3273
* [UWP] Fixes CollectionChanged events in ListView
* a wrapped collection is used only if the SourceItem is not ObservableCollection
* improve uitest
* fixed NRE in empty ListView
* added a sortable custom renderer for UItest
* minor refactoring
* fixed reset of not wrapped collections
* addressing comments
* [UWP] remove WinRT hack
* [UWP] add missing using and cleanup additional resources
* [Android] Update Forms to remove API28 deprecated API (#3653) fixes#2128fixes#3629
* [Build] Update provisioning
* [Controls] Ignore deprecated Android API usage
* [Android] Remove use of obsolete color usage
* [Android] Remove app fragment usage
* [android] Rollback changes to EntryCellRenderer
* [Android] Better way to get the default color for the label text
* [Android] Obsolete message for ContentPage.CreateFragment()
* [ControlGallery] - create bitmap from Drawable to use for pixel location
* [Android] Use textcolor resource
* Update submodule
* Fix tests (#3771)
* [ControlGallery] Wait for element and add timing to tests
* [iOS] Fix NRE on RenderPool
* Add TabStop/TabIndex (#2795)
* [Core, UWP, Android] support TabStop/TabIndex
* removing linq
* add iOS / MacOS implementation
* add WPF implementation
fixes UWP implementation
* - addressing comments
- improve test
- optimizations
- added previous tab direction in same tab group
* addressing comments
* [Android] support tabstop for pickers
* - moving shared code to a static class
- removed reflection
* ITabStop -> changed to internal, renamed, added in to fastRenderers
* Update ITabStop to be public
* Fix : Binding Icon in ToolbarItem in TabbedPage doesn't refresh (#3761) fixes#3756
* [iOS] Fix NRE on ContextCell (#3714) fixes#3275
* [Controls] Add repo for issue #3275
* [iOS] Fix NRE when no gestures exist on table
* [iOS] Null check outside loop
* [iOS]Make sure to dispose/unhook when we are removed from UITableView.
* Update submodule
* [iOS] Don't double dispose ContextActionCell
* WPF - Fix Width and Height measurement when GetDesiredSize (#3750)
* WPF - Reset Width and Height when GetDesiredSize
* Some formatting changes
* Add APP directive
* [WPF]Fix build
* [Android Maps] Make markers available to subclasses (#3751)
* Make markers available to subclasses
* Fix build
* Use Find instead of FirstOrDefault
* [UITests] wait for element before querying for it (#3791)
* [UITests] wait for element before querying for it
* [Controls] generalize and better represent intended behavior
* WPF - Fix Local store not persistant when restarting App (#3752)
-fixes #3541
* WPF - Fix Local store not persistant when restarting App
* Add UITest
* [Controls] Add automated UI Test
* [UITests] Isolate test 3408
* [UITest] Update Xamarin UITest packages
* [UWP] implement Replace without reloading ListView (#3792)
-fixes #3788
* [UWP] implement Replace without reloading ListView
* [UWP] extract bindingcontext of new item for replace
* [iOS] Use UIApperance default color for UISwitch (#3819)
* [Controls] Set default color of UISwitch to Red
* [iOS] Use default color from Apperance API
* [UITests] replace awaits with more reliable WaitForElement (#3835)
* [Core] Propagate BindingContext changes to TitleView (#3823)
* [Core] Propagate BindingContext changes to TitleView
* [Tests] Move UI test to Core Unit Test
* [A] do not draw gradient for empty CornerRadius (#3786)
Drawing CornerRadius (introduce by #1998) when the CornerRadii are
actually 0 causes scaling artifacts on API < 25.
This fixes the regression when no CornerRadius is set. Expect blurry
border scaling with CornerRadius not empty and API < 25
- fixes#3781
* [Android] Fix WebView.Navigating event, make WebViewClient inheritable (#3780)
* Extracted WebViewRenderer.WebClient to FormsWebViewClient, moved SendNavigating call from ShouldOverrideUrlLoading to OnPageStarted
* Changed _webViewClient and GetWebViewClient() method to return base class
* Changed public things to protected internal
* Fix spaces to tabs indentation to match the coding style (#3745)
* [Build] Fix merge
* Fix#3097 swipe gesture not being handled in VisualElementTracker. (#3098) Fixes#3097
* Ensure that the ListViewAdapter is no longer being used by the ListVi… (#3848) fixes#3603
* Ensure that the ListViewAdapter is no longer being used by the ListView before disposing it
* Remove `RemoveAllViews` from `Dispose`
* Fixed code review comments
* Removed obsolete convert method
* Making sure default platform functionality is intact iOS and Android
As er code review comments
* Making sure default platform functionality is intact MacOS
* Making sure default platform functionality is intact UWP and WPF
* Code review comments for iOS, Android and MacOS
Default platform value is now preserved and applied when setting is set to default
* Code review comments UWP and WPF
* Fix build
* [UITest] - add ui test to test scroll permutations
* [Uwp] fix bad merge
* [wpf] fix spacing
Currently, on the first build of a "Hello World" Xamarin.Forms app,
you will see this in the build log:
ConvertDebuggingFiles
Parameters
Files
C:\Users\myuser\.nuget\packages\xamarin.forms\3.1.0.697729\lib\MonoAndroid10\FormsViewGroup.pdb
C:\Users\myuser\.nuget\packages\xamarin.forms\3.1.0.697729\lib\MonoAndroid10\Xamarin.Forms.Platform.Android.pdb
OutputItems
_ConvertedDebuggingFiles
C:\Users\myuser\.nuget\packages\xamarin.forms\3.1.0.697729\lib\MonoAndroid10\FormsViewGroup.dll
C:\Users\myuser\.nuget\packages\xamarin.forms\3.1.0.697729\lib\MonoAndroid10\Xamarin.Forms.Platform.Android.dll
The logging is a little weird here, but this `ConvertDebuggingFiles`
MSBuild task takes about 100ms on my machine.
What is it doing?
The Mono debugger can support two types of debugging files:
- `mdb` files
- "portable" `pdb` files
If Xamarin.Android's build finds a "non-portable" `pdb` file, we have
to run it through this task to convert to an `mdb` file... This gives
us proper stacktraces for `FormsViewGroup.dll` and
`Xamarin.Forms.Platform.Android.dll`.
You can change the type of debugging symbols in your project with the
`DebugType` setting, which has these options:
- Blank or `None`: don't generate symbols. (Although Xamarin.Android
has funny behavior here, see:
https://github.com/xamarin/xamarin-android/issues/2282)
- `Full` generates an `mdb` file, this is a Windows-proprietary format
for debug builds
- `PdbOnly` generates a "non-portable" `pdb` file, a
Windows-proprietary format for release builds
- `Portable` generates a "portable" pdb file, which is the new
standard that works for debug and release builds. New SDK-style
MSBuild projects use this option by default.
These values are not case sensitive, I have mostly seen them lower
case in newer projects.
So what does Xamarin.Forms need to do?
Use `<DebugType>portable</DebugType>` in any Android class library or
app project. Other platforms, this is optional, not as much benefit. I
have heard that `DebugType=portable` might cause a problem on UWP.
* Xamarin.Forms will ship "portable" `pdbs` in its NuGet package for
`FormsViewGroup.dll` and `Xamarin.Forms.*.Android.dll`. Developers
won't pay the 100ms on initial build.
* Initial build times for `Xamarin.Forms.sln` will be slightly better
for development, although I didn't measure the difference here.