finished implementation
This commit is contained in:
@@ -4,17 +4,32 @@ import 'package:json_annotation/json_annotation.dart';
|
||||
|
||||
part 'tor_settings.g.dart';
|
||||
|
||||
enum TorConnectionConfig { auto, direct, obfs4, snowflake }
|
||||
|
||||
@CopyWith()
|
||||
@JsonSerializable(includeIfNull: true, constructor: 'withDefaults')
|
||||
class TorSettings with FastEquatable {
|
||||
final bool proxyPrivateTabsTor;
|
||||
final bool autoConfig;
|
||||
final TorConnectionConfig config;
|
||||
final bool requireBridge;
|
||||
final bool fetchRemoteBridges;
|
||||
|
||||
TorSettings({required this.proxyPrivateTabsTor, required this.autoConfig});
|
||||
TorSettings({
|
||||
required this.proxyPrivateTabsTor,
|
||||
required this.config,
|
||||
required this.requireBridge,
|
||||
required this.fetchRemoteBridges,
|
||||
});
|
||||
|
||||
TorSettings.withDefaults({bool? proxyPrivateTabsTor, bool? autoConfig})
|
||||
: proxyPrivateTabsTor = proxyPrivateTabsTor ?? false,
|
||||
autoConfig = autoConfig ?? true;
|
||||
TorSettings.withDefaults({
|
||||
bool? proxyPrivateTabsTor,
|
||||
TorConnectionConfig? config,
|
||||
bool? requireBridge,
|
||||
bool? fetchRemoteBridges,
|
||||
}) : proxyPrivateTabsTor = proxyPrivateTabsTor ?? false,
|
||||
config = config ?? TorConnectionConfig.auto,
|
||||
requireBridge = requireBridge ?? false,
|
||||
fetchRemoteBridges = fetchRemoteBridges ?? true;
|
||||
|
||||
factory TorSettings.fromJson(Map<String, dynamic> json) =>
|
||||
_$TorSettingsFromJson(json);
|
||||
@@ -22,5 +37,10 @@ class TorSettings with FastEquatable {
|
||||
Map<String, dynamic> toJson() => _$TorSettingsToJson(this);
|
||||
|
||||
@override
|
||||
List<Object?> get hashParameters => [proxyPrivateTabsTor, autoConfig];
|
||||
List<Object?> get hashParameters => [
|
||||
proxyPrivateTabsTor,
|
||||
config,
|
||||
requireBridge,
|
||||
fetchRemoteBridges,
|
||||
];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user