79 Commits

Author SHA1 Message Date
MajorTanya
b21d685a37 Fix extension repo crash with TypeReference issue (#574)
Fix by @AntsyLich.

Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit 05071b420572a8fa93a55ab02c743c7da4fd3b3a)
2024-03-27 16:28:35 -04:00
Maddie Witman
2af6e7be32 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>
(cherry picked from commit 4b4e46851083c29ca412c114b1b96136fcc21442)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/Migrations.kt
#	app/src/main/java/eu/kanade/tachiyomi/extension/api/ExtensionApi.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
#	data/src/main/sqldelight/tachiyomi/migrations/3.sqm
2024-03-27 16:27:24 -04:00
arkon
613c92c51e Move extension repos interactors to proper package
Also retain ordering of added repos.

(cherry picked from commit 3d178737b1e1c6531f9dbba5b2b5611eac901f90)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionManager.kt
2024-01-09 18:52:22 -05:00
arkon
56b565cc51 Allow permanently trusting unofficial extensions by version code + signature
Closes #10290

(cherry picked from commit 6510a9617a2b5b5389cb5776a2fb91019206f6fc)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/domain/source/service/SourcePreferences.kt
#	app/src/main/java/eu/kanade/tachiyomi/Migrations.kt
#	app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/extension/util/ExtensionLoader.kt
2024-01-09 18:52:02 -05:00
arkon
1ec0a22e37 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

(cherry picked from commit 9c899e97a97480545d022974ffd3ea1248634155)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsBrowseScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
2024-01-09 18:51:37 -05:00
arkon
24a56a5529 Support external repos
Largely taken from SY.

Co-authored-by: jobobby04 <jobobby04@users.noreply.github.com>
(cherry picked from commit c17ada2c98041877ab901efb9b03497130ead34a)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/source/interactor/CreateSourceRepo.kt
#	app/src/main/java/eu/kanade/presentation/browse/ExtensionDetailsScreen.kt
#	app/src/main/java/eu/kanade/presentation/category/SourceRepoScreen.kt
#	app/src/main/java/eu/kanade/presentation/category/components/CategoryDialogs.kt
#	app/src/main/java/eu/kanade/presentation/category/components/repo/SourceRepoContent.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsBrowseScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/extension/api/ExtensionGithubApi.kt
#	app/src/main/java/eu/kanade/tachiyomi/extension/model/Extension.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/category/CategoryScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
2024-01-09 18:51:30 -05:00
AntsyLich
c8909961c0 Implement scanlator filter (#8803)
* Implement scanlator filter

* Visual improvement to scanlator filter dialog

* Review changes + Bug fixes

Backup not containing filtered chapters and similar issue fix

* Review Changes + Fix SQL query

* Lint mamma mia

(cherry picked from commit b97aa235480e35b5514b7b1489b9d4413cea66d9)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/presentation/manga/ChapterSettingsDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupCreator.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt
#	data/src/main/java/tachiyomi/data/chapter/ChapterRepositoryImpl.kt
#	data/src/main/sqldelight/tachiyomi/migrations/23.sqm
#	data/src/main/sqldelight/tachiyomi/migrations/26.sqm
#	domain/src/main/java/tachiyomi/domain/history/interactor/GetNextChapters.kt
2023-12-23 17:38:22 -05:00
arkon
3dc895778f Move tracker binding logic to interactor
(cherry picked from commit 69223df27c198550a7c43dc1af4c65f85bcb395b)
2023-11-05 16:53:07 -05:00
arkon
dfb3e2da8e Clean up chapter restoring logic a bit
(cherry picked from commit ce5e10be955d8166f53de8118f8f12e76546b5ea)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt
#	domain/src/main/java/tachiyomi/domain/history/interactor/GetNextChapters.kt
2023-10-29 13:52:28 -04:00
Joshua Owolabi
325a471359 Allow extensions to open manga or chapter by URL (#9996)
* open manga and chapter using URL

* removing unnnecessary logs

* Resolving comments

* Resolving comments

(cherry picked from commit f84868a2641578b7e07719d8f580e4668804fd50)
2023-10-29 11:50:20 -04:00
arkon
c24cdb598e Tracker-related cleanup
(cherry picked from commit c8e226acb2ef460f78a298ef44412bb5b2915daf)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/track/interactor/TrackChapter.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/track/TrackerManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/stats/StatsScreenModel.kt
2023-10-01 16:34:14 -04:00
arkon
972ada85ac Clean up fetch interval tests a bit
Also limit the dates we look at to most recent 10 distinct dates only. Closes #9930

(cherry picked from commit 6663abebaf69241741d0702331857951834ba806)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupRestorer.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt
2023-10-01 16:01:16 -04:00
arkon
e776d455f5 Refactor some tracking-related logic
(cherry picked from commit 98d6ce2eaf2c1e85f4763dd37303155d1fc6690d)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt
2023-09-04 11:47:24 -04:00
arkon
402014adb4 Refactor some tracking-related logic
(cherry picked from commit dde2f42138082f2d71552d573adbe89015cc7ff4)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/track/interactor/TrackChapter.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt
2023-09-04 11:35:19 -04:00
arkon
42c404a0cc Minor cleanup
(cherry picked from commit 4e68b628811dee26a5aba023183af619df5c3e99)
2023-09-03 23:04:38 -04:00
arkon
cc297da44a Cleanup related to fetch interval display
(cherry picked from commit 3ad4f1114adc88189032e4face152db9ed89df55)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupRestorer.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
2023-08-12 14:56:04 -04:00
Quang Kieu
78e3330215 Update Manga in Expected Period (#5734)
* Add Predict Interval Test

* Get mangas next update and interval in library update

* Get next update and interval in backup restore

* Display and set intervals, nextUpdate in Manga Info

* Move logic function to MangeScreen and InfoHeader

Update per suggestion

---------

Co-authored-by: arkon <arkon@users.noreply.github.com>
(cherry picked from commit cb639f4e90121b98221ba7358108200c46b6657f)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/components/MangaDialogs.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupRestorer.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
2023-08-12 14:44:43 -04:00
arkon
16edec18f2 Refactor chapter tracking logic
Could probably call this if we ever make it update tracking on manually
marking chapters as read.

(cherry picked from commit efabe801be56476bf9ee536747f39ab8d486ca12)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt
2023-07-15 17:58:40 -04:00
arkon
23170b6f03 Remove per-category display mode
There seems to be little value in this feature, and juggling flag masks is annoying.
Per-category sorting is still a thing, but could be refactored away from the flag in the feature.

(cherry picked from commit 405a75438a61770a12292cc87c0fa36e16668124)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/LibrarySettingsDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryTab.kt
#	domain/src/main/java/tachiyomi/domain/category/interactor/SetDisplayModeForCategory.kt
#	domain/src/main/java/tachiyomi/domain/category/interactor/SetSortModeForCategory.kt
2023-06-24 12:10:45 -04:00
Andreas
054aa7c4d8 Remove SourceData and use StubSource directly for database (#9429)
(cherry picked from commit f63573f25fe5361c9c1a49a77b2c371e68072736)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/extension/model/Extension.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/AndroidSourceManager.kt
2023-05-06 13:30:39 -04:00
Andreas
01ef35af3a Move GitHub Release/App Update logic to data (#9422)
* Move GitHub Release/App Update logic to data

* Add tests for GetApplicationRelease

* Review changes

(cherry picked from commit 02864ebd60ac9eb974a1b54b06368d20b0ca3ce5)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/AboutScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/updater/AppUpdateChecker.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/updater/GithubRelease.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
2023-05-06 13:12:02 -04:00
arkon
6fbf250796 Move more things to domain/data modules
(cherry picked from commit bebd4be43d73617de2cfbc1ff4289e81f535a8e6)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsGeneralScreen.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsLibraryScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/AppModule.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/home/HomeScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt
#	data/src/main/java/tachiyomi/data/source/EHentaiPagingSource.kt
#	data/src/main/java/tachiyomi/data/source/SourcePagingSource.kt
#	domain/build.gradle.kts
#	domain/src/main/java/tachiyomi/domain/category/interactor/SetDisplayModeForCategory.kt
#	domain/src/main/java/tachiyomi/domain/category/interactor/SetSortModeForCategory.kt
#	domain/src/main/java/tachiyomi/domain/history/interactor/GetHistoryByMangaId.kt
#	domain/src/main/java/tachiyomi/domain/library/service/LibraryPreferences.kt
2023-03-15 00:23:28 -04:00
arkon
259b8f383f Move more things to domain module
(cherry picked from commit f816196df29ee9744e93470df48b2f7f24ae18f7)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/history/interactor/GetNextChapters.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/MigrationFlags.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt
2023-03-05 15:05:35 -05:00
arkon
8146e1181a Move some interactors to domain module
(cherry picked from commit f2c48480b687d4e01350e580a5648ae52bd5d107)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsLibraryScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt
2023-02-09 18:15:16 -05:00
arkon
bd0eda0c65 Move more things around
(cherry picked from commit 1730dd6af1f5a9e6f8752a2350b1bd153262a751)

# Conflicts:
#	app/src/main/java/eu/kanade/data/source/SourcePagingSource.kt
#	app/src/main/java/eu/kanade/domain/chapter/interactor/SetReadStatus.kt
#	app/src/main/java/eu/kanade/domain/library/service/LibraryPreferences.kt
#	app/src/main/java/eu/kanade/domain/manga/interactor/GetManga.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/PreferenceItem.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/AboutScreen.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/App.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadManager.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/data/updater/AppUpdateChecker.kt
#	app/src/main/java/eu/kanade/tachiyomi/extension/api/ExtensionGithubApi.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibrarySettingsSheet.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryTab.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/more/MoreTab.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.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/viewer/pager/PagerViewerAdapter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/updates/UpdatesScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/util/CrashLogUtil.kt
#	data/src/main/java/tachiyomi/data/manga/MangaRepositoryImpl.kt
2023-02-09 18:08:07 -05:00
Andreas
887757691c Move more to data and domain modules (#8973)
(cherry picked from commit cdf242e8c8e4b8142d9f4167b0187a32ea1a4d35)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/chapter/interactor/SyncChaptersWithSource.kt
#	app/src/main/java/eu/kanade/domain/track/interactor/GetTracksPerManga.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
2023-02-09 16:50:07 -05:00
Andreas
120ea4c768 Move more implementation to data module (#8971)
(cherry picked from commit aee785a8bbf95bd8b2ce975a25cf68dc302f363b)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupManager.kt
2023-02-09 16:00:35 -05:00
arkon
eecf7fd1fb Move more repositories to domain module
(cherry picked from commit 14500ba4f8ecaa852ca121bcdd91a3da5cea5093)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/history/interactor/GetNextChapters.kt
#	app/src/main/java/eu/kanade/domain/manga/interactor/GetManga.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/SourceManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryTab.kt
2023-02-09 13:54:12 -05:00
Andreas
d68330c64e Move Category model and repository to domain and data layer (#8967)
To keep the commit from being 100+ files the interactors wasn't moved.

The domain module like the data module uses `tachiyomi` instead of `eu.kanade.tachiyomi` for package names

(cherry picked from commit d3a73fc22849a915483bea03fcd7c20834b1f4d8)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/category/interactor/SetSortModeForCategory.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsLibraryScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibrarySettingsSheet.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryTab.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
2023-02-07 17:18:30 -05:00
AntsyLich
0aaa759529 Change Updates icon badge to show new updates count (#8659)
* Change Updates icon badge to show new updates count

* Fix reference

* review changes

* Lint

(cherry picked from commit 373463e99509eb976fc9a861a460a965b5a7314a)
2022-12-03 17:35:43 -05:00
AntsyLich
7a3847887c Implement simple stats screen (#8068)
* Implement simple stats screen

* Review Changes

* Some other changes

* Remove unused

* Small changes

* Review Changes 2 + Cleanup

* Review Changes 3

* Cleanup leftovers

* Optimize imports

(cherry picked from commit 3d7591fecae47c75e6e4bc78b53ac02811620d92)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/MoreScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/more/MoreScreen.kt
2022-11-28 16:10:04 -05:00
arkon
d3f4f63f52 Adjust read next history logic
Closes #8454

(cherry picked from commit 8749be518f8fb7f278f35f110df6c1d5b4b2508e)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/DomainModule.kt
#	app/src/main/java/eu/kanade/domain/history/interactor/GetNextUnreadChapters.kt
#	app/src/main/java/eu/kanade/domain/history/interactor/RemoveHistory.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
2022-11-10 22:37:36 -05:00
arkon
b4ede754b9 Clean up download ahead logic
- Remove redundant chapter sorting logic when fetching next chapter(s)
- Remove redundant download queue checks (it'll handle already queued or downloaded items)
- Trigger download ahead when read >= 25% of chapter rather than 20%
- Rely on download cache when checking if next chapter is downloaded to avoid jank (fixes #8328)

(cherry picked from commit fc184f1cfa929328c41b0ec374503afe204d6c15)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.kt
2022-11-01 12:32:13 -04:00
AntsyLich
37207ed58b Cleanup Library presenter (#8284)
* yeet observable + minor cleanup

* move [getTracksFlow] to domain

* Lint

* Review changes

Co-Authored-By: Andreas <6576096+ghostbear@users.noreply.github.com>

* Review Changes 2

* Stuff

* Rename + Rebase

* Lint

Co-authored-by: Andreas <6576096+ghostbear@users.noreply.github.com>
(cherry picked from commit e36d31bf0fff9652652319fa8b4fc700edc1442a)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
2022-10-29 18:03:08 -04:00
AntsyLich
47564449a6 Cleanup history repository (#8297)
* Cleanup history repository

* Lint

(cherry picked from commit 0657a5292404e9bc79a847faa244d9b2552f5bfa)

# Conflicts:
#	app/src/main/java/eu/kanade/data/history/HistoryRepositoryImpl.kt
#	app/src/main/java/eu/kanade/domain/history/repository/HistoryRepository.kt
2022-10-29 17:25:15 -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
Andreas
fed8ef09af Tweak library view (#8240)
- Move category join to improve performance
- Move bookmark calculation into query
- Move unread calculation into domain

(cherry picked from commit 8d97b980e354d50a7682e87677ef336833b760fe)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/data/manga/MangaMapper.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
#	app/src/main/sqldelight/migrations/22.sqm
#	app/src/main/sqldelight/view/libraryView.sq
2022-10-18 17:51:34 -04:00
Swords
1ac63787bd Add bookmark filter (#8198)
* feat: add bookmark filter

* feat: add getBookmarkChaptersByMangaId query + interactor to be used for filtering

(cherry picked from commit 3fdcd636d75e3862e75779077faef3d70365bcf6)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibrarySettingsSheet.kt
2022-10-15 12:11:24 -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
Andreas
02a154bb85 Move chapter preferences from PreferencesHelper to LibraryPrefrences (#8061)
(cherry picked from commit b5dca2eb09c008563e6e977fb3379fb7548d1144)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/domain/library/service/LibraryPreferences.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.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/setting/SettingsAdvancedController.kt
2022-09-24 23:24:28 -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
Andreas
fff031cf1c Set initial flag on new categories (#7800)
- Use the same flag as other categories
- Per-category uses the flag the user used before starting to use per-category

(cherry picked from commit 4228bbb88efc1a2ff62c52d3bf5724150800e39e)
2022-08-18 14:37:54 -04:00
Andreas
394e9b3fe6 Move default category into database (#7676)
(cherry picked from commit 914831d51fbb915aea5cbb409b1da552862c380c)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/full/FullBackupManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/full/models/BackupCategory.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/models/Category.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/models/CategoryImpl.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.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/sqldelight/migrations/19.sqm
2022-08-05 14:48:37 -04:00
Andreas
9b19afb7b4 Merge GetExtensions and GetExtensionUpdates (#7646)
(cherry picked from commit 7d74b174e024f2dee84debec1a9826b942e093e4)
2022-07-29 19:40:58 -04:00
AntsyLich
f1d1f6c466 Migrate Updates screen to compose (#7534)
* Migrate Updates screen to compose

* Review Changes + Cleanup

Remove more unused stuff and show confirmation dialog when mass deleting chapters

* Review Changes 2 + Rebase

(cherry picked from commit d8fb6b893fd9ae6aab3b4762837ebce496a214b3)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/recent/updates/UpdatesPresenter.kt
#	app/src/main/sqldelight/migrations/18.sqm
2022-07-19 12:37:26 -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
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
Andreas
5869fa0b4f Reset lastPageRead when chapter is marked unread (#7475)
* Reset lastPageRead when chapter is marked unread

* Remove a bit of repetition in SetReadStatus

(cherry picked from commit 5159eabc5dfd77dd7e4a480c1982bd1d2e5fbb92)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
2022-07-08 22:29:34 -04:00
Andreas
ea38ffc53e Use SQLDelight for all Manga related queries (#7447)
(cherry picked from commit 17951cfd68159d083df54c3e03094d8d66fe02ec)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/DomainModule.kt
#	app/src/main/java/eu/kanade/domain/manga/repository/MangaRepository.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/DatabaseHelper.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/DbExtensions.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/DbProvider.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/mappers/ChapterTypeMapping.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/mappers/MangaCategoryTypeMapping.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/mappers/MangaTypeMapping.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/queries/MangaQueries.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/queries/RawQueries.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/resolvers/ChapterProgressPutResolver.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/resolvers/LibraryMangaGetResolver.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/resolvers/MangaFlagsPutResolver.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/tables/CategoryTable.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/tables/ChapterTable.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/tables/MangaCategoryTable.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/tables/MangaTable.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchController.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/reader/ReaderPresenter.kt
2022-07-03 15:58:26 -04:00
Jobobby04
d88c769d3b Use SQLDelight for more SY specific things 2022-07-03 13:37:27 -04:00