reset direct dns when region change

This commit is contained in:
hiddify-com
2024-07-27 23:51:54 +02:00
parent c4f8ebeaf4
commit bdb69a603a
6 changed files with 35 additions and 26 deletions

View File

@@ -106,12 +106,36 @@ class PreferencesNotifier<T, P> extends StateNotifier<T> {
static StateNotifierProvider<PreferencesNotifier<T, P>, T> create<T, P>(
String key,
T defaultValue, {
T Function(Ref ref)? defaultValueFunction,
T Function(P value)? mapFrom,
P Function(T value)? mapTo,
bool Function(T value)? validator,
T? overrideValue,
}) =>
StateNotifierProvider(
(ref) => PreferencesNotifier._(
ref: ref,
entry: PreferencesEntry<T, P>(
preferences: ref.read(sharedPreferencesProvider).requireValue,
key: key,
defaultValue: defaultValueFunction?.call(ref) ?? defaultValue,
mapFrom: mapFrom,
mapTo: mapTo,
validator: validator,
),
overrideValue: overrideValue,
),
);
static AutoDisposeStateNotifierProvider<PreferencesNotifier<T, P>, T> createAutoDispose<T, P>(
String key,
T defaultValue, {
T Function(P value)? mapFrom,
P Function(T value)? mapTo,
bool Function(T value)? validator,
T? overrideValue,
}) =>
StateNotifierProvider.autoDispose(
(ref) => PreferencesNotifier._(
ref: ref,
entry: PreferencesEntry<T, P>(
@@ -126,30 +150,6 @@ class PreferencesNotifier<T, P> extends StateNotifier<T> {
),
);
static AutoDisposeStateNotifierProvider<PreferencesNotifier<T, P>, T>
createAutoDispose<T, P>(
String key,
T defaultValue, {
T Function(P value)? mapFrom,
P Function(T value)? mapTo,
bool Function(T value)? validator,
T? overrideValue,
}) =>
StateNotifierProvider.autoDispose(
(ref) => PreferencesNotifier._(
ref: ref,
entry: PreferencesEntry<T, P>(
preferences: ref.read(sharedPreferencesProvider).requireValue,
key: key,
defaultValue: defaultValue,
mapFrom: mapFrom,
mapTo: mapTo,
validator: validator,
),
overrideValue: overrideValue,
),
);
P raw() {
final value = overrideValue ?? state;
if (entry.mapTo != null) return entry.mapTo!(value);