From 58a378d2120d67c831cdf53cefbfd1be8c4ea8e3 Mon Sep 17 00:00:00 2001 From: Imran Remtulla Date: Mon, 4 Sep 2023 03:55:13 -0400 Subject: [PATCH] Fix Aptoide App ID inferral error (#851) --- lib/app_sources/aptoide.dart | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/lib/app_sources/aptoide.dart b/lib/app_sources/aptoide.dart index 0b7f3f4..e3c5548 100644 --- a/lib/app_sources/aptoide.dart +++ b/lib/app_sources/aptoide.dart @@ -26,14 +26,10 @@ class Aptoide extends AppSource { @override Future tryInferringAppId(String standardUrl, {Map additionalSettings = const {}}) async { - return (await getLatestAPKDetails(standardUrl, additionalSettings)).version; + return (await getAppDetailsJSON(standardUrl))['package']; } - @override - Future getLatestAPKDetails( - String standardUrl, - Map additionalSettings, - ) async { + Future> getAppDetailsJSON(String standardUrl) async { var res = await sourceRequest(standardUrl); if (res.statusCode != 200) { throw getObtainiumHttpError(res); @@ -50,12 +46,20 @@ class Aptoide extends AppSource { if (res2.statusCode != 200) { throw getObtainiumHttpError(res); } - var appDetails = jsonDecode(res2.body)?['nodes']?['meta']?['data']; - String appName = appDetails?['name'] ?? tr('app'); - String author = appDetails?['developer']?['name'] ?? name; - String? dateStr = appDetails?['updated']; - String? version = appDetails?['file']?['vername']; - String? apkUrl = appDetails?['file']?['path']; + return jsonDecode(res2.body)?['nodes']?['meta']?['data']; + } + + @override + Future getLatestAPKDetails( + String standardUrl, + Map additionalSettings, + ) async { + var appDetails = await getAppDetailsJSON(standardUrl); + String appName = appDetails['name'] ?? tr('app'); + String author = appDetails['developer']?['name'] ?? name; + String? dateStr = appDetails['updated']; + String? version = appDetails['file']?['vername']; + String? apkUrl = appDetails['file']?['path']; if (version == null) { throw NoVersionError(); }