mirror of
https://github.com/wanghongenpin/proxypin.git
synced 2026-03-15 04:23:17 +08:00
Refactor request rewrite and SSL widget state management for improved clarity and functionality (#679)
This commit is contained in:
@@ -46,24 +46,11 @@ class MobileRequestRewrite extends StatefulWidget {
|
||||
}
|
||||
|
||||
class _MobileRequestRewriteState extends State<MobileRequestRewrite> {
|
||||
bool enabled = false;
|
||||
|
||||
AppLocalizations get localizations => AppLocalizations.of(context)!;
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
enabled = widget.requestRewrites.enabled;
|
||||
}
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
if (enabled != widget.requestRewrites.enabled) {
|
||||
widget.requestRewrites.enabled = enabled;
|
||||
widget.requestRewrites.flushRequestRewriteConfig();
|
||||
}
|
||||
|
||||
super.dispose();
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -78,7 +65,13 @@ class _MobileRequestRewriteState extends State<MobileRequestRewrite> {
|
||||
Row(
|
||||
children: [
|
||||
Text(localizations.requestRewriteEnable),
|
||||
SwitchWidget(value: enabled, scale: 0.8, onChanged: (val) => enabled = val),
|
||||
SwitchWidget(
|
||||
value: widget.requestRewrites.enabled,
|
||||
scale: 0.8,
|
||||
onChanged: (val) {
|
||||
widget.requestRewrites.enabled = val;
|
||||
widget.requestRewrites.flushRequestRewriteConfig();
|
||||
}),
|
||||
],
|
||||
),
|
||||
Row(mainAxisAlignment: MainAxisAlignment.end, children: [
|
||||
|
||||
@@ -36,16 +36,14 @@ import 'package:url_launcher/url_launcher.dart';
|
||||
|
||||
class MobileSslWidget extends StatefulWidget {
|
||||
final ProxyServer proxyServer;
|
||||
final Function(bool val)? onEnableChange;
|
||||
|
||||
const MobileSslWidget({super.key, required this.proxyServer, this.onEnableChange});
|
||||
const MobileSslWidget({super.key, required this.proxyServer});
|
||||
|
||||
@override
|
||||
State<MobileSslWidget> createState() => _MobileSslState();
|
||||
}
|
||||
|
||||
class _MobileSslState extends State<MobileSslWidget> {
|
||||
bool changed = false;
|
||||
|
||||
// iOS CA status
|
||||
bool _loading = false;
|
||||
@@ -84,9 +82,6 @@ class _MobileSslState extends State<MobileSslWidget> {
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
if (changed) {
|
||||
widget.proxyServer.configuration.flushConfig();
|
||||
}
|
||||
super.dispose();
|
||||
}
|
||||
|
||||
@@ -121,10 +116,9 @@ class _MobileSslState extends State<MobileSslWidget> {
|
||||
value: widget.proxyServer.enableSsl,
|
||||
onChanged: (val) {
|
||||
widget.proxyServer.enableSsl = val;
|
||||
widget.onEnableChange?.call(val);
|
||||
CertificateManager.cleanCache();
|
||||
setState(() {
|
||||
changed = true;
|
||||
widget.proxyServer.configuration.flushConfig();
|
||||
});
|
||||
}),
|
||||
Divider(height: 0, thickness: 0.3, color: dividerColor),
|
||||
|
||||
Reference in New Issue
Block a user