mirror of
				https://github.com/ImranR98/Obtainium.git
				synced 2025-10-30 21:13:28 +01:00 
			
		
		
		
	| @@ -34,23 +34,39 @@ class FDroid implements AppSource { | ||||
|       String standardUrl, List<String> additionalData) async { | ||||
|     Response res = await get(Uri.parse(standardUrl)); | ||||
|     if (res.statusCode == 200) { | ||||
|       var latestReleaseDiv = | ||||
|           parse(res.body).querySelector('#latest.package-version'); | ||||
|       var apkUrl = latestReleaseDiv | ||||
|           ?.querySelector('.package-version-download a') | ||||
|           ?.attributes['href']; | ||||
|       if (apkUrl == null) { | ||||
|         throw noAPKFound; | ||||
|       var releases = parse(res.body).querySelectorAll('.package-version'); | ||||
|       if (releases.isEmpty) { | ||||
|         throw couldNotFindReleases; | ||||
|       } | ||||
|       var version = latestReleaseDiv | ||||
|           ?.querySelector('.package-version-header b') | ||||
|       String? latestVersion = releases[0] | ||||
|           .querySelector('.package-version-header b') | ||||
|           ?.innerHtml | ||||
|           .split(' ') | ||||
|           .last; | ||||
|       if (version == null) { | ||||
|           .sublist(1) | ||||
|           .join(' '); | ||||
|       if (latestVersion == null) { | ||||
|         throw couldNotFindLatestVersion; | ||||
|       } | ||||
|       return APKDetails(version, [apkUrl]); | ||||
|       List<String> apkUrls = releases | ||||
|           .where((element) => | ||||
|               element | ||||
|                   .querySelector('.package-version-header b') | ||||
|                   ?.innerHtml | ||||
|                   .split(' ') | ||||
|                   .sublist(1) | ||||
|                   .join(' ') == | ||||
|               latestVersion) | ||||
|           .map((e) => | ||||
|               e | ||||
|                   .querySelector('.package-version-download a') | ||||
|                   ?.attributes['href'] ?? | ||||
|               '') | ||||
|           .where((element) => element.isNotEmpty) | ||||
|           .toList(); | ||||
|       if (apkUrls.isEmpty) { | ||||
|         throw noAPKFound; | ||||
|       } | ||||
|       return APKDetails(latestVersion, apkUrls); | ||||
|     } else { | ||||
|       throw couldNotFindReleases; | ||||
|     } | ||||
|   | ||||
| @@ -14,7 +14,7 @@ import 'package:workmanager/workmanager.dart'; | ||||
| import 'package:dynamic_color/dynamic_color.dart'; | ||||
| import 'package:device_info_plus/device_info_plus.dart'; | ||||
|  | ||||
| const String currentVersion = '0.6.1'; | ||||
| const String currentVersion = '0.6.2'; | ||||
| const String currentReleaseTag = | ||||
|     'v$currentVersion-beta'; // KEEP THIS IN SYNC WITH GITHUB RELEASES | ||||
|  | ||||
|   | ||||
| @@ -154,7 +154,8 @@ class _AddAppPageState extends State<AddAppPage> { | ||||
|                                   child: const Text('Add')) | ||||
|                         ], | ||||
|                       ), | ||||
|                       if (pickedSource != null) | ||||
|                       if (pickedSource != null && | ||||
|                           pickedSource!.additionalDataDefaults.isNotEmpty) | ||||
|                         Column( | ||||
|                           crossAxisAlignment: CrossAxisAlignment.stretch, | ||||
|                           children: [ | ||||
|   | ||||
| @@ -104,6 +104,11 @@ preStandardizeUrl(String url) { | ||||
|   if (url.toLowerCase().indexOf('https://www.') == 0) { | ||||
|     url = 'https://${url.substring(12)}'; | ||||
|   } | ||||
|   url = url | ||||
|       .split('/') | ||||
|       .where((e) => e.isNotEmpty) | ||||
|       .join('/') | ||||
|       .replaceFirst(':/', '://'); | ||||
|   return url; | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -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: 0.6.1+45 # When changing this, update the tag in main() accordingly | ||||
| version: 0.6.2+46 # When changing this, update the tag in main() accordingly | ||||
|  | ||||
| environment: | ||||
|   sdk: '>=2.18.2 <3.0.0' | ||||
|   | ||||
		Reference in New Issue
	
	Block a user