68 Commits

Author SHA1 Message Date
arkon
5a55c66532 Perform download cache renewal async
Don't block on cache renewals, but notify library on updates so that the badges show up when ready.

We skip the cache when checking if a chapter is downloaded for the reader assuming that it's a
relatively low cost to check for a single chapter.

(Probably) fixes #8254 / fixes #7847

(cherry picked from commit 7e40680af02505f82fa3655d2d693092c6bd43a1)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadCache.kt
#	app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.kt
2022-10-22 20:28:57 -04:00
arkon
9fafe15081 Remove redundancy in ExtensionManager
(cherry picked from commit 93925a72866892358b7f46645e1f189b2cf3bc1d)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/SourceManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/globalsearch/GlobalSearchPresenter.kt
2022-10-22 20:24:41 -04:00
Jobobby04
2d2f5cdc66 Improve external repo extension handling 2022-10-15 12:09:16 -04:00
Andreas
5d1dfb5290 Split source preferences from PreferencesHelper (#8029)
(cherry picked from commit 30b3b2d3ffd5d90aee293e9ae22b3cb2a4924c2b)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/AppModule.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/SourceExtensions.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesFilterPresenter.kt
2022-09-18 13:08:22 -04:00
Andreas
41c9c20e26 Use 1.x preference abstraction (#8020)
* Use 1.x preference abstraction

- Uses SharedPreferences compared to 1.x impl which uses DataStore but it breaks all settings screens currently
- Move PreferencesHelper to new PreferenceStore
  - PreferencesHelper should be split into smaller preference stores and be in core or domain
- Remove flow preferences as new PreferenceStore handles changes for us

Co-authored-by: inorichi <3521738+inorichi@users.noreply.github.com>

* Fix PreferenceMutableState not updating

* Fix changes not emitting on first subscription

Co-authored-by: inorichi <3521738+inorichi@users.noreply.github.com>
(cherry picked from commit 0086743a5311c22fb8c07f596ab5de384862a68a)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/source/interactor/GetEnabledSources.kt
#	app/src/main/java/eu/kanade/tachiyomi/App.kt
#	app/src/main/java/eu/kanade/tachiyomi/AppModule.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateNotifier.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt
#	core/src/main/java/eu/kanade/tachiyomi/network/NetworkHelper.kt
2022-09-18 12:31:49 -04:00
Alessandro Jean
5ee6029395 Enable sub-languages on app first run (#7127)
* Enable sub-languages on app first run.

* Fix wrong language code string parsing.

* Fix some build issues due to rebase.

* Use PreferenceHelper and remove an extra preference.

* Remove a constant.

(cherry picked from commit 084e6a964ee2f2a8499b861e5e3e58938ddab6e9)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionManager.kt
2022-08-31 11:19:09 -04:00
AntsyLich
da611bfa76 Prevent unofficial exts from getting marked as obsolete or updateable (#7871)
* Prevent unofficial exts from getting marked as obsolete

* Prevent unofficial ext `hasUpdate` getting marked as true

(cherry picked from commit 8d40e20b7de49056940a6f07378778934724534a)
2022-08-27 20:50:16 -04:00
Ivan Iskandar
4da028af6a ExtensionPresenter: Fix crash on first launch (#7685)
* Revert "Use SharedFlow for available extensions to always emit the value (#7609)"

This reverts commit 73901f50c0aee1cb82695642af72ff6ac7bc232d.

* ExtensionPresenter: Explicitly set refreshing status

* Scope coroutines job to presenter

* cleanup

* fix toast

(cherry picked from commit b3426f37e7d36be653363338288f74e2ae252a78)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionManager.kt
2022-08-05 13:07:50 -04:00
Andreas
7edf8dd555 Use SharedFlow for available extensions to always emit the value (#7609)
- Fixes Extension screen being stuck refreshing due to StateFlow not emitting due to the value being the same

(cherry picked from commit 73901f50c0aee1cb82695642af72ff6ac7bc232d)
2022-07-25 11:06:45 -04:00
Andreas
d8042f7182 Use Flow in ExtensionManager and SourceManager (#7547)
- Replace ExtensionManager relay and observable with Flow
- Inverse SourceManager dependency
    - SourceManager observers ExtensionManager flow
- Separate SourceData from SourceRepository as it created a circular dependency

(cherry picked from commit 35ec5936587799f33a264f57729cb4b75c5a0f72)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/source/SourceManager.kt
2022-07-16 20:09:33 -04:00
Andreas
6df1a0f79e Use Stable interface for Browse screens (#7544)
(cherry picked from commit 018ca71336c893f64e0d0653b48b3d5f39b88d63)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/ExtensionDetailsScreen.kt
#	app/src/main/java/eu/kanade/presentation/browse/ExtensionsScreen.kt
#	app/src/main/java/eu/kanade/presentation/browse/MigrateSourceScreen.kt
#	app/src/main/java/eu/kanade/presentation/browse/SourcesScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/manga/MigrateMangaPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/sources/MigrationSourcesController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesFilterPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesPresenter.kt
2022-07-16 17:45:36 -04:00
AntsyLich
26632905b5 ExtensionManger: Fix unofficial extension has update (#7503)
(cherry picked from commit 64f60c36e61ea186e246370634835abc6b7c9b0c)
2022-07-11 11:36:30 -04:00
AntsyLich
8a06bc42d8 Maintain source info in the database. (#6389)
* Maintain Source Info in database

* Review changes and cleanups

* Review changes 2

* Review Changes 3

(cherry picked from commit 9d5b7de1d89a353d0bf73ce6befd9f5667d94d17)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/DomainModule.kt
#	app/src/main/java/eu/kanade/presentation/browse/MigrateSourceScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/SourceManager.kt
2022-06-16 12:02:38 -04:00
Andreas
c1659ad908 Convert Source tab to use Compose (#6987)
* Use Compose in Source tab

* Replace hashCode with key function

* Add ability to turn off pins moving on top of source list

* Changes from review comments

(cherry picked from commit 29a0989f2889d3361f583285091878c9b4570a52)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/source/SourceManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourceController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourceHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourceItem.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcePresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceController.kt
2022-05-01 13:49:53 -04:00
arkon
af25e0e770 Minor cleanup
(cherry picked from commit f16fb4e1e4e7ce0ed2eb3d8b89ca3aa61d751383)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/App.kt
2022-04-15 17:50:26 -04:00
arkon
e98567a86b Update linter
(cherry picked from commit f0eb42e72d1e267049777a303bd97d96517a9a1f)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/full/FullBackupRestore.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/full/models/Backup.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/full/models/BackupManga.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/legacy/models/Backup.kt
#	app/src/main/java/eu/kanade/tachiyomi/extension/model/Extension.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/LocalSource.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/base/changehandler/OneWayFadeChangeHandler.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/sources/SelectionHeader.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourceItem.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcePresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceFilterSheet.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/globalsearch/GlobalSearchController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryListHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPageSheet.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/ChapterLoader.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/HttpPageLoader.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/model/ReaderPage.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/util/view/ViewExtensions.kt
2022-04-09 19:11:54 -04:00
arkon
0792ef3b1f Move preference extension functions to utils
(cherry picked from commit 78c2631b6f76214d1674cd2735432ef7d11d91c7)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourceController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
2022-01-01 15:04:16 -05:00
arkon
df07276e20 Avoid loading available extensions list if it seems too small
(cherry picked from commit 6a39c8fc13821a3b6d8f0efd738254154f4b7148)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/extension/api/ExtensionGithubApi.kt
2021-12-02 19:35:35 -05:00
Ivan Iskandar
fa14a1cb6d Implement new extension install methods (#5904)
* Implement new extension install methods

* Fixes

* Resolve feedback

* Keep pending status when waiting to install

* Cancellable installation

* Remove auto error now that we have cancellable job

(cherry picked from commit b284384f0ad318fea24e7324a4621e12eb9aca7f)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceValues.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/ExtensionHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt
2021-09-26 13:28:48 -04:00
Jobobby04
367d95c825 Logging fixes and lint 2021-03-31 14:29:27 -04:00
Jobobby04
21240cad06 Cleanup 2021-03-11 22:39:46 -05:00
Jobobby04
04200bb590 Cleanup 2021-03-11 19:10:33 -05:00
Jobobby04
7e91ae02f1 Upgrade logging, now maps timber to XLog, new logging functions 2021-03-07 00:23:23 -05:00
Jobobby04
295af5306b Handle delegated source id lists better using a LisenterMutableMap
Better source id comparisons
2021-01-26 13:31:22 -05:00
arkon
d09406dc29 Revert "Use flows instead of relays for extensions loading"
This reverts commit 07e76f35fa2a69a4cda0668f540aa1a4e2eb2b98.

(cherry picked from commit c620c924f9d5554bd8a7de7fc5c40ca5381bbdde)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionManager.kt
2021-01-07 22:12:29 -05:00
arkon
73fc1ac80f Use flows instead of relays for extensions loading
(cherry picked from commit 07e76f35fa2a69a4cda0668f540aa1a4e2eb2b98)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionManager.kt
2021-01-04 14:21:13 -05:00
Jobobby04
1a609e557b Refactor and cleanup 2020-12-26 16:12:52 -05:00
Jobobby04
ce8f7da9ca Use ContextCompat to get custom source icons 2020-12-21 14:21:42 -05:00
arkon
bbd3e3c29c Remove source overwrite logic since built-in sources no longer exist
(cherry picked from commit 1a439ecece5e2963a5e6ba9761adad90f8c0bb29)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/source/SourceManager.kt
2020-12-21 14:21:31 -05:00
Jobobby04
9a2ed755b7 Cleanup EH and AZ preferences 2020-11-30 15:11:58 -05:00
Jobobby04
643aa377bf Update XLog 2020-11-26 19:12:00 -05:00
Jobobby04
3fa5322133 Delegate NHentai, to continue using NHentai download the extension, SY requires NHentai version 1.2.28 2020-08-12 00:23:18 -04:00
Jobobby04
5a1bc6e25b Delegate Perv Eden, to continue using it download the extensions(there is a English extension and a Italian extension) 2020-08-12 00:21:29 -04:00
Jobobby04
9a3fdc23e6 Delegate hitomi, it is now the first fully delegated factory source. To continue using hitomi please download the extension. This comes with a lot of fixes for future delegated factory sources 2020-08-10 23:29:10 -04:00
Jobobby04
aae23f5ef3 Delegate 8Muses, please manually migrate over your comics to the extension, as the old version of the 8Muses comics cannot support the new comics format 2020-08-10 21:15:08 -04:00
Jobobby04
e346d95b0e Delegate HBrowse 2020-08-02 00:50:52 -04:00
arkon
94d14af2a4 Add operator functions for handling set preferences
(cherry picked from commit 2dc47352f87acd7017bb1ad385380231f0fff043)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourceFilterController.kt
2020-07-25 22:30:21 -04:00
Jobobby04
4ef72194bb Cleanup resources and put comments where SY code is different from preview code 2020-06-19 20:50:16 -04:00
Jobobby04
77dd5bfadd Show all installed extensions but label extensions that were hidden before as redundant 2020-05-30 14:12:23 -04:00
Jobobby04
354bf362c0 Lint 2020-05-22 17:50:08 -04:00
Jobobby04
69304466a7 Add icons to extension manager so they appear in more views without manually setting them 2020-05-22 17:50:08 -04:00
Jobobby04
bef0a44447 It Builds! 2020-05-03 18:34:46 -04:00
Jobobby04
7e99a9f789 Linting Fixes AZ 2020-05-03 14:36:19 -04:00
Jobobby04
cea2b42b41 More FlowPreferences migrations
(cherry picked from commit 401210da44abbb254586674e7cc9be938ee92fc5)
2020-05-03 14:02:47 -04:00
jobobby04
c85825f3c7 Run default Android Studio formatter on code
(cherry picked from commit 3ecc883944cba6102fb68940023d90ef959c8b9c)
2020-05-03 01:33:58 -04:00
Rani Sargees
4d8f44ddae merge double upstream 2020-05-02 23:39:46 -04:00
arkon
3f63b320c4 Linting fixes 2020-04-25 14:24:45 -04:00
arkon
401210da44 More FlowPreferences migrations 2020-04-17 18:30:05 -04:00
arkon
022c0746c0 Show error toast when extensions list fails to load 2020-04-03 22:54:52 -04:00
arkon
06c3f57f62 Cache source package icons 2020-04-03 21:39:55 -04:00