mirror of
https://github.com/ImranR98/Obtainium.git
synced 2025-08-22 22:19:29 +02:00
Added "skip latest" option to APKPure (also fallback toggle)
This commit is contained in:
@@ -315,6 +315,7 @@
|
|||||||
"wiki": "Pomoć/Wiki",
|
"wiki": "Pomoć/Wiki",
|
||||||
"crowdsourcedConfigsLabel": "Konfiguracije aplikacije obezbeđene pomoću velikog broja ljudi (crowdsourcing) (koristite na svoju odgovornost)",
|
"crowdsourcedConfigsLabel": "Konfiguracije aplikacije obezbeđene pomoću velikog broja ljudi (crowdsourcing) (koristite na svoju odgovornost)",
|
||||||
"allowInsecure": "Allow insecure HTTP requests",
|
"allowInsecure": "Allow insecure HTTP requests",
|
||||||
|
"stayOneVersionBehind": "Stay one version behind latest",
|
||||||
"removeAppQuestion": {
|
"removeAppQuestion": {
|
||||||
"one": "Želite li ukloniti aplikaciju?",
|
"one": "Želite li ukloniti aplikaciju?",
|
||||||
"other": "Želite li ukloniti aplikacije?"
|
"other": "Želite li ukloniti aplikacije?"
|
||||||
|
@@ -315,6 +315,7 @@
|
|||||||
"wiki": "Nápověda/Wiki",
|
"wiki": "Nápověda/Wiki",
|
||||||
"crowdsourcedConfigsLabel": "Konfigurace aplikací s využitím crowdsourcingu (použití na vlastní nebezpečí)",
|
"crowdsourcedConfigsLabel": "Konfigurace aplikací s využitím crowdsourcingu (použití na vlastní nebezpečí)",
|
||||||
"allowInsecure": "Povolení nezabezpečených požadavků HTTP",
|
"allowInsecure": "Povolení nezabezpečených požadavků HTTP",
|
||||||
|
"stayOneVersionBehind": "Zůstaňte o jednu verzi pozadu za nejnovější",
|
||||||
"removeAppQuestion": {
|
"removeAppQuestion": {
|
||||||
"one": "Odstranit Apku?",
|
"one": "Odstranit Apku?",
|
||||||
"other": "Odstranit Apky?"
|
"other": "Odstranit Apky?"
|
||||||
|
@@ -315,6 +315,7 @@
|
|||||||
"wiki": "Hjælp/Wiki",
|
"wiki": "Hjælp/Wiki",
|
||||||
"crowdsourcedConfigsLabel": "Crowdsourcede app-konfigurationer (brug på egen risiko)",
|
"crowdsourcedConfigsLabel": "Crowdsourcede app-konfigurationer (brug på egen risiko)",
|
||||||
"allowInsecure": "Tillad usikre HTTP-anmodninger",
|
"allowInsecure": "Tillad usikre HTTP-anmodninger",
|
||||||
|
"stayOneVersionBehind": "Vær en version bagud i forhold til den nyeste",
|
||||||
"removeAppQuestion": {
|
"removeAppQuestion": {
|
||||||
"one": "Fjern app?",
|
"one": "Fjern app?",
|
||||||
"other": "Fjern apps?"
|
"other": "Fjern apps?"
|
||||||
|
@@ -315,6 +315,7 @@
|
|||||||
"wiki": "Hilfe/Wiki",
|
"wiki": "Hilfe/Wiki",
|
||||||
"crowdsourcedConfigsLabel": "Crowdsourced App-Konfigurationen (Verwendung auf eigene Gefahr)",
|
"crowdsourcedConfigsLabel": "Crowdsourced App-Konfigurationen (Verwendung auf eigene Gefahr)",
|
||||||
"allowInsecure": "Unsichere HTTP-Anfragen zulassen",
|
"allowInsecure": "Unsichere HTTP-Anfragen zulassen",
|
||||||
|
"stayOneVersionBehind": "Eine Version hinter der neuesten Version bleiben",
|
||||||
"removeAppQuestion": {
|
"removeAppQuestion": {
|
||||||
"one": "App entfernen?",
|
"one": "App entfernen?",
|
||||||
"other": "Apps entfernen?"
|
"other": "Apps entfernen?"
|
||||||
|
@@ -315,6 +315,7 @@
|
|||||||
"wiki": "Helpo/Vikio",
|
"wiki": "Helpo/Vikio",
|
||||||
"crowdsourcedConfigsLabel": "Komunumaj apo-agordoj (uzu kun singardo)",
|
"crowdsourcedConfigsLabel": "Komunumaj apo-agordoj (uzu kun singardo)",
|
||||||
"allowInsecure": "Allow insecure HTTP requests",
|
"allowInsecure": "Allow insecure HTTP requests",
|
||||||
|
"stayOneVersionBehind": "Stay one version behind latest",
|
||||||
"removeAppQuestion": {
|
"removeAppQuestion": {
|
||||||
"one": "Forigi la aplikaĵon?",
|
"one": "Forigi la aplikaĵon?",
|
||||||
"other": "Forigi la aplikaĵojn?"
|
"other": "Forigi la aplikaĵojn?"
|
||||||
|
@@ -315,6 +315,7 @@
|
|||||||
"wiki": "Help/Wiki",
|
"wiki": "Help/Wiki",
|
||||||
"crowdsourcedConfigsLabel": "Crowdsourced App Configurations (use at your own risk)",
|
"crowdsourcedConfigsLabel": "Crowdsourced App Configurations (use at your own risk)",
|
||||||
"allowInsecure": "Allow insecure HTTP requests",
|
"allowInsecure": "Allow insecure HTTP requests",
|
||||||
|
"stayOneVersionBehind": "Stay one version behind latest",
|
||||||
"removeAppQuestion": {
|
"removeAppQuestion": {
|
||||||
"one": "Remove App?",
|
"one": "Remove App?",
|
||||||
"other": "Remove Apps?"
|
"other": "Remove Apps?"
|
||||||
|
@@ -315,6 +315,7 @@
|
|||||||
"wiki": "Ayuda/Wiki",
|
"wiki": "Ayuda/Wiki",
|
||||||
"crowdsourcedConfigsLabel": "Crowdsourced App Configurations (uso bajo su propia responsabilidad)",
|
"crowdsourcedConfigsLabel": "Crowdsourced App Configurations (uso bajo su propia responsabilidad)",
|
||||||
"allowInsecure": "Permitir peticiones HTTP inseguras",
|
"allowInsecure": "Permitir peticiones HTTP inseguras",
|
||||||
|
"stayOneVersionBehind": "Mantenerse una versión por detrás de la última",
|
||||||
"removeAppQuestion": {
|
"removeAppQuestion": {
|
||||||
"one": "¿Eliminar aplicación?",
|
"one": "¿Eliminar aplicación?",
|
||||||
"other": "¿Eliminar aplicaciones?"
|
"other": "¿Eliminar aplicaciones?"
|
||||||
|
@@ -315,6 +315,7 @@
|
|||||||
"wiki": "راهنما/ویکی",
|
"wiki": "راهنما/ویکی",
|
||||||
"crowdsourcedConfigsLabel": "تنظیمات برنامه Crowdsourced (با مسئولیت خود استفاده کنید)",
|
"crowdsourcedConfigsLabel": "تنظیمات برنامه Crowdsourced (با مسئولیت خود استفاده کنید)",
|
||||||
"allowInsecure": "درخواست های HTTP ناامن را مجاز کنید",
|
"allowInsecure": "درخواست های HTTP ناامن را مجاز کنید",
|
||||||
|
"stayOneVersionBehind": "Stay one version behind latest",
|
||||||
"removeAppQuestion": {
|
"removeAppQuestion": {
|
||||||
"one": "برنامه حذف شود؟",
|
"one": "برنامه حذف شود؟",
|
||||||
"other": "برنامه ها حذف شوند؟"
|
"other": "برنامه ها حذف شوند؟"
|
||||||
|
@@ -315,6 +315,7 @@
|
|||||||
"wiki": "Aide/Wiki",
|
"wiki": "Aide/Wiki",
|
||||||
"crowdsourcedConfigsLabel": "Configurations d'applications par la communauté (à utiliser à vos risques et périls)",
|
"crowdsourcedConfigsLabel": "Configurations d'applications par la communauté (à utiliser à vos risques et périls)",
|
||||||
"allowInsecure": "Autoriser les requêtes HTTP non sécurisées",
|
"allowInsecure": "Autoriser les requêtes HTTP non sécurisées",
|
||||||
|
"stayOneVersionBehind": "Rester à une version de la dernière",
|
||||||
"removeAppQuestion": {
|
"removeAppQuestion": {
|
||||||
"one": "Supprimer l'application ?",
|
"one": "Supprimer l'application ?",
|
||||||
"other": "Supprimer les applications ?"
|
"other": "Supprimer les applications ?"
|
||||||
|
@@ -315,6 +315,7 @@
|
|||||||
"wiki": "Súgó/Wiki",
|
"wiki": "Súgó/Wiki",
|
||||||
"crowdsourcedConfigsLabel": "Crowdsource-ből származó alkalmazások beállítása (saját felelősségére használja)",
|
"crowdsourcedConfigsLabel": "Crowdsource-ből származó alkalmazások beállítása (saját felelősségére használja)",
|
||||||
"allowInsecure": "Nem biztonságos HTTP-kérések engedélyezése",
|
"allowInsecure": "Nem biztonságos HTTP-kérések engedélyezése",
|
||||||
|
"stayOneVersionBehind": "Maradjon egy verzióval a legfrissebb mögött",
|
||||||
"removeAppQuestion": {
|
"removeAppQuestion": {
|
||||||
"one": "Eltávolítja az alkalmazást?",
|
"one": "Eltávolítja az alkalmazást?",
|
||||||
"other": "Eltávolítja az alkalmazásokat?"
|
"other": "Eltávolítja az alkalmazásokat?"
|
||||||
|
@@ -204,7 +204,7 @@
|
|||||||
"categoryDeleteWarning": "Semua aplikasi dalam kategori yang dihapus akan diatur sebagai tidak terkategori.",
|
"categoryDeleteWarning": "Semua aplikasi dalam kategori yang dihapus akan diatur sebagai tidak terkategori.",
|
||||||
"addCategory": "Tambah kategori",
|
"addCategory": "Tambah kategori",
|
||||||
"label": "Label",
|
"label": "Label",
|
||||||
"language": "Language",
|
"language": "Bahasa",
|
||||||
"copiedToClipboard": "Disalin ke papan klip",
|
"copiedToClipboard": "Disalin ke papan klip",
|
||||||
"storagePermissionDenied": "Izin penyimpanan ditolak",
|
"storagePermissionDenied": "Izin penyimpanan ditolak",
|
||||||
"selectedCategorizeWarning": "Ini akan mengganti pengaturan kategori yang ada untuk aplikasi terpilih.",
|
"selectedCategorizeWarning": "Ini akan mengganti pengaturan kategori yang ada untuk aplikasi terpilih.",
|
||||||
@@ -315,6 +315,7 @@
|
|||||||
"wiki": "Bantuan/Wiki",
|
"wiki": "Bantuan/Wiki",
|
||||||
"crowdsourcedConfigsLabel": "Konfigurasi aplikasi Crowdsourced (risiko penggunaan ditanggung sendiri)",
|
"crowdsourcedConfigsLabel": "Konfigurasi aplikasi Crowdsourced (risiko penggunaan ditanggung sendiri)",
|
||||||
"allowInsecure": "Izinkan permintaan HTTP yang tidak aman",
|
"allowInsecure": "Izinkan permintaan HTTP yang tidak aman",
|
||||||
|
"stayOneVersionBehind": "Tetap satu versi di belakang versi terbaru",
|
||||||
"removeAppQuestion": {
|
"removeAppQuestion": {
|
||||||
"one": "Hapus aplikasi?",
|
"one": "Hapus aplikasi?",
|
||||||
"other": "Hapus aplikasi?"
|
"other": "Hapus aplikasi?"
|
||||||
|
@@ -315,6 +315,7 @@
|
|||||||
"wiki": "Aiuto/Wiki",
|
"wiki": "Aiuto/Wiki",
|
||||||
"crowdsourcedConfigsLabel": "Configurazioni di app in crowdsourcing (uso a proprio rischio)",
|
"crowdsourcedConfigsLabel": "Configurazioni di app in crowdsourcing (uso a proprio rischio)",
|
||||||
"allowInsecure": "Consentire le richieste HTTP non sicure",
|
"allowInsecure": "Consentire le richieste HTTP non sicure",
|
||||||
|
"stayOneVersionBehind": "Rimanere una versione indietro rispetto alla più recente",
|
||||||
"removeAppQuestion": {
|
"removeAppQuestion": {
|
||||||
"one": "Rimuovere l'app?",
|
"one": "Rimuovere l'app?",
|
||||||
"other": "Rimuovere le app?"
|
"other": "Rimuovere le app?"
|
||||||
|
@@ -315,6 +315,7 @@
|
|||||||
"wiki": "ヘルプ/ウィキ",
|
"wiki": "ヘルプ/ウィキ",
|
||||||
"crowdsourcedConfigsLabel": "クラウドソーシングによるアプリの設定(利用は自己責任で)",
|
"crowdsourcedConfigsLabel": "クラウドソーシングによるアプリの設定(利用は自己責任で)",
|
||||||
"allowInsecure": "安全でないHTTPリクエストを許可する",
|
"allowInsecure": "安全でないHTTPリクエストを許可する",
|
||||||
|
"stayOneVersionBehind": "最新バージョンから1つ遅れ",
|
||||||
"removeAppQuestion": {
|
"removeAppQuestion": {
|
||||||
"one": "アプリを削除しますか?",
|
"one": "アプリを削除しますか?",
|
||||||
"other": "アプリを削除しますか?"
|
"other": "アプリを削除しますか?"
|
||||||
|
@@ -315,6 +315,7 @@
|
|||||||
"wiki": "Help/Wiki",
|
"wiki": "Help/Wiki",
|
||||||
"crowdsourcedConfigsLabel": "Crowdsourced App-configuraties (gebruik op eigen risico)",
|
"crowdsourcedConfigsLabel": "Crowdsourced App-configuraties (gebruik op eigen risico)",
|
||||||
"allowInsecure": "Onveilige HTTP-verzoeken toestaan",
|
"allowInsecure": "Onveilige HTTP-verzoeken toestaan",
|
||||||
|
"stayOneVersionBehind": "Blijf een versie achter op de nieuwste",
|
||||||
"removeAppQuestion": {
|
"removeAppQuestion": {
|
||||||
"one": "App verwijderen?",
|
"one": "App verwijderen?",
|
||||||
"other": "Apps verwijderen?"
|
"other": "Apps verwijderen?"
|
||||||
|
@@ -315,6 +315,7 @@
|
|||||||
"wiki": "Pomoc/Wiki",
|
"wiki": "Pomoc/Wiki",
|
||||||
"crowdsourcedConfigsLabel": "Konfiguracje aplikacji pochodzące z crowdsourcingu (korzystanie na własne ryzyko)",
|
"crowdsourcedConfigsLabel": "Konfiguracje aplikacji pochodzące z crowdsourcingu (korzystanie na własne ryzyko)",
|
||||||
"allowInsecure": "Zezwalaj na niezabezpieczone żądania HTTP",
|
"allowInsecure": "Zezwalaj na niezabezpieczone żądania HTTP",
|
||||||
|
"stayOneVersionBehind": "Pozostań jedną wersję za najnowszą",
|
||||||
"removeAppQuestion": {
|
"removeAppQuestion": {
|
||||||
"one": "Usunąć aplikację?",
|
"one": "Usunąć aplikację?",
|
||||||
"few": "Usunąć aplikacje?",
|
"few": "Usunąć aplikacje?",
|
||||||
|
@@ -315,6 +315,7 @@
|
|||||||
"wiki": "Ajuda/Wiki",
|
"wiki": "Ajuda/Wiki",
|
||||||
"crowdsourcedConfigsLabel": "Configurações de aplicações de crowdsourcing (utilização por sua conta e risco)",
|
"crowdsourcedConfigsLabel": "Configurações de aplicações de crowdsourcing (utilização por sua conta e risco)",
|
||||||
"allowInsecure": "Permitir pedidos HTTP inseguros",
|
"allowInsecure": "Permitir pedidos HTTP inseguros",
|
||||||
|
"stayOneVersionBehind": "Manter-se uma versão atrás da mais recente",
|
||||||
"removeAppQuestion": {
|
"removeAppQuestion": {
|
||||||
"one": "Remover aplicativo?",
|
"one": "Remover aplicativo?",
|
||||||
"other": "Remover aplicativos?"
|
"other": "Remover aplicativos?"
|
||||||
|
@@ -315,6 +315,7 @@
|
|||||||
"wiki": "Помощь/Вики",
|
"wiki": "Помощь/Вики",
|
||||||
"crowdsourcedConfigsLabel": "Конфигурации приложений на основе краудсорсинга (используйте на свой страх и риск)",
|
"crowdsourcedConfigsLabel": "Конфигурации приложений на основе краудсорсинга (используйте на свой страх и риск)",
|
||||||
"allowInsecure": "Разрешить небезопасные HTTP-запросы",
|
"allowInsecure": "Разрешить небезопасные HTTP-запросы",
|
||||||
|
"stayOneVersionBehind": "Не отставайте от последней версии",
|
||||||
"removeAppQuestion": {
|
"removeAppQuestion": {
|
||||||
"one": "Удалить приложение?",
|
"one": "Удалить приложение?",
|
||||||
"other": "Удалить приложения?"
|
"other": "Удалить приложения?"
|
||||||
|
@@ -315,6 +315,7 @@
|
|||||||
"wiki": "Hjälp/Wiki",
|
"wiki": "Hjälp/Wiki",
|
||||||
"crowdsourcedConfigsLabel": "Crowdsourcade appkonfigurationer (använd på egen risk)",
|
"crowdsourcedConfigsLabel": "Crowdsourcade appkonfigurationer (använd på egen risk)",
|
||||||
"allowInsecure": "Tillåt osäkra HTTP-förfrågningar",
|
"allowInsecure": "Tillåt osäkra HTTP-förfrågningar",
|
||||||
|
"stayOneVersionBehind": "Håll dig en version bakom den senaste",
|
||||||
"removeAppQuestion": {
|
"removeAppQuestion": {
|
||||||
"one": "Ta Bort App?",
|
"one": "Ta Bort App?",
|
||||||
"other": "Ta Bort Appar?"
|
"other": "Ta Bort Appar?"
|
||||||
|
@@ -315,6 +315,7 @@
|
|||||||
"wiki": "Yardım/Wiki",
|
"wiki": "Yardım/Wiki",
|
||||||
"crowdsourcedConfigsLabel": "Kitle Kaynaklı Uygulama Yapılandırmaları (riski size ait olmak üzere kullanın)",
|
"crowdsourcedConfigsLabel": "Kitle Kaynaklı Uygulama Yapılandırmaları (riski size ait olmak üzere kullanın)",
|
||||||
"allowInsecure": "Güvensiz HTTP isteklerine izin ver",
|
"allowInsecure": "Güvensiz HTTP isteklerine izin ver",
|
||||||
|
"stayOneVersionBehind": "En son sürümün bir sürüm gerisinde kalın",
|
||||||
"removeAppQuestion": {
|
"removeAppQuestion": {
|
||||||
"one": "Uygulamayı Kaldır?",
|
"one": "Uygulamayı Kaldır?",
|
||||||
"other": "Uygulamaları Kaldır?"
|
"other": "Uygulamaları Kaldır?"
|
||||||
|
@@ -315,6 +315,7 @@
|
|||||||
"wiki": "Довідка/Вікі",
|
"wiki": "Довідка/Вікі",
|
||||||
"crowdsourcedConfigsLabel": "Краудсорсингові конфігурації додатків (використовуйте на свій страх і ризик)",
|
"crowdsourcedConfigsLabel": "Краудсорсингові конфігурації додатків (використовуйте на свій страх і ризик)",
|
||||||
"allowInsecure": "Дозволити незахищені HTTP-запити",
|
"allowInsecure": "Дозволити незахищені HTTP-запити",
|
||||||
|
"stayOneVersionBehind": "Залишайтеся на одну версію актуальнішою",
|
||||||
"removeAppQuestion": {
|
"removeAppQuestion": {
|
||||||
"one": "Видалити застосунок?",
|
"one": "Видалити застосунок?",
|
||||||
"other": "Видалити застосунки?"
|
"other": "Видалити застосунки?"
|
||||||
|
@@ -315,6 +315,7 @@
|
|||||||
"wiki": "Trợ giúp/Wiki",
|
"wiki": "Trợ giúp/Wiki",
|
||||||
"crowdsourcedConfigsLabel": "Crowdsourced App Configurations (use at your own risk)",
|
"crowdsourcedConfigsLabel": "Crowdsourced App Configurations (use at your own risk)",
|
||||||
"allowInsecure": "Allow insecure HTTP requests",
|
"allowInsecure": "Allow insecure HTTP requests",
|
||||||
|
"stayOneVersionBehind": "Stay one version behind latest",
|
||||||
"removeAppQuestion": {
|
"removeAppQuestion": {
|
||||||
"one": "Gỡ ứng dụng?",
|
"one": "Gỡ ứng dụng?",
|
||||||
"other": "Gỡ ứng dụng?"
|
"other": "Gỡ ứng dụng?"
|
||||||
|
@@ -315,6 +315,7 @@
|
|||||||
"wiki": "幫助/維基",
|
"wiki": "幫助/維基",
|
||||||
"crowdsourcedConfigsLabel": "群眾外包的應用程式設定(使用風險自負)",
|
"crowdsourcedConfigsLabel": "群眾外包的應用程式設定(使用風險自負)",
|
||||||
"allowInsecure": "Allow insecure HTTP requests",
|
"allowInsecure": "Allow insecure HTTP requests",
|
||||||
|
"stayOneVersionBehind": "Stay one version behind latest",
|
||||||
"removeAppQuestion": {
|
"removeAppQuestion": {
|
||||||
"one": "移除應用程式?",
|
"one": "移除應用程式?",
|
||||||
"other": "移除應用程式?"
|
"other": "移除應用程式?"
|
||||||
|
@@ -315,6 +315,7 @@
|
|||||||
"wiki": "帮助/Wiki",
|
"wiki": "帮助/Wiki",
|
||||||
"crowdsourcedConfigsLabel": "众包应用程序配置(使用风险自负)",
|
"crowdsourcedConfigsLabel": "众包应用程序配置(使用风险自负)",
|
||||||
"allowInsecure": "允许不安全的 HTTP 请求",
|
"allowInsecure": "允许不安全的 HTTP 请求",
|
||||||
|
"stayOneVersionBehind": "比最新版本晚一个版本",
|
||||||
"removeAppQuestion": {
|
"removeAppQuestion": {
|
||||||
"one": "是否删除应用?",
|
"one": "是否删除应用?",
|
||||||
"other": "是否删除应用?"
|
"other": "是否删除应用?"
|
||||||
|
@@ -2,6 +2,7 @@ import 'package:device_info_plus/device_info_plus.dart';
|
|||||||
import 'package:easy_localization/easy_localization.dart';
|
import 'package:easy_localization/easy_localization.dart';
|
||||||
import 'package:html/parser.dart';
|
import 'package:html/parser.dart';
|
||||||
import 'package:obtainium/app_sources/html.dart';
|
import 'package:obtainium/app_sources/html.dart';
|
||||||
|
import 'package:obtainium/components/generated_form.dart';
|
||||||
import 'package:obtainium/custom_errors.dart';
|
import 'package:obtainium/custom_errors.dart';
|
||||||
import 'package:obtainium/providers/source_provider.dart';
|
import 'package:obtainium/providers/source_provider.dart';
|
||||||
|
|
||||||
@@ -26,6 +27,16 @@ class APKPure extends AppSource {
|
|||||||
allowSubDomains = true;
|
allowSubDomains = true;
|
||||||
naiveStandardVersionDetection = true;
|
naiveStandardVersionDetection = true;
|
||||||
showReleaseDateAsVersionToggle = true;
|
showReleaseDateAsVersionToggle = true;
|
||||||
|
additionalSourceAppSpecificSettingFormItems = [
|
||||||
|
[
|
||||||
|
GeneratedFormSwitch('fallbackToOlderReleases',
|
||||||
|
label: tr('fallbackToOlderReleases'), defaultValue: true)
|
||||||
|
],
|
||||||
|
[
|
||||||
|
GeneratedFormSwitch('stayOneVersionBehind',
|
||||||
|
label: tr('stayOneVersionBehind'), defaultValue: false)
|
||||||
|
]
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@@ -54,33 +65,14 @@ class APKPure extends AppSource {
|
|||||||
return Uri.parse(standardUrl).pathSegments.last;
|
return Uri.parse(standardUrl).pathSegments.last;
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
getDetailsForVersionLink(
|
||||||
Future<APKDetails> getLatestAPKDetails(
|
|
||||||
String standardUrl,
|
String standardUrl,
|
||||||
Map<String, dynamic> additionalSettings,
|
String appId,
|
||||||
) async {
|
String host,
|
||||||
String appId = (await tryInferringAppId(standardUrl))!;
|
List<String> supportedArchs,
|
||||||
String host = Uri.parse(standardUrl).host;
|
String link,
|
||||||
|
Map<String, dynamic> additionalSettings) async {
|
||||||
var res0 = await sourceRequest('$standardUrl/versions', additionalSettings);
|
var res = await sourceRequest(link, additionalSettings);
|
||||||
var versionLinks = await grabLinksCommon(res0, {
|
|
||||||
'skipSort': true,
|
|
||||||
'customLinkFilterRegex': '$standardUrl/download/[^/]+\$'
|
|
||||||
});
|
|
||||||
|
|
||||||
var supportedArchs = (await DeviceInfoPlugin().androidInfo).supportedAbis;
|
|
||||||
|
|
||||||
if (additionalSettings['autoApkFilterByArch'] != true) {
|
|
||||||
// No need to request multiple versions when we're not going to filter them (always pick the top one)
|
|
||||||
versionLinks = versionLinks.sublist(0, 1);
|
|
||||||
}
|
|
||||||
if (versionLinks.isEmpty) {
|
|
||||||
throw NoReleasesError();
|
|
||||||
}
|
|
||||||
|
|
||||||
for (var i = 0; i < versionLinks.length; i++) {
|
|
||||||
var link = versionLinks[i];
|
|
||||||
var res = await sourceRequest(link.key, additionalSettings);
|
|
||||||
if (res.statusCode == 200) {
|
if (res.statusCode == 200) {
|
||||||
var html = parse(res.body);
|
var html = parse(res.body);
|
||||||
var apksDiv =
|
var apksDiv =
|
||||||
@@ -123,8 +115,7 @@ class APKPure extends AppSource {
|
|||||||
?.querySelector('div.info-bottom span.time')
|
?.querySelector('div.info-bottom span.time')
|
||||||
?.text
|
?.text
|
||||||
.trim();
|
.trim();
|
||||||
DateTime? releaseDate =
|
DateTime? releaseDate = parseDateTimeMMMddCommayyyy(dateString);
|
||||||
parseDateTimeMMMddCommayyyy(dateString);
|
|
||||||
if (additionalSettings['autoApkFilterByArch'] == true &&
|
if (additionalSettings['autoApkFilterByArch'] == true &&
|
||||||
architectures.isNotEmpty &&
|
architectures.isNotEmpty &&
|
||||||
architectures
|
architectures
|
||||||
@@ -142,9 +133,9 @@ class APKPure extends AppSource {
|
|||||||
.toList() ??
|
.toList() ??
|
||||||
[];
|
[];
|
||||||
if (apkUrls.isEmpty) {
|
if (apkUrls.isEmpty) {
|
||||||
continue;
|
throw NoAPKError();
|
||||||
}
|
}
|
||||||
String version = Uri.parse(link.key).pathSegments.last;
|
String version = Uri.parse(link).pathSegments.last;
|
||||||
String author = html
|
String author = html
|
||||||
.querySelector('span.info-sdk')
|
.querySelector('span.info-sdk')
|
||||||
?.text
|
?.text
|
||||||
@@ -164,6 +155,46 @@ class APKPure extends AppSource {
|
|||||||
throw getObtainiumHttpError(res);
|
throw getObtainiumHttpError(res);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<APKDetails> getLatestAPKDetails(
|
||||||
|
String standardUrl,
|
||||||
|
Map<String, dynamic> additionalSettings,
|
||||||
|
) async {
|
||||||
|
String appId = (await tryInferringAppId(standardUrl))!;
|
||||||
|
String host = Uri.parse(standardUrl).host;
|
||||||
|
|
||||||
|
var res0 = await sourceRequest('$standardUrl/versions', additionalSettings);
|
||||||
|
var versionLinks = await grabLinksCommon(res0, {
|
||||||
|
'skipSort': true,
|
||||||
|
'customLinkFilterRegex': '$standardUrl/download/[^/]+\$'
|
||||||
|
});
|
||||||
|
|
||||||
|
var supportedArchs = (await DeviceInfoPlugin().androidInfo).supportedAbis;
|
||||||
|
|
||||||
|
if (additionalSettings['autoApkFilterByArch'] != true) {
|
||||||
|
// No need to request multiple versions when we're not going to filter them (always pick the top one)
|
||||||
|
versionLinks = versionLinks.sublist(0, 1);
|
||||||
|
}
|
||||||
|
if (versionLinks.isEmpty) {
|
||||||
|
throw NoReleasesError();
|
||||||
|
}
|
||||||
|
|
||||||
|
for (var i = 0; i < versionLinks.length; i++) {
|
||||||
|
var link = versionLinks[i];
|
||||||
|
try {
|
||||||
|
if (i == 0 && additionalSettings['stayOneVersionBehind'] == true) {
|
||||||
|
throw NoReleasesError();
|
||||||
|
}
|
||||||
|
return await getDetailsForVersionLink(standardUrl, appId, host,
|
||||||
|
supportedArchs, link.key, additionalSettings);
|
||||||
|
} catch (e) {
|
||||||
|
if (additionalSettings['fallbackToOlderReleases'] != true ||
|
||||||
|
i == versionLinks.length - 1) {
|
||||||
|
rethrow;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
throw NoAPKError();
|
throw NoAPKError();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user