Add memory limit option

This commit is contained in:
problematicconsumer
2023-10-26 15:16:25 +03:30
parent f85163476d
commit ab4e6f8b77
14 changed files with 90 additions and 27 deletions

View File

@@ -1,3 +1,4 @@
import 'package:hiddify/core/prefs/prefs.dart';
import 'package:hiddify/data/data_providers.dart';
import 'package:hiddify/domain/connectivity/connectivity.dart';
import 'package:hiddify/domain/core_facade.dart';
@@ -50,7 +51,9 @@ class ConnectivityController extends _$ConnectivityController with AppLogger {
return _disconnect();
}
loggy.debug("reconnecting, profile: [$profileId]");
await _core.restart(profileId).mapLeft((err) {
await _core
.restart(profileId, ref.read(disableMemoryLimitProvider))
.mapLeft((err) {
loggy.warning("error reconnecting", err);
state = AsyncError(err, StackTrace.current);
}).run();
@@ -70,8 +73,10 @@ class ConnectivityController extends _$ConnectivityController with AppLogger {
Future<void> _connect() async {
final activeProfile = await ref.read(activeProfileProvider.future);
await _core.start(activeProfile!.id).mapLeft((err) {
loggy.warning("error connecting", err);
await _core
.start(activeProfile!.id, ref.read(disableMemoryLimitProvider))
.mapLeft((err) {
loggy.warning("error connecting $err", err);
state = AsyncError(err, StackTrace.current);
}).run();
}

View File

@@ -18,6 +18,7 @@ class AdvancedSettingTiles extends HookConsumerWidget {
final debug = ref.watch(debugModeNotifierProvider);
final perAppProxy = ref.watch(perAppProxyModeNotifierProvider).enabled;
final disableMemoryLimit = ref.watch(disableMemoryLimitProvider);
return Column(
children: [
@@ -83,6 +84,13 @@ class AdvancedSettingTiles extends HookConsumerWidget {
await ref.read(debugModeNotifierProvider.notifier).update(value);
},
),
SwitchListTile(
title: Text(t.settings.advanced.memoryLimit),
value: !disableMemoryLimit,
onChanged: (value) async {
await ref.read(disableMemoryLimitProvider.notifier).update(!value);
},
),
],
);
}