mirror of
				https://github.com/ImranR98/Obtainium.git
				synced 2025-10-31 05:23:28 +01:00 
			
		
		
		
	Compare commits
	
		
			5 Commits
		
	
	
		
			a37509c5a3
			...
			v1.2.3
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | e8f9159571 | ||
|  | d8cd17c858 | ||
|  | 01f423a741 | ||
|  | 77e764e76a | ||
|  | 9524148de7 | 
| @@ -36,13 +36,15 @@ class RuStore extends AppSource { | ||||
|     return Uri.parse(standardUrl).pathSegments.last; | ||||
|   } | ||||
|  | ||||
|   Future<String> decodeString(String str) async { | ||||
|   Future<dynamic> decodeJsonBody(Uint8List bytes) async { | ||||
|     try { | ||||
|       return (await CharsetDetector.autoDecode( | ||||
|         Uint8List.fromList(str.codeUnits), | ||||
|       )).string; | ||||
|       return jsonDecode((await CharsetDetector.autoDecode(bytes)).string); | ||||
|     } catch (e) { | ||||
|       return str; | ||||
|       try { | ||||
|         return jsonDecode(utf8.decode(bytes)); | ||||
|       } catch (_) { | ||||
|         rethrow; | ||||
|       } | ||||
|     } | ||||
|   } | ||||
|  | ||||
| @@ -59,7 +61,7 @@ class RuStore extends AppSource { | ||||
|     if (res0.statusCode != 200) { | ||||
|       throw getObtainiumHttpError(res0); | ||||
|     } | ||||
|     var appDetails = jsonDecode(res0.body)['body']; | ||||
|     var appDetails = (await decodeJsonBody(res0.bodyBytes))['body']; | ||||
|     if (appDetails['appId'] == null) { | ||||
|       throw NoReleasesError(); | ||||
|     } | ||||
| @@ -83,15 +85,11 @@ class RuStore extends AppSource { | ||||
|       followRedirects: false, | ||||
|       postBody: {"appId": appDetails['appId'], "firstInstall": true}, | ||||
|     ); | ||||
|     var downloadDetails = jsonDecode(res1.body)['body']; | ||||
|     var downloadDetails = (await decodeJsonBody(res1.bodyBytes))['body']; | ||||
|     if (res1.statusCode != 200 || downloadDetails['apkUrl'] == null) { | ||||
|       throw NoAPKError(); | ||||
|     } | ||||
|  | ||||
|     appName = await decodeString(appName); | ||||
|     author = await decodeString(author); | ||||
|     changeLog = changeLog != null ? await decodeString(changeLog) : null; | ||||
|  | ||||
|     return APKDetails( | ||||
|       version, | ||||
|       getApkUrlsFromUrls([ | ||||
|   | ||||
| @@ -1084,6 +1084,7 @@ class AppsProvider with ChangeNotifier { | ||||
|       var trackOnly = apps[id]!.app.additionalSettings['trackOnly'] == true; | ||||
|       var refreshBeforeDownload = | ||||
|           apps[id]!.app.additionalSettings['refreshBeforeDownload'] == true || | ||||
|           apps[id]!.app.apkUrls.isNotEmpty && | ||||
|               apps[id]!.app.apkUrls.first.value == 'placeholder'; | ||||
|       if (refreshBeforeDownload) { | ||||
|         await checkUpdate(apps[id]!.app.id); | ||||
|   | ||||
| @@ -16,7 +16,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.2.2+2318 | ||||
| version: 1.2.3+2319 | ||||
|  | ||||
| environment: | ||||
|   sdk: ^3.8.1 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user