import 'package:flutter_riverpod/flutter_riverpod.dart'; import '../bluetooth/bt_poller.dart'; class AppSettings { final EcuType ecuType; final Duration pollingInterval; const AppSettings({ this.ecuType = EcuType.s300, this.pollingInterval = const Duration(milliseconds: 100), }); AppSettings copyWith({EcuType? ecuType, Duration? pollingInterval}) => AppSettings( ecuType: ecuType ?? this.ecuType, pollingInterval: pollingInterval ?? this.pollingInterval, ); } class SettingsNotifier extends StateNotifier { SettingsNotifier() : super(const AppSettings()); void setEcuType(EcuType type) => state = state.copyWith(ecuType: type); void setPollingInterval(Duration d) => state = state.copyWith(pollingInterval: d); } final settingsProvider = StateNotifierProvider( (ref) => SettingsNotifier(), );