opt: escape performReassemble (#1864)

This commit is contained in:
My-Responsitories
2026-03-13 18:38:37 +08:00
committed by GitHub
parent 96f9972895
commit aee4424dbf
6 changed files with 69 additions and 65 deletions

View File

@@ -42,7 +42,7 @@ import 'package:PiliPlus/utils/update.dart';
import 'package:PiliPlus/utils/utils.dart';
import 'package:file_picker/file_picker.dart';
import 'package:flutter/foundation.dart' show kDebugMode;
import 'package:flutter/material.dart';
import 'package:flutter/material.dart' hide RefreshIndicator;
import 'package:flutter/services.dart';
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
@@ -972,7 +972,7 @@ Future<void> _showRefreshDragDialog(
if (res != null) {
kDragContainerExtentPercentage = res;
await GStorage.setting.put(SettingBoxKey.refreshDragPercentage, res);
Get.forceAppUpdate();
setState();
}
}
@@ -993,7 +993,19 @@ Future<void> _showRefreshDialog(
if (res != null) {
displacement = res;
await GStorage.setting.put(SettingBoxKey.refreshDisplacement, res);
Get.forceAppUpdate();
if (WidgetsBinding.instance.rootElement case final context?) {
context.visitChildElements(_visitor);
}
setState();
}
}
void _visitor(Element context) {
if (!context.mounted) return;
if (context.widget is RefreshIndicator) {
context.markNeedsBuild();
} else {
context.visitChildren(_visitor);
}
}

View File

@@ -26,6 +26,7 @@ import 'package:PiliPlus/pages/setting/widgets/select_dialog.dart';
import 'package:PiliPlus/pages/setting/widgets/slider_dialog.dart';
import 'package:PiliPlus/plugin/pl_player/utils/fullscreen.dart';
import 'package:PiliPlus/utils/extension/file_ext.dart';
import 'package:PiliPlus/utils/extension/get_ext.dart';
import 'package:PiliPlus/utils/extension/num_ext.dart';
import 'package:PiliPlus/utils/extension/theme_ext.dart';
import 'package:PiliPlus/utils/global_data.dart';
@@ -88,7 +89,7 @@ List<SettingsModel> get styleSettings => [
setKey: SettingBoxKey.appFontWeight,
defaultVal: false,
leading: const Icon(Icons.text_fields),
onChanged: (value) => Get.forceAppUpdate(),
onChanged: (_) => Get.updateMyAppTheme(),
onTap: _showFontWeightDialog,
),
NormalModel(
@@ -132,7 +133,7 @@ List<SettingsModel> get styleSettings => [
defaultVal: false,
onChanged: (value) {
if (value && MyApp.darkThemeData == null) {
Get.forceAppUpdate();
Get.updateMyAppTheme();
}
},
),
@@ -279,7 +280,7 @@ List<SettingsModel> get styleSettings => [
defaultVal: false,
onChanged: (value) {
if (Get.isDarkMode || Pref.darkVideoPage) {
Get.forceAppUpdate();
Get.updateMyAppTheme();
}
},
),
@@ -634,7 +635,7 @@ Future<void> _showFontWeightDialog(BuildContext context) async {
);
if (res != null) {
await GStorage.setting.put(SettingBoxKey.appFontWeight, res.toInt() - 1);
Get.forceAppUpdate();
Get.updateMyAppTheme();
}
}