Граф коммитов

52 Коммитов

Автор SHA1 Сообщение Дата
Rui Marinho f8fd2811dc
Merge branch '4.0.0' 2019-05-22 22:32:28 +01:00
Rui Marinho 38711f35d0
Merge branch '3.6.0' into 4.0.0 2019-05-22 16:23:05 +01:00
Rui Marinho 9bc0fc6b0a
[Build] Update builds, remove submodule, update AssemblyInfo with GitInfo (#6068)
* [Build] Remove submodule

* [Build] Use GitInfo to set Assembly metadata

* [Build] Remove extra prop

* [Build] Update version

* [Build] Update versions to be consistent with existing Build.Tasks

* [Build] Update build number

* [Build] make sure build tasks gets info

* [Build] Add assembly info unit test

* [Test] Refactor test for gitinfo on vsts
2019-05-22 01:06:59 +01:00
jcmanke 4373a07361 [Maps] Add MapClicked event (#5317)
* Add MapClicked event to Map

* Android MapClicked implementation

* iOS MapClicked implementation

* UWP implementation of MapClicked

* Null check before sending MapClicked event from renderers

* Rewrote MapGallery page in XAML
2019-04-23 17:57:22 -07:00
Jonathan Peppers 78d662ee7d Remove Xamarin.Android.Support.v7.MediaRouter (#5941)
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!
2019-04-23 13:21:21 -06:00
Rui Marinho e822046427 Merge branch '3.6.0' into 4.0.0 2019-04-02 18:28:23 +01:00
Matthew Leibowitz 6950db8bfe [nuspec] Start using the 28.x versions of Android support (#5512) 2019-04-02 16:06:59 +01:00
E.Z. Hart f1297f93d5 Re-enable "Treat warnings as errors" (#5602)
* Enable "treat warnings as errors"

* Remove unnecessary for loop

* Remove properties which already exist in base class

* Make property hiding explicit and obsolete hiding property

* Move Treat Warnings as Errors setting to props file

* Fix weird quotation changes in Xamarin.Forms.Build.Tasks.csproj

* Scrub empty WarningsAsErrors tags

* Remove unused variable

* Fix TearDown method hiding in UI tests

* Fix Id member hiding in test for Bugzilla32871

* Fix RootPage member hiding in Bugzilla51503

* Fix RooPage member hiding in Issue1483

* Disable warnings for deprecated OpenGL calls

* Fix member hiding in test view models

* Fix RootPage member hiding in Issue1931

* Fix Id member hiding in Bugzilla42620

* Fix AutomationId member hiding in Bugzilla57114

* Fix Layout member hiding in Bugzilla40911

* Remove unused variables from Bugzilla31114

* Remove unused variable

* Fix various unused variable warnings

* Disable warning to leave example code for reference

* Fix unused variable from macOS test

* Remove unused members

* Fix unused variable warnings

* Fixed unused property warnings

* Fix warnings for unused code

* Disable 'await' warning

* Remove unused variable

* Adding pragma directives for await warnings

* Remove member hiding

* Turn off global "Treat warnings as errors" in other platforms

* Use MarkerId instead of obsolete Id member

* Fix await warnings in WPF GeocoderBackend

* Add missing await

* Disable warning for unused event
2019-03-27 18:38:38 +00:00
Shane Neuville 8ef50d5214
update to support less prone to freezing (#5080) 2019-01-29 15:52:41 -07:00
Shane Neuville aa0ce13129 Changes that VS Mac and Dev16 automatically make when you open SLN (#4969)
* vsmac changes these when you open it

* dev 16 changes
2019-01-14 10:41:46 +00:00
Stephane Delcroix 6d20db1a3c
hide obsolete API from editor (#4938)
- fixes #4772
2019-01-10 12:53:48 +01:00
Shane Neuville e3a83e1fa7
Material Design Renderers for the Material Visual (#4733)
* Use the auto-generated constants

* [Visual] Work on the Material Frame

* Improving the code for the sample

* Added a controller to help with frames that have additional padding
 - Android MaterialCardView does not use the default padding to determine where the content starts, rather it uses the content padding of the view because there is a border that does not affect the content

* [Visual] Added a few extra checks on Android to reduce unnecessary interop

* [Visual] A few more frame changes and some button tweaks

* [Visual] use the themers on iOS and save default properties

* [Visual] Add placeholders for themer and cache defaults

* [Visual] Added the material slider for iOS
 - Android does not have a custom control, so uses the existing renderer

* [enhancements] Move from duplicate LoadImageAsync code to GetNativeImageAsync

* [visual] Updated the controls to use the new iOS bits

* [visual] some fixes for material components

* [visual] Added hacks for material alerts

* [visual] removing the alert changes for the main branch

* [visual] Update the MaterialComponents NuGet

* [visual] Rework the theming/customization of Material controls on iOS

* [visual] fix the places where the user colors were being changed

* [visual] Improve the ColorStateList management for Android

* [visual] Re-implemented the Android ProgressBar as a fast, material renderer

* Material Entry

* [visual] Add Android ActivityIndicator

* filter out material layouts for 8.1

* remove folder

* fix __ANDROID_28__

* MaterialContextThemeWrapper

* [visual] remove the `IFrameController` interface

* [visual] reverting the changes to the Frame layout

* [visual] reverting whitespace

* [visual] make sure to raise both property changed

* formatting changes

* fixing colors on android to match with ios themes

* Update Xamarin.Forms.Platform.Android/Material/MaterialButtonRenderer.cs

Co-Authored-By: mattleibow <mattleibow@live.com>

* fix sizing of entry with infinite width size request

* update to release 28 of support

* Update Xamarin.Forms.Platform.Android/Resources/values/styles.xml

Co-Authored-By: PureWeen <shane94@hotmail.com>

* Update Xamarin.Forms.Platform.Android/Resources/values/styles.xml

Co-Authored-By: PureWeen <shane94@hotmail.com>

* PR Comment changes
2019-01-07 17:07:50 -07:00
Shane Neuville a391f69e26 update to preview9 and uncomment no longer broken interface (#4727) 2018-12-13 23:46:29 +00:00
Shane Neuville 4975d0cb85 update support and sync up nuspecs (#4571) 2018-11-29 13:00:20 +00:00
Shane Neuville 94e6621f72 [Enhancement] Add Visual progress behind feature flag (#4449) fixes #4435
* Visual

* add progress bar and fix ui tint color

* Progress Bar Updates

* ios padding fixes

* padding fix and button image positioning fixes

* added button themes

* disable tint and open up material android button

* change image to bank

* add overrides for Material Frame Renderer

* remove commented out code

* change back to Full linker

* applying comment fixes

* change comparison
2018-11-23 17:40:15 +00:00
Shane Neuville d7c20b7466 [Android] Convert android projects to package reference (#4310)
* [Android] Package Reference

* [Android] forwarders

* add package id to fix nuget restore confusion

* adding packageid to the more relevant projects
2018-11-06 16:09:31 +00:00
Jonathan Peppers 8b93ece95a [msbuild] use portable pdb files (#4201)
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.
2018-10-24 20:35:47 +02:00
Sylvain Gravel bd31e1e9fc [Android Maps] Make markers available to subclasses (#3751)
* Make markers available to subclasses

* Fix build

* Use Find instead of FirstOrDefault
2018-09-17 11:16:29 -07:00
Shane Neuville c11b2863e8 [Android] remove deprecated AndroidUseLatestPlatformSdk (#3672) 2018-08-28 13:04:23 +01:00
Stephane Delcroix c79c77dbdf [build] Version and strongname the Build.Tasks (#3118) 2018-06-28 12:04:16 +01:00
Sean Davies 67f87df3d4 SwipeGestureRecognizer (#2727)
* SwipeGesture

* Fix Build Error

* Remove unused var

* Update Xamarin.Forms.Controls.csproj

* Update Xamarin.Forms.ControlGallery.Android.csproj

* Update Xamarin.Forms.Maps.Android.csproj

* Update Xamarin.Forms.Core.UnitTests.csproj

* Update Xamarin.Forms.Platform.Android.AppLinks.csproj

* Update Xamarin.Forms.ControlGallery.Android.csproj

* Update Xamarin.Forms.Controls.csproj

* Update Xamarin.Forms.ControlGallery.Android.csproj

* Update GestureManager.cs
2018-05-28 11:49:05 +01:00
Rui Marinho a3bd00b5a7
[Android] Update android packages (#2803)
* Update all android support libraries

* Update nuget deps

* [Pages] Fix build - Increase java heap size

* [Nuspec]Udpate applinks nuspec
2018-05-24 17:48:44 +01:00
Rui Marinho c22b8b9e0f
Merge branch '3.1.0' 2018-05-15 16:16:52 +01:00
jcmanke b5f5d9f086 Fix pins not being removed from Map on Android (#2682) fixes #2411 2018-05-15 12:28:20 +01:00
jcmanke 9791291284 Map renderers listen for Pin property changes and update native pin controls. (#2685) fixes #2121 2018-05-15 12:27:29 +01:00
E.Z. Hart 789ca0c142 Fix VS errors when loading clean solution; prevent VS rewriting Android project files (#2083)
* Disable AndroidUseLatestPlatformSdk in VS so VS stops auto-updating Android projects;
Remove XF.targets imports from projects which don't need it;
Make XF.targets imports conditional on existence of XFBT DLL in VS to avoid errors

* More consistent check for VS

* Apply nicer VS check logic to Xamarin.Forms.Xaml.UnitTests.csproj

* Fix missing "'"

* Re-add XF.targets imports to PagesGallery native projects
2018-03-14 11:01:44 +00:00
E.Z. Hart 6a2499fe13
Revert "Disable AndroidUseLatestPlatformSdk so VS stops auto-updating Android projects;"
This reverts commit 3279709d95.
2018-03-12 09:56:53 -06:00
E.Z. Hart 3279709d95
Disable AndroidUseLatestPlatformSdk so VS stops auto-updating Android projects;
Remove XF.targets imports from projects which don't need it;
Make XF.targets imports conditional on existence of XFBT DLL to avoid errors
2018-03-11 18:49:34 -06:00
Rui Marinho 47da2f8bf5
Bump submodule and update docs (#1452)
* Bump submodule

* Bump

* Fix spelling

* bump

* Fix missing docs

* [Android]Move to v8 tools
2017-12-21 19:10:25 +00:00
Samantha Houts 748c781b96 Update obsolete messages for 2.5 2017-10-27 10:19:04 -07:00
Stephane Delcroix c0e89187bb [Test] Make sure we always test with different Cultures (#1219)
also get rid of the 'Turkey' build configuration
2017-10-24 10:41:33 +02:00
Rui Marinho 03180ad588
Fix Android version 2017-10-19 17:20:05 +01:00
Samantha Houts 74a317c2e2 [Android] Prevent ObjectDisposedExceptions in ListViews with Header/FooterTemplates (#1155)
* Update repro to include header/footers with bound props

* [Android] Clear renderers of ListView header/footers

And don't call `RemoveAllViews`, because that causes the ObjectDisposedExceptions.
2017-10-18 22:28:18 +01:00
Rui Marinho dff6ecd7b5 [Android] Applinks firebase 42 (#1107)
* Android AppLinks updated packages and refactor to comply with Firebase packages

* made nested classes internal

* removed notimplementedexception and added a Console log when on Failure

* removed Firebase init method. Changed Console for Android's native Exception logging

* formatted code styling with Visual Studio Community 2017 for Mac

* [Android] Update nuspec and gallery

* [Packages] Update android support packages for 25.4.0.2
2017-10-09 13:25:45 -07:00
E.Z. Hart 3aaed1b325 [All] Page embedding (#1124)
* Fix broken SetTextAppearance call when targeting below API 23

* Enable embedding XF apps in Android

* VS didn't save the project file

* Allow retrieving rendered XF VisualElements for use in UWP apps

* Prevent XF from slaughtering the menu bar in embedded scenarios

* ?

* Post-rebase fixups

* Create embedding test project for Android

* Create iOS test bed project

* Attempting to get functional embedded project

* Android and iOS functional testbed projects

* Basic embedding app on UWP

* First pass at handling navigation to Forms page from UWP

* Fleshed out example, added parameter checks, sealed wrapper class

* Create test page and load it from UWP

* Make DisplayAlert/DisplayActionSheet independent of Platform instance on UWP

* Set up test page for alerts/actionsheets on Android

* Move DisplayAlert/ActionSheet code to a helper class so embedded Forms can use it

* VS didn't save my changes

* Add test page for alerts and action sheets

* Get FrameworkElement from renderer

* Page -> ContentPage

* Can now display the webview embedded page

* Example working on iOS

* Repro of crash

* Remove the IStartActivityForResult dependency from FormsWebChromeClient

* Created repro

* Remove need for Forms.Context to create renderers

* Remove Forms.Context dependencies in ScrollViewRenderer

* Remove Forms.Context dependencies in FrameRenderer

* Remove Forms.Context dependencies

* Remove Context/Forms.Context dependencies in Drawable subclasses

* Remove some more Forms.Context dependencies

* CellAdapter no longer dependent on Forms.Context

* Obsolete ToAndroid using Forms.Context

* Remove Forms.Context dependencies in ResourceManager

* Remove need for Forms.Context for SupportsProgress

* Remove Forms.Context dependency for setting titlebar visibility

* Remove Forms.Context dependencies in GetAccentColor

* Some comments about caching

* Remove Forms.Context dependencies for AndroidPlatformServices and ResourceProvider

* Remove Forms.Context dependencies in Maps

* Disabled warnings for Forms.Context in CustomRenderers

* Filter logs so we don't get those annoying "parked" messages

* Filter alerts/actionsheets/activityindicator by context

* Clean up constructor debugging messages

* Remove old TODOs

* Set up test page for Device.Openuri

* Make AndroidDeviceInfo more resilient to multiple activity scenarios

* Use parameter instead of member

* Add missing parameterless constructors for embedded fragment wrappers

* Fix multiple popup subscriptions for embedded context

* Remove UpdateGlobalContext and Page Context attached property

* Obsolete static reference to Context

* Warnings as errors in embedded test bed projects

* Comment cleanup

* Clean up unused code

* Obsolete old constructor for DefaultRenderer

* Make sure embedded fragment wrappers handle disposing the platform

* Revert to old DependencyService registration for ResourceProvider;
use ApplicationContext for ResourceProvider;
Comments for everything happing in Forms.SetupInit

* Remove old TODO

* Make PopupManager take the correct type instead of casting a bunch

* Update docs

* Add missing nuspec entry for FormsEmbeddedPageWrapper

* Post-rebase cleanup

* Update docs

* Disable XF target validation so package restore works

* Restore InputTransparent handling lost in rebase

* Restore parameter lost during rebase

* Finalize the list of subscriptions to avoid 'modified collection' errors

* Avoid double-fetching Context

* Fix "with you package" typo
2017-10-09 10:51:55 -07:00
Kangho 171fa0faec Remove InternalsVisibleTo from Maps (#1019) 2017-07-24 16:23:14 -04:00
jcmanke dfda41b0bd Map renderer extensibility (#844)
* Added extensibility features to Maps

Android MapRenderer:
- Moved map initialization to protected virtual method OnMapReady, called by explicit implementation of IOnMapReady
-  Added protected virtual method CreateMarker for customization of pins

iOS MapRenderer:
- Added protected virtual method CreateAnnotation for customization of pins

Pin:
- Unsealed the Pin class
- Made Label a bindable property

* [Docs] Update docs
2017-04-11 23:52:04 +01:00
Jason Smith 8725484ab0 Convert Android maps to GetMapAsync call (#824)
* [A] Move map renderer to calling GetMapAsync

* [A] Make sure Map initializes correctly with Async map fetching
2017-03-21 11:38:36 +01:00
Rui Marinho 04211b2ba3 VSTS support (#803)
* Fix certs

* Try fix build reference

* Update to nuget 3.5

* Remove BingMapsSDK

* Revert git ignore change
2017-03-08 11:30:34 +00:00
kingces95 e6d5186c8a Remove InternalsVisibleTo from Core to XF.Platforms.* (#782)
* Remove InternalsVisibleTo from Core to XF.Platforms.*

* Changes per Jason's code review

* Move LockableObservableListWrapper to internals namespace

* Changes per Stephane's code review

* update docs

* Touch code to get CI to run tests

* Rebase; Update documentation
2017-03-07 14:56:24 -05:00
adrianknight89 f003cfd388 [iOS/Android] Move Map camera to correct region on layout change (#548)
* Move to region on layout change

* remove visibility check
2017-01-03 11:35:54 +00:00
Rui Marinho b645064d93 Fix tests on IOS10 [Do not merge] (#373)
* [UITests] Update packages

* [UITests] Fix formatting

* [UITests] Fix tests

* Add badges

* Update Android csproj

* fix
2016-10-04 00:45:57 +01:00
E.Z. Hart 6aa96a4391 Clean up listeners and tag on ButtonRenderer during disposal (#360)
Clean up OnFocusChangeListener on ViewRenderer during disposal
Prevent memory leak of PageContainer/FragmentContainer when animating fragment transitions
Call Destroy() on Map during disposal

Rebasing
2016-09-27 11:51:22 +01:00
E.Z. Hart 5b1bad9a11 Format MapRenderer according to project code style (#362)
* Format MapRenderer according to project code style

* Using var instead of explicit type for Markers
2016-09-16 19:55:38 +01:00
Marcus Lum 61f34d113c Allow Custom Android MapRenderers to override the default MapView options (#285)
* Allow Custom Android MapRenderers to override the default MapView options

* Larger effort to use CreateNativeControl () everywhere instead of just in the Android AppCompat renderers.
2016-08-30 10:37:07 -07:00
E.Z. Hart 9ae4ea3c82 Prepare Preserve attribute usage for removal of InternalsVisibleTo (#121)
* Move PreserveAttribute to Internals to prep for removal of InternalsVisibleTo

* Update docs
2016-04-26 11:20:55 -04:00
Samantha Houts b91cc14b23 [Android] Add missing 23.3.0 package dependencies 2016-04-20 12:06:48 -07:00
Rui Marinho d9ed63f0ad Update android support packages to 23.3 (#102) 2016-04-16 14:07:10 -07:00
kingces95 10f6c08ceb Mop up enabling warnings as errors (#78) 2016-04-12 11:44:30 -07:00
Paul DiPietro b2ad3e53a8 Enable CS0618 warnings as errors (#72)
CS0618 occurs when using an obsolete property or method.

https://msdn.microsoft.com/en-us/library/x5ye6x1e.aspx
2016-04-11 09:50:28 -07:00