feat: redesign and lots of progress
This commit is contained in:
@ -3,6 +3,7 @@ import 'dart:io';
|
||||
import 'package:abawo_bt_app/controller/bluetooth.dart';
|
||||
import 'package:abawo_bt_app/database/database.dart';
|
||||
import 'package:abawo_bt_app/model/bluetooth_device_model.dart';
|
||||
import 'package:abawo_bt_app/util/bluetooth_settings.dart';
|
||||
import 'package:abawo_bt_app/util/constants.dart';
|
||||
import 'package:abawo_bt_app/widgets/horizontal_scanning_animation.dart';
|
||||
import 'package:anyhow/anyhow.dart';
|
||||
@ -63,9 +64,8 @@ class _ConnectDevicePageState extends ConsumerState<ConnectDevicePage> {
|
||||
return;
|
||||
}
|
||||
|
||||
final isAbawoDevice = isAbawoDeviceIdent(device.manufacturerData);
|
||||
final isConnectable =
|
||||
device.serviceUuids.any(isConnectableAbawoDeviceGuid);
|
||||
final isAbawoDevice = device.serviceUuids.any(isAbawoDeviceGuid);
|
||||
final isConnectable = device.serviceUuids.any(isConnectableAbawoDeviceGuid);
|
||||
|
||||
if (!isAbawoDevice) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
@ -122,13 +122,18 @@ class _ConnectDevicePageState extends ConsumerState<ConnectDevicePage> {
|
||||
),
|
||||
);
|
||||
} else {
|
||||
context.push('/device/${device.id}');
|
||||
context.go('/device/${device.id}');
|
||||
}
|
||||
break;
|
||||
case Err(:final v):
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(content: Text('Connection unsuccessful:\n${v.toString()}')),
|
||||
);
|
||||
final error = v.toString();
|
||||
if (error.toLowerCase().contains('disconnected')) {
|
||||
await showBluetoothPairingRecoveryDialog(context);
|
||||
} else {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(content: Text('Connection unsuccessful:\n$error')),
|
||||
);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -224,7 +229,8 @@ class _ConnectDevicePageState extends ConsumerState<ConnectDevicePage> {
|
||||
.toSet();
|
||||
|
||||
return btAsyncValue.when(
|
||||
loading: () => const Center(child: CircularProgressIndicator()),
|
||||
loading: () =>
|
||||
const Center(child: CircularProgressIndicator()),
|
||||
error: (err, stack) => Padding(
|
||||
padding: const EdgeInsets.symmetric(horizontal: 20),
|
||||
child: _ScanMessageCard(
|
||||
@ -275,15 +281,16 @@ class _ConnectDevicePageState extends ConsumerState<ConnectDevicePage> {
|
||||
return ListView.separated(
|
||||
padding: const EdgeInsets.fromLTRB(20, 0, 20, 12),
|
||||
itemCount: filteredResults.length,
|
||||
separatorBuilder: (_, __) => const SizedBox(height: 12),
|
||||
separatorBuilder: (_, __) =>
|
||||
const SizedBox(height: 12),
|
||||
itemBuilder: (context, index) {
|
||||
final device = filteredResults[index];
|
||||
final isAlreadyConnected =
|
||||
connectedDeviceAddresses.contains(device.id);
|
||||
final tone = _ScanResultTone.resolve(
|
||||
isAlreadyConnected: isAlreadyConnected,
|
||||
isAbawoDevice:
|
||||
isAbawoDeviceIdent(device.manufacturerData),
|
||||
isAbawoDevice: hasConnectableAbawoDeviceGuid(
|
||||
device.serviceUuids),
|
||||
isConnectable: device.serviceUuids
|
||||
.any(isConnectableAbawoDeviceGuid),
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user