* Reproduction
* Automate test
* Handle null element in SetupElement in the SelectableItemsViewRenderer
Fixes#5949
* Add manual test instructions
* Fix build errors
* Added new named Font Sizes, iOS Named fonts now all AutoScale
We now use the iOS Prefered Font Scaling stuff so fonts are magical
* Added new named font sizes to the FontSizeConverter
* [Android] Unseal FastRenderers
* [Android] Flip experimental flag to legacy flag
* Flip flag for testing both renderers & set up custom renderers for testing
* Undo build arg change
This reverts commit 8447fec03b4dff16d8ca96544ec83159670b80d7.
* Fix whitespace
* restore workaround for #2520
* Only use workaround for fast renderers (crashes legacy)
fixes#5724
* Initial code to get unifiied image handling
- not yet tested
- still using FileImageSource in some areas
* Updated the button renderers and added tests for Android
* Updated a few more of the Android renderers
- also added an `IsEmpty` property to the ImageSource to indicate if this source actually contains data that can be used to try and load an image
- added a few more "tests"
- includes the changes for #4916
* A few more changes
* Keep the default page for the sample app
* Changing everything to ImageSource and going from there
- Android, iOS, UWP and WPF are compiling
- GTK, Mac and Tizen are not yet finished
- Added a new interface for UWP to return an IconElement in addition to ImageSource (for app bar buttons)
- not tested yet, nor are there any tests
* Renamed the property to be more useful
* All of Android is now async
- still only minimal tests
- also removed the bits that are in https://github.com/xamarin/Xamarin.Forms/pull/4948
* Update Xamarin.Forms.Platform.cs
* A few fixes to whitespace and nameof()
* Updated iOS and UWP wirth async image sources
* A few fixes and WPF support
* A few fixes for Android after the big merge
* Updated a few more loaders:
- ios
- macos
- tizen
- gtk
* Fix a few things after the merge
* - cast type to FileImageSource
* fix setting of title content if icon doesn't load
* fix IButtonLayoutManager to return correct control
* remove cast and add pack api
* - fix timing issues with layout/invalidation
* - remove aggresive element invalidations for now
* first set of api changes
* obsolete old apis and create new ones for ImageSource
* obsolete messages and static ordering fix
* add tests
* switch default on windows to show images on tabs
* - XStatic obsolete fix
* fix NPC test and bring back alert check on uwp
Fixes#3207Fixes#4689
* Add gallery for reproing expanding DataTemplate content;
Allow ItemContentView on Android to expand with content;
Allow ItemContentView on iOS to expand with content;
Fixes#5647
* Improve instructions
Fixes#5721Fixes#5521
* Apply suggestions from code review
Co-Authored-By: hartez <hartez@users.noreply.github.com>
* Clear binding contexts before recycling cells/viewholders.
Context: https://github.com/xamarin/xamarin-android/issues/2982
The Blank Xamarin.Forms app template in VS 2019 takes longer to build
than in VS 2017. A little research is showing that this is due to use
of the 28.x support libraries... For example, the build includes ~20
*more* jar files in the template from 2019 than 2017. The
`_CompileDex` step alone goes from ~15.2s to ~18.2s.
This lead me down the road of investigating if we can remove any
support libraries by default in Xamarin.Forms apps. I am also seeing
if there is more we can do in Xamarin.Android for this problem, in
general.
It looks like we can remove:
* Xamarin.Android.Support.v7.MediaRouter
* Xamarin.Android.Support.Media.Compat
Neither of these appear to be used, but have been listed as
dependencies of Xamarin.Forms for a long time.
~~ Results ~~
I made these changes, then did a `Debug` build of
`Xamarin.Forms.ControlGallery.Android.csproj` for comparison.
Comparing dex file sizes (in bytes):
Before:
3428092 classes.dex
3265616 classes2.dex
6693708 total
After:
4938000 classes.dex
1098772 classes2.dex
6036772 total
This looks like it could potentially save ~600KB of compiled dex code
on every Xamarin.Forms app.
Comparing methods:
Before:
classes.dex 11,492 methods
classes2.dex 19,451 methods
total 30,943 methods
After:
classes.dex 22,171 methods
classes2.dex 7,635 methods
total 29,806 methods
~1,137 methods removed, which should help with the dex limit.
Comparing APK sizes (in bytes):
Before:
26442597 AndroidControlGallery.AndroidControlGallery-Signed.apk
After:
25741701 AndroidControlGallery.AndroidControlGallery-Signed.apk
~700KB smaller APK, due to less .NET assemblies & dex code.
Comparing build time (this was using dx):
Before:
19785 ms CompileToDalvik 1 calls
After:
18532 ms CompileToDalvik 1 calls
Looks like it saved over a second of build time for this project.
Seems like an "easy win", let's do this!
* Avoid LINQ exception
If the back button in UWP is pressed, but there's nothing in the backstack, the `Last()` LINQ query will throw `System.InvalidOperationException: 'Sequence contains no elements`
This change avoids that, and just returns false that Forms didn't handle the event.
* Change to use LastOrDefault
* Make secondary window work in UWP (fixes#2229)
* Update Xamarin.Forms.Core/Internals/Ticker.cs
Co-Authored-By: hartez <hartez@users.noreply.github.com>
* propagate bindingcontext
* - add exception message and fix poorly named xaml file
* add ui test automation
* - fix unit test to represent new code
* - changed from ui test to unit test
* - propagate visual, parent, bc to titleview
* - style fixes