feat: use shifter trainer scan flow
This commit is contained in:
@ -10,8 +10,6 @@ import 'package:abawo_bt_app/util/bluetooth_settings.dart';
|
||||
import 'package:abawo_bt_app/widgets/bike_scan_dialog.dart';
|
||||
import 'package:abawo_bt_app/widgets/gear_ratio_editor_card.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_reactive_ble/flutter_reactive_ble.dart'
|
||||
show DiscoveredDevice;
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:go_router/go_router.dart';
|
||||
import 'package:nb_utils/nb_utils.dart';
|
||||
@ -438,20 +436,6 @@ class _DeviceDetailsPageState extends ConsumerState<DeviceDetailsPage> {
|
||||
return;
|
||||
}
|
||||
|
||||
_isAssignTrainerDialogOpen = true;
|
||||
final DiscoveredDevice? selectedBike;
|
||||
try {
|
||||
selectedBike = await BikeScanDialog.show(
|
||||
context,
|
||||
excludedDeviceId: widget.deviceAddress,
|
||||
);
|
||||
} finally {
|
||||
_isAssignTrainerDialogOpen = false;
|
||||
}
|
||||
if (selectedBike == null || !mounted) {
|
||||
return;
|
||||
}
|
||||
|
||||
await _startStatusStreamingIfNeeded();
|
||||
final shifter = _shifterService;
|
||||
if (shifter == null) {
|
||||
@ -463,8 +447,26 @@ class _DeviceDetailsPageState extends ConsumerState<DeviceDetailsPage> {
|
||||
);
|
||||
return;
|
||||
}
|
||||
if (!mounted) {
|
||||
return;
|
||||
}
|
||||
|
||||
final result = await shifter.connectButtonToBike(selectedBike.id);
|
||||
_isAssignTrainerDialogOpen = true;
|
||||
final TrainerScanResult? selectedTrainer;
|
||||
try {
|
||||
selectedTrainer = await BikeScanDialog.show(
|
||||
context,
|
||||
shifter: shifter,
|
||||
);
|
||||
} finally {
|
||||
_isAssignTrainerDialogOpen = false;
|
||||
}
|
||||
if (selectedTrainer == null || !mounted) {
|
||||
return;
|
||||
}
|
||||
|
||||
final result =
|
||||
await shifter.connectButtonToTrainer(selectedTrainer.address);
|
||||
if (!mounted) {
|
||||
return;
|
||||
}
|
||||
@ -479,7 +481,13 @@ class _DeviceDetailsPageState extends ConsumerState<DeviceDetailsPage> {
|
||||
}
|
||||
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(content: Text('Sent connect request for ${selectedBike.id}.')),
|
||||
SnackBar(
|
||||
content: Text(
|
||||
selectedTrainer.name.isEmpty
|
||||
? 'Sent connect request for trainer.'
|
||||
: 'Sent connect request for ${selectedTrainer.name}.',
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user