Commit graph

211 commits

Author SHA1 Message Date
AntsyLich
d126f2779f
Move :core to :core:common
(cherry picked from commit aa498360db90350f2642e6320dc55e7d474df1fd)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/domain/base/BasePreferences.kt
#	app/src/main/java/eu/kanade/domain/chapter/interactor/SetReadStatus.kt
#	app/src/main/java/eu/kanade/presentation/library/LibrarySettingsDialog.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsBrowseScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/App.kt
#	app/src/main/java/eu/kanade/tachiyomi/Migrations.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/create/BackupCreator.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/updater/AppUpdateChecker.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SourceSearchScreen.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/browse/source/browse/SourceFilterDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.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/reader/ReaderActivity.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/RarPageLoader.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/ZipPageLoader.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReaderPreferences.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerViewerAdapter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/stats/StatsScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/util/CrashLogUtil.kt
#	core/common/src/main/kotlin/eu/kanade/tachiyomi/util/storage/CbzCrypto.kt
#	data/src/main/java/tachiyomi/data/manga/MangaRepositoryImpl.kt
#	data/src/main/java/tachiyomi/data/source/SourcePagingSource.kt
#	domain/src/main/java/tachiyomi/domain/library/service/LibraryPreferences.kt
#	domain/src/main/java/tachiyomi/domain/manga/model/Manga.kt
#	settings.gradle.kts
#	source-api/src/commonMain/kotlin/eu/kanade/tachiyomi/source/online/HttpSource.kt
#	source-local/src/androidMain/kotlin/tachiyomi/source/local/image/LocalCoverManager.kt
2024-02-19 17:54:43 +07:00
Theodoro Loureiro mota
df4eb4ebfc
Adding Type-safe project accessors (#194)
* replace the windowInsetsPadding for navigationBarsPadding + statusBarsPadding

* Enabling TYPESAFE_PROJECT_ACCESSORS

* Adding typesafe project accessors in the app module

* Adding typesafe project accessors in the core module

* Adding typesafe project accessors in the core-metadata module

* Adding typesafe project accessors in the data module

* Adding typesafe project accessors in the domain module

* Adding typesafe project accessors in the presentation-core module

* Adding typesafe project accessors in the presentation-widget module

* Adding typesafe project accessors in the source-local module

* Adding typesafe project accessors in the source-api module

* Rolling back

* Changing TYPESAFE_PROJECT_ACCESSORS line

* Removing extra spaces

(cherry picked from commit e17d87f35749715946a96dc0e654792227c6722d)

# Conflicts:
#	settings.gradle.kts
2024-02-19 15:30:19 +07:00
Cuong M. Tran
1b54a5dd10
transfer repo to komikku-app 2024-02-19 14:52:22 +07:00
AntsyLich
066660a743
Remove usage of .not() where possible
# Conflicts:
#	app/src/main/java/eu/kanade/domain/extension/interactor/GetExtensionsByType.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerViewer.kt
2024-02-08 00:25:30 +07:00
Cuong M. Tran
6a7db7b2e4
Feed: will get Popular if source doesn’t support Latest 2024-01-31 16:03:01 +07:00
Cuong M. Tran
d38b148915
Change update repo 2024-01-28 23:44:37 +07:00
arkon
80d64bc031 Add filter library by customized update frequency
Supersedes #9619

Co-authored-by: quangkieu <quangkieu@users.noreply.github.com>
(cherry picked from commit 028da099ddf42b8b305afad04aba5f819a8ce24c)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/LibrarySettingsDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
#	domain/src/main/java/tachiyomi/domain/library/service/LibraryPreferences.kt
2024-01-09 18:52:07 -05:00
arkon
ef443e63a8 Fix selecting custom fetch interval not persisting sometimes
(cherry picked from commit e6c6c32d811349a2524f8ffe5bfc4a0c2d7d9679)
2024-01-09 18:52:06 -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
arkon
b677f81fb1 Change fetch interval action to show days until next expected update
(cherry picked from commit 32bed9b041d76a6bac699c56c78d1692b71dfc0b)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt
#	domain/src/main/java/tachiyomi/domain/manga/model/Manga.kt
2024-01-09 18:50:52 -05:00
arkon
6398f92518 Fix next expected update being weird number sometimes
Occurs if manga.lastUpdate has never been set yet.

(cherry picked from commit 22589a9c3056312dcbd0dfca08b53987cbc4a73d)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/chapter/interactor/SyncChaptersWithSource.kt
2024-01-09 18:50:42 -05:00
Jobobby04
25f94e4500 Fix merged manga chapters and merged manga filtered scanlators 2023-12-27 16:30:56 -05:00
arkon
d82b2919f8 Move backup models back to main app module
I didn't realize the package name change would break compatibility with forks
that still have the old package names...

(cherry picked from commit 4b208fc7ce95fb3b3746446da54351bcead0533c)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/create/BackupCreator.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/create/creators/MangaBackupCreator.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupFlatMetadata.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupMergedMangaReference.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupSavedSearch.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/models/metadata/BackupSearchMetadata.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/models/metadata/BackupSearchTag.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/models/metadata/BackupSearchTitle.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/restore/BackupRestorer.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/restore/restorers/MangaRestorer.kt
2023-12-27 13:59:15 -05:00
arkon
0dc3b37e70 Minor tracking cleanups
(cherry picked from commit 6887d98f15b4b9a84230217800fba2d4ae5b186a)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/track/interactor/TrackChapter.kt
2023-12-25 19:38:14 -05:00
arkon
a96cff950a Move backup models to domain module
(cherry picked from commit 5908bd19305b3461165fcfe2da5d2217115562b9)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/create/BackupCreator.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/create/creators/MangaBackupCreator.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/restore/BackupRestorer.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/restore/restorers/MangaRestorer.kt
#	app/src/main/java/eu/kanade/tachiyomi/di/AppModule.kt
#	domain/src/main/java/tachiyomi/domain/backup/model/Backup.kt
#	domain/src/main/java/tachiyomi/domain/backup/model/BackupFlatMetadata.kt
#	domain/src/main/java/tachiyomi/domain/backup/model/BackupManga.kt
#	domain/src/main/java/tachiyomi/domain/backup/model/BackupMergedMangaReference.kt
#	domain/src/main/java/tachiyomi/domain/backup/model/BackupSavedSearch.kt
#	domain/src/main/java/tachiyomi/domain/backup/model/metadata/BackupSearchMetadata.kt
#	domain/src/main/java/tachiyomi/domain/backup/model/metadata/BackupSearchTag.kt
#	domain/src/main/java/tachiyomi/domain/backup/model/metadata/BackupSearchTitle.kt
2023-12-25 19:33:22 -05:00
Jobobby04
c36d2794bb Minor cleanup 2023-12-24 14:39:39 -05:00
arkon
311ffd6c7c Use smaller window to calculate fetch interval if there's less total chapters
This is sort of a workaround for sources that tend to only give you the first few and
most recent few chapters, which would have been 28 day intervals before due to
the big gap in the middle.

(cherry picked from commit b9fd416fc665fdb07c11ebeb13e3dbf918dfe479)
2023-12-24 14:05:56 -05:00
arkon
98900bc960 Clean up history restoring
(cherry picked from commit 5fec881387d1d4b5dda19b4a58e103bf60ef4a59)
2023-12-24 13:36:55 -05:00
arkon
b0d7a611f7 Fix download indexing with changed storage locations
Fixes #10218

(cherry picked from commit 36f400d54281dd697f1492befc8241eaf31e31ab)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsDataScreen.kt
2023-12-24 13:29:46 -05:00
arkon
9eb99fb10f Clean up manga restoring logic
Some behavior changes:
- It prioritizes new entries, then anything more recently updated
- It copies the more recently updated entry's metadata (description, thumbnail, etc.)

(cherry picked from commit 58daedc89ee18d04e7af5bab12629680dba4096c)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupRestorer.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/model/SMangaExtensions.kt
2023-12-24 13:25:45 -05:00
arkon
314eb0a02e More onboarding screen additions 2: Electric Boogaloo
(cherry picked from commit f7c5b4243533374f6751055fd4bc037e022db8a8)

# Conflicts:
#	app/build.gradle.kts
2023-12-24 12:49:54 -05:00
arkon
364e4fe41b Migrate to some newer date/time APIs
(cherry picked from commit ab9a26f6bd2855d13ff663cf52dfe4ecb01fda1d)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.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
#	domain/src/main/java/tachiyomi/domain/updates/interactor/GetUpdates.kt
2023-12-24 12:47:39 -05:00
Jobobby04
7e6d1196ac Use StorageManager for Exh logs 2023-12-23 23:41:24 -05:00
arkon
ab57dd7def Actually use configured storage location for local source
Fixes #10178

(cherry picked from commit 27c4db752ce599a99876021c1019cfb549153a30)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsDataScreen.kt
2023-12-23 23:23:40 -05:00
arkon
927c94041e Use UniFile for local source file handling
(cherry picked from commit ca5498434409d4085c404f4ff5ed5e608f430a3b)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/RarPageLoader.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/ZipPageLoader.kt
#	core/src/main/java/tachiyomi/core/util/system/ImageUtil.kt
#	source-local/src/androidMain/kotlin/tachiyomi/source/local/LocalSource.kt
#	source-local/src/androidMain/kotlin/tachiyomi/source/local/image/LocalCoverManager.kt
#	source-local/src/commonMain/kotlin/tachiyomi/source/local/image/LocalCoverManager.kt
2023-12-23 23:22:07 -05:00
arkon
b23e269ac6 Move automatic backups from /backup/automatic to /autobackup
Removes the need to try to create child folders, which simplifies things.

(cherry picked from commit f365b53a0fbfb6f4147c688416e101aee9bae7fc)
2023-12-23 22:52:05 -05:00
arkon
27c7154cdb Exclude some more app state preferences from backups
(cherry picked from commit bcc42dd259cd528641ae4963b9b6ef290332bb27)

# Conflicts:
#	app/build.gradle.kts
2023-12-23 22:48:49 -05:00
arkon
59c5484a15 Use unified storage location for automatic backups
(cherry picked from commit 1fbf8ca0790bcf2177e6f8850b51b9fb43c66d6e)
2023-12-23 22:44:53 -05:00
arkon
a37da0d1b7 Add unified storage location setting
Currently only using it as a replacement for the downloads location.

(cherry picked from commit 695813ef7d922bc3d9ad5bccef8a466075caa57b)
2023-12-23 22:44:44 -05:00
arkon
5f84cfdd7c Remove max automatic backups setting
We just always create up to 4 now to simplify it, given the addition of syncing
is going to make this section pretty busy.

(cherry picked from commit e3b70ca08d1c5a09a448891ff66102fd696d7098)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupCreator.kt
2023-12-23 22:44:08 -05:00
Jobobby04
16d433973c Finish migration to moko resources 2023-12-23 22:40:54 -05:00
arkon
5d565f436f Minor cleanup
(cherry picked from commit 4a6571d310ecf2bf77e86a303f1788aaaab3df25)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/di/AppModule.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/SourceExtensions.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/model/SMangaExtensions.kt
2023-12-23 18:36: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
d9a6a7be50 Restrict line length with ktlint
(cherry picked from commit 1d144e67678a99ec7198e5efcb1410b5da4bc42e)

# Conflicts:
#	.editorconfig
#	app/src/main/java/eu/kanade/domain/chapter/model/ChapterFilter.kt
#	app/src/main/java/eu/kanade/presentation/reader/appbars/ReaderAppBars.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/ChapterLoader.kt
#	source-local/src/androidMain/kotlin/tachiyomi/source/local/LocalSource.kt
2023-11-05 17:28:46 -05:00
arkon
bd165456ae Show EOL message if update check no-ops due to unsupported Android version
(cherry picked from commit 3a15c6b8438d1a740af0d6ffdec72347eec8cb83)
2023-11-05 16:54:23 -05:00
Ota
8496856941 New alphabetical chapter sort (#10073)
* added alphabetical chapter sorting

* Deleted sort_by_alphabet and re-utilized action_sort_alpha

* Accidentally deleted wrong string. Now solved

* Accidentally deleted wrong string. Now solved

Deleted sort_by_source instead of sort_by_alphabet in strings.xml.
Now reverted.

* Alphabetical sorting now uses Collator

* Clean up repeated Collator instances

---------

Co-authored-by: arkon <eugcheung94@gmail.com>
(cherry picked from commit f30ab56fd0a2a748f84dd698874cb16d7a61bd62)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
2023-11-05 16:52:23 -05:00
Caleb Morris
e14cc134a0 Added library sort by mean Tracker score (#10005)
(cherry picked from commit 5d91b77c9340604436c63073c83ad8b37794ddf0)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/LibrarySettingsDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
#	domain/src/main/java/tachiyomi/domain/library/model/LibrarySortMode.kt
#	domain/src/main/java/tachiyomi/domain/track/interactor/GetTracksPerManga.kt
2023-11-05 16:51:09 -05:00
arkon
20e9ea7725 Don't include "app state" preferences in backups
(cherry picked from commit ce7bf396ebc0b85d0e857c55b27cb5eab2ad9d5b)

# Conflicts:
#	app/build.gradle.kts
2023-10-29 15:29:03 -04:00
arkon
23d683133b Record time when last automatic backup was created
Closes #3474

(cherry picked from commit 1aa5222c99f50543c47d5f3bd4bb892e16e31efb)
2023-10-29 13:52:59 -04: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
d3ad5d6890 Refresh tracks before updating progress
Closes #1652

Also removes the ability to trigger refreshes for the entire library or
as part of a library update as it should no longer be needed. Opening
the tracking sheet already refreshes the data too, so stale data is
irrelevant there.

Also closes #4775 since it would no longer be relevant.

(cherry picked from commit 489d22720a4343f198c81fe10f69d5b212bfc41a)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt
2023-10-29 11:08:08 -04:00
Pauline
9f325ea106 Add button to reorder categories alphabetically (#9369)
Closes #6459

Co-authored-by: arkon <arkon@users.noreply.github.com>
(cherry picked from commit 77ebc362f6d6b765ed2de6d1be18a969df4ca1f3)
2023-10-27 19:41:13 -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
f4e92e4a56 Add more replacement suspend functions for source APIs
These are basically 1-to-1 replacements for the existing RxJava APIs.
This will make the initial migration off of RxJava simpler. We'll
revisit the actual call flows in followup versions of the API.

(cherry picked from commit 26c5d761da4ba577481f41e63f03952b8a6c323f)

# Conflicts:
#	data/src/main/java/tachiyomi/data/source/SourcePagingSource.kt
#	source-api/src/commonMain/kotlin/eu/kanade/tachiyomi/source/online/HttpSource.kt
#	source-api/src/commonMain/kotlin/eu/kanade/tachiyomi/source/online/HttpSourceFetcher.kt
2023-10-01 15:44:50 -04:00
arkon
d8158af43a Switch to different ktlint plugin
Should be better at incremental builds.
To format, run `./gradlew ktlintFormat`.

(cherry picked from commit d29b7c4e5735dc137d578d3bcb3da1f0a02573e8)

# Conflicts:
#	buildSrc/src/main/kotlin/tachiyomi.lint.gradle.kts
#	data/src/main/java/tachiyomi/data/manga/MangaMapper.kt
#	domain/src/main/java/tachiyomi/domain/library/model/LibrarySortMode.kt
#	domain/src/main/java/tachiyomi/domain/library/service/LibraryPreferences.kt
#	domain/src/main/java/tachiyomi/domain/release/interactor/GetApplicationRelease.kt
#	presentation-core/src/main/java/tachiyomi/presentation/core/components/CollapsibleBox.kt
2023-09-04 12:15:09 -04:00
arkon
511979045f Limit amount of updates loaded for widget
Probably fixes #9868

(cherry picked from commit 87530f506e16db3d5c9ed89740c324ebd464117f)

# Conflicts:
#	domain/src/main/java/tachiyomi/domain/updates/interactor/GetUpdates.kt
2023-09-04 11:57:28 -04:00
arkon
baa8658183 Remove unused rxandroid dependency
(cherry picked from commit 13dc54df707623c914cd7cda2f2f781515f92eb3)
2023-09-03 23:32:59 -04:00
arkon
105a971a4c Don't run automatic backup or library update jobs if battery is low
(cherry picked from commit 74f74eef56ce83b52cd7969f705e370c7977af87)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt
2023-09-03 23:30:10 -04:00
arkon
ea6e0097c1 Clean up SetFetchIntervalTest
(cherry picked from commit 0a3ce8ebe45d7615311f2f99b8e59ea8490411d4)
2023-08-13 12:20:59 -04:00
arkon
c67580ed83 Dismiss extension update notification if all updates installed
(cherry picked from commit 10b0ef9b6dbe94b80e9cfcaf244883a99b42737f)
2023-08-12 16:46:20 -04:00
arkon
50f59befb4 More refactoring of expected next update logic
(cherry picked from commit 81cd765543bbb5901e11a12921adaea99c51810c)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsLibraryScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
2023-08-12 16:46:05 -04:00
arkon
1213264951 Fix unit tests
(cherry picked from commit 59f7d2273f7be0a03c0a685f4db13b3ab98119c3)
2023-08-12 15:48:51 -04:00
arkon
873742f6f4 Remove need for SQLDelight primitive adapters
(cherry picked from commit cd91ea9b7723eec378bbbefd916d3da6407d685e)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/tachiyomi/AppModule.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupManager.kt
#	data/src/main/java/tachiyomi/data/manga/MangaRepositoryImpl.kt
#	domain/src/main/java/tachiyomi/domain/history/model/HistoryWithRelations.kt
2023-08-12 15:48:39 -04:00
arkon
9760cb101d Avoid showing duplicate entry dialog for same entry
Fixes #9772

(cherry picked from commit fd30c0adcdfc0efc0aae9e5401843439f2622070)
2023-08-12 14:56:15 -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
ae8b478f51 Minor cleanup
(cherry picked from commit abae9bf37dea6bfb351c8b93fe00998c053dba34)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/SourcesScreen.kt
#	app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/manga/MigrateMangaScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateSearchScreenDialogScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/sources/MigrateSourceTab.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesFilterScreenModel.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
#	app/src/main/java/eu/kanade/tachiyomi/ui/updates/UpdatesScreenModel.kt
#	domain/src/main/java/tachiyomi/domain/category/interactor/CreateCategoryWithName.kt
2023-08-12 14:12:07 -04:00
arkon
db2cf166b7 Bump dependencies
(cherry picked from commit ac306547a0ccd28f45882cba8e3b0138f6d6aedc)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt
#	domain/src/main/java/tachiyomi/domain/category/interactor/CreateCategoryWithName.kt
#	gradle/libs.versions.toml
2023-08-12 13:19:48 -04:00
arkon
1da31e622f Set start date when tracker is bound if any chapters are already read
Closes #6734

(cherry picked from commit 818471b7e137a15dce48352f686db24b117414ea)
2023-08-12 12:20:28 -04:00
arkon
662609cd20 Move SettingsItems composables to presentation-core
(cherry picked from commit 87bdee59908c73f340c892e43b522727e07b33d2)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/LibrarySettingsDialog.kt
#	app/src/main/java/eu/kanade/presentation/manga/ChapterSettingsDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceFilterDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
#	domain/src/main/java/tachiyomi/domain/library/service/LibraryPreferences.kt
#	domain/src/main/java/tachiyomi/domain/manga/model/Manga.kt
#	presentation-core/src/main/java/tachiyomi/presentation/core/components/SettingsItems.kt
2023-07-15 18:24:00 -04:00
arkon
a79a7541dc Set proper defaults for new table columns
(cherry picked from commit 9a817e49bed34e11e6b24b48d738d14583440fae)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupManga.kt
#	data/src/main/sqldelight/tachiyomi/migrations/25.sqm
#	domain/src/main/java/tachiyomi/domain/manga/model/Manga.kt
2023-07-15 17:56:57 -04:00
KaiserBh
1cb34adb01 Database changes to support library syncing (#9683)
* feat: added migrations.

* feat: create triggers, account for new installs.

* feat: update mappers to include the new field.

* feat: update backupManga and backupChapter.

Include the new fields to be backed up as well.

* feat: add sql query to fetch all manga with `last_favorited_at` field.

* feat: version bump.

* chore: revert and refactor.

* chore: forgot to lower case the field name.

* chore: added getAllManga query as well renamed `fetchMangaWithLastFavorite` to `getMangasWithFavoriteTimestamp`

* chore: oops that's not meant to be there.

* feat: back fill and set last_modified_at to not null.

* chore: remove redundant triggers.

* fix: build error, accidentally removed insert.

* fix: build error, accidentally removed insert.

* refactor: review pointer, make fields not null.

(cherry picked from commit a577f5534f31086174b1cc851d8b489d69f557e8)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupManga.kt
#	data/src/main/java/tachiyomi/data/manga/MangaMapper.kt
#	data/src/main/sqldelight/tachiyomi/data/mangas.sq
#	data/src/main/sqldelight/tachiyomi/migrations/25.sqm
#	domain/src/main/java/tachiyomi/domain/manga/model/Manga.kt
2023-07-15 17:55:20 -04:00
arkon
8d300e3efd Tweak chapter swipe directions and icon color
(cherry picked from commit 8cc42bce5a37c256edbddd4a618787dfec9c2118)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt
2023-07-15 17:21:31 -04:00
Jobobby04
eade3c372c Fix ExceptionInInitializerException 2023-07-15 17:09:04 -04:00
AntsyLich
3abec5dd6f Increase update screen limit to 500 (#9599)
(cherry picked from commit fc4fd487f9a6489cbc4691f22da9b240b8b6358c)

# Conflicts:
#	domain/src/main/java/tachiyomi/domain/updates/interactor/GetUpdates.kt
2023-06-24 14:13:08 -04:00
arkon
ecdb4ed01c Fix LibraryFlagsTest
Forgot to update these after LibraryDisplayMode was made to not be a flag.

(cherry picked from commit 0d9f8e8743b1a03f30a8a3050b9a896f337ba25f)
2023-06-24 14:02:11 -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
arkon
a90eb778d8 Limit updates to 250 most recent chapters
Still limits to things within the past 3 months though.

Closes #9554

(cherry picked from commit 4c65c2311e09bf5dcb77327c415a6fddd12123c5)

# Conflicts:
#	data/src/main/java/tachiyomi/data/updates/UpdatesRepositoryImpl.kt
#	domain/src/main/java/tachiyomi/domain/updates/interactor/GetUpdates.kt
2023-06-24 11:16:54 -04:00
arkon
98697566e3 Minor cleanup
(cherry picked from commit f48f212001900c750585676107bae4fdb7cdbaeb)
2023-06-24 10:45:15 -04:00
Quang Kieu
ae18af8413 Add setting and calculate for update interval (#9399)
* Add Grace Period value and settings

* Add functions to calculate nextUpdate

* update per review

* Move more into SetMangaUpdateInterval, keep wrapper

(cherry picked from commit c90f3449108a8362fea1ee9070979b5a14be9be5)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsLibraryScreen.kt
#	domain/src/main/java/tachiyomi/domain/library/service/LibraryPreferences.kt
2023-06-24 10:45:01 -04:00
FlaminSarge
11030ba1ec Fix StubSource param order to match previous SourceData order (#9485)
SourceData was replaced with direct StubSource usage but the param order was changed without changing the usage; fixing the param order as such.

(cherry picked from commit 4395202703cb2dbe861a189395c99b210d627ac7)
2023-05-13 13:15:15 -04:00
Jobobby04
282a0c4e16 Add favorite entry alternative handling, allowing parennt versions to take priority for favorites sync 2023-05-12 22:50:23 -04:00
Jobobby04
e9a3463455 Allow user to read all read manga stats 2023-05-10 17:30:52 -04:00
Jobobby04
3a5e23550f Always retry when its a NPE 2023-05-06 18:58:06 -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
Quang Kieu
ccdaeada29 Add interval data layer (#9398)
* Update Manga classes for fetch interval data

* Update per review

bump version

---------

Co-authored-by: quangkieu <qkieu>
(cherry picked from commit 41c89eb61dc73f48a0f2bfcef1f509a60d2b56dd)

# Conflicts:
#	app/build.gradle.kts
#	data/src/main/java/tachiyomi/data/manga/MangaMapper.kt
#	data/src/main/sqldelight/tachiyomi/data/mangas.sq
#	data/src/main/sqldelight/tachiyomi/migrations/24.sqm
2023-05-06 12:43:26 -04:00
d-najd
bb2ffc2dbe Add swipe actions for chapters (#9304)
* added chapter swipe

* Rework corner animtion

* Update i18n/src/main/res/values/strings.xml

Co-authored-by: arkon <arkon@users.noreply.github.com>

* Replace LTR/RTL with Start/End layout

* Added label to the animation so the warning will go away

* Getting rid of the swipe threshold setting

* adding disabled option, renaming stuff, other stuff?

* Getting rid of the snackbar

* Getting rid of unecessary strings

* changing enum names as requested

* Renaming Raio to Ratio (I need a better keyboard as well -__-)

* Replacing error with download icon and action

* backup

* minor cleanup

* fixing an nasty edge case

* fixing mistakes in the previous conflict

* space

* fixing bug

fixed bug where the user could dismiss already dismissed item leading to item getting stuck

* fixing lint errors

* fixing lints (hopefully)

* Added "swipe disabled" to the list of actions

* Replacing string value and moving value as requested

* replacing rest of the strings with generic ones

---------

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

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt
#	app/src/main/java/eu/kanade/presentation/manga/components/MangaChapterListItem.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsLibraryScreen.kt
#	domain/src/main/java/tachiyomi/domain/library/service/LibraryPreferences.kt
2023-05-06 12:33:27 -04:00
arkon
1e41f752fa Consolidate missing chapters functions to domain module and add tests
(cherry picked from commit 26f39955958bb27758de6572d2276deefb363971)
2023-05-06 11:15:14 -04:00
Jobobby04
b26749d61c Improve history migration 2023-04-16 14:12:48 -04:00
arkon
b7cddae0af Use Kotest matchers in other test classes
(cherry picked from commit d6b9711e454f7f1725feb6e764c56327d1da8e06)
2023-04-15 23:06:52 -04:00
arkon
4d1244daef Add tests for MissingChapters function
(cherry picked from commit 8ab7e632936a008d31a87acd335fbd5fb21d818b)

# Conflicts:
#	domain/build.gradle.kts
2023-04-15 23:06:45 -04:00
arkon
77dc09ff21 Adjust missing chapters UI
(cherry picked from commit 1ff78173f71f838e57052557eb9e1c6fe3a402f1)
2023-04-09 18:15:24 -04:00
Felix Kaiser
be17682e3c Added missing chapters count in MangaInfoHeader (#9184)
* Added missing chapters count in MangaInfoHeader

* Added "Might be missing chapters"

* Added missing chapters to MangaAndSourceTitlesLarge function

* Removed comments

* Reworked getMissingChapters to countMissingChapters, moved -1 check

* Attempting detecting sub-chapters

* Moved MissingChapters to ChapterHeader; Adapted design to fit in

* Fixed block comment in one-line-element

* Fixed critical missing-chapter counting bug

* Undid unintentional & unnecessary changes

* Moved & refactored countMissingChapters

* Fixed import order; Mapping chapter object to chapterNumber

* Optimized "No (valid) chapters" detection

---------

Co-authored-by: arkon <arkon@users.noreply.github.com>
(cherry picked from commit f94d902bb6bca5eb37683f0be8e4c92f859fe2cf)
2023-04-09 18:11:10 -04:00
arkon
b483bd0729 Revert "Always attempt to split tall images when downloading"
This partially reverts commit 2769525b2c12547b8dc29b1209ea3bc5d22f1e3f.

Keeps the change to silently ignore spliting errors since it falls back to
the original images in those cases.

(cherry picked from commit ac0596a53d74561ad5174db1938c16049a65dd18)
2023-03-20 19:00:27 -04:00
arkon
2a708e8b68 Always attempt to split tall images when downloading
(cherry picked from commit 2769525b2c12547b8dc29b1209ea3bc5d22f1e3f)
2023-03-20 19:00:20 -04:00
arkon
d91d53557a Set default automatic library updates to off
(cherry picked from commit abd23b68266a296c9698ba89f0cb665bbe9a799d)
2023-03-20 18:31:42 -04:00
Jobobby04
a92392231c Move some things to the domain module 2023-03-16 20:18:41 -04:00
Jobobby04
42a93fca5c Fix saved search sometimes using a blank query 2023-03-16 19:17:23 -04:00
Jobobby04
5abab75d26 Retry a few times if library or updates crash 2023-03-16 18:23:20 -04:00
Jobobby04
259a487dc0 Fix library sort not using tag sort 2023-03-16 18:00: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
e4ad723606 Refactor SourceManager/StubSource to domain module
(cherry picked from commit ad4912803bda73e0f1d5e2e0246561a508e72fd7)

# Conflicts:
#	app/src/main/java/eu/kanade/data/source/SourceRepositoryImpl.kt
#	app/src/main/java/eu/kanade/presentation/browse/BrowseSourceScreen.kt
#	app/src/main/java/eu/kanade/presentation/manga/MangaScreen.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/source/AndroidSourceManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/details/SourcePreferencesScreen.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/BrowseSourceScreen.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/loader/ChapterLoader.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/updates/UpdatesScreenModel.kt
2023-03-14 23:35:34 -04:00
arkon
0c037cb89d Move some preferences into domain module
(cherry picked from commit f96f0c58890c0cdc7c2f8142c42db2dbc8fdcbb2)

# 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/backup/BackupManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt
2023-03-14 23:14:51 -04:00
Two-Ai
b6afd8df46 Simplify filter logic (#9141)
* Remove unnecessary else branch

* Add TriStateFilter applyFilter

* Simplify filterFnTracking filter logic

(cherry picked from commit ed6809fa2835831b8d5739d195eff1dbf74df801)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/chapter/model/ChapterFilter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
2023-03-14 21:26:12 -04:00
arkon
563063a6fd Fix per-category sort/display affecting the wrong category
(cherry picked from commit bd47eafeecc837f833a0c370372dd6d5edb62130)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibrarySettingsScreenModel.kt
2023-03-05 19:53:02 -05:00
arkon
5077000f52 Fix occasional crash when opening library settings sheet
See https://stackoverflow.com/questions/47648689/sealed-classs-objects-mysteriously-becoming-null-when-referenced-by-other-compa

(cherry picked from commit c0e2eb211daefe47803d93161f896c6d5011a0ff)
2023-03-05 18:59:10 -05:00
arkon
6563490513 Remove dependency injection from core module and data module from presentation-widget module
Includes side effects:
- No longer need to restart app for user agent string change to take effect
- parseAs extension function requires a Json instance in the calling context, which doesn't necessarily need to be the default one provided by Injekt

(cherry picked from commit 93523ef50b80ef294866bfb0da54e236cdf2d9f6)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/updater/AppUpdateChecker.kt
#	app/src/main/java/eu/kanade/tachiyomi/extension/api/ExtensionGithubApi.kt
#	core/src/main/java/eu/kanade/tachiyomi/network/NetworkHelper.kt
#	core/src/main/java/eu/kanade/tachiyomi/network/OkHttpExtensions.kt
#	domain/build.gradle.kts
#	source-api/build.gradle.kts
2023-03-05 18:33:57 -05:00
arkon
935b6576d0 Minor settings sheet cleanup
(cherry picked from commit 07fdb74fbc9ae2afa67e427bb4a94860c7a2d8e6)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/library/service/LibraryPreferences.kt
#	app/src/main/java/eu/kanade/presentation/manga/ChapterSettingsDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibrarySettingsSheet.kt
2023-03-05 16:53:29 -05:00
arkon
efca899165 Move chapter utils to domain module
(cherry picked from commit ee818bc7c543e8f4b799f18b989817906ac195ab)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/chapter/interactor/SyncChaptersWithSource.kt
#	app/src/main/java/eu/kanade/domain/chapter/model/ChapterFilter.kt
#	app/src/main/java/eu/kanade/domain/history/interactor/GetNextChapters.kt
2023-03-05 15:12:20 -05: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
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
arkon
8d4e51d4fc Move more models to domain module
(cherry picked from commit d45fc1e245e025c8c5d6c380a73fd99d67bc8622)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/source/model/Source.kt
2023-02-09 15:41:25 -05:00
Jobobby04
dd62337ad6 Move more repositories to domain module 2023-02-09 15:10:37 -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
arkon
ce67eb9de3 Move more models to domain module
(cherry picked from commit 345e9c2a9a61f1f3b814db52eddbb42681499854)

# Conflicts:
#	app/src/main/java/eu/kanade/data/manga/MangaMapper.kt
#	app/src/main/java/eu/kanade/domain/chapter/interactor/SyncChaptersWithSource.kt
#	app/src/main/java/eu/kanade/domain/chapter/model/ChapterFilter.kt
#	app/src/main/java/eu/kanade/domain/history/interactor/GetNextChapters.kt
#	app/src/main/java/eu/kanade/domain/library/service/LibraryPreferences.kt
#	app/src/main/java/eu/kanade/domain/manga/model/Manga.kt
#	app/src/main/java/eu/kanade/presentation/browse/MigrateSearchScreen.kt
#	app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceDialogs.kt
#	app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupManga.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/models/Manga.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/migration/search/SourceSearchScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/history/HistoryTab.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryTab.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
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/ChapterLoader.kt
#	app/src/main/java/eu/kanade/tachiyomi/util/chapter/ChapterGetNextUnread.kt
2023-02-09 13:44:38 -05:00
arkon
eb3e928e67 Move more models to domain module
(cherry picked from commit b53e24e0dbd4affd6066a03ce543c3ecc88bdb99)

# Conflicts:
#	app/src/main/java/eu/kanade/data/history/HistoryRepositoryImpl.kt
#	app/src/main/java/eu/kanade/data/updates/UpdatesMapper.kt
#	app/src/main/java/eu/kanade/domain/category/interactor/SetDisplayModeForCategory.kt
#	app/src/main/java/eu/kanade/domain/category/interactor/SetSortModeForCategory.kt
#	app/src/main/java/eu/kanade/domain/history/repository/HistoryRepository.kt
#	app/src/main/java/eu/kanade/domain/library/service/LibraryPreferences.kt
#	app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceToolbar.kt
#	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/migration/search/MigrateDialog.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/reader/ReaderViewModel.kt
#	domain/src/main/java/tachiyomi/domain/history/model/HistoryWithRelations.kt
#	domain/src/main/java/tachiyomi/domain/updates/model/UpdatesWithRelations.kt
2023-02-09 13:00:07 -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