Navaron Bracke

deprecate EncryptionType.none; fallback to EncryptionType.unknown for unrecognized values

1 /// Wifi encryption type constants. 1 /// Wifi encryption type constants.
2 enum EncryptionType { 2 enum EncryptionType {
3 /// Unknown encryption type. 3 /// Unknown encryption type.
4 - none(0), 4 + unknown(0),
5 5
6 /// Not encrypted. 6 /// Not encrypted.
7 open(1), 7 open(1),
@@ -14,10 +14,13 @@ enum EncryptionType { @@ -14,10 +14,13 @@ enum EncryptionType {
14 14
15 const EncryptionType(this.rawValue); 15 const EncryptionType(this.rawValue);
16 16
  17 + @Deprecated('EncryptionType.none is deprecated. Use EncryptionType.unknown instead.')
  18 + static const EncryptionType none = EncryptionType.unknown;
  19 +
17 factory EncryptionType.fromRawValue(int value) { 20 factory EncryptionType.fromRawValue(int value) {
18 switch (value) { 21 switch (value) {
19 case 0: 22 case 0:
20 - return EncryptionType.none; 23 + return EncryptionType.unknown;
21 case 1: 24 case 1:
22 return EncryptionType.open; 25 return EncryptionType.open;
23 case 2: 26 case 2:
@@ -25,7 +28,7 @@ enum EncryptionType { @@ -25,7 +28,7 @@ enum EncryptionType {
25 case 3: 28 case 3:
26 return EncryptionType.wep; 29 return EncryptionType.wep;
27 default: 30 default:
28 - throw ArgumentError.value(value, 'value', 'Invalid raw value.'); 31 + return EncryptionType.unknown;
29 } 32 }
30 } 33 }
31 34
@@ -5,7 +5,7 @@ import 'package:mobile_scanner/src/enums/encryption_type.dart'; @@ -5,7 +5,7 @@ import 'package:mobile_scanner/src/enums/encryption_type.dart';
5 class WiFi { 5 class WiFi {
6 /// Construct a new [WiFi] instance. 6 /// Construct a new [WiFi] instance.
7 const WiFi({ 7 const WiFi({
8 - this.encryptionType = EncryptionType.none, 8 + this.encryptionType = EncryptionType.unknown,
9 this.ssid, 9 this.ssid,
10 this.password, 10 this.password,
11 }); 11 });
@@ -5,7 +5,7 @@ void main() { @@ -5,7 +5,7 @@ void main() {
5 group('$EncryptionType tests', () { 5 group('$EncryptionType tests', () {
6 test('can be created from raw value', () { 6 test('can be created from raw value', () {
7 const values = <int, EncryptionType>{ 7 const values = <int, EncryptionType>{
8 - 0: EncryptionType.none, 8 + 0: EncryptionType.unknown,
9 1: EncryptionType.open, 9 1: EncryptionType.open,
10 2: EncryptionType.wpa, 10 2: EncryptionType.wpa,
11 3: EncryptionType.wep, 11 3: EncryptionType.wep,
@@ -18,20 +18,20 @@ void main() { @@ -18,20 +18,20 @@ void main() {
18 } 18 }
19 }); 19 });
20 20
21 - test('invalid raw value throws argument error', () { 21 + test('invalid raw value returns EncryptionType.unknown', () {
22 const int negative = -1; 22 const int negative = -1;
23 const int outOfRange = 4; 23 const int outOfRange = 4;
24 24
25 - expect(() => EncryptionType.fromRawValue(negative), throwsArgumentError); 25 + expect(() => EncryptionType.fromRawValue(negative), EncryptionType.unknown);
26 expect( 26 expect(
27 () => EncryptionType.fromRawValue(outOfRange), 27 () => EncryptionType.fromRawValue(outOfRange),
28 - throwsArgumentError, 28 + EncryptionType.unknown,
29 ); 29 );
30 }); 30 });
31 31
32 test('can be converted to raw value', () { 32 test('can be converted to raw value', () {
33 const values = <EncryptionType, int>{ 33 const values = <EncryptionType, int>{
34 - EncryptionType.none: 0, 34 + EncryptionType.unknown: 0,
35 EncryptionType.open: 1, 35 EncryptionType.open: 1,
36 EncryptionType.wpa: 2, 36 EncryptionType.wpa: 2,
37 EncryptionType.wep: 3, 37 EncryptionType.wep: 3,