mirror of
				https://github.com/ImranR98/Obtainium.git
				synced 2025-10-31 13:33:28 +01:00 
			
		
		
		
	Compare commits
	
		
			11 Commits
		
	
	
		
			v1.2.2
			...
			e8f9159571
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | e8f9159571 | ||
|  | d8cd17c858 | ||
|  | 01f423a741 | ||
|  | 77e764e76a | ||
|  | a37509c5a3 | ||
|  | cb9ac4cba0 | ||
|  | 9524148de7 | ||
|  | d6d3623c63 | ||
|  | 58c1bdbd00 | ||
|  | f2b7b196a8 | ||
|  | 73746bcb52 | 
							
								
								
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -11,7 +11,8 @@ | ||||
| .svn/ | ||||
| .swiftpm/ | ||||
| migrate_working_dir/ | ||||
| .vscode/ | ||||
| .vscode/* | ||||
| !.vscode/launch.json | ||||
|  | ||||
| # IntelliJ related | ||||
| *.iml | ||||
|   | ||||
							
								
								
									
										28
									
								
								.vscode/launch.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								.vscode/launch.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,28 @@ | ||||
| { | ||||
|     // Use IntelliSense to learn about possible attributes. | ||||
|     // Hover to view descriptions of existing attributes. | ||||
|     // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 | ||||
|     "version": "0.2.0", | ||||
|     "configurations": [ | ||||
|         { | ||||
|             "name": "Obtainium", | ||||
|             "request": "launch", | ||||
|             "type": "dart", | ||||
|             "args":[ "--flavor", "normal" ] | ||||
|         }, | ||||
|         { | ||||
|             "name": "Obtainium (profile mode)", | ||||
|             "request": "launch", | ||||
|             "type": "dart", | ||||
|             "flutterMode": "profile", | ||||
|             "args":[ "--flavor", "normal" ] | ||||
|         }, | ||||
|         { | ||||
|             "name": "Obtainium (release mode)", | ||||
|             "request": "launch", | ||||
|             "type": "dart", | ||||
|             "flutterMode": "release", | ||||
|             "args":[ "--flavor", "normal" ] | ||||
|         } | ||||
|     ] | ||||
| } | ||||
| @@ -167,7 +167,7 @@ | ||||
|     "versionCorrectionDisabled": "Verziókorrekció letiltva (úgy tűnik, hogy a bővítmény nem működik)", | ||||
|     "unknown": "Ismeretlen", | ||||
|     "none": "Semmi", | ||||
|     "all": "Minden", | ||||
|     "all": "Összes", | ||||
|     "never": "Soha", | ||||
|     "latestVersionX": "Legújabb verzió: {}", | ||||
|     "installedVersionX": "Telepített verzió: {}", | ||||
| @@ -334,7 +334,7 @@ | ||||
|     "foregroundService": "Obtainium előtér-szolgáltatás", | ||||
|     "foregroundServiceExplanation": "Előtér-szolgáltatás használata a frissítések ellenőrzéséhez (megbízhatóbb, de több energiát fogyaszt)", | ||||
|     "fgServiceNotice": "Ez az értesítés a háttérben történő frissítésellenőrzéshez szükséges (a rendszer beállításaiban elrejthető).", | ||||
|     "excludeSecrets": "Titkok kizárása", | ||||
|     "excludeSecrets": "Érzékeny adatok (például: személyes hozzáférési tokenek) kihagyása", | ||||
|     "removeAppQuestion": { | ||||
|         "one": "Eltávolítja az alkalmazást?", | ||||
|         "other": "Eltávolítja az alkalmazásokat?" | ||||
|   | ||||
| @@ -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,14 +61,14 @@ 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(); | ||||
|     } | ||||
|  | ||||
|     String appName = appDetails['appName'] ?? tr('app'); | ||||
|     String author = appDetails['companyName'] ?? name; | ||||
|     String? dateStr = appDetails['updatedAt']; | ||||
|     String? dateStr = appDetails['appVerUpdatedAt']; | ||||
|     String? version = appDetails['versionName']; | ||||
|     String? changeLog = appDetails['whatsNew']; | ||||
|     if (version == null) { | ||||
| @@ -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