diff options
Diffstat (limited to 'lib/widgets/scan_page.dart')
-rw-r--r-- | lib/widgets/scan_page.dart | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/lib/widgets/scan_page.dart b/lib/widgets/scan_page.dart index bcb3525..f6695fe 100644 --- a/lib/widgets/scan_page.dart +++ b/lib/widgets/scan_page.dart @@ -13,6 +13,8 @@ // You should have received a copy of the GNU General Public License // along with this program. If not, see <https://www.gnu.org/licenses/>. +import 'dart:io'; + import 'package:uvok_epaper_badge/control/scanner_controller.dart'; import 'package:uvok_epaper_badge/widgets/device_details.dart'; import 'package:uvok_epaper_badge/widgets/device_scan_select.dart'; @@ -61,13 +63,21 @@ class _ScanPageState extends State<ScanPage> { selectedDevice = null; }); - // ... + await getPermissions(); await widget.deviceScanner.startScan(); } Future getPermissions() async { + // avoid spamming log with "unsupported" messages. + if (Platform.isLinux) return; + try { - await Permission.bluetooth.request(); + var status = await Permission.bluetooth.request(); + logger.i("New BLE permission status: $status"); + status = await Permission.bluetoothScan.request(); + logger.i("New BLE scan permission status: $status"); + status = await Permission.bluetoothConnect.request(); + logger.i("New BLE connect permission status: $status"); } catch (e) { logger.e(e.toString()); } @@ -76,8 +86,6 @@ class _ScanPageState extends State<ScanPage> { @override void initState() { super.initState(); - // ehhh... - getPermissions().ignore(); } @override |