Navaron Bracke

move Phone to its own file

... ... @@ -6,6 +6,7 @@ Improvements:
* The `latitude` and `longitude` of a `GeoPoint` are now non-null.
* The `phones` and `urls` of `ContactInfo` are now non-null.
* The `url` of a `UrlBookmark` is now non-null.
* The `type` of `Phone` is now non-null.
## 3.5.0
New Features:
... ...
... ... @@ -22,6 +22,7 @@ export 'src/objects/email.dart';
export 'src/objects/geo_point.dart';
export 'src/objects/mobile_scanner_arguments.dart';
export 'src/objects/person_name.dart';
export 'src/objects/phone.dart';
export 'src/objects/sms.dart';
export 'src/objects/url_bookmark.dart';
export 'src/objects/wifi.dart';
... ...
... ... @@ -4,12 +4,12 @@ import 'dart:ui';
import 'package:mobile_scanner/src/barcode_utility.dart';
import 'package:mobile_scanner/src/enums/barcode_format.dart';
import 'package:mobile_scanner/src/enums/barcode_type.dart';
import 'package:mobile_scanner/src/enums/phone_type.dart';
import 'package:mobile_scanner/src/objects/calendar_event.dart';
import 'package:mobile_scanner/src/objects/contact_info.dart';
import 'package:mobile_scanner/src/objects/driver_license.dart';
import 'package:mobile_scanner/src/objects/email.dart';
import 'package:mobile_scanner/src/objects/geo_point.dart';
import 'package:mobile_scanner/src/objects/phone.dart';
import 'package:mobile_scanner/src/objects/sms.dart';
import 'package:mobile_scanner/src/objects/url_bookmark.dart';
import 'package:mobile_scanner/src/objects/wifi.dart';
... ... @@ -121,22 +121,3 @@ class Barcode {
url = toUrl(data['url'] as Map?),
wifi = toWiFi(data['wifi'] as Map?);
}
/// Phone number info.
class Phone {
/// Gets phone number.
///
/// Returns null if not available.
final String? number;
/// Gets type of the phone number.
///
/// See also [PhoneType].
/// Returns null if not available.
final PhoneType? type;
/// Create a [Phone] from native data.
Phone.fromNative(Map data)
: number = data['number'] as String?,
type = PhoneType.values[data['type'] as int];
}
... ...
import 'package:mobile_scanner/src/objects/address.dart';
import 'package:mobile_scanner/src/objects/barcode.dart';
import 'package:mobile_scanner/src/objects/email.dart';
import 'package:mobile_scanner/src/objects/person_name.dart';
import 'package:mobile_scanner/src/objects/phone.dart';
/// A person's or organization's business card.
/// For example a VCARD.
... ...
import 'package:mobile_scanner/src/enums/phone_type.dart';
/// Phone number information from a barcode.
class Phone {
/// Construct a new [Phone] instance.
const Phone({
this.number,
this.type = PhoneType.unknown,
});
/// Create a [Phone] from the given [data].
factory Phone.fromNative(Map<Object?, Object?> data) {
return Phone(
number: data['number'] as String?,
type: PhoneType.fromRawValue(data['type'] as int? ?? 0),
);
}
/// The phone number value.
final String? number;
/// The type of the phone number.
final PhoneType type;
}
... ...