Skip to content

Commit ff3c185

Browse files
bparrishMinesadsonpleal
authored andcommitted
[wifi_info_flutter] Migrate to null safety (flutter#3425)
1 parent 56ce3b3 commit ff3c185

File tree

5 files changed

+29
-31
lines changed

5 files changed

+29
-31
lines changed

packages/wifi_info_flutter/wifi_info_flutter/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 2.0.0-nullsafety
2+
3+
* Migrate to null safety.
4+
15
## 1.0.4
26

37
* Android: Add Log warning for unsatisfied requirement(s) in Android P or higher.

packages/wifi_info_flutter/wifi_info_flutter/integration_test/wifi_info_test.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
// Use of this source code is governed by a BSD-style license that can be
33
// found in the LICENSE file.
44

5+
// @dart = 2.9
6+
57
import 'dart:io';
68
import 'package:integration_test/integration_test.dart';
79
import 'package:flutter_test/flutter_test.dart';

packages/wifi_info_flutter/wifi_info_flutter/lib/wifi_info_flutter.dart

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -13,19 +13,14 @@ export 'package:wifi_info_flutter_platform_interface/wifi_info_flutter_platform_
1313

1414
/// Checks WI-FI status and more.
1515
class WifiInfo {
16+
WifiInfo._();
17+
1618
/// Constructs a singleton instance of [WifiInfo].
1719
///
1820
/// [WifiInfo] is designed to work as a singleton.
19-
factory WifiInfo() {
20-
if (_singleton == null) {
21-
_singleton = WifiInfo._();
22-
}
23-
return _singleton;
24-
}
25-
26-
WifiInfo._();
21+
factory WifiInfo() => _singleton;
2722

28-
static WifiInfo _singleton;
23+
static final WifiInfo _singleton = WifiInfo._();
2924

3025
static WifiInfoFlutterPlatform get _platform =>
3126
WifiInfoFlutterPlatform.instance;
@@ -36,7 +31,7 @@ class WifiInfo {
3631
///
3732
/// From android 8.0 onwards the GPS must be ON (high accuracy)
3833
/// in order to be able to obtain the SSID.
39-
Future<String> getWifiName() {
34+
Future<String?> getWifiName() {
4035
return _platform.getWifiName();
4136
}
4237

@@ -46,12 +41,12 @@ class WifiInfo {
4641
///
4742
/// From Android 8.0 onwards the GPS must be ON (high accuracy)
4843
/// in order to be able to obtain the BSSID.
49-
Future<String> getWifiBSSID() {
44+
Future<String?> getWifiBSSID() {
5045
return _platform.getWifiBSSID();
5146
}
5247

5348
/// Obtains the IP address of the connected wifi network
54-
Future<String> getWifiIP() {
49+
Future<String?> getWifiIP() {
5550
return _platform.getWifiIP();
5651
}
5752

packages/wifi_info_flutter/wifi_info_flutter/pubspec.yaml

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,18 @@
11
name: wifi_info_flutter
22
description: A new flutter plugin project.
3-
version: 1.0.4
3+
version: 2.0.0-nullsafety
44
homepage: https://github.com/flutter/plugins/tree/master/packages/wifi_info_flutter/wifi_info_flutter
55

66
environment:
7-
sdk: ">=2.7.0 <3.0.0"
7+
sdk: ">=2.12.0-0 <3.0.0"
88
flutter: ">=1.20.0"
99

1010
dependencies:
1111
flutter:
1212
sdk: flutter
13-
wifi_info_flutter_platform_interface: ^1.0.0
13+
wifi_info_flutter_platform_interface: ^2.0.0-nullsafety
1414

1515
dev_dependencies:
16-
mockito: ^4.1.1
17-
plugin_platform_interface: ^1.0.0
1816
integration_test:
1917
path: ../../integration_test
2018
flutter_test:

packages/wifi_info_flutter/wifi_info_flutter/test/wifi_info_flutter_test.dart

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,9 @@
22
// Use of this source code is governed by a BSD-style license that can be
33
// found in the LICENSE file.
44

5-
// @dart = 2.8
6-
75
import 'package:wifi_info_flutter/wifi_info_flutter.dart';
86
import 'package:wifi_info_flutter_platform_interface/wifi_info_flutter_platform_interface.dart';
97
import 'package:flutter_test/flutter_test.dart';
10-
import 'package:plugin_platform_interface/plugin_platform_interface.dart';
11-
import 'package:mockito/mockito.dart';
128

139
const String kWifiNameResult = '1337wifi';
1410
const String kWifiBSSIDResult = 'c0:ff:33:c0:d3:55';
@@ -20,7 +16,7 @@ const LocationAuthorizationStatus kGetLocationResult =
2016

2117
void main() {
2218
group('$WifiInfo', () {
23-
WifiInfo wifiInfo;
19+
late WifiInfo wifiInfo;
2420
MockWifiInfoFlutterPlatform fakePlatform;
2521

2622
setUp(() async {
@@ -30,17 +26,17 @@ void main() {
3026
});
3127

3228
test('getWifiName', () async {
33-
String result = await wifiInfo.getWifiName();
29+
String? result = await wifiInfo.getWifiName();
3430
expect(result, kWifiNameResult);
3531
});
3632

3733
test('getWifiBSSID', () async {
38-
String result = await wifiInfo.getWifiBSSID();
34+
String? result = await wifiInfo.getWifiBSSID();
3935
expect(result, kWifiBSSIDResult);
4036
});
4137

4238
test('getWifiIP', () async {
43-
String result = await wifiInfo.getWifiIP();
39+
String? result = await wifiInfo.getWifiIP();
4440
expect(result, kWifiIpAddressResult);
4541
});
4642

@@ -58,27 +54,30 @@ void main() {
5854
});
5955
}
6056

61-
class MockWifiInfoFlutterPlatform extends Mock
62-
with MockPlatformInterfaceMixin
63-
implements WifiInfoFlutterPlatform {
64-
Future<String> getWifiName() async {
57+
class MockWifiInfoFlutterPlatform extends WifiInfoFlutterPlatform {
58+
@override
59+
Future<String?> getWifiName() async {
6560
return kWifiNameResult;
6661
}
6762

68-
Future<String> getWifiBSSID() async {
63+
@override
64+
Future<String?> getWifiBSSID() async {
6965
return kWifiBSSIDResult;
7066
}
7167

72-
Future<String> getWifiIP() async {
68+
@override
69+
Future<String?> getWifiIP() async {
7370
return kWifiIpAddressResult;
7471
}
7572

73+
@override
7674
Future<LocationAuthorizationStatus> requestLocationServiceAuthorization({
7775
bool requestAlwaysLocationUsage = false,
7876
}) async {
7977
return kRequestLocationResult;
8078
}
8179

80+
@override
8281
Future<LocationAuthorizationStatus> getLocationServiceAuthorization() async {
8382
return kGetLocationResult;
8483
}

0 commit comments

Comments
 (0)