mirror of
https://github.com/ImranR98/Obtainium.git
synced 2025-07-22 17:19:42 +02:00
Newest asset upload date as release date for GitHub (#1284)
This commit is contained in:
@@ -291,6 +291,7 @@
|
||||
"shizukuBinderNotFound": "Shizuku is not running",
|
||||
"useVersionCodeAsOSVersion": "Use app versionCode as OS-detected version",
|
||||
"requestHeader": "Request header",
|
||||
"useLatestAssetDateAsReleaseDate": "Use latest asset upload as release date",
|
||||
"removeAppQuestion": {
|
||||
"one": "Želite li ukloniti aplikaciju?",
|
||||
"other": "Želite li ukloniti aplikacije?"
|
||||
|
@@ -291,6 +291,7 @@
|
||||
"shizukuBinderNotFound": "Shizuku neběží",
|
||||
"useVersionCodeAsOSVersion": "Use app versionCode as OS-detected version",
|
||||
"requestHeader": "Request header",
|
||||
"useLatestAssetDateAsReleaseDate": "Use latest asset upload as release date",
|
||||
"removeAppQuestion": {
|
||||
"one": "Odstranit Apku?",
|
||||
"other": "Odstranit Apky?"
|
||||
|
@@ -291,6 +291,7 @@
|
||||
"shizukuBinderNotFound": "Shizuku läuft nicht",
|
||||
"useVersionCodeAsOSVersion": "Use app versionCode as OS-detected version",
|
||||
"requestHeader": "Request header",
|
||||
"useLatestAssetDateAsReleaseDate": "Use latest asset upload as release date",
|
||||
"removeAppQuestion": {
|
||||
"one": "App entfernen?",
|
||||
"other": "Apps entfernen?"
|
||||
|
@@ -293,6 +293,7 @@
|
||||
"systemFontError": "Error loading the system font: {}",
|
||||
"useVersionCodeAsOSVersion": "Use app versionCode as OS-detected version",
|
||||
"requestHeader": "Request header",
|
||||
"useLatestAssetDateAsReleaseDate": "Use latest asset upload as release date",
|
||||
"removeAppQuestion": {
|
||||
"one": "Remove App?",
|
||||
"other": "Remove Apps?"
|
||||
|
@@ -291,6 +291,7 @@
|
||||
"shizukuBinderNotFound": "Shizuku no está operativo",
|
||||
"useVersionCodeAsOSVersion": "Use app versionCode as OS-detected version",
|
||||
"requestHeader": "Request header",
|
||||
"useLatestAssetDateAsReleaseDate": "Use latest asset upload as release date",
|
||||
"removeAppQuestion": {
|
||||
"one": "¿Eliminar Aplicación?",
|
||||
"other": "¿Eliminar Aplicaciones?"
|
||||
|
@@ -291,6 +291,7 @@
|
||||
"shizukuBinderNotFound": "Shizuku در حال اجرا نیست",
|
||||
"useVersionCodeAsOSVersion": "استفاده کد نسخه برنامه به جای نسخه شناسایی شده توسط سیستم عامل استفاده کنید",
|
||||
"requestHeader": "درخواست سطر بالایی",
|
||||
"useLatestAssetDateAsReleaseDate": "Use latest asset upload as release date",
|
||||
"removeAppQuestion": {
|
||||
"one": "برنامه حذف شود؟",
|
||||
"other": "برنامه ها حذف شوند؟"
|
||||
|
@@ -291,6 +291,7 @@
|
||||
"shizukuBinderNotFound": "Shizuku is not running",
|
||||
"useVersionCodeAsOSVersion": "Use app versionCode as OS-detected version",
|
||||
"requestHeader": "Request header",
|
||||
"useLatestAssetDateAsReleaseDate": "Use latest asset upload as release date",
|
||||
"removeAppQuestion": {
|
||||
"one": "Supprimer l'application ?",
|
||||
"other": "Supprimer les applications ?"
|
||||
|
@@ -291,6 +291,7 @@
|
||||
"shizukuBinderNotFound": "A Shizuku nem fut",
|
||||
"useVersionCodeAsOSVersion": "Az app versionCode használata a rendszer által észlelt verzióként",
|
||||
"requestHeader": "Kérelem fejléc",
|
||||
"useLatestAssetDateAsReleaseDate": "Use latest asset upload as release date",
|
||||
"removeAppQuestion": {
|
||||
"one": "Eltávolítja az alkalmazást?",
|
||||
"other": "Eltávolítja az alkalmazást?"
|
||||
|
@@ -291,6 +291,7 @@
|
||||
"shizukuBinderNotFound": "Shizuku non è in esecuzione",
|
||||
"useVersionCodeAsOSVersion": "Use app versionCode as OS-detected version",
|
||||
"requestHeader": "Request header",
|
||||
"useLatestAssetDateAsReleaseDate": "Use latest asset upload as release date",
|
||||
"removeAppQuestion": {
|
||||
"one": "Rimuovere l'app?",
|
||||
"other": "Rimuovere le app?"
|
||||
|
@@ -293,6 +293,7 @@
|
||||
"systemFontError": "システムフォントの読み込みエラー: {}",
|
||||
"useVersionCodeAsOSVersion": "Use app versionCode as OS-detected version",
|
||||
"requestHeader": "Request header",
|
||||
"useLatestAssetDateAsReleaseDate": "Use latest asset upload as release date",
|
||||
"removeAppQuestion": {
|
||||
"one": "アプリを削除しますか?",
|
||||
"other": "アプリを削除しますか?"
|
||||
|
@@ -291,6 +291,7 @@
|
||||
"shizukuBinderNotFound": "Shizuku is not running",
|
||||
"useVersionCodeAsOSVersion": "Use app versionCode as OS-detected version",
|
||||
"requestHeader": "Request header",
|
||||
"useLatestAssetDateAsReleaseDate": "Use latest asset upload as release date",
|
||||
"removeAppQuestion": {
|
||||
"one": "App verwijderen?",
|
||||
"other": "Apps verwijderen?"
|
||||
|
@@ -291,6 +291,7 @@
|
||||
"shizukuBinderNotFound": "Shizuku is not running",
|
||||
"useVersionCodeAsOSVersion": "Use app versionCode as OS-detected version",
|
||||
"requestHeader": "Request header",
|
||||
"useLatestAssetDateAsReleaseDate": "Use latest asset upload as release date",
|
||||
"removeAppQuestion": {
|
||||
"one": "Usunąć aplikację?",
|
||||
"few": "Usunąć aplikacje?",
|
||||
|
@@ -291,6 +291,7 @@
|
||||
"shizukuBinderNotFound": "Shizuku não está rodando",
|
||||
"useVersionCodeAsOSVersion": "Use app versionCode as OS-detected version",
|
||||
"requestHeader": "Request header",
|
||||
"useLatestAssetDateAsReleaseDate": "Use latest asset upload as release date",
|
||||
"removeAppQuestion": {
|
||||
"one": "Remover aplicativo?",
|
||||
"other": "Remover aplicativos?"
|
||||
|
@@ -293,6 +293,7 @@
|
||||
"systemFontError": "Ошибка загрузки системного шрифта: {}",
|
||||
"useVersionCodeAsOSVersion": "Use app versionCode as OS-detected version",
|
||||
"requestHeader": "Request header",
|
||||
"useLatestAssetDateAsReleaseDate": "Use latest asset upload as release date",
|
||||
"removeAppQuestion": {
|
||||
"one": "Удалить приложение?",
|
||||
"other": "Удалить приложения?"
|
||||
|
@@ -277,6 +277,7 @@
|
||||
"shizukuBinderNotFound": "Shizuku is not running",
|
||||
"useVersionCodeAsOSVersion": "Use app versionCode as OS-detected version",
|
||||
"requestHeader": "Request header",
|
||||
"useLatestAssetDateAsReleaseDate": "Use latest asset upload as release date",
|
||||
"removeAppQuestion": {
|
||||
"one": "Ta Bort App?",
|
||||
"other": "Ta Bort Appar?"
|
||||
|
@@ -291,6 +291,7 @@
|
||||
"shizukuBinderNotFound": "Shizuku is not running",
|
||||
"useVersionCodeAsOSVersion": "Use app versionCode as OS-detected version",
|
||||
"requestHeader": "Request header",
|
||||
"useLatestAssetDateAsReleaseDate": "Use latest asset upload as release date",
|
||||
"removeAppQuestion": {
|
||||
"one": "Uygulamayı Kaldır?",
|
||||
"other": "Uygulamaları Kaldır?"
|
||||
|
@@ -289,6 +289,7 @@
|
||||
"shizuku": "Shizuku",
|
||||
"root": "Root",
|
||||
"shizukuBinderNotFound": "Shizuku chưa khởi động",
|
||||
"useLatestAssetDateAsReleaseDate": "Use latest asset upload as release date",
|
||||
"removeAppQuestion":{
|
||||
"one": "Gỡ ứng dụng?",
|
||||
"other": "Gỡ ứng dụng?"
|
||||
|
@@ -293,6 +293,7 @@
|
||||
"systemFontError": "加载系统字体出错:{}",
|
||||
"useVersionCodeAsOSVersion": "Use app versionCode as OS-detected version",
|
||||
"requestHeader": "Request header",
|
||||
"useLatestAssetDateAsReleaseDate": "Use latest asset upload as release date",
|
||||
"removeAppQuestion": {
|
||||
"one": "是否删除应用?",
|
||||
"other": "是否删除应用?"
|
||||
|
@@ -76,6 +76,10 @@ class GitHub extends AppSource {
|
||||
[
|
||||
GeneratedFormSwitch('dontSortReleasesList',
|
||||
label: tr('dontSortReleasesList'))
|
||||
],
|
||||
[
|
||||
GeneratedFormSwitch('useLatestAssetDateAsReleaseDate',
|
||||
label: tr('useLatestAssetDateAsReleaseDate'), defaultValue: false)
|
||||
]
|
||||
];
|
||||
|
||||
@@ -237,6 +241,8 @@ class GitHub extends AppSource {
|
||||
bool verifyLatestTag = additionalSettings['verifyLatestTag'] == true;
|
||||
bool dontSortReleasesList =
|
||||
additionalSettings['dontSortReleasesList'] == true;
|
||||
bool useLatestAssetDateAsReleaseDate =
|
||||
additionalSettings['useLatestAssetDateAsReleaseDate'] == true;
|
||||
dynamic latestRelease;
|
||||
if (verifyLatestTag) {
|
||||
var temp = requestUrl.split('?');
|
||||
@@ -277,10 +283,31 @@ class GitHub extends AppSource {
|
||||
.toList() ??
|
||||
[];
|
||||
|
||||
DateTime? getReleaseDateFromRelease(dynamic rel) =>
|
||||
DateTime? getPublishDateFromRelease(dynamic rel) =>
|
||||
rel?['published_at'] != null
|
||||
? DateTime.parse(rel['published_at'])
|
||||
: null;
|
||||
DateTime? getNewestAssetDateFromRelease(dynamic rel) {
|
||||
var t = (rel['assets'] as List<dynamic>?)
|
||||
?.map((e) {
|
||||
return e?['updated_at'] != null
|
||||
? DateTime.parse(e['updated_at'])
|
||||
: null;
|
||||
})
|
||||
.where((e) => e != null)
|
||||
.toList();
|
||||
t?.sort((a, b) => b!.compareTo(a!));
|
||||
if (t?.isNotEmpty == true) {
|
||||
return t!.first;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
DateTime? getReleaseDateFromRelease(dynamic rel, bool useAssetDate) =>
|
||||
!useAssetDate
|
||||
? getPublishDateFromRelease(rel)
|
||||
: getNewestAssetDateFromRelease(rel);
|
||||
|
||||
if (dontSortReleasesList) {
|
||||
releases = releases.reversed.toList();
|
||||
} else {
|
||||
@@ -305,8 +332,12 @@ class GitHub extends AppSource {
|
||||
(nameA as String).substring(matchA!.start, matchA.end),
|
||||
(nameB as String).substring(matchB!.start, matchB.end));
|
||||
} else {
|
||||
return (getReleaseDateFromRelease(a) ?? DateTime(1))
|
||||
.compareTo(getReleaseDateFromRelease(b) ?? DateTime(0));
|
||||
return (getReleaseDateFromRelease(
|
||||
a, useLatestAssetDateAsReleaseDate) ??
|
||||
DateTime(1))
|
||||
.compareTo(getReleaseDateFromRelease(
|
||||
b, useLatestAssetDateAsReleaseDate) ??
|
||||
DateTime(0));
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -366,7 +397,8 @@ class GitHub extends AppSource {
|
||||
throw NoReleasesError();
|
||||
}
|
||||
String? version = targetRelease['tag_name'] ?? targetRelease['name'];
|
||||
DateTime? releaseDate = getReleaseDateFromRelease(targetRelease);
|
||||
DateTime? releaseDate = getReleaseDateFromRelease(
|
||||
targetRelease, useLatestAssetDateAsReleaseDate);
|
||||
if (version == null) {
|
||||
throw NoVersionError();
|
||||
}
|
||||
|
Reference in New Issue
Block a user