tree ca4b98eada49465b9fc0ed39a75fde55b0fa017d
parent aabe9207ca9743c6c04298d4a9a7e508b57f7b39
author Francisco Magdaleno <franciscojma86@gmail.com> 1582156999 -0800
committer GitHub <noreply@github.com> 1582156999 -0800
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJeTczHCRBK7hj4Ov3rIwAAdHIIAHgU9DY2NrmwqvZtLhMRc/Cq
 isRFvom9GKk1M6sbwWcp71+ocfruAFRXPFBY8Pu5oJ1kiFnzVCv88zFOooDh7krl
 YWsFb3Gx8ILQDv5d9XCS2TkSCR9tVh4w4rZGs29pB//+EF/c6JSAk1R7iWHpVdqW
 o8lXKtgGyKbwjt12iACG3dUR6STbHAZ0P95lzfUkN0hRsHMjczXSPuk+r+a30z6R
 sfBVdziZ5xu0EkAwNP95h9WAxM2dCRRFk4MV8c+qnTDsY0jkFBhAMfh0+RZKmxrR
 GdQsXBYHrH7qfzngp0nTEyEKDmzd+ktXNiZdR6wVXe4rhwn3A3nO8a+nKQzmS8s=
 =auTp
 -----END PGP SIGNATURE-----
 

[connectivity] Endorse macos implementation (#2538)

* Add files and name

* Passed all methods

* Works for Android

* Small cleanup

* Starting tests

* [connectivity] Move as much logic as possible to the MethodChannel implementation.

connectivity_platform_interface:

* Bring ConnectivityResult and LocationAuthorizationStatus enums from
core package.
* Use the above Enums as return values for ConnectivityPlatformInterface
methods.
* Modify the MethodChannel implementation so it returns the right types.
* Bring utility methods, asserts and other logic that is only needed on
the MethodChannel implementation from the core package, so it's simpler.
* Bring MethodChannel unit tests from core package.

connectivity (core pkg):

* Reexport ConnectivityResult and LocationAuthorizationStatus enums so
plugin users can see them.
* Remove MethodChannel unit tests (moved to platform_interface).

* Format test

* Move all files

* Fix versions

* Fix version

* Fix path

* Add test

* Add test

* Add no-op macos

* Endorse in pubspec

* Update version and README

* Add macos example

* Add e2e test files

* Update version and changelog

* Remove ephemeral

* Change version

* Update versions

* Remove registrant

* Change to any

Co-authored-by: David Iglesias <ditman@gmail.com>
