This commit is contained in:
problematicconsumer
2023-12-01 12:56:24 +03:30
parent 9c165e178b
commit ed614988a2
181 changed files with 3092 additions and 2341 deletions

View File

@@ -2,11 +2,11 @@ import 'dart:io';
import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';
import 'package:hiddify/core/core_providers.dart';
import 'package:hiddify/core/prefs/prefs.dart';
import 'package:hiddify/core/localization/translations.dart';
import 'package:hiddify/core/preferences/general_preferences.dart';
import 'package:hiddify/core/router/router.dart';
import 'package:hiddify/domain/singbox/singbox.dart';
import 'package:hiddify/features/common/general_pref_tiles.dart';
import 'package:hiddify/features/per_app_proxy/model/per_app_proxy_mode.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
class AdvancedSettingTiles extends HookConsumerWidget {

View File

@@ -1,7 +1,9 @@
import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';
import 'package:hiddify/core/core_providers.dart';
import 'package:hiddify/core/prefs/prefs.dart';
import 'package:hiddify/core/localization/translations.dart';
import 'package:hiddify/core/preferences/general_preferences.dart';
import 'package:hiddify/core/theme/app_theme_mode.dart';
import 'package:hiddify/core/theme/theme_preferences.dart';
import 'package:hiddify/features/common/general_pref_tiles.dart';
import 'package:hiddify/services/auto_start_service.dart';
import 'package:hiddify/utils/utils.dart';
@@ -14,7 +16,7 @@ class GeneralSettingTiles extends HookConsumerWidget {
Widget build(BuildContext context, WidgetRef ref) {
final t = ref.watch(translationsProvider);
final theme = ref.watch(themeProvider);
final themeMode = ref.watch(themePreferencesProvider);
return Column(
children: [
@@ -43,7 +45,7 @@ class GeneralSettingTiles extends HookConsumerWidget {
),
ListTile(
title: Text(t.settings.general.themeMode),
subtitle: Text(theme.mode.present(t)),
subtitle: Text(themeMode.present(t)),
leading: const Icon(Icons.light_mode),
onTap: () async {
final selectedThemeMode = await showDialog<AppThemeMode>(
@@ -56,7 +58,7 @@ class GeneralSettingTiles extends HookConsumerWidget {
(e) => RadioListTile(
title: Text(e.present(t)),
value: e,
groupValue: theme.mode,
groupValue: themeMode,
onChanged: (e) => context.pop(e),
),
)
@@ -66,8 +68,8 @@ class GeneralSettingTiles extends HookConsumerWidget {
);
if (selectedThemeMode != null) {
await ref
.read(themeModeNotifierProvider.notifier)
.update(selectedThemeMode);
.read(themePreferencesProvider.notifier)
.changeThemeMode(selectedThemeMode);
}
},
),

View File

@@ -1,22 +1,9 @@
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:hiddify/core/core_providers.dart';
import 'package:hiddify/services/service_providers.dart';
import 'package:hiddify/core/localization/translations.dart';
import 'package:hiddify/features/settings/notifier/platform_settings_notifier.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
part 'platform_settings_tiles.g.dart';
@riverpod
Future<bool> isIgnoringBatteryOptimizations(
IsIgnoringBatteryOptimizationsRef ref,
) async =>
ref
.watch(platformServicesProvider)
.isIgnoringBatteryOptimizations()
.getOrElse((l) => false)
.run();
class PlatformSettingsTiles extends HookConsumerWidget {
const PlatformSettingsTiles({super.key});
@@ -26,7 +13,7 @@ class PlatformSettingsTiles extends HookConsumerWidget {
final t = ref.watch(translationsProvider);
final isIgnoringBatteryOptimizations =
ref.watch(isIgnoringBatteryOptimizationsProvider);
ref.watch(ignoreBatteryOptimizationsProvider);
ListTile buildIgnoreTile(bool enabled) => ListTile(
title: Text(t.settings.general.ignoreBatteryOptimizations),
@@ -35,11 +22,8 @@ class PlatformSettingsTiles extends HookConsumerWidget {
enabled: enabled,
onTap: () async {
await ref
.read(platformServicesProvider)
.requestIgnoreBatteryOptimizations()
.run();
await Future.delayed(const Duration(seconds: 1));
ref.invalidate(isIgnoringBatteryOptimizationsProvider);
.read(ignoreBatteryOptimizationsProvider.notifier)
.request();
},
);

View File

@@ -2,7 +2,7 @@ import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:go_router/go_router.dart';
import 'package:hiddify/core/core_providers.dart';
import 'package:hiddify/core/localization/translations.dart';
import 'package:hiddify/utils/utils.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';