From daffff7eb0a90f05fa7ef8b4ee26f047976e91e3 Mon Sep 17 00:00:00 2001 From: Imran Remtulla Date: Sun, 7 Jan 2024 21:57:23 -0500 Subject: [PATCH] Add F-Droid changelogs (#1255) --- lib/app_sources/fdroid.dart | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/lib/app_sources/fdroid.dart b/lib/app_sources/fdroid.dart index fdb7ddc..a9e1707 100644 --- a/lib/app_sources/fdroid.dart +++ b/lib/app_sources/fdroid.dart @@ -85,17 +85,30 @@ class FDroid extends AppSource { try { var res = await sourceRequest( 'https://gitlab.com/fdroid/fdroiddata/-/raw/master/metadata/$appId.yml'); - String author = res.body - .split('\n') + var lines = res.body.split('\n'); + String author = lines .where((l) => l.startsWith('AuthorName: ')) .first .split(': ') .sublist(1) .join(': '); details.names.author = author; + var changelogUrls = lines.where((l) => l.startsWith('Changelog: ')); + if (changelogUrls.isNotEmpty) { + details.changeLog = changelogUrls.first; + details.changeLog = (await sourceRequest(details.changeLog! + .split(': ') + .sublist(1) + .join(': ') + .replaceFirst('/blob/', '/raw/'))) + .body; + } } catch (e) { // Fail silently } + if ((details.changeLog?.length ?? 0) > 1000) { + details.changeLog = '${details.changeLog!.substring(0, 2048)}...'; + } } return details; }