Optimize DNS strategy

Fix the problem that the tray is not displayed in some cases

Optimize tray

Update core

Fix some error
This commit is contained in:
chen08209
2024-09-05 08:59:45 +08:00
parent 6e5f1b8e5f
commit 846ec9728f
54 changed files with 903 additions and 391 deletions

View File

@@ -33,13 +33,21 @@ class Resources extends StatelessWidget {
fileName: geoIpFileName,
key: "geoip",
),
GeoItem(label: "GeoSite", fileName: geoSiteFileName, key: "geosite"),
GeoItem(
label: "GeoSite",
fileName: geoSiteFileName,
key: "geosite",
),
GeoItem(
label: "MMDB",
fileName: mmdbFileName,
key: "mmdb",
),
GeoItem(label: "ASN", fileName: asnFileName, key: "asn"),
GeoItem(
label: "ASN",
fileName: asnFileName,
key: "asn",
),
];
return ListView.separated(
@@ -81,6 +89,7 @@ class _GeoDataListItemState extends State<GeoDataListItem> {
child: UpdateGeoUrlFormDialog(
title: geoItem.label,
url: url,
defaultValue: defaultGeoXMap[geoItem.key],
),
);
if (newUrl != null && newUrl != url && mounted) {
@@ -238,11 +247,13 @@ class _GeoDataListItemState extends State<GeoDataListItem> {
class UpdateGeoUrlFormDialog extends StatefulWidget {
final String title;
final String url;
final String? defaultValue;
const UpdateGeoUrlFormDialog({
super.key,
required this.title,
required this.url,
this.defaultValue
});
@override
@@ -258,6 +269,13 @@ class _UpdateGeoUrlFormDialogState extends State<UpdateGeoUrlFormDialog> {
urlController = TextEditingController(text: widget.url);
}
_handleReset() async {
if (widget.defaultValue == null) {
return;
}
Navigator.of(context).pop<String>(widget.defaultValue);
}
_handleUpdate() async {
final url = urlController.value.text;
if (url.isEmpty) return;
@@ -285,6 +303,16 @@ class _UpdateGeoUrlFormDialogState extends State<UpdateGeoUrlFormDialog> {
),
),
actions: [
if (widget.defaultValue != null &&
urlController.value.text != widget.defaultValue) ...[
TextButton(
onPressed: _handleReset,
child: Text(appLocalizations.reset),
),
const SizedBox(
width: 4,
),
],
TextButton(
onPressed: _handleUpdate,
child: Text(appLocalizations.submit),