531 Commits

Author SHA1 Message Date
arkon
7578b4d6fc Migrate to more domain model usages
(cherry picked from commit c6c4c1c393aa8f7fe702ce7da9d7d04e0ad9005b)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourcePresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
2022-11-11 14:36:15 -05:00
Jobobby04
f06c8ef2cb Fix page previews only showing previews when the manga first loaded 2022-11-10 22:49:23 -05:00
Jobobby04
61c2aee0c4 Fix E-Hentai browse 2022-11-02 20:26:27 -04:00
Jobobby04
f592436d55 Fix Exhentai 2022-11-02 12:49:17 -04:00
arkon
b2565c7f8b Clean up library download chapters logic
We can probably clean up the same logic in the manga controller at some point too, but that stuff's messy.
Also fixes the spacing issue that the new icon introduced.

(cherry picked from commit 33e90d64497f920be825b803e1342a2e6c937111)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
2022-11-01 13:36:11 -04:00
Jobobby04
2306038c74 Minor cleanup 2022-10-29 18:39:25 -04:00
arkon
94c0b0a36e Avoid concurrency crashes in SourceManager
(cherry picked from commit d0c4463ab372460ce6f16ec09ea975448423ed66)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/source/SourceManager.kt
2022-10-29 18:27:13 -04:00
arkon
b5ae4c0d43 Refactor network to local manga logic
Maybe fixes #8289

(cherry picked from commit d5b4bb49b168adc5b7c3934e530571497c85a916)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourcePresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/globalsearch/GlobalSearchPresenter.kt
2022-10-29 17:22:24 -04:00
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
arkon
a82b86bec8 Minor cleanup
(cherry picked from commit bc1fbfac9d3bd6a13b755acb5ac0a2ed702ba1a2)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/chapter/interactor/SetReadStatus.kt
#	app/src/main/java/eu/kanade/domain/manga/repository/MangaRepository.kt
#	app/src/main/java/eu/kanade/presentation/library/LibraryScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/SourceExtensions.kt
2022-10-15 12:09:35 -04:00
Basara-Hatake
7fd4f5ee97
remove dead delegatedsources (#701) 2022-10-15 12:08:26 -04:00
Shamicen
d540d83574 Fix ComicInfo.xml not being read if .noxml file exists too (#8111)
* gives ComicInfo.xml files priority over noxml files if both are at the chapter root.

* delete the noxml file if both a noXml file and a ComicInfo file exist

(cherry picked from commit 80b2ebc45b5f04bcd832ed2497d3f2f6ea4adf10)
2022-10-01 18:06:30 -04:00
stevenyomi
20a4a3af98 Remove cache control on already cacheless image request (#8085)
(cherry picked from commit f4c684b4b8729fb91b685f9990b33ba344dfa9c2)

# Conflicts:
#	source-api/src/main/java/eu/kanade/tachiyomi/source/online/HttpSource.kt
2022-10-01 17:38:10 -04:00
Andreas
1f4bfc4764 Split the rest of the preferences in PreferencesHelper (#8074)
* Split the reset of the preferences in PreferencesHelper

* Capitalize ThemeMode

(cherry picked from commit 29fa93e829ca7f9c3a28c58f3de146bc2bd15aad)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/domain/manga/model/Manga.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/preference/PreferenceKeys.kt
#	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/extension/api/ExtensionGithubApi.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/base/delegate/SecureActivityDelegate.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/source/SourcesPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibrarySettingsSheet.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt
2022-09-25 20:41:19 -04:00
Andreas
416db76218 Split download preferences from PreferencesHelper (#8048)
(cherry picked from commit e82963c9ef15416f6bf818c4043cf802c3033105)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/chapter/interactor/SetReadStatus.kt
#	app/src/main/java/eu/kanade/tachiyomi/AppModule.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
2022-09-22 12:47:25 -04:00
Andreas
bdc45fb8aa Split track preferences from PreferencesHelper (#8046)
(cherry picked from commit e568951396220b95447a025615a4b57b273f8864)
2022-09-21 11:47:02 -04:00
arkon
42a4d154cc Read metadata from ComicInfo.xml files in Local source (#8025)
Co-authored-by: Shamicen <84282253+Shamicen@users.noreply.github.com>
Co-authored-by: Andreas <andreas.everos@gmail.com>
Co-authored-by: jobobby04 <jobobby04@users.noreply.github.com>
(cherry picked from commit 1395343f116bfbc9c3ee04eed372299ea36aa22d)
2022-09-18 13:08:31 -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
Andreas
8a322ea28e Extract source api from app module (#8014)
* Extract source api from app module

* Extract source online api from app module

(cherry picked from commit 86fe85079413f8ed6e1109b46e6131a9b788b988)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupManager.kt
#	core/src/main/java/eu/kanade/tachiyomi/network/NetworkHelper.kt
#	source-api/src/main/java/eu/kanade/tachiyomi/source/Source.kt
#	source-api/src/main/java/eu/kanade/tachiyomi/source/model/SManga.kt
2022-09-16 13:49:41 -04:00
Jobobby04
8b8b17bb2d Linting 2022-09-11 20:38:18 -04:00
stevenyomi
4bab900459 Prevent okhttp from caching covers and chapter images (#7967)
(cherry picked from commit 52fa28c16a4f9771dd4214aed1772fde1185d93a)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/source/online/HttpSource.kt
2022-09-11 19:49:20 -04:00
Jobobby04
3562816e89 SY linting 2022-09-11 19:43:45 -04:00
AntsyLich
0e2dba8cd4 LocalSource: Create cover file if it doesn't exist (#7954)
(cherry picked from commit 0c7b1bda7f3e9bf3b017b734f64f3ad4b093c22a)
2022-09-10 11:10:53 -04:00
Jobobby04
96f24e0600 Rewrite migration, shove all logic into a presenter instead of the UI 2022-09-04 19:42:08 -04:00
Jobobby04
6e1e42fefd Address some OkHttp nullability issues 2022-09-03 19:55:30 -04:00
Andreas
99d5d8b91f Merge Latest and Browse into one screen (#7921)
* Merge Latest and Browse into one

* Add back Latest button

* Change context to IO instead of launching a job

* Use loading screen when loading initial page

(cherry picked from commit cc6aef693e1a15f695ffa7eebd968004a6557010)

# Conflicts:
#	app/src/main/java/eu/kanade/data/source/SourceRepositoryImpl.kt
#	app/src/main/java/eu/kanade/presentation/browse/BrowseLatestScreen.kt
#	app/src/main/java/eu/kanade/presentation/browse/BrowseSourceScreen.kt
#	app/src/main/java/eu/kanade/presentation/browse/SourceSearchScreen.kt
#	app/src/main/java/eu/kanade/presentation/browse/SourcesScreen.kt
#	app/src/main/java/eu/kanade/presentation/browse/components/BrowseLatestToolbar.kt
#	app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceComfortableGrid.kt
#	app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceToolbar.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SourceSearchController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesTab.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowsePagingSource.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourcePresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/latest/LatestUpdatesController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/latest/LatestUpdatesPresenter.kt
2022-09-03 19:43:55 -04:00
AntsyLich
6383bade26 Rename source download folder on source rename (#7898)
* Rename source download folder on source rename

* Review Changes

* Review Changes 2

(cherry picked from commit 53f5ea7fe9e0a918a0970c88521ba978c0def012)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/source/SourceManager.kt
2022-08-31 11:18:05 -04:00
Jobobby04
2784794634 Fix sources after Jsoup update 2022-08-29 18:13:12 -04:00
Jobobby04
a0f2094c51 E-Hentai set gallery id as hidden scanlator 2022-08-28 12:06:20 -04:00
Jobobby04
bda2f81c66 Minor cleanup 2022-08-22 12:43:55 -04:00
stevenyomi
39e0d7f4e8 Remove 1.x source models (#7781)
(cherry picked from commit e36e9d9d5c1b2a7b55f28f2bf0ef064880cbac8f)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/manga/interactor/UpdateManga.kt
#	app/src/main/java/eu/kanade/domain/manga/model/Manga.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/models/Manga.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/LocalSource.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/Source.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/SourceManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/model/SManga.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
2022-08-18 15:44:31 -04:00
Andreas
b9db59fa45 Lint changes (#7802)
- Fixes current lint issues
- Changes lint task to lintKotlin on PRs

(cherry picked from commit 09abfc7843ef69d65cb4f1a3459ff8ee2718e4f7)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt
#	build.gradle.kts
2022-08-18 14:37:45 -04:00
AntsyLich
0b1afc1b94 Change return value of SyncChaptersWithSource.await() (#7715)
* Change return value of `SyncChaptersWithSource.await()`

`updatedToAdd.subtract(reAdded).toList()` never worked as at this point `updatedToAdd` contained ids from db where `reAdded` had default one. Was the same case before the rewrite.

Removed `toDelete` from return value as it was not being used anywhere

* Add doc string

* Use HashSet

Co-authored-by: stevenyomi <95685115+stevenyomi@users.noreply.github.com>

Co-authored-by: stevenyomi <95685115+stevenyomi@users.noreply.github.com>
(cherry picked from commit 11f640cfee427b8912cdc43fc3efc61e0f774aa7)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
2022-08-13 15:00:32 -04:00
Jobobby04
05f2f79e0d Update EHTags list 2022-08-05 16:34:00 -04:00
stevenyomi
702fdb054a Filter out empty genres before saving manga to database (#7655)
(cherry picked from commit 4efb736e56dd1e9f6438502dac915467f5b64f03)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/database/models/Manga.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/model/SManga.kt
2022-07-31 11:36:37 -04:00
Jobobby04
1d593de654 Minor improvements for delegated source id lists 2022-07-26 16:46:06 -04:00
arkon
cfe78ff907 Avoid catastrophic failure when cover can't be created in local source (fixes #7577)
(cherry picked from commit d6977e5676377f6090c0e0b4eb15fd043fa01e11)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/source/LocalSource.kt
2022-07-24 00:20:29 -04:00
Jobobby04
8ef4a7fbbf Use ChapterInfo wherever possible 2022-07-22 15:09:40 -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
Jobobby04
f3ffd3b930 Handle new default user agent where SY uses it 2022-07-16 17:21:27 -04:00
arkon
bcf9398987 Make default user agent string configurable
(cherry picked from commit 4ee1d72b6f8278d84da6f75d218a51261d175e18)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/source/online/HttpSource.kt
2022-07-16 16:47:32 -04:00
AntsyLich
70aeaccbee Little cleanup for stub source (#7519)
* Little cleanup for stub source

Fixes instances where name shows up blank for stub sources

* Review Changes

Co-authored-by: Andreas <andreas.everos@gmail.com>

Co-authored-by: Andreas <andreas.everos@gmail.com>
(cherry picked from commit 902bb35ba7f56f06660985dda0f7f8abf41ee669)
2022-07-16 16:46:36 -04:00
Jobobby04
67e190bffd Page previews for Exh/E-H and NH
- Still needs click image to open chapter
2022-07-16 16:45:27 -04:00
Jobobby04
4dda69ac40 Bring back merge manga sources string 2022-07-15 11:27:30 -04:00
Andreas
4e29fd5b2a Use Compose for Category screen (#7454)
* Use Compose for Category screen

* Use correct string for CategoryRenameDialog title

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

Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit 86bacbe586bfe5567b1d52eb8d7b7f23724a17d5)

# Conflicts:
#	app/src/main/java/eu/kanade/data/category/CategoryRepositoryImpl.kt
#	app/src/main/java/eu/kanade/domain/category/interactor/InsertCategory.kt
#	app/src/main/java/eu/kanade/domain/category/repository/CategoryRepository.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/category/CategoryAdapter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/category/CategoryHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/category/CategoryItem.kt
#	app/src/main/res/layout/categories_item.xml
2022-07-10 21:27:27 -04:00
Ivan Iskandar
f1729a1a26 Fix broken downloaded chapter (#7460)
(cherry picked from commit 325a5e37aac77ab305d21ecfe5ce63705a243047)
2022-07-08 21:53:27 -04:00
arkon
d71bf4e6bc Update default user agent string
(cherry picked from commit 7d3fe0ed4374880765fe9dadbd5f6c842e41cc6b)
2022-07-08 21:53:18 -04:00
Jobobby04
9a10f1300a Fix gallery adder 2022-07-04 22:11:01 -04:00