Remove unnecessary prefs

This commit is contained in:
problematicconsumer
2023-08-26 16:18:38 +03:30
parent 4acee038df
commit d429735a45
13 changed files with 13 additions and 200 deletions

View File

@@ -1,26 +0,0 @@
import 'package:hiddify/core/prefs/prefs.dart';
import 'package:hiddify/data/data_providers.dart';
import 'package:hiddify/domain/clash/clash.dart';
import 'package:hiddify/features/common/connectivity/connectivity_controller.dart';
import 'package:hiddify/utils/utils.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
part 'clash_mode.g.dart';
@Riverpod(keepAlive: true)
class ClashMode extends _$ClashMode with AppLogger {
@override
Future<TunnelMode?> build() async {
final clash = ref.watch(coreFacadeProvider);
if (!await ref.watch(serviceRunningProvider.future)) {
return null;
}
ref.watch(prefsControllerProvider.select((value) => value.clash.mode));
return clash.getConfigs().map((r) => r.mode).getOrElse(
(l) {
loggy.warning("fetching clash mode: $l");
throw l;
},
).run();
}
}

View File

@@ -22,7 +22,7 @@ class WindowController extends _$WindowController
await windowManager.waitUntilReadyToShow(
windowOptions,
() async {
if (ref.read(prefsControllerProvider).general.silentStart) {
if (ref.read(silentStartProvider)) {
loggy.debug("silent start is enabled, hiding window");
await windowManager.hide();
}

View File

@@ -16,7 +16,6 @@ class GroupWithProxies with _$GroupWithProxies {
static Future<List<GroupWithProxies>> fromProxies(
List<ClashProxy> proxies,
TunnelMode? mode,
) async {
final stopWatch = Stopwatch()..start();
final res = await CombineWorker().execute(

View File

@@ -4,7 +4,6 @@ import 'package:fpdart/fpdart.dart';
import 'package:hiddify/data/data_providers.dart';
import 'package:hiddify/domain/clash/clash.dart';
import 'package:hiddify/domain/core_service_failure.dart';
import 'package:hiddify/features/common/clash/clash_mode.dart';
import 'package:hiddify/features/common/connectivity/connectivity_controller.dart';
import 'package:hiddify/features/proxies/model/model.dart';
import 'package:hiddify/utils/utils.dart';
@@ -20,11 +19,10 @@ class ProxiesNotifier extends _$ProxiesNotifier with AppLogger {
if (!await ref.watch(serviceRunningProvider.future)) {
throw const CoreServiceNotRunning();
}
final mode = await ref.watch(clashModeProvider.future);
return _clash.getProxies().flatMap(
(proxies) {
return TaskEither(
() async => right(await GroupWithProxies.fromProxies(proxies, mode)),
() async => right(await GroupWithProxies.fromProxies(proxies)),
);
},
).getOrElse((l) {

View File

@@ -3,7 +3,7 @@ import 'package:flutter_localized_locales/flutter_localized_locales.dart';
import 'package:go_router/go_router.dart';
import 'package:hiddify/core/core_providers.dart';
import 'package:hiddify/core/locale/locale.dart';
import 'package:hiddify/core/prefs/prefs.dart';
import 'package:hiddify/core/prefs/general_prefs.dart';
import 'package:hiddify/core/theme/theme.dart';
import 'package:hiddify/features/settings/widgets/theme_mode_switch_button.dart';
import 'package:hiddify/services/service_providers.dart';
@@ -18,9 +18,6 @@ class AppearanceSettingTiles extends HookConsumerWidget {
Widget build(BuildContext context, WidgetRef ref) {
final t = ref.watch(translationsProvider);
final general =
ref.watch(prefsControllerProvider.select((value) => value.general));
final locale = ref.watch(localeControllerProvider);
final theme = ref.watch(themeControllerProvider);
@@ -98,11 +95,9 @@ class AppearanceSettingTiles extends HookConsumerWidget {
if (PlatformUtils.isDesktop) ...[
SwitchListTile(
title: Text(t.settings.general.silentStart.titleCase),
value: general.silentStart,
onChanged: (value) {
ref
.read(prefsControllerProvider.notifier)
.patchGeneralPrefs(silentStart: value);
value: ref.watch(silentStartProvider),
onChanged: (value) async {
await ref.read(silentStartProvider.notifier).update(value);
},
),
ListTile(

View File

@@ -1,9 +1,5 @@
import 'package:fpdart/fpdart.dart';
import 'package:hiddify/core/core_providers.dart';
import 'package:hiddify/core/prefs/prefs.dart';
import 'package:hiddify/domain/clash/clash.dart';
import 'package:hiddify/domain/connectivity/connectivity.dart';
import 'package:hiddify/features/common/clash/clash_mode.dart';
import 'package:hiddify/features/common/connectivity/connectivity_controller.dart';
import 'package:hiddify/features/common/window/window_controller.dart';
import 'package:hiddify/gen/assets.gen.dart';
@@ -26,19 +22,14 @@ class SystemTrayController extends _$SystemTrayController
}
final connection = await ref.watch(connectivityControllerProvider.future);
final mode =
ref.watch(clashModeProvider.select((value) => value.valueOrNull));
loggy.debug('updating system tray');
await _updateTray(connection, mode);
await _updateTray(connection);
}
bool _initialized = false;
Future<void> _updateTray(
ConnectionStatus connection,
TunnelMode? mode,
) async {
Future<void> _updateTray(ConnectionStatus connection) async {
final t = ref.watch(translationsProvider);
final trayMenu = Menu(
items: [
@@ -46,16 +37,6 @@ class SystemTrayController extends _$SystemTrayController
label: t.tray.dashboard,
onClick: handleClickShowApp,
),
if (mode != null) ...[
MenuItem.separator(),
...TunnelMode.values.map(
(e) => MenuItem.checkbox(
label: e.name,
checked: e == mode,
onClick: (mi) => handleClickModeItem(e, mi),
),
),
],
MenuItem.separator(),
MenuItem.checkbox(
label: t.tray.systemProxy,
@@ -89,15 +70,6 @@ class SystemTrayController extends _$SystemTrayController
await ref.read(windowControllerProvider.notifier).show();
}
Future<void> handleClickModeItem(
TunnelMode mode,
MenuItem menuItem,
) async {
return ref
.read(prefsControllerProvider.notifier)
.patchClashOverrides(ClashConfigPatch(mode: some(mode)));
}
Future<void> handleClickSetAsSystemProxy(MenuItem menuItem) async {
return ref.read(connectivityControllerProvider.notifier).toggleConnection();
}