feat: ui rework and gear generator
This commit is contained in:
20
lib/controller/shifter_device_telemetry.dart
Normal file
20
lib/controller/shifter_device_telemetry.dart
Normal file
@ -0,0 +1,20 @@
|
||||
import 'package:abawo_bt_app/model/shifter_types.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
|
||||
final shifterDeviceTelemetryCacheProvider = StateNotifierProvider<
|
||||
ShifterDeviceTelemetryCache, Map<String, ShifterDeviceTelemetry>>(
|
||||
(ref) => ShifterDeviceTelemetryCache(),
|
||||
);
|
||||
|
||||
class ShifterDeviceTelemetryCache
|
||||
extends StateNotifier<Map<String, ShifterDeviceTelemetry>> {
|
||||
ShifterDeviceTelemetryCache() : super(const {});
|
||||
|
||||
void upsert(String deviceId, ShifterDeviceTelemetry telemetry) {
|
||||
final existing = state[deviceId];
|
||||
state = {
|
||||
...state,
|
||||
deviceId: existing == null ? telemetry : existing.merge(telemetry),
|
||||
};
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user