7491 Commits

Author SHA1 Message Date
arkon
b8eca65a02 Save current chapter progress when navigating to adjacent chapters
Fixes #9295

(cherry picked from commit 776d36caf11cf29287e4cb86a6e64574a296f89c)
(cherry picked from commit 4f984cef5f28f98ba60efb6cb84b5eaecb2d77ca)
2023-04-16 12:32:11 -04:00
arkon
7a631de9e7 Fix Spanish (Latin America) being missing from in-app language selection
(cherry picked from commit 290efb0283145d81290972991047064c1d905c9c)
(cherry picked from commit e3a5860c1a00e856e61cbeab8c3dd4033beec276)
2023-04-16 12:32:03 -04:00
arkon
6ab803fc99 Bump subsampling-scale-image-view
(cherry picked from commit e5e18c2030f26e89aedd5536d21ab915ccdbb26a)
(cherry picked from commit 53ff9a5cc8dcd6953d601219164ff3b4b257406a)
2023-04-16 12:31:56 -04:00
arkon
639a2a9c38 Show proper string in manga detail screen for SourceNotInstalledException
(cherry picked from commit 14d1bcacc9cba0e14cdf90a7972bf85660465c0b)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
(cherry picked from commit 85af8ea5175de5aef7ad5ec297525c4d889a6fde)
2023-04-16 12:31:46 -04:00
arkon
9d1b4bf2ec Set default automatic library updates to off
(cherry picked from commit abd23b68266a296c9698ba89f0cb665bbe9a799d)
(cherry picked from commit d91d53557a60fb2b145f4bcb4dc59b5838c4d7f4)
2023-04-16 12:31:39 -04:00
arkon
9fa825b156 Use queued last chapter read number when performing delayed tracker update
Fixes #8876

(cherry picked from commit f7f2072621bbcaf4ddbe07f746a5cf78490c95c9)
(cherry picked from commit 9baa52db00f50620f0c5450c6aa32b0679747fab)
2023-04-16 12:31:28 -04:00
arkon
c76084a2c5 Bump default user agent string and minimum WebView version
(cherry picked from commit c6e5f8abd9e0e2096d3a8ad17a370107e20cc288)
(cherry picked from commit c481d5c57518d18877e635f6237ef534aaa4a23a)
2023-04-16 12:31:20 -04:00
arkon
a28b54f1a1 Avoid crashing in SourcePreferencesScreen if source can't be loaded
(cherry picked from commit 4efca047658761e54cc7574a6e33ed681de3f40a)
(cherry picked from commit 897d019f0bcccbce13e65b07efe24a2d3ac80548)
2023-04-16 12:31:07 -04:00
arkon
7f9848db99 Avoid crash in DeleteLibraryMangaDialog
No clue why it ever gets a -1 index though.

(cherry picked from commit b12c7cf9633a9fc3a728a0ef44b5d50d621a7595)
(cherry picked from commit e9083fc5711e65a8716d4f50e9f2fd8c35793f7d)
2023-04-16 12:30:59 -04:00
Two-Ai
ea0483e4aa Fix download queue page count display bug (#9126)
When restarting a download, the page count would display as 0 until
the first page download completion, after all the existing pages were
rechecked.

To fix, calculate downloadedImages from pages instead of relying on
the downloader to reset and increment the count.

(cherry picked from commit 779df32e98f2a020ca6a4f79c0748dd9f5b16873)
(cherry picked from commit acef44f55cd276ede9e5435ab9ed96062c526a79)
2023-04-16 12:30:46 -04:00
arkon
feec105ebd 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)
(cherry picked from commit 5077000f52534f3d65a91ad373837fe5c7859485)
2023-04-16 12:30:34 -04:00
arkon
699ccad088 Avoid crash when loading invalid extension package
(cherry picked from commit 3d7c136320da3b5842a51d7dbb9e82cf74144f3f)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/extension/util/ExtensionLoader.kt
(cherry picked from commit 85224c368d6a6886b7eb0794b4c40671973daba0)
2023-04-16 12:30:26 -04:00
arkon
c2ec098cb1 Avoid crashing if getChapterUrl is not implemented
Fixes #9105

(cherry picked from commit ceaf579cb0b4b0ecdf2e56f245a2fad2b6ed2e85)
(cherry picked from commit 366219d7f59054f6582900f284b4095844a78373)
2023-04-16 12:30:17 -04:00
Ivan Iskandar
3455971fe8 MainActivity: Avoid navigator-related crash when handling onNewIntent (#9104)
(cherry picked from commit d3dadf71e8d7d029fdb87b44217e001f95f21c1a)
(cherry picked from commit a163223d83e21f0dbcb74dc2887c4108f0f85449)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
2023-04-16 12:30:08 -04:00
arkon
1e3f0ad9d3 Avoid crashing if opening browse with unavailable source
(cherry picked from commit 0ef7650c1a0ae7c4c6e17e458695191ce78944cb)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/BrowseSourceScreen.kt
#	app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceToolbar.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
(cherry picked from commit ab19d5c62a74d353961b3f554f82a2b6864bdbf0)
2023-04-16 12:29:00 -04:00
arkon
130ce513fd Move reader preloading to IO scope
Maybe fixes #8440

(cherry picked from commit e052bdef96c133b92dfad214c2b05ab03d4c5866)
(cherry picked from commit ab8c8db6acc3070203c15f5938c948eeff0431c5)
2023-04-16 12:28:42 -04:00
arkon
c93a0e8f93 Avoid preload download check if chapter is already loaded or loading
Maybe fixes #8953, #9060

(cherry picked from commit d522d6d545bfbd4e4f8f60975bddcd5f6bcc69ac)
(cherry picked from commit b42c5b58ea6fe1ee8121143d0f53fd9adf1e7f3d)
2023-04-16 12:28:34 -04:00
Ivan Iskandar
ed73a1b818 MangaCoverDialog: Disable memory cache (#9066)
(cherry picked from commit 1671a56f42c4bb1de3482c2ff264593531e5d39d)
(cherry picked from commit 2023acf319a1c33e15d98cef9a9d7bd5a2c94db7)
2023-04-16 12:28:25 -04:00
arkon
9b32d12b3a Prioritize finding selected chapter when deduping reader chapters
Fixes #9054

(cherry picked from commit 23432e44050cd8638f070745edf77be75aeffe21)
(cherry picked from commit 255eda6d8eff79efca2e892efea89e40be58a79f)
2023-04-16 12:28:15 -04:00
Ivan Iskandar
5384fd2d0f Scaffold: Fix snackbar bottom inset (#9052)
(cherry picked from commit 34a586ce48d6c10ac9eadb697b955ba336044bc2)
(cherry picked from commit b9a7a7388c4b2bd57072ca1204b193a6f22b090a)
2023-04-16 12:28:06 -04:00
Ivan Iskandar
40c819ffef Remove FAB extra padding in DownloadQueueScreen (#9053)
(cherry picked from commit ad762f8303f2cc37bd2b78fc366b01b80bbc012b)
(cherry picked from commit e925d7a603a66829e7c27b682a61c9606c526cc3)
2023-04-16 12:27:57 -04:00
0x7673
39ee73edeb Fix crash in library when selected category is deleted (#9044)
(cherry picked from commit 13bb45b4bee6e31685d47a4157e10bcedf111bf0)
(cherry picked from commit f54e5515acec41ffb5aa0e3239ef050e110a8cc8)
2023-04-16 12:27:46 -04:00
Jobobby04
637448eb65 Fix page progess for external mangadex handlers 2023-02-11 20:11:47 -05:00
Jobobby04
beb28b86ac Support getMangaUrl and getChapterUrl for delegated sources 2023-02-11 20:03:26 -05:00
arkon
304e3560fa Don't show SourceNotInstalledException name in error snackbar
(cherry picked from commit 3c1608263601ecd900ff3b0093f41df7c92c91f6)
2023-02-09 18:18:01 -05:00
arkon
ff76335164 Bump desugaring libs
(cherry picked from commit 75e23299b45b4287933c67ef9947001f1384dc54)
2023-02-09 18:17:32 -05:00
Weblate (bot)
a56ea18a31 Translations update from Hosted Weblate (#8960)
Weblate translations

Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ar/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/de/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/es/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fa/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/gl/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/hr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/id/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ko/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/nl/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/pl/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/pt/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/th/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/uk/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hans/
Translation: Tachiyomi/Tachiyomi 0.x

Co-authored-by: Abou <aboozar.gh.r@gmail.com>
Co-authored-by: Alba Paz <albapazpi@gmail.com>
Co-authored-by: Ali Aljishi <ahj696@hotmail.com>
Co-authored-by: Blue <bluestuffish@gmail.com>
Co-authored-by: Dan <denqwerta@gmail.com>
Co-authored-by: FTDaily <farrell05june2005@gmail.com>
Co-authored-by: Gabriel Lebis <gableb@hotmail.fr>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Shippo <Shipox@users.noreply.hosted.weblate.org>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: The Ghost <marcc2018@gmail.com>
Co-authored-by: ZiomaleQ <r.partyka30@gmail.com>
Co-authored-by: altinat <altinat@duck.com>
Co-authored-by: jinu147 <nesqea20@gmail.com>
Co-authored-by: stevenlele <stevenlele@outlook.com>
(cherry picked from commit 935ff1ee98fb3d0e31adfecd4b9bc054bce22d28)
2023-02-09 18:17:23 -05:00
renovate[bot]
b78b59712d Update dependency com.android.tools.build:gradle to v7.4.1 (#9024)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit c672cb81ecb5a3d33a3af950393f2e12016fd516)
2023-02-09 18:17:14 -05:00
stevenyomi
c3c52badca Call.await(): copy exception message when preserving error stack (#9013)
(cherry picked from commit 7559c133c05cff0a41d11757ec31c86da7bf5c74)
2023-02-09 18:17:06 -05:00
stevenyomi
fb937d9ad6 Show exception class in snackbar message (#9006)
* Show exception class in snackbar message

* omit IOException too

(cherry picked from commit 589bdba0b1538266b7786591046f88a1159cbb8c)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
2023-02-09 18:16:56 -05:00
Two-Ai
8ff51227bd Misc Service cleanup (#9005)
* Simplify DownloadService wake lock handling

_isRunning is only modified in onCreate/onDestroy, so the listener
job is redundant.

* Drop superclass calls to Service.onCreate/onDestroy

From https://developer.android.com/guide/components/services
> Note: Unlike the activity lifecycle callback methods, you are not
> required to call the superclass implementation of these callback
> methods.

(cherry picked from commit aca65f13bb94b6c0c4a77a9d426491d3667f4a7d)
2023-02-09 18:16:06 -05:00
renovate[bot]
6f32744cbe Update dependency androidx.compose.material:material to v1.4.0-alpha05 (#8997)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 7bf30a094aa9e9bfcbdba9d35a11303aa50e2b6e)
2023-02-09 18:15:55 -05:00
renovate[bot]
c9fec75588 Update dependency com.google.android.material:material to v1.8.0 (#8999)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 5454279a8eb29892905ee98501a4b2fef5afc53e)
2023-02-09 18:15:46 -05:00
renovate[bot]
9224070026 Update dependency androidx.core:core-ktx to v1.10.0-alpha02 (#8998)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 006bcdf934292b38ea91caf0d096e8dbead6eb1a)
2023-02-09 18:15:38 -05:00
Andreas
c5095b0995 Set InsertPage status to Ready (#9001)
Fixes insert page just loading

(cherry picked from commit b00f00730d93ae36cdbb690f3c33698b086d4407)
2023-02-09 18:15:29 -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
Jobobby04
a51c25bdcf Handle getImage for delegate sources 2023-02-09 17:44:21 -05:00
Andreas
83e23dedae Split UpdatesGridGlanceWidget into smaller bits (#8991)
- Renamed Composables
- Moved Constants to core module

(cherry picked from commit 2501fef9e4800e6a616b418d1cbec0ea2b9e282e)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SourceSearchScreen.kt
2023-02-09 17:43:44 -05:00
Andreas
d8a938374a Move Glance Widget to seperate module (#8989)
Move Widget to seperate module

- Create a core module for presentation. Widget and App will share some resources and hopefully composables

(cherry picked from commit 12e41b6e6f3b5d95d19e1caa6c9fbe5eb6c9749c)
2023-02-09 17:28:55 -05:00
beerpsi
f2944c1fa3 [BackupRestorer] Handle uncompressed backups (#8988)
[Backups] Handle uncompressed backups

(cherry picked from commit c892c793a82c0349a3001954fd3a4fda9fece0dd)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupRestorer.kt
2023-02-09 17:28:44 -05:00
Two-Ai
d08a3bd2d0 Don't crash on timeout in renewCache() (#8986)
Fixes #8962.

withTimeout throws a TimeoutCancellationException if the timeout
expires. To avoid crashing renewalJob when there are no extensions,
use withTimeoutOrNull which does not throw on timeout.

(cherry picked from commit 3a82b4d924ae7207f7d1c1b23d2a71a1e7d09258)
2023-02-09 17:27:44 -05:00
Two-Ai
acc3e16230 Fixup HttpPageLoader _loadPage (#8984)
Fixup for e4bc8990 (#8955)

HttpSource.fetchImage() uses Call.asObservableSuccess(), which
cancels the call on unsubscribe. This causes the call to be cancelled
before it is used, leading to a "java.net.SocketException: Socket is
closed" when trying to use the response in putImageToCache().

To fix this, use Call.awaitSuccess() via a new HttpSource.getImage()
suspending function. This addition to source-api is only intended for
app use, so it will not be added to the extensions-api stubs.

(cherry picked from commit b4b3a4d2869fae7839b4b3111e289056e33cfea8)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/HttpPageLoader.kt
2023-02-09 17:27:31 -05:00
stevenyomi
a0497d079d OkHttp Call: split await() and awaitSuccess() (#8980)
(cherry picked from commit 448702e5beedcd0918c504da34a0feda20ee2817)
2023-02-09 17:22:54 -05:00
Two-Ai
1948545983 Replace PageLoader.getPage() with PageLoader.loadPage() (#8976)
* Follow page status via StateFlow

Keep getPage subscription since it's needed to load the pages

* Replace PageLoader.getPage with PageLoader.loadPage

(cherry picked from commit 2ef1f07aaea0852c13a4eb4096ac96c8aa507c39)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/HttpPageLoader.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt
2023-02-09 17:13:29 -05:00
stevenyomi
b5df879392 Fix extension search query cursor and debounce (#8972)
* Fix extension search query cursor

* debounce

* extract debounce constant

(cherry picked from commit 1a319601de03d91131a7ad3b39fe6a8bf75e6ebb)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/BrowseTab.kt
2023-02-09 16:55:03 -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
Jobobby04
c0e9471608 Move more implementation to data module 2023-02-09 16:17:00 -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
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