Commit Graph

190 Commits

Author SHA1 Message Date
AntsyLich 70cd688ac2 Trust extension by repo (#570) 2024-05-04 16:26:45 +06:00
AntsyLich 21145144cd Fix some extension related issue and cleanups
- Extension being marked as not installed instead of untrusted after updating with private installer
- Extension update counter not updating due to extension being marked as untrusted
- Minimize `Key "extension-XXX-YYY" was already used` crash
2024-05-04 16:08:38 +06:00
Maddie Witman 4b4e468510 Grab extension repo detail from repo.json and include in DB (#506)
* WIP Extension Repo DB Support

* Wired in to extension screen, browse settings screen

* Detekt changes

* Ui tweaks and open in browser

* Migrate ExtensionRepos on Update

* Migration Cleanup

* Slight cleanup / error handling

* Update ExtensionRepo from Repo.json during extension search.
Added Manual refresh in extension repos page.

* Split repo fetching into separate API module, major refactor work

* Removed development strings

* Moved migration to #3

* Fixed rebase

* Detekt changes

* Added Replace Repository Dialog

* Cleanup, removed platform specific code, PR comments

* Removed extra function, reverted small change

* Detekt cleanup

* Apply suggestions from code review

Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>

* Fixed error introduced in cleanup

* Tweak for multiline when

* Moved getCount() to flow

* changed getCount to non-suspend, used property delegation

* Apply suggestions from code review

Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>

* Fixed formatting with updated comment string

* Big wave of PR comments, renaming/other tweaks

* onOpenWebsite changes

* onOpenWebsite changes

* trying to make single line

* Renamed ExtensionRepoApi.kt to ExtensionRepoService.kt

---------

Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
2024-03-23 04:58:35 +06:00
Jobobby04 a08e03f5cb Fix multiple issues regarding sources loading too late 2024-03-17 19:44:22 +06:00
Redjard 402e579a69 Fix shizuku being buggy for multi user setups (#494)
* Fix #493

Fetch the current userid separately because shizuku always runs as the main user and would otherwise install and update for the main user

* Update app/src/main/java/eu/kanade/tachiyomi/extension/installer/ShizukuInstaller.kt

---------

Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
2024-03-10 00:48:43 +06:00
beerpsi ab02568ac6 [ExtensionLoader] Prioritize extension classpath over app classpath (#433) 2024-02-24 23:54:30 +06:00
AwkwardPeak7 79f46b25f6 Fix new extension install not registering in app. (#275)
* Fix extension install not registering

* fix duplicate key compose error on extension update

* fix doubling of extension after update

* not needed
2024-01-29 23:08:28 +06:00
AntsyLich aa498360db Move :core to :core:common 2024-01-29 15:20:21 +06:00
AntsyLich cb06898430 Fix issues when updating extensions 2024-01-22 02:27:45 +06:00
AntsyLich 5067160132 Add a temporary icon 2024-01-16 01:17:18 +06:00
AntsyLich dfb3091e38 Make the app Android 8+ 2024-01-16 01:07:32 +06:00
arkon 02e50411de Minor extension repo enhancements
- Shortcut to settings from extensions tab
- Don't show error toast anymore if nothing's loaded
- Ability to copy extension repo URL to clipboard
2024-01-11 18:25:13 -05:00
arkon 3d178737b1 Move extension repos interactors to proper package
Also retain ordering of added repos.
2024-01-08 17:15:48 -05:00
arkon bf737cf95c Remove built-in official extension repo support 2024-01-07 23:06:17 -05:00
arkon 4b8fa059d5 Fix external repo info banner in ExtensionDetailsScreen 2024-01-07 16:35:25 -05:00
arkon 6510a9617a Allow permanently trusting unofficial extensions by version code + signature
Closes #10290
2024-01-07 13:35:44 -05:00
arkon 9c899e97a9 Clean up external repos
- Accept full URL as input instead, which allows for non-GitHub
- Remove automatic CDN fallback in favor of adding that as an external repo if needed
2024-01-05 23:13:16 -05:00
arkon 556f5a42a7 Fix lint error 2024-01-05 17:49:19 -05:00
arkon c17ada2c98 Support external repos
Largely taken from SY.

Co-authored-by: jobobby04 <jobobby04@users.noreply.github.com>
2024-01-05 17:28:08 -05:00
arkon e0a0942015 Remove custom extension readme/changelog URLs
These were barely used/maintained, so just killing them.
Changelog menu item still exists to take you to the relevant git history.
2024-01-05 17:07:49 -05:00
arkon 493da5c3f4 Force users to retrust unknown extensions on cold starts 2024-01-05 08:53:45 -05:00
arkon 8b65fd5751 Minor exception message cleanup 2023-12-28 16:33:54 -05:00
arkon 80d6d412f3 Avoid crashing if loading non-read-only private extension
Fixes #10252
2023-12-24 22:53:35 -05:00
Ivan Iskandar 387159b5af PackageInstallerInstaller: Fix intent used for install session (#10240)
Use explicit intent as it's a requirement when targeting v34+
2023-12-17 09:56:33 -05:00
arkon ab9a26f6bd Migrate to some newer date/time APIs 2023-12-08 23:11:53 -05:00
arkon bcc42dd259 Exclude some more app state preferences from backups 2023-11-21 22:11:44 -05:00
arkon 0d1bced122 Replace remaining Android-specific strings
Also renaming the helper composables so it's a bit easier to find/replace everything
in forks.
2023-11-18 19:41:33 -05:00
arkon 46e734fc8e Migrate to multiplatform string resources (#10147)
* Migrate to multiplatform string resources

* Move plurals translations into separate files

* Fix lint check on generated files
2023-11-18 13:54:56 -05:00
arkon 953f5fb025 Lint fixes 2023-11-05 09:14:57 -05:00
arkon 1d144e6767 Restrict line length with ktlint 2023-11-04 23:28:41 -04:00
arkon c5e8c9f01f Revert "Require Android 8+"
This reverts commit 64c50c1283.

Forgot we need to manage app update checks manually...
2023-11-04 19:36:29 -04:00
arkon 64c50c1283 Require Android 8+
Given that the next stable version of Chrome (120) will require Android 8+, it's
inevitable that the WebView functionality will gradually break. As always, newer
OS versions are recommended for better support with evolving Internet technologies.

According to https://apilevels.com/, Android 8+ still covers 93.7% of Android users.
2023-11-04 19:21:46 -04:00
Ivan Iskandar ea99d77fda ExtensionLoader: Fix incorrect ext file deletion (#10026)
Ref c492efcb31
2023-10-15 22:05:35 -04:00
Ivan Iskandar c492efcb31 ExtensionLoader: Set read-only to private extension files (#10007) 2023-10-12 23:04:40 -04:00
arkon e47f4cc177 Specify broadcast receiver export flags
Really only useful once we target Android 14, but doesn't hurt to do it now.
2023-10-07 10:03:45 -04:00
Ivan Iskandar 627f07408e Add private extension install method (#9710)
* Add private extension install method

Private extensions are put inside private data directory of the running app, so
this kind of extensions can only be used by the running app and not shared with
other apps.

One limitation of private extension is the lack of deeplink handlers (if there's
any) since the extension APK is not installed to the system.

When both kinds of extensions are installed with a same package name, shared
extension (the one installed to the system) will be used unless the version
codes are different. In that case the one with higher version code will be used.

* update
2023-08-05 12:15:52 -04:00
arkon 7798186c32 Drop support for extension-lib 1.3 2023-08-04 10:35:57 -04:00
arkon 10b0ef9b6d Dismiss extension update notification if all updates installed 2023-08-02 18:00:06 -04:00
arkon 0f21d16263 Minor cleanup 2023-07-30 10:08:51 -04:00
arkon abae9bf37d Minor cleanup 2023-07-23 20:03:37 -04:00
arkon cf14831fbe Clean up preference extensions/items a bit 2023-07-19 21:57:22 -04:00
arkon ac306547a0 Bump dependencies 2023-07-18 19:12:04 -04:00
arkon 30f845139d Use consistent extension icon URLs
Better caching between versions.
2023-07-16 15:44:36 -04:00
arkon a629db2884 Address some build warnings 2023-07-14 23:08:45 -04:00
arkon b79ef5dc79 Address some deprecation warnings 2023-06-30 22:14:17 -04:00
arkon ee95c1439f Blur manga info header image
Similar to J2K. This only applies on Android 12+.
2023-06-13 20:36:33 -04:00
Two-Ai 0ac38297f4 Replace RxJava in extension installer (#9556)
* Replace RxJava in extension installer

Replace common downloadsRelay with Map of individual StateFlows

* Drop RxRelay dependency

* Simplify updateAllExtensions

* Simplify addDownloadState/removeDownloadState

Use immutable Map functions instead of converting to MutableMap
2023-05-30 10:25:20 -04:00
Andreas f63573f25f Remove SourceData and use StubSource directly for database (#9429) 2023-05-03 10:33:05 -04:00
arkon ccd4143d9d extension-lib 1.5: Add AppInfo#getSupportedImageMimeTypes() 2023-04-28 11:36:17 -04:00
arkon 67b4e53a58 Minor cleanup 2023-04-23 10:11:26 -04:00