localsend--localsend
35 行
1.2 KiB
Dart
35 行
1.2 KiB
Dart
import 'package:localsend_app/provider/local_ip_provider.dart';
|
|
import 'package:localsend_app/provider/logging/discovery_logs_provider.dart';
|
|
import 'package:localsend_app/provider/progress_provider.dart';
|
|
import 'package:logging/logging.dart';
|
|
import 'package:refena_flutter/refena_flutter.dart';
|
|
import 'package:refena_inspector_client/refena_inspector_client.dart';
|
|
|
|
final _logger = Logger('Refena');
|
|
|
|
class CustomRefenaObserver extends RefenaMultiObserver {
|
|
CustomRefenaObserver()
|
|
: super(
|
|
observers: [
|
|
RefenaDebugObserver(
|
|
onLine: (line) => _logger.info(line),
|
|
exclude: _exclude,
|
|
),
|
|
RefenaTracingObserver(
|
|
limit: 100,
|
|
exclude: _exclude,
|
|
),
|
|
RefenaInspectorObserver(),
|
|
],
|
|
);
|
|
}
|
|
|
|
bool _exclude(RefenaEvent event) {
|
|
return switch (event) {
|
|
ChangeEvent() => event.notifier is DiscoveryLogger || event.notifier is LocalIpService || event.notifier is ProgressNotifier,
|
|
ActionDispatchedEvent() => event.action.runtimeType.toString() == '_FetchLocalIpAction',
|
|
ActionFinishedEvent() => event.action.runtimeType.toString() == '_FetchLocalIpAction',
|
|
_ => false,
|
|
};
|
|
}
|