mirror of
https://github.com/revanced/revanced-manager.git
synced 2025-06-12 20:57:36 +02:00
feat: sort by amount of patches, display patches count, setting to enable universal patches (#593)
* feat: sort by amount of patches * feat: display patches count in application card * feat: setting to enable universal patches
This commit is contained in:
@ -106,6 +106,14 @@ class ManagerAPI {
|
||||
await _prefs.setBool('sentryEnabled', value);
|
||||
}
|
||||
|
||||
bool areUniversalPatchesEnabled() {
|
||||
return _prefs.getBool('universalPatchesEnabled') ?? false;
|
||||
}
|
||||
|
||||
Future<void> enableUniversalPatchesStatus(bool value) async {
|
||||
await _prefs.setBool('universalPatchesEnabled', value);
|
||||
}
|
||||
|
||||
bool areExperimentalPatchesEnabled() {
|
||||
return _prefs.getBool('experimentalPatchesEnabled') ?? false;
|
||||
}
|
||||
|
@ -24,6 +24,7 @@ class PatcherAPI {
|
||||
late Directory _tmpDir;
|
||||
late File _keyStoreFile;
|
||||
List<Patch> _patches = [];
|
||||
Map filteredPatches = <String, List<Patch>>{};
|
||||
File? _outFile;
|
||||
|
||||
Future<void> initialize() async {
|
||||
@ -52,10 +53,10 @@ class PatcherAPI {
|
||||
}
|
||||
}
|
||||
|
||||
Future<List<ApplicationWithIcon>> getFilteredInstalledApps() async {
|
||||
Future<List<ApplicationWithIcon>> getFilteredInstalledApps(bool showUniversalPatches) async {
|
||||
List<ApplicationWithIcon> filteredApps = [];
|
||||
bool? allAppsIncluded =
|
||||
_patches.any((patch) => patch.compatiblePackages.isEmpty);
|
||||
_patches.any((patch) => patch.compatiblePackages.isEmpty) && showUniversalPatches;
|
||||
if (allAppsIncluded) {
|
||||
var allPackages = await DeviceApps.getInstalledApplications(
|
||||
includeAppIcons: true,
|
||||
@ -94,20 +95,18 @@ class PatcherAPI {
|
||||
return filteredApps;
|
||||
}
|
||||
|
||||
Future<List<Patch>> getFilteredPatches(String packageName) async {
|
||||
List<Patch> filteredPatches = [];
|
||||
_patches.forEach((patch) {
|
||||
if (patch.compatiblePackages.isEmpty) {
|
||||
filteredPatches.add(patch);
|
||||
} else {
|
||||
if (!patch.name.contains('settings') &&
|
||||
patch.compatiblePackages.any((pack) => pack.name == packageName)
|
||||
) {
|
||||
filteredPatches.add(patch);
|
||||
}
|
||||
}
|
||||
});
|
||||
return filteredPatches;
|
||||
List<Patch> getFilteredPatches(String packageName) {
|
||||
if (!filteredPatches.keys.contains(packageName)) {
|
||||
List<Patch> patches = _patches
|
||||
.where((patch) =>
|
||||
patch.compatiblePackages.isEmpty ||
|
||||
!patch.name.contains('settings') &&
|
||||
patch.compatiblePackages
|
||||
.any((pack) => pack.name == packageName))
|
||||
.toList();
|
||||
filteredPatches[packageName] = patches;
|
||||
}
|
||||
return filteredPatches[packageName];
|
||||
}
|
||||
|
||||
Future<List<Patch>> getAppliedPatches(List<String> appliedPatches) async {
|
||||
|
Reference in New Issue
Block a user