1552 Commits

Author SHA1 Message Date
arkon
11ab8925b3 Don't remove queued downloads when deleting manga after chapter deletion
(cherry picked from commit 5fbecfd7b747b3961699fe63eb9264eac495794b)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadManager.kt
2022-11-28 22:28:07 -05:00
arkon
9b46395fd8 Minor cleanup
(cherry picked from commit 3480b45098dba20377975d5f0368f47cc7df75ab)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
2022-11-28 22:27:31 -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
aaddb4bf00 Remove usage of PublishRelay in DownloadQueue
(cherry picked from commit 37118088d44d6597e7a3c01687d8570fe4bb3c4f)
2022-11-26 13:51:01 -05:00
AntsyLich
4727e61f90 Disable generating ComicInfo.xml on download (#8619)
* Disable generating ComicInfo.xml on download

* Remove unused import

(cherry picked from commit 758d223776fca7f1c938ace0521c968a10f8603f)
2022-11-26 13:45:31 -05:00
arkon
9fb68b28f2 Fix Kavita interceptor crashing app + minor cleanup
(cherry picked from commit a54d9912d0eb2c0677a8ca1b759bad65c6141f51)
2022-11-26 13:45:14 -05:00
arkon
0b7861e794 Explicitly add READ_APP_SPECIFIC_LOCALES permission
Some devices are throwing a SecurityException (calling getApplicationLocales) for some reason.

(cherry picked from commit 7e74949d38a8ea43120e672c61556419157a4af1)
2022-11-26 13:45:07 -05:00
AntsyLich
0b9b6612fd Cleanup [Downloader.ensureSuccessfulDownload] (#8602)
(cherry picked from commit 0347d3970a31d072fe58186b7dd35c1aed1c9270)
2022-11-24 16:42:08 -05:00
Jobobby04
4d7b6f8167 Cherry pick fixes 2022-11-24 16:41:50 -05:00
arkon
aefdc2adbe Delete empty source folder when deleting all downloads for a manga
It previously only attempted this after deleting a list of chapters, so it wasn't applicable
when deleting from Library or after unfavoriting an entry.

Closes #8594

(cherry picked from commit 5c37347cecc99582752ee500171e8480008c836e)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadManager.kt
2022-11-24 16:24:58 -05:00
arkon
f78b728f0a Add reindex downloads description
Closes #8546
Also disable sound for the notification and cancel running indexing job if invalidating.

(cherry picked from commit 2d86f69caa79b17b000ec1139a4283f8e9d1db35)
2022-11-24 15:47:54 -05:00
AntsyLich
e8ec4094f7 Fix related to cancelling queued chapters (#8528)
Tachi removes the downloaded chapter (if it exists) when you just cancelled a download from queue.

PR fixes that

Also removes redundant return

(cherry picked from commit ba2a528886c6ae29d0f46070df736497921346e3)
2022-11-24 15:21:55 -05:00
Jobobby04
e0ad9f78ac Improve SY specific change declarations 2022-11-24 15:16:58 -05:00
arkon
2bbb374e40 Set source properly when creating manga entries
Fixes #8333

(cherry picked from commit cac80daa714a8dc3906954b514cd6e3baa140aa1)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourcePresenter.kt
2022-11-17 18:16:16 -05:00
Jobobby04
c8de918e46 Cherry pick fixes 2022-11-16 14:17:26 -05:00
arkon
a1accd3ed3 Don't rely on cache when deleting empty manga folders
In case the cache hasn't actually been indexed yet. Maybe fixes #8438.

(cherry picked from commit f5873d70c640b9deb53a9a62281403b9a657e644)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadPendingDeleter.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadProvider.kt
2022-11-16 13:56:21 -05:00
Jobobby04
9c78e37802 Cherry pick fixes 2022-11-16 13:52:17 -05:00
ThePromidius
dc48cdc4bb Add Kavita tracker (#7488)
* Added kavita tracker

* Changed api endpoint since tachiyomi has it's own. Moved some processing to backend

* Bugfix. Parsing to int instead of float

* Ignore DOH, update migration and cleanup

* Fix Unexpected JSON token
	modified:   app/src/main/java/eu/kanade/tachiyomi/data/track/TrackManager.kt
	modified:   app/src/main/java/eu/kanade/tachiyomi/data/track/kavita/KavitaApi.kt
	modified:   app/src/main/java/eu/kanade/tachiyomi/data/track/kavita/KavitaModels.kt

* Apply code format suggestions from code review

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

* Apply simplified code suggestions from code review

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

* Removed unused dtos

* Use setter instead of function to get apiurl

* Added Interceptor

* Handle not configured/not accesible sources

* Unused import

* Added kavita to new tracking settings screen

* Delete SettingsTrackingController.kt to solve conflict

* Review comments
* Removed break lines from log messages
* Fixed jwt typo

* Merged enhanced services compatibility warning message to be more generic.
* Updated Komga String res to use new formatted one
* Added Kavita String res to use formatted one

* Apply suggestions from code review - hardcoded strings to track name

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

Co-authored-by: Andreas <andreas.everos@gmail.com>
(cherry picked from commit 92b039fac7b2a74aa15380a171b2f2b73dc47371)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/track/TrackManager.kt
2022-11-16 13:32:00 -05:00
arkon
584bf7dc13 Adjust download cache to ignore irrelevant files
Fixes #8530

(cherry picked from commit 9da232dcd88421a86312b2c5237107f73b20a4a1)

# Conflicts:
#	i18n/src/main/res/values/strings.xml
2022-11-16 13:25:56 -05:00
AntsyLich
cf7c498364 Fix download not working on sd card (#8527)
Also create comicinfo file inside chapter folder instead of manga folder since it also contains some chapter specific data

(cherry picked from commit 51c964de3aa370545899c7c3b38b3287cea13d1c)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt
2022-11-16 13:25:03 -05:00
arkon
cdb1a8f851 Resolve proper chapter URL for ComicInfo "Web" field
Requires extensions to be updated to lib 1.4 to have proper URLs for some of them, which will
happen soon in the future.

(cherry picked from commit 262f8449b4369fde42cbd15d2a768e54461e84af)
2022-11-16 13:23:15 -05:00
Jobobby04
5afc33becb Round the corners of page previews 2022-11-13 15:43:56 -05:00
arkon
4560dedf1c Clean up ComicInfo stuff a bit
(cherry picked from commit 6ada3c90ff4729f703fb35338f72694e88f06aca)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/LocalSource.kt
2022-11-11 19:27:41 -05:00
Shamicen
1523ff2814 Create ComicInfo Metadata files on chapter download (#8033)
* generate ComicInfo files at the chapter root and inside CBZ archives on chapter download.

* Update app/src/main/java/eu/kanade/tachiyomi/source/LocalSource.kt

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

* Improvements suggested by @ghostbear

* now creates ComicInfo files in normal chapter folders as well
use manga directly instead of converting it to SManga
truncate old files before overwriting them

Co-authored-by: Andreas <6576096+ghostbear@users.noreply.github.com>

* remove empty line after resolving merge conflict

* fixes Serializer for class 'ComicInfo' is not found error

* some changes to comments and variable names

* Revert leftover changes to archiveChapter() function

* minor cleanup

* Changed Chapter to SChapter

Co-authored-by: Andreas <andreas.everos@gmail.com>
Co-authored-by: Andreas <6576096+ghostbear@users.noreply.github.com>
(cherry picked from commit 4e628fe6de7a691fbab7960c5f9b750e563eb8a1)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt
2022-11-11 19:26:33 -05:00
arkon
053b18c37d Remove "Download complete" notification
It wasn't really consistent with other notifications considering there's no
action to be taken in this state.

(cherry picked from commit a0f49b16c5b76d493857840c1012b9df7086f35c)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadManager.kt
2022-11-11 14:47:07 -05:00
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
arkon
564cc5144f Minor cleanup
(cherry picked from commit 811931ccc0f21b0fd88c56b8567358982c48c31e)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/track/anilist/OAuth.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/track/kitsu/OAuth.kt
2022-11-11 14:27:32 -05:00
AntsyLich
f534c8928c Add option to invalidate download cache (#8491)
* Add option to invalidate download cache

* Review changes + lint

(cherry picked from commit 08d5633d81633ab09f09f1ecedd331f12fa8a889)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt
2022-11-11 14:20:28 -05:00
Ivan Iskandar
7b1bc790b3 Full Compose MangaController (#8452)
* Full Compose MangaController

* unique key

* Use StateScreenModel

* dismiss

* rebase fix

* toShareIntent

(cherry picked from commit 18ccde082d5529766ad1297f9850752508805156)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/ChaptersSettingsSheet.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/track/TrackAdapter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/track/TrackHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/track/TrackSearchAdapter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/track/TrackSearchDialog.kt
#	app/src/main/res/layout/track_chapters_dialog.xml
#	app/src/main/res/layout/track_controller.xml
#	app/src/main/res/layout/track_item.xml
#	app/src/main/res/layout/track_score_dialog.xml
#	app/src/main/res/layout/track_search_dialog.xml
#	app/src/main/res/layout/track_search_item.xml
2022-11-11 13:55:01 -05:00
Jobobby04
f06c8ef2cb Fix page previews only showing previews when the manga first loaded 2022-11-10 22:49:23 -05:00
Alessandro Jean
461b4a77b4 Retry the MAL request if the token is expired (#8437)
Retry the MAL request if the token expired.

(cherry picked from commit 6d880c938a32cf0723d37fcd708bc69f42be8af9)
2022-11-10 22:16:49 -05:00
Jobobby04
792746dce7 Lint 2022-11-02 21:16:22 -04:00
AntsyLich
584ddbee6a
Enable split apk generation (#717) 2022-11-02 13:02:11 -04: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
arkon
f9b49aa7f6 Add warning about F-Droid build support in More screen
(cherry picked from commit 725fcbba0e45488c8553f2a5a88fbdfb2a63982c)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/ExtensionDetailsScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/updater/AppUpdateChecker.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/more/MoreController.kt
2022-11-01 12:24:45 -04:00
stevenyomi
b2c4fc0ec5 Clean up strings and icons (#8326)
* Clean up strings and icons

* fix incorrect usages of label_more

* restore strings and reduce usage of android.R

* removing icon desc of FABs anyway as app's not for visual impaired users

(cherry picked from commit 4b60138d41ea33e5e4c3defb0dc626b599216f3f)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/BrowseSourceScreen.kt
#	app/src/main/java/eu/kanade/presentation/browse/ExtensionsScreen.kt
#	app/src/main/java/eu/kanade/presentation/components/MangaBottomActionMenu.kt
#	app/src/main/java/eu/kanade/presentation/manga/components/MangaInfoHeader.kt
2022-10-29 18:57:56 -04:00
arkon
75e1dfee3f Show notification while download cache is renewing
Since users seem to be confused now that the library loads before download info is shown...

(cherry picked from commit fde7bfa3d17ce2e02df5625836eb739aeaab7863)
2022-10-29 18:46:08 -04:00
AntsyLich
98a56d581e Fix "Download split" not working while using SD card (#8305)
* Fix "Download split" not working while using SD card

* Update app/src/main/java/eu/kanade/tachiyomi/util/system/ImageUtil.kt

Co-authored-by: arkon <arkon@users.noreply.github.com>
(cherry picked from commit 6e4a30e59352517346eb0f622424390a52fb95c0)
2022-10-29 17:27:32 -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
71eefc3c9e Avoid some crashes
(cherry picked from commit ca065169002475cc92b7736d02340127a5e419bd)

# Conflicts:
#	app/src/main/java/eu/kanade/data/manga/MangaRepositoryImpl.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadCache.kt
2022-10-26 23:38:49 -04:00
AntsyLich
32a2827b0e Use Channel in Download cache (#8292)
* Use `Channel` in Download cache

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

* Use Unlimited capacity

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

Co-authored-by: Andreas <6576096+ghostbear@users.noreply.github.com>
Co-authored-by: stevenyomi <95685115+stevenyomi@users.noreply.github.com>
(cherry picked from commit 3b5b9a1ae5803466e9b18846aae6fcd16bf8a637)
2022-10-26 23:37:16 -04:00
arkon
6d46283aee Use kotlin.time extensions in some more places
(cherry picked from commit 5c868d784679b55e413366c5d4bdea75253bf8f4)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
2022-10-22 21:46:13 -04:00
arkon
3314b46630 Only enable ACRA crash logging in preview and stable release builds
(cherry picked from commit 6e04822f5e2f0985a98a86c814099b0cf85cb7f8)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsReaderScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/App.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReaderPreferences.kt
#	app/src/main/java/eu/kanade/tachiyomi/util/system/BuildConfig.kt
2022-10-22 21:43:54 -04:00
AntsyLich
d853aa0c1b Cleanup LibraryUpdateService (#8237)
(cherry picked from commit 4ff5c1148e1ea89b13e5aefbd6b34d66566fb103)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
2022-10-22 21:34:32 -04:00
arkon
1bef917db7 Handle async cache in updates and manga screens
- Also fix concurrent accesses to main cache map
- Also debounce sources and updates list updates to maybe avoid crashing due to dupe LazyColumn keys

(cherry picked from commit 152eb5b95196a32ed120f4a57996c1958294bf7f)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
2022-10-22 20:56:53 -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
893443222d Proper DI instantiation for some more download related classes
(cherry picked from commit b04807e53a355af210e280d42f705976a478c6e5)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/chapter/interactor/SyncChaptersWithSource.kt
#	app/src/main/java/eu/kanade/tachiyomi/AppModule.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/ChapterLoader.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/DownloadPageLoader.kt
2022-10-22 20:16:12 -04:00
arkon
5ff3c39d68 Defer library download counts if not needed
(cherry picked from commit 93827aba34e98c6f70397d0e767580f3aaf5136b)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadCache.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
2022-10-22 20:11:36 -04:00
arkon
d79784f292 Avoid crashing if invalid download and backup location is set
Fixes #8252

(cherry picked from commit a8ca7b690fe56f8588d3fff9dbfef95062e6442f)
2022-10-22 19:52:59 -04:00
Ivan Iskandar
b29fc922cb Fix crash when saving a page from certain chapters (#8242)
(cherry picked from commit 84bcd8d1d228e9687f4542e429407c74e73684bd)
2022-10-22 19:37:57 -04:00