2023-08-30 16:18:38 +03:30
|
|
|
import 'package:hiddify/data/data_providers.dart';
|
|
|
|
|
import 'package:hiddify/domain/singbox/singbox.dart';
|
|
|
|
|
import 'package:hiddify/features/common/connectivity/connectivity_controller.dart';
|
|
|
|
|
import 'package:hiddify/utils/utils.dart';
|
|
|
|
|
import 'package:riverpod_annotation/riverpod_annotation.dart';
|
|
|
|
|
|
2023-11-01 20:46:04 +03:30
|
|
|
part 'stats_provider.g.dart';
|
2023-08-30 16:18:38 +03:30
|
|
|
|
|
|
|
|
@riverpod
|
2023-11-01 20:46:04 +03:30
|
|
|
class Stats extends _$Stats with AppLogger {
|
2023-08-30 16:18:38 +03:30
|
|
|
@override
|
|
|
|
|
Stream<CoreStatus> build() async* {
|
|
|
|
|
final serviceRunning = await ref.watch(serviceRunningProvider.future);
|
|
|
|
|
if (serviceRunning) {
|
|
|
|
|
yield* ref
|
|
|
|
|
.watch(coreFacadeProvider)
|
|
|
|
|
.watchCoreStatus()
|
|
|
|
|
.map((event) => event.getOrElse((_) => CoreStatus.empty()));
|
|
|
|
|
} else {
|
|
|
|
|
yield* Stream.value(CoreStatus.empty());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|