Files
abawo-bt-app/lib/controller/shifter_device_telemetry.dart

21 lines
671 B
Dart

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),
};
}
}