diff --git a/.flutter b/.flutter index b0850bee..80c2e849 160000 --- a/.flutter +++ b/.flutter @@ -1 +1 @@ -Subproject commit b0850beeb25f6d5b10426284f506557f66181b36 +Subproject commit 80c2e84975bbd28ecf5f8d4bd4ca5a2490bfc819 diff --git a/lib/app_sources/apkpure.dart b/lib/app_sources/apkpure.dart index 4e8a69ea..3048aa97 100644 --- a/lib/app_sources/apkpure.dart +++ b/lib/app_sources/apkpure.dart @@ -68,11 +68,6 @@ class APKPure extends AppSource { 'customLinkFilterRegex': '$standardUrl/download/[^/]+\$' }); - // if (versionLinks.length > 7) { - // // Returns up to 30 which is too much - would take too long and possibly get blocked/rate-limited - // versionLinks = versionLinks.sublist(0, 7); - // } - var supportedArchs = (await DeviceInfoPlugin().androidInfo).supportedAbis; if (additionalSettings['autoApkFilterByArch'] != true) { @@ -94,11 +89,15 @@ class APKPure extends AppSource { var apkUrls = apksDiv ?.querySelectorAll('div.group-title') .map((e) { - String architecture = e.text.trim(); - if (architecture.toLowerCase() == 'unlimited' || - architecture.toLowerCase() == 'universal') { - architecture = ''; + String architectureString = e.text.trim(); + if (architectureString.toLowerCase() == 'unlimited' || + architectureString.toLowerCase() == 'universal') { + architectureString = ''; } + List architectures = architectureString + .split(',') + .map((e) => e.trim()) + .toList(); // Only take the first APK for each architecture, ignore others for now, for simplicity // Unclear why there can even be multiple APKs for the same version and arch var apkInfo = e.nextElementSibling?.querySelector('div.info'); @@ -121,14 +120,16 @@ class APKPure extends AppSource { DateTime? releaseDate = parseDateTimeMMMddCommayyyy(dateString); if (additionalSettings['autoApkFilterByArch'] == true && - architecture.isNotEmpty && - !supportedArchs.contains(architecture)) { + architectures.isNotEmpty && + architectures + .where((a) => supportedArchs.contains(a)) + .isEmpty) { return const MapEntry('', ''); } topReleaseDate ??= releaseDate; // Just use the release date of the first APK in the list as the release date for this version return MapEntry( - '$appId-$versionCode-$architecture.${type.toLowerCase()}', + '$appId-$versionCode-$architectureString.${type.toLowerCase()}', 'https://d.${hosts.contains(host) ? 'cdnpure.com' : host}/b/$type/$appId?versionCode=$versionCode'); }) .where((e) => e.key.isNotEmpty) diff --git a/pubspec.lock b/pubspec.lock index 31cf5a36..679e6d54 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -287,10 +287,10 @@ packages: dependency: "direct main" description: name: file_picker - sha256: "824f5b9f389bfc4dddac3dea76cd70c51092d9dff0b2ece7ef4f53db8547d258" + sha256: "825aec673606875c33cd8d3c4083f1a3c3999015a84178b317b7ef396b7384f3" url: "https://pub.dev" source: hosted - version: "8.0.6" + version: "8.0.7" fixnum: dependency: transitive description: @@ -547,18 +547,18 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a" + sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" url: "https://pub.dev" source: hosted - version: "10.0.4" + version: "10.0.5" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8" + sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806" url: "https://pub.dev" source: hosted - version: "3.0.3" + version: "3.0.5" leak_tracker_testing: dependency: transitive description: @@ -595,18 +595,18 @@ packages: dependency: transitive description: name: material_color_utilities - sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" + sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec url: "https://pub.dev" source: hosted - version: "0.8.0" + version: "0.11.1" meta: dependency: transitive description: name: meta - sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" + sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 url: "https://pub.dev" source: hosted - version: "1.12.0" + version: "1.15.0" mime: dependency: transitive description: @@ -969,10 +969,10 @@ packages: dependency: transitive description: name: test_api - sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f" + sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb" url: "https://pub.dev" source: hosted - version: "0.7.0" + version: "0.7.2" timezone: dependency: transitive description: @@ -1041,10 +1041,10 @@ packages: dependency: transitive description: name: url_launcher_web - sha256: a36e2d7981122fa185006b216eb6b5b97ede3f9a54b7a511bc966971ab98d049 + sha256: "772638d3b34c779ede05ba3d38af34657a05ac55b06279ea6edd409e323dca8e" url: "https://pub.dev" source: hosted - version: "2.3.2" + version: "2.3.3" url_launcher_windows: dependency: transitive description: @@ -1073,10 +1073,10 @@ packages: dependency: transitive description: name: vm_service - sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec" + sha256: f652077d0bdf60abe4c1f6377448e8655008eef28f128bc023f7b5e8dfeb48fc url: "https://pub.dev" source: hosted - version: "14.2.1" + version: "14.2.4" web: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index c812cd5c..2b0074e5 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -17,7 +17,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html # In Windows, build-name is used as the major, minor, and patch parts # of the product and file versions while build-number is used as the build suffix. -version: 1.1.17+2274 +version: 1.1.18+2275 environment: sdk: '>=3.0.0 <4.0.0'