mirror of
				https://github.com/ImranR98/Obtainium.git
				synced 2025-10-31 05:23:28 +01:00 
			
		
		
		
	Merge branch 'main' into main
This commit is contained in:
		| @@ -62,6 +62,7 @@ | |||||||
|     </application> |     </application> | ||||||
|     <uses-permission android:name="android.permission.INTERNET" /> |     <uses-permission android:name="android.permission.INTERNET" /> | ||||||
|     <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" /> |     <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" /> | ||||||
|  |     <uses-permission android:name="android.permission.UPDATE_PACKAGES_WITHOUT_USER_ACTION" /> | ||||||
|     <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> |     <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> | ||||||
|     <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/> |     <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/> | ||||||
|     <uses-permission android:name="android.permission.WAKE_LOCK"/> |     <uses-permission android:name="android.permission.WAKE_LOCK"/> | ||||||
|   | |||||||
| @@ -246,6 +246,7 @@ | |||||||
|    "gitlabSourceNote": "GitLab APK extraction may not work without an API key.", |    "gitlabSourceNote": "GitLab APK extraction may not work without an API key.", | ||||||
|    "sortByFileNamesNotLinks": "Sort by file names instead of full links", |    "sortByFileNamesNotLinks": "Sort by file names instead of full links", | ||||||
|    "filterReleaseNotesByRegEx": "Filter Release Notes by Regular Expression", |    "filterReleaseNotesByRegEx": "Filter Release Notes by Regular Expression", | ||||||
|  |    "customLinkFilterRegex": "Custom Link Filter by Regular Expression (Default '.apk$')", | ||||||
|    "removeAppQuestion": { |    "removeAppQuestion": { | ||||||
|       "one": "Želite li ukloniti aplikaciju?", |       "one": "Želite li ukloniti aplikaciju?", | ||||||
|       "other": "Želite li ukloniti aplikacije?" |       "other": "Želite li ukloniti aplikacije?" | ||||||
|   | |||||||
| @@ -246,6 +246,7 @@ | |||||||
|     "gitlabSourceNote": "GitLab APK-Extraktion funktioniert möglicherweise nicht ohne API-Schlüssel", |     "gitlabSourceNote": "GitLab APK-Extraktion funktioniert möglicherweise nicht ohne API-Schlüssel", | ||||||
|     "sortByFileNamesNotLinks": "Sortiere nach Dateinamen, anstelle von ganzen Links", |     "sortByFileNamesNotLinks": "Sortiere nach Dateinamen, anstelle von ganzen Links", | ||||||
|     "filterReleaseNotesByRegEx": "Versionshinweise nach regulärem Ausdruck filtern", |     "filterReleaseNotesByRegEx": "Versionshinweise nach regulärem Ausdruck filtern", | ||||||
|  |     "customLinkFilterRegex": "Custom Link Filter by Regular Expression (Default '.apk$')", | ||||||
|     "removeAppQuestion": { |     "removeAppQuestion": { | ||||||
|         "one": "App entfernen?", |         "one": "App entfernen?", | ||||||
|         "other": "Apps entfernen?" |         "other": "Apps entfernen?" | ||||||
|   | |||||||
| @@ -246,6 +246,7 @@ | |||||||
|     "gitlabSourceNote": "GitLab APK extraction may not work without an API key.", |     "gitlabSourceNote": "GitLab APK extraction may not work without an API key.", | ||||||
|     "sortByFileNamesNotLinks": "Sort by file names instead of full links", |     "sortByFileNamesNotLinks": "Sort by file names instead of full links", | ||||||
|     "filterReleaseNotesByRegEx": "Filter Release Notes by Regular Expression", |     "filterReleaseNotesByRegEx": "Filter Release Notes by Regular Expression", | ||||||
|  |     "customLinkFilterRegex": "Custom Link Filter by Regular Expression (Default '.apk$')", | ||||||
|     "removeAppQuestion": { |     "removeAppQuestion": { | ||||||
|         "one": "Remove App?", |         "one": "Remove App?", | ||||||
|         "other": "Remove Apps?" |         "other": "Remove Apps?" | ||||||
|   | |||||||
| @@ -246,6 +246,7 @@ | |||||||
|     "gitlabSourceNote": "GitLab APK extraction may not work without an API key.", |     "gitlabSourceNote": "GitLab APK extraction may not work without an API key.", | ||||||
|     "sortByFileNamesNotLinks": "Sort by file names instead of full links", |     "sortByFileNamesNotLinks": "Sort by file names instead of full links", | ||||||
|     "filterReleaseNotesByRegEx": "Filter Release Notes by Regular Expression", |     "filterReleaseNotesByRegEx": "Filter Release Notes by Regular Expression", | ||||||
|  |     "customLinkFilterRegex": "Custom Link Filter by Regular Expression (Default '.apk$')", | ||||||
|     "removeAppQuestion": { |     "removeAppQuestion": { | ||||||
|         "one": "¿Eliminar Aplicación?", |         "one": "¿Eliminar Aplicación?", | ||||||
|         "other": "¿Eliminar Aplicaciones?" |         "other": "¿Eliminar Aplicaciones?" | ||||||
|   | |||||||
| @@ -246,6 +246,7 @@ | |||||||
|     "gitlabSourceNote": "GitLab APK extraction may not work without an API key.", |     "gitlabSourceNote": "GitLab APK extraction may not work without an API key.", | ||||||
|     "sortByFileNamesNotLinks": "Sort by file names instead of full links", |     "sortByFileNamesNotLinks": "Sort by file names instead of full links", | ||||||
|     "filterReleaseNotesByRegEx": "Filter Release Notes by Regular Expression", |     "filterReleaseNotesByRegEx": "Filter Release Notes by Regular Expression", | ||||||
|  |     "customLinkFilterRegex": "Custom Link Filter by Regular Expression (Default '.apk$')", | ||||||
|     "removeAppQuestion": { |     "removeAppQuestion": { | ||||||
|         "one": "برنامه حذف شود؟", |         "one": "برنامه حذف شود؟", | ||||||
|         "other": "برنامه ها حذف شوند؟" |         "other": "برنامه ها حذف شوند؟" | ||||||
|   | |||||||
| @@ -246,6 +246,7 @@ | |||||||
|     "gitlabSourceNote": "GitLab APK extraction may not work without an API key.", |     "gitlabSourceNote": "GitLab APK extraction may not work without an API key.", | ||||||
|     "sortByFileNamesNotLinks": "Sort by file names instead of full links", |     "sortByFileNamesNotLinks": "Sort by file names instead of full links", | ||||||
|     "filterReleaseNotesByRegEx": "Filter Release Notes by Regular Expression", |     "filterReleaseNotesByRegEx": "Filter Release Notes by Regular Expression", | ||||||
|  |     "customLinkFilterRegex": "Custom Link Filter by Regular Expression (Default '.apk$')", | ||||||
|     "removeAppQuestion": { |     "removeAppQuestion": { | ||||||
|         "one": "Supprimer l'application ?", |         "one": "Supprimer l'application ?", | ||||||
|         "other": "Supprimer les applications ?" |         "other": "Supprimer les applications ?" | ||||||
|   | |||||||
| @@ -93,13 +93,13 @@ | |||||||
|     "author": "Szerző", |     "author": "Szerző", | ||||||
|     "upToDateApps": "Naprakész appok", |     "upToDateApps": "Naprakész appok", | ||||||
|     "nonInstalledApps": "Nem telepített appok", |     "nonInstalledApps": "Nem telepített appok", | ||||||
|     "importExport": "Import/Export", |     "importExport": "Importálás/Exportálás", | ||||||
|     "settings": "Beállítások", |     "settings": "Beállítások", | ||||||
|     "exportedTo": "Exportálva ide {}", |     "exportedTo": "Exportálva ide {}", | ||||||
|     "obtainiumExport": "Obtainium Export", |     "obtainiumExport": "Obtainium Adat Exportálás", | ||||||
|     "invalidInput": "Hibás bemenet", |     "invalidInput": "Hibás bemenet", | ||||||
|     "importedX": "Importálva innen {}", |     "importedX": "Importálva innen {}", | ||||||
|     "obtainiumImport": "Obtainium Import", |     "obtainiumImport": "Obtainium Adat Importálás", | ||||||
|     "importFromURLList": "Importálás URL listából", |     "importFromURLList": "Importálás URL listából", | ||||||
|     "searchQuery": "Keresési lekérdezés", |     "searchQuery": "Keresési lekérdezés", | ||||||
|     "appURLList": "App URL lista", |     "appURLList": "App URL lista", | ||||||
| @@ -139,11 +139,11 @@ | |||||||
|     "appSource": "App forrás", |     "appSource": "App forrás", | ||||||
|     "noLogs": "Nincsenek naplók", |     "noLogs": "Nincsenek naplók", | ||||||
|     "appLogs": "App naplók", |     "appLogs": "App naplók", | ||||||
|     "close": "Bezár", |     "close": "Bezárás", | ||||||
|     "share": "Megoszt", |     "share": "Megosztás", | ||||||
|     "appNotFound": "App nem található", |     "appNotFound": "App nem található", | ||||||
|     "obtainiumExportHyphenatedLowercase": "obtainium-export", |     "obtainiumExportHyphenatedLowercase": "obtainium-export", | ||||||
|     "pickAnAPK": "Válasszon egy APK-t", |     "pickAnAPK": "Válasszon egy APK-ot", | ||||||
|     "appHasMoreThanOnePackage": "A(z) {} egynél több csomaggal rendelkezik:", |     "appHasMoreThanOnePackage": "A(z) {} egynél több csomaggal rendelkezik:", | ||||||
|     "deviceSupportsXArch": "Eszköze támogatja a {} CPU architektúrát.", |     "deviceSupportsXArch": "Eszköze támogatja a {} CPU architektúrát.", | ||||||
|     "deviceSupportsFollowingArchs": "Az eszköze a következő CPU architektúrákat támogatja:", |     "deviceSupportsFollowingArchs": "Az eszköze a következő CPU architektúrákat támogatja:", | ||||||
| @@ -210,7 +210,7 @@ | |||||||
|     "copiedToClipboard": "Másolva a vágólapra", |     "copiedToClipboard": "Másolva a vágólapra", | ||||||
|     "storagePermissionDenied": "Tárhely engedély megtagadva", |     "storagePermissionDenied": "Tárhely engedély megtagadva", | ||||||
|     "selectedCategorizeWarning": "Ez felváltja a kiválasztott alkalmazások meglévő kategória-beállításait.", |     "selectedCategorizeWarning": "Ez felváltja a kiválasztott alkalmazások meglévő kategória-beállításait.", | ||||||
|     "filterAPKsByRegEx": "Az APK-k szűrése reguláris kifejezéssel", |     "filterAPKsByRegEx": "Az APK-ok szűrése reguláris kifejezéssel", | ||||||
|     "removeFromObtainium": "Eltávolítás az Obtainiumból", |     "removeFromObtainium": "Eltávolítás az Obtainiumból", | ||||||
|     "uninstallFromDevice": "Eltávolítás a készülékről", |     "uninstallFromDevice": "Eltávolítás a készülékről", | ||||||
|     "onlyWorksWithNonVersionDetectApps": "Csak azoknál az alkalmazásoknál működik, amelyeknél a verzióérzékelés le van tiltva.", |     "onlyWorksWithNonVersionDetectApps": "Csak azoknál az alkalmazásoknál működik, amelyeknél a verzióérzékelés le van tiltva.", | ||||||
| @@ -222,7 +222,7 @@ | |||||||
|     "versionDetection": "Verzió érzékelés", |     "versionDetection": "Verzió érzékelés", | ||||||
|     "standardVersionDetection": "Alapért. verzió érzékelés", |     "standardVersionDetection": "Alapért. verzió érzékelés", | ||||||
|     "groupByCategory": "Csoportosítás Kategória alapján", |     "groupByCategory": "Csoportosítás Kategória alapján", | ||||||
|     "autoApkFilterByArch": "Ha lehetséges, próbálja CPU architektúra szerint szűrni az APK-kat", |     "autoApkFilterByArch": "Ha lehetséges, próbálja CPU architektúra szerint szűrni az APK-okat", | ||||||
|     "overrideSource": "Forrás felülbírálása", |     "overrideSource": "Forrás felülbírálása", | ||||||
|     "dontShowAgain": "Ne mutassa ezt újra", |     "dontShowAgain": "Ne mutassa ezt újra", | ||||||
|     "dontShowTrackOnlyWarnings": "Ne jelenítsen meg 'Csak nyomon követés' figyelmeztetést", |     "dontShowTrackOnlyWarnings": "Ne jelenítsen meg 'Csak nyomon követés' figyelmeztetést", | ||||||
| @@ -231,20 +231,21 @@ | |||||||
|     "gitlabPATLabel": "GitLab Personal Access Token\n(Engedélyezi a Keresést és jobb APK felfedezés)", |     "gitlabPATLabel": "GitLab Personal Access Token\n(Engedélyezi a Keresést és jobb APK felfedezés)", | ||||||
|     "about": "Rólunk", |     "about": "Rólunk", | ||||||
|     "requiresCredentialsInSettings": "Ehhez további hitelesítő adatokra van szükség (a Beállításokban)", |     "requiresCredentialsInSettings": "Ehhez további hitelesítő adatokra van szükség (a Beállításokban)", | ||||||
|     "checkOnStart": "Egyszer az indításkor", |     "checkOnStart": "Egyszer az alkalmazás indításakor is", | ||||||
|     "tryInferAppIdFromCode": "Próbálja kikövetkeztetni az app azonosítót a forráskódból", |     "tryInferAppIdFromCode": "Próbálja kikövetkeztetni az app azonosítót a forráskódból", | ||||||
|     "removeOnExternalUninstall": "A külsőleg eltávolított appok auto. eltávolítása", |     "removeOnExternalUninstall": "A külsőleg eltávolított appok auto. eltávolítása", | ||||||
|     "pickHighestVersionCode": "A legmagasabb verziószámú APK auto. kiválasztása", |     "pickHighestVersionCode": "A legmagasabb verziószámú APK auto. kiválasztása", | ||||||
|     "checkUpdateOnDetailPage": "Frissítések keresése az app részleteit tartalmazó oldal megnyitásakor", |     "checkUpdateOnDetailPage": "Frissítések keresése az app részleteit tartalmazó oldal megnyitásakor", | ||||||
|     "disablePageTransitions": "Lap áttűnési animációk tiltása", |     "disablePageTransitions": "Lap áttűnési animációk letiltása", | ||||||
|     "reversePageTransitions": "Fordított lap áttűnési animációk", |     "reversePageTransitions": "Fordított lap áttűnési animációk", | ||||||
|     "minStarCount": "Minimális csillag szám", |     "minStarCount": "Minimális csillag szám", | ||||||
|     "addInfoBelow": "Adja hozzá ezt az infót alább.", |     "addInfoBelow": "Adja hozzá ezt az infót alább.", | ||||||
|     "addInfoInSettings": "Adja hozzá ezt az infót a Beállításokban.", |     "addInfoInSettings": "Adja hozzá ezt az infót a Beállításokban.", | ||||||
|     "githubSourceNote": "A GitHub értékelési korlátozása elkerülhető API-kulcs használatával.", |     "githubSourceNote": "A GitHub sebességkorlátozás elkerülhető API-kulcs használatával.", | ||||||
|     "gitlabSourceNote": "Előfordulhat, hogy a GitLab APK kibontása nem működik API-kulcs nélkül.", |     "gitlabSourceNote": "Előfordulhat, hogy a GitLab APK kibontása nem működik API-kulcs nélkül.", | ||||||
|     "sortByFileNamesNotLinks": "Sort by file names instead of full links", |     "sortByFileNamesNotLinks": "Fájlnevek szerinti elrendezés teljes linkek helyett", | ||||||
|     "filterReleaseNotesByRegEx": "Filter Release Notes by Regular Expression", |     "filterReleaseNotesByRegEx": "Kiadási megjegyzések szűrése reguláris kifejezéssel", | ||||||
|  |     "customLinkFilterRegex": "Custom Link Filter by Regular Expression (Default '.apk$')", | ||||||
|     "removeAppQuestion": { |     "removeAppQuestion": { | ||||||
|         "one": "Eltávolítja az alkalmazást?", |         "one": "Eltávolítja az alkalmazást?", | ||||||
|         "other": "Eltávolítja az alkalmazást?" |         "other": "Eltávolítja az alkalmazást?" | ||||||
| @@ -287,10 +288,10 @@ | |||||||
|     }, |     }, | ||||||
|     "xAndNMoreUpdatesAvailable": { |     "xAndNMoreUpdatesAvailable": { | ||||||
|         "one": "A(z) {} és 1 további alkalmazás frissítéseket kapott.", |         "one": "A(z) {} és 1 további alkalmazás frissítéseket kapott.", | ||||||
|         "other": "{} és további {} alkalmazás frissítéseket kapott." |         "other": "{} és {} további alkalmazás frissítéseket kapott." | ||||||
|     }, |     }, | ||||||
|     "xAndNMoreUpdatesInstalled": { |     "xAndNMoreUpdatesInstalled": { | ||||||
|         "one": "A(z) {} és 1 további alkalmazás frissítve.", |         "one": "A(z) {} és 1 további alkalmazás frissítve.", | ||||||
|         "other": "{} és további {} alkalmazás frissítve." |         "other": "{} és {} további alkalmazás frissítve." | ||||||
|     } |     } | ||||||
| } | } | ||||||
|   | |||||||
| @@ -246,6 +246,7 @@ | |||||||
|     "gitlabSourceNote": "GitLab APK extraction may not work without an API key.", |     "gitlabSourceNote": "GitLab APK extraction may not work without an API key.", | ||||||
|     "sortByFileNamesNotLinks": "Sort by file names instead of full links", |     "sortByFileNamesNotLinks": "Sort by file names instead of full links", | ||||||
|     "filterReleaseNotesByRegEx": "Filter Release Notes by Regular Expression", |     "filterReleaseNotesByRegEx": "Filter Release Notes by Regular Expression", | ||||||
|  |     "customLinkFilterRegex": "Custom Link Filter by Regular Expression (Default '.apk$')", | ||||||
|     "removeAppQuestion": { |     "removeAppQuestion": { | ||||||
|         "one": "Rimuovere l'app?", |         "one": "Rimuovere l'app?", | ||||||
|         "other": "Rimuovere le app?" |         "other": "Rimuovere le app?" | ||||||
|   | |||||||
| @@ -246,6 +246,7 @@ | |||||||
|     "gitlabSourceNote": "GitLabのAPK抽出はAPIキーがないと動作しない場合があります。", |     "gitlabSourceNote": "GitLabのAPK抽出はAPIキーがないと動作しない場合があります。", | ||||||
|     "sortByFileNamesNotLinks": "Sort by file names instead of full links", |     "sortByFileNamesNotLinks": "Sort by file names instead of full links", | ||||||
|     "filterReleaseNotesByRegEx": "Filter Release Notes by Regular Expression", |     "filterReleaseNotesByRegEx": "Filter Release Notes by Regular Expression", | ||||||
|  |     "customLinkFilterRegex": "Custom Link Filter by Regular Expression (Default '.apk$')", | ||||||
|     "removeAppQuestion": { |     "removeAppQuestion": { | ||||||
|         "one": "アプリを削除しますか?", |         "one": "アプリを削除しますか?", | ||||||
|         "other": "アプリを削除しますか?" |         "other": "アプリを削除しますか?" | ||||||
|   | |||||||
| @@ -250,6 +250,7 @@ | |||||||
|     "gitlabSourceNote": "Pozyskiwanie pliku APK z GitLab może nie działać bez klucza API.", |     "gitlabSourceNote": "Pozyskiwanie pliku APK z GitLab może nie działać bez klucza API.", | ||||||
|     "sortByFileNamesNotLinks": "Sort by file names instead of full links", |     "sortByFileNamesNotLinks": "Sort by file names instead of full links", | ||||||
|     "filterReleaseNotesByRegEx": "Filter Release Notes by Regular Expression", |     "filterReleaseNotesByRegEx": "Filter Release Notes by Regular Expression", | ||||||
|  |     "customLinkFilterRegex": "Custom Link Filter by Regular Expression (Default '.apk$')", | ||||||
|     "removeAppQuestion": { |     "removeAppQuestion": { | ||||||
|         "one": "Usunąć aplikację?", |         "one": "Usunąć aplikację?", | ||||||
|         "other": "Usunąć aplikacje?" |         "other": "Usunąć aplikacje?" | ||||||
|   | |||||||
| @@ -246,6 +246,7 @@ | |||||||
|     "gitlabSourceNote": "Извлечение APK из GitLab может не работать без ключа API.", |     "gitlabSourceNote": "Извлечение APK из GitLab может не работать без ключа API.", | ||||||
|     "sortByFileNamesNotLinks": "Sort by file names instead of full links", |     "sortByFileNamesNotLinks": "Sort by file names instead of full links", | ||||||
|     "filterReleaseNotesByRegEx": "Filter Release Notes by Regular Expression", |     "filterReleaseNotesByRegEx": "Filter Release Notes by Regular Expression", | ||||||
|  |     "customLinkFilterRegex": "Custom Link Filter by Regular Expression (Default '.apk$')", | ||||||
|     "removeAppQuestion": { |     "removeAppQuestion": { | ||||||
|         "one": "Удалить приложение?", |         "one": "Удалить приложение?", | ||||||
|         "other": "Удалить приложения?" |         "other": "Удалить приложения?" | ||||||
|   | |||||||
| @@ -246,6 +246,7 @@ | |||||||
|     "gitlabSourceNote": "未使用访问令牌时可能无法从 GitLab 获取 APK 文件。", |     "gitlabSourceNote": "未使用访问令牌时可能无法从 GitLab 获取 APK 文件。", | ||||||
|     "sortByFileNamesNotLinks": "Sort by file names instead of full links", |     "sortByFileNamesNotLinks": "Sort by file names instead of full links", | ||||||
|     "filterReleaseNotesByRegEx": "Filter Release Notes by Regular Expression", |     "filterReleaseNotesByRegEx": "Filter Release Notes by Regular Expression", | ||||||
|  |     "customLinkFilterRegex": "Custom Link Filter by Regular Expression (Default '.apk$')", | ||||||
|     "removeAppQuestion": { |     "removeAppQuestion": { | ||||||
|         "one": "是否删除应用?", |         "one": "是否删除应用?", | ||||||
|         "other": "是否删除应用?" |         "other": "是否删除应用?" | ||||||
|   | |||||||
| @@ -91,7 +91,18 @@ class HTML extends AppSource { | |||||||
|       [ |       [ | ||||||
|         GeneratedFormSwitch('sortByFileNamesNotLinks', |         GeneratedFormSwitch('sortByFileNamesNotLinks', | ||||||
|             label: tr('sortByFileNamesNotLinks')) |             label: tr('sortByFileNamesNotLinks')) | ||||||
|       ] |       ], | ||||||
|  |       [ | ||||||
|  |         GeneratedFormTextField('customLinkFilterRegex', | ||||||
|  |             label: tr('customLinkFilterRegex'), | ||||||
|  |             hint: 'download/(.*/)?(android|apk|mobile)', | ||||||
|  |             required: false, | ||||||
|  |             additionalValidators: [ | ||||||
|  |               (value) { | ||||||
|  |                 return regExValidator(value); | ||||||
|  |               } | ||||||
|  |             ]) | ||||||
|  |       ], | ||||||
|     ]; |     ]; | ||||||
|   } |   } | ||||||
|  |  | ||||||
| @@ -99,7 +110,7 @@ class HTML extends AppSource { | |||||||
|   // TODO: implement requestHeaders choice, hardcoded for now |   // TODO: implement requestHeaders choice, hardcoded for now | ||||||
|   Map<String, String>? get requestHeaders => { |   Map<String, String>? get requestHeaders => { | ||||||
|         "User-Agent": |         "User-Agent": | ||||||
|             "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" |             "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Mobile Safari/537.36" | ||||||
|       }; |       }; | ||||||
|  |  | ||||||
|   @override |   @override | ||||||
| @@ -115,16 +126,29 @@ class HTML extends AppSource { | |||||||
|     var uri = Uri.parse(standardUrl); |     var uri = Uri.parse(standardUrl); | ||||||
|     Response res = await sourceRequest(standardUrl); |     Response res = await sourceRequest(standardUrl); | ||||||
|     if (res.statusCode == 200) { |     if (res.statusCode == 200) { | ||||||
|       List<String> links = parse(res.body) |       var html = parse(res.body); | ||||||
|  |       List<String> allLinks = html | ||||||
|           .querySelectorAll('a') |           .querySelectorAll('a') | ||||||
|           .map((element) => element.attributes['href'] ?? '') |           .map((element) => element.attributes['href'] ?? '') | ||||||
|  |           .toList(); | ||||||
|  |       List<String> links = []; | ||||||
|  |       if ((additionalSettings['customLinkFilterRegex'] as String?) | ||||||
|  |               ?.isNotEmpty == | ||||||
|  |           true) { | ||||||
|  |         var reg = RegExp(additionalSettings['customLinkFilterRegex']); | ||||||
|  |         links = allLinks.where((element) => reg.hasMatch(element)).toList(); | ||||||
|  |       } else { | ||||||
|  |         links = allLinks | ||||||
|             .where((element) => |             .where((element) => | ||||||
|                 Uri.parse(element).path.toLowerCase().endsWith('.apk')) |                 Uri.parse(element).path.toLowerCase().endsWith('.apk')) | ||||||
|             .toList(); |             .toList(); | ||||||
|  |       } | ||||||
|       links.sort((a, b) => additionalSettings['sortByFileNamesNotLinks'] == true |       links.sort((a, b) => additionalSettings['sortByFileNamesNotLinks'] == true | ||||||
|           ? compareAlphaNumeric(a.split('/').last, b.split('/').last) |           ? compareAlphaNumeric(a.split('/').where((e) => e.isNotEmpty).last, | ||||||
|  |               b.split('/').where((e) => e.isNotEmpty).last) | ||||||
|           : compareAlphaNumeric(a, b)); |           : compareAlphaNumeric(a, b)); | ||||||
|       if (additionalSettings['apkFilterRegEx'] != null) { |       if ((additionalSettings['apkFilterRegEx'] as String?)?.isNotEmpty == | ||||||
|  |           true) { | ||||||
|         var reg = RegExp(additionalSettings['apkFilterRegEx']); |         var reg = RegExp(additionalSettings['apkFilterRegEx']); | ||||||
|         links = links.where((element) => reg.hasMatch(element)).toList(); |         links = links.where((element) => reg.hasMatch(element)).toList(); | ||||||
|       } |       } | ||||||
|   | |||||||
							
								
								
									
										34
									
								
								pubspec.lock
									
									
									
									
									
								
							
							
						
						
									
										34
									
								
								pubspec.lock
									
									
									
									
									
								
							| @@ -22,7 +22,7 @@ packages: | |||||||
|     description: |     description: | ||||||
|       path: "." |       path: "." | ||||||
|       ref: main |       ref: main | ||||||
|       resolved-ref: f09c79eee5be3c60b04760143eb954a13fdd07f1 |       resolved-ref: "2edf5dbbfeeb33257d526861f2a992aee5d97bb4" | ||||||
|       url: "https://github.com/ImranR98/android_package_installer" |       url: "https://github.com/ImranR98/android_package_installer" | ||||||
|     source: git |     source: git | ||||||
|     version: "0.0.1" |     version: "0.0.1" | ||||||
| @@ -206,10 +206,10 @@ packages: | |||||||
|     dependency: transitive |     dependency: transitive | ||||||
|     description: |     description: | ||||||
|       name: ffi |       name: ffi | ||||||
|       sha256: ed5337a5660c506388a9f012be0288fb38b49020ce2b45fe1f8b8323fe429f99 |       sha256: "7bf0adc28a23d395f19f3f1eb21dd7cfd1dd9f8e1c50051c069122e6853bc878" | ||||||
|       url: "https://pub.dev" |       url: "https://pub.dev" | ||||||
|     source: hosted |     source: hosted | ||||||
|     version: "2.0.2" |     version: "2.1.0" | ||||||
|   file: |   file: | ||||||
|     dependency: transitive |     dependency: transitive | ||||||
|     description: |     description: | ||||||
| @@ -296,10 +296,10 @@ packages: | |||||||
|     dependency: "direct main" |     dependency: "direct main" | ||||||
|     description: |     description: | ||||||
|       name: flutter_markdown |       name: flutter_markdown | ||||||
|       sha256: "4b1bfbb802d76320a1a46d9ce984106135093efd9d969765d07c2125af107bdf" |       sha256: "2b206d397dd7836ea60035b2d43825c8a303a76a5098e66f42d55a753e18d431" | ||||||
|       url: "https://pub.dev" |       url: "https://pub.dev" | ||||||
|     source: hosted |     source: hosted | ||||||
|     version: "0.6.17" |     version: "0.6.17+1" | ||||||
|   flutter_plugin_android_lifecycle: |   flutter_plugin_android_lifecycle: | ||||||
|     dependency: transitive |     dependency: transitive | ||||||
|     description: |     description: | ||||||
| @@ -482,10 +482,10 @@ packages: | |||||||
|     dependency: "direct main" |     dependency: "direct main" | ||||||
|     description: |     description: | ||||||
|       name: path_provider |       name: path_provider | ||||||
|       sha256: "3087813781ab814e4157b172f1a11c46be20179fcc9bea043e0fba36bc0acaa2" |       sha256: "909b84830485dbcd0308edf6f7368bc8fd76afa26a270420f34cabea2a6467a0" | ||||||
|       url: "https://pub.dev" |       url: "https://pub.dev" | ||||||
|     source: hosted |     source: hosted | ||||||
|     version: "2.0.15" |     version: "2.1.0" | ||||||
|   path_provider_android: |   path_provider_android: | ||||||
|     dependency: transitive |     dependency: transitive | ||||||
|     description: |     description: | ||||||
| @@ -642,10 +642,10 @@ packages: | |||||||
|     dependency: transitive |     dependency: transitive | ||||||
|     description: |     description: | ||||||
|       name: shared_preferences_foundation |       name: shared_preferences_foundation | ||||||
|       sha256: f39696b83e844923b642ce9dd4bd31736c17e697f6731a5adf445b1274cf3cd4 |       sha256: d29753996d8eb8f7619a1f13df6ce65e34bc107bef6330739ed76f18b22310ef | ||||||
|       url: "https://pub.dev" |       url: "https://pub.dev" | ||||||
|     source: hosted |     source: hosted | ||||||
|     version: "2.3.2" |     version: "2.3.3" | ||||||
|   shared_preferences_linux: |   shared_preferences_linux: | ||||||
|     dependency: transitive |     dependency: transitive | ||||||
|     description: |     description: | ||||||
| @@ -783,10 +783,10 @@ packages: | |||||||
|     dependency: transitive |     dependency: transitive | ||||||
|     description: |     description: | ||||||
|       name: url_launcher_android |       name: url_launcher_android | ||||||
|       sha256: "78cb6dea3e93148615109e58e42c35d1ffbf5ef66c44add673d0ab75f12ff3af" |       sha256: "3dd2388cc0c42912eee04434531a26a82512b9cb1827e0214430c9bcbddfe025" | ||||||
|       url: "https://pub.dev" |       url: "https://pub.dev" | ||||||
|     source: hosted |     source: hosted | ||||||
|     version: "6.0.37" |     version: "6.0.38" | ||||||
|   url_launcher_ios: |   url_launcher_ios: | ||||||
|     dependency: transitive |     dependency: transitive | ||||||
|     description: |     description: | ||||||
| @@ -863,10 +863,10 @@ packages: | |||||||
|     dependency: transitive |     dependency: transitive | ||||||
|     description: |     description: | ||||||
|       name: webview_flutter_android |       name: webview_flutter_android | ||||||
|       sha256: d936a09fbfd08cb78f7329e0bbacf6158fbdfe24ffc908b22444c07d295eb193 |       sha256: bca797abba472868655b5f1a6029c1132385685ee9db4713cb0e7f33076210c6 | ||||||
|       url: "https://pub.dev" |       url: "https://pub.dev" | ||||||
|     source: hosted |     source: hosted | ||||||
|     version: "3.9.2" |     version: "3.9.3" | ||||||
|   webview_flutter_platform_interface: |   webview_flutter_platform_interface: | ||||||
|     dependency: transitive |     dependency: transitive | ||||||
|     description: |     description: | ||||||
| @@ -879,10 +879,10 @@ packages: | |||||||
|     dependency: transitive |     dependency: transitive | ||||||
|     description: |     description: | ||||||
|       name: webview_flutter_wkwebview |       name: webview_flutter_wkwebview | ||||||
|       sha256: "5fa098f28b606f699e8ca52d9e4e11edbbfef65189f5f77ae92703ba5408fd25" |       sha256: ed749f94ac9e814d04a258a9255cf69cfa4cc6006ff59542aea7fb4590144972 | ||||||
|       url: "https://pub.dev" |       url: "https://pub.dev" | ||||||
|     source: hosted |     source: hosted | ||||||
|     version: "3.7.2" |     version: "3.7.3" | ||||||
|   win32: |   win32: | ||||||
|     dependency: transitive |     dependency: transitive | ||||||
|     description: |     description: | ||||||
| @@ -903,10 +903,10 @@ packages: | |||||||
|     dependency: transitive |     dependency: transitive | ||||||
|     description: |     description: | ||||||
|       name: xdg_directories |       name: xdg_directories | ||||||
|       sha256: e0b1147eec179d3911f1f19b59206448f78195ca1d20514134e10641b7d7fbff |       sha256: f0c26453a2d47aa4c2570c6a033246a3fc62da2fe23c7ffdd0a7495086dc0247 | ||||||
|       url: "https://pub.dev" |       url: "https://pub.dev" | ||||||
|     source: hosted |     source: hosted | ||||||
|     version: "1.0.1" |     version: "1.0.2" | ||||||
|   xml: |   xml: | ||||||
|     dependency: transitive |     dependency: transitive | ||||||
|     description: |     description: | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user