rename settings_repository to battery_optimization_repository

This commit is contained in:
veto9292
2025-06-15 16:36:54 +03:30
parent e42e989916
commit bbd2d575fe
4 changed files with 19 additions and 48 deletions
@@ -1,10 +0,0 @@
import 'package:hiddify/features/settings/data/battery_optimization.dart/battery_optimization_repository.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
part 'battery_optimization_provider.g.dart';
@riverpod
BatteryOptimizationRepositoryImpl batteryOptimizationRepository(Ref ref) {
return BatteryOptimizationRepositoryImpl();
}
@@ -0,0 +1,19 @@
import 'package:hiddify/features/settings/data/battery_optimization_repository.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
part 'battery_optimizations_notifier.g.dart';
@riverpod
class BatteryOptimizationNotifier extends _$BatteryOptimizationNotifier {
@override
Future<bool> build() async {
return await BatteryOptimizationRepositoryImpl().isIgnoringBatteryOptimizations() ?? false;
}
Future<void> requestToIgnore() async {
state = const AsyncLoading();
await BatteryOptimizationRepositoryImpl().requestIgnoreBatteryOptimizations();
Future.delayed(const Duration(seconds: 1));
ref.invalidateSelf();
}
}
@@ -1,38 +0,0 @@
import 'package:flutter/material.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';
class PlatformSettingsTiles extends HookConsumerWidget {
const PlatformSettingsTiles({super.key});
@override
Widget build(BuildContext context, WidgetRef ref) {
final t = ref.watch(translationsProvider).requireValue;
final isIgnoringBatteryOptimizations = ref.watch(ignoreBatteryOptimizationsProvider);
return isIgnoringBatteryOptimizations.when(
data: (isIgnored) => isIgnored
? const SizedBox()
: ListTile(
title: Text(t.settings.general.ignoreBatteryOptimizations),
subtitle: Text(t.settings.general.ignoreBatteryOptimizationsMsg),
leading: const Icon(Icons.battery_saver_rounded),
onTap: () async {
await ref.read(ignoreBatteryOptimizationsProvider.notifier).request();
},
),
error: (_, __) => const SizedBox(),
loading: () => const SizedBox(
height: 48,
child: Center(
child: Padding(
padding: EdgeInsets.symmetric(horizontal: 12),
child: LinearProgressIndicator(),
),
),
),
);
}
}