Add reset tunnel option on ios

This commit is contained in:
problematicconsumer
2024-01-18 22:53:17 +03:30
parent 0d1a1147c6
commit 98fca5792a
12 changed files with 71 additions and 6 deletions

View File

@@ -1,4 +1,6 @@
import 'package:hiddify/features/settings/data/settings_data_providers.dart';
import 'package:hiddify/singbox/service/singbox_service_provider.dart';
import 'package:hiddify/utils/custom_loggers.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
part 'platform_settings_notifier.g.dart';
@@ -23,3 +25,21 @@ class IgnoreBatteryOptimizations extends _$IgnoreBatteryOptimizations {
ref.invalidateSelf();
}
}
@riverpod
class ResetTunnel extends _$ResetTunnel with AppLogger {
@override
Future<void> build() async {}
Future<void> run() async {
state = const AsyncLoading();
state = await AsyncValue.guard(
() => ref.read(singboxServiceProvider).resetTunnel().getOrElse(
(err) {
loggy.warning("error resetting tunnel", err);
throw err;
},
).run(),
);
}
}