Add silent start for desktop

This commit is contained in:
problematicconsumer
2023-07-15 18:00:44 +03:30
parent 292ed96d2a
commit a1209f5453
13 changed files with 188 additions and 67 deletions

View File

@@ -0,0 +1,36 @@
import 'package:hiddify/features/common/clash/clash_controller.dart';
import 'package:hiddify/features/common/connectivity/connectivity_controller.dart';
import 'package:hiddify/features/common/window/window_controller.dart';
import 'package:hiddify/features/system_tray/controller/system_tray_controller.dart';
import 'package:hiddify/utils/platform_utils.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
part 'common_controllers.g.dart';
// this is a temporary solution to keep providers running even when there are no active listeners
// https://github.com/rrousselGit/riverpod/discussions/2730
@Riverpod(keepAlive: true)
void commonControllers(CommonControllersRef ref) {
ref.listen(
clashControllerProvider,
(previous, next) {},
fireImmediately: true,
);
ref.listen(
connectivityControllerProvider,
(previous, next) {},
fireImmediately: true,
);
if (PlatformUtils.isDesktop) {
ref.listen(
windowControllerProvider,
(previous, next) {},
fireImmediately: true,
);
ref.listen(
systemTrayControllerProvider,
(previous, next) {},
fireImmediately: true,
);
}
}