diff --git a/packages/connectivity_plus/connectivity_plus/android/src/main/java/dev/fluttercommunity/plus/connectivity/Connectivity.java b/packages/connectivity_plus/connectivity_plus/android/src/main/java/dev/fluttercommunity/plus/connectivity/Connectivity.java index d6a1befd05..13092d1fb7 100644 --- a/packages/connectivity_plus/connectivity_plus/android/src/main/java/dev/fluttercommunity/plus/connectivity/Connectivity.java +++ b/packages/connectivity_plus/connectivity_plus/android/src/main/java/dev/fluttercommunity/plus/connectivity/Connectivity.java @@ -14,6 +14,7 @@ public class Connectivity { static final String CONNECTIVITY_NONE = "none"; static final String CONNECTIVITY_WIFI = "wifi"; static final String CONNECTIVITY_MOBILE = "mobile"; + static final String CONNECTIVITY_ETHERNET = "ethernet"; private ConnectivityManager connectivityManager; public Connectivity(ConnectivityManager connectivityManager) { @@ -27,10 +28,12 @@ String getNetworkType() { if (capabilities == null) { return CONNECTIVITY_NONE; } - if (capabilities.hasTransport(NetworkCapabilities.TRANSPORT_WIFI) - || capabilities.hasTransport(NetworkCapabilities.TRANSPORT_ETHERNET)) { + if (capabilities.hasTransport(NetworkCapabilities.TRANSPORT_WIFI)) { return CONNECTIVITY_WIFI; } + if (capabilities.hasTransport(NetworkCapabilities.TRANSPORT_ETHERNET)) { + return CONNECTIVITY_ETHERNET; + } if (capabilities.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR)) { return CONNECTIVITY_MOBILE; } @@ -49,6 +52,7 @@ private String getNetworkTypeLegacy() { int type = info.getType(); switch (type) { case ConnectivityManager.TYPE_ETHERNET: + return "ethernet"; case ConnectivityManager.TYPE_WIFI: case ConnectivityManager.TYPE_WIMAX: return "wifi"; diff --git a/packages/connectivity_plus/connectivity_plus_linux/CHANGELOG.md b/packages/connectivity_plus/connectivity_plus_linux/CHANGELOG.md index e6ec53645e..227661893b 100644 --- a/packages/connectivity_plus/connectivity_plus_linux/CHANGELOG.md +++ b/packages/connectivity_plus/connectivity_plus_linux/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.1.0 + +- Add ethernet as connectivity result + ## 1.0.3 - Update D-Bus package dependency diff --git a/packages/connectivity_plus/connectivity_plus_linux/lib/src/connectivity_real.dart b/packages/connectivity_plus/connectivity_plus_linux/lib/src/connectivity_real.dart index 5da0a19945..542a74bd0e 100644 --- a/packages/connectivity_plus/connectivity_plus_linux/lib/src/connectivity_real.dart +++ b/packages/connectivity_plus/connectivity_plus_linux/lib/src/connectivity_real.dart @@ -39,11 +39,12 @@ class ConnectivityLinux extends ConnectivityPlatform { if (client.connectivity != NetworkManagerConnectivityState.full) { return ConnectivityResult.none; } - // ### TODO: ConnectivityResult.ethernet - if (client.primaryConnectionType.contains('wireless') || - client.primaryConnectionType.contains('ethernet')) { + if (client.primaryConnectionType.contains('wireless')) { return ConnectivityResult.wifi; } + if (client.primaryConnectionType.contains('ethernet')) { + return ConnectivityResult.ethernet; + } return ConnectivityResult.mobile; } diff --git a/packages/connectivity_plus/connectivity_plus_linux/pubspec.yaml b/packages/connectivity_plus/connectivity_plus_linux/pubspec.yaml index aacff40173..60182f9da7 100644 --- a/packages/connectivity_plus/connectivity_plus_linux/pubspec.yaml +++ b/packages/connectivity_plus/connectivity_plus_linux/pubspec.yaml @@ -2,7 +2,7 @@ name: connectivity_plus_linux description: Linux implementation of the connectivity_plus plugin homepage: https://plus.fluttercommunity.dev/ repository: https://github.com/fluttercommunity/plus_plugins/tree/main/packages/ -version: 1.0.3 +version: 1.1.0 environment: sdk: ">=2.12.0 <3.0.0" @@ -11,7 +11,7 @@ environment: dependencies: flutter: sdk: flutter - connectivity_plus_platform_interface: ^1.0.2 + connectivity_plus_platform_interface: ^1.1.0 dbus: ^0.5.1 meta: ^1.3.0 nm: ^0.3.0 diff --git a/packages/connectivity_plus/connectivity_plus_platform_interface/CHANGELOG.md b/packages/connectivity_plus/connectivity_plus_platform_interface/CHANGELOG.md index 937ccdd844..232452d953 100644 --- a/packages/connectivity_plus/connectivity_plus_platform_interface/CHANGELOG.md +++ b/packages/connectivity_plus/connectivity_plus_platform_interface/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.1.0 + +- Add ethernet as connectivity result + ## 1.0.2 - Update connectivity plus diff --git a/packages/connectivity_plus/connectivity_plus_platform_interface/lib/src/enums.dart b/packages/connectivity_plus/connectivity_plus_platform_interface/lib/src/enums.dart index 18bc300027..6444f713fc 100644 --- a/packages/connectivity_plus/connectivity_plus_platform_interface/lib/src/enums.dart +++ b/packages/connectivity_plus/connectivity_plus_platform_interface/lib/src/enums.dart @@ -3,6 +3,9 @@ enum ConnectivityResult { /// WiFi: Device connected via Wi-Fi wifi, + /// Ethernet: Device connected to ethernet network + ethernet, + /// Mobile: Device connected to cellular network mobile, diff --git a/packages/connectivity_plus/connectivity_plus_platform_interface/lib/src/utils.dart b/packages/connectivity_plus/connectivity_plus_platform_interface/lib/src/utils.dart index b91dc88fc2..d6466fa586 100644 --- a/packages/connectivity_plus/connectivity_plus_platform_interface/lib/src/utils.dart +++ b/packages/connectivity_plus/connectivity_plus_platform_interface/lib/src/utils.dart @@ -5,6 +5,8 @@ ConnectivityResult parseConnectivityResult(String state) { switch (state) { case 'wifi': return ConnectivityResult.wifi; + case 'ethernet': + return ConnectivityResult.ethernet; case 'mobile': return ConnectivityResult.mobile; case 'none': diff --git a/packages/connectivity_plus/connectivity_plus_platform_interface/pubspec.yaml b/packages/connectivity_plus/connectivity_plus_platform_interface/pubspec.yaml index 780771a1e5..5f86ebabb0 100644 --- a/packages/connectivity_plus/connectivity_plus_platform_interface/pubspec.yaml +++ b/packages/connectivity_plus/connectivity_plus_platform_interface/pubspec.yaml @@ -1,6 +1,6 @@ name: connectivity_plus_platform_interface description: A common platform interface for the connectivity_plus plugin. -version: 1.0.2 +version: 1.1.0 homepage: https://plus.fluttercommunity.dev/ repository: https://github.com/fluttercommunity/plus_plugins/tree/main/packages/ diff --git a/packages/connectivity_plus/connectivity_plus_web/CHANGELOG.md b/packages/connectivity_plus/connectivity_plus_web/CHANGELOG.md index a651e48471..0b04d6805c 100644 --- a/packages/connectivity_plus/connectivity_plus_web/CHANGELOG.md +++ b/packages/connectivity_plus/connectivity_plus_web/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.1.0 + +- Add ethernet as connectivity result + ## 1.0.2 - Update connectivity plus diff --git a/packages/connectivity_plus/connectivity_plus_web/lib/src/utils/connectivity_result.dart b/packages/connectivity_plus/connectivity_plus_web/lib/src/utils/connectivity_result.dart index c7edb79970..a9d7ae4303 100644 --- a/packages/connectivity_plus/connectivity_plus_web/lib/src/utils/connectivity_result.dart +++ b/packages/connectivity_plus/connectivity_plus_web/lib/src/utils/connectivity_result.dart @@ -8,12 +8,12 @@ ConnectivityResult networkInformationToConnectivityResult( if (info.downlink == 0 && info.rtt == 0) { return ConnectivityResult.none; } - if (info.effectiveType != null) { - return _effectiveTypeToConnectivityResult(info.effectiveType!); - } if (info.type != null) { return _typeToConnectivityResult(info.type!); } + if (info.effectiveType != null) { + return _effectiveTypeToConnectivityResult(info.effectiveType!); + } return ConnectivityResult.none; } @@ -42,6 +42,8 @@ ConnectivityResult _typeToConnectivityResult(String type) { case 'other': case 'unknown': return ConnectivityResult.mobile; + case 'ethernet': + return ConnectivityResult.ethernet; default: return ConnectivityResult.wifi; } diff --git a/packages/connectivity_plus/connectivity_plus_web/pubspec.yaml b/packages/connectivity_plus/connectivity_plus_web/pubspec.yaml index 209e6a6def..7828592dd3 100644 --- a/packages/connectivity_plus/connectivity_plus_web/pubspec.yaml +++ b/packages/connectivity_plus/connectivity_plus_web/pubspec.yaml @@ -1,6 +1,6 @@ name: connectivity_plus_web description: An implementation for the web platform of the Flutter `connectivity_plus` plugin. This uses the NetworkInformation Web API, with a fallback to Navigator.onLine. -version: 1.0.2 +version: 1.1.0 homepage: https://plus.fluttercommunity.dev/ repository: https://github.com/fluttercommunity/plus_plugins/tree/main/packages/