feat: Also show new patches in the removed patches dialog (#2257)

Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
This commit is contained in:
aAbed 2024-10-17 21:33:19 +05:45 committed by GitHub
parent bd79496433
commit 8872165a99
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 15 additions and 3 deletions

View File

@ -55,7 +55,8 @@
"widgetTitle": "Patcher",
"patchButton": "Patch",
"incompatibleArchWarningDialogText": "Patching on this architecture is not yet supported and might fail. Continue anyways?",
"removedPatchesWarningDialogText": "The following patches have been removed since the last time you used them.\n\n${patches}\n\nContinue anyways?",
"removedPatchesWarningDialogText": "Removed patches since the last time you used them:\n\n${patches}\n\n${newPatches}Continue anyways?",
"addedPatchesDialogText": "Added patches since the last time you used them:\n\n${addedPatches}\n\n",
"requiredOptionDialogText": "Some patch options have to be set."
},
"appSelectorCard": {

View File

@ -28,6 +28,7 @@ class PatcherViewModel extends BaseViewModel {
BuildContext? ctx;
List<Patch> selectedPatches = [];
List<String> removedPatches = [];
List<String> newPatches = [];
void navigateToAppSelector() {
_navigationService.navigateTo(Routes.appSelectorView);
@ -59,6 +60,11 @@ class PatcherViewModel extends BaseViewModel {
child: Text(
t.patcherView.removedPatchesWarningDialogText(
patches: removedPatches.join('\n'),
newPatches: newPatches.isNotEmpty
? t.patcherView.addedPatchesDialogText(
addedPatches: newPatches.join('\n'),
)
: '',
),
),
),
@ -188,14 +194,14 @@ class PatcherViewModel extends BaseViewModel {
}
if (savedPatchNames.isEmpty) {
return false;
} else {
return !savedPatchNames.contains(patch.name);
}
return !savedPatchNames.contains(patch.name);
}
Future<void> loadLastSelectedPatches() async {
this.selectedPatches.clear();
removedPatches.clear();
newPatches.clear();
final List<String> selectedPatches =
await _managerAPI.getSelectedPatches(selectedApp!.packageName);
final List<Patch> patches =
@ -236,6 +242,11 @@ class PatcherViewModel extends BaseViewModel {
}
}
}
for (final patch in patches) {
if (isPatchNew(patch)) {
newPatches.add('${patch.name}');
}
}
notifyListeners();
}
}