Skip to content
This repository has been archived by the owner on Feb 22, 2023. It is now read-only.

[connectivity_platform_interface] Add ConnectivityResult.unknown. #2560

Merged
merged 2 commits into from
Feb 27, 2020

Conversation

ditman
Copy link
Member

@ditman ditman commented Feb 27, 2020

Description

Some platforms might not be able to determine the connectivity status of
the device on which the app is running (like some desktop Web browsers).

This allows users of the connectivity plugin to distinguish between
"no connectivity" and "connectivity couldn't be determined".

This requires a Major Version bump for users of the plugin who may be
switch/case on ConnectivityResult values, since Dart forces users to be
exhaustive in those cases (if they don't have a "default" entry, this
new value becomes a compilation error in their code).

This will also cause a Major Version bump in the core connectivity
plugin itself. This change will happen in a separate PR.

Related Issues

Needed for: #2545

Checklist

Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

  • I read the Contributor Guide and followed the process outlined there for submitting PRs.
  • My PR includes unit or integration tests for all changed/updated/fixed behaviors (See Contributor Guide).
  • All existing and new tests are passing.
  • I updated/added relevant documentation (doc comments with ///).
  • The analyzer (flutter analyze) does not report any problems on my PR.
  • I read and followed the Flutter Style Guide.
  • The title of the PR starts with the name of the plugin surrounded by square brackets, e.g. [shared_preferences]
  • I updated pubspec.yaml with an appropriate new version according to the pub versioning philosophy.
  • I updated CHANGELOG.md to add a description of the change.
  • I signed the CLA.
  • I am willing to follow-up on review comments in a timely manner.

Breaking Change

Does your PR require plugin users to manually update their apps to accommodate your change?

  • Yes, this is a breaking change (please indicate a breaking change in CHANGELOG.md and increment major revision).

Some platforms might not be able to determine the connectivity status of
the device on which the app is running (like some desktop Web browsers).

This allows users of the `connectivity` plugin to distinguish between
"no connectivity" and "connectivity couldn't be determined".

This requires a Major Version bump for users of the plugin who may be
switch/case on ConnectivityResult values, since Dart forces users to be
exhaustive in those cases (if they don't have a "default" entry, this
new value becomes a compilation error in their code).

This will also cause a Major Version bump in the core `connectivity`
plugin itself.
@ditman ditman force-pushed the connectivity-unknown-platform branch from 84bf52a to 7c76492 Compare February 27, 2020 00:26
@ditman
Copy link
Member Author

ditman commented Feb 27, 2020

(Force-pushed after rebase with latest master)

Copy link
Contributor

@franciscojma86 franciscojma86 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM with one comment

@ditman ditman merged commit 4411247 into flutter:master Feb 27, 2020
@ditman ditman deleted the connectivity-unknown-platform branch February 27, 2020 01:01
ditman added a commit that referenced this pull request Feb 27, 2020
@ditman
Copy link
Member Author

ditman commented Feb 27, 2020

(This has been fully reverted)

EdwinRomelta pushed a commit to EdwinRomelta/plugins that referenced this pull request Jun 11, 2020
…lutter#2560)

Some platforms might not be able to determine the connectivity status of
the device on which the app is running (like some desktop Web browsers).

This allows users of the `connectivity` plugin to distinguish between
"no connectivity" and "connectivity couldn't be determined".

This requires a Major Version bump for users of the plugin who may be
switch/case on ConnectivityResult values, since Dart forces users to be
exhaustive in those cases (if they don't have a "default" entry, this
new value becomes a compilation error in their code).

This will also cause a Major Version bump in the core `connectivity`
plugin itself.

Note that by default, the ConnectivityResults returned by the MethodChannel implementation will now default to 'unknown' if they're not explicitly "none", so this might have some effect in your code!
FlutterSu pushed a commit to FlutterSu/flutter-plugins that referenced this pull request Nov 20, 2020
…lutter#2560)

Some platforms might not be able to determine the connectivity status of
the device on which the app is running (like some desktop Web browsers).

This allows users of the `connectivity` plugin to distinguish between
"no connectivity" and "connectivity couldn't be determined".

This requires a Major Version bump for users of the plugin who may be
switch/case on ConnectivityResult values, since Dart forces users to be
exhaustive in those cases (if they don't have a "default" entry, this
new value becomes a compilation error in their code).

This will also cause a Major Version bump in the core `connectivity`
plugin itself.

Note that by default, the ConnectivityResults returned by the MethodChannel implementation will now default to 'unknown' if they're not explicitly "none", so this might have some effect in your code!
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants