70 lines
2.0 KiB
Dart
70 lines
2.0 KiB
Dart
// 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 <https://www.gnu.org/licenses/>.
|
|
|
|
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<dynamic, dynamic> bloc, Object? event) {
|
|
super.onEvent(bloc, event);
|
|
if (printEvent) {
|
|
debugPrint('onEvent(${bloc.runtimeType}, $event)');
|
|
}
|
|
}
|
|
|
|
@override
|
|
void onError(BlocBase<dynamic> bloc, Object error, StackTrace stackTrace) {
|
|
if (printError) {
|
|
debugPrint(
|
|
'onError(${bloc.runtimeType}, $error, $stackTrace)',
|
|
);
|
|
}
|
|
super.onError(bloc, error, stackTrace);
|
|
}
|
|
|
|
@override
|
|
void onChange(BlocBase<dynamic> bloc, Change<dynamic> change) {
|
|
super.onChange(bloc, change);
|
|
if (printChange) {
|
|
debugPrint('onChange(${bloc.runtimeType}, $change)');
|
|
}
|
|
}
|
|
|
|
@override
|
|
void onTransition(
|
|
Bloc<dynamic, dynamic> bloc,
|
|
Transition<dynamic, dynamic> transition,
|
|
) {
|
|
super.onTransition(bloc, transition);
|
|
if (printTransition) {
|
|
debugPrint('onTransition(${bloc.runtimeType}, $transition)');
|
|
}
|
|
}
|
|
}
|