Skip to content

feat(connectivity_plus): add ConnectivityResult.satellite#3771

Open
Gibbo97 wants to merge 5 commits intofluttercommunity:mainfrom
Gibbo97:feat/connectivity-plus-satellite
Open

feat(connectivity_plus): add ConnectivityResult.satellite#3771
Gibbo97 wants to merge 5 commits intofluttercommunity:mainfrom
Gibbo97:feat/connectivity-plus-satellite

Conversation

@Gibbo97
Copy link
Copy Markdown

@Gibbo97 Gibbo97 commented Mar 5, 2026

satellite/constrained links

Description

This change adds support for new APIs in Android and iOS which indicate a device is on a constrained or satellite cell connection.

Satellite connectivity is now available to end users via carriers such as T-Mobile/SpaceX Starlink Direct to Cell and One NZ/SpaceX in New Zealand, with more carriers planning to launch in 2026. Apps need to know when they are on a satellite connection for the same reason they need to know about metered mobile data - satellite has high latency and constrained bandwidth, and many operations (large file downloads, background sync of media) should be deferred or skipped.

Android and iOS have added new API's to allow developers to detect if they are on a very low bandwidth connection; NWPath.isUltraConstrained, NetworkCapabilities.TRANSPORT_SATELLITE

There are no existing Flutter packages covering this. Developers are currently forced to write their own native plugins

Related Issues

Implements: #3765

Checklist

  • I read the Contributor Guide and followed the process outlined there for submitting PRs.
  • I titled the PR using Conventional Commits.
  • I did not modify the CHANGELOG.md nor the plugin version in pubspec.yaml files.
  • All existing and new tests are passing.
  • The analyzer (flutter analyze) does not report any problems on my PR.

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 that with a ! in the title as explained in Conventional Commits).
  • No, this is not a breaking change.

Copy link
Copy Markdown
Collaborator

@vbuberen vbuberen left a comment

Choose a reason for hiding this comment

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

From Android side no questions - all clear, except that minor version check.
Will do another round for iOS once get some more time to check all the docs.

Thanks for making this.

Gibbo97 and others added 2 commits March 13, 2026 15:21
…java/dev/fluttercommunity/plus/connectivity/Connectivity.java

Co-authored-by: Volodymyr Buberenko <vbuberen@users.noreply.github.com>
…e/lib/src/enums.dart

Co-authored-by: Volodymyr Buberenko <vbuberen@users.noreply.github.com>
Copy link
Copy Markdown
Collaborator

@vbuberen vbuberen left a comment

Choose a reason for hiding this comment

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

Finally got to the second review as would like to release this feature in nearest days and noticed that iOS/MacOS part needs changes. Had this impression during past review, but only now was able to dig into docs properly.

Please adjust both iOS and MacOS parts.

Unfortunately, I don't have any possibility to test this properly with real devices as don't have such carriers around. Do you have anything like this available?

@Gibbo97
Copy link
Copy Markdown
Author

Gibbo97 commented Mar 25, 2026

@vbuberen, agreed on the changes, my mistake. I will update that in the next couple hours.

As for testing, I can do it for iOS. Just have to drive out of my city somewhat to get to an area with no terrestrial cell service so it switches over. Would take me a few days to get time. I have found somewhere that worked a couple weeks ago to test our own app.

Unfortunately I don't have a new enough Android device to check that platform. Not sure if you would be comfortable merging without testing?

@Gibbo97
Copy link
Copy Markdown
Author

Gibbo97 commented Mar 26, 2026

Have updated

@Gibbo97 Gibbo97 force-pushed the feat/connectivity-plus-satellite branch from c3ca093 to fec2b84 Compare March 26, 2026 00:28
@vbuberen
Copy link
Copy Markdown
Collaborator

vbuberen commented Mar 26, 2026

As for testing, I can do it for iOS. Just have to drive out of my city somewhat to get to an area with no terrestrial cell service so it switches over. Would take me a few days to get time. I have found somewhere that worked a couple weeks ago to test our own app.

That would definitely work. Better than not testing at all. Absolutely no rush from my side - whenever you get a chance.

Unfortunately I don't have a new enough Android device to check that platform. Not sure if you would be comfortable merging without testing?

I think we can live with that, especially since Android part seems really straightforward. Hope that people will share feedback right away in case Android doesn't work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants