Fix Aptoide App ID inferral error (#851)

This commit is contained in:
Imran Remtulla
2023-09-04 03:55:13 -04:00
parent 553307ba70
commit 58a378d212

View File

@@ -26,14 +26,10 @@ class Aptoide extends AppSource {
@override @override
Future<String?> tryInferringAppId(String standardUrl, Future<String?> tryInferringAppId(String standardUrl,
{Map<String, dynamic> additionalSettings = const {}}) async { {Map<String, dynamic> additionalSettings = const {}}) async {
return (await getLatestAPKDetails(standardUrl, additionalSettings)).version; return (await getAppDetailsJSON(standardUrl))['package'];
} }
@override Future<Map<String, dynamic>> getAppDetailsJSON(String standardUrl) async {
Future<APKDetails> getLatestAPKDetails(
String standardUrl,
Map<String, dynamic> additionalSettings,
) async {
var res = await sourceRequest(standardUrl); var res = await sourceRequest(standardUrl);
if (res.statusCode != 200) { if (res.statusCode != 200) {
throw getObtainiumHttpError(res); throw getObtainiumHttpError(res);
@@ -50,12 +46,20 @@ class Aptoide extends AppSource {
if (res2.statusCode != 200) { if (res2.statusCode != 200) {
throw getObtainiumHttpError(res); throw getObtainiumHttpError(res);
} }
var appDetails = jsonDecode(res2.body)?['nodes']?['meta']?['data']; return jsonDecode(res2.body)?['nodes']?['meta']?['data'];
String appName = appDetails?['name'] ?? tr('app'); }
String author = appDetails?['developer']?['name'] ?? name;
String? dateStr = appDetails?['updated']; @override
String? version = appDetails?['file']?['vername']; Future<APKDetails> getLatestAPKDetails(
String? apkUrl = appDetails?['file']?['path']; String standardUrl,
Map<String, dynamic> 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) { if (version == null) {
throw NoVersionError(); throw NoVersionError();
} }