// Copyright (C) 2022 WYATT GROUP // Please see the AUTHORS file for details. // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see . import 'package:flutter/foundation.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; class AppBlocObserver extends BlocObserver { final bool printEvent; final bool printError; final bool printChange; final bool printTransition; AppBlocObserver({ this.printEvent = true, this.printError = true, this.printTransition = true, this.printChange = true, }); @override void onEvent(Bloc bloc, Object? event) { super.onEvent(bloc, event); if (printEvent) { debugPrint('onEvent(${bloc.runtimeType}, $event)'); } } @override void onError(BlocBase bloc, Object error, StackTrace stackTrace) { if (printError) { debugPrint( 'onError(${bloc.runtimeType}, $error, $stackTrace)', ); } super.onError(bloc, error, stackTrace); } @override void onChange(BlocBase bloc, Change change) { super.onChange(bloc, change); if (printChange) { debugPrint('onChange(${bloc.runtimeType}, $change)'); } } @override void onTransition( Bloc bloc, Transition transition, ) { super.onTransition(bloc, transition); if (printTransition) { debugPrint('onTransition(${bloc.runtimeType}, $transition)'); } } }