Browse Source

Added no device warning for bluetooth connection page

TC 2 năm trước cách đây
mục cha
commit
2d2162860c
3 tập tin đã thay đổi với 20 bổ sung2 xóa
  1. 9 0
      src/pm25go/lib/bluetooth.dart
  2. 2 1
      src/pm25go/lib/main.dart
  3. 9 1
      src/pm25go/lib/scan.dart

+ 9 - 0
src/pm25go/lib/bluetooth.dart

@@ -10,4 +10,13 @@ class DeviceSelectionWrapper {
   bool deviceSelected = false;
   bool deviceConnected = false;
   late BluetoothConnection connection;
+
+  //Constructor
+  DeviceSelectionWrapper(
+      String name, String addr, bool selected, bool connected) {
+    deviceName = name;
+    deviceAddr = addr;
+    deviceSelected = selected;
+    deviceConnected = connected;
+  }
 }

+ 2 - 1
src/pm25go/lib/main.dart

@@ -75,7 +75,8 @@ class _MyHomePageState extends State<MyHomePage> {
 
   //Bluetooth Connection
   bool _btConnected = false;
-  DeviceSelectionWrapper connectedBluetoothDevice = DeviceSelectionWrapper();
+  DeviceSelectionWrapper connectedBluetoothDevice =
+      DeviceSelectionWrapper("", "", false, false);
 
   //Data update for display
   int _pm01 = 0; //No recommended data found

+ 9 - 1
src/pm25go/lib/scan.dart

@@ -32,6 +32,13 @@ List<BluetoothDiscoveryResult> scanBluetoothDevice(
 
 Widget generateDiscoveredBluetoothList(
     List<BluetoothDevice> bondedDevices, Function callback) {
+  if (bondedDevices.isEmpty) {
+    //No devices scannable
+    return Container(
+        alignment: Alignment.center,
+        padding: EdgeInsetsDirectional.all(16),
+        child: Text("沒有已連接的藍牙模組。請到藍牙設定掃描並與裝置建立初次連接。"));
+  }
   List<Widget> devs = [];
   for (int i = 0; i < bondedDevices.length; i++) {
     BluetoothDevice thisDevice = bondedDevices[i];
@@ -88,7 +95,8 @@ Widget generateDiscoveredBluetoothList(
 class _ConnectionPage extends State<ConnectionPage> {
   //Bluetooth Connection Related
   List<BluetoothDevice> bondedDevices = <BluetoothDevice>[];
-  DeviceSelectionWrapper operatingDevice = DeviceSelectionWrapper();
+  DeviceSelectionWrapper operatingDevice =
+      DeviceSelectionWrapper("", "", false, false);
   String _statusText = "請選擇並連接到一個 Bluetooth Serial 裝置";
 
   @override