diff --git a/lib/views/settings/setting_printer_view.dart b/lib/views/settings/setting_printer_view.dart index ddab91c..a94b72f 100644 --- a/lib/views/settings/setting_printer_view.dart +++ b/lib/views/settings/setting_printer_view.dart @@ -1,6 +1,7 @@ import 'dart:io'; import 'dart:typed_data'; +import 'package:aman_kassa_flutter/core/models/dialog_models.dart'; import 'package:aman_kassa_flutter/widgets/fields/busy_button_icon.dart'; import 'package:flutter_bluetooth_basic/flutter_bluetooth_basic.dart'; import 'package:aman_kassa_flutter/core/locator.dart'; @@ -164,14 +165,26 @@ class _SettingPrinterViewState extends State { void _permission() async { if( Platform.isAndroid) { var status = await Permission.locationAlways.status; + log.i(status); if (status.isUndetermined || status.isDenied || status.isPermanentlyDenied) { - if (await Permission.locationAlways - .request() - .isGranted) { - print('Granted'); + DialogResponse response = await _dialogService.showConfirmationDialog( + title: 'Доступ', + description: 'Для поиска устройств Bluetooth необходимо предоставить доступ к отслеживанию геолокации.', + cancelTitle: 'Нет', + confirmationTitle: 'Хорошо', + ); + if (response.confirmed) { + if (await Permission.locationAlways + .request() + .isGranted) { + print('Granted'); + } else { + _dialogService.showDialog( + description: 'Необходимо указать постоянный доступ к местоположении для поиска принтера'); + _navigatorService.pop(); + } } else { - _dialogService.showDialog( - description: 'Необходимо указать постоянный доступ к местоположении для поиска принтера'); + _navigatorService.pop(); } } }