Regroup functions by their intention

This may prepare for later refactorings and code simplification
This commit is contained in:
Achim
2024-03-09 10:11:54 +01:00
parent a9159fc8a0
commit 3824b386d7

View File

@@ -109,17 +109,20 @@ class GitLab extends AppSource {
String standardUrl, String standardUrl,
Map<String, dynamic> additionalSettings, Map<String, dynamic> additionalSettings,
) async { ) async {
bool fallbackToOlderReleases = // Prepare request params
additionalSettings['fallbackToOlderReleases'] == true;
String? PAT = await getPATIfAny(hostChanged ? additionalSettings : {});
Iterable<APKDetails> apkDetailsList = [];
var names = GitHub().getAppNames(standardUrl); var names = GitHub().getAppNames(standardUrl);
String? PAT = await getPATIfAny(hostChanged ? additionalSettings : {});
// Request data from REST API
Response res = await sourceRequest( Response res = await sourceRequest(
'https://${hosts[0]}/api/v4/projects/${names.author}%2F${names.name}/releases?private_token=$PAT', 'https://${hosts[0]}/api/v4/projects/${names.author}%2F${names.name}/releases?private_token=$PAT',
additionalSettings); additionalSettings);
if (res.statusCode != 200) { if (res.statusCode != 200) {
throw getObtainiumHttpError(res); throw getObtainiumHttpError(res);
} }
// Extract .apk details from received data
Iterable<APKDetails> apkDetailsList = [];
var json = jsonDecode(res.body) as List<dynamic>; var json = jsonDecode(res.body) as List<dynamic>;
apkDetailsList = json.map((e) { apkDetailsList = json.map((e) {
var apkUrlsFromAssets = (e['assets']?['links'] as List<dynamic>? ?? []) var apkUrlsFromAssets = (e['assets']?['links'] as List<dynamic>? ?? [])
@@ -153,6 +156,10 @@ class GitLab extends AppSource {
if (apkDetailsList.isEmpty) { if (apkDetailsList.isEmpty) {
throw NoReleasesError(note: tr('gitlabSourceNote')); throw NoReleasesError(note: tr('gitlabSourceNote'));
} }
// Fallback procedure
bool fallbackToOlderReleases =
additionalSettings['fallbackToOlderReleases'] == true;
if (fallbackToOlderReleases) { if (fallbackToOlderReleases) {
if (additionalSettings['trackOnly'] != true) { if (additionalSettings['trackOnly'] != true) {
apkDetailsList = apkDetailsList =
@@ -162,6 +169,7 @@ class GitLab extends AppSource {
throw NoReleasesError(note: tr('gitlabSourceNote')); throw NoReleasesError(note: tr('gitlabSourceNote'));
} }
} }
return apkDetailsList.first; return apkDetailsList.first;
} }
} }