diff --git a/lib/controllers/providers/api/notifications_provider.dart b/lib/controllers/providers/api/notifications_provider.dart index 15c8bf64..282bcf92 100644 --- a/lib/controllers/providers/api/notifications_provider.dart +++ b/lib/controllers/providers/api/notifications_provider.dart @@ -13,7 +13,7 @@ class NotificationsProvider extends ChangeNotifier { //reset provider data void reset() { - notifications = null; + notifications.clear(); nextPage = true; stateCode = null; } @@ -27,7 +27,7 @@ class NotificationsProvider extends ChangeNotifier { bool? nextPage = true; // list of user requests - List? notifications; + List notifications = []; // when requests in-process _loading = true // done _loading = true @@ -64,8 +64,7 @@ class NotificationsProvider extends ChangeNotifier { List serviceRequestsPage = requestsListJson .map((request) => AppNotification.fromJson(request)) .toList(); - notifications ??= []; - notifications?.addAll(serviceRequestsPage); + notifications.addAll(serviceRequestsPage); if (serviceRequestsPage.length == pageItemNumber) { nextPage = true; } else { diff --git a/lib/controllers/providers/api/regular_visits_provider.dart b/lib/controllers/providers/api/regular_visits_provider.dart index 4f3de068..c5309538 100644 --- a/lib/controllers/providers/api/regular_visits_provider.dart +++ b/lib/controllers/providers/api/regular_visits_provider.dart @@ -16,7 +16,7 @@ class RegularVisitsProvider extends ChangeNotifier { //reset provider data void reset() { - visits = null; + visits.clear(); nextPage = true; stateCode = null; } @@ -30,7 +30,7 @@ class RegularVisitsProvider extends ChangeNotifier { bool nextPage = true; // list of user requests - List? visits; + List visits = []; // when requests in-process _loading = true // done _loading = true @@ -45,8 +45,8 @@ class RegularVisitsProvider extends ChangeNotifier { /// for more details check http state manager /// lib\controllers\http_status_manger\http_status_manger.dart Future getVisits({ - required String host, - required User user, + required String? host, + required User? user, // VisitsSearch visitsSearch, }) async { if (isLoading == true) { @@ -58,7 +58,7 @@ class RegularVisitsProvider extends ChangeNotifier { try { response = await get( Uri.parse( - "$host${URLs.getRegularVisits}?uid=${user.id}&token=${user.token}&page=${(visits?.length ?? 0) ~/ pageItemNumber}${visitsSearch?.toSearchString()}", + "$host${URLs.getRegularVisits}?uid=${user?.id}&token=${user?.token}&page=${(visits.length) ~/ pageItemNumber}${visitsSearch?.toSearchString()}", ), headers: {"Content-Type": "application/json; charset=utf-8"}, ); @@ -107,7 +107,7 @@ class RegularVisitsProvider extends ChangeNotifier { Response response; Map body = group.toJson(); body["token"] = user.token ?? ""; - body["uid"] = user.id??""; + body["uid"] = user.id ?? ""; //userId = 397.toString(); // testing id to view data try { response = await post( @@ -157,8 +157,8 @@ class RegularVisitsProvider extends ChangeNotifier { try { Response response; Map body = pentry.toMap(); - body["uid"] = user.id??""; - body["token"] = user.token??""; + body["uid"] = user.id ?? ""; + body["token"] = user.token ?? ""; response = await post( Uri.parse("$host${URLs.updatePentry}/${visit.id}"), body: body, diff --git a/lib/controllers/providers/api/service_requests_provider.dart b/lib/controllers/providers/api/service_requests_provider.dart index a62c08ce..60e3b3f9 100644 --- a/lib/controllers/providers/api/service_requests_provider.dart +++ b/lib/controllers/providers/api/service_requests_provider.dart @@ -50,7 +50,7 @@ class ServiceRequestsProvider extends ChangeNotifier { /// lib\controllers\http_status_manger\http_status_manger.dart Future getRequests({ required String host, - required User user, + required User? user, required String? hospitalId, }) async { if (isLoading == true) { @@ -61,7 +61,7 @@ class ServiceRequestsProvider extends ChangeNotifier { try { response = await get( Uri.parse( - "$host${URLs.getServiceRequests}?uid=${user.id}${hospitalId == null ? "" : "&client_nid=$hospitalId"}&token=${user.token}&page=${(serviceRequests?.length ?? 0) ~/ pageItemNumber}${search?.toSearchString()}", + "$host${URLs.getServiceRequests}?uid=${user?.id}${hospitalId == null ? "" : "&client_nid=$hospitalId"}&token=${user?.token}&page=${(serviceRequests?.length ?? 0) ~/ pageItemNumber}${search?.toSearchString()}", ), headers: {"Content-Type": "application/json; charset=utf-8"}, ); @@ -108,7 +108,9 @@ class ServiceRequestsProvider extends ChangeNotifier { '$host${URLs.getSingleServiceRequest}?call_nid=$requestId$userData', )); } catch (error) { - throw (HttpStatusManger.getStatusMessage(status: -1, subtitle: subtitle) ?? ''); + throw (HttpStatusManger.getStatusMessage( + status: -1, subtitle: subtitle) ?? + ''); } // If the call to the server was successful, parse the JSON. @@ -121,7 +123,8 @@ class ServiceRequestsProvider extends ChangeNotifier { return requests[0]; } else { throw (HttpStatusManger.getStatusMessage( - status: response.statusCode, subtitle: subtitle) ?? ""); + status: response.statusCode, subtitle: subtitle) ?? + ""); } } @@ -174,8 +177,8 @@ class ServiceRequestsProvider extends ChangeNotifier { }) async { Response response; Map body = issue.toMap(); - body["uid"] = user.id??""; - body["token"] = user.token??""; + body["uid"] = user.id ?? ""; + body["token"] = user.token ?? ""; try { response = await post( Uri.parse(host + URLs.createReport), @@ -228,8 +231,8 @@ class ServiceRequestsProvider extends ChangeNotifier { }) async { Response response; Map body = report.toMap(); - body["uid"] = user.id??""; - body["token"] = user.token??""; + body["uid"] = user.id ?? ""; + body["token"] = user.token ?? ""; body["job_id"] = request.id ?? ''; try { response = await post( @@ -285,8 +288,8 @@ class ServiceRequestsProvider extends ChangeNotifier { }) async { Response response; Map body = report.toMap(); - body["uid"] = user.id??""; - body["token"] = user.token??""; + body["uid"] = user.id ?? ""; + body["token"] = user.token ?? ""; body["job_id"] = request.id ?? ''; body["report_id"] = request.reportID ?? ''; try { @@ -314,8 +317,8 @@ class ServiceRequestsProvider extends ChangeNotifier { }) async { Response response; Map body = {}; - body["uid"] = user.id??""; - body["token"] = user.token??""; + body["uid"] = user.id ?? ""; + body["token"] = user.token ?? ""; body["job_id"] = request.id ?? ''; body["start_time"] = ((timer.startAt?.millisecondsSinceEpoch ?? 0) / 1000) .toStringAsFixed(0); diff --git a/lib/main.dart b/lib/main.dart index b1adf7c1..9902f358 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -158,10 +158,10 @@ class MyApp extends StatelessWidget { ServiceRequestsPage.id: (_) => ServiceRequestsPage(), NotificationsPage.id: (_) => NotificationsPage(), FutureRequestServiceDetails.id: (_) => - FutureRequestServiceDetails(), + const FutureRequestServiceDetails(), PreventiveMaintenanceVisitsPage.id: (_) => PreventiveMaintenanceVisitsPage(), - RegularVisitsPage.id: (_) => RegularVisitsPage(), + RegularVisitsPage.id: (_) => const RegularVisitsPage(), TrackGasRefillPage.id: (_) => const TrackGasRefillPage(), RequestDeviceTransfer.id: (_) => const RequestDeviceTransfer(), TrackDeviceTransferPage.id: (_) => const TrackDeviceTransferPage(), diff --git a/lib/views/pages/device_transfer/request_device_transfer.dart b/lib/views/pages/device_transfer/request_device_transfer.dart index 0bbe80d3..4ca3d28b 100644 --- a/lib/views/pages/device_transfer/request_device_transfer.dart +++ b/lib/views/pages/device_transfer/request_device_transfer.dart @@ -34,8 +34,10 @@ class _RequestDeviceTransferState extends State { UserProvider? _userProvider; SettingProvider? _settingProvider; DeviceTransferProvider? _deviceTransferProvider; - final TextEditingController _requestedQuantityController = TextEditingController(); - final DeviceTransfer _formModel = DeviceTransfer(receiver: DeviceTransferInfo()); + final TextEditingController _requestedQuantityController = + TextEditingController(); + final DeviceTransfer _formModel = + DeviceTransfer(receiver: DeviceTransferInfo()); final GlobalKey _formKey = GlobalKey(); final GlobalKey _scaffoldKey = GlobalKey(); @@ -46,7 +48,7 @@ class _RequestDeviceTransferState extends State { _onSubmit() async { _validate = true; - if ((_formKey.currentState?.validate()??false)) { + if ((_formKey.currentState?.validate() ?? false)) { setState(() {}); return false; } @@ -62,18 +64,19 @@ class _RequestDeviceTransferState extends State { int? status = await _deviceTransferProvider?.createRequest( user: _userProvider?.user, - host: _settingProvider?.host??"", + host: _settingProvider?.host ?? "", model: _formModel, ); _isLoading = false; setState(() {}); - if (status!=null && status >= 200 && status < 300) { + if (status != null && status >= 200 && status < 300) { Fluttertoast.showToast( - msg: _subtitle?.requestCompleteSuccessfully??"", + msg: _subtitle?.requestCompleteSuccessfully ?? "", ); Navigator.of(context).pop(); } else { - String errorMessage = HttpStatusManger.getStatusMessage(status: status, subtitle: _subtitle); + String errorMessage = HttpStatusManger.getStatusMessage( + status: status, subtitle: _subtitle); ScaffoldMessenger.of(context).showSnackBar(SnackBar( content: Text(errorMessage), )); @@ -91,7 +94,8 @@ class _RequestDeviceTransferState extends State { _subtitle = AppLocalization.of(context)?.subtitle; _userProvider = Provider.of(context); _settingProvider = Provider.of(context); - _deviceTransferProvider = Provider.of(context, listen: false); + _deviceTransferProvider = + Provider.of(context, listen: false); return Scaffold( key: _scaffoldKey, body: Form( @@ -112,7 +116,10 @@ class _RequestDeviceTransferState extends State { padding: const EdgeInsets.all(8.0), child: Text( "Transfer Device", - style: Theme.of(context).textTheme.headline5?.copyWith(color: Theme.of(context).primaryColor, fontSize: 28, fontWeight: FontWeight.bold), + style: Theme.of(context).textTheme.headline5?.copyWith( + color: Theme.of(context).primaryColor, + fontSize: 28, + fontWeight: FontWeight.bold), ), ), ), @@ -134,12 +141,12 @@ class _RequestDeviceTransferState extends State { const ASubTitle("Device"), if (_validate && _formModel.device == null) ASubTitle( - _subtitle?.requiredWord??"", + _subtitle?.requiredWord ?? "", color: Colors.red, ), 6.height, DeviceButton( - device: _formModel.device!, + device: _formModel.device, onDevicePick: (device) { _formModel.device = device; setState(() {}); @@ -161,7 +168,7 @@ class _RequestDeviceTransferState extends State { const ASubTitle("Destination Client"), if (_validate && _formModel.receiver?.client == null) ASubTitle( - _subtitle?.requiredWord??"", + _subtitle?.requiredWord ?? "", color: Colors.red, ), 6.height, @@ -176,7 +183,7 @@ class _RequestDeviceTransferState extends State { const ASubTitle("Destination Department"), if (_validate && _formModel.receiver?.department == null) ASubTitle( - _subtitle?.requiredWord??"", + _subtitle?.requiredWord ?? "", color: Colors.red, ), 6.height, @@ -189,7 +196,7 @@ class _RequestDeviceTransferState extends State { ), 12.height, AButton( - text: _subtitle?.submit??"", + text: _subtitle?.submit ?? "", onPressed: _onSubmit, ), const SizedBox( diff --git a/lib/views/pages/user/requests/requests_page.dart b/lib/views/pages/user/requests/requests_page.dart index cc1bb294..69d77625 100644 --- a/lib/views/pages/user/requests/requests_page.dart +++ b/lib/views/pages/user/requests/requests_page.dart @@ -16,24 +16,26 @@ import '../../../widgets/search/service_request_search_bar.dart'; class ServiceRequestsPage extends StatefulWidget { static final String id = "/service-requests"; + @override _ServiceRequestsPageState createState() => _ServiceRequestsPageState(); } class _ServiceRequestsPageState extends State - with TickerProviderStateMixin{ + with TickerProviderStateMixin { late ServiceRequestsProvider _serviceRequestsProvider; late UserProvider _userProvider; late SettingProvider _settingProvider; bool _expandedSearch = false; bool _firstTime = true; + @override Widget build(BuildContext context) { _serviceRequestsProvider = Provider.of(context); _userProvider = Provider.of(context); _settingProvider = Provider.of(context); - Subtitle _subtitle = AppLocalization.of(context)!.subtitle!; - if(_firstTime){ + Subtitle? subtitle = AppLocalization.of(context)?.subtitle; + if (_firstTime) { _serviceRequestsProvider.reset(); _firstTime = false; } @@ -47,9 +49,9 @@ class _ServiceRequestsPageState extends State onRefresh: () async { _serviceRequestsProvider.reset(); await _serviceRequestsProvider.getRequests( - user: _userProvider.user!, - host: _settingProvider.host??"", - hospitalId: _userProvider.user!.hospital!.id, + user: _userProvider.user!, + host: _settingProvider.host ?? "", + hospitalId: _userProvider.user!.hospital!.id, ); }, child: Stack( @@ -57,20 +59,25 @@ class _ServiceRequestsPageState extends State Column( children: [ Container( - color:AColors.primaryColor, - padding: const EdgeInsets.symmetric(horizontal: 0,vertical: 4), + color: AColors.primaryColor, + padding: + const EdgeInsets.symmetric(horizontal: 0, vertical: 4), child: Column( children: [ Row( children: [ - ABackButton(), + const ABackButton(), Expanded( child: Center( child: Text( - _subtitle.serviceRequests, - style: Theme.of(context).textTheme.headline6?.copyWith( - color: AColors.white, - fontStyle: FontStyle.italic ), + subtitle?.serviceRequests ?? '', + style: Theme.of(context) + .textTheme + .titleLarge + ?.copyWith( + color: AColors.white, + fontStyle: FontStyle.italic, + ), ), ), ), @@ -81,25 +88,27 @@ class _ServiceRequestsPageState extends State buttonSize: 42, backgroundColor: AColors.white, onPressed: () async { - ServiceRequestSearch? _temp = await showModalBottomSheet( - context: context, - isScrollControlled: true, - builder: (context){ - return ServiceRequestsSearchDialog( - initialSearchValue: _serviceRequestsProvider.search!, - ); - }); - if(_temp != null){ - _serviceRequestsProvider.search = _temp; + ServiceRequestSearch? temp = + await showModalBottomSheet( + context: context, + isScrollControlled: true, + builder: (context) { + return ServiceRequestsSearchDialog( + initialSearchValue: + _serviceRequestsProvider.search!, + ); + }, + ); + if (temp != null) { + _serviceRequestsProvider.search = temp; _serviceRequestsProvider.reset(); setState(() {}); } }, ), - SizedBox(width: 16,) + const SizedBox(width: 16) ], ), - ], ), ), @@ -108,17 +117,16 @@ class _ServiceRequestsPageState extends State nextPage: _serviceRequestsProvider.nextPage!, onLazyLoad: () async { await _serviceRequestsProvider.getRequests( - user: _userProvider.user!, - host: _settingProvider.host??"", - hospitalId: _userProvider.user!.hospital!.id, + user: _userProvider.user, + host: _settingProvider.host ?? "", + hospitalId: _userProvider.user?.hospital?.id, ); }, - requests: _serviceRequestsProvider.serviceRequests!, + requests: _serviceRequestsProvider.serviceRequests ?? [], ), ), ], ), - ], ), ), diff --git a/lib/views/pages/user/visits/regular_visits_page.dart b/lib/views/pages/user/visits/regular_visits_page.dart index 2261efcb..d8b5f56d 100644 --- a/lib/views/pages/user/visits/regular_visits_page.dart +++ b/lib/views/pages/user/visits/regular_visits_page.dart @@ -21,13 +21,15 @@ import '../../../widgets/visits/visits_list.dart'; import 'update_visits_group_sheet.dart'; class RegularVisitsPage extends StatefulWidget { - static final String id = "/Regular-visits"; + static const String id = "/Regular-visits"; + + const RegularVisitsPage({super.key}); @override _RegularVisitsPageState createState() => _RegularVisitsPageState(); } class _RegularVisitsPageState extends State - with TickerProviderStateMixin{ + with TickerProviderStateMixin { late RegularVisitsProvider _visitsProvider; late UserProvider _userProvider; late SettingProvider _settingProvider; @@ -43,14 +45,13 @@ class _RegularVisitsPageState extends State body: SafeArea( child: LoadingManager( isLoading: _visitsProvider.isLoading, - isFailedLoading: _visitsProvider.visits == null, stateCode: _visitsProvider.stateCode, onRefresh: () async { _visitsProvider.reset(); //_visitsProvider.visitsSearch = VisitsSearch(); await _visitsProvider.getVisits( - user: _userProvider.user!, - host: _settingProvider.host!, + user: _userProvider.user, + host: _settingProvider.host, ); }, child: Stack( @@ -58,8 +59,9 @@ class _RegularVisitsPageState extends State Column( children: [ Container( - color:AColors.primaryColor, - padding: const EdgeInsets.symmetric(horizontal: 0,vertical: 4), + color: AColors.primaryColor, + padding: + const EdgeInsets.symmetric(horizontal: 0, vertical: 4), child: Column( children: [ Row( @@ -69,10 +71,12 @@ class _RegularVisitsPageState extends State child: Center( child: Text( _subtitle.preventiveMaintenance, - style: Theme.of(context).textTheme.headline6?.copyWith( - color: AColors.white, - fontStyle: FontStyle.italic - ), + style: Theme.of(context) + .textTheme + .headline6 + ?.copyWith( + color: AColors.white, + fontStyle: FontStyle.italic), ), ), ), @@ -80,41 +84,49 @@ class _RegularVisitsPageState extends State duration: Duration(milliseconds: 400), child: AIconButton( key: ValueKey(_expandedSearch), - iconData: _expandedSearch ? Icons.keyboard_arrow_up :Icons.search, + iconData: _expandedSearch + ? Icons.keyboard_arrow_up + : Icons.search, color: AColors.secondaryColor, buttonSize: 42, backgroundColor: AColors.white, onPressed: () async { - VisitsSearch _temp = await showModalBottomSheet( - context: context, - isScrollControlled: true, - builder: (context){ - return VisitsSearchDialog( - initialSearchValue: _visitsProvider.visitsSearch!, onSearch: (VisitsSearch ) { }, - ); - }); - if(_temp != null){ - _visitsProvider.visitsSearch?.fromSearch(_temp) ; - _visitsProvider.reset(); - setState(() {}); - } + VisitsSearch _temp = + await showModalBottomSheet( + context: context, + isScrollControlled: true, + builder: (context) { + return VisitsSearchDialog( + initialSearchValue: + _visitsProvider.visitsSearch!, + onSearch: (VisitsSearch) {}, + ); + }); + _visitsProvider.visitsSearch + ?.fromSearch(_temp); + _visitsProvider.reset(); + setState(() {}); }, ), ), - SizedBox(width: 16,) + SizedBox( + width: 16, + ) ], ), - ], ), ), Visibility( - visible: _visitsProvider.visitsSearch?.toSearchString().isNotEmpty??false, + visible: _visitsProvider.visitsSearch + ?.toSearchString() + .isNotEmpty ?? + false, child: Padding( padding: const EdgeInsets.all(8.0), child: AButton( text: _subtitle.clearSearch, - onPressed: (){ + onPressed: () { _visitsProvider.visitsSearch = VisitsSearch(); _visitsProvider.reset(); setState(() {}); @@ -127,59 +139,60 @@ class _RegularVisitsPageState extends State nextPage: _visitsProvider.nextPage, onLazyLoad: () async { await _visitsProvider.getVisits( - user: _userProvider.user!, - host: _settingProvider.host??"", + user: _userProvider.user!, + host: _settingProvider.host ?? "", ); }, onEditGroup: (visits) async { - VisitsGroup _group = await showModalBottomSheet( + VisitsGroup? group = await showModalBottomSheet( isScrollControlled: true, context: context, builder: (context) { - return UpdateVisitsGroupSheet(visits: visits,title: _subtitle.updateRegularVisits,); + return UpdateVisitsGroupSheet( + visits: visits, + title: _subtitle.updateRegularVisits, + ); }, - )as VisitsGroup; - if(_group != null){ + ) as VisitsGroup?; + if (group != null) { showDialog( context: context, barrierDismissible: false, builder: (BuildContext context) { return CupertinoAlertDialog( title: Text(_subtitle.updatingDots), - content: Center(child: CircularProgressIndicator()), + content: + Center(child: CircularProgressIndicator()), ); }, ); - int status = await _visitsProvider.updateGroupOfVisits( - user: _userProvider.user!, - host: _settingProvider.host??"", - group: _group - ); + int status = + await _visitsProvider.updateGroupOfVisits( + user: _userProvider.user!, + host: _settingProvider.host ?? "", + group: group); Navigator.of(context).pop(); - if(status >= 200 && status < 300){ + if (status >= 200 && status < 300) { Fluttertoast.showToast( - msg: _subtitle.regularVisitsUpdatedSuccessfully, - toastLength: Toast.LENGTH_LONG, - gravity: ToastGravity.BOTTOM, + msg: _subtitle.regularVisitsUpdatedSuccessfully, + toastLength: Toast.LENGTH_LONG, + gravity: ToastGravity.BOTTOM, ); - }else{ + } else { Fluttertoast.showToast( msg: HttpStatusManger.getStatusMessage( - status: status, - subtitle: _subtitle - ), + status: status, subtitle: _subtitle), toastLength: Toast.LENGTH_LONG, gravity: ToastGravity.BOTTOM, ); } } }, - visits: _visitsProvider.visits!, + visits: _visitsProvider.visits, ), ), ], ), - ], ), ), diff --git a/lib/views/widgets/equipment/device_button.dart b/lib/views/widgets/equipment/device_button.dart index 044ec0a0..3bf97309 100644 --- a/lib/views/widgets/equipment/device_button.dart +++ b/lib/views/widgets/equipment/device_button.dart @@ -9,9 +9,10 @@ import 'single_device_picker.dart'; class DeviceButton extends StatelessWidget { final Function(Device)? onDevicePick; - final Device device; + final Device? device; - const DeviceButton({Key? key, required this.device, this.onDevicePick}) : super(key: key); + const DeviceButton({Key? key, required this.device, this.onDevicePick}) + : super(key: key); @override Widget build(BuildContext context) { @@ -19,9 +20,11 @@ class DeviceButton extends StatelessWidget { return ElevatedButton( style: ElevatedButton.styleFrom( elevation: 0, - padding: EdgeInsets.symmetric(horizontal: 16, vertical: device == null ? 12 : 8), + padding: EdgeInsets.symmetric( + horizontal: 16, vertical: device == null ? 12 : 8), shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(AppStyle.borderRadius * AppStyle.getScaleFactor(context)), + borderRadius: BorderRadius.circular( + AppStyle.borderRadius * AppStyle.getScaleFactor(context)), ), foregroundColor: AColors.primaryColor, backgroundColor: AColors.inputFieldBackgroundColor, @@ -33,7 +36,7 @@ class DeviceButton extends StatelessWidget { child: Padding( padding: const EdgeInsets.symmetric(horizontal: 6), child: Text( - _subtitle?.pickDevice??"", + _subtitle?.pickDevice ?? "", style: Theme.of(context).textTheme.subtitle1, textScaleFactor: AppStyle.getScaleFactor(context), textDirection: TextDirection.rtl, @@ -45,7 +48,7 @@ class DeviceButton extends StatelessWidget { child: ListTile( contentPadding: EdgeInsets.all(0), title: Text( - "${_subtitle?.sn??""} : ${device.serialNumber??""}", + "${_subtitle?.sn ?? ""} : ${device?.serialNumber ?? ""}", style: Theme.of(context).textTheme.subtitle1, ), subtitle: Column( @@ -55,24 +58,26 @@ class DeviceButton extends StatelessWidget { color: Theme.of(context).textTheme.subtitle1?.color, ), Text( - "${_subtitle?.brand} : ${device.brand}", + "${_subtitle?.brand} : ${device?.brand}", style: Theme.of(context).textTheme.subtitle2, ), Divider( color: Theme.of(context).textTheme.subtitle1?.color, ), Text( - "${_subtitle?.model} : ${device.model}", + "${_subtitle?.model} : ${device?.model}", style: Theme.of(context).textTheme.subtitle2, ), ], ), )), - const Icon(Icons.keyboard_arrow_down, size: 28, color: AColors.grey3A), + const Icon(Icons.keyboard_arrow_down, + size: 28, color: AColors.grey3A), ], ), onPressed: () async { - Device _device = await Navigator.of(context).pushNamed(SingleDevicePicker.id) as Device; + Device _device = await Navigator.of(context) + .pushNamed(SingleDevicePicker.id) as Device; onDevicePick!(_device); }); }