diff --git a/packages/wifi_info_flutter/wifi_info_flutter/CHANGELOG.md b/packages/wifi_info_flutter/wifi_info_flutter/CHANGELOG.md index fa68eed175b7..c98140eedcf0 100644 --- a/packages/wifi_info_flutter/wifi_info_flutter/CHANGELOG.md +++ b/packages/wifi_info_flutter/wifi_info_flutter/CHANGELOG.md @@ -1,3 +1,7 @@ +## 2.0.0-nullsafety + +* Migrate to null safety. + ## 1.0.4 * Android: Add Log warning for unsatisfied requirement(s) in Android P or higher. diff --git a/packages/wifi_info_flutter/wifi_info_flutter/integration_test/wifi_info_test.dart b/packages/wifi_info_flutter/wifi_info_flutter/integration_test/wifi_info_test.dart index 103dc54a1eaa..4760b88d9019 100644 --- a/packages/wifi_info_flutter/wifi_info_flutter/integration_test/wifi_info_test.dart +++ b/packages/wifi_info_flutter/wifi_info_flutter/integration_test/wifi_info_test.dart @@ -2,6 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +// @dart = 2.9 + import 'dart:io'; import 'package:integration_test/integration_test.dart'; import 'package:flutter_test/flutter_test.dart'; diff --git a/packages/wifi_info_flutter/wifi_info_flutter/lib/wifi_info_flutter.dart b/packages/wifi_info_flutter/wifi_info_flutter/lib/wifi_info_flutter.dart index 1183bf6c74bf..a2a69d161f5a 100644 --- a/packages/wifi_info_flutter/wifi_info_flutter/lib/wifi_info_flutter.dart +++ b/packages/wifi_info_flutter/wifi_info_flutter/lib/wifi_info_flutter.dart @@ -13,19 +13,14 @@ export 'package:wifi_info_flutter_platform_interface/wifi_info_flutter_platform_ /// Checks WI-FI status and more. class WifiInfo { + WifiInfo._(); + /// Constructs a singleton instance of [WifiInfo]. /// /// [WifiInfo] is designed to work as a singleton. - factory WifiInfo() { - if (_singleton == null) { - _singleton = WifiInfo._(); - } - return _singleton; - } - - WifiInfo._(); + factory WifiInfo() => _singleton; - static WifiInfo _singleton; + static final WifiInfo _singleton = WifiInfo._(); static WifiInfoFlutterPlatform get _platform => WifiInfoFlutterPlatform.instance; @@ -36,7 +31,7 @@ class WifiInfo { /// /// From android 8.0 onwards the GPS must be ON (high accuracy) /// in order to be able to obtain the SSID. - Future getWifiName() { + Future getWifiName() { return _platform.getWifiName(); } @@ -46,12 +41,12 @@ class WifiInfo { /// /// From Android 8.0 onwards the GPS must be ON (high accuracy) /// in order to be able to obtain the BSSID. - Future getWifiBSSID() { + Future getWifiBSSID() { return _platform.getWifiBSSID(); } /// Obtains the IP address of the connected wifi network - Future getWifiIP() { + Future getWifiIP() { return _platform.getWifiIP(); } diff --git a/packages/wifi_info_flutter/wifi_info_flutter/pubspec.yaml b/packages/wifi_info_flutter/wifi_info_flutter/pubspec.yaml index b8306a0696d2..0fbc27866201 100644 --- a/packages/wifi_info_flutter/wifi_info_flutter/pubspec.yaml +++ b/packages/wifi_info_flutter/wifi_info_flutter/pubspec.yaml @@ -1,20 +1,18 @@ name: wifi_info_flutter description: A new flutter plugin project. -version: 1.0.4 +version: 2.0.0-nullsafety homepage: https://github.com/flutter/plugins/tree/master/packages/wifi_info_flutter/wifi_info_flutter environment: - sdk: ">=2.7.0 <3.0.0" + sdk: ">=2.12.0-0 <3.0.0" flutter: ">=1.20.0" dependencies: flutter: sdk: flutter - wifi_info_flutter_platform_interface: ^1.0.0 + wifi_info_flutter_platform_interface: ^2.0.0-nullsafety dev_dependencies: - mockito: ^4.1.1 - plugin_platform_interface: ^1.0.0 integration_test: path: ../../integration_test flutter_test: diff --git a/packages/wifi_info_flutter/wifi_info_flutter/test/wifi_info_flutter_test.dart b/packages/wifi_info_flutter/wifi_info_flutter/test/wifi_info_flutter_test.dart index a3a55170bce5..19e84f696f7f 100644 --- a/packages/wifi_info_flutter/wifi_info_flutter/test/wifi_info_flutter_test.dart +++ b/packages/wifi_info_flutter/wifi_info_flutter/test/wifi_info_flutter_test.dart @@ -2,13 +2,9 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// @dart = 2.8 - import 'package:wifi_info_flutter/wifi_info_flutter.dart'; import 'package:wifi_info_flutter_platform_interface/wifi_info_flutter_platform_interface.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:plugin_platform_interface/plugin_platform_interface.dart'; -import 'package:mockito/mockito.dart'; const String kWifiNameResult = '1337wifi'; const String kWifiBSSIDResult = 'c0:ff:33:c0:d3:55'; @@ -20,7 +16,7 @@ const LocationAuthorizationStatus kGetLocationResult = void main() { group('$WifiInfo', () { - WifiInfo wifiInfo; + late WifiInfo wifiInfo; MockWifiInfoFlutterPlatform fakePlatform; setUp(() async { @@ -30,17 +26,17 @@ void main() { }); test('getWifiName', () async { - String result = await wifiInfo.getWifiName(); + String? result = await wifiInfo.getWifiName(); expect(result, kWifiNameResult); }); test('getWifiBSSID', () async { - String result = await wifiInfo.getWifiBSSID(); + String? result = await wifiInfo.getWifiBSSID(); expect(result, kWifiBSSIDResult); }); test('getWifiIP', () async { - String result = await wifiInfo.getWifiIP(); + String? result = await wifiInfo.getWifiIP(); expect(result, kWifiIpAddressResult); }); @@ -58,27 +54,30 @@ void main() { }); } -class MockWifiInfoFlutterPlatform extends Mock - with MockPlatformInterfaceMixin - implements WifiInfoFlutterPlatform { - Future getWifiName() async { +class MockWifiInfoFlutterPlatform extends WifiInfoFlutterPlatform { + @override + Future getWifiName() async { return kWifiNameResult; } - Future getWifiBSSID() async { + @override + Future getWifiBSSID() async { return kWifiBSSIDResult; } - Future getWifiIP() async { + @override + Future getWifiIP() async { return kWifiIpAddressResult; } + @override Future requestLocationServiceAuthorization({ bool requestAlwaysLocationUsage = false, }) async { return kRequestLocationResult; } + @override Future getLocationServiceAuthorization() async { return kGetLocationResult; }