import 'package:bloc/bloc.dart'; import 'package:tanami_app/core/utils/secure/secure_storage_service.dart'; import 'toggle_event.dart'; import 'toggle_state.dart'; class ToggleBloc extends Bloc { final String type; final SecureStorageService secureStorageService = SecureStorageService(); ToggleBloc(this.type) : super(ToggleInitial()) { on(_onToggleSwitch); _initializeToggleState(); } void _onToggleSwitch(ToggleSwitch event, Emitter emit) async { if (state is ToggleOn) { emit(ToggleOff()); await secureStorageService.write(type, 'off'); } else { emit(ToggleOn()); await secureStorageService.write(type, 'on'); } } void _initializeToggleState() async { final toggleValue = await secureStorageService.read(type); if (toggleValue == 'on') { add(ToggleSwitch()); // Initializing the state by adding an event } } }