From dca02824b962cf1a184bfbeab4d172b1904d08ec Mon Sep 17 00:00:00 2001 From: YamiDoesDev Date: Sat, 29 Oct 2022 20:03:10 +0200 Subject: [PATCH] fixed bluetooth for android and refactored some files --- .../android/app/build.gradle | 5 +- .../android/app/src/main/AndroidManifest.xml | 3 ++ .../lib/BluetoothTest.dart | 44 ----------------- .../lib/bluetooth_test.dart | 49 +++++++++++++++++++ flutter_provisioning_for_iot/lib/main.dart | 3 +- .../lib/{MainPage.dart => main_page.dart} | 5 +- .../lib/{Settings.dart => settings.dart} | 2 +- .../lib/{Sidebar.dart => sidebar.dart} | 6 +-- 8 files changed, 63 insertions(+), 54 deletions(-) delete mode 100644 flutter_provisioning_for_iot/lib/BluetoothTest.dart create mode 100644 flutter_provisioning_for_iot/lib/bluetooth_test.dart rename flutter_provisioning_for_iot/lib/{MainPage.dart => main_page.dart} (92%) rename flutter_provisioning_for_iot/lib/{Settings.dart => settings.dart} (98%) rename flutter_provisioning_for_iot/lib/{Sidebar.dart => sidebar.dart} (90%) diff --git a/flutter_provisioning_for_iot/android/app/build.gradle b/flutter_provisioning_for_iot/android/app/build.gradle index f070ee0..5fadab9 100644 --- a/flutter_provisioning_for_iot/android/app/build.gradle +++ b/flutter_provisioning_for_iot/android/app/build.gradle @@ -58,6 +58,9 @@ android { // TODO: Add your own signing config for the release build. // Signing with the debug keys for now, so `flutter run --release` works. signingConfig signingConfigs.debug + // needed to fix bluetooth scan + shrinkResources false + minifyEnabled false } } } @@ -67,5 +70,5 @@ flutter { } dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" + implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" } diff --git a/flutter_provisioning_for_iot/android/app/src/main/AndroidManifest.xml b/flutter_provisioning_for_iot/android/app/src/main/AndroidManifest.xml index 4697b49..1144f4b 100644 --- a/flutter_provisioning_for_iot/android/app/src/main/AndroidManifest.xml +++ b/flutter_provisioning_for_iot/android/app/src/main/AndroidManifest.xml @@ -3,8 +3,11 @@ package="com.example.flutter_provisioning_for_iot"> + + + createState() => _BluetoothTest(); -} - -class _BluetoothTest extends State { - FlutterBlue flutterBlue = FlutterBlue.instance; - @override - Widget build(BuildContext context) { - return Scaffold( - appBar: AppBar( - title: const Text("Bluetooth Test"), - ), - body: Center( - child: TextButton( - onPressed: () { - var subscription = flutterBlue.scanResults.listen((results) { - // do something with scan results - for (ScanResult r in results) { - String scan = '"${r.device.name} found! rssi: ${r.rssi}"'; - debugPrint(scan); - } - }); - // Stop scanning - flutterBlue.stopScan(); - - }, child: const Text("Scan Devices"), - ), - ), - drawer: const Sidebar(),// This trailing comma makes auto-formatting nicer for build methods. - ); - } -} - - diff --git a/flutter_provisioning_for_iot/lib/bluetooth_test.dart b/flutter_provisioning_for_iot/lib/bluetooth_test.dart new file mode 100644 index 0000000..81173c3 --- /dev/null +++ b/flutter_provisioning_for_iot/lib/bluetooth_test.dart @@ -0,0 +1,49 @@ +import 'package:flutter_blue/flutter_blue.dart'; +import 'package:flutter/material.dart'; + +import 'sidebar.dart'; + +class BluetoothTest extends StatefulWidget { + const BluetoothTest({super.key}); + + @override + State createState() => _BluetoothTest(); +} + +class _BluetoothTest extends State { + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar( + title: const Text("Bluetooth Test"), + ), + body: Center( + child: TextButton( + onPressed: () async { + + FlutterBlue flutterBlue = FlutterBlue.instance; + flutterBlue.startScan(timeout: const Duration(seconds: 4)); + + flutterBlue.scanResults.listen((results) async { + // do something with scan results + for (ScanResult r in results) { + String scan = '"scan: ${r.device.name} found! rssi: ${r + .rssi}"'; + debugPrint(scan); + if(r.device.name == "Crusher ANC") { + await r.device.connect(); + } + } + }); + // Stop scanning + flutterBlue.stopScan(); + + }, child: const Text("Scan Devices"), + ), + ), + drawer: const Sidebar(),// This trailing comma makes auto-formatting nicer for build methods. + ); + } +} + + diff --git a/flutter_provisioning_for_iot/lib/main.dart b/flutter_provisioning_for_iot/lib/main.dart index 95f9426..9b894e8 100644 --- a/flutter_provisioning_for_iot/lib/main.dart +++ b/flutter_provisioning_for_iot/lib/main.dart @@ -1,6 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:flutter_blue/flutter_blue.dart'; -import 'package:flutter_provisioning_for_iot/MainPage.dart'; +import 'package:flutter_provisioning_for_iot/main_page.dart'; void main() { runApp(const MainPage()); diff --git a/flutter_provisioning_for_iot/lib/MainPage.dart b/flutter_provisioning_for_iot/lib/main_page.dart similarity index 92% rename from flutter_provisioning_for_iot/lib/MainPage.dart rename to flutter_provisioning_for_iot/lib/main_page.dart index 5e3aa88..ff534ec 100644 --- a/flutter_provisioning_for_iot/lib/MainPage.dart +++ b/flutter_provisioning_for_iot/lib/main_page.dart @@ -1,6 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:flutter_provisioning_for_iot/Sidebar.dart'; -import 'package:flutter_blue/flutter_blue.dart'; +import 'package:flutter_provisioning_for_iot/sidebar.dart'; class MainPage extends StatelessWidget { const MainPage({super.key}); @@ -59,7 +58,7 @@ class _MyHomePageState extends State { ), Text( '$_counter', - style: Theme.of(context).textTheme.headline4, + style: Theme.of(context).textTheme.headlineMedium, ), ], ), diff --git a/flutter_provisioning_for_iot/lib/Settings.dart b/flutter_provisioning_for_iot/lib/settings.dart similarity index 98% rename from flutter_provisioning_for_iot/lib/Settings.dart rename to flutter_provisioning_for_iot/lib/settings.dart index c9f6ffe..0362db3 100644 --- a/flutter_provisioning_for_iot/lib/Settings.dart +++ b/flutter_provisioning_for_iot/lib/settings.dart @@ -2,7 +2,7 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:shared_preferences/shared_preferences.dart'; -import 'Sidebar.dart'; +import 'sidebar.dart'; class Settings extends StatefulWidget { const Settings({Key? key}) : super(key: key); diff --git a/flutter_provisioning_for_iot/lib/Sidebar.dart b/flutter_provisioning_for_iot/lib/sidebar.dart similarity index 90% rename from flutter_provisioning_for_iot/lib/Sidebar.dart rename to flutter_provisioning_for_iot/lib/sidebar.dart index a80dbaa..d86f1cf 100644 --- a/flutter_provisioning_for_iot/lib/Sidebar.dart +++ b/flutter_provisioning_for_iot/lib/sidebar.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; -import 'package:flutter_provisioning_for_iot/BluetoothTest.dart'; -import 'MainPage.dart'; -import 'Settings.dart'; +import 'package:flutter_provisioning_for_iot/bluetooth_test.dart'; +import 'main_page.dart'; +import 'settings.dart'; class Sidebar extends StatelessWidget { const Sidebar({Key? key}) : super(key: key);