Compare commits

...

2655 Commits

Author SHA1 Message Date
Jobobby04 18d3615e6f Release v1.9.3 2023-04-18 17:30:00 -04:00
Jobobby04 326489fef3 Fix crash with restoring backups 2023-04-18 16:59:22 -04:00
Jobobby04 301500dcef Release v1.9.2 2023-04-17 17:27:48 -04:00
Jobobby04 b1014f84f9 Don't optimize out serializers
(cherry picked from commit d94270ce32)
2023-04-17 17:12:28 -04:00
Jobobby04 caee9746a3 Release v1.9.1 2023-04-16 17:35:42 -04:00
Jobobby04 e6bb7ffa3d Directly use shortcuts and update google services and firebase
(cherry picked from commit b5fb64b70e)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/App.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
2023-04-16 17:14:59 -04:00
Jobobby04 eb52af9cd8 Should fix mangadex tracking crashes
(cherry picked from commit ed233a1a77)
2023-04-16 17:13:36 -04:00
Jobobby04 6942200d45 Get baseline profiles working 2023-04-16 16:15:26 -04:00
Jobobby04 e41688e5c8 Fixes for categories index
(cherry picked from commit af3a036e80)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryTab.kt
2023-04-16 15:17:51 -04:00
Jobobby04 6af47d03cb Improve history migration
(cherry picked from commit b26749d61c)
2023-04-16 15:17:07 -04:00
Jobobby04 ca423ba13e Improve migration copy and migrate functions
(cherry picked from commit 4212d155ce)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/advanced/process/MigrationListScreen.kt
2023-04-16 15:17:02 -04:00
Jobobby04 f890a68f35 Fixes to center margin option
(cherry picked from commit d8c2baa135)
2023-04-16 15:16:24 -04:00
Shamicen 212c1d3287 Bump xmlutil (#839)
Bump xmlutil to version 0.85.0

(cherry picked from commit 928c2a069e)
2023-04-16 12:43:18 -04:00
simakover 143489a80b fix to cryllic letter filtering (#837)
(cherry picked from commit 3d7b8cd551)
2023-04-16 12:43:04 -04:00
Dexroneum 69bd76f780 [RU] Translations (#822)
* [RU] Translations

* Return as before

(cherry picked from commit af9717686e)
2023-04-16 12:42:51 -04:00
Howard Wu c7df0fe01e Update zh-rCN translation (#831)
* Update zh-rCN translation

* Update strings_sy.xml

(cherry picked from commit 0e618db668)
2023-04-16 12:42:37 -04:00
Howard Wu eda81e5e30 Update zh-rCN translation (#821)
* Update zh-rCN translation

* Update strings_sy.xml

* Update strings_sy.xml

* Update strings_sy.xml

* Update strings_sy.xml

(cherry picked from commit c8c2d29f88)
2023-04-16 12:42:29 -04:00
Howard Wu 5ab038cbf4 Update zh-rCN translation (#809)
(cherry picked from commit e8f9550211)
2023-04-16 12:42:15 -04:00
Jobobby04 f40fb30af9 Refactor data saver
(cherry picked from commit 36381aca33)
2023-04-16 12:41:38 -04:00
Wisest_wizard ba0674c4a3 Use wsrv.nl service (#778)
* Add wsrv.nl datasaver service

* Add code comments

(cherry picked from commit ae712527f3)
2023-04-16 12:41:19 -04:00
Daniel 43b3abf43b Smooth Automatic Scrolling for Webtoon (#777)
(cherry picked from commit 82f0e5bc01)
2023-04-16 12:41:05 -04:00
Jobobby04 c7433287c6 Add Data saver to MangaPlus
(cherry picked from commit 7155b2be10)
2023-04-16 12:40:06 -04:00
Jobobby04 3698b23523 Fix manga plus chapters
(cherry picked from commit d013578fb5)
2023-04-16 12:40:01 -04:00
Jobobby04 787690c9bd Cleanup
(cherry picked from commit 81283dc5cf)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/feed/FeedTab.kt
2023-04-16 12:39:30 -04:00
Jobobby04 5a48b3b375 Fix issues with feed reloading all the time
(cherry picked from commit 28fe7fec06)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/feed/FeedTab.kt
2023-04-16 12:38:09 -04:00
Jobobby04 e1c0289bec Make statistics not required for MangaDex
(cherry picked from commit d81a01aa1d)
2023-04-16 12:37:34 -04:00
Jobobby04 06e4429b92 Use current filters and toolbar query for saved searches
(cherry picked from commit fea36ad138)
2023-04-16 12:37:20 -04:00
Jobobby04 82c2d06d3f Drop queries if they direct to latest or popular
(cherry picked from commit 8f97dd7fb8)
2023-04-16 12:36:13 -04:00
Jobobby04 37a4e2d72d Retry a few times if library or updates crash
(cherry picked from commit 5abab75d26)
2023-04-16 12:36:05 -04:00
Jobobby04 428fa17bfc Fix categories dialog showing group by categories
(cherry picked from commit afab9c236d)
2023-04-16 12:35:54 -04:00
Jobobby04 b6baac90dc Fix library sort not using tag sort
(cherry picked from commit 259a487dc0)
2023-04-16 12:35:46 -04:00
Jobobby04 f6a6dcb540 Make sure the navigator disposes after migration
(cherry picked from commit 9bde4b8b33)
2023-04-16 12:35:39 -04:00
Jobobby04 8ec0bb9c8f Fix smart search not allowing you to back-out
(cherry picked from commit 76d852313d)
2023-04-16 12:35:31 -04:00
Jobobby04 6ed4b79746 Guard from NaN crashes in batch add
(cherry picked from commit 28f3c4f4c6)
2023-04-16 12:35:25 -04:00
Jays2Kings 0f2462248e Fix double page progress when changing orientation (#799)
* Fix double page when changing orientation

* Fix requested page, when device config changes when app is in BG

* Cleanup on save reader logic

(cherry picked from commit 520846c75e)
2023-04-16 12:33:26 -04:00
arkon 6bcdaf9376 Avoid uncaught exceptions from OkHttp interceptors crashing entire app
(cherry picked from commit 26d422b0aeaee2d0a7957f0f8d955e045dde1a34)
(cherry picked from commit 3041200d7b)
2023-04-16 12:32:42 -04:00
Eshlender c683ca3ee7 Update track domain shikimori.me (#9333)
shikimori.me

(cherry picked from commit 564a0980b99183bb2b73999c17a4c6603c008f05)
(cherry picked from commit 99546688dc)
2023-04-16 12:32:32 -04:00
arkon b8eca65a02 Save current chapter progress when navigating to adjacent chapters
Fixes #9295

(cherry picked from commit 776d36caf11cf29287e4cb86a6e64574a296f89c)
(cherry picked from commit 4f984cef5f)
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 e3a5860c1a)
2023-04-16 12:32:03 -04:00
arkon 6ab803fc99 Bump subsampling-scale-image-view
(cherry picked from commit e5e18c2030f26e89aedd5536d21ab915ccdbb26a)
(cherry picked from commit 53ff9a5cc8)
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 85af8ea517)
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 d91d53557a)
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 9baa52db00)
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 c481d5c575)
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 897d019f0b)
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 e9083fc571)
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 acef44f55c)
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 5077000f52)
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 85224c368d)
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 366219d7f5)
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 a163223d83)

# 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 ab19d5c62a)
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 ab8c8db6ac)
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 b42c5b58ea)
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 2023acf319)
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 255eda6d8e)
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 b9a7a7388c)
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 e925d7a603)
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 f54e5515ac)
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
Jobobby04 dd62337ad6 Move more repositories to domain module 2023-02-09 15:10:37 -05:00
Jobobby04 ab0995ab9f Make MergedMangaReference immutable 2023-02-09 14:54:52 -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
renovate[bot] 72168a2882 Update sqldelight to v1.5.5 (#8966)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit c2812fca240f78d7cd77f63ea1c4db1b4332298c)
2023-02-07 17:06:30 -05:00
renovate[bot] 3924379559 Update dependency io.github.fornewid:material-motion-compose-core to v0.10.4 (#8964)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 856847a60a54e318cfb734e5d6797147550b928d)
2023-02-07 17:06:23 -05:00
arkon 4ee66f6185 Save current page state on configuration change
Fixes #8881

The actual issue is that the ViewModel migration actually differs between what the current `init` block
and previous `onSave` methods did; where the `init` block does not get triggered on saving the
instance on config changes.

Not entirely sure why onSaveInstanceState was explicitly avoided for config changes before, but we
just do it all the time now and end up updating the requestedPage with the current page.

(cherry picked from commit 2ebc8d9ae51f84b0f69dee603a5448a72013f734)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
2023-02-07 17:06:10 -05:00
zbue a53190f7c4 MangaScreenModel: Make download function follow reader preference (#8920)
* Make download function more clearer in manga screen

Maybe resolves #8879

* Minor cleanup

* Minor cleanup 2

(cherry picked from commit e28b0155801859f48a18bc1c5aacead54378c77f)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
2023-02-07 17:05:13 -05:00
Two-Ai 4965da340b Replace RxJava in HttpPageLoader downloader (#8955)
* Convert downloader Observable to flow

Uses `runInterruptible` to turn the blocking call to `queue.take()`
into a cancellable call.

Flow collection is ended by cancelling the scope in `recycle`. This
means the `HttpPageLoader` can't be reused after calling `recycle`,
but this was true with the `Observable` as well.)

* Convert load Observables to suspending function

Inlining the Observables allows for some simplification of the error
handling. Behavior should be otherwise identical.

* Convert cleanup Completable to coroutine

Uses global `launchIO`, not ideal but similar to previous behavior.
Can't be scheduled on the local `scope` as this runs after `scope` is
cancelled.

(cherry picked from commit e4bc8990fbe2aa4bc31977f1061bac0c70d7a58f)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/HttpPageLoader.kt
2023-02-07 16:55:26 -05:00
Weblate (bot) 6acb796e0c Translations update from Hosted Weblate (#8855)
Weblate translations

Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: Dan <denqwerta@gmail.com>
Co-authored-by: DarKCroX <DarKCroX@users.noreply.hosted.weblate.org>
Co-authored-by: Dexroneum <Rozhenkov69@gmail.com>
Co-authored-by: Eduard Ereza Martínez <eduard@ereza.cat>
Co-authored-by: FTDaily <farrell05june2005@gmail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: ID-86 <id86dev@gmail.com>
Co-authored-by: Kornelijus Tvarijanavičius <kornelijus@tvaria.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Madddog1997 <madddog1997@gmail.com>
Co-authored-by: Marvash Magalli <antorunese96@gmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: M͜͡edRAM <mohammad7ram@gmail.com>
Co-authored-by: Nepx <anandabaskara@outlook.com>
Co-authored-by: Osyx <ofalkman@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Ricardo <contatorms7@tutamail.com>
Co-authored-by: Rostyslav Haitkulov <info@ubilling.net.ua>
Co-authored-by: Shippo <Shipox@users.noreply.hosted.weblate.org>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: Tahsin Gökalp <tahsinsaan@gmail.com>
Co-authored-by: TheKingTermux <achmadmaulana0233@gmail.com>
Co-authored-by: Uzuki Shimamura <hzy980512@126.com>
Co-authored-by: VespreSky <mp.draw.1@googlemail.com>
Co-authored-by: Vetle Ledaal <vetle.ledaal@gmail.com>
Co-authored-by: Yurical <yurical1@outlook.com>
Co-authored-by: adkxamov <adxoff@gmail.com>
Co-authored-by: ayaao <myrgdream@gmail.com>
Co-authored-by: jinu147 <nesqea20@gmail.com>
Co-authored-by: slundi <slundi@gmail.com>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: stevenlele <stevenlele@outlook.com>
Co-authored-by: torchlight <sima142222@gmail.com>
Co-authored-by: Олександр Котецький <saymon4145@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ar/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ca/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/cs/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/de/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/el/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/es/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fr/
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/it/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ja/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/kk/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ko/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/lt/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ms/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/pt/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ru/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sc/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sk/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sv/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/tr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/uk/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/uz/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hant/
Translation: Tachiyomi/Tachiyomi 0.x

Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: Dan <denqwerta@gmail.com>
Co-authored-by: DarKCroX <DarKCroX@users.noreply.hosted.weblate.org>
Co-authored-by: Dexroneum <Rozhenkov69@gmail.com>
Co-authored-by: Eduard Ereza Martínez <eduard@ereza.cat>
Co-authored-by: FTDaily <farrell05june2005@gmail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: ID-86 <id86dev@gmail.com>
Co-authored-by: Kornelijus Tvarijanavičius <kornelijus@tvaria.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Madddog1997 <madddog1997@gmail.com>
Co-authored-by: Marvash Magalli <antorunese96@gmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: M͜͡edRAM <mohammad7ram@gmail.com>
Co-authored-by: Nepx <anandabaskara@outlook.com>
Co-authored-by: Osyx <ofalkman@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Ricardo <contatorms7@tutamail.com>
Co-authored-by: Rostyslav Haitkulov <info@ubilling.net.ua>
Co-authored-by: Shippo <Shipox@users.noreply.hosted.weblate.org>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: Tahsin Gökalp <tahsinsaan@gmail.com>
Co-authored-by: TheKingTermux <achmadmaulana0233@gmail.com>
Co-authored-by: Uzuki Shimamura <hzy980512@126.com>
Co-authored-by: VespreSky <mp.draw.1@googlemail.com>
Co-authored-by: Vetle Ledaal <vetle.ledaal@gmail.com>
Co-authored-by: Yurical <yurical1@outlook.com>
Co-authored-by: adkxamov <adxoff@gmail.com>
Co-authored-by: ayaao <myrgdream@gmail.com>
Co-authored-by: jinu147 <nesqea20@gmail.com>
Co-authored-by: slundi <slundi@gmail.com>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: stevenlele <stevenlele@outlook.com>
Co-authored-by: torchlight <sima142222@gmail.com>
Co-authored-by: Олександр Котецький <saymon4145@gmail.com>
(cherry picked from commit a179327d9de9f98b907024d67401be1d4e4cfdcb)
2023-02-07 16:50:24 -05:00
Jobobby04 a9edf090c4 Lint 2023-02-07 16:50:09 -05:00
Andreas 64d829d304 Move SQLDelight to data module (#8954)
And use tachiyomi instead of eu.kanade.tachiyomi for package names in the module

(cherry picked from commit 823749fc1ed16dbf52d43839888a70de089d65b1)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/data/history/HistoryRepositoryImpl.kt
#	app/src/main/java/eu/kanade/data/manga/MangaRepositoryImpl.kt
#	app/src/main/java/eu/kanade/data/updates/UpdatesRepositoryImpl.kt
#	app/src/main/java/eu/kanade/tachiyomi/App.kt
#	app/src/main/java/eu/kanade/tachiyomi/AppModule.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/model/SMangaExtensions.kt
#	data/src/main/java/tachiyomi/data/AndroidDatabaseHandler.kt
#	data/src/main/sqldelight/tachiyomi/data/eh.sq
#	data/src/main/sqldelight/tachiyomi/data/eh_favorites.sq
#	data/src/main/sqldelight/tachiyomi/data/feed_saved_search.sq
#	data/src/main/sqldelight/tachiyomi/data/merged.sq
#	data/src/main/sqldelight/tachiyomi/data/saved_search.sq
#	data/src/main/sqldelight/tachiyomi/data/search_metadata.sq
#	data/src/main/sqldelight/tachiyomi/data/search_tags.sq
#	data/src/main/sqldelight/tachiyomi/data/search_titles.sq
#	data/src/main/sqldelight/tachiyomi/migrations/16.sqm
#	data/src/main/sqldelight/tachiyomi/migrations/24.sqm
2023-02-07 16:49:49 -05:00
Andreas 888d1f0983 Move shared configuration to subprojects in root Gradle file (#8951)
* Move shared configuration to subprojects in root Gradle file

* Missed but not forgotten

* Review changes

(cherry picked from commit 2b5d9fd76b9b7b629921bc793553cd4a571eda00)

# Conflicts:
#	app/build.gradle.kts
#	i18n/build.gradle.kts
2023-02-07 16:12:31 -05:00
arkon 354bb2fd83 Don't use platform attributes for white/black reader backgrounds
Probably fixes #8946

(cherry picked from commit 7a972dfdb7cfb7578b3f9dd63ba0fdcb77b16b24)
2023-02-07 16:11:37 -05:00
Andreas 34b60a435e Create plugin for linting (#8942)
(cherry picked from commit c31e75f02f3021c52f6c24f655e2bded0c8b2b33)

# Conflicts:
#	.github/workflows/build_pull_request.yml
#	.github/workflows/build_push.yml
#	app/build.gradle.kts
#	build.gradle.kts
2023-02-07 16:11:25 -05:00
Jobobby04 50a758f05b Move versions plugin to sylibs 2023-02-07 16:01:22 -05:00
arkon 2e4b6e45d6 Upgrade to Kotlin 1.8.0
(cherry picked from commit b56b8b55b43a5071e6f8d0a58afb56beebf139f9)
2023-02-07 15:58:31 -05:00
arkon e2242fe00c Update local source icon and differentiate from fallback source icon
Closes #8934

(cherry picked from commit 2695a4d8c7fca617f513e0ac6fc92db230b0997a)
2023-02-07 15:58:20 -05:00
arkon 1fd8021e98 Hide WebView menu item in reader if local
Closes #8932

(cherry picked from commit 1a4dad72a9e7e5eb5326f5846c50698fe2bb6673)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
2023-02-07 15:58:13 -05:00
beerpsi da58039cfb [MyAnimeList] Handle cases where my_list_status.status is not present (#8931)
(cherry picked from commit b7e6b4c28a2dc1a14aebfadf7c6aabb29f96d0dc)
2023-02-07 15:56:36 -05:00
stevenyomi fe303435c8 Fix installing extensions on MIUI (#8916)
* Fix installing extensions on MIUI

* isShizukuReady -> isShizukuInstalled

(cherry picked from commit 293b96785865d9cf8c62b3e12046347b32be9d4d)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt
2023-02-07 15:56:25 -05:00
arkon dc661a252a Assign keys for global search rows based on source
Maybe fixes #8924

(cherry picked from commit e468554fd9fbe19bfe58b4c018bd8ee87388bed7)
2023-02-07 15:54:50 -05:00
arkon 767d1b3f20 Fix checking downloads banner showing up incorrectly
(cherry picked from commit 5b5eb9218483c53a260ad6f8cc97457fbf4872a8)
2023-02-07 15:54:40 -05:00
Two-Ai e4ab74d2e4 Convert PageLoader.getPages to suspending function (#8917)
(cherry picked from commit 58ebf146919694170af0d0044a9dde56668fa543)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/HttpPageLoader.kt
2023-02-07 15:54:25 -05:00
Verzaukeks eff93b8e7c Prevent scrolling outside bounds in webtoon/vertical reading mode (#8821)
(cherry picked from commit 992bab4f7956740bafd8227b29958acebfaae64d)
2023-02-07 15:42:14 -05:00
zbue 740b3e4616 Allow partially read chapters to be marked as unread in updates screen (#8884)
* Allow partially read chapters to be marked as unread in updates screen

* Review changes

* Review changes 2

(cherry picked from commit f301dc64f00c2d8a19cb89610cf6fba7eb78917d)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/updates/UpdatesScreenModel.kt
#	app/src/main/sqldelight/migrations/23.sqm
2023-02-07 15:41:58 -05:00
zbue 7f7789792b Enable confirmButton only when needed to respond to user input (#8848)
* Enable `confirmButton` when appropriate

* Show error in dialog instead

* Follow M3 guidelines

(cherry picked from commit 33a221971692c1662dc883a7bac9fdcc7b843d35)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/category/interactor/CreateCategoryWithName.kt
#	app/src/main/java/eu/kanade/presentation/category/components/CategoryDialogs.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/category/CategoryScreen.kt
2023-02-07 15:06:33 -05:00
Two-Ai 843c0a4588 Replace RxJava in ChapterLoader and ReaderViewModel (#8915)
* Replace RxJava in ChapterLoader

* Don't swallow CancellationException

* Simplify loadChapter behavior

* Add error handling to loadAdjacent

(cherry picked from commit 62480f090b3007487b7125c6a2cd63a6103486cc)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/ChapterLoader.kt
2023-02-07 14:29:07 -05:00
zbue 886485a472 Make androidx.preference dialog match M3 dialog (#8909)
(cherry picked from commit e7937fe562f9b5e718b4353e20f28fbe82f0b8d7)
2023-02-07 14:04:39 -05:00
zbue a7fefb4c9c Show chapter scanlator on reader transition (#8910)
Closes #7131

(cherry picked from commit 287489d7d07881cdfcb0494c4c9d6163d63d2fce)
2023-02-07 14:04:28 -05:00
Aria Moradi 8fcfef87af Suwayomi Tracker: sync changes with Tachidesk v0.6.6 (#8902)
* Suwayomi Tracker: sync changes with Tachidesk v0.6.6

* replace var with val

(cherry picked from commit c54d77333f00419466a49aa227895756d2a3bd55)
2023-02-07 14:04:08 -05:00
Two-Ai 68609b38b0 Fix DownloadPageLoader resource leak (#8905)
The underlying ZipFile is leaking. To fix, store a reference to the
ZipPageLoader and recycle it on recycle.

(cherry picked from commit 8c494f314cf77e54675f8d9742d50ed0ef94df59)
2023-02-07 14:04:00 -05:00
Two-Ai 822fda4d2b Fix ChapterCache.isImageInCache() resource leak (#8907)
diskCache.get() returns a DiskLruCache.Snapshot which must be closed.

(cherry picked from commit 8cea78de83744ea955d4cfb7dcad3ca8abf43223)
2023-02-07 14:03:52 -05:00
arkon b30232ba9d Only how indexing downloads banner the first time
Closes #8903

(cherry picked from commit b6468c7e31728dcb888782d6cb11639833cfa037)
2023-02-07 14:03:44 -05:00
Jobobby04 a19be83f99 Parallelize feed properly 2023-02-07 14:03:27 -05:00
arkon f93cf29df4 Parallelize global search properly
Fixes #8906

(cherry picked from commit 91004ad514d25be610a1f8cd1390b74faf46830b)
2023-02-07 13:57:23 -05:00
arkon 864707d75b Minor cleanup
(cherry picked from commit a2ee4e63ae3bb2949c57d11a23bc56315579f891)
2023-02-07 13:57:15 -05:00
arkon 69acaa7829 Bump to latest Compose stable BOM
(cherry picked from commit 4d8289cd369ab7ed166523fdb93d6d34a19c57ba)
2023-02-07 13:56:52 -05:00
arkon 81a97f6f03 Bump AGP
Also enable configuration cache that Build Analyzer suggested

(cherry picked from commit 289264878ea4f0db7e90bc0197819de986c88922)

# Conflicts:
#	gradle.properties
2023-02-07 13:56:23 -05:00
zbue 9a7296aa3a Fix downloaded filter unmatched state in manga screen (#8897)
(cherry picked from commit 768bb7b503a478eecac7426da95d8e4cca8d1f4c)
2023-02-07 13:32:40 -05:00
zbue fe59b0e95d Tweak TriStateItem view to match in earlier app version (#8898)
* Tweak `TriStateItem` view to match in earlier app version

* Apply to disabled state too

(cherry picked from commit db4ae134aab2376fa110682e96798b32efd0d563)
2023-02-07 13:32:34 -05:00
Alessandro Jean 3a9a1c631d Show proper Exception message in MangaScreen (#8900)
Show proper Exception message in MangaScreen.

(cherry picked from commit 7329f03bc5e6fa63723d8b19ef8a351916af3631)
2023-02-07 13:32:14 -05:00
arkon a55e27c657 Don't prompt to add to library multiple times
Fixes #8842

(cherry picked from commit 82ea643c7d2ee75acc7fc17e2b9d492b57fb7a42)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
2023-02-07 13:32:07 -05:00
arkon acf51f4d34 Reword set category dialog confirmation to "OK"
Closes #8878

(cherry picked from commit 741c10e0b939ec223ff0ce122a2ef9979291d325)
2023-02-07 13:31:38 -05:00
arkon 145adfaaa1 Update library sheet filter tab on open
Fixes #8885

(cherry picked from commit 34bb90f3c2d0cb3e8d3bb9564a702068dcb10b7e)
2023-02-07 13:31:27 -05:00
arkon f367dcd5f4 Bump core-ktx dependency
(cherry picked from commit f04cf72c0cb53fdbb37daa3440482b35ea5f8591)
2023-02-07 13:31:21 -05:00
arkon 88b5a5118c Minor dependency updates
(cherry picked from commit 157438e0c10cd5ac741ed7a70ff623ed756c3007)
2023-02-07 13:31:13 -05:00
arkon 0ae19297fc Refactor how extensions list is modelled
To better enable changing the UI in the future based on sections.

(cherry picked from commit 75b23c99ecd4eef46bc528d65c5307eb44f1a346)
2023-02-07 13:30:36 -05:00
arkon c1f87feb7e Show the tracker name when showing error toast
(cherry picked from commit 7df10b076c555e403b30f6db34f7b1d7c41aee77)
2023-02-07 13:29:39 -05:00
Two-Ai e099d1a313 Replace RxJava in DownloadQueueScreenModel (#8872)
(cherry picked from commit 2245658363823e5b3c29e9f28b45d95418f3e57e)
2023-02-07 13:29:30 -05:00
arkon 4c2e9aa509 Fix double tapping History not working consistently
Fixes #8875

(cherry picked from commit 46774771ec82328816d01918b5cb43cb807e23ea)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/history/HistoryTab.kt
2023-02-07 13:29:22 -05:00
arkon eaee8747a4 Avoid crash if multiple instances of ClearDatabaseScreen opened
Fixes #8851

I guess we might want to do this for all screens? Maybe?

(cherry picked from commit 6263817bb4ab7494143cbd901d829f805e71f0bd)
2023-02-07 13:29:01 -05:00
arkon a18ce256eb Fix crash in categories screen on config change
Fixes #8861

(cherry picked from commit 60456fe0e95966134c47f0f8401eef001690f8e0)
2023-02-07 13:28:40 -05:00
arkon 8087c25559 Don't exclude same source when checking for duplicate entries
Closes #8870

(cherry picked from commit a0f47d3f1b874c9b6d62dfc1679daa9398bf9b98)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt
2023-02-07 13:26:20 -05:00
arkon c9bc4646da Use Voyager for WebView in non-reader places
(cherry picked from commit 6efcb8ccfae0a19ae1c3c866620c8dd5222eb4b3)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt
2023-02-07 13:16:24 -05:00
arkon aea9f36eff Make MIUI extensions warning clearer that it's only a suggestion
(cherry picked from commit 0d128b75e27662488078f2cc1b0066bc9a4b5f84)
2023-02-07 13:08:57 -05:00
arkon 50c06de524 Use theme padding values in more places
(cherry picked from commit 0067d474c86d08011ebf3b1676c4db8c85e68125)
2023-02-07 13:08:48 -05:00
MCAxiaz 97f3148e4c Add Reader Setting to Skip Dupe Chapters (#8831)
Add reader setting to filter dupe chapters with same scanlator priority.

(cherry picked from commit cf393b217b7a03f4c543c1dac118ddedf5552823)
2023-02-07 13:05:29 -05:00
arkon 1a09fde22c Avoid crashes when fetching assist content URL in ReaderActivity
(cherry picked from commit e265b929a19d3258cbe305d5b4a2d2bdcf1eb9ec)
2023-02-07 13:05:22 -05:00
arkon 9bae13c0e6 Only show MIUI extension warning on MIUI >= 13
Related to #8834

(cherry picked from commit 4cd01428eda8aa6b1438e6f98474255afbe97d91)
2023-02-07 13:05:09 -05:00
Jobobby04 2b1809b2b7 Use global search UI for Feed 2023-02-07 13:04:41 -05:00
arkon 9d0560f48b Make global search results more compact
(cherry picked from commit 3be05fbf9b41478386026b3156f3947e7fb1643e)
2023-02-07 12:40:04 -05:00
arkon 2d9000d4bc Only show library continue reading button if there's unread chapters
Closes #8865

(cherry picked from commit 5d90ba8aa048f45bde662dfe4249f4d9fb45bb83)
2023-02-07 12:39:56 -05:00
arkon a22d4a2df5 Show available but not installed enhanced trackers
Closes #8859

(cherry picked from commit 48cab708ce28ead30c5ea500899c17e379eb3000)
2023-02-07 12:39:46 -05:00
arkon b9f39a559d Bump minimum ext-lib to 1.3
(cherry picked from commit 5d9753d6a72e020e2ee98af4dac4488e2d4068b9)
2023-02-07 12:39:37 -05:00
arkon f5b03a3a4b Avoid crashes when opening WebView from reader
Also ensure WebViewActivity has an Assistant URL when it first opens with a URL.

(cherry picked from commit 425e48bec6edf6ea30d13dc8d46b79899122c61b)
2023-02-07 12:39:27 -05:00
renovate[bot] 38f65a0fd6 Update dependency com.squareup.okio:okio to v3.3.0 (#8860)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit a42be4a833e6b2232735dde45daf3aa3a1e79cbc)
2023-02-07 12:39:15 -05:00
arkon 3444ec234c Bump dependencies
(cherry picked from commit 30e030bb8efd806d0c134f153946ff61edab5c51)
2023-02-07 12:39:06 -05:00
stevenyomi 9f9cbecb49 Fix reader settings sheet's mode section not updated (#8857)
(cherry picked from commit 2a3c3d8d6afa12f6e022acba8692167e5fe1593a)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt
2023-02-07 12:38:56 -05:00
stevenyomi 16093a6d6d Fix floating-point error in navigate pan (#8856)
(cherry picked from commit 7b026cec8d1e113f03c15642cba3d3c9601cd65e)
2023-02-07 12:38:26 -05:00
arkon e8ccb88a06 Remove repetition in enhanced tracker preference declarations
Also hides entries that aren't relevant (i.e. if you don't have the source installed).

(cherry picked from commit d8b528a4e0d1da00c653c0123ee01848db4b1b87)
2023-02-07 12:38:18 -05:00
arkon 08557aa5e6 Adjust bookmarked chapter styling in Updates
To match updated styling in manga screen.

(cherry picked from commit 0f459071445f712406892affb9a81e997706333a)
2023-02-07 12:38:07 -05:00
Aria Moradi 3f2136c56e add Suwayomi tracker (#8489)
* add Suwayomi Tracker

* fix compile

(cherry picked from commit c4c9931ae22c92429eb5afcef06ed2ea3a1cbb8f)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/track/TrackManager.kt
2023-02-07 12:37:46 -05:00
arkon 193c311e15 Remove ability to hide unread chapter badges in library
(cherry picked from commit 68345e636efb7f616a91ef8f0accc17a818ebe5b)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
2023-02-07 12:37:01 -05:00
stevenyomi 1800d00e04 Fix reader settings sheet not updated (#8854)
* Revert "Recreate reader settings when opening sheet (#8054)"

This reverts commit acb8ab15b2.

* Revert "Fix stacking of Settings menu in the reader on multiple taps (#8002)"

This reverts commit 30ac94181b.

* Fix reader settings sheet not updated

(cherry picked from commit 0861c5618c097f89bec75ffeed1359e345532d89)
2023-02-07 12:35:45 -05:00
Jobobby04 475fb82c66 Allow refreshing the feed tab 2023-02-07 12:09:44 -05:00
Jobobby04 59d307c6a1 Make migration screen unique in the stack 2023-02-04 19:44:15 -05:00
Jobobby04 d24a8d24b9 Release v1.9.0 2023-02-04 18:23:50 -05:00
Jobobby04 292f5a93aa Fix page previews not opening read chapters 2023-01-10 16:10:15 -05:00
Jobobby04 a960b624ce Cleanup some old Mangadex login things 2023-01-07 21:10:48 -05:00
Jobobby04 2ad14c943b Add custom igneous cookie to cookie store 2023-01-07 16:51:27 -05:00
Jobobby04 083e4f064d Fix build 2023-01-07 16:50:28 -05:00
arkon 60bf4b2598 Update baseline profile
(cherry picked from commit 4eb2cd85b2dc3c3eb519211c54bbfa5fdd3c6325)
2023-01-07 16:44:09 -05:00
Weblate (bot) 69801a3c8c Translations update from Hosted Weblate (#8764)
Weblate translations

Co-authored-by: Abay Emes <abayemes@gmail.com>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: Bujdosf <bujdos.f01@gmail.com>
Co-authored-by: Cloudburst <18114966+C10udburst@users.noreply.github.com>
Co-authored-by: Dan <denqwerta@gmail.com>
Co-authored-by: DarKCroX <DarKCroX@users.noreply.hosted.weblate.org>
Co-authored-by: Dexroneum <Rozhenkov69@gmail.com>
Co-authored-by: FTDaily <farrell05june2005@gmail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: ID-86 <id86dev@gmail.com>
Co-authored-by: InfinityDouki56 <ced.paltep10@gmail.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Jace Orwell <jaceorwell@gmail.com>
Co-authored-by: Jendrej <ejjendrej@gmail.com>
Co-authored-by: K. Sz. Bence <tudi20@protonmail.com>
Co-authored-by: Kaenova Mahendra Auditama <kaenova@gmail.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: The Initiator <eithansten@gmail.com>
Co-authored-by: TheKingTermux <achmadmaulana0233@gmail.com>
Co-authored-by: Uzuki Shimamura <hzy980512@126.com>
Co-authored-by: Vetle Ledaal <vetle.ledaal@gmail.com>
Co-authored-by: ZiomaleQ <r.partyka30@gmail.com>
Co-authored-by: altinat <altinat@duck.com>
Co-authored-by: ayaao <myrgdream@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: jinu147 <nesqea20@gmail.com>
Co-authored-by: lisienskenderi <lisienskenderi@hotmail.com>
Co-authored-by: stevenlele <stevenlele@outlook.com>
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/cs/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/de/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/el/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/es/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fil/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/he/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/hr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/hu/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/id/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/it/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ja/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/kk/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ko/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ms/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/pl/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ru/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sc/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sq/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/th/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/tr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/uk/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hant/
Translation: Tachiyomi/Tachiyomi 0.x

Co-authored-by: Abay Emes <abayemes@gmail.com>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: Bujdosf <bujdos.f01@gmail.com>
Co-authored-by: Cloudburst <18114966+C10udburst@users.noreply.github.com>
Co-authored-by: Dan <denqwerta@gmail.com>
Co-authored-by: DarKCroX <DarKCroX@users.noreply.hosted.weblate.org>
Co-authored-by: Dexroneum <Rozhenkov69@gmail.com>
Co-authored-by: FTDaily <farrell05june2005@gmail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: ID-86 <id86dev@gmail.com>
Co-authored-by: InfinityDouki56 <ced.paltep10@gmail.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Jace Orwell <jaceorwell@gmail.com>
Co-authored-by: Jendrej <ejjendrej@gmail.com>
Co-authored-by: K. Sz. Bence <tudi20@protonmail.com>
Co-authored-by: Kaenova Mahendra Auditama <kaenova@gmail.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: The Initiator <eithansten@gmail.com>
Co-authored-by: TheKingTermux <achmadmaulana0233@gmail.com>
Co-authored-by: Uzuki Shimamura <hzy980512@126.com>
Co-authored-by: Vetle Ledaal <vetle.ledaal@gmail.com>
Co-authored-by: ZiomaleQ <r.partyka30@gmail.com>
Co-authored-by: altinat <altinat@duck.com>
Co-authored-by: ayaao <myrgdream@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: jinu147 <nesqea20@gmail.com>
Co-authored-by: lisienskenderi <lisienskenderi@hotmail.com>
Co-authored-by: stevenlele <stevenlele@outlook.com>
(cherry picked from commit 086eac5975bc62c6b3d4537c4df7c50dfab4ad39)
2023-01-07 16:44:00 -05:00
arkon 8f0fcf53e0 Bump default user agent string and minimum WebView version
(cherry picked from commit addd6bffbd08d8840222304f69a1b685575e2df9)
2023-01-07 16:43:52 -05:00
arkon 37a444f3f6 Open entry when long pressing during migration in source search
This matches the behavior from 0.13.6

Fixes #8176

(cherry picked from commit 1e65313fa7bf8b64b5447b1a50e828903bde8413)
2023-01-07 16:43:43 -05:00
arkon 895cdad7ca Fix downloaded badges appearing when filtering by downloaded
Fixes #8850

(cherry picked from commit c4c6e41c46f38602578af9b0fa36c037482252da)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
2023-01-07 16:43:34 -05:00
Two-Ai 65c95fbb78 Use MainScope for coroutines in ui package classes (#8845)
(cherry picked from commit 920ca405a2116065840c7dd074209d902bfd3419)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt
2023-01-07 16:40:01 -05:00
arkon c516848843 Adjust bookmarked chapter styling
No longer tints the title and subtitle text depending on bookmarked state
in favor of only showing a tinted bookmark icon regardless of read state.

Closes #8839

(cherry picked from commit 6d3a3b3f39a6ac4736ff06628335cbd4c1fd9e8e)
2023-01-07 16:38:01 -05:00
arkon c13943ba95 Prioritize "all" ("Multi") lang in extensions lists
Fixes #8811
Fixes #8812

(cherry picked from commit 50d46fe7f69fd35e7307760dd5fc849b5f9987de)
2023-01-07 16:37:46 -05:00
arkon 418c31af60 Show warning about installing extensions on MIUI
Related to #8834

(cherry picked from commit 91e282d7e5022d1960692387da96332cbd810bc9)
2023-01-07 16:37:36 -05:00
arkon 07c781473f Handle file names with multiple ".cbz" occurrences properly
Fixes #8838

(cherry picked from commit a0f10f868e2ff8d46c3aea6b47d5151c6b705d8a)
2023-01-07 16:37:28 -05:00
stevenyomi 33d007a1a2 Update toolbar query on genre search (#8837)
(cherry picked from commit 6a423f06508db63799dc2950c3da047d014ac883)
2023-01-07 16:37:20 -05:00
Jobobby04 dee1f69d34 Fix crash on invalid saved searches 2023-01-07 16:37:15 -05:00
arkon a0fa323645 Debounce reindexing banner
Helps avoid showing it for short-lived jobs

(cherry picked from commit 5cc84403e1a6de956d7b3893893e792f88497d73)
2023-01-07 16:36:47 -05:00
Ivan Iskandar 12e12c5733 Add worker info screen (#8774)
Mainly for debug purpose, might help with support.

(cherry picked from commit ab61a65b4a6a5ec50119d993f0509168b67138fb)
2023-01-07 16:36:37 -05:00
jobobby04 5a3a2084cb [skip ci] Update DamianReeves/write-file-action 2022-12-31 20:05:19 -05:00
Jobobby04 bc76490967 Fix crashes on changing grouping 2022-12-31 17:50:57 -05:00
Jobobby04 141cd959f2 Fix filters filtering out grouped categories 2022-12-31 17:41:19 -05:00
Jobobby04 d6982a32d3 Fix build 2022-12-31 17:39:50 -05:00
arkon 824713036a Unify layout for new update and crash screens
(cherry picked from commit 01ec26842d552c8915df379fe7d9ce1d71be373d)
2022-12-31 17:19:30 -05:00
arkon f43b60700e Allow 2 lines for tracker status text
Fixes #8805

(cherry picked from commit bbf58178052ee609cd1538b93cbf09c7a8dae8e8)
2022-12-31 17:19:21 -05:00
jobobby04 7e8b3b0623 Handle 1000+ pages properly in the downloader (#8818)
(cherry picked from commit 611ec8103c21f01db141f58b507a20201e840c9b)
2022-12-31 17:19:10 -05:00
jobobby04 e4d32d9ce6 Handle 1000+ pages properly in the downloader (#8818)
(cherry picked from commit 50981cb1022f2c9ec6db99dd83361abe702abceb)
2022-12-31 17:18:56 -05:00
Henrik 8b77359bc7 filter mangaupdates search (#8813)
(cherry picked from commit 12c672667cd47e553caaef39294e54cf144e8c16)
2022-12-31 17:18:44 -05:00
arkon 900774b931 Update OkHttp
(cherry picked from commit db3c98fe72)
2022-12-25 20:46:28 -05:00
arkon bf628d878d Increase max library column size back to 10
Fixes #8798

(cherry picked from commit f401574f5a)
2022-12-24 16:35:18 -05:00
AntsyLich 414049033a Properly fix #8720 (#8797)
* Partially revert "Move library page EmptyScreens into list/grids"

This partially reverts commit 376bbeb724.

* Properly fix issue 8720

(cherry picked from commit 3251fb36c8)
2022-12-24 16:35:11 -05:00
Ivan Iskandar 55e525b175 TrackDateRemoverScreen: Fix pop behavior after confirming removal (#8792)
(cherry picked from commit 94a410f50f)
2022-12-24 16:35:04 -05:00
arkon ee1b3f6bec Update baseline profile
(cherry picked from commit a14c01c1de)
2022-12-24 16:34:56 -05:00
renovate[bot] 31e6a28091 Update plugin kotlinter to v3.13.0 (#8783)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit ca3b948628)

# Conflicts:
#	gradle/libs.versions.toml
2022-12-24 16:34:51 -05:00
stevenyomi 5586cbeb16 Fix browse search query display and keyboard focus (#8781)
(cherry picked from commit a8230ad574)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt
2022-12-24 16:34:22 -05:00
Jobobby04 562b264048 Fix some issues with preferences not updating the UI 2022-12-24 16:29:22 -05:00
Jobobby04 389156944c Minor reader cleanup 2022-12-21 18:07:15 -05:00
Jobobby04 871c7ad291 Delete unused files 2022-12-21 16:11:10 -05:00
Jobobby04 afd94e3fc9 Fix reader title 2022-12-21 16:10:45 -05:00
Jobobby04 8d3888a572 Coerce current pager page better 2022-12-21 13:27:37 -05:00
Jobobby04 a9e2394c6d Bugfixes for migration UI 2022-12-20 19:17:31 -05:00
Jobobby04 7a14d9e17b Fix migration buttons sometimes doing nothing 2022-12-20 18:52:36 -05:00
Jobobby04 11b9a71034 Fix center margin breaking image loading 2022-12-20 16:39:33 -05:00
Ivan Iskandar 8bab648b44 Pager: Bring back previous snapping behavior (#8776)
New default LazyList snap behavior is optimized for non-pager use.

(cherry picked from commit 8e1b5b4803)
2022-12-20 15:44:43 -05:00
Ivan Iskandar 82fdbad6bf Update WorkManager (#8772)
(cherry picked from commit 8552838bda)

# Conflicts:
#	.github/renovate.json
2022-12-20 15:44:35 -05:00
Jobobby04 708b868e7b MangaDex OAuth
Co-authored-by: Carlos <2092019+CarlosEsco@users.noreply.github.com>
2022-12-20 13:34:01 -05:00
Jobobby04 54c9ef51a6 Only get relevant merged manga in reader 2022-12-18 16:20:51 -05:00
Jobobby04 e294bd8bdb Fix page previews not going to the correct page 2022-12-18 12:49:59 -05:00
Jobobby04 33d5c08597 Minor cleanup 2022-12-17 23:33:56 -05:00
Jobobby04 28d0353306 E-Hentai login is now a secure activity 2022-12-17 23:33:40 -05:00
Jobobby04 7ab81771fe Reduce legacy database models usage 2022-12-17 23:33:22 -05:00
Weblate (bot) 260517c708 Translations update from Hosted Weblate (#8663)
Weblate translations

Co-authored-by: Abay Emes <abayemes@gmail.com>
Co-authored-by: Abou <aboozar.gh.r@gmail.com>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: Alex Maryson Jr <akamar87@gmail.com>
Co-authored-by: Ali Aljishi <ahj696@hotmail.com>
Co-authored-by: Bujdosf <bujdos.f01@gmail.com>
Co-authored-by: Dan <denqwerta@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: Dexroneum <Rozhenkov69@gmail.com>
Co-authored-by: Diego <gonzalediego1@gmail.com>
Co-authored-by: Edi <mizumymommy@gmail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: GuN4iK <maksimpradko59@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: ID-86 <id86dev@gmail.com>
Co-authored-by: InfinityDouki56 <ced.paltep10@gmail.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Nguyễn Trung Đức <vaicato16@gmail.com>
Co-authored-by: Othmane El Alami <othmane.elalami@nupsol.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Rostyslav Haitkulov <info@ubilling.net.ua>
Co-authored-by: Sana Thanks <thankssana4@gmail.com>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: TheKingTermux <achmadmaulana0233@gmail.com>
Co-authored-by: Uzuki Shimamura <hzy980512@126.com>
Co-authored-by: Vetle Ledaal <vetle.ledaal@gmail.com>
Co-authored-by: altinat <altinat@duck.com>
Co-authored-by: aşina orkan göksel aşina <examplehuman@outlook.com>
Co-authored-by: blindmodz <sebareyes.1994@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: jinu147 <nesqea20@gmail.com>
Co-authored-by: lb-fes <2241373229@qq.com>
Co-authored-by: michalani <michal.anisimow@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ar/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/cs/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/de/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/el/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/eo/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/es/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/es_419/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fa/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fil/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/hr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/hu/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/id/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/it/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ja/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/kk/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ko/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ms/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/pl/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ro/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ru/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sc/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/th/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/tr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/uk/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/vi/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hant/
Translation: Tachiyomi/Tachiyomi 0.x

Co-authored-by: Abay Emes <abayemes@gmail.com>
Co-authored-by: Abou <aboozar.gh.r@gmail.com>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: Alex Maryson Jr <akamar87@gmail.com>
Co-authored-by: Ali Aljishi <ahj696@hotmail.com>
Co-authored-by: Bujdosf <bujdos.f01@gmail.com>
Co-authored-by: Dan <denqwerta@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: Dexroneum <Rozhenkov69@gmail.com>
Co-authored-by: Diego <gonzalediego1@gmail.com>
Co-authored-by: Edi <mizumymommy@gmail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: GuN4iK <maksimpradko59@gmail.com>
Co-authored-by: ID-86 <id86dev@gmail.com>
Co-authored-by: InfinityDouki56 <ced.paltep10@gmail.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Nguyễn Trung Đức <vaicato16@gmail.com>
Co-authored-by: Othmane El Alami <othmane.elalami@nupsol.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Rostyslav Haitkulov <info@ubilling.net.ua>
Co-authored-by: Sana Thanks <thankssana4@gmail.com>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: TheKingTermux <achmadmaulana0233@gmail.com>
Co-authored-by: Uzuki Shimamura <hzy980512@126.com>
Co-authored-by: Vetle Ledaal <vetle.ledaal@gmail.com>
Co-authored-by: altinat <altinat@duck.com>
Co-authored-by: aşina orkan göksel aşina <examplehuman@outlook.com>
Co-authored-by: blindmodz <sebareyes.1994@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: jinu147 <nesqea20@gmail.com>
Co-authored-by: lb-fes <2241373229@qq.com>
Co-authored-by: michalani <michal.anisimow@gmail.com>
(cherry picked from commit dac04f2929)
2022-12-17 23:32:36 -05:00
stevenyomi f02d41051e Pass listing query to BrowseSourceScreen (#8763)
# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/SourcesScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesTab.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
2022-12-17 23:32:35 -05:00
stevenyomi a6d0031462 BrowseSourceScreen: fix navigate up and filter sheet (#8761)
(cherry picked from commit 817e144ff6)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt
2022-12-17 23:18:17 -05:00
Ivan Iskandar c081efba4b AdaptiveSheet: Don't blindly consume back event (#8760)
(cherry picked from commit 9d2d78ae5b)
2022-12-17 23:17:20 -05:00
stevenyomi 91f6abec98 Fix snackbar blocking refreshing state in MangaScreen (#8759)
(cherry picked from commit c44db54d9f)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
2022-12-17 23:17:07 -05:00
arkon 01993baa90 Move library page EmptyScreens into list/grids
It does look awkward due to the lack of filled height within those list/grids though.

Fixes #8720
Fixes #8721

(cherry picked from commit 376bbeb724)
2022-12-17 23:13:55 -05:00
arkon b364ffdeea Minor cleanup
(cherry picked from commit 0e2bdb7863)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerViewer.kt
2022-12-17 23:13:44 -05:00
Ivan Iskandar 149ac4a363 Fix indexing notif not showing (#8758)
(cherry picked from commit 235bc77457)
2022-12-17 22:56:24 -05:00
Two-Ai 5a449ec80a Track Page progress with StateFlow (#8749)
* Update ReaderProgressIndicator documentation

ReaderProgressIndicator is not always determinate (cc554530, #5605).

* Track Page progress with StateFlow

(cherry picked from commit 593172f891)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt
2022-12-17 22:56:11 -05:00
Ivan Iskandar 4243d389f8 App state banner tweaks (#8746)
* Move download indexing notification to this banner group
* Animate state changes

(cherry picked from commit e20c66b156)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
2022-12-17 22:33:57 -05:00
arkon 997509a2d3 Use actual indexes instead of existing order number when reordering categories
Fixes #8738

(cherry picked from commit 5f4825465e)
2022-12-16 01:02:06 -05:00
arkon 7f1d8f51c5 Sort global search source results properly
Fixes #8741

(cherry picked from commit bc6a12a4f7)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateSearchScreenModel.kt
2022-12-16 01:01:42 -05:00
arkon 7a3b7f4daa Don't start at last read page if chapter is completely marked as read
Fixes #8737

(cherry picked from commit 90db3acefd)
2022-12-16 00:57:40 -05:00
arkon 33b054edfa Fix crash if tapping title when opening reader directly
(cherry picked from commit 2f2f59279d)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
2022-12-16 00:57:21 -05:00
arkon dd367f2f70 Better handle status bar light/dark icons based on banner background color
(cherry picked from commit 4992f87cb1)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
2022-12-16 00:50:15 -05:00
Jays2Kings d6a4f1ea14 Check ext lib version when checking for updates (#8740)
(cherry picked from commit 7608cb0da3)
2022-12-16 00:49:37 -05:00
arkon 635b112452 Convert download cache/queue flows into SharedFlows
Fixes #8727

(cherry picked from commit 9dd9e741f3)
2022-12-16 00:49:27 -05:00
Two-Ai 40165dd270 Fix SetMangaViewerFlags (#8719)
Stop clearing old viewer flags when setting a flag

(cherry picked from commit 171db639ff)
2022-12-16 00:49:14 -05:00
arkon e5ad53e1d3 Remove unused resources
(cherry picked from commit 3ede42252c)
2022-12-16 00:43:37 -05:00
renovate[bot] d878d4c072 Update richtext to v0.16.0 (#8716)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit a94ca175e2)
2022-12-16 00:34:50 -05:00
arkon 35817cc7c5 Add Assistant content URLs
This is surfaced in recents on Pixel devices for example.
Docs: https://developer.android.com/guide/app-actions/assistant-sharing

Co-authored-by: Jays2Kings <Jays2Kings@users.noreply.github.com>
(cherry picked from commit 3749cee28f)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt
2022-12-16 00:34:42 -05:00
Ivan Iskandar 277a0b38bb Adjust insets handling in tablet UI (#8711)
* Adds startBar slot in Scaffold to handle nav rail
* Consumes unneeded insets in settings

(cherry picked from commit ca500da4d8)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/home/HomeScreen.kt
2022-12-16 00:32:14 -05:00
Ivan Iskandar afd6f3c182 Move system bar color set to the main composable (#8710)
This one doesn't check navbar location before adding a scrim, doesn't really
matter since now no body component is being drawn below the system bar.

(cherry picked from commit 820ed6a468)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
2022-12-16 00:30:29 -05:00
arkon 623f0e2612 Pull out settings sheet items as reusable composables
(cherry picked from commit 7cbe18d325)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/ChapterSettingsDialog.kt
2022-12-16 00:23:07 -05:00
Soitora 5ac5005116 Add back option to hide Updates count (#8709)
Adds back the option to hide the updates count on the Updates tab

(cherry picked from commit 8937e22ce4)
2022-12-16 00:10:53 -05:00
Ivan Iskandar af8c4fe835 Adjust screen transitions (#8707)
* Fade transition between main navigation tabs
* Shared axis X between screen stacks

Activity transition is using a "close enough" shared axis X xml animation

(cherry picked from commit 82a3a98a5a)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
2022-12-16 00:10:39 -05:00
Ivan Iskandar 8da293ad91 Move app state banner to the very top (#8706)
This moves the banners to the root composable and so eliminates the need to
track the app states in every screen.

(cherry picked from commit d97eab0328)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/MoreScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/BrowseTab.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/main/MainActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
2022-12-15 22:36:08 -05:00
arkon 7d871ccfd3 Abstract ChapterSettingsDialog for reuse elsewhere
(cherry picked from commit a61e2799db)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/ChapterSettingsDialog.kt
2022-12-15 22:19:09 -05:00
arkon 68b1012c65 Reuse basic theme preview annotation
(cherry picked from commit 1009e15aa6)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/widget/TextPreferenceWidget.kt
2022-12-15 22:06:31 -05:00
zbue 6ada7f239a Show empty screen when a category is empty (#8690)
* Show empty screen when a category is empty

* Review changes

* Review changes #2

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

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
2022-12-15 22:06:03 -05:00
arkon e53a5cf429 Use proper category when getting random item
Fixes #8700

(cherry picked from commit ed5e013874)
2022-12-15 22:05:16 -05:00
arkon 16879e02e8 Disable Jetifier
(cherry picked from commit f8e4153dbf)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
2022-12-15 22:05:06 -05:00
Ivan Iskandar de6a5bf67b Replace reader's Presenter with ViewModel (#8698)
includes:
* Use coroutines in more places
* Use domain Manga data class and effectively changing the state system
* Replace deprecated onBackPress method

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

# Conflicts:
#	.github/renovate.json
#	app/src/main/java/eu/kanade/domain/manga/model/Manga.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt
2022-12-15 22:04:20 -05:00
arkon 3d8f3b34b7 Bump dependencies
(cherry picked from commit e748d91d4a)
2022-12-15 21:30:14 -05:00
stevenyomi c94505d289 Migrate Accompanist SwipeRefresh to Compose PullRefresh (#8106)
(cherry picked from commit 2c4ddca38e)
2022-12-15 21:21:29 -05:00
Two-Ai 5eca2bdf28 Cleanup Page status (#8696)
* Cleanup Page statusSubject and statusCallback

* Convert Page status from Int to enum

(cherry picked from commit 6ca32710be)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPageSheet.kt
#	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
2022-12-15 21:21:04 -05:00
Ivan Iskandar 9e8cd05c13 GlobalSearchScreen: Add unique key (#8693)
Avoids crash when an old screen is being replaced by a new one

(cherry picked from commit f05e251991)
2022-12-15 21:08:31 -05:00
arkon c81da465f6 Avoid some crashes
(cherry picked from commit a3f3f9d562)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
2022-12-15 21:08:23 -05:00
zbue b2df0340e4 Fix appbar back button in global search screen (#8689)
(cherry picked from commit 410fcb73c5)
2022-12-15 21:07:41 -05:00
arkon d59ec04812 Avoid crashing when clearing cookies for invalid source URLs
e.g. Komga sources with no URLs set

(cherry picked from commit b6d6de6b9f)
2022-12-15 21:07:31 -05:00
Jobobby04 a280a5ed77 Simplify EHentaiUpdateHelper 2022-12-15 21:06:24 -05:00
Jobobby04 755f3377ad Fix hidden sources showing up in global search 2022-12-15 21:05:47 -05:00
Jobobby04 3da9f2e067 Fix library sorting 2022-12-15 21:05:30 -05:00
arkon bcad021e00 Handle intent after navigator is initialized
Fixes crash if opening from widget or notification when activity isn't already launched.

(cherry picked from commit 09cebf20f3)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
2022-12-05 17:28:55 -05:00
arkon 44feb3569d Fix opening download notification only going to More tab
(cherry picked from commit a8c732d67b)
2022-12-05 17:19:39 -05:00
arkon afec4f43eb Minor cleanup
(cherry picked from commit c88b79fa17)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt
2022-12-05 17:19:02 -05:00
Dexroneum 01fd88a666 Translations (#751) 2022-12-05 16:05:09 -05:00
Jobobby04 266b4c4dd7 Replace DebugOverlay library with a custom composable 2022-12-05 14:57:33 -05:00
arkon 0663928b6b Always show library tabs and counts when searching
Closes #8680

(cherry picked from commit 3f9820ac79)
2022-12-05 13:46:35 -05:00
Ivan Iskandar acb251cc96 Fix ANR when opening from notification/widget (#8683)
(cherry picked from commit c288e6b8fa)
2022-12-05 13:45:58 -05:00
Ivan Iskandar f14bb4c736 Change source preference theming fix (#8679)
(cherry picked from commit 8945ef8880)
2022-12-05 13:45:48 -05:00
arkon c93a696344 Hide webtoon reader scrollbars
Fixes #8676

(cherry picked from commit 99a717f849)
2022-12-05 13:45:40 -05:00
Jobobby04 c756611005 Fix MigrationSourceItem handlebar color 2022-12-04 19:34:13 -05:00
Jobobby04 290e962a57 Fix source tab long click 2022-12-04 16:39:08 -05:00
Jobobby04 de4567a508 Fix crash with migration list screen being put in the background 2022-12-04 16:21:06 -05:00
arkon 1789d65ad6 Fix local source detail JSON files not being read if .noxml was created
Fixes #8549

(cherry picked from commit 4622b18c99)
2022-12-04 15:46:59 -05:00
arkon eacc11634f Fix unusable categories when content is filtered out
Fixes #8675
Effectively reverts #8633, which introduces weird edge cases

(cherry picked from commit 4f5270cb7d)
2022-12-04 15:46:52 -05:00
arkon 2fa43ba2c0 Truncate long nav bar/rail items
Fixes #8670

(cherry picked from commit 719d427956)
2022-12-04 15:46:42 -05:00
arkon 29d9f1245d Tweak manga cover dialog UI
Closes #8654, although it's just a workaround. The cover itself doesn't appear within the inset areas when zoomed.

(cherry picked from commit d7a21771a5)
2022-12-04 15:46:36 -05:00
Ivan Iskandar 5298ddb70f Fix appbar back button in Settings screen (#8674)
(cherry picked from commit be854b3e90)
2022-12-04 15:46:06 -05:00
Ivan Iskandar 270690e513 Track sheet fixes (#8673)
* Fix Track sheet not being disposed properly

* Change insets handling

(cherry picked from commit 47f079891f)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/util/Navigator.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt
2022-12-04 15:45:58 -05:00
arkon 4b2acc29f5 More domain model migrations
(cherry picked from commit 696dc59ea5)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/database/models/Manga.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.kt
2022-12-04 15:41:20 -05:00
Two-Ai 3120a940fe Migrate Download to domain model (#8664)
(cherry picked from commit 5f6666a438)
2022-12-04 15:30:01 -05:00
renovate[bot] 3007c7d9b6 [skip ci] Update dessant/lock-threads action to v4 (#8666)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit f284a656d7)
2022-12-04 15:29:51 -05:00
Jobobby04 19099cd353 Add saved searches to state 2022-12-03 19:41:03 -05:00
Jobobby04 7273e48960 Minor cleanup 2022-12-03 19:23:50 -05:00
Jobobby04 c6af0456ed Fix updates tab hiding if history is hidden 2022-12-03 19:23:41 -05:00
Jobobby04 652bf68859 Fix Migration screen exiting instantly 2022-12-03 19:23:19 -05:00
Jobobby04 0a9f438894 Fix Pre Migration FAB floating a bit too much 2022-12-03 19:23:00 -05:00
Jobobby04 49924957d2 Improve migration error display 2022-12-03 19:22:36 -05:00
Jobobby04 8b57decea6 Use Compose version of SyncFavoritesWarningDialog 2022-12-03 19:01:03 -05:00
Jobobby04 9a55b70d91 Add an artificial delay so SourceManager can add ExHentai 2022-12-03 18:10:15 -05:00
Weblate (bot) 4b338507b6 Translations update from Hosted Weblate (#8622)
Weblate translations

Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: Cypral <cypral@hotmail.fr>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: Dexroneum <Rozhenkov69@gmail.com>
Co-authored-by: Gediminas Murauskas <muziejusinfo@gmail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Hatem Ghouthi <hatemghouthi@yahoo.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: ID-86 <id86dev@gmail.com>
Co-authored-by: Kaenova Mahendra Auditama <kaenova@gmail.com>
Co-authored-by: Kostiantyn Kopelets <kostyakopkop@gmail.com>
Co-authored-by: Luka Paun <croluxgame@gmail.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Nguyễn Trung Đức <vaicato16@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: SameDesu123 <jjunleegood@gmail.com>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: Uzuki Shimamura <hzy980512@126.com>
Co-authored-by: Vetle Ledaal <vetle.ledaal@gmail.com>
Co-authored-by: altinat <altinat@duck.com>
Co-authored-by: jinu147 <nesqea20@gmail.com>
Co-authored-by: lb-fes <2241373229@qq.com>
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ar/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/cs/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/de/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/el/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/es/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fr/
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/it/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ja/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ko/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/lt/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ms/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ru/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sc/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/th/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/tr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/uk/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/vi/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hant/
Translation: Tachiyomi/Tachiyomi 0.x

Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: Cypral <cypral@hotmail.fr>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: Dexroneum <Rozhenkov69@gmail.com>
Co-authored-by: Gediminas Murauskas <muziejusinfo@gmail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Hatem Ghouthi <hatemghouthi@yahoo.com>
Co-authored-by: ID-86 <id86dev@gmail.com>
Co-authored-by: Kaenova Mahendra Auditama <kaenova@gmail.com>
Co-authored-by: Kostiantyn Kopelets <kostyakopkop@gmail.com>
Co-authored-by: Luka Paun <croluxgame@gmail.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Nguyễn Trung Đức <vaicato16@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: SameDesu123 <jjunleegood@gmail.com>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: Uzuki Shimamura <hzy980512@126.com>
Co-authored-by: Vetle Ledaal <vetle.ledaal@gmail.com>
Co-authored-by: altinat <altinat@duck.com>
Co-authored-by: jinu147 <nesqea20@gmail.com>
Co-authored-by: lb-fes <2241373229@qq.com>
(cherry picked from commit 1c3d566f8d)
2022-12-03 17:35:52 -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 373463e995)
2022-12-03 17:35:43 -05:00
Ivan Iskandar b89c2f76a1 Fix BrowseSourceScreen list/grid unnecessary reloads (#8661)
(cherry picked from commit 7be9b49143)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt
2022-12-03 17:35:26 -05:00
Ivan Iskandar 988e2d5343 Fix crash when opening chapter from BrowseSourceScreen (#8657)
(cherry picked from commit 1a70ebe7ea)
2022-12-03 15:17:49 -05:00
arkon 35152e4e75 Replace RxJava in ReaderChapter and reader transitions
(cherry picked from commit beda99bbe0)
2022-12-03 15:07:15 -05:00
arkon 632cbd2b0d Replace some usages of RxJava in reader
(cherry picked from commit bb1e7816e1)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.kt
2022-12-03 15:06:31 -05:00
arkon bcf6904363 Remove some dead code
(cherry picked from commit b0dc20e00c)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/widget/TachiyomiAppBarLayout.kt
2022-12-03 15:04:36 -05:00
Jobobby04 d8ba1774cb Cleanup unused strings, fix a few accidental unused strings 2022-12-03 14:37:04 -05:00
Jobobby04 0784629cbb Remove auto-solve captcha 2022-12-03 13:54:14 -05:00
Ivan Iskandar 726626f2c5 Merge Voyager screens (#8656)
* Merge Voyager screens

* cleanups

(cherry picked from commit 3d66eaea83)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/components/MangaBottomActionMenu.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/AboutScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/base/changehandler/OneWayFadeChangeHandler.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/base/controller/ConductorExtensions.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateSearchScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SourceSearchController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SourceSearchScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesFilterController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesTab.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/BrowseSourceScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/category/CategoryScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/download/DownloadController.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/main/WhatsNewDialogController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/more/MoreTab.kt
#	app/src/main/res/layout/main_activity.xml
2022-12-03 13:25:41 -05:00
Jobobby04 07c7ec972d Move SmartSearchConfig around 2022-12-03 00:19:24 -05:00
arkon 8e2f5aa495 Remove unnecessary base Nucleus classes
The reader still uses it, but we just move stuff to there.

(cherry picked from commit 5313a5d5d2)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/base/activity/BaseRxActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/base/presenter/BasePresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.kt
2022-12-03 00:15:01 -05:00
Ivan Iskandar 22e0f9190b Use Voyager on Source Preference screen (#8651)
(cherry picked from commit 5b189a909b)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/details/SourcePreferencesController.kt
2022-12-02 23:55:31 -05:00
arkon dc4a00401d Migrate to Accompanist M3 theme adapter
(cherry picked from commit 75a687138d)
2022-12-02 23:43:55 -05:00
AntsyLich df4563772e Delayed Tracking Update related fix (#8642)
* Delayed Tracking Update related fix

* Lint

(cherry picked from commit ba91b483a0)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/data/track/TrackRepositoryImpl.kt
#	app/src/main/java/eu/kanade/domain/track/interactor/GetTracks.kt
#	app/src/main/java/eu/kanade/domain/track/repository/TrackRepository.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.kt
#	app/src/main/sqldelight/data/manga_sync.sq
2022-12-02 23:43:47 -05:00
arkon e7824a6891 Fix default category name being shown with empty library
(cherry picked from commit 3a8b5e1b5e)
2022-12-02 23:36:10 -05:00
Jobobby04 6579dddd87 Minor cleanup 2022-12-02 23:35:12 -05:00
Jobobby04 51c5f29b25 Improve Igneous cookie handling 2022-12-01 14:18:52 -05:00
Ivan Iskandar 6402258c83 Use Voyager on BrowseSource and SourceSearch screen (#8650)
Some navigation janks will be dealt with when the migration is complete

(cherry picked from commit 94d1b68598)

# Conflicts:
#	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/components/BrowseSourceComfortableGrid.kt
#	app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceCompactGrid.kt
#	app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceList.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/BrowseSourceController.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/SourceFilterSheet.kt
2022-12-01 13:58:51 -05:00
Jobobby04 6185c95715 Fix feed not outputting errors 2022-11-30 14:18:26 -05:00
Jobobby04 07f0e73d6c Use Coroutines for Feed 2022-11-30 14:13:28 -05:00
Jobobby04 c14b7879a4 Convert Batch Add to Compose + Voyager 2022-11-30 13:59:58 -05:00
Jobobby04 0142e0f771 Fix too many actions in browse source 2022-11-30 12:35:02 -05:00
Jobobby04 d18625c69f Make CustomMangaInfo stable 2022-11-29 20:12:54 -05:00
Jobobby04 b7561184ea Fix navigating out when all migrations are done or skipped 2022-11-29 20:12:24 -05:00
Jobobby04 afbe097f76 Minor cleanup 2022-11-29 20:12:01 -05:00
Jobobby04 d361a12dfc Fix editing info not updating UI 2022-11-29 19:59:09 -05:00
Jobobby04 08adfdc21d Fix edit info saving not closing the dialog 2022-11-29 19:48:45 -05:00
Dexroneum 9747f1ba91 Translations (#748)
* Translations

* Fix 1 string
2022-11-29 17:30:04 -05:00
Dexroneum 3db190138a Change delay() time (#741) 2022-11-29 16:03:29 -05:00
Dexroneum f7ea3b6d7a Migration Item fixes (#744)
* Migration Item fixes

* Applying order
2022-11-29 16:03:04 -05:00
arkon 99947a29f0 Fix refreshing state for extensions tab
Fixes #8644
Also add an extra delay in case it's super fast.

(cherry picked from commit 8eda4df71f)
2022-11-29 12:11:43 -05:00
AntsyLich cd6fb04085 Fix Stub Source migration screen broken (#8643)
* Fix Stub Source migration screen broken

* Lint

(cherry picked from commit 8ad9337863)
2022-11-29 12:11:33 -05:00
Jobobby04 ba0b212149 Fix autocomplete removing valid prefixes 2022-11-28 22:31:58 -05:00
Ivan Iskandar 02b930d3e6 Use Voyager on Downloads screen (#8640)
(cherry picked from commit cd13e187cf)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/download/DownloadPresenter.kt
2022-11-28 22:29:14 -05:00
Ivan Iskandar 3bed58d5f0 Complete Settings migration to Voyager (#8639)
Now the Controller wrapper can be yeeted anytime

(cherry picked from commit bcc21e55bd)
2022-11-28 22:28:16 -05:00
arkon 11ab8925b3 Don't remove queued downloads when deleting manga after chapter deletion
(cherry picked from commit 5fbecfd7b7)

# 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 3480b45098)

# 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
renovate[bot] 250736ced7 Update dependency ch.acra:acra-http to v5.9.7 (#8636)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 5076ab3049)
2022-11-28 22:22:32 -05:00
arkon 7f97754bfe Minor global search UI tweaks
(cherry picked from commit 44366ac058)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateSearchScreen.kt
2022-11-28 22:22:23 -05:00
Jobobby04 658c84bef8 Use Voyager for source feed 2022-11-28 22:21:34 -05:00
arkon bd73eff732 Remove dead code
(cherry picked from commit 4f2a794fba)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/widget/AutofitRecyclerView.kt
#	app/src/main/java/eu/kanade/tachiyomi/widget/DialogCheckboxView.kt
#	app/src/main/java/eu/kanade/tachiyomi/widget/EmptyView.kt
#	app/src/main/res/layout/common_dialog_with_checkbox.xml
2022-11-28 20:59:26 -05:00
Dexroneum c71de8d1af Show toolbarTitle depending of size (#8633)
(cherry picked from commit fe6aa4358f)
2022-11-28 20:41:59 -05:00
Andreas d2182ed380 Use Compose on Global/Migrate Search screen (#8631)
* Use Compose on Global/Migrate Search screen

- Refactor to use Voyager and Compose
- Use sealed class for state
- Somethings are broken/missing due to screens using different navigation libraries

* Review changes

(cherry picked from commit f99b62a069)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceComfortableGrid.kt
#	app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceCompactGrid.kt
#	app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceList.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/manga/MigrationMangaScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SourceSearchController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/globalsearch/GlobalSearchController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/globalsearch/GlobalSearchPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt
2022-11-28 20:41:43 -05:00
Jobobby04 d59d960c6a Use Voyager for migration 2022-11-28 19:41:04 -05:00
arkon e7c2970561 Show empty library message properly
Fixes #8632
The `library` map still contains the default category even when "empty".

(cherry picked from commit ac1bed38f9)
2022-11-28 16:12:01 -05:00
Ivan Iskandar a0e2f12635 Fix library not loading when not logged in to any tracker (#8629)
(cherry picked from commit 217b03a292)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
2022-11-28 16:11:53 -05:00
renovate[bot] f0703648df Update aboutlib_version to v10.5.2 (#8626)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 28bceffc6f)
2022-11-28 16:11:15 -05:00
renovate[bot] a0cefb1007 Update dependency gradle to v7.6 (#8630)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 09266a155c)

# Conflicts:
#	gradle/wrapper/gradle-wrapper.jar
#	gradlew.bat
2022-11-28 16:11:09 -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 3d7591feca)

# 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
Ivan Iskandar 9384d45282 Use Voyager on Library tab (#8620)
(cherry picked from commit e14909fff4)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/LibraryScreen.kt
#	app/src/main/java/eu/kanade/presentation/library/LibraryState.kt
#	app/src/main/java/eu/kanade/presentation/library/components/LibraryContent.kt
#	app/src/main/java/eu/kanade/presentation/library/components/LibraryTabs.kt
#	app/src/main/java/eu/kanade/presentation/library/components/LibraryToolbar.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibrarySettingsSheet.kt
2022-11-28 16:03:21 -05:00
Weblate (bot) cae8e18a9d Translations update from Hosted Weblate (#8567)
Weblate translations

Co-authored-by: Abay Emes <abayemes@gmail.com>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: CherryMonster222 <eljubeily+github@pm.me>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: Dexroneum <Rozhenkov69@gmail.com>
Co-authored-by: Eduard Ereza Martínez <eduard@ereza.cat>
Co-authored-by: Gediminas Murauskas <muziejusinfo@gmail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: ID-86 <id86dev@gmail.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Jetspectre <jetspectre1@gmail.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Nepx <anandabaskara@outlook.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Rostyslav Haitkulov <info@ubilling.net.ua>
Co-authored-by: Te quiero <ilytequiero@gmail.com>
Co-authored-by: TheKingTermux <achmadmaulana0233@gmail.com>
Co-authored-by: Uzuki Shimamura <hzy980512@126.com>
Co-authored-by: Vetle Ledaal <vetle.ledaal@gmail.com>
Co-authored-by: alex <hdhdhfhfbbffhhfhfjfjf@gmail.com>
Co-authored-by: altinat <altinat@duck.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: jinu147 <nesqea20@gmail.com>
Co-authored-by: stevenlele <stevenlele@outlook.com>
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ar/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ca/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ceb/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/cs/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/de/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/el/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/es/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fil/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fr/
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/it/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ja/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/kk/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ko/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/lt/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ms/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ro/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ru/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/th/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/tr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/uk/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hant/
Translation: Tachiyomi/Tachiyomi 0.x

Co-authored-by: Abay Emes <abayemes@gmail.com>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: CherryMonster222 <eljubeily+github@pm.me>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: Dexroneum <Rozhenkov69@gmail.com>
Co-authored-by: Eduard Ereza Martínez <eduard@ereza.cat>
Co-authored-by: Gediminas Murauskas <muziejusinfo@gmail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: ID-86 <id86dev@gmail.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Jetspectre <jetspectre1@gmail.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Nepx <anandabaskara@outlook.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Rostyslav Haitkulov <info@ubilling.net.ua>
Co-authored-by: Te quiero <ilytequiero@gmail.com>
Co-authored-by: TheKingTermux <achmadmaulana0233@gmail.com>
Co-authored-by: Uzuki Shimamura <hzy980512@126.com>
Co-authored-by: Vetle Ledaal <vetle.ledaal@gmail.com>
Co-authored-by: alex <hdhdhfhfbbffhhfhfjfjf@gmail.com>
Co-authored-by: altinat <altinat@duck.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: jinu147 <nesqea20@gmail.com>
Co-authored-by: stevenlele <stevenlele@outlook.com>
(cherry picked from commit fe579c4865)
2022-11-26 17:08:41 -05:00
Jobobby04 f5f1ab5917 Remove unused resources 2022-11-26 17:08:24 -05:00
Jobobby04 e696b95330 Convert mass migration to compose 2022-11-26 15:25:03 -05:00
arkon aaddb4bf00 Remove usage of PublishRelay in DownloadQueue
(cherry picked from commit 37118088d4)
2022-11-26 13:51:01 -05:00
arkon 44c324f145 Use Voyager between more screens
(cherry picked from commit 5c9e9bd2c4)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsLibraryScreen.kt
2022-11-26 13:50:52 -05:00
Andreas da1bf0f3f7 Use Voyager between supported screens in Extension package (#8616)
- Minor state behavior changes

(cherry picked from commit db35ba53b1)
2022-11-26 13:45:40 -05:00
AntsyLich 4727e61f90 Disable generating ComicInfo.xml on download (#8619)
* Disable generating ComicInfo.xml on download

* Remove unused import

(cherry picked from commit 758d223776)
2022-11-26 13:45:31 -05:00
AntsyLich c7b7cb4d1e Add "jitpack" maven repo to pluginMangment (#8617)
(cherry picked from commit 21a9bf2463)
2022-11-26 13:45:22 -05:00
arkon 9fb68b28f2 Fix Kavita interceptor crashing app + minor cleanup
(cherry picked from commit a54d9912d0)
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 7e74949d38)
2022-11-26 13:45:07 -05:00
Andreas fe15c0d603 Use Voyager on Migrate Manga screen (#8611)
(cherry picked from commit a8c5780963)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/manga/MigrationMangaController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/sources/MigrateSourceTab.kt
2022-11-26 13:45:02 -05:00
Jobobby04 7df12c68fd Use Voyager for a few screens 2022-11-26 13:36:06 -05:00
Ivan Iskandar bf9b2ca2ff Use Voyager on Browse tab (#8605)
(cherry picked from commit f4ac754d02)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/MigrateSourceScreen.kt
#	app/src/main/java/eu/kanade/presentation/browse/SourcesScreen.kt
#	app/src/main/java/eu/kanade/presentation/browse/SourcesState.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/BrowseController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/BrowsePresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/sources/MigrateSourceTab.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesTab.kt
2022-11-24 18:13:10 -05:00
AntsyLich 0b9b6612fd Cleanup [Downloader.ensureSuccessfulDownload] (#8602)
(cherry picked from commit 0347d3970a)
2022-11-24 16:42:08 -05:00
Ivan Iskandar aee45b1264 Use Voyager on Updates tab (#8603)
* Use Voyager on Updates tab

* Fix back press

* Fix selection

(cherry picked from commit acc2312384)
2022-11-24 16:41:59 -05:00
Jobobby04 4d7b6f8167 Cherry pick fixes 2022-11-24 16:41:50 -05:00
Ivan Iskandar 46b0bec926 Change settings screen to object (#8604)
(cherry picked from commit 7d34ff214c)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/AboutScreen.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsMainScreen.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsSearchScreen.kt
2022-11-24 16:41:33 -05:00
arkon 36b1b4ed5f Avoid concurrency issues when reordering categories
Maybe fixes #8372

(cherry picked from commit e2179a6669)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/category/CategoryScreenModel.kt
2022-11-24 16:25:33 -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 5c37347cec)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadManager.kt
2022-11-24 16:24:58 -05:00
Joseph Olugbohunmi c07ccf7943 Implement copying of Manga URL to Clipboard (#8587)
feat: Implement copying of Manga URL to Clipboard
(cherry picked from commit ef3a6c80a7)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt
2022-11-24 16:23:20 -05:00
arkon 6a79e90b53 Allow zooming in WebView
Note that this does not force-enable zooming on pages with set viewports (which typically implies proper mobile scaling).
Closes #8588

(cherry picked from commit 2a2c6cee5f)
2022-11-24 16:21:23 -05:00
Andreas ed59ba07c1 Remove unused resources (#8578)
(cherry picked from commit 7dff3cc6cb)
2022-11-24 16:21:11 -05:00
arkon 889fec251e Don't attempt to check chapter download status for local chapters
Fixes #8541

(cherry picked from commit 8c1171a722)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
2022-11-24 16:08:04 -05:00
arkon 4ec1065df2 Fix invert tapping dropdown not updating checked state in reader
Fixes #8566
Should ideally just Compose-ify it all some day.

(cherry picked from commit 2c850d0e33)
2022-11-24 16:06:28 -05:00
Andreas 2e24ae62a4 Use Voyager on Extension Details screen (#8576)
(cherry picked from commit f1b85ff39d)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/ExtensionDetailsScreen.kt
2022-11-24 16:06:17 -05:00
renovate[bot] 3fc84dc268 Update dependency com.github.requery:sqlite-android to v3.39.2
(cherry picked from commit b7fa25777d)
2022-11-24 15:48:03 -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 2d86f69caa)
2022-11-24 15:47:54 -05:00
arkon 4f8d2f3fd7 Use current timezone when setting tracker dates
Fixes #8553

(cherry picked from commit e22896a956)
2022-11-24 15:47:46 -05:00
arkon 37ea7a7d52 Add back track icon onClick and title onLongClick actions
Closes #8565
Closes #8536

(cherry picked from commit be5802e473)
2022-11-24 15:47:37 -05:00
Weblate (bot) 4ca18a5053 Translations update from Hosted Weblate (#8515)
Weblate translations

Co-authored-by: Abay Emes <abayemes@gmail.com>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: Claudio Angileri <cloud019998@gmail.com>
Co-authored-by: Cường Bá <cuongba956@gmail.com>
Co-authored-by: Dexroneum <Rozhenkov69@gmail.com>
Co-authored-by: Eduard Ereza Martínez <eduard@ereza.cat>
Co-authored-by: Gediminas Murauskas <muziejusinfo@gmail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: ID-86 <id86dev@gmail.com>
Co-authored-by: InfinityDouki56 <ced.paltep10@gmail.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Kapiten Levi <kapitenlevi1@gmail.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: MXC48 <mxcvan@protonmail.com>
Co-authored-by: Moonlight! <kapitenlevi1@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Ronny Teixeira <ronnyteixeira15@hotmail.com>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: Uzuki Shimamura <hzy980512@126.com>
Co-authored-by: Vetle Ledaal <vetle.ledaal@gmail.com>
Co-authored-by: altinat <altinat@duck.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: jinu147 <nesqea20@gmail.com>
Co-authored-by: stevenlele <stevenlele@outlook.com>
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ca/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/cs/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/de/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/el/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/es/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fil/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/it/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ja/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/kk/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ko/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/lt/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/pt/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ru/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sc/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sq/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/th/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/tr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/vi/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hant/
Translation: Tachiyomi/Tachiyomi 0.x

Co-authored-by: Abay Emes <abayemes@gmail.com>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: Claudio Angileri <cloud019998@gmail.com>
Co-authored-by: Cường Bá <cuongba956@gmail.com>
Co-authored-by: Dexroneum <Rozhenkov69@gmail.com>
Co-authored-by: Eduard Ereza Martínez <eduard@ereza.cat>
Co-authored-by: Gediminas Murauskas <muziejusinfo@gmail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: ID-86 <id86dev@gmail.com>
Co-authored-by: InfinityDouki56 <ced.paltep10@gmail.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Kapiten Levi <kapitenlevi1@gmail.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: MXC48 <mxcvan@protonmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Ronny Teixeira <ronnyteixeira15@hotmail.com>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: Uzuki Shimamura <hzy980512@126.com>
Co-authored-by: Vetle Ledaal <vetle.ledaal@gmail.com>
Co-authored-by: altinat <altinat@duck.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: jinu147 <nesqea20@gmail.com>
Co-authored-by: stevenlele <stevenlele@outlook.com>
(cherry picked from commit 434c90d378)
2022-11-24 15:47:26 -05:00
arkon 44603a3efa Limit parallelism for Coil image loading
Reference: https://www.reddit.com/r/androiddev/comments/xbeizp/comment/io4ytdv/

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

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/App.kt
2022-11-24 15:47:17 -05:00
arkon 13c0ab1930 Fix url sharing
Maybe fixes #8539
Based on https://github.com/jobobby04/TachiyomiSY/commit/f52785cbbd2a0f68fd4b5f12aa4180d0182c1ad1

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

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/util/system/IntentExtensions.kt
2022-11-24 15:46:52 -05:00
arkon 3fdaaebc8f Bump dependencies
(cherry picked from commit 6ad6dae191)
2022-11-24 15:46:25 -05:00
AntsyLich 2321e6b0d8 Tweak library selection (#8513)
* Tweak library selection

Also use the new `fast*` extensions functions in other places of library presenter

* Cleanup

(cherry picked from commit 3f34fa1f58)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryItem.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
2022-11-24 15:46:03 -05:00
arkon d12e0954b6 Add shecan DoH provider
Closes #8557

(cherry picked from commit d12ea86b55)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt
2022-11-24 15:30:54 -05:00
arkon 6966768c23 Bump image-decoder dependency
Corresponds with https://github.com/tachiyomiorg/image-decoder/pull/6

(cherry picked from commit a8e45beb51)
2022-11-24 15:30:24 -05:00
Jobobby04 bedba9b94d Fix library not updating the UI 2022-11-24 15:29:35 -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 ba2a528886)
2022-11-24 15:21:55 -05:00
Ivan Iskandar 9e94d078cf Fix monochrome launcher icon not applied when non-round shape is used (#8552)
(cherry picked from commit d60367768b)
2022-11-24 15:20:59 -05:00
Jobobby04 fdb17e2f74 Minor cleanup 2022-11-24 15:18:34 -05:00
Jobobby04 e0ad9f78ac Improve SY specific change declarations 2022-11-24 15:16:58 -05:00
Jobobby04 9dc233cbbd Fix scanlator filter 2022-11-17 20:04:13 -05:00
arkon 2bbb374e40 Set source properly when creating manga entries
Fixes #8333

(cherry picked from commit cac80daa71)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourcePresenter.kt
2022-11-17 18:16:16 -05:00
Jobobby04 402a883f7f Add continue reading button migration 2022-11-17 18:16:15 -05:00
Jobobby04 ab4f08e41a Fix manga category/entry type 2022-11-17 18:16:15 -05:00
Jobobby04 f52785cbbd Fix url sharing 2022-11-17 18:16:14 -05:00
Jobobby04 af36b6a677 Fix updates not updating UI 2022-11-17 18:16:13 -05:00
Jobobby04 ca9beb20c0 Fix too many tracks issue 2022-11-17 18:16:13 -05:00
Dexroneum 4b7fa035fd [RU] Translations (#724) 2022-11-16 14:41:17 -05:00
Jobobby04 f8caecb546 Manual fix for multi-selection 2022-11-16 14:39:12 -05:00
Jobobby04 0752790690 Update E-Hentai tags 2022-11-16 14:29:05 -05:00
Jobobby04 123afa7753 Improve E-H/Exh toplist support 2022-11-16 14:18:01 -05:00
Jobobby04 c8de918e46 Cherry pick fixes 2022-11-16 14:17:26 -05:00
Jobobby04 3b55bc25dd Fix downloaded chapter filter 2022-11-16 14:03:04 -05:00
arkon 27a912c7e6 Show toast when no next chapter found in library
Closes #8522
Will probably become a snackbar at some point.

(cherry picked from commit db6528d3fa)
2022-11-16 13:56:30 -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 f5873d70c6)

# 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
arkon 1202c36a98 Retain previous selected state when updating list states
Fixes #8417

(cherry picked from commit 10e349f76e)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/updates/UpdatesPresenter.kt
2022-11-16 13:54:38 -05:00
arkon 22c828da76 Minor cleanup
Mostly just addressing comments from #8452

(cherry picked from commit b1ccebf329)
2022-11-16 13:52:29 -05:00
Jobobby04 9c78e37802 Cherry pick fixes 2022-11-16 13:52:17 -05:00
Andreas 0fc9cf6779 Make padding names neutral (#8531)
(cherry picked from commit 3407eb84c5)
2022-11-16 13:33:27 -05:00
arkon 4e5d1e9759 Clean up ComicInfo stuff a bit more
(cherry picked from commit 6017229d1b)
2022-11-16 13:33:18 -05:00
arkon 7246671362 Change long press on downloaded chapter icon to open menu
Seems like silently deleting things is confusing to some people.

(cherry picked from commit 4f00af3173)
2022-11-16 13:33:08 -05:00
arkon e1e10b9217 Reword more references to "manga" in strings
(cherry picked from commit afa0a0a0e2)
2022-11-16 13:32:08 -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 92b039fac7)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/track/TrackManager.kt
2022-11-16 13:32:00 -05:00
Ivan Iskandar 3e8fa1c572 Replace numberpicker with wheelpicker (#8501)
* Replace numberpicker with wheelpicker

* cleanups

(cherry picked from commit acc65529a0)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsLibraryScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/widget/MinMaxNumberPicker.kt
2022-11-16 13:31:03 -05:00
Quang Kieu 754feb6751 Temporally Fix #8287 (#8493)
(cherry picked from commit 3061f198e9)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
2022-11-16 13:30:19 -05:00
arkon 72f7b98742 Reword download cache/indexing strings for consistency
(cherry picked from commit 6fc1f4fc21)

# Conflicts:
#	i18n/src/main/res/values/strings.xml
2022-11-16 13:27:12 -05:00
arkon 584bf7dc13 Adjust download cache to ignore irrelevant files
Fixes #8530

(cherry picked from commit 9da232dcd8)

# Conflicts:
#	i18n/src/main/res/values/strings.xml
2022-11-16 13:25:56 -05:00
Ivan Iskandar 33f57f6df7 SearchToolbar: Better physical keyboard support (#8529)
Make enter keys behave like search key of on-screen keyboard

(cherry picked from commit acd43005df)
2022-11-16 13:25:21 -05:00
arkon df63f3e698 Bump test dependencies
(cherry picked from commit c31cf2a03a)
2022-11-16 13:25:14 -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 51c964de3a)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt
2022-11-16 13:25:03 -05:00
renovate[bot] ac1e260e54 Update leakcanary to v2.10 (#8521)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit dad24e785b)
2022-11-16 13:23:41 -05:00
Weblate (bot) 064903e65c Translations update from Hosted Weblate (#8398)
Weblate translations

Co-authored-by: Abay Emes <abayemes@gmail.com>
Co-authored-by: Abou <aboozar.gh.r@gmail.com>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: Arisu <sylphtics@gmail.com>
Co-authored-by: C201 <derasetad@gmail.com>
Co-authored-by: Christian Elbrianno <crse@protonmail.ch>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: Dexroneum <Rozhenkov69@gmail.com>
Co-authored-by: Eduard Ereza Martínez <eduard@ereza.cat>
Co-authored-by: Gediminas Murauskas <muziejusinfo@gmail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Howard Wu <wuhao_2000@outlook.com>
Co-authored-by: ID-86 <id86dev@gmail.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Komar <k99248169@gmail.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Marco Santos <enum.scima@gmail.com>
Co-authored-by: Muhamed Zahiri <muhamedzahiri@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Rostyslav Haitkulov <info@ubilling.net.ua>
Co-authored-by: SHAWKIK ISLAM JOHA <shawkikislam@gmail.com>
Co-authored-by: Sebastian <klein.sebastian@outlook.com>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: TheKingTermux <achmadmaulana0233@gmail.com>
Co-authored-by: Uzuki Shimamura <hzy980512@126.com>
Co-authored-by: Vetle Ledaal <vetle.ledaal@gmail.com>
Co-authored-by: alex <hdhdhfhfbbffhhfhfjfjf@gmail.com>
Co-authored-by: altinat <altinat@duck.com>
Co-authored-by: arkon <eugcheung94@gmail.com>
Co-authored-by: jinu147 <nesqea20@gmail.com>
Co-authored-by: stevenlele <stevenlele@outlook.com>
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/bn/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ca/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/cs/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/cv/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/de/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/el/
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/fil/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/id/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/it/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ja/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/kk/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ko/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/lt/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ms/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ro/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ru/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sc/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sq/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/th/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/tr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/uk/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hant/
Translation: Tachiyomi/Tachiyomi 0.x

Co-authored-by: Abay Emes <abayemes@gmail.com>
Co-authored-by: Abou <aboozar.gh.r@gmail.com>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: Arisu <sylphtics@gmail.com>
Co-authored-by: C201 <derasetad@gmail.com>
Co-authored-by: Christian Elbrianno <crse@protonmail.ch>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: Dexroneum <Rozhenkov69@gmail.com>
Co-authored-by: Eduard Ereza Martínez <eduard@ereza.cat>
Co-authored-by: Gediminas Murauskas <muziejusinfo@gmail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Howard Wu <wuhao_2000@outlook.com>
Co-authored-by: ID-86 <id86dev@gmail.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Komar <k99248169@gmail.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Marco Santos <enum.scima@gmail.com>
Co-authored-by: Muhamed Zahiri <muhamedzahiri@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Rostyslav Haitkulov <info@ubilling.net.ua>
Co-authored-by: SHAWKIK ISLAM JOHA <shawkikislam@gmail.com>
Co-authored-by: Sebastian <klein.sebastian@outlook.com>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: TheKingTermux <achmadmaulana0233@gmail.com>
Co-authored-by: Uzuki Shimamura <hzy980512@126.com>
Co-authored-by: Vetle Ledaal <vetle.ledaal@gmail.com>
Co-authored-by: alex <hdhdhfhfbbffhhfhfjfjf@gmail.com>
Co-authored-by: altinat <altinat@duck.com>
Co-authored-by: arkon <eugcheung94@gmail.com>
Co-authored-by: jinu147 <nesqea20@gmail.com>
Co-authored-by: stevenlele <stevenlele@outlook.com>
(cherry picked from commit d8725c7b7f)
2022-11-16 13:23:28 -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 262f8449b4)
2022-11-16 13:23:15 -05:00
Andreas 27c93d18eb Use Voyager on Source Filter screen (#8511)
(cherry picked from commit bdf035d60a)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/SourcesFilterScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesFilterController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesFilterPresenter.kt
2022-11-16 13:23:05 -05:00
Jobobby04 6a6d8c0657 Dedupe by priority 2022-11-16 13:08:07 -05:00
Jobobby04 797a9e6b4e Support new E-H/Exh search engine 2022-11-16 13:07:38 -05:00
Jobobby04 eedfa44ec8 Only show the sources name if there are multiple sources 2022-11-15 11:22:29 -05:00
Jobobby04 0a6672a768 Add source to merged chapters without messing with the scanlators 2022-11-15 01:07:43 -05:00
Jobobby04 1acb7a1a35 Fixes for merged manga settings 2022-11-15 00:25:42 -05:00
Jobobby04 5afc33becb Round the corners of page previews 2022-11-13 15:43:56 -05:00
Andreas 9870c23a5b Use Voyager on Extension Filter screen (#8503)
- Use sealed class for state
- Minor changes

(cherry picked from commit 0270878748)
2022-11-11 19:27:51 -05:00
arkon 4560dedf1c Clean up ComicInfo stuff a bit
(cherry picked from commit 6ada3c90ff)

# 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 4e628fe6de)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt
2022-11-11 19:26:33 -05:00
arkon eb6d63956d Remove duplicate pinned sources setting
I guess it's simpler to just have 1 entry in the list (other than the last used duplicate).
This helps ensure that the list is as short as it can be.

(cherry picked from commit a8eebd824a)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/source/interactor/GetEnabledSources.kt
#	app/src/main/java/eu/kanade/domain/source/model/Source.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsBrowseScreen.kt
2022-11-11 19:24:20 -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 a0f49b16c5)

# 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 c6c4c1c393)

# 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 811931ccc0)

# 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 08d5633d81)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt
2022-11-11 14:20:28 -05:00
arkon fd527afe5f Tweak library continue reading button
(cherry picked from commit c76d5dd30c)
2022-11-11 14:19:57 -05:00
Ivan Iskandar 13db6c1a7a Voyager on More tab (#8498)
(cherry picked from commit 340357d158)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/more/MoreController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/more/MorePresenter.kt
2022-11-11 14:19:50 -05:00
Ivan Iskandar 70dff5ef5f Remove top bar workaround (#8497)
Fixed upstream and we currently using small top bar which doesn't affected

(cherry picked from commit 11ed47397d)
2022-11-11 14:04:56 -05:00
AntsyLich b144593129 Fix clearing database freezes the app (#8492)
(cherry picked from commit 6ce54eb845)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/ClearDatabaseScreen.kt
2022-11-11 14:04:46 -05:00
renovate[bot] 433f492f4c Update dependency androidx.compose:compose-bom to v2022.11.00 (#8490)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit d0236aaecf)
2022-11-11 13:55:43 -05:00
arkon 24e5100e7e Bump dependencies
(cherry picked from commit 00059848b4)
2022-11-11 13:55:34 -05:00
arkon 2ba4135e38 Use toShareIntent in WebViewActivity
(cherry picked from commit e45f6d0c92)
2022-11-11 13:55:13 -05:00
Ivan Iskandar 7b1bc790b3 Full Compose MangaController (#8452)
* Full Compose MangaController

* unique key

* Use StateScreenModel

* dismiss

* rebase fix

* toShareIntent

(cherry picked from commit 18ccde082d)

# 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
arkon 5be39961c3 Don't use default Lenovo "browser" handler
(cherry picked from commit 21bc0f1952)
2022-11-11 11:08:18 -05:00
renovate[bot] ca0fdfe031 Update dependency com.bluelinelabs:conductor to v3.1.8 (#8487)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit a37be747e9)
2022-11-11 11:08:04 -05:00
Ivan Iskandar 5b88385ccc Voyager on History tab (#8481)
(cherry picked from commit bc3bb82651)
2022-11-11 11:07:53 -05:00
d-najd 1903453ce7 Add "Play" button on manga in library (#8218)
* resume manga button in libarary

* work on resume button

* Backup

* work on opening the last read chapter

* backup

* renaming

* fab instead of image

* done with logic

* cleanup

* cleanup

* import cleanup

* cleanup...

* refactoring

* fixing logic

* fixing scopes

* Reworking design

* adding ability to turn on/off the feature

* cleanup

* refactoring, fixing logic, adding filter logic (partial)

* backup

* backup

* logic done

* backup before merge fix

* merge conflict....

* merge conflict...

* reworking ui logic

* removing unnecessary file

* refactoring

* refactoring

* review changes + minor parameter position movement

* commiting suggestion

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

* fixing minor mistake

* moving ChapterFilter.kt

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

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/components/CommonMangaItem.kt
#	app/src/main/java/eu/kanade/presentation/library/LibraryScreen.kt
#	app/src/main/java/eu/kanade/presentation/library/components/LibraryComfortableGrid.kt
#	app/src/main/java/eu/kanade/presentation/library/components/LibraryCompactGrid.kt
#	app/src/main/java/eu/kanade/presentation/library/components/LibraryContent.kt
#	app/src/main/java/eu/kanade/presentation/library/components/LibraryPager.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/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
2022-11-11 11:07:42 -05:00
Jobobby04 206aab6755 Use Voyager on Biometric Times screen 2022-11-11 00:11:35 -05:00
Jobobby04 fd99a5f502 Use Voyager on Sort Tags screen 2022-11-10 23:48:03 -05:00
Jobobby04 4a1a1301ff Use Voyager on Repo screen 2022-11-10 23:33:17 -05:00
Jobobby04 02954670d4 Use Voyager on Source Category screen 2022-11-10 23:17:20 -05:00
Andreas 0d638b1c1e Use Voyager on Category screen (#8472)
(cherry picked from commit bf9edda04c)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/category/CategoryScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/category/CategoryPresenter.kt
2022-11-10 23:16:39 -05:00
renovate[bot] ed0ee847c4 Update dependency com.github.junrar:junrar to v7.5.4 (#8461)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 9c9357639a)
2022-11-10 22:50:10 -05:00
arkon 035348016a Don't show copied to clipboard toast on A13+ when copying backup restore error
(cherry picked from commit 3733871d2f)
2022-11-10 22:50:01 -05:00
arkon 771ec24d28 Get index of selected update list item based on chapterId
Fixes #8442

(cherry picked from commit 54471a014f)
2022-11-10 22:49:50 -05:00
Jobobby04 f06c8ef2cb Fix page previews only showing previews when the manga first loaded 2022-11-10 22:49:23 -05:00
arkon d3f4f63f52 Adjust read next history logic
Closes #8454

(cherry picked from commit 8749be518f)

# 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
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 6d880c938a)
2022-11-10 22:16:49 -05:00
Luqman 9492ddd337 Add back haptic feedback long tap to fav (#8418)
* Add back haptic feedback long tap to fav

- add back haptic when long tap on manga to add to library

* simplify

* Revert "simplify"

This reverts commit f4bd57315a3dbf35f5975233980304fa66807718.

* Revert "Add back haptic feedback long tap to fav"

This reverts commit 81486e30e9adf6a7e983b5e3f12bd5bc34083db1.

* cleanup

(cherry picked from commit 34aa4eb291)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceController.kt
2022-11-10 22:16:39 -05:00
arkon 4e37fbca17 Toggle enabled source in bulk
Maybe fixes #8439

(cherry picked from commit 280b0f42db)
2022-11-10 22:15:54 -05:00
arkon a549189839 Bump default user agent string
(cherry picked from commit 65387d0089)
2022-11-10 22:12:10 -05:00
arkon 86ce940344 Increase visibility of selected item background in dark themes
Closes #8419

(cherry picked from commit d41c103a72)
2022-11-10 22:12:01 -05:00
arkon 3b5248e1ba Add pseudolocales to dev builds
(cherry picked from commit 0b93b9e059)
2022-11-10 22:11:50 -05:00
Brett McGinnis 1cf18f242e #8264: Enabled isPseudoLocalesEnabled for debug (#8367)
Enabled isPseudoLocalesEnabled for debug

(cherry picked from commit ea3f933e95)
2022-11-10 22:11:41 -05:00
Jobobby04 371c4fa46e Fix benchmark build 2022-11-10 22:11:35 -05:00
stevenyomi e94f9b8a2a Revert "Tweak how getChapterUrl works (#8392)" (#8427)
This reverts commit 1a25cea0d6.

(cherry picked from commit b006fe3a22)
2022-11-10 22:11:08 -05:00
d-najd 6915c9e59d Ignore gradle.properties.swp (#8425)
* gitignore

* e

* .

* suggestion changes

(cherry picked from commit 37ff3b4920)

# Conflicts:
#	.gitignore
2022-11-10 22:10:52 -05:00
Jobobby04 e2916941d6 Don't try to migrate the manga if its the same id 2022-11-10 20:22:03 -05:00
Jobobby04 c96efe1819 Page preview jump to page in Reader 2022-11-08 23:20:38 -05:00
Jobobby04 d5ee2905ee Fix E-Hentai getNextChapter 2022-11-08 23:20:37 -05:00
jobobby04 f0793e7b8c [skip ci] Update github actions 2022-11-08 23:19:55 -05:00
jobobby04 e03d617ea9 [skip ci] Update github actions 2022-11-08 23:19:03 -05:00
Jobobby04 792746dce7 Lint 2022-11-02 21:16:22 -04:00
Jobobby04 33fc5fcc0e Fix DeleteSortTag not re-indexing tags 2022-11-02 21:16:11 -04:00
Jobobby04 8facc5346f Cleanup grouping code 2022-11-02 21:01:43 -04:00
Jobobby04 e943b4ed09 Fix sorting and filtering for grouping library 2022-11-02 20:43:31 -04:00
Jobobby04 61c2aee0c4 Fix E-Hentai browse 2022-11-02 20:26:27 -04:00
Jobobby04 83c741ceea Remove BBCode cleaner 2022-11-02 13:24:56 -04:00
Jobobby04 b2faa59231 Revert "Upgrade firebase (#715)"
This reverts commit 608dfc5a88.
2022-11-02 13:13:13 -04:00
Howard Wu 608dfc5a88 Upgrade firebase (#715)
The old version of firebase depends on the library of the closed JCenter, which makes it unable to compile
2022-11-02 13:03:15 -04:00
Howard Wu 723cee4d53 [skip-ci] zh-rCN translation addition (#714)
* zh-rCN translation addition

* Update strings_sy.xml

* Update strings_sy.xml
2022-11-02 13:02:51 -04:00
AntsyLich 584ddbee6a Enable split apk generation (#717) 2022-11-02 13:02:11 -04:00
AntsyLich 4368167518 Remove redundant compiler args (#8405)
(cherry picked from commit 1e93d785e5)
2022-11-02 13:00:38 -04:00
AntsyLich d526179bcc Center extension name in ExtensionDetailsScreen (#8407)
(cherry picked from commit 999bd4efee)
2022-11-02 13:00:30 -04:00
Jobobby04 f592436d55 Fix Exhentai 2022-11-02 12:49:17 -04:00
arkon 222762b778 Avoid crashing if multiple entries exist for same URL/source
Related to #8331. We'll need to revisit some of the get/insert logic to make sure this doesn't actually happen,
but at least it'll stop crashing for now.

(cherry picked from commit dd6c9ce2fe)
2022-11-01 13:38:16 -04:00
Weblate (bot) 53a0097741 Translations update from Hosted Weblate (#8342)
Weblate translations

Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: C201 <derasetad@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: Dexroneum <Rozhenkov69@gmail.com>
Co-authored-by: Eduard Ereza Martínez <eduard@ereza.cat>
Co-authored-by: Gediminas Murauskas <muziejusinfo@gmail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Hiroshi <borlonjhayron1119@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: ID-86 <id86dev@gmail.com>
Co-authored-by: Jhayron Borlon <borlonjhayron1119@gmail.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: SHA 2048 <ajrtcuev@gmail.com>
Co-authored-by: SHAWKIK ISLAM JOHA <shawkikislam@gmail.com>
Co-authored-by: Shyntia Tan <shyntia.tan@gmail.com>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: Unai <uesandi@gmail.com>
Co-authored-by: Uzuki Shimamura <hzy980512@126.com>
Co-authored-by: Vetle Ledaal <vetle.ledaal@gmail.com>
Co-authored-by: jinu147 <nesqea20@gmail.com>
Co-authored-by: stevenlele <stevenlele@outlook.com>
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/bn/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ca/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/cs/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/cv/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/de/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/el/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/es/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/eu/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fil/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/he/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/id/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/it/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ja/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ko/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/lt/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ms/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ru/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sc/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/tr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hant/
Translation: Tachiyomi/Tachiyomi 0.x

Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: C201 <derasetad@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: Dexroneum <Rozhenkov69@gmail.com>
Co-authored-by: Eduard Ereza Martínez <eduard@ereza.cat>
Co-authored-by: Gediminas Murauskas <muziejusinfo@gmail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Hiroshi <borlonjhayron1119@gmail.com>
Co-authored-by: ID-86 <id86dev@gmail.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: SHA 2048 <ajrtcuev@gmail.com>
Co-authored-by: SHAWKIK ISLAM JOHA <shawkikislam@gmail.com>
Co-authored-by: Shyntia Tan <shyntia.tan@gmail.com>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: Unai <uesandi@gmail.com>
Co-authored-by: Uzuki Shimamura <hzy980512@126.com>
Co-authored-by: Vetle Ledaal <vetle.ledaal@gmail.com>
Co-authored-by: jinu147 <nesqea20@gmail.com>
Co-authored-by: stevenlele <stevenlele@outlook.com>
(cherry picked from commit 7446b28ff1)
2022-11-01 13:38:05 -04:00
zbue 41f99fe3ec Perform haptic feedback where appropriate (#8378)
(cherry picked from commit 38c6702b8f)
2022-11-01 13:37:35 -04:00
AntsyLich 0535c98b37 Fix resetting filter resets browse pager (#8394)
Fix resetinf filter resets browse pager

(cherry picked from commit afcf4b2988)
2022-11-01 13:37:29 -04:00
zbue 36a01d8144 Use selectedBackground for other list items to match with others (#8379)
* Use `selectedBackground` for other list items to match with others

* Remove unused imports

(cherry picked from commit ebb96a6ff4)
2022-11-01 13:37:22 -04:00
AntsyLich 762f383fb6 Set softWrap to true again for Pill text (#8391)
(cherry picked from commit 8b0affe9bd)
2022-11-01 13:37:09 -04:00
AntsyLich 9cc5831689 Tweak how getChapterUrl works (#8392)
(cherry picked from commit 1a25cea0d6)
2022-11-01 13:36:54 -04:00
AntsyLich 55918ddb15 Reword "title"/"titles -> "entry"/"entries" (#8390)
(cherry picked from commit 2ecbcdf4bd)
2022-11-01 13:36:46 -04:00
arkon bd94751e73 Fix crash in ReaderReadingModeSettings when reverse portrait orientation is set
(cherry picked from commit 642b392d44)
2022-11-01 13:36:38 -04:00
zbue ffa45ffea1 Disable ChapterHeader & ChapterDownloadIndicator click when in selection mode (#8350)
* Disable `ChapterHeader` click when in selection mode

* Disable `ChapterDownloadIndicator` click when in selection mode

* Review changes

* Merge remote-tracking branch 'origin/master' into patch-7

* Merge remote-tracking branch 'origin/master' into patch-7

* Revert back to old implementation

(cherry picked from commit 8dce7b3e9e)
2022-11-01 13:36:28 -04:00
arkon b2565c7f8b Clean up library download chapters logic
We can probably clean up the same logic in the manga controller at some point too, but that stuff's messy.
Also fixes the spacing issue that the new icon introduced.

(cherry picked from commit 33e90d6449)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
2022-11-01 13:36:11 -04:00
Jobobby04 35bd6233d9 Cherry pick fix 2022-11-01 12:46:46 -04:00
Swords dd08da26e8 Add different download options within the Library (#8267)
* feat: add download options to library

* feat: use max instead of min

* feat: remove download all option

* feat: applied requested changes + rename some functions

* feat: merge downloadAllUnreadChapters and downloadUnreadChapters into one function

* Apply suggestions from code review

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

* feat: apply lint suggestions + fix code

feat: apply lint suggestions + fix code

* feat: revert onClickDownload back to onDownloadClicked

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

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
2022-11-01 12:46:33 -04:00
arkon 2f6bd9754d Use proper content color for filter icon in library toolbar
(cherry picked from commit 7818885406)
2022-11-01 12:33:55 -04:00
arkon db890c33f7 Use BOM for kotlinx.coroutines dependencies
(cherry picked from commit 26af7ccc77)
2022-11-01 12:33:47 -04:00
arkon ebfc0f89ed Fix some crashes
- Delay the initial emission of updates/sources/extensions lists instead of using a state flow. This hopefully avoids rapid initial recompositions that cause the LazyColumn key duplication crashes. (Closes #8371)
- Fix a NPE in BrowseSourcePresenter

(cherry picked from commit 5d1f79012e)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesPresenter.kt
2022-11-01 12:33:30 -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 fc184f1cfa)

# 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 725fcbba0e)

# 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
arkon 28ba14b976 Downgrade to org.jetbrains.kotlinx:kotlinx-serialization-json 1.4.0
Fixes data class casting issue seen when multiple sources have the same shadowed classes.

(cherry picked from commit bdeb209d43)
2022-11-01 12:17:37 -04:00
stevenyomi e8e7ff55c0 Refactor search toolbar and fix browse source (#8360)
(cherry picked from commit a078f1ab1b)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceToolbar.kt
2022-11-01 12:17:26 -04:00
arkon ad444ac761 Use Compose fast* functions in more places
(cherry picked from commit 86c3d8c064)
2022-11-01 12:07:09 -04:00
Ivan Iskandar c505f31ad3 Tabs: Don't explicitly set text color in the text (#8365)
The container already provides color option for both states

(cherry picked from commit 156191af44)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/components/Tabs.kt
#	app/src/main/java/eu/kanade/presentation/library/components/LibraryContent.kt
#	app/src/main/java/eu/kanade/presentation/library/components/LibraryTabs.kt
2022-11-01 12:06:58 -04:00
stevenyomi 2dc3569eee Fix Layout Inspector's Compose tree for dev flavor (#8363)
(cherry picked from commit 57bba9e5ab)
2022-11-01 12:00:25 -04:00
arkon 3be06eacaa Remove redundant preference composables
(cherry picked from commit dd1923fe88)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/components/Preferences.kt
2022-11-01 12:00:14 -04:00
arkon 81d9ac81ce Refactor overflow menus into a composable
(cherry picked from commit df773ee15c)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/components/LibraryToolbar.kt
#	app/src/main/java/eu/kanade/presentation/manga/components/MangaToolbar.kt
2022-11-01 11:43:19 -04:00
zbue 621e9dbc41 Add ability to open random manga (#8232)
* Add ability to open random manga

* Use `getMangaForCategory` instead

* Put it in overflow menu instead of using EFAB

* Partial review changes

* Merge remote-tracking branch 'refs/remotes/origin/patch-6' into patch-6

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/LibraryScreen.kt

* Merge remote-tracking branch 'refs/remotes/origin/patch-6' into patch-6

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/LibraryScreen.kt

* Wording changes

(cherry picked from commit f5451a6881)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/LibraryScreen.kt
#	app/src/main/java/eu/kanade/presentation/library/components/LibraryToolbar.kt
2022-11-01 11:38:53 -04:00
arkon 6c377f23e9 Center global search prompt properly in library list mode
(cherry picked from commit 11cc789e36)
2022-11-01 11:24:13 -04:00
Ivan Iskandar 1256646e91 Rebase Scaffold fork (#8353)
This adds content window insets supports that will be passed to
all components used except top and bottom bar.

(cherry picked from commit 16f9fb2f40)
2022-11-01 11:23:54 -04:00
Ivan Iskandar 86afa2ee6a MoreScreen: Add navbar padding (#8349)
(cherry picked from commit 6bfaa85e84)
2022-11-01 11:23:44 -04:00
renovate[bot] 756fc83c65 Update voyager to v1.0.0-rc06 (#8346)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 8f43fb9530)
2022-11-01 11:23:38 -04:00
Soitora 10afbcc61a Restore chapter description alpha (#8345)
Restore "Darken the description colors"

Restores #3858, with new values based on current standards (0.78f rather than 0.62f)

I wanted to accomplish this without having to call a const, but that felt like a logical solution as well

Of course, if you got cleaner methods do tell, thanks

(cherry picked from commit 04d2a3399b)
2022-11-01 11:23:30 -04:00
Ivan Iskandar 82a1d9847d MangaScreen: Apply bottom content padding to large screen info column (#8347)
(cherry picked from commit 054bf8ec5d)
2022-11-01 11:23:19 -04:00
arkon 963d09d270 Add more context to obsolete extension warning
(cherry picked from commit 8417f5a63c)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/ExtensionDetailsScreen.kt
2022-11-01 11:22:46 -04:00
Dexroneum 1fcf8450b8 Few UI changes (#8299)
Co-authored-by: arkon <arkon@users.noreply.github.com>
(cherry picked from commit 26b46cace0)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/SourcesFilterScreen.kt
2022-11-01 11:21:31 -04:00
arkon b941c34c3f Use remember var delegates in more places
(cherry picked from commit 0849111247)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/category/components/CategoryDialogs.kt
#	app/src/main/java/eu/kanade/presentation/manga/components/MangaToolbar.kt
2022-11-01 11:20:34 -04:00
Ivan Iskandar 257d45c598 New Pager implementation (#8323)
Minimal implementation using new Compose SnapFlingBehavior

(cherry picked from commit f9c25b350e)
2022-11-01 11:19:07 -04:00
Jobobby04 80b921172f Remove links from Mangadex description 2022-10-30 11:05:32 -04:00
Weblate (bot) 5ab9243273 Translations update from Hosted Weblate (#8316)
Weblate translations

Co-authored-by: Abay Emes <abayemes@gmail.com>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: Dexroneum <Rozhenkov69@gmail.com>
Co-authored-by: Gediminas Murauskas <muziejusinfo@gmail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: ID-86 <id86dev@gmail.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Jetspectre <jetspectre1@gmail.com>
Co-authored-by: Karl Stenlund <hikolo.92@gmail.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Uzuki Shimamura <hzy980512@126.com>
Co-authored-by: jinu147 <nesqea20@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/cs/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/de/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fil/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/it/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ja/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/kk/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ko/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/lt/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ms/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ru/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sc/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sv/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/tr/
Translation: Tachiyomi/Tachiyomi 0.x

Co-authored-by: Abay Emes <abayemes@gmail.com>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: Dexroneum <Rozhenkov69@gmail.com>
Co-authored-by: Gediminas Murauskas <muziejusinfo@gmail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: ID-86 <id86dev@gmail.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Jetspectre <jetspectre1@gmail.com>
Co-authored-by: Karl Stenlund <hikolo.92@gmail.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Uzuki Shimamura <hzy980512@126.com>
Co-authored-by: jinu147 <nesqea20@gmail.com>
(cherry picked from commit f38130d086)
2022-10-29 18:58:06 -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 4b60138d41)

# 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 fde7bfa3d1)
2022-10-29 18:46:08 -04:00
arkon 5e3c9fcf50 Make Compose DropdownMenu overlap the trigger
Closes #8329

(cherry picked from commit 69635ee66a)
2022-10-29 18:45:59 -04:00
arkon f3a2b1d7e4 Sort library items alphabetically in secondary pass
Fixes #7461

(cherry picked from commit 224f29077d)
2022-10-29 18:45:49 -04:00
AntsyLich 51dd8c2285 Prompt Extension update if ext-lib is updated
Co-authored-by: arkon <arkon@users.noreply.github.com>
(cherry picked from commit e1ab1fdb65)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/extension/api/ExtensionGithubApi.kt
2022-10-29 18:45:42 -04:00
Jobobby04 2306038c74 Minor cleanup 2022-10-29 18:39:25 -04:00
Ivan Iskandar d53ebe5314 PreferenceModel: Add subtitle provider to ListPreference (#8322)
* PreferenceModel: Add subtitle provider to ListPreference

So that it's possible to avoid value formatting when needed

* cleanups

(cherry picked from commit 3e86cb094b)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/PreferenceModel.kt
2022-10-29 18:39:13 -04:00
Ivan Iskandar 2fe7fe1a3f build: Add param to generate Compose compiler metrics (#8330)
./gradlew assembledevPreview -Ptachiyomi.enableComposeCompilerMetrics=true

(cherry picked from commit 9fbd3fe33f)
2022-10-29 18:29:18 -04:00
stevenyomi d8b27a4f43 Reorder parameters of JSON parsing method (#8321)
(cherry picked from commit 073e9f94ff)

# Conflicts:
#	core/src/main/java/eu/kanade/tachiyomi/network/OkHttpExtensions.kt
2022-10-29 18:29:10 -04:00
renovate[bot] 4e3af63a8e Update dependency androidx.paging:paging-compose to v1.0.0-alpha17 (#8319)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 64c0d9506d)
2022-10-29 18:27:31 -04:00
renovate[bot] 663a65e3ba Update voyager to v1.0.0-rc05 (#8320)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit f638092ab9)
2022-10-29 18:27:22 -04:00
arkon 94c0b0a36e Avoid concurrency crashes in SourceManager
(cherry picked from commit d0c4463ab3)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/source/SourceManager.kt
2022-10-29 18:27:13 -04:00
arkon ef1242d067 Consider downloaded only mode when getting download counts in library
Fixes #8318

(cherry picked from commit ad107860b9)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
2022-10-29 18:26:25 -04:00
arkon 38abaa162e Fix some crashes
(cherry picked from commit 5efb31bd71)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/BrowseSourceScreen.kt
#	app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceToolbar.kt
2022-10-29 18:25:50 -04:00
arkon 55a07ae51a Fix library download counts not being loaded if downloaded filter is in exclusion state
(cherry picked from commit e4a2f35907)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
2022-10-29 18:24:56 -04:00
arkon 3f644979c4 Reword "manga" to more generic "entry"/"entries"
Closes #8306

(cherry picked from commit e49781de7a)
2022-10-29 18:24:25 -04:00
arkon 250955a0f1 Don't filter out partially read chapters when marking as unread
Fixes #8313

(cherry picked from commit 37cb4ec0c2)
2022-10-29 18:24:17 -04:00
arkon e1f841e78a Use MaterialTheme.shapes in more places
(cherry picked from commit 401134fa8e)
2022-10-29 18:24:09 -04:00
Ivan Iskandar ab7d9006b2 Touch up manga grid/list items (#8307)
* Touch up library item touch indicator

Now the touch indicator has the same coverage as the selection indicator.
Experimental Modifier.Node API is used to draw the selection indicator

* Unify library and browse source list item layouts

(cherry picked from commit 87391832ba)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceComfortableGrid.kt
#	app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceCompactGrid.kt
#	app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceList.kt
#	app/src/main/java/eu/kanade/presentation/library/components/LibraryComfortableGrid.kt
#	app/src/main/java/eu/kanade/presentation/library/components/LibraryCompactGrid.kt
#	app/src/main/java/eu/kanade/presentation/library/components/LibraryCoverOnlyGrid.kt
#	app/src/main/java/eu/kanade/presentation/library/components/LibraryGridCover.kt
#	app/src/main/java/eu/kanade/presentation/library/components/LibraryPager.kt
2022-10-29 18:24:01 -04:00
Jobobby04 9d84481770 Cherry pick fixes 2022-10-29 18:03:25 -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 e36d31bf0f)

# 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
d-najd 0d7cff1f43 WebView for chapter link (#8281)
* backup

* doing logic

* cleanup

* applying suggestion

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

* requested changes

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

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.kt
2022-10-29 17:31:25 -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 6e4a30e593)
2022-10-29 17:27:32 -04:00
arkon e4fd48c4d0 Update baseline profile
(cherry picked from commit 0288abb66e)
2022-10-29 17:27:22 -04:00
Weblate (bot) 1fd0cbc86c Translations update from Hosted Weblate (#8278)
Weblate translations

Co-authored-by: Abay Emes <abayemes@gmail.com>
Co-authored-by: Ahmadlolbit <ahmadyassin714@gmail.com>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: B4LiN7 <balint.k.furedi@gmail.com>
Co-authored-by: Cường Bá <cuongba956@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: Eduard Ereza Martínez <eduard@ereza.cat>
Co-authored-by: Eric <hamburger1024@mailbox.org>
Co-authored-by: Gediminas Murauskas <muziejusinfo@gmail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: ID-86 <id86dev@gmail.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Rostyslav Haitkulov <info@ubilling.net.ua>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: TheKingTermux <achmadmaulana0233@gmail.com>
Co-authored-by: Uzuki Shimamura <hzy980512@126.com>
Co-authored-by: Vetle Ledaal <vetle.ledaal@gmail.com>
Co-authored-by: alex <hdhdhfhfbbffhhfhfjfjf@gmail.com>
Co-authored-by: altinat <altinat@duck.com>
Co-authored-by: jinu147 <nesqea20@gmail.com>
Co-authored-by: stevenlele <stevenlele@outlook.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ca/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/cs/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/de/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/el/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/es/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/hu/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/id/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/it/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ja/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/kk/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ko/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/lt/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ms/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ro/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ru/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sc/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sdh/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sv/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/th/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/tr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/uk/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/vi/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hans/
Translation: Tachiyomi/Tachiyomi 0.x

Co-authored-by: Abay Emes <abayemes@gmail.com>
Co-authored-by: Ahmadlolbit <ahmadyassin714@gmail.com>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: B4LiN7 <balint.k.furedi@gmail.com>
Co-authored-by: Cường Bá <cuongba956@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: Eduard Ereza Martínez <eduard@ereza.cat>
Co-authored-by: Eric <hamburger1024@mailbox.org>
Co-authored-by: Gediminas Murauskas <muziejusinfo@gmail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: ID-86 <id86dev@gmail.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Rostyslav Haitkulov <info@ubilling.net.ua>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: TheKingTermux <achmadmaulana0233@gmail.com>
Co-authored-by: Uzuki Shimamura <hzy980512@126.com>
Co-authored-by: Vetle Ledaal <vetle.ledaal@gmail.com>
Co-authored-by: alex <hdhdhfhfbbffhhfhfjfjf@gmail.com>
Co-authored-by: altinat <altinat@duck.com>
Co-authored-by: jinu147 <nesqea20@gmail.com>
Co-authored-by: stevenlele <stevenlele@outlook.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
(cherry picked from commit d869a13ef9)
2022-10-29 17:27:13 -04:00
renovate[bot] e5a6f6e4c4 Update dependency androidx.activity:activity-compose to v1.6.1 (#8301)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit ccdfc37c97)
2022-10-29 17:27:00 -04:00
AntsyLich d0d689b1df Center the Text inside Pill (#8304)
(cherry picked from commit 37c55abc2a)
2022-10-29 17:26:53 -04:00
arkon 2217eb9d35 Alternate method of avoiding LazyColumn key conflict crashes
Co-authored-by: ivaniskandar <ivaniskandar@users.noreply.github.com>
(cherry picked from commit c50b1a5c66)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesPresenter.kt
2022-10-29 17:26:42 -04:00
Ivan Iskandar 099fa77149 Set source id when inserting to db (#8300)
(cherry picked from commit 187e9f94aa)
2022-10-29 17:25:36 -04:00
arkon 5ec56b66a4 Show file URI when invalid backup file is selected
(cherry picked from commit 1704dc062d)
2022-10-29 17:25:28 -04:00
AntsyLich 47564449a6 Cleanup history repository (#8297)
* Cleanup history repository

* Lint

(cherry picked from commit 0657a52924)

# 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 f549730c8f Remove side nav icon alignment preference
Simplifying it to just always be centered, which is what most Google apps seem to be doing anyway.

(cherry picked from commit ccc4144f3c)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
2022-10-29 17:24:26 -04:00
arkon b5ae4c0d43 Refactor network to local manga logic
Maybe fixes #8289

(cherry picked from commit d5b4bb49b1)

# 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
Ivan Iskandar 9b28b65e62 Use new Compose BOM 2022.10.00 (#8295)
(cherry picked from commit 5b3f9e082e)
2022-10-26 23:38:56 -04:00
arkon 71eefc3c9e Avoid some crashes
(cherry picked from commit ca06516900)

# 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
Ivan Iskandar aab5b50070 Use Syer's Voyager fork (#8288)
with fixes needed for further migration
also revert back jvm target to 1.8

(cherry picked from commit 3fb42b6ce9)
2022-10-26 23:37:47 -04:00
AntsyLich c48dd63019 Rework library selection (#8290)
(cherry picked from commit 2cbe946e7e)
2022-10-26 23:37:39 -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 3b5b9a1ae5)
2022-10-26 23:37:16 -04:00
AntsyLich e0c83b018b Show LibraryScreen toolbar early to match other main screens (#8285)
(cherry picked from commit a834ff3a44)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/LibraryScreen.kt
2022-10-26 23:37:01 -04:00
Ivan Iskandar 20ea3d5eac MangaPresenter: Filter unsupported track service from available service list (#8286)
(cherry picked from commit 82b552ac9a)
2022-10-26 23:35:37 -04:00
arkon 8caa3ce4fb Don't export CrashActivity 2022-10-26 23:35:20 -04:00
arkon 8231aa45d7 Fetch download counts if library is filtered by downloaded
Fixes #8277

(cherry picked from commit 9792a6cb78)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
2022-10-23 12:52:58 -04:00
Jobobby04 dc6215dd3b Fix default category always displaying 2022-10-23 12:52:57 -04:00
Jobobby04 8929a8dfed Remove package export from ProtoBuf scheme 2022-10-23 12:52:57 -04:00
Jobobby04 8a1456a48f Fix center margin summary 2022-10-23 12:52:56 -04:00
Dexroneum 275943ebf6 Seekbar fixes (#709) 2022-10-23 12:51:59 -04:00
Dexroneum cefac31cf2 [RU] Translations and fixes (#707) 2022-10-22 21:52:53 -04:00
Dexroneum e110945d1e Fixed "0 mins ago" in "Library last updated" string (#8279)
* Fixed "0 mins ago" in "Library last updated" string

* Recommended fixes

(cherry picked from commit f30150c0f0)
2022-10-22 21:46:19 -04:00
arkon 6d46283aee Use kotlin.time extensions in some more places
(cherry picked from commit 5c868d7846)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
2022-10-22 21:46:13 -04:00
arkon f367a121ac Explicitly remove com.google.android.gms.permission.AD_ID permission
(cherry picked from commit 39e41510d0)
2022-10-22 21:44:25 -04:00
arkon 047227a74a Avoid NPE in browse source screen
It logically should never be null, yet I see crash logs about it.

(cherry picked from commit 78b76a186c)
2022-10-22 21:44:02 -04:00
arkon 3314b46630 Only enable ACRA crash logging in preview and stable release builds
(cherry picked from commit 6e04822f5e)

# 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 4ff5c1148e)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
2022-10-22 21:34:32 -04:00
Weblate (bot) 1e89fb39a1 Translations update from Hosted Weblate (#8256)
Weblate translations

Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: Eric <hamburger1024@mailbox.org>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: ID-86 <id86dev@gmail.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: TheKingTermux <achmadmaulana0233@gmail.com>
Co-authored-by: Vetle Ledaal <vetle.ledaal@gmail.com>
Co-authored-by: altinat <altinat@duck.com>
Co-authored-by: jinu147 <nesqea20@gmail.com>
Co-authored-by: stevenlele <stevenlele@outlook.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/cs/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/de/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/el/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/es/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/id/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/it/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ko/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ms/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ru/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sc/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/th/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/tr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hant/
Translation: Tachiyomi/Tachiyomi 0.x

Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: Eric <hamburger1024@mailbox.org>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: ID-86 <id86dev@gmail.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: TheKingTermux <achmadmaulana0233@gmail.com>
Co-authored-by: Vetle Ledaal <vetle.ledaal@gmail.com>
Co-authored-by: altinat <altinat@duck.com>
Co-authored-by: jinu147 <nesqea20@gmail.com>
Co-authored-by: stevenlele <stevenlele@outlook.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
(cherry picked from commit bd285920cd)
2022-10-22 21:24:12 -04:00
d-najd cad519f71c Category name letter casing change not allowed when renaming (#8274)
(cherry picked from commit fb04401460)
2022-10-22 21:23:49 -04:00
stevenyomi 0a0b264e43 Fix app lock and make delay not survive app being killed (#8272)
* Fix app lock

* Always require unlock if app is killed

(cherry picked from commit 2ab744c525)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/base/delegate/SecureActivityDelegate.kt
2022-10-22 21:23:02 -04:00
AntsyLich 24115a9ddc Cleanup UpdatesPresenter deleteChapters (#8273)
(cherry picked from commit 4a244a598b)
2022-10-22 20:57:23 -04:00
arkon bd9125f9fe Remove fake chapter deletion state updates
Now that the updates and manga screen listen to download cache changes, it'll reflect the real states once deleted.

(cherry picked from commit d0bff298b7)
2022-10-22 20:57:12 -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 152eb5b951)

# 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
stevenyomi 46fe5dfd4f Tweak tablet UI mode setting (#8262)
(cherry picked from commit d558f9e1d6)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt
2022-10-22 20:47:54 -04:00
AntsyLich 2774df208e Fix "Add manga to library" snackbar not showing with ChapterDownloadAction.START_NOW (#8271)
(cherry picked from commit b3557e844c)
2022-10-22 20:33:17 -04:00
arkon 1e03d4edad Disable Firebase advertising ID collection
https://firebase.google.com/docs/analytics/configure-data-collection?platform=android#disable_advertising_id_collection
(cherry picked from commit 9c8ccb8e0e)

# Conflicts:
#	app/src/main/AndroidManifest.xml
2022-10-22 20:32:59 -04:00
arkon e38b1390e6 Maybe avoid extensions list rendering crashes
(cherry picked from commit 4138a17e29)
2022-10-22 20:32:07 -04:00
arkon 26be340cd0 Avoid crashing during eager WebView init
(cherry picked from commit fbda243c0d)
2022-10-22 20:31:57 -04:00
arkon d0f3bd077c Avoid some IndexOutOfBoundsExceptions
(cherry picked from commit eb742b29f8)
2022-10-22 20:31:48 -04:00
arkon 08c6876742 Prevent invalid user agent header values from being set
(cherry picked from commit d2e62ffb19)
2022-10-22 20:31:34 -04:00
arkon 7f7602f9b7 Use fade transition in Voyager screens to mimic existing Conductor change handler
(cherry picked from commit 2921be620a)
2022-10-22 20:29:40 -04:00
arkon 3cfb5a7f1c Disable autocomplete on tracker login password field
(cherry picked from commit c61a51438d)
2022-10-22 20:29:10 -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 7e40680af0)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadCache.kt
#	app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.kt
2022-10-22 20:28:57 -04:00
arkon 9fafe15081 Remove redundancy in ExtensionManager
(cherry picked from commit 93925a7286)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/SourceManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/globalsearch/GlobalSearchPresenter.kt
2022-10-22 20:24:41 -04:00
arkon 893443222d Proper DI instantiation for some more download related classes
(cherry picked from commit b04807e53a)

# 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 1c6f09e5c7 Allow disabling automatic backups for whatever reason
(cherry picked from commit 2cf1009f70)
2022-10-22 20:11:47 -04:00
arkon 5ff3c39d68 Defer library download counts if not needed
(cherry picked from commit 93827aba34)

# 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
Weblate (bot) 65d523e311 Translations update from Hosted Weblate (#8219)
Weblate translations

Co-authored-by: Abay Emes <abayemes@gmail.com>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: Cường Bá <cuongba956@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: Eric <hamburger1024@mailbox.org>
Co-authored-by: FateXBlood <zecrofelix@gmail.com>
Co-authored-by: Gediminas Murauskas <muziejusinfo@gmail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: ID-86 <id86dev@gmail.com>
Co-authored-by: Jetspectre <jetspectre1@gmail.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Matey Krastev <matey_krastev2@abv.bg>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Rostyslav Haitkulov <info@ubilling.net.ua>
Co-authored-by: SHAWKIK ISLAM JOHA <shawkikislam@gmail.com>
Co-authored-by: Samuel Carvalho de Araújo <samuelnegro12345@gmail.com>
Co-authored-by: Shippo <shiposhouyou@gmail.com>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: TheKingTermux <achmadmaulana0233@gmail.com>
Co-authored-by: Trollerr <thanhdado480@gmail.com>
Co-authored-by: altinat <altinat@duck.com>
Co-authored-by: jn1106 <nesqea20@gmail.com>
Co-authored-by: stevenlele <stevenlele@outlook.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ar/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/bg/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/bn/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/cs/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/de/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/el/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/es/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fil/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/id/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/it/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/kk/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ko/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/lt/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ms/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ne/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ru/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sc/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/th/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/tr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/uk/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/vi/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hant/
Translation: Tachiyomi/Tachiyomi 0.x

Co-authored-by: Abay Emes <abayemes@gmail.com>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: Cường Bá <cuongba956@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: Eric <hamburger1024@mailbox.org>
Co-authored-by: FateXBlood <zecrofelix@gmail.com>
Co-authored-by: Gediminas Murauskas <muziejusinfo@gmail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: ID-86 <id86dev@gmail.com>
Co-authored-by: Jetspectre <jetspectre1@gmail.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Matey Krastev <matey_krastev2@abv.bg>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Rostyslav Haitkulov <info@ubilling.net.ua>
Co-authored-by: SHAWKIK ISLAM JOHA <shawkikislam@gmail.com>
Co-authored-by: Samuel Carvalho de Araújo <samuelnegro12345@gmail.com>
Co-authored-by: Shippo <shiposhouyou@gmail.com>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: TheKingTermux <achmadmaulana0233@gmail.com>
Co-authored-by: Trollerr <thanhdado480@gmail.com>
Co-authored-by: altinat <altinat@duck.com>
Co-authored-by: jn1106 <nesqea20@gmail.com>
Co-authored-by: stevenlele <stevenlele@outlook.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
(cherry picked from commit 3318314c4a)
2022-10-22 20:03:40 -04:00
AntsyLich b5f3114cb4 Hide reader "Split tall images" option in release build (#8235)
(cherry picked from commit 44cabf2f0b)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsReaderScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReaderPreferences.kt
2022-10-22 20:03:16 -04:00
arkon d79784f292 Avoid crashing if invalid download and backup location is set
Fixes #8252

(cherry picked from commit a8ca7b690f)
2022-10-22 19:52:59 -04:00
stevenyomi 6ba4c9b139 Clean up strings and resources (#8253)
* Clean up strings and resources

* fix pringle's typo

* restore catching file pick errors

* add back file chooser title

* revert #7740 and remove try-catch of chooser-wrapped intent

* swap xmlns lines

* swap xml tools lines

(cherry picked from commit 824d5e22bc)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt
#	app/src/main/res/drawable/card_gradient_shape.xml
#	app/src/main/res/menu/download_queue.xml
2022-10-22 19:52:46 -04:00
renovate[bot] e340017489 Update dependency com.google.android.material:material to v1.7.0 (#8251)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 7a360779b3)
2022-10-22 19:39:13 -04:00
Ivan Iskandar 11205a5aa9 AppThemePreference: Filter dynamic theme if it's not available (#8250)
(cherry picked from commit 4b5f965cea)
2022-10-22 19:39:03 -04:00
stevenyomi cc605759d3 Fix language/theme settings dialog and remove delay (#8244)
* Fix language/theme settings dialog and remove delay

* inline UI preferences

* use `by remember`

* remove unused variable

* remove unused import

(cherry picked from commit d03cbbe0cd)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsGeneralScreen.kt
2022-10-22 19:38:52 -04:00
Ivan Iskandar b29fc922cb Fix crash when saving a page from certain chapters (#8242)
(cherry picked from commit 84bcd8d1d2)
2022-10-22 19:37:57 -04:00
Jobobby04 3cccf2e2c1 Lint 2022-10-22 19:37:26 -04:00
Jobobby04 29790dd362 Limit tab lines 2022-10-22 19:37:15 -04:00
Jobobby04 62446a0737 Add _sy to the backup name 2022-10-22 17:11:03 -04:00
Jobobby04 5a2f81c9db Export Protobuf scheme debug option 2022-10-22 17:02:03 -04:00
Jobobby04 cf8e339eda Fix E-Hentai language filtering 2022-10-18 21:46:57 -04:00
Jobobby04 b571040ac8 Fix debug functions on release builds 2022-10-18 21:46:29 -04:00
Jobobby04 dc1907d0f6 Get recs that are attached to the tracked manga 2022-10-18 20:41:56 -04:00
Jobobby04 8169c9afce Just get all Anilist recs that match the query 2022-10-18 20:03:26 -04:00
Román 57351c68d5 [RU] Translations (#704) 2022-10-18 17:54:46 -04:00
Jobobby04 82793b7a41 Minor cleanup 2022-10-18 17:53:45 -04:00
arkon 49d5d797b3 Fix download cache not updating on location change
(cherry picked from commit 6756bfab75)
2022-10-18 17:52:13 -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 8d97b980e3)

# 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
stevenyomi a31e8282cb Clean up OkHttp methods and parse from Okio directly (#8238)
(cherry picked from commit 2d19729869)

# Conflicts:
#	core/src/main/java/eu/kanade/tachiyomi/network/OkHttpExtensions.kt
2022-10-18 17:35:23 -04:00
Ivan Iskandar a7c45ab61e More settings stuff (#8226)
* title size

* move about screen to settings

keeping shortcut inside more screen

* more

* shrink texts

* scrollable create backup dialog choices

* search back button

* cleanups

* delay changes that require activity recreate

* lessen horizontal padding

(cherry picked from commit f5bde3726a)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/about/AboutScreen.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/database/components/ClearDatabaseDialogs.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/ClearDatabaseScreen.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsMainScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/more/AboutController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/more/MoreController.kt
2022-10-18 17:24:57 -04:00
AntsyLich de10803c2f Fix selection in library (#8233)
(cherry picked from commit ea092fa175)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/components/LibraryComfortableGrid.kt
#	app/src/main/java/eu/kanade/presentation/library/components/LibraryCompactGrid.kt
#	app/src/main/java/eu/kanade/presentation/library/components/LibraryCoverOnlyGrid.kt
2022-10-18 16:53:58 -04:00
renovate[bot] 346a2967e5 Update serialization_version to v1.4.1 (#8208)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 9c4051a5ba)
2022-10-18 16:52:30 -04:00
Andreas 2f748b025a Tweak Crash activity (#8229)
- Scroll entire content body
- Edge2Edge

(cherry picked from commit fed914827a)
2022-10-18 16:52:20 -04:00
AntsyLich 59866497c6 Move "Share" to end of DropDownMenu (#8225)
(cherry picked from commit ea33f8dba5)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/components/MangaToolbar.kt
2022-10-18 16:52:16 -04:00
Jobobby04 76260f2866 Remove uneeded version bump 2022-10-18 16:49:53 -04:00
Jobobby04 a4de4cbb9d Remove some RxJava usage 2022-10-17 20:04:34 -04:00
Jobobby04 2961202d05 Re-add debug menu button styling 2022-10-17 15:24:52 -04:00
Jobobby04 856e18d7a2 Show merged manga chapters in updates tab 2022-10-17 12:54:39 -04:00
Ivan Iskandar 166b525454 Update Baseline Profiles (#8220)
(cherry picked from commit 4f91d80765)
2022-10-17 00:10:50 -04:00
Andreas d07ea91c27 Add Crash activity (#8216)
* Add Crash activity

When the application crashes this sends them to a different activity with the cause message and an option to dump the crash logs

* Review changes

(cherry picked from commit 4178f945c9)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt
2022-10-17 00:10:30 -04:00
arkon 767059e7a3 Always renew download cache if no sources have been loaded yet
Fixes #7705. Somewhat janky solution to handle when loading the sources on app start is slower than
the initial download cache priming.

(cherry picked from commit 558aad1a71)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadCache.kt
2022-10-17 00:09:36 -04:00
AntsyLich 639eb50dbc Tweak library query (#8214)
* Tweak library query

Co-Authored-By: Quang Kieu <kieuq@wit.edu>

* Update app/src/main/sqldelight/migrations/21.sqm

* Update app/src/main/java/eu/kanade/domain/library/model/LibraryManga.kt

* Update app/src/main/sqldelight/view/libraryView.sq

* Update app/src/main/java/eu/kanade/data/manga/MangaMapper.kt

* Update app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt

* Update app/src/main/java/eu/kanade/data/manga/MangaMapper.kt

* Bump version

Co-authored-by: Quang Kieu <kieuq@wit.edu>
(cherry picked from commit d6cbff2837)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/data/manga/MangaMapper.kt
#	app/src/main/java/eu/kanade/data/manga/MangaRepositoryImpl.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
#	app/src/main/sqldelight/migrations/21.sqm
2022-10-17 00:05:52 -04:00
Ivan Iskandar a444cd9eb8 Settings: Tint icon with primary color and separate info item layout (#8217)
(cherry picked from commit aea0cadbfb)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/PreferenceItem.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/PreferenceModel.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsSecurityScreen.kt
2022-10-16 23:05:39 -04:00
Jobobby04 2657e99030 Fix Backup selection for custom info and read manga 2022-10-16 23:00:43 -04:00
Ivan Iskandar ef58406aa3 CreateBackupDialog: Select all options by default (#8215)
(cherry picked from commit e4292719d3)
2022-10-16 22:58:16 -04:00
arkon 2144221250 Remove dead code
Mostly from settings rewrite, but some other things too.

(cherry picked from commit 69cdba71eb)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/database/ClearDatabaseScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAppearanceController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsBackupController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsBrowseController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsGeneralController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsLibraryController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsReaderController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsSecurityController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/database/ClearDatabasePresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/search/SettingsSearchHelper.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/track/TrackLoginDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/widget/materialdialogs/MaterialAlertDialogBuilderExtensions.kt
#	app/src/main/java/eu/kanade/tachiyomi/widget/preference/IntListPreference.kt
#	app/src/main/java/eu/kanade/tachiyomi/widget/preference/LoginDialogPreference.kt
#	app/src/main/res/drawable/ic_done_green_24dp.xml
#	app/src/main/res/layout/pref_account_login.xml
#	app/src/main/res/layout/pref_library_columns.xml
2022-10-16 22:58:07 -04:00
Ivan Iskandar a2f6b90547 Settings: M3 and two pane ui (#8211)
* Settings: M3 and two pane ui

* TrackingLoginDialog: Move close button

* Use small top bar

* Revert "Update voyager to v1.0.0-rc02"

This reverts commit 570fec6ea6.

https://github.com/adrielcafe/voyager/issues/62
(cherry picked from commit 5c5468f9af)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsMainScreen.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/widget/TextPreferenceWidget.kt
2022-10-16 22:39:58 -04:00
arkon 0b5b9cb5cc Control library badge visibility with props instead
Fixes #8174

(cherry picked from commit 6635dd2990)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/components/LibraryComfortableGrid.kt
#	app/src/main/java/eu/kanade/presentation/library/components/LibraryCompactGrid.kt
#	app/src/main/java/eu/kanade/presentation/library/components/LibraryContent.kt
#	app/src/main/java/eu/kanade/presentation/library/components/LibraryCoverOnlyGrid.kt
#	app/src/main/java/eu/kanade/presentation/library/components/LibraryGridCover.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
2022-10-16 22:20:47 -04:00
arkon aebfef345b Center EmptyScreen message
Fixes #8212

(cherry picked from commit 27e5256305)
2022-10-16 22:01:11 -04:00
renovate[bot] 6a1ae15d14 Update aboutlib_version to v10.5.1 (#8207)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit b6dbf63633)
2022-10-16 22:01:05 -04:00
Weblate (bot) 4e7480b0c7 Translations update from Hosted Weblate (#8213)
Weblate translations

Co-authored-by: Abay Emes <abayemes@gmail.com>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: Florin Voicu <florin.bkk@gmail.com>
Co-authored-by: Gediminas Murauskas <muziejusinfo@gmail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: ID-86 <id86dev@gmail.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Jen Kung-chih <Kaitul@outlook.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Marcel Brode <m.brode@shopware.com>
Co-authored-by: M͜͡edRAM <mohammad7ram@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: SHAWKIK ISLAM JOHA <shawkikislam@gmail.com>
Co-authored-by: Silvia Scaglione <sissisoad@gmail.com>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: TheKingTermux <achmadmaulana0233@gmail.com>
Co-authored-by: Topi <topi@harjunpaa.fi>
Co-authored-by: altinat <altinat@duck.com>
Co-authored-by: hoi oii <mtsnellecas@gmail.com>
Co-authored-by: jn1106 <nesqea20@gmail.com>
Co-authored-by: samhy147 <samhy144@gmail.com>
Co-authored-by: saurus <sokphanun@gmail.com>
Co-authored-by: stevenlele <stevenlele@outlook.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ar/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/bn/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/cs/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/de/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/el/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/es/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fi/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/id/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/it/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ja/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/kk/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/km/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ko/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/lt/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ms/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/nl/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ro/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ru/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sc/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/th/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/tr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hant/
Translation: Tachiyomi/Tachiyomi 0.x

Co-authored-by: Abay Emes <abayemes@gmail.com>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: Florin Voicu <florin.bkk@gmail.com>
Co-authored-by: Gediminas Murauskas <muziejusinfo@gmail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: ID-86 <id86dev@gmail.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Jen Kung-chih <Kaitul@outlook.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Marcel Brode <m.brode@shopware.com>
Co-authored-by: M͜͡edRAM <mohammad7ram@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: SHAWKIK ISLAM JOHA <shawkikislam@gmail.com>
Co-authored-by: Silvia Scaglione <sissisoad@gmail.com>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: TheKingTermux <achmadmaulana0233@gmail.com>
Co-authored-by: Topi <topi@harjunpaa.fi>
Co-authored-by: altinat <altinat@duck.com>
Co-authored-by: hoi oii <mtsnellecas@gmail.com>
Co-authored-by: jn1106 <nesqea20@gmail.com>
Co-authored-by: samhy147 <samhy144@gmail.com>
Co-authored-by: saurus <sokphanun@gmail.com>
Co-authored-by: stevenlele <stevenlele@outlook.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
(cherry picked from commit 551e6a8b62)
2022-10-16 22:00:58 -04:00
renovate[bot] 7d7de55819 Update dependency com.google.firebase:firebase-analytics-ktx to v21.2.0 (#8210)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 7da32750b2)
2022-10-16 22:00:44 -04:00
AntsyLich cc16c45e05 Retain bookmark of readded chapters (#8205)
* Retain bookmark of readded chapters

* Fix typo

(cherry picked from commit a2b21e5ad6)
2022-10-16 22:00:34 -04:00
arkon fb675a82cc Tweak source view type menu radio icon to match stable
(cherry picked from commit dbd93cf5d1)
2022-10-16 22:00:01 -04:00
arkon b13a848121 Minor settings cleanup
- Fix dark mode setting title
- Enforce usages of translated strings for screen titles
- Use LocalUriHandler where applicable instead of Android context

(cherry picked from commit c2eaf1c86b)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAppearanceScreen.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsSecurityScreen.kt
2022-10-16 21:59:50 -04:00
Ivan Iskandar 57dcd16cb9 Full Compose settings (#8201)
* Uses Voyager for navigation.
* Replaces every screen inside settings except category editor screen since it's
called from several places.

(cherry picked from commit 890f1a3c7b)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/more/MoreController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsMainController.kt
2022-10-16 21:53:23 -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 3fdcd636d7)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibrarySettingsSheet.kt
2022-10-15 12:11:24 -04:00
zbue 2903e0d98e BrowseSourceToolbar: Match display mode dropdown to stable and change toolbar icon based on display mode (#8200)
* BrowseSourceToolbar: Match display mode dropdown to stable and change toolbar icon based on display mode

* Review changes

* Review changes 2

(cherry picked from commit 3d7e44726d)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceToolbar.kt
2022-10-15 12:10:43 -04:00
Jobobby04 6bcad5b13e Use dp for tag weight 2022-10-15 12:09:39 -04:00
Jobobby04 80c53adf29 Fix open in webview issue 2022-10-15 12:09:38 -04:00
Jobobby04 d595a5ef82 Minor cleanup 2022-10-15 12:09:37 -04:00
arkon 59506d06f9 Add padding to track search dialog error message
Fixes #8142

(cherry picked from commit 147455f99c)
2022-10-15 12:09:36 -04:00
arkon 8b0d626c23 Move manga screen filter sheet to toolbar
Closes #6927
This makes it more consistent with the library. Tapping the chapters heading still opens the sheet for convenience.

(cherry picked from commit b25ca7617d)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt
#	app/src/main/java/eu/kanade/presentation/manga/components/MangaToolbar.kt
#	app/src/main/res/values/attrs.xml
2022-10-15 12:09:36 -04:00
arkon a82b86bec8 Minor cleanup
(cherry picked from commit bc1fbfac9d)

# 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
arkon 7da8484d81 Attempt to avoid duplicate update rows
Related to #7713

(cherry picked from commit 7e92921f84)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/recent/updates/UpdatesPresenter.kt
2022-10-15 12:09:34 -04:00
d-najd aef2dab957 Range selection in library (#8186)
* logic and a bit of cleanup

* cleanup done

* grammar fix

* fixing format

* Auto stash before checking out "HEAD"

* Revert "Auto stash before checking out "HEAD""

This reverts commit 202374a36ff444b7da3fcdb2a9859ca71a7c046e.

* Update app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt

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

* cleanup

Co-authored-by: arkon <arkon@users.noreply.github.com>
(cherry picked from commit e1adb89ff8)
2022-10-15 12:09:33 -04:00
stevenyomi 754df5babb Fix empty screen font style (#8197)
(cherry picked from commit 4e544005fe)
2022-10-15 12:09:33 -04:00
arkon 969719acaa Update to AGP 7.3.1
(cherry picked from commit 31bc2c4420)
2022-10-15 12:09:32 -04:00
Ivan Iskandar 554ba3779b Use Compose's existing method to get plural string (#8194)
(cherry picked from commit 02b3718aa1)
2022-10-15 12:09:31 -04:00
arkon 78d87b866a Upgrade to Kotlin 1.7.20
Also run formatter and address some deprecation warnings.

(cherry picked from commit 26a42ba9c0)

# Conflicts:
#	core/src/main/java/eu/kanade/tachiyomi/network/NetworkHelper.kt
2022-10-15 12:09:30 -04:00
stevenyomi 1b6c970cc2 Fix download progress indicator (#8188)
(cherry picked from commit b1e104319f)
2022-10-15 12:09:30 -04:00
Platiplus 46b268491a Overwrite saved images instead of creating new ones (#8162)
* Implementing overwrite instead of saving duplicated images

* Using filename instead of hardcoding image type

* Refactoring method to accept lambda for default value

* Removing extra parenthesis

(cherry picked from commit a3afb35539)
2022-10-15 12:09:29 -04:00
Ivan Iskandar 4e38cdfe80 Fix Scrollbar when the list contains sticky header (#8181)
* Fix Scrollbar when the list contains sticky header

* Fix VerticalFastScroller when the list contains sticky header

* exposé

(cherry picked from commit fba244423f)
2022-10-15 12:09:28 -04:00
Jobobby04 7da5dcfef3 Build fix 2022-10-15 12:09:28 -04:00
Jobobby04 861481bf26 Fix some Feed add bugs 2022-10-15 12:09:27 -04:00
Ivan Iskandar 24593da484 EmptyScreen: Compose-ify and apply content padding (#8177)
* Apply content padding to empty screen

except the empty screens in browse

* compose-ify EmptyScreen

* center face when action show

* fix padding

* apply content padding to browse tabs

* fix duplicate bottom insets

(cherry picked from commit 8500add09f)

# 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/library/LibraryScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesTab.kt
#	app/src/main/res/layout/common_view_empty.xml
2022-10-15 12:09:26 -04:00
arkon 37a14cb392 Minor UI fixes
- Remove M3 styling from search toolbar
- Use secondary alpha for subtitles for Sources and Migrate items
- Update some content descriptions

(cherry picked from commit 23bfa1f18f)
2022-10-15 12:09:26 -04:00
arkon f50497290e Bring back overscroll in SwipeRefresh for A12+
It's more consistent with the rest of the overscroll behaviour in the app. We'll wait for the upstream fix.

(cherry picked from commit b4f2da12ea)
2022-10-15 12:09:25 -04:00
arkon da9877f91a Don't wrap tab pills
It may sometimes overlap the text a bit, but it's less awkward than wrapped pills

(cherry picked from commit b84a31ba92)
2022-10-15 12:09:24 -04:00
arkon f71f9dbb93 Document copied M3 component customizations
(cherry picked from commit d0950cb026)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/category/components/CategoryDialogs.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/database/components/ClearDatabaseDialogs.kt
2022-10-15 12:09:24 -04:00
stevenyomi 19f01c75ee Refactor SwipeRefresh and fix some issues (#8169)
(cherry picked from commit 404f53b16b)
2022-10-15 12:09:23 -04:00
zbue 86b333384f RemoveMangaDialog: Show manga title in dialog message (#8163)
(cherry picked from commit 737d0fb8f3)
2022-10-15 12:09:22 -04:00
arkon ae7c720d6c Fix linting error
(cherry picked from commit b95a30e424)
2022-10-15 12:09:21 -04:00
arkon 74e4bf2d4d Bump Compose Material3 dependencies
(cherry picked from commit 0d9c1e6e9c)
2022-10-15 12:09:21 -04:00
arkon 35758adb8e Clean up download state logic in MorePresenter
(cherry picked from commit 3bfbd58402)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/more/MorePresenter.kt
2022-10-15 12:09:20 -04:00
renovate[bot] 611deab206 Update shizuku_version to v12.2.0 (#8171)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit bd9a08c73d)
2022-10-15 12:09:19 -04:00
renovate[bot] 0ee8343325 Update dependency androidx.sqlite:sqlite-ktx to v2.3.0-beta01 (#8165)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 41dc41f285)
2022-10-15 12:09:19 -04:00
Jobobby04 2dadf37711 Fix browse reset button 2022-10-15 12:09:18 -04:00
Jobobby04 22abd02641 Fix multiple issues with saved searches 2022-10-15 12:09:17 -04:00
Jobobby04 2d2f5cdc66 Improve external repo extension handling 2022-10-15 12:09:16 -04:00
Basara-Hatake 7fd4f5ee97 remove dead delegatedsources (#701) 2022-10-15 12:08:26 -04:00
Román 555697b30b Translations fixes (#695)
* Translations fixes

* one more thing

* one more thing x2
2022-10-08 20:47:05 -04:00
Jobobby04 7d8f89826f Fix add feed when there are no feeds 2022-10-08 20:46:41 -04:00
Jobobby04 06d2e631be Fix reccomendations 2022-10-08 19:45:04 -04:00
Jobobby04 39c82feb01 Fix mangadex group deeplink not only searching mangadex sources 2022-10-08 19:44:12 -04:00
d-najd 17bb5d1c4b Hiding the keyboard (#8160)
* Hiding the keyboard (#8157)

* Cleanup

* Adding log

* cleanup

* moving code to ViewExtensions.kt

* TrackDialog keyboard fix?

* moving  code to ContextExtensions.kt

* MoreScreen: Remove title (#8158)

* MoreScreen: Remove title

Also removes the state banners as it's redundant

* Add back banners

* Allow manual selection of manga description instead of copying to clipboard

Closes #6548

Notably missing some "standard" options like "Select all" or "Share": https://issuetracker.google.com/issues/226648919

* Allow marking partially read chapters as unread

Closes #3777

* Tablet UI edge-to-edge tweaks (#8159)

* LibraryScreen: Tweak content padding application to draw under nav bar

* BrowseScreen: Tweak content padding application to draw under nav bar

Side note the tab content doesn't actually use its
scaffold (bottom) contentPadding so it's definitely will
be a headache in the future.

* Don't hardcode bottom nav padding

* removed unnecessary import

* refactoring code

* rewriting code

* cleanup?

* cleanup

Co-authored-by: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
Co-authored-by: arkon <eugcheung94@gmail.com>
(cherry picked from commit 50f959e5f4)
2022-10-08 19:44:12 -04:00
Ivan Iskandar 3596de1c44 Tablet UI edge-to-edge tweaks (#8159)
* LibraryScreen: Tweak content padding application to draw under nav bar

* BrowseScreen: Tweak content padding application to draw under nav bar

Side note the tab content doesn't actually use its
scaffold (bottom) contentPadding so it's definitely will
be a headache in the future.

* Don't hardcode bottom nav padding

(cherry picked from commit 4b4be58d0d)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/ExtensionsScreen.kt
#	app/src/main/java/eu/kanade/presentation/library/components/LibraryContent.kt
2022-10-08 18:42:46 -04:00
arkon 1cd093ecc0 Allow marking partially read chapters as unread
Closes #3777

(cherry picked from commit 4bba7a8bab)
2022-10-08 18:35:28 -04:00
arkon 2f33b90eca Allow manual selection of manga description instead of copying to clipboard
Closes #6548

Notably missing some "standard" options like "Select all" or "Share": https://issuetracker.google.com/issues/226648919

(cherry picked from commit 60bcebe4d1)
2022-10-08 18:35:17 -04:00
Ivan Iskandar b9f1bfb9ff MoreScreen: Remove title (#8158)
* MoreScreen: Remove title

Also removes the state banners as it's redundant

* Add back banners

(cherry picked from commit cf6407c4d4)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/MoreScreen.kt
2022-10-08 18:35:08 -04:00
Weblate (bot) bd278d81bb Translations update from Hosted Weblate (#8140)
Weblate translations

Co-authored-by: Abay Emes <abayemes@gmail.com>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: Eric <hamburger1024@mailbox.org>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: ID-86 <id86dev@gmail.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Marcel Brode <m.brode@shopware.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: TheKingTermux <achmadmaulana0233@gmail.com>
Co-authored-by: altinat <altinat@duck.com>
Co-authored-by: borgar <vodrigorenegas@gmail.com>
Co-authored-by: fanylouise <gandra.fany@gmail.com>
Co-authored-by: stevenlele <stevenlele@outlook.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/cs/
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/es_419/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/id/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/it/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ja/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/kk/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ms/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/pt/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ru/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sc/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/th/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/tr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hans/
Translation: Tachiyomi/Tachiyomi 0.x

Co-authored-by: Abay Emes <abayemes@gmail.com>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: Eric <hamburger1024@mailbox.org>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: ID-86 <id86dev@gmail.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Marcel Brode <m.brode@shopware.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: TheKingTermux <achmadmaulana0233@gmail.com>
Co-authored-by: altinat <altinat@duck.com>
Co-authored-by: borgar <vodrigorenegas@gmail.com>
Co-authored-by: fanylouise <gandra.fany@gmail.com>
Co-authored-by: stevenlele <stevenlele@outlook.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
(cherry picked from commit 5f8252447f)
2022-10-08 18:33:42 -04:00
Andreas 84c463d648 Fix filter search not triggering when clicking genre from Manga details (#8156)
(cherry picked from commit dcd5541e96)

# 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/BrowseSourcePresenter.kt
2022-10-08 18:33:28 -04:00
arkon 896bc3253e Add JavaScriptEngine abstraction to extensions-lib (#8155)
This allows us to swap out the implementation in the future and on different platforms
without major changes to the extensions themselves.

(cherry picked from commit 7be6863910)

# Conflicts:
#	core/build.gradle.kts
2022-10-08 18:04:37 -04:00
arkon 48b9135056 Reword some reader settings
(cherry picked from commit caf9219d99)
2022-10-08 18:03:57 -04:00
Ivan Iskandar cb1d47c685 Setup Baseline Profile (#8135)
* Setup Baseline Profile

Adds Baseline Profile generator and startup time test.
Readme included in macrobenchmark module to run the generator.

* changes

(cherry picked from commit 3b62396442)

# Conflicts:
#	app/build.gradle.kts
#	gradle/androidx.versions.toml
2022-10-08 18:03:47 -04:00
AntsyLich 9a2c1f23d1 Show correct language string in browse screens (#8136)
(cherry picked from commit bbe1608006)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/SourcesScreen.kt
2022-10-08 17:36:16 -04:00
Alessandro Tedesco b645bcb1b3 Fix sort by date in LibraryPresenter (#8137) (#8145)
Co-authored-by: Alessandro Tedesco <alessandro.tedesco@zehus.it>
(cherry picked from commit b8fa326c21)
2022-10-08 17:35:34 -04:00
Ivan Iskandar 6ddc153af4 Fix regular scrollbar (#8139)
At some point the scrollbar stops responding to
scroll changes. Not too confident with this fix
but it works.

(cherry picked from commit 1cf1b34e7f)
2022-10-08 17:35:10 -04:00
stevenyomi 17111a4d02 LocaleHelper: use argument for a when expression (#8131)
(cherry picked from commit ff4fb83bff)
2022-10-08 17:35:02 -04:00
renovate[bot] f8bb98f642 Update coil_version to v2.2.2
(cherry picked from commit e24501da09)
2022-10-08 17:34:54 -04:00
arkon 827fe98211 Explicitly reword some locale names
Avoiding some country names in favour of more generic terminology where appropriate.

(cherry picked from commit 0ca14c61c2)
2022-10-08 17:34:46 -04:00
renovate[bot] fe64a597b1 Update aboutlib_version to v10.5.0 (#8127)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit a5a70defc8)
2022-10-01 19:16:42 -04:00
AntsyLich 41542517f7 Add methods to get manga and chapter url (#8114)
* Add methods to get manga and chapter url

Some fork supports directly opening chapters with webview hence `getChapterUrl`

* Review Changes

* Add since to javadoc

(cherry picked from commit de23226591)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt
2022-10-01 19:16:27 -04:00
AntsyLich 71076bd56a Move LibraryManga to domain layer (#8126)
(cherry picked from commit ea8383978b)

# Conflicts:
#	app/src/main/java/eu/kanade/data/manga/MangaMapper.kt
#	app/src/main/java/eu/kanade/presentation/library/LibraryState.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/models/LibraryManga.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryItem.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
2022-10-01 19:14:58 -04:00
AntsyLich 37fd74f141 Reduce some usages of toDbManga (#8116)
Co-Authored-By: stevenyomi <95685115+stevenyomi@users.noreply.github.com>

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

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourcePresenter.kt
2022-10-01 18:39:11 -04:00
AntsyLich 30e3cc46c8 Downloader: Don't trust index provided by source (#8122)
(cherry picked from commit 98c459a6b6)
2022-10-01 18:33:18 -04:00
AntsyLich c1df5adf2c Don't download completely read chapter if it was in queue (#8113)
(cherry picked from commit 00f442b77e)
2022-10-01 18:33:12 -04:00
Ivan Iskandar 1eb1763342 HistoryScreen: Remove paging (#8125)
* HistoryScreen: Remove paging

Per my testing performance-wise there's virtually no
difference in loading time.

* cleanups

* add key and contentType

(cherry picked from commit 42b0e3e438)
2022-10-01 18:33:02 -04:00
arkon 40a9df8969 Update Proguard rules to handle serializers in all modules
Fixes #8112

(cherry picked from commit 8d1f99a480)
2022-10-01 18:32:45 -04:00
arkon 1fa371b8e4 Remove obscure/barely translated locales
(cherry picked from commit bef8342aa5)
2022-10-01 18:32:36 -04:00
Weblate (bot) b14c082c33 Translations update from Hosted Weblate (#8070)
Weblate translations

Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: DatTran MLL <tranthanhdat1142003@gmail.com>
Co-authored-by: Eric <hamburger1024@mailbox.org>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: ID-86 <id86dev@gmail.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Marco Santos <enum.scima@gmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Momade98 <bemomoh@hotmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: TheKingTermux <achmadmaulana0233@gmail.com>
Co-authored-by: Uzuki Shimamura <hzy980512@126.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: altinat <altinat@duck.com>
Co-authored-by: luimen88 <kenjihimuravzla@gmail.com>
Co-authored-by: stevenlele <stevenlele@outlook.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/cs/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/de/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/el/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/es/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/es_419/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fil/
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/it/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ja/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ms/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/nl/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ru/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sc/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/th/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/tr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/vi/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hant/
Translation: Tachiyomi/Tachiyomi 0.x

Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: DatTran MLL <tranthanhdat1142003@gmail.com>
Co-authored-by: Eric <hamburger1024@mailbox.org>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: ID-86 <id86dev@gmail.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Marco Santos <enum.scima@gmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Momade98 <bemomoh@hotmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: TheKingTermux <achmadmaulana0233@gmail.com>
Co-authored-by: Uzuki Shimamura <hzy980512@126.com>
Co-authored-by: altinat <altinat@duck.com>
Co-authored-by: luimen88 <kenjihimuravzla@gmail.com>
Co-authored-by: stevenlele <stevenlele@outlook.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
(cherry picked from commit 2131294b22)
2022-10-01 18:32:30 -04:00
AntsyLich e704b2bde4 Remove mangaChapterMapper (#8124)
Was used by updates screen previously

(cherry picked from commit 5c22cbf28e)

# Conflicts:
#	app/src/main/java/eu/kanade/data/manga/MangaMapper.kt
2022-10-01 18:32:18 -04:00
Jobobby04 5b31324b4b Minor cleanup 2022-10-01 18:30:25 -04:00
Andreas dbeb6c721a Tweak behavior on Browse screen (#8121)
* Tweak behavior on Browse screen

- Fix system back popping controller
- Add behavior to system back to cancel search toolbar before clearing current search or popping controller

* Review changes

(cherry picked from commit 6ac17363ed)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceController.kt
2022-10-01 18:30:01 -04:00
Jobobby04 1ecd55736c Minor cleanup 2022-10-01 18:18:56 -04:00
Ivan Iskandar 8e4f038e9a ExtensionScreen: Adjust item visual (#8120)
* ExtensionScreen: Adjust item visual

* Move install status view and add progress indicator
* Add secondary item modifier to info texts
* Wrap info texts with FlowRow in case of unavailable space
* Remove language text in non-installed items

Extra content:
* Change the list key to be more consistent
* General cleanups

* typo

(cherry picked from commit 58c47c4c50)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/ExtensionsScreen.kt
2022-10-01 18:15:27 -04:00
Shamicen d540d83574 Fix ComicInfo.xml not being read if .noxml file exists too (#8111)
* gives ComicInfo.xml files priority over noxml files if both are at the chapter root.

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

(cherry picked from commit 80b2ebc45b)
2022-10-01 18:06:30 -04:00
AntsyLich 5002bafa22 Fix total item count in library app bar (#8117)
(cherry picked from commit ef2c9460b5)
2022-10-01 18:06:14 -04:00
AntsyLich 54dcb640bb Improve DelayedTrackerStore (#8109)
* Improve DelayedTrackerStore

* Review changes

(cherry picked from commit ad84a8c3e9)
2022-10-01 18:06:05 -04:00
stevenyomi 9f0ea91634 Requests: add GET(HttpUrl) overload (#8107)
Requests: add GET(HttpUrl) overload
(cherry picked from commit 8b9a06e298)
2022-10-01 18:05:59 -04:00
Jobobby04 18a3546665 Improve SY search toolbar UX 2022-10-01 18:05:39 -04:00
Ivan Iskandar 4c3309177e MangaScreen: Adjust insets (#8097)
I should have done this when Scaffold was rebased

(cherry picked from commit 6b1d597d34)
2022-10-01 18:02:24 -04:00
Alessandro Jean d8e0344624 Improve search toolbar UX a little bit (#8102)
* Improve search toolbar UX a little.

* Fix wrong stringResource import.

* Revert `FocusRequester` change in favour of #8093.

(cherry picked from commit 5a37f2398a)
2022-10-01 18:02:18 -04:00
Ivan Iskandar ca36adca29 manga-refresh-state (#8090)
(cherry picked from commit 98a4f6cccb)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
2022-10-01 18:02:01 -04:00
Ivan Iskandar 1f444185da UpdatesScreen: Fix selection state after deleting download (#8100)
(cherry picked from commit 633bd6eb46)
2022-10-01 17:40:08 -04:00
Ivan Iskandar b1b05fa313 Fix missing focus when single TextField shown (#8098)
(cherry picked from commit f19c288bec)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/category/components/CategoryDialogs.kt
2022-10-01 17:39:59 -04:00
AntsyLich c015142344 Increase timeout duration of WebViewInterceptors (#8099)
(cherry picked from commit e2ce3f68bf)
2022-10-01 17:39:07 -04:00
arkon b92f913f8e Use more unique item keys
Should make stacktraces more distinguishable.

(cherry picked from commit e90b39b29d)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/SourcesFilterScreen.kt
2022-10-01 17:39:00 -04:00
stevenyomi 20a4a3af98 Remove cache control on already cacheless image request (#8085)
(cherry picked from commit f4c684b4b8)

# Conflicts:
#	source-api/src/main/java/eu/kanade/tachiyomi/source/online/HttpSource.kt
2022-10-01 17:38:10 -04:00
stevenyomi 6f56a30582 Rephrase empty placeholder in clear database (#8082)
Co-authored-by: nicki <72807749+curche@users.noreply.github.com>

Co-authored-by: nicki <72807749+curche@users.noreply.github.com>
(cherry picked from commit 869396b1a4)
2022-10-01 17:26:24 -04:00
Jobobby04 89b30bd8d8 Probably fix random source crashes 2022-09-26 14:00:15 -04:00
Jobobby04 8d91c54c18 Add a proguard rule for XMLUtil to fix build 2022-09-25 22:09:32 -04:00
Román 369823484a Fixes and Translations (#680)
* Fixes and Translations

* Update some strings

* Update some strings v2
2022-09-25 21:19:13 -04:00
renovate[bot] 2739a972a8 Update xml_serialization_version to v0.84.3 (#8079)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 7f9222f7b7)
2022-09-25 21:13:16 -04:00
AntsyLich 452251914b Cleanup webview interceptors (#8067)
* Cleanup webview interceptors

* Review changes + Improvement

* Review Changes 2

(cherry picked from commit a35f947892)
2022-09-25 21:13:09 -04:00
arkon 1e9dca95cb Fix date added when adding from browse source
Fixes #8059

(cherry picked from commit ec272f6c4e)
2022-09-25 21:13:01 -04:00
arkon 74953850b8 Bump minimum WebView version and default user agent string
(cherry picked from commit f0af3858e8)
2022-09-25 21:12:54 -04:00
arkon bab663f856 Temporarily replace library category tabs divider with our own
Fixes #7789

(cherry picked from commit db91d04e82)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/components/LibraryTabs.kt
2022-09-25 21:12:47 -04:00
arkon 1ff5e62f0a Ellipsize long titles
Fixes #8075

(cherry picked from commit 9859b38f32)
2022-09-25 21:11:40 -04:00
Ivan Iskandar d5fcd3a67e BrowseSourceScreen: Adjust browse mode chips placement (#8076)
The chips row is now scrollable too and filter fab is removed

(cherry picked from commit 0190c36d20)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/BrowseSourceScreen.kt
#	app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceComfortableGrid.kt
#	app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceToolbar.kt
2022-09-25 21:11:29 -04:00
Alessandro Jean 2d2ee54c99 Add support to update strategy on global update (#7902)
* Add support to update strategy.

* Add JavaDoc and bump the LIB_VERSION_MAX constant.

* Fix a word typo.

* Store update strategy enum as integer in the DB.

(cherry picked from commit ba533f30ce)

# Conflicts:
#	app/src/main/java/eu/kanade/data/DatabaseAdapter.kt
#	app/src/main/java/eu/kanade/data/manga/MangaMapper.kt
#	app/src/main/java/eu/kanade/data/manga/MangaRepositoryImpl.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/backup/models/BackupManga.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/models/MangaImpl.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
#	app/src/main/sqldelight/data/mangas.sq
#	app/src/main/sqldelight/migrations/20.sqm
2022-09-25 21:04:10 -04:00
Jobobby04 3da5a2a20d Minor cleanup 2022-09-25 20:41:31 -04:00
Andreas 1f4bfc4764 Split the rest of the preferences in PreferencesHelper (#8074)
* Split the reset of the preferences in PreferencesHelper

* Capitalize ThemeMode

(cherry picked from commit 29fa93e829)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/domain/manga/model/Manga.kt
#	app/src/main/java/eu/kanade/tachiyomi/App.kt
#	app/src/main/java/eu/kanade/tachiyomi/AppModule.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceKeys.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceValues.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt
#	app/src/main/java/eu/kanade/tachiyomi/extension/api/ExtensionGithubApi.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/base/delegate/SecureActivityDelegate.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibrarySettingsSheet.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt
2022-09-25 20:41:19 -04:00
Ivan Iskandar 0d0513cff7 GlobalSearchController: Auto focus search view when initial query is empty (#8073)
(cherry picked from commit 0fabe4bd01)
2022-09-25 19:19:31 -04:00
Ivan Iskandar fc8b15916a DownloadController: Fix first active download status not updating (#8069)
(cherry picked from commit f98b4f4e39)
2022-09-24 23:26:20 -04:00
arkon 46bdc0c0ad Enable Gradle parallel mode
(cherry picked from commit b8c1257645)

# Conflicts:
#	gradle.properties
2022-09-24 23:26:12 -04:00
Ivan Iskandar 1fe34a35d7 SecureActivityDelegate: Fix cold-start only lock behavior (#8066)
(cherry picked from commit 467ceacb17)
2022-09-24 23:25:14 -04:00
arkon c34108b19d Bump dependencies
(cherry picked from commit 2d22baba62)
2022-09-24 23:25:05 -04:00
arkon 3791be324d Remove Tagalog translations
Filipino should be used instead. Hopefully Weblate stops adding this back??

(cherry picked from commit 750f90614d)
2022-09-24 23:24:57 -04:00
Weblate (bot) 84c5e94f0d Weblate translations (#8023)
Co-authored-by: Amjad Ali <playeroid96@gmail.com>
Co-authored-by: Andrii Yefremov <ka1tzyu@gmail.com>
Co-authored-by: DatTran MLL <tranthanhdat1142003@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Marco Santos <enum.scima@gmail.com>
Co-authored-by: Uzuki Shimamura <hzy980512@126.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: moon <moononclouds@proton.me>
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ar/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fil/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ja/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ko/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/uk/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/vi/
Translation: Tachiyomi/Tachiyomi 0.x

Co-authored-by: Amjad Ali <playeroid96@gmail.com>
Co-authored-by: Andrii Yefremov <ka1tzyu@gmail.com>
Co-authored-by: DatTran MLL <tranthanhdat1142003@gmail.com>
Co-authored-by: Marco Santos <enum.scima@gmail.com>
Co-authored-by: Uzuki Shimamura <hzy980512@126.com>
Co-authored-by: moon <moononclouds@proton.me>
(cherry picked from commit d28ded4525)
2022-09-24 23:24:48 -04:00
stevenyomi 5da4353730 Improve chapter recognition (#8050)
(cherry picked from commit 4b4a138eee)
2022-09-24 23:24:39 -04:00
Andreas 02a154bb85 Move chapter preferences from PreferencesHelper to LibraryPrefrences (#8061)
(cherry picked from commit b5dca2eb09)

# 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
Ivan Iskandar 35b71e2ceb Adjust source-api R8 rules (#8064)
(cherry picked from commit 747cbd24cb)
2022-09-24 23:14:22 -04:00
Andreas 1d9237d3ee Clear search query before popping controller when navigating up (#8055)
(cherry picked from commit d3520419d4)
2022-09-24 23:14:06 -04:00
Andreas e5b99c0147 Recreate reader settings when opening sheet (#8054)
(cherry picked from commit acb8ab15b2)
2022-09-24 23:13:59 -04:00
Andreas 34735166ec Split backup preferences from PreferencesHelper (#8051)
(cherry picked from commit 5cdcc1679f)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/AppModule.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupManager.kt
2022-09-22 12:58:54 -04:00
arkon 7f29d6fc74 Minor cleanup
Also add POST_NOTIFICATIONS permissions to make Android Studio stop complaining about it.

(cherry picked from commit b37b3767f3)
2022-09-22 12:48:23 -04:00
arkon 27e494e8b7 Replace deprecated SmallTopAppBar
(cherry picked from commit 2d56ad1ad9)
2022-09-22 12:47:53 -04:00
arkon 260e3919ca Bump dependencies
(cherry picked from commit 5d3bc7245e)
2022-09-22 12:47:44 -04:00
Andreas 416db76218 Split download preferences from PreferencesHelper (#8048)
(cherry picked from commit e82963c9ef)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/chapter/interactor/SetReadStatus.kt
#	app/src/main/java/eu/kanade/tachiyomi/AppModule.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
2022-09-22 12:47:25 -04:00
happywillow0 02fe0df8f6 Update BrowseSourcePresenter.kt (#8040)
Set filters to default when reset is pressed.

(cherry picked from commit ec34977a64)
2022-09-22 12:36:22 -04:00
Jobobby04 8fb2faca12 Don't uselessly override the search in SearchController 2022-09-22 12:36:02 -04:00
stevenyomi 7e7692c3cf Fix error when updating manga details with uninitialized title (#8045)
(cherry picked from commit 2ced56e490)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/manga/interactor/UpdateManga.kt
2022-09-21 11:49:04 -04:00
Andreas bdc45fb8aa Split track preferences from PreferencesHelper (#8046)
(cherry picked from commit e568951396)
2022-09-21 11:47:02 -04:00
Andreas bcc3a40b36 Split reader preferences from PreferencesHelper (#8042)
(cherry picked from commit e275897bf9)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReaderGeneralSettings.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReaderReadingModeSettings.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/ViewerConfig.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerConfig.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsReaderController.kt
2022-09-20 16:57:00 -04:00
arkon 9a3c4e9d13 Remove redundant preference keys
(cherry picked from commit 2b089648a3)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/library/service/LibraryPreferences.kt
#	app/src/main/java/eu/kanade/domain/source/service/SourcePreferences.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsReaderController.kt
2022-09-20 16:28:02 -04:00
AntsyLich 7041ce777a Cleanup logic in UpdatesPresenter (#8035)
(cherry picked from commit c2a831dded)
2022-09-20 16:17:33 -04:00
Andreas b7363706d7 Split library preferences from PreferencesHelper (#8036)
(cherry picked from commit c740558327)

# Conflicts:
#	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/presentation/browse/components/BrowseSourceToolbar.kt
#	app/src/main/java/eu/kanade/tachiyomi/AppModule.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceKeys.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.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/library/LibrarySettingsSheet.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsLibraryController.kt
2022-09-20 16:17:17 -04:00
arkon d73e7aee9d Clean up UpdatesController
- Move loading state into scaffold (closes #7704)
- Move logic into presenter
- Make some composables private

(cherry picked from commit 0e3176a77c)
2022-09-20 15:55:28 -04:00
arkon 840e021949 Replace clear database FAB with button
Also remove a bunch of unnecessary inset paddings since Scaffold handles it

(cherry picked from commit f85cbb1582)
2022-09-20 15:53:31 -04:00
Jobobby04 b479d5a4f1 Fix crash 2022-09-20 15:50:14 -04:00
arkon 00bb74f330 Clean up base classes
Should be able to throw away some of the search controller stuff after Global Search is migrated

(cherry picked from commit 0225711f6f)
2022-09-20 11:08:23 -04:00
arkon 966bd31d61 Catch error properly when app update check fails (fixes #8019)
(cherry picked from commit 7ec822503a)
2022-09-20 11:08:14 -04:00
arkon 6c3183af8d Minor cleanup/fixes
- Add FAB collapsing in clear database screen (fixes #7935)
- Don't allow multiline category names to be entered
- Consolidate Downloaded Only / Incognito Mode banner components
- Fix see-through migrate screen sticky header

(cherry picked from commit 83871fc013)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/BrowseSourceScreen.kt
#	app/src/main/java/eu/kanade/presentation/category/components/CategoryDialogs.kt
2022-09-20 11:08:05 -04:00
Andreas f40477cf6e Split security preferences from PrefrencesHelper (#8030)
(cherry picked from commit b668364afb)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateNotifier.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceValues.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsSecurityController.kt
2022-09-18 13:25:51 -04:00
arkon bffecf3833 Avoid invalid locales in language picker (fixes #7950)
We should probably prune the translations though.

(cherry picked from commit 877ae041a4)
2022-09-18 13:08:54 -04:00
arkon 42a4d154cc Read metadata from ComicInfo.xml files in Local source (#8025)
Co-authored-by: Shamicen <84282253+Shamicen@users.noreply.github.com>
Co-authored-by: Andreas <andreas.everos@gmail.com>
Co-authored-by: jobobby04 <jobobby04@users.noreply.github.com>
(cherry picked from commit 1395343f11)
2022-09-18 13:08:31 -04:00
Andreas 5d1dfb5290 Split source preferences from PreferencesHelper (#8029)
(cherry picked from commit 30b3b2d3ff)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/AppModule.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/SourceExtensions.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesFilterPresenter.kt
2022-09-18 13:08:22 -04:00
Andreas 41c9c20e26 Use 1.x preference abstraction (#8020)
* Use 1.x preference abstraction

- Uses SharedPreferences compared to 1.x impl which uses DataStore but it breaks all settings screens currently
- Move PreferencesHelper to new PreferenceStore
  - PreferencesHelper should be split into smaller preference stores and be in core or domain
- Remove flow preferences as new PreferenceStore handles changes for us

Co-authored-by: inorichi <3521738+inorichi@users.noreply.github.com>

* Fix PreferenceMutableState not updating

* Fix changes not emitting on first subscription

Co-authored-by: inorichi <3521738+inorichi@users.noreply.github.com>
(cherry picked from commit 0086743a53)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/source/interactor/GetEnabledSources.kt
#	app/src/main/java/eu/kanade/tachiyomi/App.kt
#	app/src/main/java/eu/kanade/tachiyomi/AppModule.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateNotifier.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt
#	core/src/main/java/eu/kanade/tachiyomi/network/NetworkHelper.kt
2022-09-18 12:31:49 -04:00
Weblate (bot) 432c6fc8a9 Translations update from Hosted Weblate (#7978)
* Weblate translations

Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: Eric <hamburger1024@mailbox.org>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: ID-86 <id86dev@gmail.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Maday <royalcoolness7898@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: Tarık Yıldız <tariky113@gmail.com>
Co-authored-by: TheKingTermux <achmadmaulana0233@gmail.com>
Co-authored-by: Vigge Beckmann <viggebeckmann@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: altinat <poiiiii4yy@gmail.com>
Co-authored-by: stevenlele <stevenlele@outlook.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/az/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/cs/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/da/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/de/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/el/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/es/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/hi/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/id/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/it/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ms/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ru/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sc/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/th/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/tr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hant/
Translation: Tachiyomi/Tachiyomi 0.x

* Deleted translation using Weblate (Tagalog)

Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: Eric <hamburger1024@mailbox.org>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: ID-86 <id86dev@gmail.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Maday <royalcoolness7898@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: Tarık Yıldız <tariky113@gmail.com>
Co-authored-by: TheKingTermux <achmadmaulana0233@gmail.com>
Co-authored-by: Vigge Beckmann <viggebeckmann@gmail.com>
Co-authored-by: altinat <poiiiii4yy@gmail.com>
Co-authored-by: stevenlele <stevenlele@outlook.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
Co-authored-by: arkon <eugcheung94@gmail.com>
(cherry picked from commit bc8c45832e)
2022-09-18 11:50:21 -04:00
Ivan Iskandar 01710d7b78 Upgrade AGP 7.3.0 (#8016)
(cherry picked from commit 4a3070265a)

# Conflicts:
#	app/proguard-rules.pro
2022-09-18 11:50:06 -04:00
Ivan Iskandar 853ed03242 ExtensionsPresenter: Use StateFlow for extensions list (#8017)
(cherry picked from commit f54adb49a1)
2022-09-16 13:59:09 -04:00
Ivan Iskandar 5d5cc22020 Fix always-on app lock on cold start (#8018)
# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/App.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/base/delegate/SecureActivityDelegate.kt
2022-09-16 13:58:58 -04:00
arkon a27b25f7c6 Always attempt automatic backup creation
- Defaults to every 12 hours
- Minimum number of backups is now 2, just to offer some level of redundancy in case something happens
- If it's missing storage permissions, it'll fail but that's the user's loss if they somehow haven't granted that permission yet

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupManager.kt
2022-09-16 13:57:19 -04:00
arkon 22b6231a68 Remove some dead code
# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/widget/preference/SwitchPreferenceCategory.kt
2022-09-16 13:55:13 -04:00
Jobobby04 4433b5de1d Library query tweaks 2022-09-16 13:50:58 -04:00
Andreas 8a322ea28e Extract source api from app module (#8014)
* Extract source api from app module

* Extract source online api from app module

(cherry picked from commit 86fe850794)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupManager.kt
#	core/src/main/java/eu/kanade/tachiyomi/network/NetworkHelper.kt
#	source-api/src/main/java/eu/kanade/tachiyomi/source/Source.kt
#	source-api/src/main/java/eu/kanade/tachiyomi/source/model/SManga.kt
2022-09-16 13:49:41 -04:00
Ansh b975b9b86f Fix stacking of Settings menu in the reader on multiple taps (#8002)
* fix : conditional check added to avoid stacking of dialog

In onClickListener, bottom sheet is being opened depending on status of dialog sheet, if it's showing or not.

* chore : refactored conditional logic

* Update ReaderActivity.kt

(cherry picked from commit 30ac94181b)
2022-09-15 23:11:50 -04:00
AntsyLich 830722c4d3 Fix missing condition on getLibrary sql query (#8006)
(cherry picked from commit 48d3d454c0)
2022-09-15 23:11:40 -04:00
Ivan Iskandar 897651a75a Fix derivedStateOf errors (#8008)
(cherry picked from commit 6865c21c75)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/components/LibraryContent.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
2022-09-15 23:11:35 -04:00
arkon 2f458fec9f Revert compose-theme-adapter
Since it brings in material3 beta02. See https://issuetracker.google.com/issues/245626686

(cherry picked from commit 82cd316493)
2022-09-15 22:58:52 -04:00
Ivan Iskandar 2f7a8d0505 LibraryItem: Fix equality check (#7999)
Proper equality check is needed by compose for state changes.

(cherry picked from commit 7270c48f26)
2022-09-15 22:58:42 -04:00
Jobobby04 3e6a7b666b Fix filtered_scanlators messing up again 2022-09-15 22:57:17 -04:00
Jobobby04 39be552302 Fix browse fetching manga info for all manga 2022-09-13 21:51:45 -04:00
Jobobby04 5cb7047173 Source category fixes 2022-09-13 21:11:26 -04:00
Jobobby04 4eef4b5988 Rename pre_migration_controller xml to pre_migration_list 2022-09-13 21:09:24 -04:00
Jobobby04 9146c387e2 Remove unused SY layout files 2022-09-13 20:14:01 -04:00
Jobobby04 3807fb0607 Convert EhLoginActivity to compose 2022-09-13 18:18:48 -04:00
Jobobby04 f28342601b Minor improvements to browse source 2022-09-12 00:10:04 -04:00
Jobobby04 7920eeb278 Fix saved searches for sources without filters 2022-09-12 00:01:45 -04:00
Jobobby04 d6bbb69966 Fix saved searches not working in source feed 2022-09-11 23:52:04 -04:00
Jobobby04 97641e7692 Handle query search in source feed 2022-09-11 23:45:29 -04:00
Jobobby04 10d3df5b6c Handle back button when there is a search query in source feed 2022-09-11 23:42:28 -04:00
Jobobby04 01525c30f2 Add database subscriptions for feed and better thumbnail fetching 2022-09-11 22:19:26 -04:00
Howard Wu c54103e8f4 zh-rCN translation correction (#673)
(cherry picked from commit cebaa1be193eaef11981984cc1cc0d0b3c686556)
2022-09-11 21:18:25 -04:00
Jobobby04 4505860f0a Fix possible data race 2022-09-11 21:13:54 -04:00
Jobobby04 8799f0c091 Syncronize networkToLocalManga because of data races 2022-09-11 21:13:30 -04:00
Jobobby04 33ef1e7b01 Remove extra padding 2022-09-11 21:12:54 -04:00
Jobobby04 8b8b17bb2d Linting 2022-09-11 20:38:18 -04:00
Jobobby04 20ae97cd98 Prevent okhttp from caching page previews 2022-09-11 19:57:42 -04:00
AntsyLich 81faf22562 Flatten available extensions with its source (#7956)
* Flatten available extensions with it's source

We should also do something similar for installed extensions

Supersedes #7200

* Dedupe sources

(cherry picked from commit c51e83c048)
2022-09-11 19:49:32 -04:00
stevenyomi 4bab900459 Prevent okhttp from caching covers and chapter images (#7967)
(cherry picked from commit 52fa28c16a)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/source/online/HttpSource.kt
2022-09-11 19:49:20 -04:00
AntsyLich e5bf6664f7 Change logic in BitmapFactory.Options.splitData (#7989)
(cherry picked from commit 935c8e7d82)
2022-09-11 19:47:38 -04:00
arkon 81a4f16a34 Add some padding to tab indicators
(cherry picked from commit 19be0d68b6)
2022-09-11 19:47:31 -04:00
arkon 359d855e21 Check the actual folder when deleting source folder in case of stale cache
(cherry picked from commit f9bbbce466)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadCache.kt
2022-09-11 19:47:23 -04:00
Andreas 25ac8a3a70 Count the downloads under each header instead of count the number of headers (#7990)
(cherry picked from commit 0215b66098)
2022-09-11 19:45:47 -04:00
arkon cffeb6d96f Bump dependencies 2022-09-11 19:45:00 -04:00
Jobobby04 3562816e89 SY linting 2022-09-11 19:43:45 -04:00
Jobobby04 d58dda10d4 Minor cleanup 2022-09-11 19:33:03 -04:00
arkon 228f2c78d2 Bump dependencies + linting
(cherry picked from commit cd3cb72b65)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchPresenter.kt
2022-09-11 19:32:45 -04:00
renovate[bot] 1bd3cb8932 Update coil_version to v2.2.1 (#7981)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 5b474e96b7)
2022-09-11 19:31:56 -04:00
Jobobby04 2a587ac90c Set maxlines to 1 for manga chips 2022-09-10 16:18:17 -04:00
Jobobby04 6e50e9a38a Revert removing Chip theme since SY uses them 2022-09-10 14:43:00 -04:00
Jobobby04 137bbf3f82 Move SY Strings to the i18n module 2022-09-10 14:35:07 -04:00
Andreas b306f49950 Revert moving arrays to i18n (#7977)
(cherry picked from commit 9ce1d71a45)
2022-09-10 14:21:35 -04:00
arkon a80730748e Remove unused resources
(cherry picked from commit 28594bba2c)
2022-09-10 14:20:53 -04:00
Andreas 1825a3e9a2 Extract translation from app module (#7975)
* Extract translation from app module

- Prep for further extraction to modules in the nearish future

* Subproject .gitignore

(cherry picked from commit d5c207d8a3)

# Conflicts:
#	.gitignore
2022-09-10 14:20:44 -04:00
AntsyLich 10f351de66 Cleanup logic of onStripSplit in WebtoonPageHolder 2 (#7976)
(cherry picked from commit 56826fb477)
2022-09-10 14:19:09 -04:00
Weblate (bot) d7b23dab11 Weblate translations (#7953)
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Ismail Mhmary <ismailmhmary@gmail.com>
Co-authored-by: Jujutsu <jujutsu2319728282@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: MES-mitutti <nakanakamituhasi3284@gmail.com>
Co-authored-by: Madddog1997 <madddog1997@gmail.com>
Co-authored-by: Marco Santos <enum.scima@gmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Shjosan <shjosan@kakmix.co>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: Uzuki Shimamura <hzy980512@126.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: ZiomaleQ <r.partyka30@gmail.com>
Co-authored-by: f0roots <f0rootss@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ar/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/es/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fil/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/hr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ja/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/pl/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ro/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sc/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sk/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sv/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hant/
Translation: Tachiyomi/Tachiyomi 0.x

Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Ismail Mhmary <ismailmhmary@gmail.com>
Co-authored-by: Jujutsu <jujutsu2319728282@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: MES-mitutti <nakanakamituhasi3284@gmail.com>
Co-authored-by: Madddog1997 <madddog1997@gmail.com>
Co-authored-by: Marco Santos <enum.scima@gmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Shjosan <shjosan@kakmix.co>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: Uzuki Shimamura <hzy980512@126.com>
Co-authored-by: ZiomaleQ <r.partyka30@gmail.com>
Co-authored-by: f0roots <f0rootss@gmail.com>
(cherry picked from commit 171d7f2b8c)
2022-09-10 14:18:59 -04:00
Andreas 7cc59fa1dd Revert removing Fullscreen theme (#7974)
- Is still used by TachiyomiFullscreenDialog

(cherry picked from commit 5ec5829e77)
2022-09-10 14:18:49 -04:00
arkon 23a7001f6d Remove unused resources
(cherry picked from commit 448978ac8a)
2022-09-10 14:18:37 -04:00
Jobobby04 b44afb6013 Minor cleanup 2022-09-10 14:17:54 -04:00
Jobobby04 eba7d137ee Convert biometric times to compose 2022-09-10 14:06:39 -04:00
Jobobby04 fc44ffa5af PreMigrationController: Partial Compose Conversion 2022-09-10 13:25:25 -04:00
Jobobby04 d0518515e9 Control FAB with Compose in SourceFeed 2022-09-10 12:25:30 -04:00
Ivan Iskandar e6767b747b DownloadController: Partial Compose conversion (#7969)
Item list is not changed as currently there is no fitting Compose component to
replace the drag-drop behavior.

(cherry picked from commit fb9791f597)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/tachiyomi/ui/download/DownloadHeaderItem.kt
2022-09-10 11:25:07 -04:00
nzoba a0a76c99f7 Fix download ahead missing out 1 chapter (#7927)
* Fix download ahead missing out 1 chapter

* Move toLong() function

* Add check whether the next chapter is queued

(cherry picked from commit 07d1b9f3ba)

# Conflicts:
#	app/src/main/java/eu/kanade/data/manga/MangaRepositoryImpl.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.kt
2022-09-10 11:22:36 -04:00
AntsyLich a1dd957f2f Cleanup logic of onStripSplit in WebtoonPageHolder (#7955)
* Cleanup logic of `onStripSplit` in WebtoonPageHolder

* Update app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonPageHolder.kt

Co-authored-by: arkon <arkon@users.noreply.github.com>
(cherry picked from commit 6b91f65457)
2022-09-10 11:11:03 -04:00
AntsyLich 0e2dba8cd4 LocalSource: Create cover file if it doesn't exist (#7954)
(cherry picked from commit 0c7b1bda7f)
2022-09-10 11:10:53 -04:00
Ivan Iskandar 4a46117ba7 WebViewScreen: Use Scaffold (#7958)
(cherry picked from commit 032b377de7)
2022-09-10 11:10:45 -04:00
arkon 4a2822bd2c Bump default user agent string
(cherry picked from commit 26d8e47bb9)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt
2022-09-10 11:10:37 -04:00
Weblate (bot) 6765a7df84 Translations update from Hosted Weblate (#7949)
* Weblate translations

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: stevenlele <stevenlele@outlook.com>
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hans/
Translation: Tachiyomi/Tachiyomi 0.x

* Deleted translation using Weblate (Tagalog)

Co-authored-by: stevenlele <stevenlele@outlook.com>
Co-authored-by: arkon <eugcheung94@gmail.com>
(cherry picked from commit 970ff7841e)
2022-09-10 11:10:00 -04:00
Weblate (bot) acb787630e Translations update from Hosted Weblate (#7919)
* Weblate translations

Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: António Ramos <ubercraft06@gmail.com>
Co-authored-by: Christian Elbrianno <crse@protonmail.ch>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: Eric <hamburger1024@firemail.cc>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: ID-86 <id86dev@gmail.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Peter Henriksen <f8xct2@gmail.com>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Ricardo Briones <rbrionesu@gmail.com>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: Uzuki Shimamura <hzy980512@126.com>
Co-authored-by: altinat <poiiiii4yy@gmail.com>
Co-authored-by: deadlevel13 <dodoanmanhdung@gmail.com>
Co-authored-by: nzoba <enzobatista2@gmail.com>
Co-authored-by: stevenlele <stevenlele@outlook.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/cs/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/da/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/de/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/el/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/es/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/es_419/
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/it/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ja/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ms/
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/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ru/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sc/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/th/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/tr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/vi/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hant/
Translation: Tachiyomi/Tachiyomi 0.x

* Deleted translation using Weblate (Tagalog)

Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: António Ramos <ubercraft06@gmail.com>
Co-authored-by: Christian Elbrianno <crse@protonmail.ch>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: Eric <hamburger1024@firemail.cc>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: ID-86 <id86dev@gmail.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Peter Henriksen <f8xct2@gmail.com>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Ricardo Briones <rbrionesu@gmail.com>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: Uzuki Shimamura <hzy980512@126.com>
Co-authored-by: altinat <poiiiii4yy@gmail.com>
Co-authored-by: deadlevel13 <dodoanmanhdung@gmail.com>
Co-authored-by: nzoba <enzobatista2@gmail.com>
Co-authored-by: stevenlele <stevenlele@outlook.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
Co-authored-by: arkon <eugcheung94@gmail.com>
(cherry picked from commit 3f62837260)
2022-09-10 11:09:54 -04:00
AntsyLich cb0bd82170 Webtoon Split: Improve performance (#7947)
(cherry picked from commit d55c854ebf)
2022-09-10 11:09:29 -04:00
Andreas 138fc03d1b Fix Filter not being applied in Browse Source (#7945)
(cherry picked from commit 6b2b21edfa)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourcePresenter.kt
2022-09-10 11:09:16 -04:00
Ivan Iskandar 25ad9c7fab Fix missing downloaded only/incognito banners in Browse Source (#7936)
(cherry picked from commit 99270e370e)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/BrowseSourceScreen.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
2022-09-10 11:05:48 -04:00
renovate[bot] 1ffba5b989 Update dependency com.google.firebase:firebase-analytics-ktx to v21.1.1 (#7934)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit c7d09d098a)
2022-09-10 11:02:53 -04:00
Jobobby04 53df21d8db Make sure to cancel the migrations when closed 2022-09-07 21:20:09 -04:00
Jobobby04 4f68667345 Convert smart search to compose 2022-09-07 21:19:37 -04:00
Jobobby04 4e444a0408 Convert metadata view to compose 2022-09-07 21:18:51 -04:00
Jobobby04 96f24e0600 Rewrite migration, shove all logic into a presenter instead of the UI 2022-09-04 19:42:08 -04:00
Jobobby04 6e1e42fefd Address some OkHttp nullability issues 2022-09-03 19:55:30 -04:00
arkon 0c1ac913cb Reimplement extensions search
Not sure if I should abstract this out to per-tab though. Maybe when we need it...

(cherry picked from commit 21804bfc45)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/BrowseController.kt
2022-09-03 19:50:22 -04:00
arkon 33c04e4778 Address some OkHttp nullability changes
(cherry picked from commit 38950f7bc8)
2022-09-03 19:45:47 -04:00
arkon da69f7876d Fix missing downloaded only/incognito banners in Browse
(cherry picked from commit bbf5c86b46)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/BrowseController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/BrowsePresenter.kt
2022-09-03 19:45:38 -04:00
Ivan Iskandar c7cece3393 Rebase Scaffold fork (#7929)
This changes content insets handling

(cherry picked from commit 3fa68ed217)
2022-09-03 19:44:07 -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 cc6aef693e)

# Conflicts:
#	app/src/main/java/eu/kanade/data/source/SourceRepositoryImpl.kt
#	app/src/main/java/eu/kanade/presentation/browse/BrowseLatestScreen.kt
#	app/src/main/java/eu/kanade/presentation/browse/BrowseSourceScreen.kt
#	app/src/main/java/eu/kanade/presentation/browse/SourceSearchScreen.kt
#	app/src/main/java/eu/kanade/presentation/browse/SourcesScreen.kt
#	app/src/main/java/eu/kanade/presentation/browse/components/BrowseLatestToolbar.kt
#	app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceComfortableGrid.kt
#	app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceToolbar.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SourceSearchController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesTab.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowsePagingSource.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourcePresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/latest/LatestUpdatesController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/latest/LatestUpdatesPresenter.kt
2022-09-03 19:43:55 -04:00
AntsyLich 3ba39f6557 Remove download source folder when empty (#7928)
(cherry picked from commit 5a320d87e8)
2022-09-03 18:42:06 -04:00
AntsyLich 3fc05b03f5 Lessen the use of GlobalScope launchIO (#7916)
* Lessen the use of GlobalScope `launchIO`

* Wrap some calls with `NonCancellable` context

(cherry picked from commit da95ecb686)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
2022-09-03 18:41:58 -04:00
Ivan Iskandar 8c92b2fe72 Adjust app lock mechanism (#7924)
Now uses enum to also handle timed lock

(cherry picked from commit 774a87a42a)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/App.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/base/delegate/SecureActivityDelegate.kt
2022-09-03 18:40:59 -04:00
AntsyLich 4600146675 Cleanup chapter name when syncing chapter with source (#7910)
(cherry picked from commit ff4a217730)
2022-09-03 18:29:07 -04:00
AntsyLich e6d0f90b95 Fix tmp cbzs are counted towards manga download count (#7909)
* Fix tmp cbzs are counted towards manga download count

* Review Changes

* Review Changes 2

(cherry picked from commit a43754e1a6)
2022-09-03 18:29:00 -04:00
arkon 0f702d52a2 Fix webtoon viewer pages not loading
Partial revert of fddca15182

(cherry picked from commit 8ef200861c)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonPageHolder.kt
2022-09-03 18:28:52 -04:00
Weblate (bot) e7bf5b7680 Weblate translations (#7914)
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alex Crecan <alex_crecan@yahoo.com>
Co-authored-by: DIAN SABSAB <philiptenibas@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: HuynhDuc <minhduck3359@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Marco Santos <enum.scima@gmail.com>
Co-authored-by: Ric <rikku.debec@gmail.com>
Co-authored-by: Uzuki Shimamura <hzy980512@126.com>
Co-authored-by: ZiomaleQ <r.partyka30@gmail.com>
Co-authored-by: altinat <poiiiii4yy@gmail.com>
Co-authored-by: stevenlele <stevenlele@outlook.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fil/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ja/
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/ro/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ru/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sc/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/th/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/vi/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hant/
Translation: Tachiyomi/Tachiyomi 0.x

Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alex Crecan <alex_crecan@yahoo.com>
Co-authored-by: DIAN SABSAB <philiptenibas@gmail.com>
Co-authored-by: HuynhDuc <minhduck3359@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Marco Santos <enum.scima@gmail.com>
Co-authored-by: Ric <rikku.debec@gmail.com>
Co-authored-by: Uzuki Shimamura <hzy980512@126.com>
Co-authored-by: ZiomaleQ <r.partyka30@gmail.com>
Co-authored-by: altinat <poiiiii4yy@gmail.com>
Co-authored-by: stevenlele <stevenlele@outlook.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
(cherry picked from commit ddd180e56a)
2022-09-03 18:28:13 -04:00
arkon ce9dec14b1 Bump OkHttp and re-enable fast fallback
It wasn't very stable last time, but we'll see how it goes in preview builds.

(cherry picked from commit 30b86e530b)
2022-09-03 18:27:42 -04:00
Andreas e009398c0f Resolve review comments for BrowseSourceScreens (#7912)
(cherry picked from commit 2f26982e34)

# Conflicts:
#	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/components/BrowseLatestToolbar.kt
#	app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceToolbar.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/latest/LatestUpdatesController.kt
2022-09-03 18:27:33 -04:00
arkon 241517a13a Make top app bar lift behavior more consistent
(cherry picked from commit 504844a892)

# Conflicts:
#	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/components/BrowseLatestToolbar.kt
#	app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceToolbar.kt
2022-09-03 18:10:38 -04:00
arkon 57b336b2b8 Maybe fix extensions list crash
Also fix weird animation of last updated text in Updates

(cherry picked from commit 4c1da1bd1d)
2022-09-03 17:55:00 -04:00
arkon 946432abca Clean up interceptors a bit
(cherry picked from commit dc62d0ea8b)
2022-09-03 17:54:47 -04:00
AntsyLich aa411dc3e8 Don't update page progress and allow preload when on StencilPage (#7899)
Also cleanup a little in WebtoonPageHolder

(cherry picked from commit fddca15182)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonPageHolder.kt
2022-09-03 17:54:38 -04:00
AntsyLich 5efdd07362 Manually handle HTTP 103 through WebView (#7907)
* Manually handle HTTP 103 through WebView

* Review Changes

(cherry picked from commit 81f49f34ef)
2022-09-03 17:53:44 -04:00
arkon 9318b0d803 Minor cleanup
(cherry picked from commit c39a1b7867)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/BrowseController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/sources/MigrateSourcesTab.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesTab.kt
2022-09-03 17:53:12 -04:00
Andreas 16ea8aa3b7 Use Compose on BrowseSourceScreens (#7901)
(cherry picked from commit d4b764fa31)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/components/LibraryGridCover.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SourceSearchController.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/browse/Pager.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceComfortableGridHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceCompactGridHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceItem.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceListHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/latest/LatestUpdatesController.kt
#	app/src/main/res/layout/source_comfortable_grid_item.xml
#	app/src/main/res/layout/source_compact_grid_item.xml
#	app/src/main/res/menu/source_browse.xml
2022-09-03 17:41:24 -04:00
renovate[bot] f4b75fc08a Update dependency com.google.android.material:material to v1.7.0-rc01 (#7911)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit bb54a81ef0)
2022-08-31 19:01:51 -04:00
AntsyLich 0bcdbc9f26 Add "Njalla" dns provider (#7908)
* Add "Njalla" dns provider

Details ~~Tho there is none~~: https://dns.njal.la/

* Lint

(cherry picked from commit d85af2fec6)
2022-08-31 19:01:43 -04:00
arkon 7c6ab4edcf Implement nicer UI for migrate list sorting
(cherry picked from commit 90c08303fa)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/MigrateSourceScreen.kt
2022-08-31 19:00:56 -04:00
arkon 8c182df784 Initial conversion of browse tabs to full Compose
TODO:
- Global search should launch a controller with the search textfield focused. This is pending a Compose rewrite of that screen.
- Better migrate sort UI
- Extensions search

(cherry picked from commit 92e83f702c)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/MigrateSourceScreen.kt
#	app/src/main/java/eu/kanade/presentation/browse/SourcesScreen.kt
#	app/src/main/java/eu/kanade/presentation/library/components/LibraryTabs.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/BrowseController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/sources/MigrationSourcesController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesPresenter.kt
2022-08-31 18:55:00 -04:00
Jobobby04 aaa2a961ae Convert Debug Menu to a FullComposeController 2022-08-31 17:04:50 -04:00
Jobobby04 9dad9a6551 Use FullComposeController for Source Feed 2022-08-31 17:01:10 -04:00
Jobobby04 a760198981 Convert Source Feed to Jetpack Compose 2022-08-31 16:21:26 -04:00
Jobobby04 493a1ab4a6 Convert Feed to Jetpack Compose 2022-08-31 15:20:29 -04:00
Alessandro Jean 5ee6029395 Enable sub-languages on app first run (#7127)
* Enable sub-languages on app first run.

* Fix wrong language code string parsing.

* Fix some build issues due to rebase.

* Use PreferenceHelper and remove an extra preference.

* Remove a constant.

(cherry picked from commit 084e6a964e)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionManager.kt
2022-08-31 11:19:09 -04:00
stevenyomi e2d496560c Rewrite RateLimitInterceptor (#7889)
(cherry picked from commit 532f662b05)
2022-08-31 11:18:13 -04:00
AntsyLich 6383bade26 Rename source download folder on source rename (#7898)
* Rename source download folder on source rename

* Review Changes

* Review Changes 2

(cherry picked from commit 53f5ea7fe9)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/source/SourceManager.kt
2022-08-31 11:18:05 -04:00
AntsyLich e0f70bf194 Reword "All" source/ext lang to "Multi" (#7895)
* Add "multi" as a recognized source/ext lang

* Review Changes

(cherry picked from commit fc6946ed61)
2022-08-31 11:17:20 -04:00
arkon 588d11c14f Convert settings main and search views to full Compose
(cherry picked from commit f5c7aa1142)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/components/LibraryToolbar.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/base/controller/ComposeController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsMainController.kt
2022-08-29 19:01:59 -04:00
arkon 46b369036e Convert extension details to full Compose
(cherry picked from commit 761635b572)
2022-08-29 18:50:22 -04:00
arkon 1e344385ea Update chapter progress upon registering tracker (closes #7209)
Co-authored-by: Saud-97 <Saud-97@users.noreply.github.com>
(cherry picked from commit 488d8ab8cf)
2022-08-29 18:49:01 -04:00
arkon f5fd4526d3 Remove some usages of global scope
(cherry picked from commit 8efb20439a)
2022-08-29 18:48:52 -04:00
arkon ae64f9fabd Add last update time to Updates Tab (closes #5466)
Co-authored-by: datreesezcup <datreesezcup@users.noreply.github.com>
(cherry picked from commit 43c195e14a)
2022-08-29 18:46:36 -04:00
arkon 829bd7b247 Show number of unique library items (closes #6522)
- Filters do affect this
- Won't be shown if tabs aren't visible and there's more than 1 category (so it'd always show the per-category count), but a separate stats page should show that info instead

(cherry picked from commit 8a3a7418d0)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
2022-08-29 18:46:08 -04:00
arkon dbcc744e1f Fix choosing regionalized locales
(cherry picked from commit 32190b6cac)
2022-08-29 18:13:28 -04:00
Jobobby04 2784794634 Fix sources after Jsoup update 2022-08-29 18:13:12 -04:00
Andreas 65f6e14a46 Tweak flag classes for Library (#7829)
* Tweak flag classes for Library

- Add interface for Flag and Mask
- Merge Sort Type and Direction into one class
- Use custom serializers for preferences
  - Mainly to not break the old

* Review changes

(cherry picked from commit 880407442c)

# Conflicts:
#	app/build.gradle.kts
#	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/tachiyomi/data/preference/PreferencesHelper.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/SourceItem.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibrarySettingsSheet.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/setting/SortDirectionSetting.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/setting/SortModeSetting.kt
2022-08-29 18:12:37 -04:00
renovate[bot] bee3d24ae8 Update dependency org.jsoup:jsoup to v1.15.3
(cherry picked from commit 3b34a878a7)
2022-08-29 16:01:52 -04:00
AntsyLich ceec0421c8 Fix IndexOutOfBoundsException when using Split tall images (#7892)
Also little cleanup

(cherry picked from commit b79340989f)
2022-08-29 16:01:35 -04:00
AntsyLich 715a5dcab2 Long strip split fixes 2.0 (#7882)
options was having issues in returning width for some reason

Fixes #7880
Fixes #7881

(cherry picked from commit 0e526c36be)
2022-08-28 13:17:14 -04:00
Andreas 193786848e Add APK output for x86_64 CPU architecture (#7885)
* Add APK output for x86_64 CPU architecture

* Review changes

* Fix formatting

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

* Use underscore instead of hyphen

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

# Conflicts:
#	.github/workflows/build_push.yml
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/tachiyomi/data/updater/GithubRelease.kt
2022-08-28 13:17:01 -04:00
Andreas d2199b81ec Fix overflow in ChangeCategoryDialog (#7883)
(cherry picked from commit be7108a2ee)
2022-08-28 13:15:29 -04:00
renovate[bot] 07d87d029a Update dependency com.google.android.material:compose-theme-adapter-3 to v1.0.17 (#7877)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 8e9b1124cd)
2022-08-28 13:15:19 -04:00
Jobobby04 a0f2094c51 E-Hentai set gallery id as hidden scanlator 2022-08-28 12:06:20 -04:00
Jobobby04 82dd0a0243 Fix filtered scanlators not being used in the reader 2022-08-27 22:11:53 -04:00
AntsyLich bd1acc3ae7 Long strip split fixes (#7875)
* Fix image width in `splitStrip`

* Fix reader switch isn't in md3

(cherry picked from commit 1948d55d5d)
2022-08-27 20:50:53 -04:00
Andreas 4ae581f6c9 Fix issue with removing categories from manga for ChangeCategoryDialog (#7874)
(cherry picked from commit 9c49a5ed22)
2022-08-27 20:50:44 -04:00
Andreas 436bd3187d Fix issue with input for DownloadCustomChaptersDialog (#7873)
(cherry picked from commit 0bb20a92af)
2022-08-27 20:50:36 -04:00
arkon bda100f574 Fix checkbox selection when tapping text in Compose dialogs
(cherry picked from commit cd82c88b9a)
2022-08-27 20:50:25 -04:00
AntsyLich da611bfa76 Prevent unofficial exts from getting marked as obsolete or updateable (#7871)
* Prevent unofficial exts from getting marked as obsolete

* Prevent unofficial ext `hasUpdate` getting marked as true

(cherry picked from commit 8d40e20b7d)
2022-08-27 20:50:16 -04:00
arkon 8a4099a5dd Minor cleanup
(cherry picked from commit 31b62b2779)
2022-08-27 20:49:56 -04:00
AntsyLich 1e395246dc Long Strip Split for Webtoon (#5759)
* Long Strip Split for Webtoon

* Review Changes

* Review Changes 2 + Rebase

(cherry picked from commit 88b56121a3)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReaderReadingModeSettings.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonViewer.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsReaderController.kt
#	app/src/main/res/layout/reader_webtoon_settings.xml
2022-08-27 20:49:45 -04:00
Weblate (bot) 51e895db97 Weblate translations (#7744)
Co-authored-by: Abhijeet Sonar <abhijeet.nkt@gmail.com>
Co-authored-by: Abubakar Abdullahi Gwabare <gwabstech@gmail.com>
Co-authored-by: Ahmed Saleh <sniperasa8@gmail.com>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: Cường Bá <cuongba956@gmail.com>
Co-authored-by: DIAN SABSAB <philiptenibas@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: DatTran MLL <tranthanhdat1142003@gmail.com>
Co-authored-by: Deleted User <noreply+48029@weblate.org>
Co-authored-by: Eduard Ereza Martínez <eduard@ereza.cat>
Co-authored-by: EpicLemon99 <epiclemon99@protonmail.com>
Co-authored-by: Eric <alchemillatruth@purelymail.com>
Co-authored-by: FrostedFox <i6b4kl5lm@duck.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Himori <felchan2005@gmail.com>
Co-authored-by: Hin Weisner <translatu.godwit@aleeas.com>
Co-authored-by: Hiroshi <borlonjhayron1119@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: ID-86 <id86dev@gmail.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Jen Kung-chih <Kaitul@outlook.com>
Co-authored-by: Jetspectre <jetspectre1@gmail.com>
Co-authored-by: KokaKiwi <kokakiwi+git@kokakiwi.net>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Marco Santos <enum.scima@gmail.com>
Co-authored-by: Megat Al Zhahir Daniel <megatalzhahir@gmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: MrChuw <jgabrielmonteiro@hotmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Ric <rikku.debec@gmail.com>
Co-authored-by: Ronny Wegener <wegener.ronny@gmail.com>
Co-authored-by: Rostyslav Haitkulov <info@ubilling.net.ua>
Co-authored-by: Sapphire <sapphireinc@protonmail.ch>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: TheKingTermux <achmadmaulana0233@gmail.com>
Co-authored-by: Uzuki Shimamura <hzy980512@126.com>
Co-authored-by: Zero O <godarms2010@live.com>
Co-authored-by: altinat <poiiiii4yy@gmail.com>
Co-authored-by: f0roots <f0rootss@gmail.com>
Co-authored-by: ice <omarmaayouf1234@gmail.com>
Co-authored-by: moon <jamiejakie@gmail.com>
Co-authored-by: stevenlele <stevenlele@outlook.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ar/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ca/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ceb/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/cs/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/de/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/el/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/es/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/es_419/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fi/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fil/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ha/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/hi/
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/it/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ja/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ko/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/mr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ms/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/pt/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ro/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ru/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sc/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ta/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/th/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/tr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/uk/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/vi/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hant/
Translation: Tachiyomi/Tachiyomi 0.x

Co-authored-by: Abhijeet Sonar <abhijeet.nkt@gmail.com>
Co-authored-by: Abubakar Abdullahi Gwabare <gwabstech@gmail.com>
Co-authored-by: Ahmed Saleh <sniperasa8@gmail.com>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: Cường Bá <cuongba956@gmail.com>
Co-authored-by: DIAN SABSAB <philiptenibas@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: DatTran MLL <tranthanhdat1142003@gmail.com>
Co-authored-by: Deleted User <noreply+48029@weblate.org>
Co-authored-by: Eduard Ereza Martínez <eduard@ereza.cat>
Co-authored-by: EpicLemon99 <epiclemon99@protonmail.com>
Co-authored-by: Eric <alchemillatruth@purelymail.com>
Co-authored-by: FrostedFox <i6b4kl5lm@duck.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Himori <felchan2005@gmail.com>
Co-authored-by: Hin Weisner <translatu.godwit@aleeas.com>
Co-authored-by: Hiroshi <borlonjhayron1119@gmail.com>
Co-authored-by: ID-86 <id86dev@gmail.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Jen Kung-chih <Kaitul@outlook.com>
Co-authored-by: Jetspectre <jetspectre1@gmail.com>
Co-authored-by: KokaKiwi <kokakiwi+git@kokakiwi.net>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Marco Santos <enum.scima@gmail.com>
Co-authored-by: Megat Al Zhahir Daniel <megatalzhahir@gmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: MrChuw <jgabrielmonteiro@hotmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Ric <rikku.debec@gmail.com>
Co-authored-by: Ronny Wegener <wegener.ronny@gmail.com>
Co-authored-by: Rostyslav Haitkulov <info@ubilling.net.ua>
Co-authored-by: Sapphire <sapphireinc@protonmail.ch>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: TheKingTermux <achmadmaulana0233@gmail.com>
Co-authored-by: Uzuki Shimamura <hzy980512@126.com>
Co-authored-by: Zero O <godarms2010@live.com>
Co-authored-by: altinat <poiiiii4yy@gmail.com>
Co-authored-by: f0roots <f0rootss@gmail.com>
Co-authored-by: ice <omarmaayouf1234@gmail.com>
Co-authored-by: moon <jamiejakie@gmail.com>
Co-authored-by: stevenlele <stevenlele@outlook.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
(cherry picked from commit d6c0a5ef8b)
2022-08-27 20:40:09 -04:00
arkon cc1e47eb30 Bump dependencies
(cherry picked from commit 5732fc61e8)
2022-08-27 20:39:49 -04:00
Ivan Iskandar 66cb3c03b8 Bump Compose M3 to 1.0.0-beta01 (#7867)
(cherry picked from commit 655fa25b51)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/components/LibraryToolbar.kt
2022-08-27 20:39:09 -04:00
Mubashir Haroon 5c4481a704 Trim newlines from user agent (#7858)
* trim newlines from user agent

* fix indents

* fix indents for real

* actually fix indents

(cherry picked from commit aab5f083db)
2022-08-27 20:09:20 -04:00
arkon 655c0d8c90 Minor tweaks to download custom dialog
- Allow large decrements (just goes to 0)
- Use Material3 text field for proper theming
- Move dialog composable to presentation package

(cherry picked from commit 03b9950fa1)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/database/components/ClearDatabaseDialogs.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt
2022-08-27 20:09:09 -04:00
Andreas 5baf87edd0 Move a few Dialogs to Compose (#7861)
* Move a few Dialogs to Compose

- Separating dialogs that are not needed in the PR for the move to Compose on the Browse Source screen
- ChangeMangaCategoriesDialog and AddDuplicateMangaDialog will be removed in the Browse Source screen PR

* Review changes

(cherry picked from commit 2453d1a886)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/LibraryState.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/manga/MangaController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
2022-08-27 20:03:05 -04:00
stevenyomi 0d221657b2 Fix chapter download with empty scanlator (#7844)
(cherry picked from commit 4b9a6541d1)
2022-08-27 19:48:36 -04:00
nzoba a024d8810c Fix stucked downloads when service not started (#7846)
* Fix stucked downloads when service not started

* Fix chapter download restart even if should be deleted

(cherry picked from commit a70b848646)
2022-08-27 19:48:27 -04:00
Andreas 77245074e8 Add DelicateCoroutinesApi to GlobalScope extension functions (#7848)
(cherry picked from commit ce44c0615b)
2022-08-27 19:48:18 -04:00
nzoba 7949865484 Download ahead (#7226)
(cherry picked from commit f207e87722)
2022-08-27 19:48:11 -04:00
Tien Long Lam d07acb76b7 Revert "Fixes the slider when in 2 page mode (#657)" (#666)
This reverts commit 6347793701.
2022-08-23 10:29:06 -04:00
Tien Long Lam 6347793701 Fixes the slider when in 2 page mode (#657)
* Correct slider step size when on 2-page mode

* Fix reader slider when in 2-page mode
2022-08-22 12:58:13 -04:00
Tien Long Lam ad6ffe4fec Able to move 'Merge' button to overflow menu (#655) 2022-08-22 12:57:50 -04:00
Jobobby04 9051178701 Use Jetpack Compose for interceptor activity 2022-08-22 12:56:02 -04:00
Jobobby04 bda2f81c66 Minor cleanup 2022-08-22 12:43:55 -04:00
arkon 37b5b2f2e1 Reorder themes
(cherry picked from commit 2e81e1b7d8)
2022-08-22 12:39:00 -04:00
renovate[bot] a4f7f43520 Update serialization_version to v1.4.0 (#7833)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 605c3de150)
2022-08-22 12:38:53 -04:00
renovate[bot] bfc7afe62c Update coil_version to v2.2.0 (#7832)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 7aa073ddca)
2022-08-22 12:38:46 -04:00
Batuhan 723ae93ad8 New Theme Tidal Wave (#7825)
* New Theme Tidal Wave

Added a new strong blue theme appearance to Tachiyomi titled Tidal Wave.

* Better Tertiary Color: Seafoam Green

Updated the tertiary color to be lighter and match the blue more. Also changed the active button color to contrast better.

(cherry picked from commit 4b0f549666)
2022-08-22 12:38:39 -04:00
stevenyomi 90db474512 DownloadProvider: Remove duplicate in valid chapter dir name list (#7826)
(cherry picked from commit 40749dc767)
2022-08-22 12:38:29 -04:00
stevenyomi 3eb943055e Disable explicit nulls for JSON serializer (#7824)
* Disable explicit nulls for JSON serializer

* format to multiple lines

(cherry picked from commit 3599d53c61)
2022-08-22 12:38:21 -04:00
stevenyomi 3ca2174c65 NetworkHelper: log real requests and responses (#7820)
(cherry picked from commit 2156844b87)
2022-08-22 12:38:05 -04:00
Ivan Iskandar 595380f81d LibrarySettingsSheet: Fix race condition when applying sort mode (#7805)
Also fix sort direction can't be changed for default category

(cherry picked from commit 763288ab13)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/category/interactor/SetSortModeForCategory.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/setting/SortDirectionSetting.kt
2022-08-22 12:37:42 -04:00
Andreas bf0ba54a6d Fix nav bar appearing when going from Library's action mode (#7821)
fixes #7788

(cherry picked from commit 6d6c38ecaf)
2022-08-19 19:51:44 -04:00
arkon 556432eb0d Don't allow setting blank user agent string
(cherry picked from commit 3760b310df)
2022-08-19 19:51:36 -04:00
Andreas ec210de6c5 Fix emoji going crazy and fix tabs being visible when library is empty (#7811)
fixes #7792
fixes #7791

(cherry picked from commit 47b56644de)
2022-08-19 19:51:28 -04:00
arkon 114ed8836b Simplify split tall images preference wording
(cherry picked from commit 301cae13f0)
2022-08-19 19:51:13 -04:00
arkon a24832f4db Remove Duktape
Now that none of the official extensions are using it.

(cherry picked from commit 324ae3fcfb)
2022-08-19 19:51:05 -04:00
stevenyomi 39e0d7f4e8 Remove 1.x source models (#7781)
(cherry picked from commit e36e9d9d5c)

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

(cherry picked from commit 09abfc7843)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt
#	build.gradle.kts
2022-08-18 14:37:45 -04:00
stevenyomi 128a868ffb Fix notification and add visual cues when triggering a second update (#7783)
(cherry picked from commit 1f34f5277c)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/LibraryScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt
2022-08-18 14:25:45 -04:00
Ahmad Azwar Annas 5c2d07d14d Add Mullvad and Control D as DoH providers (#7785)
(cherry picked from commit 80b4b7bee6)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt
2022-08-18 14:22:46 -04:00
stevenyomi 66ee19daaf Fix download chapter dir when scanlator is empty or changed (#7780)
(cherry picked from commit 1f9f9662bc)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/chapter/interactor/SyncChaptersWithSource.kt
2022-08-17 15:35:26 -04:00
Tien Long Lam 0632d3a605 Added tickers in the reader page slider (#7760)
* Added tickers in the reader page slider

Default setting is off, under the reader page

* Revert "Added tickers in the reader page slider"

This reverts commit 51910dc65ae965b92d2cfe6a4d28df4ad27288a2.

* Added reader page slider tickers via xml

(cherry picked from commit 97656935a2)
2022-08-17 15:34:08 -04:00
Jobobby04 9fe7f23b81 Minor fix 2022-08-17 13:52:00 -04:00
Ivan Iskandar 7ef4291763 Reinstate in-app language picker (#7493)
Also add required config for android 13 system picker

(cherry picked from commit 2d690a09b3)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsGeneralController.kt
2022-08-14 16:07:33 -04:00
arkon 08714f0f9a Update checkbox icons to match latest Material lib
(cherry picked from commit 7497e02979)
2022-08-14 16:06:10 -04:00
renovate[bot] 9c71054226 Update com.google.android.material (#7750)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit f34dc3be90)
2022-08-14 16:06:03 -04:00
renovate[bot] 2d451acfa8 Update dependency androidx.sqlite:sqlite-ktx to v2.3.0-alpha04 (#7752)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 65261356eb)
2022-08-14 16:05:52 -04:00
Andreas 5baddd8a74 Add task to generate locales_config.xml (#7754)
(cherry picked from commit 4291cc8eb1)

# Conflicts:
#	.gitignore
2022-08-14 16:05:27 -04:00
Ivan Iskandar aeea01a68b UpdatesScreen: use custom LazyColumn with animation fix (#7758)
(cherry picked from commit 9dbc1aa7a3)
2022-08-14 16:04:29 -04:00
Ivan Iskandar aad81d9c79 Use application context to create toast (#7756)
(cherry picked from commit b0520df1dd)
2022-08-14 16:04:22 -04:00
Jobobby04 acfc76bdd0 Support stable users migrating to preview 2022-08-14 16:00:03 -04:00
Jobobby04 5df6050180 merge release into master 2022-08-14 15:57:56 -04:00
arkon b7779ba14f v1.8.5 2022-08-14 15:49:00 -04:00
arkon 9a291e6da4 Fix sources not loading
(cherry picked from commit 1f79444a53)

# Conflicts:
#	app/proguard-rules.pro
2022-08-14 15:41:41 -04:00
Jobobby04 e7423e3715 Add missing mangadex languages, remove language prettyPrint since its not used
(cherry picked from commit 240d821a58)
2022-08-13 15:49:13 -04:00
Jobobby04 0ed26dbc49 More fixes 2022-08-13 15:48:49 -04:00
Jobobby04 a08e4e616d Update EHTags list
(cherry picked from commit 05f2f79e0d)
2022-08-13 15:47:53 -04:00
Jobobby04 655126eaa2 Fixes 2022-08-13 15:46:27 -04:00
CVIUS af070a3f0a Detect identical mangas when long pressing to add to library (#7095)
* Detect identical mangas when long pressing to add to library

* Use extracted duplicate manga dialog to avoid duplication

* Partially revert previous commit

* Review changes

* Review changes part 2

(cherry picked from commit f1afeac0bc)
(cherry picked from commit 431c04e54f)
2022-08-13 15:46:05 -04:00
Jobobby04 2b9d564841 Minor improvements for delegated source id lists
(cherry picked from commit 1d593de654)
2022-08-13 15:40:55 -04:00
arkon d09de07a3f Cleanup 2022-08-13 15:40:28 -04:00
arkon 048587468d Don't allow swiping away app update install notification
Also show the new version number in the notifications.

(cherry picked from commit 4aa5c6107c)
2022-08-13 15:32:29 -04:00
CVIUS 5dcdd3454b Detect identical mangas when long pressing to add to library (#7095)
* Detect identical mangas when long pressing to add to library

* Use extracted duplicate manga dialog to avoid duplication

* Partially revert previous commit

* Review changes

* Review changes part 2

(cherry picked from commit f1afeac0bc)
(cherry picked from commit afd1c3b491)
2022-08-13 15:32:18 -04:00
nicki 5d5678861d Fix Links to Changelog/Readme/Commits for multisrc (#7252)
* Fix Links to Changelog/Readme/Commits for `multisrc`

working basic fix. Needs to be refactored into `createUrl()`

* Refactor back into `createUrl`

hopefully the logic is understandable
there's three cases:
 - when multisrc, if `path` isn't mentioned, then we're trying to open
   commmit history
 - when multisrc, if `path` is mentioned, then its either a changelog or
   a readme to a multisrc extension, the files are stored in the
   `overrides` subfolder
 - when not multisrc, we're looking at a single source where the links
   are constructed in the same way regardless of it being
   changelog/readme/commit history

(cherry picked from commit e7695aef78)
(cherry picked from commit 25e0075041)
2022-08-13 15:31:46 -04:00
arkon 85bd12e731 Actually compare chapter numbers as numbers when sorting (fixes #7247)
(cherry picked from commit da8669c826)
(cherry picked from commit 4b7b710b7c)

# Conflicts:
#	app/src/test/java/eu/kanade/tachiyomi/util/chapter/ChapterRecognitionTest.kt
2022-08-13 15:31:37 -04:00
arkon f322a7e660 Add auto split tall images setting
Also includes some fixes for bad merges in earlier commits

Co-authored-by: Saud-97 <Saud-97@users.noreply.github.com>
Co-authored-by: AntsyLich <AntsyLich@users.noreply.github.com>
(cherry picked from commit 6db2becd30)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/source/LocalSource.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/util/system/ImageUtil.kt
2022-08-13 15:30:47 -04:00
Andreas 5f7b7c652c Log extension loading errors directly (#7716)
(cherry picked from commit 7892cc1519)
(cherry picked from commit 0b7d0f7f67)
2022-08-13 15:29:38 -04:00
Alessandro Jean 214cbed3f0 Add missing Authorization header on MAL refresh token request (#7686)
* Add missing Authorization header on MAL refresh token request.

* Make sure to also close the response when it have failed.

(cherry picked from commit 5315467908)
(cherry picked from commit af1ee662ed)
2022-08-13 15:29:28 -04:00
stevenyomi 71db4eebea Filter out empty genres before saving manga to database (#7655)
(cherry picked from commit 4efb736e56)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/database/models/Manga.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/model/SManga.kt
(cherry picked from commit 702fdb054a)
2022-08-13 15:29:15 -04:00
Andreas 9a577e1c69 Remove deprecated LibrarySort (#7659)
* Remove deprecated LibrarySort

* Apply suggestions from code review

(cherry picked from commit 58acf0a8aa)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibrarySort.kt
(cherry picked from commit 4b87831bdd)

# Conflicts:
#	app/src/main/java/exh/EXHMigrations.kt
2022-08-13 15:29:03 -04:00
MatchaSoba 9a5ea9b507 Fix logic for searchWithGenre (#7559)
(cherry picked from commit b563e85c3b)
(cherry picked from commit b729b7f0aa)
2022-08-13 15:28:04 -04:00
arkon 474eea1c84 Avoid catastrophic failure when cover can't be created in local source (fixes #7577)
(cherry picked from commit d6977e5676)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/source/LocalSource.kt
(cherry picked from commit cfe78ff907)
2022-08-13 15:27:52 -04:00
arkon 43010e92ac Show better error when trying to open RARv5 file
(cherry picked from commit a843054388)
(cherry picked from commit 53a381ce28)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/ChapterLoader.kt
2022-08-13 15:27:44 -04:00
nzoba 38b7240728 Add downloaded icon in TransitionView when chapter is downloaded (#7575)
* Add downloaded icon in TransitionView

* Change icon

(cherry picked from commit e8b7743826)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerViewer.kt
(cherry picked from commit ea37a5a7a1)
2022-08-13 15:26:46 -04:00
AntsyLich d52511d5ce Fix logic of app unlock (#7569)
(cherry picked from commit 8ea05e852e)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/App.kt
(cherry picked from commit 09e5bcaec1)
2022-08-13 15:26:36 -04:00
stevenyomi 06f0817bec Fix image MIME issues that cause download errors (#7562)
* Downloader: ignore non-image MIME to prevent .bin extensions

* ProgressResponseBody: allow null content type

Co-authored-by: anenasa <84259093+anenasa@users.noreply.github.com>

Co-authored-by: anenasa <84259093+anenasa@users.noreply.github.com>
(cherry picked from commit 3547d0142f)
(cherry picked from commit d734993349)
2022-08-13 15:26:28 -04:00
f1998f1998 2ee6d2d902 fix concurrent download (#7552)
* Fix concurrent download

* lower Concurrency

* artist Update app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt

Co-authored-by: Vetle Ledaal <vetle.ledaal@gmail.com>

Co-authored-by: Vetle Ledaal <vetle.ledaal@gmail.com>
(cherry picked from commit b635f02d93)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt
(cherry picked from commit c69f53a8f4)
2022-08-13 15:26:11 -04:00
Jobobby04 8df8622dfa Handle new default user agent where SY uses it
(cherry picked from commit f3ffd3b930)
2022-08-13 15:25:34 -04:00
arkon 58ef239959 Make default user agent string configurable
(cherry picked from commit 4ee1d72b6f)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/source/online/HttpSource.kt
(cherry picked from commit bcf9398987)
2022-08-13 15:21:47 -04:00
arkon a126180ca3 Replace deprecated ACTION_MEDIA_SCANNER_SCAN_FILE intent
(cherry picked from commit 0b4f3f5532)
(cherry picked from commit c7e44aa22f)
2022-08-13 15:21:36 -04:00
arkon ae7a4744bd Configure SQLite
- Turn on `foreign_keys` to cascade on delete properly
- Turn on `journal_mode` and set `synchronous` to NORMAL which may help performance for larger libraries

Based on d977b89af1

Co-authored-by: ghostbear <andreas.everos@gmail.com>
(cherry picked from commit ac4f98e152)
2022-08-13 15:21:24 -04:00
arkon 63cd8f8c07 Use Material3 switches in XML layouts
(cherry picked from commit da7a64b40d)

# Conflicts:
#	app/src/main/res/layout/reader_general_settings.xml
#	app/src/main/res/layout/reader_pager_settings.xml
#	app/src/main/res/layout/reader_webtoon_settings.xml
(cherry picked from commit 72aba18dab)
2022-08-13 15:21:04 -04:00
arkon 2ecd2bce51 Bump dependencies + compile SDK to 33 + linting
(cherry picked from commit 3966a917ee)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
2022-08-13 15:20:53 -04:00
arkon c7ecb58c61 Update .editorconfig
(cherry picked from commit be33a57d43)
2022-08-13 15:19:06 -04:00
arkon 422721bb64 Update chapter recognition and related tests
Includes 3e07100dc2

Co-authored-by: Saud-97 <Saud-97@users.noreply.github.com>
(cherry picked from commit 4a71022a60)

# Conflicts:
#	.github/workflows/build_pull_request.yml
#	.github/workflows/build_push.yml
#	app/src/test/java/eu/kanade/tachiyomi/CustomRobolectricGradleTestRunner.kt
2022-08-13 15:18:53 -04:00
arkon 92bc9d8801 Update AGP/Gradle
(cherry picked from commit 34ac39e7e5)

# Conflicts:
#	.github/workflows/build_pull_request.yml
#	.github/workflows/build_push.yml
2022-08-13 15:18:20 -04:00
Jobobby04 a19e808e47 Remove Library settings sheet in library settings 2022-08-13 15:03:55 -04:00
Ivan Iskandar 33e0d34afa UpdatesPresenter: Prevent unnecessary screen recompose (#7742)
(cherry picked from commit 5f378e28b6)
2022-08-13 15:02:16 -04:00
Ivan Iskandar b86a549624 UpdatesScreen: Fix inset related issue (#7741)
(cherry picked from commit 4ebceac07f)
2022-08-13 15:02:08 -04:00
Ivan Iskandar cda5730202 MangaFullCoverDialog: Use the new image picker when available (#7740)
(cherry picked from commit aab5a56892)
2022-08-13 15:01:47 -04:00
Weblate (bot) 16fc68a8b9 Weblate translations (#7695)
Co-authored-by: Hiroshi <borlonjhayron1119@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: HouseDrVenus <aurimasjurevic@gmail.com>
Co-authored-by: Igor <zerrxs@gmail.com>
Co-authored-by: Kreby <dlusinskij@gmail.com>
Co-authored-by: moon <jamiejakie@gmail.com>
Co-authored-by: stevenlele <stevenlele@outlook.com>
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/be/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ceb/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ko/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/lt/
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: Hiroshi <borlonjhayron1119@gmail.com>
Co-authored-by: HouseDrVenus <aurimasjurevic@gmail.com>
Co-authored-by: Igor <zerrxs@gmail.com>
Co-authored-by: Kreby <dlusinskij@gmail.com>
Co-authored-by: moon <jamiejakie@gmail.com>
Co-authored-by: stevenlele <stevenlele@outlook.com>
(cherry picked from commit 83129385e2)
2022-08-13 15:01:34 -04:00
AntsyLich 38237ccc4c Some tweaks on Updates screen (#7729)
Based on #7708, #7709 and #7717

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

Co-authored-by: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
Co-authored-by: Andreas <6576096+ghostbear@users.noreply.github.com>
(cherry picked from commit 1474c8ffb3)
2022-08-13 15:01:25 -04:00
Ivan Iskandar c0761e8b19 MainActivity: Fix crash on back pressed (#7731)
(cherry picked from commit 441e7bf8b1)
2022-08-13 15:01:16 -04:00
Andreas 04cab544e3 Add back reset action to the Library and History Search toolbars (#7722)
* Add back reset action to the Library and History Search toolbars

* Localize the descriptions

(cherry picked from commit 71fc5d6d35)
2022-08-13 15:01:05 -04:00
Andreas 948abf2798 Change usage of name to visualName when Default category can be shown (#7725)
(cherry picked from commit ff996d282a)
2022-08-13 15:00:43 -04:00
AntsyLich 0b1afc1b94 Change return value of SyncChaptersWithSource.await() (#7715)
* Change return value of `SyncChaptersWithSource.await()`

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

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

* Add doc string

* Use HashSet

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

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

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
2022-08-13 15:00:32 -04:00
Andreas e9829129ae Revert Glance to 1.0.0-alpha03 (#7726)
New release has issue with its ProGuard rules
https://issuetracker.google.com/issues/239549285

(cherry picked from commit 1cbe225a94)
2022-08-13 14:50:16 -04:00
arkon 2999190fad Address misc. build warnings
(cherry picked from commit d6f1534ee8)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SourceSearchController.kt
2022-08-13 14:50:03 -04:00
arkon 4d315c1d5d Bump dependencies
(cherry picked from commit 24e64f52e2)
2022-08-13 14:33:55 -04:00
arkon 4e4e369188 Fix crash when setting cover errors (closes #7714)
(cherry picked from commit e511f24979)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.kt
2022-08-13 14:33:32 -04:00
Andreas a7400df245 Tweak Library screen (#7718)
* Allow to refresh when there is white space

fixes #7701

* Don't use key on library screen as it retains scroll position on first item

fixes #7631

(cherry picked from commit 22e83f408b)
2022-08-13 14:31:30 -04:00
Andreas d157115c80 Fake library loading (#7717)
(cherry picked from commit ec96a81735)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/components/LibraryContent.kt
2022-08-13 14:31:21 -04:00
Andreas 0b7d0f7f67 Log extension loading errors directly (#7716)
(cherry picked from commit 7892cc1519)
2022-08-13 14:30:41 -04:00
Ivan Iskandar f99635bb3a MangaPresenter: Fix incorrect range selection (#7709)
(cherry picked from commit f7b11f2ce9)
2022-08-13 14:30:32 -04:00
Ivan Iskandar 2ca853a302 Fix issues related to Manga screen slow load (#7708)
* Fix back handling when manga is still loading

* MangaPresenter: Show what we have earlier to reduce percepted slowness

(cherry picked from commit b4e15263db)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
2022-08-13 14:30:16 -04:00
Andreas 8aedad02f6 Update .editorconfig (#7711)
- Set editor to use single name imports

(cherry picked from commit 96c3116af6)
2022-08-13 14:13:53 -04:00
nzoba 425b21ec4e Set readStartTime when switching chapters in a single reader session (#7702)
(cherry picked from commit 7845f9430e)
2022-08-13 14:13:44 -04:00
Ivan Iskandar c13a0a2722 Glance widget fixes (#7706)
* Fix glance failing when there's too much children

* Adjust cover error placeholder

(cherry picked from commit 16abfeeff0)
2022-08-13 14:13:36 -04:00
Jobobby04 ce16496275 Simplify group by code further 2022-08-07 13:32:41 -04:00
Jobobby04 ffa8cee0ea Fix sorting crashes 2022-08-07 12:18:40 -04:00
arkon b279c9115f Fix default category showing up in edit manga categories list
Also remove some usages of runBlocking

(cherry picked from commit 3bc6b1e202)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/more/AboutController.kt
2022-08-07 12:17:48 -04:00
arkon 71f2f03300 Fix appbar action content descriptions
(cherry picked from commit 3c2e237d63)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/components/LibraryToolbar.kt
2022-08-07 11:39:28 -04:00
renovate[bot] 681318cab1 Update dependency gradle to v7.5.1 (#7696)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 7701672d7a)
2022-08-07 11:38:05 -04:00
renovate[bot] 7203647bbb Update aboutlib_version to v10.4.0 (#7697)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 2993e3f0f2)
2022-08-07 11:37:55 -04:00
Jobobby04 46fc6d44bc Fix group by settings with only default category 2022-08-07 11:37:41 -04:00
Jobobby04 7cbf795295 Fix Sync Favorites 2022-08-07 11:37:40 -04:00
Jobobby04 240d821a58 Add missing mangadex languages, remove language prettyPrint since its not used 2022-08-07 11:37:40 -04:00
Román ee27cccdc3 [RU] Translations (#644) 2022-08-06 18:26:20 -04:00
arkon c0db682476 Minor fixes
- Fix categories modal showing when adding from source with no categories
- Use old categories icon in library bottom action menu

(cherry picked from commit 688cc64dff)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/components/MangaBottomActionMenu.kt
#	app/src/main/java/eu/kanade/tachiyomi/App.kt
2022-08-06 18:25:28 -04:00
arkon 8b777e1e5a More backup/restore code cleanup
(cherry picked from commit 9f0052eceb)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/AbstractBackupManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/AbstractBackupRestore.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupRestorer.kt
2022-08-06 18:19:05 -04:00
Weblate (bot) 16bd7853ad Weblate translations (#7658)
Co-authored-by: Ahmad Azwar Annas <ahmadazw2@gmail.com>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: DatTran MLL <tranthanhdat1142003@gmail.com>
Co-authored-by: Eduard Ereza Martínez <eduard@ereza.cat>
Co-authored-by: Eric <alchemillatruth@purelymail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Hello and Bye <gfox5518@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: ID-86 <id86dev@gmail.com>
Co-authored-by: K. Sz. Bence <tudi20@protonmail.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Marco Santos <enum.scima@gmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Ric <rikku.debec@gmail.com>
Co-authored-by: Shjosan <shjosan@kakmix.co>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: TheKingTermux <achmadmaulana0233@gmail.com>
Co-authored-by: Uzuki Shimamura <hzy980512@126.com>
Co-authored-by: altinat <poiiiii4yy@gmail.com>
Co-authored-by: stevenlele <stevenlele@outlook.com>
Co-authored-by: yarin yaari <yariny101y@gmail.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ar/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ca/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/cs/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/de/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/el/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/es/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fil/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/he/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/hr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/hu/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/id/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/it/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ja/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ms/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ru/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sc/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sv/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/th/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/tr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/vi/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hant/
Translation: Tachiyomi/Tachiyomi 0.x

Co-authored-by: Ahmad Azwar Annas <ahmadazw2@gmail.com>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: DatTran MLL <tranthanhdat1142003@gmail.com>
Co-authored-by: Eduard Ereza Martínez <eduard@ereza.cat>
Co-authored-by: Eric <alchemillatruth@purelymail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Hello and Bye <gfox5518@gmail.com>
Co-authored-by: ID-86 <id86dev@gmail.com>
Co-authored-by: K. Sz. Bence <tudi20@protonmail.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Marco Santos <enum.scima@gmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Ric <rikku.debec@gmail.com>
Co-authored-by: Shjosan <shjosan@kakmix.co>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: TheKingTermux <achmadmaulana0233@gmail.com>
Co-authored-by: Uzuki Shimamura <hzy980512@126.com>
Co-authored-by: altinat <poiiiii4yy@gmail.com>
Co-authored-by: stevenlele <stevenlele@outlook.com>
Co-authored-by: yarin yaari <yariny101y@gmail.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
(cherry picked from commit 19eb4aaac9)
2022-08-06 18:06:45 -04:00
arkon 6f6a9b677c Start cleaning up backup/restore code
The abstraction was useful for handling 2 systems, but it's no longer needed. Cleaning it up will make migrating to domain models easier down the line.

(cherry picked from commit a2bb81b7db)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupRestorer.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/models/Backup.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
2022-08-06 18:06:31 -04:00
arkon b0fc4dd6d4 Make screen loading indicators more consistent
(cherry picked from commit 5e68fe4fe9)
2022-08-06 17:49:22 -04:00
Jobobby04 05f2f79e0d Update EHTags list 2022-08-05 16:34:00 -04:00
Andreas 394e9b3fe6 Move default category into database (#7676)
(cherry picked from commit 914831d51f)

# 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
Alessandro Jean af1ee662ed Add missing Authorization header on MAL refresh token request (#7686)
* Add missing Authorization header on MAL refresh token request.

* Make sure to also close the response when it have failed.

(cherry picked from commit 5315467908)
2022-08-05 13:08:12 -04:00
arkon 44ce0eaad0 Bump AGP and Compose compiler dependencies
(cherry picked from commit 807987f0d3)
2022-08-05 13:08:02 -04:00
Ivan Iskandar 4da028af6a ExtensionPresenter: Fix crash on first launch (#7685)
* Revert "Use SharedFlow for available extensions to always emit the value (#7609)"

This reverts commit 73901f50c0.

* ExtensionPresenter: Explicitly set refreshing status

* Scope coroutines job to presenter

* cleanup

* fix toast

(cherry picked from commit b3426f37e7)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionManager.kt
2022-08-05 13:07:50 -04:00
Ivan Iskandar 353eef34b5 Add scroll overlay to LibraryToolbar (#7669)
Works when category tab is not shown

(cherry picked from commit afceac15c8)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/LibraryScreen.kt
#	app/src/main/java/eu/kanade/presentation/library/components/LibraryToolbar.kt
2022-08-05 13:06:42 -04:00
nzoba 374d2d8a97 Save read duration to backup (#7672)
* Save read duration to backup

* Add default value

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

Co-authored-by: Andreas <andreas.everos@gmail.com>
(cherry picked from commit 3d4e56948d)
2022-08-05 13:04:27 -04:00
Ivan Iskandar 8aa313378f Reimplement appbar color overlay on scroll (#7663)
only on updates and history screen for now, but the required changes on app bar
is there.

also fix missing incognito-downloaded mode indicator on history screen

(cherry picked from commit 737cf9898d)
2022-08-05 13:04:08 -04:00
Jobobby04 ee2fbedefb Fix resume manga fab not working properly for E-H manga 2022-08-05 13:03:36 -04:00
arkon 72ab3abc2f Remove some unneeded TODOs
(cherry picked from commit 322f3a07e8)
2022-07-31 18:20:49 -04:00
Andreas 970e3e3880 Fix null pointer exception on Extension Detail screen (#7666)
(cherry picked from commit 6c7b3d7811)
2022-07-31 18:20:28 -04:00
arkon 559073d958 Minor gradle cleanup
(cherry picked from commit bfd22f8f2d)
2022-07-31 11:57:27 -04:00
arkon 26da2504df Remove unused viewstatepageradapter dependency
(cherry picked from commit 2ca62c4eda)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/widget/RecyclerViewPagerAdapter.kt
2022-07-31 11:57:20 -04:00
renovate[bot] c2dcad6824 Update conductor_version to v3.1.7 (#7653)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit a2d53c439e)
2022-07-31 11:52:16 -04:00
Ivan Iskandar 46cbcfc82e Glance widget for Updates (#7581)
* glance

* glance2

(cherry picked from commit 29e1976b90)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/App.kt
2022-07-31 11:51:51 -04:00
stevenyomi 702fdb054a Filter out empty genres before saving manga to database (#7655)
(cherry picked from commit 4efb736e56)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/database/models/Manga.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/model/SManga.kt
2022-07-31 11:36:37 -04:00
Andreas 4b87831bdd Remove deprecated LibrarySort (#7659)
* Remove deprecated LibrarySort

* Apply suggestions from code review

(cherry picked from commit 58acf0a8aa)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibrarySort.kt
2022-07-31 11:35:29 -04:00
stevenyomi f0c0dbe649 Dismiss clear database confirm dialog on success (#7657)
(cherry picked from commit 9f5f101858)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/database/ClearDatabaseScreen.kt
2022-07-31 11:01:42 -04:00
AntsyLich 832f181501 SyncChaptersWithSource: Fix early exit condition for readded chapters (#7661)
(cherry picked from commit 2a875fe9b8)
2022-07-31 11:01:05 -04:00
renovate[bot] 6016143ae9 Update dependency ch.acra:acra-http to v5.9.6 (#7654)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit bb5a5ea25f)
2022-07-31 11:00:59 -04:00
Jobobby04 acdfa3689e Fix category drag-and-drop migrations 2022-07-31 10:33:04 -04:00
Jobobby04 ea7cd18302 Fix build error 2022-07-30 18:29:17 -04:00
Román b2ad75682b [RU] Translations (#639)
Co-authored-by: RomanRozhenkov <Rozhenkov20@gmail.com>
2022-07-30 18:06:28 -04:00
Andreas 9fcf4bbc57 Fix Clear Database item trying to display language when empty (#7651)
(cherry picked from commit 039fe4a618)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/SourcesScreen.kt
2022-07-30 14:02:06 -04:00
arkon 82a2eaa77a Mimic M3 rounded tab indicators
(cherry picked from commit 0c9c4c0347)
2022-07-30 12:40:58 -04:00
Weblate (bot) 01228c6b6e Weblate translations (#7589)
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: Andreas E <andreas.everos@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: Eric <alchemillatruth@purelymail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Hiroshi <borlonjhayron1119@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: ID-86 <id86dev@gmail.com>
Co-authored-by: Jendrej <ejjendrej@gmail.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Marco Santos <enum.scima@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Ric <rikku.debec@gmail.com>
Co-authored-by: Shahab Safari <shahab.safari.72@gmail.com>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: Sándor Karácsony <kar.sanyika2002@gmail.com>
Co-authored-by: THE_LEGEND <the.legend9285+weblate@gmail.com>
Co-authored-by: TheKingTermux <achmadmaulana0233@gmail.com>
Co-authored-by: Tomas <tsutavicius@gmail.com>
Co-authored-by: Uzuki Shimamura <hzy980512@126.com>
Co-authored-by: altinat <poiiiii4yy@gmail.com>
Co-authored-by: phk-r <phkr@bh2.eu>
Co-authored-by: Äljan Sayat <form7040@gmail.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
Co-authored-by: الكبرياء <adamadam5006a@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ceb/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/cs/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/de/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/el/
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/fil/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/hi/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/hu/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/id/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/it/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ja/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/kk/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/lt/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ms/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/pl/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ru/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sc/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sv/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/th/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/tr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hant/
Translation: Tachiyomi/Tachiyomi 0.x

Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: Andreas E <andreas.everos@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: Eric <alchemillatruth@purelymail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Hiroshi <borlonjhayron1119@gmail.com>
Co-authored-by: ID-86 <id86dev@gmail.com>
Co-authored-by: Jendrej <ejjendrej@gmail.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Marco Santos <enum.scima@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Ric <rikku.debec@gmail.com>
Co-authored-by: Shahab Safari <shahab.safari.72@gmail.com>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: Sándor Karácsony <kar.sanyika2002@gmail.com>
Co-authored-by: THE_LEGEND <the.legend9285+weblate@gmail.com>
Co-authored-by: TheKingTermux <achmadmaulana0233@gmail.com>
Co-authored-by: Tomas <tsutavicius@gmail.com>
Co-authored-by: Uzuki Shimamura <hzy980512@126.com>
Co-authored-by: altinat <poiiiii4yy@gmail.com>
Co-authored-by: phk-r <phkr@bh2.eu>
Co-authored-by: Äljan Sayat <form7040@gmail.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
Co-authored-by: الكبرياء <adamadam5006a@gmail.com>
(cherry picked from commit 819577a15d)
2022-07-30 12:40:31 -04:00
MatchaSoba b729b7f0aa Fix logic for searchWithGenre (#7559)
(cherry picked from commit b563e85c3b)
2022-07-30 12:40:15 -04:00
Andreas 153730447d Use Compose on Clear Database screen (#7639)
(cherry picked from commit 99ac30e59f)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/database/ClearDatabaseController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/database/ClearDatabasePresenter.kt
2022-07-30 12:40:03 -04:00
AntsyLich c22a40bd70 Use Stable interface for Updates screen + Cleanup (#7627)
* Use Stable interface for Updates screen + Cleanup

Co-Authored-By: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>

* Disable swipe refresh in selection mode

* Review Changes

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

* Review Changes 2

Co-authored-by: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
Co-authored-by: Andreas <6576096+ghostbear@users.noreply.github.com>
(cherry picked from commit 4774deb1ef)
2022-07-30 12:12:56 -04:00
Ivan Iskandar 758cc4fad4 Library category page performance fixes (#7650)
* Don't compose category page unnecessarily

* Remove unnecessary library pager recompose

Defer and remember the "currentPage" state read since it's only needed when the
pager is composed for the first time.

* Badge opts

* Sync text style with previous impl

Also avoid reallocating by using copy

(cherry picked from commit d49ec41f3a)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/components/LibraryGridCover.kt
2022-07-30 12:12:28 -04:00
arkon 1209419e83 Bump dependencies
(cherry picked from commit f90e1b935c)
2022-07-30 09:12:54 -04:00
Andreas c6e0abb07a Fix library bugs (#7648)
- Fix mixup in Action Menu
- Fix back action not clearing search

(cherry picked from commit db93d1da76)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/LibraryScreen.kt
2022-07-30 09:12:44 -04:00
Jobobby04 4cdf509e14 Remove useless border on play button 2022-07-29 22:25:44 -04:00
Jobobby04 5dccae234d Fix group by library updates 2022-07-29 22:16:41 -04:00
Andreas 9b19afb7b4 Merge GetExtensions and GetExtensionUpdates (#7646)
(cherry picked from commit 7d74b174e0)
2022-07-29 19:40:58 -04:00
Andreas e21badf48c Fix number of items not updating when Show category tabs is off (#7644)
(cherry picked from commit e513487caa)
2022-07-29 19:40:46 -04:00
Jobobby04 758cf63024 Fix play button showing when there are no unread chapters 2022-07-29 19:40:14 -04:00
Ivan Iskandar b368a53670 MangaPresenter: Add distinctUntilChanged to db flow (#7629)
* MangaScreen: Disable swipe refresh on action mode

* MangaPresenter: Add distinctUntilChanged to db flow

Now will only emit update when the related entry is changed

(cherry picked from commit 483b204fb5)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
2022-07-29 09:11:02 -04:00
Andreas b592709630 Fix category exclude not working in DownloadManager (#7641)
(cherry picked from commit 56028aff55)
2022-07-29 09:02:15 -04:00
Jobobby04 f15f14259e Fix category creation 2022-07-28 23:39:26 -04:00
Jobobby04 b9956e3123 Lint 2022-07-28 21:53:10 -04:00
Jobobby04 cb62926edf Fix group by status 2022-07-28 21:52:58 -04:00
Jobobby04 bba4b991e8 Fix group by, filtering, sorting, and a few others 2022-07-28 21:44:30 -04:00
Jobobby04 7aaff12e2c Modify migration to fit NOT NULL constraint 2022-07-28 19:57:22 -04:00
bucketmouse 89600fc7aa Center padding option for Surface Duos/other foldables (#634)
* Add center margin option for horizontal dual page view

* Update readme to make the point of the fork obvious

* Center margins now added to large single images that would display in place of two smaller pages

* Cleanup; reworked preference into an int selector to specify which margins to add

* Suggested fixes and and readme reversion which somehow got skipped last commit

* Missed the build block in readme. Oops.
2022-07-28 19:03:09 -04:00
Jobobby04 5807920636 Remove old chip extensions 2022-07-28 19:01:22 -04:00
Jobobby04 441368442e Update title when refreshing the manga 2022-07-28 18:55:56 -04:00
arkon 4ce66fecb9 Bump dependencies and remove some unneeded opt-in compiler flags
(cherry picked from commit 7336714306)
2022-07-28 09:10:01 -04:00
Andreas ba631ac055 Add fast scroller to Library screen (#7600)
Co-authored-by: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>

Co-authored-by: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
(cherry picked from commit 8bde35298f)
2022-07-28 09:09:53 -04:00
Ivan Iskandar b5120d0149 MangaScreen large UI tweaks (#7625)
* MangaScreen: Fix large UI column sizing behavior

* MangaInfoHeader: Adjust large UI cover sizing behavior

* BottomActionMenu: Change bg shape

(cherry picked from commit 3fe5e53b25)
2022-07-28 09:09:44 -04:00
Ivan Iskandar 9db6d65957 Retain backstack views by default (#7621)
(cherry picked from commit dcafdac036)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt
2022-07-28 09:09:36 -04:00
Andreas ffc24b9d14 Wait for library to load before creating Pager (#7623)
(cherry picked from commit f8d8cf9f6a)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/LibraryScreen.kt
2022-07-28 09:09:04 -04:00
Andreas 1ab0d5cdc0 Use non nullable parameters in the MangaCover invoke function (#7624)
Issue cause the non nullables to become nullable has been fixed since 1.2.0-rc01

(cherry picked from commit 5bb1133f0f)
2022-07-28 09:07:32 -04:00
Jobobby04 1d593de654 Minor improvements for delegated source id lists 2022-07-26 16:46:06 -04:00
Jobobby04 a44f7db3c6 Improve library search, fix a few edge cases 2022-07-26 16:25:44 -04:00
Andreas b3720cd241 Make Selection toolbar take precedence over search toolbar (#7611)
(cherry picked from commit 2b96709799)
2022-07-26 10:59:57 -04:00
Ivan Iskandar 1e07cb0682 BrowseSourceController: Fix broken page after opening manga (#7608)
Probably related to 788583e66f

(cherry picked from commit 1c8da5fa97)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceController.kt
2022-07-25 11:08:07 -04:00
Andreas 7edf8dd555 Use SharedFlow for available extensions to always emit the value (#7609)
- Fixes Extension screen being stuck refreshing due to StateFlow not emitting due to the value being the same

(cherry picked from commit 73901f50c0)
2022-07-25 11:06:45 -04:00
Jobobby04 7c2bbb7c00 Minor cleanup 2022-07-24 15:29:48 -04:00
Andreas 87d7a47b8e Fix wrong query being used when opening Global Search (#7604)
(cherry picked from commit 76057b84b2)
2022-07-24 15:28:23 -04:00
Andreas 4b03d3559f Fix infinite loading when user library is empty (#7602)
- If no manga in library add default category this to remove loading state

(cherry picked from commit 164de67a56)
2022-07-24 15:28:15 -04:00
Ivan Iskandar 051a9f33df ChapterDownloadIndicator: Optimize further and reimplement error state (#7599)
In the context of a weaker device--remembering objects inside a list item
is expensive. So only do it when we really need to.

This also flattens the download button by drawing a single icon instead of using
separate icon and progress indicator.

(cherry picked from commit aeffb5eeb8)
2022-07-24 15:28:05 -04:00
Andreas 013f7ec4f2 Fix toolbar having bottom padding in portrait (#7601)
(cherry picked from commit 6f94777530)
2022-07-24 10:38:41 -04:00
Ivan Iskandar e6ab9e3815 Fix unnecessary recompose when calling LazyListState.isScrolledToEnd (#7598)
(cherry picked from commit 2e15be59af)
2022-07-24 10:38:31 -04:00
Andreas dcf152b5c2 Tweaks on Library screen (#7597)
- Toolbar not having padding in landscape
- Fix library always refreshing everything even though user is refreshing category
- Tab text using primary color
- Fix Grid having to big of a top padding
- Fix Pager crashing when initial page is greater than the number of categories

(cherry picked from commit bc1f6ba517)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/LibraryScreen.kt
2022-07-24 10:38:24 -04:00
Ivan Iskandar 1839eb13d9 MangaPresenter: Don't update fav state when changing categories (#7594)
(cherry picked from commit 59f8c1a288)
2022-07-24 10:02:08 -04:00
arkon 22b627ea8d Set splash screen ready state for history and updates pages
(cherry picked from commit cd9487f94c)
2022-07-24 00:20:51 -04:00
Andreas 5888ca8e7a Fix crash in Extension Detail and set ready to true on Library screen (#7591)
(cherry picked from commit 978489fade)
2022-07-24 00:20:43 -04:00
arkon a39f2626d9 Fix padding in history screen
(cherry picked from commit 07c9af4901)
2022-07-24 00:20:35 -04:00
arkon cfe78ff907 Avoid catastrophic failure when cover can't be created in local source (fixes #7577)
(cherry picked from commit d6977e5676)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/source/LocalSource.kt
2022-07-24 00:20:29 -04:00
arkon 53a381ce28 Show better error when trying to open RARv5 file
(cherry picked from commit a843054388)
2022-07-24 00:19:04 -04:00
arkon c25b3857c9 Bump to Kotlin 1.7.10
(cherry picked from commit 098a7d1deb)
2022-07-24 00:18:51 -04:00
Weblate (bot) 965c04e5bd Weblate translations (#7553)
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: DatTran MLL <tranthanhdat1142003@gmail.com>
Co-authored-by: Eduard Ereza Martínez <eduard@ereza.cat>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: ID-86 <id86dev@gmail.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Jetspectre <jetspectre1@gmail.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Pranav Kale <pranavkale021998@gmail.com>
Co-authored-by: Sanket Datta <sdsanketdatta1997@gmail.com>
Co-authored-by: Shjosan <shjosan@kakmix.co>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: TheBluuDot <strangeworrior@gmail.com>
Co-authored-by: TheKingTermux <achmadmaulana0233@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: altinat <poiiiii4yy@gmail.com>
Co-authored-by: f0roots <f0rootss@gmail.com>
Co-authored-by: kiyoko-otomo <kareempakree20@gmail.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ar/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/bn/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ca/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/cs/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/de/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/el/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/es/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fil/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/hi/
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/it/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ja/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/jv/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ms/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ro/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ru/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sc/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sv/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/th/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/tr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ur/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/vi/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hant/
Translation: Tachiyomi/Tachiyomi 0.x

Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: DatTran MLL <tranthanhdat1142003@gmail.com>
Co-authored-by: Eduard Ereza Martínez <eduard@ereza.cat>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: ID-86 <id86dev@gmail.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Jetspectre <jetspectre1@gmail.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Pranav Kale <pranavkale021998@gmail.com>
Co-authored-by: Sanket Datta <sdsanketdatta1997@gmail.com>
Co-authored-by: Shjosan <shjosan@kakmix.co>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: TheBluuDot <strangeworrior@gmail.com>
Co-authored-by: TheKingTermux <achmadmaulana0233@gmail.com>
Co-authored-by: altinat <poiiiii4yy@gmail.com>
Co-authored-by: f0roots <f0rootss@gmail.com>
Co-authored-by: kiyoko-otomo <kareempakree20@gmail.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
(cherry picked from commit 9ef0af0069)
2022-07-24 00:18:45 -04:00
Andreas 9520494ac5 Use Stable interface for History screen (#7586)
- Adds Stable interface
- Move last Dialog into Compose
- Make History screen be full Compose screen

(cherry picked from commit c751851941)
2022-07-24 00:18:39 -04:00
Andreas bc1eb0cb30 Cleanup Library after Compose changes (#7584)
(cherry picked from commit 9f2ddaadde)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/LibraryScreen.kt
2022-07-24 00:18:26 -04:00
Andreas dd0e12999d Remove unused dependencies (#7585)
(cherry picked from commit fc328e141c)
2022-07-24 00:09:10 -04:00
arkon 2f7fda2523 Remove unused menus and drawables
(cherry picked from commit 0e19c245e9)

# Conflicts:
#	app/src/main/res/menu/category_selection.xml
#	app/src/main/res/menu/chapter_selection.xml
#	app/src/main/res/menu/library.xml
#	app/src/main/res/menu/library_selection.xml
2022-07-24 00:08:38 -04:00
arkon 30fcd30da8 Remove unused legacy ActionModeWithToolbar
(cherry picked from commit 27bac4fffb)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
2022-07-23 23:55:52 -04:00
arkon 958fe527e4 Remove bottom nav behavior and add bottom padding to root controller contents
(cherry picked from commit 4bf4b167a5)
2022-07-23 23:55:27 -04:00
Andreas 24c2aa1bfb Use Compose for Library screen (#7557)
- Move Pager to Compose
- Move AppBar to Compose
- Use Stable interface for state
- Use pills for no. of manga in category instead of (x)

(cherry picked from commit 2b8d1bcc02)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/components/LibraryComfortableGrid.kt
#	app/src/main/java/eu/kanade/presentation/library/components/LibraryCompactGrid.kt
#	app/src/main/java/eu/kanade/presentation/library/components/LibraryCoverOnlyGrid.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryAdapter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
2022-07-23 23:55:13 -04:00
nzoba ea37a5a7a1 Add downloaded icon in TransitionView when chapter is downloaded (#7575)
* Add downloaded icon in TransitionView

* Change icon

(cherry picked from commit e8b7743826)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerViewer.kt
2022-07-23 22:08:40 -04:00
AntsyLich 09e5bcaec1 Fix logic of app unlock (#7569)
(cherry picked from commit 8ea05e852e)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/App.kt
2022-07-22 15:37:17 -04:00
Jobobby04 93a9932358 Add scrolling support to debug menu dialogs 2022-07-22 15:15:19 -04:00
Jobobby04 8ef4a7fbbf Use ChapterInfo wherever possible 2022-07-22 15:09:40 -04:00
Jobobby04 450aeb5a9d Somehow missed this 2022-07-20 11:37:56 -04:00
stevenyomi d734993349 Fix image MIME issues that cause download errors (#7562)
* Downloader: ignore non-image MIME to prevent .bin extensions

* ProgressResponseBody: allow null content type

Co-authored-by: anenasa <84259093+anenasa@users.noreply.github.com>

Co-authored-by: anenasa <84259093+anenasa@users.noreply.github.com>
(cherry picked from commit 3547d0142f)
2022-07-20 11:33:27 -04:00
arkon ac4befdb51 Migrate More screen to full Compose
(cherry picked from commit 4d9d587366)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/MoreScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/base/controller/ConductorExtensions.kt
2022-07-19 13:09:27 -04:00
arkon bb11d056b5 Misc cleanup
- Migrate sources filter screen to full compose
- Use standard "OK"/"Cancel" actions for delete category dialog
- Abstract some AppBar logic
- Remove some dead code
- Group related strings

(cherry picked from commit e2510c144a)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/SourcesFilterScreen.kt
#	app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt
2022-07-19 13:01:04 -04:00
Ivan Iskandar 2e3b172ba8 MangaScreen: Save selection state (#7560)
(cherry picked from commit 00519e3b93)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
2022-07-19 12:48:04 -04:00
Ivan Iskandar 8bd7f95afc Fix download status not updated properly after starting batch download (#7561)
(cherry picked from commit 473dc688f0)
2022-07-19 12:39:31 -04:00
f1998f1998 c69f53a8f4 fix concurrent download (#7552)
* Fix concurrent download

* lower Concurrency

* artist Update app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt

Co-authored-by: Vetle Ledaal <vetle.ledaal@gmail.com>

Co-authored-by: Vetle Ledaal <vetle.ledaal@gmail.com>
(cherry picked from commit b635f02d93)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt
2022-07-19 12:39:08 -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 d8fb6b893f)

# 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
Jobobby04 e0699ad66d Remove unused logging 2022-07-18 15:48:49 -04:00
Jobobby04 7808a478ef Page preview set the scroll progress when switching pages 2022-07-18 15:48:48 -04:00
Jobobby04 cec181f444 Minor cleanup 2022-07-18 09:59:09 -04:00
Jobobby04 6f4a46b437 Update gradle 2022-07-16 23:44:03 -04:00
arkon 37bb6b27ce Migrate more screens to full Compose
(cherry picked from commit cbfe9c30bb)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/manga/MigrationMangaController.kt
2022-07-16 22:11:30 -04:00
arkon 11737fb9ed Avoid crashes due to SQLite support in older Android versions for debug builds
(cherry picked from commit 459b369feb)
2022-07-16 22:10:27 -04:00
arkon 82b16be60f Fix tablet manga screen column ratios
Matches previous stable design. Related to #7401

(cherry picked from commit 3192d47837)
2022-07-16 20:48:44 -04:00
arkon 879999e69e Fix library column setting jumping in
(cherry picked from commit f6f5b6aeab)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryMangaEvent.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
2022-07-16 20:48:18 -04:00
arkon d145239d93 Migrate licenses screen to full Compose
(cherry picked from commit 1b2c12385f)
2022-07-16 20:39:54 -04:00
arkon 1e3f313ca2 Remove top app bar scroll behavior
This lets us make it more consistent with the Compose screens for now. Maybe it'll return in the future.

This also includes making the AboutController a full Compose controller with a new abstracted TopAppBar composable.

(cherry picked from commit 80c7a45328)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/category/components/CategoryTopAppBar.kt
#	app/src/main/java/eu/kanade/presentation/more/about/AboutScreen.kt
2022-07-16 20:39:44 -04:00
arkon 97e9218f75 Consolidate badge components
(cherry picked from commit 2096df301d)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/MigrateSourceScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
2022-07-16 20:30:16 -04:00
arkon af83f81034 Tweak categories view
- Remove Compose top app bar behaviour since it's kind of jank -- we'll probably just remove the scrolling behaviour everywhere
- Tap title to rename
- Focus in textfield when opening dialogs

(cherry picked from commit 0b78028cf6)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/category/components/CategoryDialogs.kt
#	app/src/main/java/eu/kanade/presentation/category/components/CategoryTopAppBar.kt
#	app/src/main/java/eu/kanade/presentation/library/components/LibraryGridCover.kt
2022-07-16 20:28:56 -04:00
arkon 74b360f798 Consolidate Compose content/theme setting
(cherry picked from commit 46ac9fe970)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryAdapter.kt
#	app/src/main/java/eu/kanade/tachiyomi/util/view/ViewExtensions.kt
2022-07-16 20:23:01 -04:00
AntsyLich a99aaade5d MangaPresenter: Incognito and downloaded only label related tweaks (#7535)
When manga screen takes time to load incognito and downloaded only label doesn't show up. It's fixed in the pr.

(cherry picked from commit b034f503f8)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
2022-07-16 20:16:10 -04:00
Andreas 19fcc129c0 Fix Library List not using correct text color (#7548)
(cherry picked from commit 9ebeff04e6)
2022-07-16 20:13:13 -04:00
arkon 9b47b7f204 Minor library view cleanup
- Clean up unused code
- Add text shadow in compact mode
- Tweak some paddings to better match stable

(cherry picked from commit fa73e2403b)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
2022-07-16 20:13:04 -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 35ec593658)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/source/SourceManager.kt
2022-07-16 20:09:33 -04:00
Jobobby04 dd68ef4ba8 Remove drag and drop 2022-07-16 19:49:46 -04:00
Andreas b4adab5eb4 Use Compose for Library list and grid (#7520)
(cherry picked from commit 905c96922b)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryCategoryAdapter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryCategoryView.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryComfortableGridHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryCompactGridHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryItem.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryListHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibrarySelectionEvent.kt
#	app/src/main/res/layout/library_category.xml
#	app/src/main/res/layout/library_grid_recycler.xml
#	app/src/main/res/layout/library_list_recycler.xml
2022-07-16 19:11:22 -04:00
Andreas 6df1a0f79e Use Stable interface for Browse screens (#7544)
(cherry picked from commit 018ca71336)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/ExtensionDetailsScreen.kt
#	app/src/main/java/eu/kanade/presentation/browse/ExtensionsScreen.kt
#	app/src/main/java/eu/kanade/presentation/browse/MigrateSourceScreen.kt
#	app/src/main/java/eu/kanade/presentation/browse/SourcesScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/manga/MigrateMangaPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/sources/MigrationSourcesController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesFilterPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesPresenter.kt
2022-07-16 17:45:36 -04:00
Weblate (bot) 75fe1d4bee Weblate translations (#7490)
Co-authored-by: ANNOSSE MAXENCE <m-annosse@protonmail.ch>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: Anupam Malhotra <anpm.malhotra@gmail.com>
Co-authored-by: Eduard Ereza Martínez <eduard@ereza.cat>
Co-authored-by: Eric <alchemillatruth@purelymail.com>
Co-authored-by: Excalidoom <doctorasulatomic@gmail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: KOEN FOO YONG PING <qoenntrell@gmail.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Marco Santos <enum.scima@gmail.com>
Co-authored-by: Matyáš Caras <contact@hernikplays.cz>
Co-authored-by: Nepx <anandabaskara@outlook.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Rostyslav Haitkulov <info@ubilling.net.ua>
Co-authored-by: Shjosan <shjosan@kakmix.co>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: Sztalker Ket <stalkercat888@gmail.com>
Co-authored-by: TheKingTermux <achmadmaulana0233@gmail.com>
Co-authored-by: Uzuki Shimamura <hzy980512@126.com>
Co-authored-by: Víctor J <vjhc980831@gmail.com>
Co-authored-by: altinat <poiiiii4yy@gmail.com>
Co-authored-by: awe <weblate@mixt.anonaddy.com>
Co-authored-by: moon <jamiejakie@gmail.com>
Co-authored-by: stevenlele <stevenlele@outlook.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ca/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/cs/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/de/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/el/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/es/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/es_419/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fil/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/hi/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/hu/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/id/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/it/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ja/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/jv/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ko/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ms/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ro/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ru/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sc/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sv/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/th/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/tr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/uk/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hant/
Translation: Tachiyomi/Tachiyomi 0.x

Co-authored-by: ANNOSSE MAXENCE <m-annosse@protonmail.ch>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: Anupam Malhotra <anpm.malhotra@gmail.com>
Co-authored-by: Eduard Ereza Martínez <eduard@ereza.cat>
Co-authored-by: Eric <alchemillatruth@purelymail.com>
Co-authored-by: Excalidoom <doctorasulatomic@gmail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: KOEN FOO YONG PING <qoenntrell@gmail.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Marco Santos <enum.scima@gmail.com>
Co-authored-by: Matyáš Caras <contact@hernikplays.cz>
Co-authored-by: Nepx <anandabaskara@outlook.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Rostyslav Haitkulov <info@ubilling.net.ua>
Co-authored-by: Shjosan <shjosan@kakmix.co>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: Sztalker Ket <stalkercat888@gmail.com>
Co-authored-by: TheKingTermux <achmadmaulana0233@gmail.com>
Co-authored-by: Uzuki Shimamura <hzy980512@126.com>
Co-authored-by: Víctor J <vjhc980831@gmail.com>
Co-authored-by: altinat <poiiiii4yy@gmail.com>
Co-authored-by: awe <weblate@mixt.anonaddy.com>
Co-authored-by: moon <jamiejakie@gmail.com>
Co-authored-by: stevenlele <stevenlele@outlook.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
(cherry picked from commit 383f7089c4)
2022-07-16 17:21:39 -04:00
Jobobby04 f3ffd3b930 Handle new default user agent where SY uses it 2022-07-16 17:21:27 -04:00
Andreas 41855c34de Add Stable interface for Category state (#7539)
(cherry picked from commit a21aa8125e)
2022-07-16 17:21:09 -04:00
AntsyLich 8a3c9255e5 Fix extension setting isn't accesiable when it has update (#7537)
Closes #7516

(cherry picked from commit 83e193f1ab)
2022-07-16 16:48:03 -04:00
arkon 12e4dc81d7 Bump dependencies
(cherry picked from commit e5eadb0261)
2022-07-16 16:47:51 -04:00
arkon bcf9398987 Make default user agent string configurable
(cherry picked from commit 4ee1d72b6f)

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

Fixes instances where name shows up blank for stub sources

* Review Changes

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

Co-authored-by: Andreas <andreas.everos@gmail.com>
(cherry picked from commit 902bb35ba7)
2022-07-16 16:46:36 -04:00
Jobobby04 67e190bffd Page previews for Exh/E-H and NH
- Still needs click image to open chapter
2022-07-16 16:45:27 -04:00
Jobobby04 36461b52c0 Fix inconsistencies with Manga.create() 2022-07-15 11:50:06 -04:00
Jobobby04 90ab8f1d94 Add sources to merge data 2022-07-15 11:39:38 -04:00
Jobobby04 3b6ce209be Fix chapter flags 2022-07-15 11:38:56 -04:00
Jobobby04 4dda69ac40 Bring back merge manga sources string 2022-07-15 11:27:30 -04:00
Jobobby04 33f9b15891 Forgot this 2022-07-13 13:30:36 -04:00
Jobobby04 2f41312842 Minor cleanup 2022-07-13 13:30:15 -04:00
Jobobby04 560e3cf503 Update some dependencies 2022-07-13 13:30:14 -04:00
Jobobby04 5b63121835 Bump preview version code for migrations 2022-07-13 12:56:07 -04:00
Jobobby04 991c2284ac Merge branch 'release' into master
# Conflicts:
#	.github/workflows/TachiyomiSY-Release-Builder.yml
#	.github/workflows/build_check.yml
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/full/FullBackupManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/queries/RawQueries.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/track/TrackManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/track/TrackStatus.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/updater/AppUpdateChecker.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/LocalSource.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/online/all/MergedSource.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/ExtensionHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/advanced/process/MigrationProcessAdapter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsDownloadController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/database/ClearDatabaseController.kt
#	app/src/main/java/eu/kanade/tachiyomi/util/MangaExtensions.kt
#	app/src/main/java/eu/kanade/tachiyomi/util/chapter/ChapterSourceSync.kt
#	app/src/main/java/eu/kanade/tachiyomi/util/system/ImageUtil.kt
#	app/src/main/java/exh/merged/sql/queries/MergedQueries.kt
#	app/src/main/res/values/strings.xml
#	buildSrc/src/main/kotlin/AndroidConfig.kt
#	gradle/androidx.versions.toml
#	gradle/libs.versions.toml
2022-07-13 12:29:13 -04:00
Jobobby04 1d24bae841 Release v1.8.4 2022-07-13 12:02:59 -04:00
Jobobby04 5901509fbf Cherry picking fixes 2022-07-13 11:48:48 -04:00
Jobobby04 a8b07e0e05 Fix trash group by tracking code
(cherry picked from commit 4de4992e4e)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
2022-07-13 11:48:26 -04:00
Jobobby04 808efd3968 Simplify autoscroll
(cherry picked from commit 1a17f87945)
2022-07-13 11:41:01 -04:00
Jobobby04 cedbbb05e4 Only enable autoscroll when app is active
(cherry picked from commit ac586560f0)
2022-07-13 11:40:52 -04:00
Jobobby04 84d22c11ee Use image decoder for double pages
(cherry picked from commit 4ddc696fb5)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt
2022-07-13 11:40:44 -04:00
Jobobby04 4cf068283b Add virtual visibility tag for E-Hentai
(cherry picked from commit 27733aba02)
2022-07-13 11:39:42 -04:00
Jobobby04 e5fd460bb0 Minor cleanup of metadata
(cherry picked from commit 5b7539ac3e)
2022-07-13 11:37:35 -04:00
Jobobby04 6d3095b503 Improve migration sheet layout
(cherry picked from commit fef7808bb4)
2022-07-13 11:36:53 -04:00
Saud-97 fcbe9590d3 New: Migrating titles maintains custom covers (#7196)
* New: Migrating titles maintains custom covers #7189

* Added Custom Covers to MigrationFlags.kt, strings.xml

* Reworded covers --> cover

* Updated logic to show/hide Migration flags titles depending on manga.

(cherry picked from commit 5ea03fad87)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/MigrationFlags.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchPresenter.kt
(cherry picked from commit ed39b61ee9)
2022-07-13 11:36:43 -04:00
Jobobby04 f7e5df2b6d Fix auto-downloading for merged manga
(cherry picked from commit 8f868c0813)

# Conflicts:
#	app/src/main/sqldelight/data/merged.sq
2022-07-13 11:35:50 -04:00
Jobobby04 c58554ec75 Minor cleanup
(cherry picked from commit b71b9ab551)
2022-07-13 11:34:51 -04:00
Jobobby04 cdf2cf8a2d Fix mangadex blocked uploaders
(cherry picked from commit f0f8a2a0a2)
2022-07-13 11:34:01 -04:00
Jobobby04 0922d3c288 Fix on hiatus status category
(cherry picked from commit 0df61a9f28)
2022-07-13 11:33:52 -04:00
Jobobby04 505a8288be Merged source stop ddos
(cherry picked from commit 0c7ceb059e)
2022-07-13 11:33:42 -04:00
Jobobby04 b3baaa18d2 Use a file suppress deprecation
(cherry picked from commit 1eafc6ebd8)
2022-07-13 11:32:26 -04:00
Jobobby04 62e2b301c5 Cherry picking fix 2022-07-13 11:30:56 -04:00
Jobobby04 8b11357eff Separate EHTags into multiple files
(cherry picked from commit c51e8c7ab4)
2022-07-13 11:30:23 -04:00
Jobobby04 5bf4d5e434 Update tag action, fix preview changelog
(cherry picked from commit f03711e2f7)
2022-07-13 11:29:58 -04:00
arkon 45569947c4 Bump dependencies
(cherry picked from commit 1dc4a52f61)

# Conflicts:
#	gradle/libs.versions.toml
2022-07-13 11:25:27 -04:00
Jobobby04 e9d25e9d32 Fix cherry picking errors 2022-07-13 11:23:48 -04:00
arkon a03ed54c64 Update default user agent string
(cherry picked from commit 7d3fe0ed43)
(cherry picked from commit d71bf4e6bc)
2022-07-13 11:20:39 -04:00
arkon cc499a7c07 Add MIME type mapping for image/jxl (fixes #7117)
(cherry picked from commit 591df8abcc)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/util/system/ImageUtil.kt
(cherry picked from commit bbdab4a703)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/util/system/ImageUtil.kt
2022-07-13 11:20:31 -04:00
arkon 0ca0a8f74f Increase height of transition view in webtoon viewers (fixes #7242)
(cherry picked from commit 46734c525f)
(cherry picked from commit adae68a294)
2022-07-13 11:19:52 -04:00
stevenyomi 184aa4e211 Extension API: change fallback source and logic (#7400)
* Extension API: change fallback source and logic

* remove ghproxy

(cherry picked from commit 284445c364)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/extension/api/ExtensionGithubApi.kt
(cherry picked from commit ef20995e7d)
2022-07-13 11:19:43 -04:00
stevenyomi 8b7b4e05d2 RateLimitInterceptor: ignore canceled calls (#7389)
* RateLimitInterceptor: ignore canceled calls

* SpecificHostRateLimit: ignore canceled calls

(cherry picked from commit 5b8cd68cf3)
(cherry picked from commit af82ef436b)
2022-07-13 11:19:36 -04:00
Osyx 501dedf845 Add new "Lavender" theme (#7343)
* Add new "Lavender" theme

* Add light theme values for Lavender theme

* Fix order of enums

* Fix accented UI elements in set categories sheet being different colors

Co-authored-by: CrepeTF <trungnguyen02@outlookcom>
(cherry picked from commit ad106bd884)
(cherry picked from commit bd6f778de2)
2022-07-13 11:19:26 -04:00
arkon c6896d87d6 Use primary color for excluded tristate filter icon (fixes #7360)
(cherry picked from commit 3ca1ce4636)
(cherry picked from commit d2e40a0749)
2022-07-13 11:19:19 -04:00
jobobby04 9af0d40479 Fix downloader crash related to UnmeteredSource (#7365)
Fix crash when starting a download with chaqpters from a UnmeteredSource

(cherry picked from commit 470a576441)
(cherry picked from commit 1e53ad97db)
2022-07-13 11:19:12 -04:00
arkon 1ed182853a Fix accented UI elements in library sheet being different colors
(cherry picked from commit cd5bcc3673)
(cherry picked from commit eefdeb3c3f)
2022-07-13 11:19:01 -04:00
arkon 1ef9717443 Fix wrapped long page numbers in reader (closes #7300)
(cherry picked from commit 6bc484617e)
(cherry picked from commit 5edb36ea75)
2022-07-13 11:18:52 -04:00
arkon afb80a23fc Don't show clipboard copy confirmation toast on Android 13 or above
(cherry picked from commit 40f5d26945)
(cherry picked from commit adbf52a347)
2022-07-13 11:18:41 -04:00
kasperskier 2bc380a9a3 Add more DoH providers (#7256)
* Add more DoH providers

* Fix IPs

(cherry picked from commit 18ea6c4f65)
(cherry picked from commit d957f2fa8b)
2022-07-13 11:18:33 -04:00
kasperskier acc4d4a320 ChapterSourceSync: set default timestamp to max timestamp (#7197)
(cherry picked from commit dd5da56695)
(cherry picked from commit 1d00dee9b7)
2022-07-13 11:18:27 -04:00
Chris ac8e5cf78c Fix global update ignoring network constraint (#7188)
* update library update network constraint logic

* add explicit 'only on unmetered network' update constraint

(cherry picked from commit 63238b388d)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsLibraryController.kt
(cherry picked from commit dd8dc8fbe9)
2022-07-13 11:18:19 -04:00
FourTOne5 9464ae04aa Local Source - qol, cleanup and cover related fixes (#7166)
* Local Source - qol, cleanup and cover related fixes

* Review Changes

(cherry picked from commit ad17eb1386)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/source/LocalSource.kt
(cherry picked from commit 6fd79f4838)
2022-07-13 11:18:12 -04:00
CVIUS 1c61d37171 Fix reader menu appearing then disappearing in webtoon viewer when there is no next chapter (#7115)
(cherry picked from commit 6580f5771f)
(cherry picked from commit c0362faaf8)
2022-07-13 11:17:55 -04:00
CVIUS b64a2cf816 Fix webtoon viewer showing transition view when going to next/prev chapter using next/prev button (#7133)
(cherry picked from commit b21bcc2d45)
(cherry picked from commit 31ac3aece2)
2022-07-13 11:17:47 -04:00
kasperskier 9820e1097d Change jsDelivr CDN URL to Fastly (#7156)
(cherry picked from commit 7b242bf118)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/extension/api/ExtensionGithubApi.kt
(cherry picked from commit bbdbaa1de6)
2022-07-13 11:17:37 -04:00
arkon 153022df0a Use jsDelivr as fallback when GitHub can't be reached for extensions (closes #5517)
Re-implementation of 24bb2f02dc

(cherry picked from commit d61bfd7caf)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/extension/api/ExtensionGithubApi.kt
(cherry picked from commit 4458f74f6c)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/extension/ExtensionScreen.kt
2022-07-13 11:17:30 -04:00
CVIUS 9e31806e5c Save reader progress when activity is paused (#7121)
(cherry picked from commit f1ab34e27c)
(cherry picked from commit 9322624886)
2022-07-13 11:13:28 -04:00
CVIUS 3ec11cb81f Fix category tabs incorrect scroll position (#7120)
(cherry picked from commit 6d655ff757)
(cherry picked from commit 58db04d8dd)
2022-07-13 11:13:19 -04:00
nzoba 960d67ec26 Add switch to DownloadPageLoader when chapter is downloaded (#7119)
(cherry picked from commit 63627c81eb)
(cherry picked from commit f7a57d2ddd)
2022-07-13 11:13:08 -04:00
CVIUS 832107b932 Fix "Move to top" showing at the most top item in download queue (#7109)
(cherry picked from commit b26daf8824)
(cherry picked from commit 054e6b839e)
2022-07-13 11:12:59 -04:00
Jobobby04 a575770be0 Update build workflow actions
(cherry picked from commit c1c934011f)
2022-07-13 11:12:50 -04:00
nicki a7979b8323 Check for app updates by comparing semver (#7100)
Instead of just checking whether the current app version *matches* with
latest app version in GitHub Releases, compare the semver from the tag
names to check whether the latter is greater and the app needs an update

Reference: semver spec #11 https://semver.org/#spec-item-11

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

Co-authored-by: Andreas <6576096+ghostbear@users.noreply.github.com>
(cherry picked from commit e7ed130f2a)
(cherry picked from commit 81bdc19075)
2022-07-13 11:12:36 -04:00
CVIUS e7cd7c06fa Use theme primary color for slider track (#7102)
(cherry picked from commit bc053580ad)
(cherry picked from commit ea9ea11eaf)
2022-07-13 11:12:25 -04:00
nicki 4cee1b3583 Don't save categories in backup if not selected (#7101)
Currently, manually created backups contain list of categories even if
Categories option is not selected during Backup Prompt. This leads to
empty categories being created when restoring such backup files

This commit adds a check before saving categories list info to the
backup file. The check is the same check which is used while backing up
category info of manga in library

Tested and worked successfully on app installed on Android 12

(cherry picked from commit 11c01235ac)
(cherry picked from commit 1269d71d1a)
2022-07-13 11:12:16 -04:00
arkon dfa9b7462f Rename "navigation layout" to "tap zones"
(cherry picked from commit c49d862fc5)
(cherry picked from commit ec9d55e9e8)
2022-07-13 11:12:06 -04:00
FourTOne5 b456e38cc5 Fix removing manga from library reverts during global update (#7063)
* Fix removing manga from library reverts during global update

* Review Changes

* Review changes 2
# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt

(cherry picked from commit f966940d15)
2022-07-13 11:11:58 -04:00
FourTOne5 b8e0b86df8 Add -r flag to ShizukuInstaller createCommand (#7080)
(cherry picked from commit 3865384ccc)
2022-07-13 11:11:48 -04:00
arkon c48f4770ee Fix Android 13 icon sizing
(cherry picked from commit 3a4f107ab7)

# Conflicts:
#	app/build.gradle.kts
2022-07-13 11:10:51 -04:00
arkon 5191d7abb1 Add links to website FAQ for library update and download warning notifications
(cherry picked from commit 70698e6494)
(cherry picked from commit b846bc2044)
2022-07-13 11:09:50 -04:00
FourTOne5 9da8a09cb4 Download new chapters when only excluded categories is selected (#6984)
(cherry picked from commit 06bec0ad54)
(cherry picked from commit 7ed22e5d90)
2022-07-13 11:09:40 -04:00
arkon 98d5173507 Fix skipped library entries and size warning notifications using same ID
(cherry picked from commit 91ed3a4a5f)
(cherry picked from commit da739dfc07)
2022-07-13 11:09:32 -04:00
arkon ff9fbc5265 Fix update warning notifications being cut off (fixes #6983)
(cherry picked from commit 20145f7a12)
(cherry picked from commit 92af7291d5)
2022-07-13 11:09:23 -04:00
arkon c721b90dc3 Default to downloading as CBZ (closes #6942)
Generally seems fine. People with weak devices may experience some issues, but they can toggle it off/extract the archives separately if needed.

(cherry picked from commit 883945e3e8)
(cherry picked from commit f22ff7d3f0)
2022-07-13 11:09:14 -04:00
arkon 77ebecd87d Add battery not low restriction for global updates (closes #6980)
(cherry picked from commit 3feea71146)
(cherry picked from commit 4804dcf644)
2022-07-13 11:08:56 -04:00
ItsLogic 518f2c1faa Fix chapter transition setting for one page chapters (#6998)
(cherry picked from commit 5e32b8e49f)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerViewer.kt
(cherry picked from commit 6df5497dc6)
2022-07-13 11:08:37 -04:00
arkon 33f4c0ad08 Delete entire app_webview folder when clearing WebView data
(cherry picked from commit 6e95fde4ec)
(cherry picked from commit 1d0520e716)
2022-07-13 11:08:28 -04:00
arkon 8d0bfcd55e Move clear webview data action to network group
(cherry picked from commit bf0bb5aa88)
(cherry picked from commit 93b7881505)
2022-07-13 11:08:19 -04:00
Román d62c795e73 [RU] Translations (#629)
Co-authored-by: RomanRozhenkov <Rozhenkov20@gmail.com>
2022-07-13 10:26:54 -04:00
Jobobby04 d35f7a68bc Missed this 2022-07-13 10:09:58 -04:00
Jobobby04 bfcbb83c50 Improve favorites sync library action visibility 2022-07-13 10:09:39 -04:00
Jobobby04 56492ae446 Add a dialog before favorites sync initializes 2022-07-13 10:09:13 -04:00
AntsyLich e6586dbc73 Use Material Icons for untrusted extension's icon (#7518)
(cherry picked from commit 386b8945c8)
2022-07-13 09:57:39 -04:00
Trevor Paley bb7dd4e2f6 Fix bug in default category downloading logic (#7525)
(cherry picked from commit 86a018ebad)
2022-07-13 09:57:26 -04:00
Ivan Iskandar c77b69ed10 Fix scroll animation when system animation is disabled (#7509)
(cherry picked from commit ba93060e59)
2022-07-12 12:16:43 -04:00
Jobobby04 392b3c040e Remove useless check 2022-07-11 19:42:53 -04:00
arkon bc208bac30 Replace some usages of RxJava
(cherry picked from commit 788583e66f)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourcePresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/Pager.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
2022-07-11 11:45:19 -04:00
Ivan Iskandar dfa559d30f Fix MangaScreen app bar title and nav icon action (#7506)
(cherry picked from commit cbcab5a545)
2022-07-11 11:36:49 -04:00
Ivan Iskandar e63c982fe3 MangaPresenter: Always fetch chapter from source if current chapter is empty (#7507)
(cherry picked from commit 634ee86bbd)
2022-07-11 11:36:39 -04:00
AntsyLich 26632905b5 ExtensionManger: Fix unofficial extension has update (#7503)
(cherry picked from commit 64f60c36e6)
2022-07-11 11:36:30 -04:00
arkon a66abf82d8 Replace deprecated ACTION_MEDIA_SCANNER_SCAN_FILE intent
(cherry picked from commit 0b4f3f5532)
2022-07-11 11:32:00 -04:00
Andreas e50c24e5e3 Configure SQLite (#7495)
- Turn on `foreign_keys` to cascade on delete properly
- Turn on `journal_mode` and set `synchronous` to NORMAL which may help performance for larger libraries

(cherry picked from commit d977b89af1)
2022-07-11 11:31:52 -04:00
arkon 8c19083679 Set content descriptions for bottom nav badges
Doesn't seem to produce #6708, but at least it'll be used by screen readers?

(cherry picked from commit 487ce37d91)
2022-07-11 11:31:42 -04:00
Jobobby04 2f78a3d681 Fix build on latest compile SDK 2022-07-11 11:31:29 -04:00
Ivan Iskandar d3b59768d4 MangaScreen: Improve chapter list scrolling performance (#7491)
* MangaScreen: Improve chapter list scrolling performance

Process chapter title, date and read progress string ahead of time

* Use enum for contentType and add key

(cherry picked from commit 1551891c15)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
2022-07-11 11:31:04 -04:00
arkon d3e8ae54d9 Bump to compile SDK 33
Fixes #7390, at least according to ivaniskandar

(cherry picked from commit b15073fd61)
2022-07-11 11:09:09 -04:00
Ivan Iskandar 721238a858 ChapterDownloadIndicator: Fixes and improvements (#7485)
* Increased touch target
* Fix downloaded icon smaller than other states
* Deferred state reads to minimize recompose works
* Move things around to eliminate unnecessary elements

(cherry picked from commit e56f6c1017)
2022-07-11 11:08:59 -04:00
Ivan Iskandar d5aecaad21 MangaScreen: Ditch the expanded app bar (#7470)
Animating the content padding that's used for the lazy list is heavy. A simple
fix to *just* offset the list is blocked by a Compose fling issue (b/179417109).

So I decided to go with the previous layout of this screen by putting everything
in the list. MangaInfoHeader is split into separate composables to avoid jank
when the item is being inflated.

(cherry picked from commit 34906a7425)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt
#	app/src/main/java/eu/kanade/presentation/manga/components/MangaInfoHeader.kt
#	app/src/main/java/eu/kanade/presentation/manga/components/MangaTopAppBar.kt
2022-07-11 11:08:41 -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 86bacbe586)

# 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
Weblate (bot) 6651ba7211 Weblate translations (#7437)
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: Daniel Grzelak <newhikari@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: Druvvaldis <druvvaldisr@gmail.com>
Co-authored-by: Eric <alchemillatruth@purelymail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: ID-86 <ultralehky@gmail.com>
Co-authored-by: Lilian Cahuzac <cahuzac.lilian@gmail.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Rostyslav Haitkulov <info@ubilling.net.ua>
Co-authored-by: Shjosan <shjosan@kakmix.co>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: THE_LEGEND <the.legend9285+weblate@gmail.com>
Co-authored-by: TheKingTermux <achmadmaulana0233@gmail.com>
Co-authored-by: Therence Pagsisihan <therence.plays@gmail.com>
Co-authored-by: Uzuki Shimamura <hzy980512@126.com>
Co-authored-by: ZiomaleQ <r.partyka30@gmail.com>
Co-authored-by: altinat <poiiiii4yy@gmail.com>
Co-authored-by: moon <jamiejakie@gmail.com>
Co-authored-by: poog <poogchamp@gmail.com>
Co-authored-by: stevenlele <stevenlele@outlook.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/cs/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/de/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/el/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/es/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fil/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/hi/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/id/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/it/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ja/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/jv/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ko/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/lv/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ms/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/pl/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ru/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sc/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sv/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/th/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/tr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/uk/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hant/
Translation: Tachiyomi/Tachiyomi 0.x

Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: Daniel Grzelak <newhikari@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: Druvvaldis <druvvaldisr@gmail.com>
Co-authored-by: Eric <alchemillatruth@purelymail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: ID-86 <ultralehky@gmail.com>
Co-authored-by: Lilian Cahuzac <cahuzac.lilian@gmail.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Rostyslav Haitkulov <info@ubilling.net.ua>
Co-authored-by: Shjosan <shjosan@kakmix.co>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: THE_LEGEND <the.legend9285+weblate@gmail.com>
Co-authored-by: TheKingTermux <achmadmaulana0233@gmail.com>
Co-authored-by: Therence Pagsisihan <therence.plays@gmail.com>
Co-authored-by: Uzuki Shimamura <hzy980512@126.com>
Co-authored-by: ZiomaleQ <r.partyka30@gmail.com>
Co-authored-by: altinat <poiiiii4yy@gmail.com>
Co-authored-by: moon <jamiejakie@gmail.com>
Co-authored-by: poog <poogchamp@gmail.com>
Co-authored-by: stevenlele <stevenlele@outlook.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
(cherry picked from commit 14a08f0668)
2022-07-09 19:58:31 -04:00
Ivan Iskandar 2e881758aa VerticalFastScroller: Fix scroller consuming touch when it's invisible (#7484)
(cherry picked from commit 9385b86ecb)
2022-07-09 19:58:23 -04:00
arkon 72aba18dab Use Material3 switches in XML layouts
(cherry picked from commit da7a64b40d)

# Conflicts:
#	app/src/main/res/layout/reader_general_settings.xml
#	app/src/main/res/layout/reader_pager_settings.xml
#	app/src/main/res/layout/reader_webtoon_settings.xml
2022-07-09 19:58:02 -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 5159eabc5d)

# 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
Jobobby04 0263b9ee4e Minor SY LibraryPresenter cleanup 2022-07-08 21:54:41 -04:00
jobobby04 66f2ce5854 Fix default category name (#7477)
(cherry picked from commit 9357af2bcf)
2022-07-08 21:54:02 -04:00
AntsyLich 4f136ca63b Fix auto downloader for "Default" category (#7476)
(cherry picked from commit 038532897b)
2022-07-08 21:53:37 -04:00
Ivan Iskandar f1729a1a26 Fix broken downloaded chapter (#7460)
(cherry picked from commit 325a5e37aa)
2022-07-08 21:53:27 -04:00
arkon d71bf4e6bc Update default user agent string
(cherry picked from commit 7d3fe0ed43)
2022-07-08 21:53:18 -04:00
AntsyLich 3cf809870b ChapterDownloadIndicator: Ensure uniform hit area (#7453)
(cherry picked from commit eef95cef33)
2022-07-08 21:53:08 -04:00
arkon bbdab4a703 Add MIME type mapping for image/jxl (fixes #7117)
(cherry picked from commit 591df8abcc)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/util/system/ImageUtil.kt
2022-07-08 21:52:57 -04:00
arkon adae68a294 Increase height of transition view in webtoon viewers (fixes #7242)
(cherry picked from commit 46734c525f)
2022-07-08 21:51:30 -04:00
Jobobby04 f4a3ef4f1d More domain model usage in SY 2022-07-04 22:20:28 -04:00
Jobobby04 9a10f1300a Fix gallery adder 2022-07-04 22:11:01 -04:00
Jobobby04 6954c299b5 Use domain layer for almost all SY code 2022-07-04 18:45:39 -04:00
Jobobby04 141b0477e7 Use domain layer for saved searches 2022-07-04 18:10:43 -04:00
arkon 485e6719c3 More domain model usage
(cherry picked from commit a3378e6080)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/chapter/interactor/SyncChaptersWithSource.kt
#	app/src/main/java/eu/kanade/domain/manga/model/Manga.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadPendingDeleter.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
2022-07-03 17:18:20 -04:00
arkon f1a31e4560 More domain model usage
(cherry picked from commit 3791d82540)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SourceSearchController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/globalsearch/GlobalSearchCardItem.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
2022-07-03 17:05:44 -04:00
arkon d48427152e More domain model usage
(cherry picked from commit a3ab8746bf)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryCategoryAdapter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryCategoryView.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
2022-07-03 16:51:08 -04:00
Andreas 22da633ee3 Cleanup data layer (#7450)
(cherry picked from commit 069bd90c0f)

# Conflicts:
#	app/src/main/sqldelight/data/mangas.sq
2022-07-03 16:41:43 -04:00
arkon eb0964d0b6 More domain model usage
(cherry picked from commit 68697e59d7)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/AbstractBackupManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/cache/ChapterCache.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/HttpPageLoader.kt
#	app/src/main/java/eu/kanade/tachiyomi/util/chapter/ChapterSourceSync.kt
2022-07-03 16:32:00 -04:00
arkon 268911a7c9 More domain model usage
(cherry picked from commit b3dd8b7355)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/manga/model/Manga.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/models/Manga.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/models/MangaCategory.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/MigrationFlags.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchController.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 16:22:08 -04:00
Andreas 0ad6e00bca Remove SQLiteOpenHelper as database is migrated to SQLDelight (#7448)
(cherry picked from commit eb2a904b61)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/database/DbOpenCallback.kt
2022-07-03 16:00:25 -04:00
Andreas ea38ffc53e Use SQLDelight for all Manga related queries (#7447)
(cherry picked from commit 17951cfd68)

# 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
renovate[bot] 0c89c4cd64 Update dependency com.squareup.okio:okio to v3.2.0 (#7445)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 851a5ab7e4)
2022-07-03 13:43:49 -04:00
renovate[bot] 29a7da9b43 Update dependency ch.acra:acra-http to v5.9.5 (#7442)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 74c5b29484)
2022-07-03 13:43:39 -04:00
renovate[bot] 05afe6f820 Update dependency com.google.android.material:compose-theme-adapter-3 to v1.0.14 (#7443)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 20453dc08f)
2022-07-03 13:43:26 -04:00
Jobobby04 d88c769d3b Use SQLDelight for more SY specific things 2022-07-03 13:37:27 -04:00
Jobobby04 e71c9e2775 Use SQLDelight for mass migration 2022-07-03 00:33:09 -04:00
Jobobby04 664f9b1484 Use SQLDelight for most SY specific things 2022-07-02 23:52:03 -04:00
Andreas 3cf4c3128f Use SQLDelight for all MangaCategory related queries (#7441)
(cherry picked from commit 9e3b454b1b)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/database/DatabaseHelper.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/queries/MangaCategoryQueries.kt
2022-07-02 20:46:46 -04:00
Andreas 9093663f2f Use SQLDelight for all Chapter related queries (#7440)
(cherry picked from commit 29633b64aa)

# Conflicts:
#	app/src/main/java/eu/kanade/data/chapter/ChapterRepositoryImpl.kt
#	app/src/main/java/eu/kanade/domain/chapter/repository/ChapterRepository.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/DatabaseHelper.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/queries/ChapterQueries.kt
#	app/src/main/sqldelight/data/chapters.sq
2022-07-02 20:46:01 -04:00
arkon 9205b568e8 Migrate to more use of domain models
(cherry picked from commit 76c0ead1db)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/manga/model/Manga.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/DatabaseHelper.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/mappers/CategoryTypeMapping.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/models/MangaCategory.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/queries/RawQueries.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/tables/CategoryTable.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/migration/search/SourceSearchController.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/browse/SourceComfortableGridHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceCompactGridHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceItem.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryCategoryView.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/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
2022-07-02 20:42:52 -04:00
Andreas cd2f26a7c9 Use SQLDelight for a Category related queries (#7438)
(cherry picked from commit 2674570792)

# Conflicts:
#	app/src/main/java/eu/kanade/data/category/CategoryRepositoryImpl.kt
#	app/src/main/java/eu/kanade/domain/category/model/Category.kt
#	app/src/main/java/eu/kanade/domain/category/repository/CategoryRepository.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/DatabaseHelper.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/queries/CategoryQueries.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourcePresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/util/MangaExtensions.kt
2022-07-02 20:10:20 -04:00
Andreas 13cb242f51 Replace package with namespace (#7436)
(cherry picked from commit 5d77ee37d2)
2022-07-02 19:42:26 -04:00
arkon 85898df703 More SQLDelight migrations
(cherry picked from commit 21771e62aa)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/manga/model/Manga.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/AbstractBackupManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/full/models/BackupManga.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/queries/ChapterQueries.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.kt
2022-07-02 19:40:55 -04:00
Andreas 2c87a8fd02 Use SQLDelight on Library screen (#7432)
- Uses the new `asObservable` function to change the database calls to use SQLDelight, which should make the impact minimal when it comes to bugs.
- Use interactors where they already exist
- The todos are for the Compose rewrite
- Removed unused StorIO methods/queries
- Tested loading library, move manga to new category, unfavorite multiple manga, move multiple manga from one category to another, change filter, sort and display settings (with and without per category settings), (un)mark chapters, start/delete downloads

Thank Syer for asObservable

Co-authored-by: jobobby04 <17078382+jobobby04@users.noreply.github.com>

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

# Conflicts:
#	app/src/main/java/eu/kanade/data/manga/MangaRepositoryImpl.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/DatabaseHelper.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/queries/CategoryQueries.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/queries/MangaQueries.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/queries/TrackQueries.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchPresenter.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/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
2022-07-02 19:10:26 -04:00
AntsyLich 1087f07614 Downloader: Optimize split tall image (#7435)
(cherry picked from commit ff32ab09fb)
2022-07-02 13:44:21 -04:00
AntsyLich 5f55a0afbb Reimplement chapter download indicator longpress (#7412)
(cherry picked from commit deaded5af2)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadManager.kt
2022-07-02 13:44:14 -04:00
arkon b9c70abef4 Weblate translations
Manually resolved merge conflicts from https://hosted.weblate.org/git/tachiyomi/strings/

(cherry picked from commit f3c50ee9a3)
2022-07-02 13:43:14 -04:00
Ivan Iskandar 4854fcfccf MangaScreen: Hide scroller when appbar is expanded (#7426)
(cherry picked from commit 3072296919)
2022-07-02 13:42:48 -04:00
Andreas 42ecd912e8 Use SQLDelight on Updates screen (#7423)
(cherry picked from commit 1f10b79ee8)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/database/queries/RawQueries.kt
2022-07-02 13:38:36 -04:00
arkon 0e390b5429 Revert some KTX extension changes
These weren't exactly 1:1 replacements. Might be related to #7391.

(cherry picked from commit b9e108eb4d)
2022-07-02 13:23:22 -04:00
arkon a9edf7f62c Downgrade to Compose 1.2.0-rc03
(cherry picked from commit f26cfa58e4)
2022-07-02 13:23:15 -04:00
AntsyLich 8bf3426afd DownloadProvider: Only provide necessary info and not whole chapter/manga class (#7411)
(cherry picked from commit e1525a5125)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadProvider.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
2022-07-02 13:22:43 -04:00
Ivan Iskandar 299ac1ca2d MangaScreen: Reuse components between two layouts (#7397)
(cherry picked from commit 388dc2f103)
2022-07-02 13:03:00 -04:00
arkon 858c3b5a0a Bump dependencies
(cherry picked from commit 7e4c45858f)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
2022-07-02 13:02:29 -04:00
arkon 98b27c1e78 Fix unit test class to match package
(cherry picked from commit d476431707)
2022-07-02 12:57:38 -04:00
stevenyomi ef20995e7d Extension API: change fallback source and logic (#7400)
* Extension API: change fallback source and logic

* remove ghproxy

(cherry picked from commit 284445c364)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/extension/api/ExtensionGithubApi.kt
2022-07-02 12:57:25 -04:00
AntsyLich b2a7780501 Fix chapter item incorrect colors (#7403)
* Fix chapter item incorrect colors

* Make it like stable

(cherry picked from commit 08d1ecfba7)
2022-07-02 12:56:48 -04:00
AntsyLich afe15d8256 Fix crash when adding if there are more then 1 dupe (#7405)
(cherry picked from commit 0969226fd3)
2022-06-28 10:04:02 -04:00
Ivan Iskandar e36cacee5a MangaInfoHeader: Add description placeholder (#7398)
To always show summary view for expanding tags

(cherry picked from commit 0c856438fa)
2022-06-28 10:03:53 -04:00
Ivan Iskandar d81fc7f1c0 Improve history screen scrolling perf (#7399)
(cherry picked from commit e44bb30996)
2022-06-28 10:03:38 -04:00
Jobobby04 4de4992e4e Fix trash group by tracking code 2022-06-27 18:06:36 -04:00
AntsyLich 58ed2b9752 Fix Mark previous as read (#7396)
(cherry picked from commit 7440086ef1)
2022-06-27 13:00:09 -04:00
AntsyLich 257001d4a6 Sort Manga by title in MigrationMangaScreeen (#7392)
(cherry picked from commit ef3acb8c43)
2022-06-27 12:59:57 -04:00
stevenyomi af82ef436b RateLimitInterceptor: ignore canceled calls (#7389)
* RateLimitInterceptor: ignore canceled calls

* SpecificHostRateLimit: ignore canceled calls

(cherry picked from commit 5b8cd68cf3)
2022-06-27 12:59:42 -04:00
Jobobby04 45ba4e77bd Compile fixes 2022-06-27 12:59:29 -04:00
arkon 775ab6479a Migrate usages of SyncChaptersWithTrackServiceTwoWay
(cherry picked from commit 53decfd47b)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/database/queries/ChapterQueries.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/queries/TrackQueries.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
#	app/src/main/java/eu/kanade/tachiyomi/network/NetworkHelper.kt
2022-06-27 12:59:11 -04:00
arkon e6d39ce14c Migrate more track DB calls to SQLDelight
(cherry picked from commit 65264e3ef5)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/database/queries/MangaQueries.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/resolvers/MangaFavoritePutResolver.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceKeys.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/track/TrackManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/MigrationFlags.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.kt
2022-06-27 12:52:18 -04:00
arkon 9d8aebc7a6 Fix app update install notification disappearing
(cherry picked from commit 4ca0fc7a4d)
2022-06-27 12:27:05 -04:00
Jobobby04 447829b1b9 Improve handling of tags 2022-06-27 09:16:19 -04:00
Jobobby04 acc8ec6912 Put metadata header below the buttons 2022-06-27 09:07:25 -04:00
Jobobby04 1a17f87945 Simplify autoscroll 2022-06-26 22:17:37 -04:00
Jobobby04 ac586560f0 Only enable autoscroll when app is active 2022-06-26 19:11:20 -04:00
Jobobby04 4ddc696fb5 Use image decoder for double pages 2022-06-26 18:12:22 -04:00
Jobobby04 276d589b07 Add a disclaimer that its a SY specific issue in the issue report based on convo in #621 2022-06-26 16:55:18 -04:00
Jobobby04 27733aba02 Add virtual visibility tag for E-Hentai 2022-06-26 16:51:51 -04:00
arkon 7ef4ec0a77 [skip ci] Update issue templates
(cherry picked from commit 7b294478e4)
2022-06-26 16:50:50 -04:00
AntsyLich 6f407f6e0a Use sqldelight for direct db calls in MangaPresenter (#7366)
(cherry picked from commit 04f0ca7846)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/manga/model/Manga.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
2022-06-26 16:03:51 -04:00
jobobby04 1084e7fe9d Fix clicking cover opening random manga (#7387)
(cherry picked from commit 61a44101a2)
2022-06-26 15:52:06 -04:00
Jobobby04 48a62f7c4a Fix metadata not properly updating 2022-06-26 14:44:56 -04:00
Jobobby04 0862c935a1 Minor improvements to backup fix 2022-06-26 13:58:23 -04:00
Ivan Iskandar b1be2a8612 MangaScreen: Fix action mode download button not working (#7385)
(cherry picked from commit 924dfa19cf)
2022-06-26 13:55:38 -04:00
Ivan Iskandar 4eb45d0ade VerticalFastScroller: Fix incorrect touch target (#7384)
(cherry picked from commit 9ff6ae81bd)
2022-06-26 13:55:29 -04:00
Ivan Iskandar 42c8b47f04 Fix chapter number display style (#7383)
(cherry picked from commit c33e5c8a17)
2022-06-26 13:55:13 -04:00
Ivan Iskandar 8adfc4954c MangaInfoHeader tweaks (#7382)
* Changed cover alignment when title is longer
* Hide artist text if it's equal to author
* Set single line to status and source name

(cherry picked from commit 6129bbc9ab)
2022-06-26 13:52:57 -04:00
Jobobby04 e1c183b04d Fix backups and filtered scanlators 2022-06-26 13:52:05 -04:00
Osyx bd6f778de2 Add new "Lavender" theme (#7343)
* Add new "Lavender" theme

* Add light theme values for Lavender theme

* Fix order of enums

* Fix accented UI elements in set categories sheet being different colors

Co-authored-by: CrepeTF <trungnguyen02@outlookcom>
(cherry picked from commit ad106bd884)
2022-06-26 11:30:47 -04:00
arkon 24252c388a Fix manga info header using wrong text color (fixes #7368)
(cherry picked from commit 37fe25ac06)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/components/MangaInfoHeader.kt
2022-06-26 11:26:31 -04:00
Ivan Iskandar 3fa1c24f8d MangaPresenter: Fix state updates when opening a new manga entry (#7379)
(cherry picked from commit 0e0c1dcdc5)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
2022-06-26 11:24:57 -04:00
renovate[bot] a3dd6b523a Update com.google.android.material (#7377)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit c9770eea2f)
2022-06-26 11:10:03 -04:00
arkon b889a3482e Avoid overflow in extension screen items (fixes #6972)
(cherry picked from commit 80d2d9d258)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/ExtensionsScreen.kt
2022-06-26 11:09:55 -04:00
arkon d2e40a0749 Use primary color for excluded tristate filter icon (fixes #7360)
(cherry picked from commit 3ca1ce4636)
2022-06-26 11:09:00 -04:00
Jobobby04 3805f3a169 Downgrade google services plugin 2022-06-25 20:31:30 -04:00
Jobobby04 f72b6cf87b Fix imports 2022-06-25 19:34:40 -04:00
nicki e8edaee157 Use Bayesian Rating for Manga info (#619)
Refer: https://github.com/CarlosEsco/Neko/pull/1001
2022-06-25 17:19:46 -04:00
arkon ec0f572a82 Minor cleanup
- Use outlined icons where appropriate to match previous UI
- Allow tapping entire ChapterHeader to bring up sheet

(cherry picked from commit 8ec91cddab)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/ExtensionsScreen.kt
#	app/src/main/java/eu/kanade/presentation/manga/components/MangaSmallAppBar.kt
2022-06-25 17:13:34 -04:00
Ivan Iskandar 2b7aca710e MangaController overhaul (#7244)
(cherry picked from commit 33a778873a)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/tachiyomi/data/database/models/LibraryManga.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/ChapterHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/ChaptersAdapter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/ChaptersSettingsSheet.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoHeaderAdapter.kt
#	app/src/main/java/eu/kanade/tachiyomi/widget/MangaSummaryView.kt
#	app/src/main/res/layout-sw720dp/manga_info_header.xml
#	app/src/main/res/layout/manga_controller.xml
#	app/src/main/res/layout/manga_info_header.xml
#	app/src/main/res/layout/manga_summary.xml
#	app/src/main/res/menu/manga.xml
2022-06-25 17:11:25 -04:00
jobobby04 1e53ad97db Fix downloader crash related to UnmeteredSource (#7365)
Fix crash when starting a download with chaqpters from a UnmeteredSource

(cherry picked from commit 470a576441)
2022-06-25 11:35:05 -04:00
Weblate (bot) 4ef55b50eb Weblate translations (#7327)
Co-authored-by: Abay Emes <abayemes@gmail.com>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: Druvvaldis <druvvaldisr@gmail.com>
Co-authored-by: Eduard Ereza Martínez <eduard@ereza.cat>
Co-authored-by: Eric <alchemillatruth@purelymail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Maor Arnon <maorerror@gmail.com>
Co-authored-by: Marco Santos <enum.scima@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Shippo <shiposhouyou@gmail.com>
Co-authored-by: SurrenderDorothy <shinigamiizmajnkrafta@gmail.com>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: TheKingTermux <achmadmaulana0233@gmail.com>
Co-authored-by: Uzuki Shimamura <hzy980512@126.com>
Co-authored-by: altinat <poiiiii4yy@gmail.com>
Co-authored-by: komeil Parseh <ahmdparsh129@gmail.com>
Co-authored-by: moon <jamiejakie@gmail.com>
Co-authored-by: stevenlele <stevenlele@outlook.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ar/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ca/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/de/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/el/
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/fil/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/he/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/id/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/it/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ja/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/kk/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ko/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/lv/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ms/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ru/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sc/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/th/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/tr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hans/
Translation: Tachiyomi/Tachiyomi 0.x

Co-authored-by: Abay Emes <abayemes@gmail.com>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: Druvvaldis <druvvaldisr@gmail.com>
Co-authored-by: Eduard Ereza Martínez <eduard@ereza.cat>
Co-authored-by: Eric <alchemillatruth@purelymail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Maor Arnon <maorerror@gmail.com>
Co-authored-by: Marco Santos <enum.scima@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Shippo <shiposhouyou@gmail.com>
Co-authored-by: SurrenderDorothy <shinigamiizmajnkrafta@gmail.com>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: TheKingTermux <achmadmaulana0233@gmail.com>
Co-authored-by: Uzuki Shimamura <hzy980512@126.com>
Co-authored-by: altinat <poiiiii4yy@gmail.com>
Co-authored-by: komeil Parseh <ahmdparsh129@gmail.com>
Co-authored-by: moon <jamiejakie@gmail.com>
Co-authored-by: stevenlele <stevenlele@outlook.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
(cherry picked from commit cf7ca5bd28)
2022-06-25 11:34:56 -04:00
Ivan Iskandar dfe32071e2 ChapterDownloadView: Convert to compose (#7354)
(cherry picked from commit a77bce7b37)
2022-06-25 11:34:47 -04:00
arkon e8bcf390b1 Bump dependencies
(cherry picked from commit 8e985eb0db)
2022-06-25 11:34:37 -04:00
arkon c48318df73 Fix crashes from KTX extension changes
(cherry picked from commit 915e38f636)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceFilterSheet.kt
2022-06-25 11:33:40 -04:00
AntsyLich 14a57b7d4d Use sqldelight in migration (#7331)
* Use sqldelight in migration

* Some more changes

Co-Authored-By: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>

* Review Changes

* Review changes 2

* Review Changes 3

* Review Changes 4

Co-authored-by: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
(cherry picked from commit e3b1053c03)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
2022-06-25 11:32:09 -04:00
Taco 9e63d7fb0b Utilize more KTX extensions (#7348)
(cherry picked from commit c2520bff12)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceFilterSheet.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/ReaderPageImageView.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/search/SettingsSearchHelper.kt
2022-06-25 11:25:06 -04:00
arkon eefdeb3c3f Fix accented UI elements in library sheet being different colors
(cherry picked from commit cd5bcc3673)
2022-06-25 11:23:50 -04:00
arkon e0cfaa707e Minor cleanup
(cherry picked from commit 254f021903)
2022-06-25 11:23:39 -04:00
Jobobby04 60e1c9aded Remove unneeded backup functions 2022-06-25 11:23:31 -04:00
Ivan Iskandar 21e03616ba Convert cover dialog view to compose (#7346)
(cherry picked from commit 8fedd2d5f1)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaFullCoverDialog.kt
2022-06-25 11:22:39 -04:00
Jobobby04 f808cbfa69 Minor cleanup 2022-06-19 21:54:11 -04:00
arkon ea712646fc More minor refactorings
Extracted from #7244

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

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoHeaderAdapter.kt
2022-06-19 21:52:44 -04:00
arkon a9227a13e1 Minor composable updates
Extracted from #7244

Co-authored-by: ivaniskandar <ivaniskandar@users.noreply.github.com>
(cherry picked from commit 68c47a3238)
2022-06-19 21:36:21 -04:00
arkon 70b7d646bd Add string for future app language toggle preference
Feature won't be added until A13 and/or the Jetpack library is stabler, but adding the string first so translations flow in.

(cherry picked from commit e644772731)
2022-06-19 21:36:13 -04:00
arkon bcb0a24a4f Add Composable preview for preferences
...except Android Studio refuses to actually render them.

(cherry picked from commit 11f1482818)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/components/Preferences.kt
2022-06-19 21:36:06 -04:00
arkon 0e90c7fa16 Migrate some categories SQL calls to SQLDelight
(cherry picked from commit a7decdb62d)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourcePresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
2022-06-19 21:34:05 -04:00
Ivan Iskandar 29f992fe33 ChaptersSettingsSheet: Single source of truth and use new manga class (#7342)
Currently breaks initial settings state until the source of truth is
properly updated.

(cherry picked from commit 005b9b595c)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/manga/model/Manga.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/ChaptersSettingsSheet.kt
2022-06-19 21:29:38 -04:00
Ivan Iskandar 3f94fd8e6e Add fast scroller to extensions screen (#7340)
(cherry picked from commit e6a9d0b090)
2022-06-19 21:25:09 -04:00
AntsyLich 60e0913cbb Make stub source icon part of SourceIcon (#7337)
* Make stub source icon part of `SourceIcon`

* Review Changes

(cherry picked from commit 82879a129e)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/MigrateSourceScreen.kt
2022-06-19 21:25:00 -04:00
arkon 4ca4484362 Migrate duplicate manga check to SQLDelight
Extracted from #7244

Co-authored-by: ivaniskandar <ivaniskandar@users.noreply.github.com>
(cherry picked from commit 9f66c85281)

# Conflicts:
#	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/manga/MangaPresenter.kt
2022-06-19 21:24:07 -04:00
Andreas 9a28d42b63 Use custom QueryPagingSource (#7321)
* Use custom QueryPagingSource

- Adds placeholder to make the list jump around less
- Fixes issue where SQLDelight QueryPagingSource would throw IndexOutOfBounds

* Review Changes

(cherry picked from commit 3fd9e021fa)
2022-06-18 19:37:56 -04:00
Ivan Iskandar 3bcec2238d MainActivity: Top bar status indicator adjustments (#7329)
* Move to inside app bar for tablet ui layout so it can be hidden
with the app bar at once
* Remove the redundant parent view
* Add text appearance style

(cherry picked from commit 4c3af7bf36)
2022-06-18 19:37:47 -04:00
Ivan Iskandar 4a23c3b105 Convert edit cover function to suspend function (#7330)
(cherry picked from commit 28e7009b49)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.kt
2022-06-18 19:37:35 -04:00
arkon 115fc2afdc Delete unused database queries/resolvers
(cherry picked from commit dd983c803b)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/database/resolvers/HistoryUpsertResolver.kt
2022-06-18 19:33:15 -04:00
Jobobby04 cd4b6a0c27 Build fixes and minor improvements 2022-06-18 19:27:26 -04:00
Ivan Iskandar a5fe4e1a44 Fix cover fetching in compose views (#7315)
Make sure it passed thru the custom fetcher

(cherry picked from commit 1b804e61cb)

# Conflicts:
#	app/src/main/java/eu/kanade/data/history/HistoryMapper.kt
#	app/src/main/java/eu/kanade/domain/history/model/HistoryWithRelations.kt
#	app/src/main/java/eu/kanade/tachiyomi/App.kt
2022-06-18 19:26:33 -04:00
Weblate (bot) b4d9c36b32 Weblate translations (#7284)
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: Bmswad1 <Bmswad1@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: Eduard Ereza Martínez <eduard@ereza.cat>
Co-authored-by: Eric <alchemillatruth@purelymail.com>
Co-authored-by: Eugene <e.shlyapkin99@gmail.com>
Co-authored-by: Fyodor Danilov <danilovfa@protonmail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Hiroshi <borlonjhayron1119@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Mehdi <mix3d.r@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Rostyslav Haitkulov <info@ubilling.net.ua>
Co-authored-by: Samuel Leonardo <lafruta94@gmail.com>
Co-authored-by: Shjosan <shjosan@kakmix.co>
Co-authored-by: SurrenderDorothy <shinigamiizmajnkrafta@gmail.com>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: TheKingTermux <achmadmaulana0233@gmail.com>
Co-authored-by: Uzuki Shimamura <hzy980512@126.com>
Co-authored-by: altinat <poiiiii4yy@gmail.com>
Co-authored-by: moon <jamiejakie@gmail.com>
Co-authored-by: poog <poogchamp@gmail.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ar/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/be/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ca/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ceb/
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/es_419/
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/id/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/it/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ja/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/jv/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ko/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ms/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/pl/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ru/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sc/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sv/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/th/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/tr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/uk/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hant/
Translation: Tachiyomi/Tachiyomi 0.x

Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: Bmswad1 <Bmswad1@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: Eduard Ereza Martínez <eduard@ereza.cat>
Co-authored-by: Eric <alchemillatruth@purelymail.com>
Co-authored-by: Eugene <e.shlyapkin99@gmail.com>
Co-authored-by: Fyodor Danilov <danilovfa@protonmail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Hiroshi <borlonjhayron1119@gmail.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Mehdi <mix3d.r@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Rostyslav Haitkulov <info@ubilling.net.ua>
Co-authored-by: Samuel Leonardo <lafruta94@gmail.com>
Co-authored-by: Shjosan <shjosan@kakmix.co>
Co-authored-by: SurrenderDorothy <shinigamiizmajnkrafta@gmail.com>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: TheKingTermux <achmadmaulana0233@gmail.com>
Co-authored-by: Uzuki Shimamura <hzy980512@126.com>
Co-authored-by: altinat <poiiiii4yy@gmail.com>
Co-authored-by: moon <jamiejakie@gmail.com>
Co-authored-by: poog <poogchamp@gmail.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
(cherry picked from commit 02eb3cb6b5)
2022-06-18 19:10:38 -04:00
Andreas cad93ce77e Fix History not being added when restoring backup (#7324)
(cherry picked from commit c5d84b4f24)
2022-06-18 19:10:30 -04:00
Ivan Iskandar 791736673f MangaController: Change the workaround for title alpha (#7277)
Now checks for the backstack for any dialog controller when a push exit occurs
before restoring the title alpha.

(cherry picked from commit ae88252cb1)
2022-06-18 19:10:21 -04:00
Ivan Iskandar d7341f0a3f MainActivity: Fix incorrect UI states when activity recreated with dialog controller (#7325)
(cherry picked from commit 3c3d787a2b)
2022-06-18 19:10:09 -04:00
Ivan Iskandar 3c6b22a37e Don't set text colors when creating compose theme (#7316)
This avoids compose snackbar text color issue

(cherry picked from commit 4ef337f1e9)
2022-06-16 12:05:48 -04:00
Andreas cbb201d63d Use SQLDelight on Category screen (#7310)
* Use SQLDelight on Category screen

* Include category name in DuplicateNameException

(cherry picked from commit 017f6b22f0)

# Conflicts:
#	app/src/main/sqldelight/data/categories.sq
2022-06-16 12:05:40 -04:00
Jobobby04 40258139ab Use a custom domain module for SY 2022-06-16 12:04:27 -04:00
arkon c651d41456 Update Compose
(cherry picked from commit 602168bc48)
2022-06-16 12:03:59 -04:00
nicki 753ed70e1c Add Cancel button to App Update Notification (#7309)
* Add cancel button in app update download notif

Since stuck downloads are a common issue and only solution until now was
to force close the app or download and update the app manually by
downloading from GitHub (which clears the notif away)

Based on commit
https://github.com/Jays2Kings/tachiyomiJ2K/commit/4dea924337ffd4a01342fa0b48da47c221d2b897

Co-authored-by: Jays2Kings <8617760+Jays2Kings@users.noreply.github.com>

* Linting by Android Studio

* commit PR Review Suggestion

Update app/src/main/java/eu/kanade/tachiyomi/data/notification/NotificationReceiver.kt

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

* Use `launchIO`

copied this over from how j2k was doing it. Launching in IO Thread like
how it was before this PR is sufficient

* Clear previous actions before adding `Cancel`

Otherwise, it led to two identical Cancel buttons

Co-authored-by: Jays2Kings <8617760+Jays2Kings@users.noreply.github.com>
Co-authored-by: arkon <arkon@users.noreply.github.com>
(cherry picked from commit fdf384b809)
2022-06-16 12:03:49 -04:00
arkon 2ae6d76af7 Fix WebView user-agent (fixes #7306)
The `source.headers.toMultimap()` call in WebViewActivity makes all the names lowercase.

(cherry picked from commit 284880d096)
2022-06-16 12:03:32 -04:00
arkon d7919c531a Make Compose overflow menu feel slightly more like XML version
(cherry picked from commit a446b37c1f)
2022-06-16 12:03:24 -04:00
arkon fd52425d1f Bump dependencies
(cherry picked from commit ad75d137b0)
2022-06-16 12:03:17 -04:00
arkon 7e8228137c Minor cleanup
(cherry picked from commit d2f4c43526)
2022-06-16 12:03:03 -04:00
arkon 5edb36ea75 Fix wrapped long page numbers in reader (closes #7300)
(cherry picked from commit 6bc484617e)
2022-06-16 12:02:48 -04:00
AntsyLich 8a06bc42d8 Maintain source info in the database. (#6389)
* Maintain Source Info in database

* Review changes and cleanups

* Review changes 2

* Review Changes 3

(cherry picked from commit 9d5b7de1d8)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/DomainModule.kt
#	app/src/main/java/eu/kanade/presentation/browse/MigrateSourceScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/SourceManager.kt
2022-06-16 12:02:38 -04:00
AntsyLich 62873c4e67 Set db chapter metadata from correct chapter (#7303)
(cherry picked from commit a01c370d63)
2022-06-16 11:43:01 -04:00
Andreas 70c2f97976 Use SQLDelight in Backup/Restore (#7295)
* Use SQLDelight in Backup/Restore

* Use CoroutineWorker

(cherry picked from commit fd5da2de3a)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/AbstractBackupManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/full/FullBackupManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/full/FullBackupRestore.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/full/models/BackupCategory.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/full/models/BackupManga.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/DatabaseHelper.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/queries/HistoryQueries.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/model/SManga.kt
#	app/src/main/sqldelight/data/categories.sq
#	app/src/main/sqldelight/data/chapters.sq
2022-06-14 11:13:53 -04:00
renovate[bot] bfd552cb3a Update okhttp_version to v4.10.0 (#7299)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
(cherry picked from commit 3c9f96d621)
2022-06-13 12:04:24 -04:00
AntsyLich 240d5a7c52 Add date_upload to toDbChapter() (#7297)
(cherry picked from commit 693cc103ea)
2022-06-12 12:47:38 -04:00
arkon ed27491ba9 Minor cleanup
(cherry picked from commit 5ccde61ae1)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/chapter/repository/ChapterRepository.kt
2022-06-12 12:47:30 -04:00
nicki 25e0075041 Fix Links to Changelog/Readme/Commits for multisrc (#7252)
* Fix Links to Changelog/Readme/Commits for `multisrc`

working basic fix. Needs to be refactored into `createUrl()`

* Refactor back into `createUrl`

hopefully the logic is understandable
there's three cases:
 - when multisrc, if `path` isn't mentioned, then we're trying to open
   commmit history
 - when multisrc, if `path` is mentioned, then its either a changelog or
   a readme to a multisrc extension, the files are stored in the
   `overrides` subfolder
 - when not multisrc, we're looking at a single source where the links
   are constructed in the same way regardless of it being
   changelog/readme/commit history

(cherry picked from commit e7695aef78)
2022-06-12 12:47:00 -04:00
Jobobby04 5b7539ac3e Minor cleanup of metadata 2022-06-12 12:46:07 -04:00
AntsyLich f7ccbd24f8 Fix chapter list live update (#7296)
(cherry picked from commit b96686e6ad)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
2022-06-12 12:44:34 -04:00
AntsyLich e3f577a6e2 Update manga metadata on library update with sqldelight (#7293)
Co-Authored-By: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>

Co-authored-by: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
(cherry picked from commit 5bb78eb77f)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/manga/model/Manga.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/queries/MangaQueries.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/resolvers/MangaLastUpdatedPutResolver.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
2022-06-12 12:20:07 -04:00
arkon 0888a7cd72 Update compose-theme-adapter
(cherry picked from commit 5fbf454652)
2022-06-12 11:50:56 -04:00
Jobobby04 cf79a406bf Improve metadata queries 2022-06-11 13:19:41 -04:00
arkon 978a8de32c Remove unused database resolvers/queries
(cherry picked from commit d098eca69d)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/database/models/MangaChapterHistory.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/resolvers/ChapterSourceOrderPutResolver.kt
2022-06-11 13:05:58 -04:00
AntsyLich d1d9c53af3 Make syncChaptersWithSource use sqldelight (#7263)
* Make `syncChaptersWithSource` use sqldelight

Will break chapter list live update on current ui

Co-Authored-By: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>

* Review Changes

Co-authored-by: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
(cherry picked from commit 120943a8b3)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/manga/model/Manga.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/AbstractBackupManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/util/chapter/ChapterSourceSync.kt
#	app/src/main/sqldelight/data/mangas.sq
2022-06-11 12:51:49 -04:00
arkon d9430e4eae [skip ci] Remove CI-specific Gradle config
Newer versions of gradle-build-action allows the daemon to persist across build steps

(cherry picked from commit 1e64542f14)

# Conflicts:
#	.github/workflows/build_pull_request.yml
#	.github/workflows/build_push.yml
2022-06-11 12:22:03 -04:00
arkon c4def072f6 Convert clear database queries to SQLDelight
(cherry picked from commit e15a867106)

# Conflicts:
#	app/src/main/java/eu/kanade/data/source/SourceRepositoryImpl.kt
#	app/src/main/java/eu/kanade/domain/DomainModule.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/ui/setting/database/ClearDatabasePresenter.kt
2022-06-11 12:20:29 -04:00
Weblate (bot) 35d9f24d5f Weblate translations (#7253)
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: Eduard Ereza Martínez <eduard@ereza.cat>
Co-authored-by: Eric <alchemillatruth@purelymail.com>
Co-authored-by: Eugene <e.shlyapkin99@gmail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Hiroshi <borlonjhayron1119@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: ID-86 <ultralehky@gmail.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Matyáš Caras <contact@hernikplays.cz>
Co-authored-by: Medo <phenomenalpharaoh@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: Uzuki Shimamura <hzy980512@126.com>
Co-authored-by: altinat <poiiiii4yy@gmail.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
Co-authored-by: 赤城 呼明 <hapipon815@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ar/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ca/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ceb/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/cs/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/de/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/el/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/es/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fil/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/it/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ja/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ru/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sc/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/th/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/tr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hant/
Translation: Tachiyomi/Tachiyomi 0.x

Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: Eduard Ereza Martínez <eduard@ereza.cat>
Co-authored-by: Eric <alchemillatruth@purelymail.com>
Co-authored-by: Eugene <e.shlyapkin99@gmail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Hiroshi <borlonjhayron1119@gmail.com>
Co-authored-by: ID-86 <ultralehky@gmail.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Matyáš Caras <contact@hernikplays.cz>
Co-authored-by: Medo <phenomenalpharaoh@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: Uzuki Shimamura <hzy980512@126.com>
Co-authored-by: altinat <poiiiii4yy@gmail.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
Co-authored-by: 赤城 呼明 <hapipon815@gmail.com>
(cherry picked from commit 349e6ca98f)
2022-06-11 12:01:34 -04:00
arkon 4b7b710b7c Actually compare chapter numbers as numbers when sorting (fixes #7247)
(cherry picked from commit da8669c826)
2022-06-11 12:01:25 -04:00
Ivan Iskandar 29bf8b2378 Change cover memory key (#7276)
Use different key for custom cover and add last modified time for updating
cover without clearing the whole memory cache

(cherry picked from commit 59837bbb90)
2022-06-11 12:01:19 -04:00
Rohit Mane 105bbdb4dd Update ChapterSourceSync.kt (#7271)
(cherry picked from commit 20c14a0a00)
2022-06-11 12:01:07 -04:00
AntsyLich 1ad8893148 Make ChapterRecognition return the result (#7279)
(cherry picked from commit 06fdfcdb23)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/util/chapter/ChapterRecognition.kt
2022-06-11 12:00:58 -04:00
arkon d463f987b3 Minor cleanup
Fixing some things that were errors when compiling against SDK 33.

(cherry picked from commit cf48bbc176)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt
2022-06-11 11:58:54 -04:00
arkon adbf52a347 Don't show clipboard copy confirmation toast on Android 13 or above
(cherry picked from commit 40f5d26945)
2022-06-11 11:58:21 -04:00
kasperskier d957f2fa8b Add more DoH providers (#7256)
* Add more DoH providers

* Fix IPs

(cherry picked from commit 18ea6c4f65)
2022-06-11 11:58:13 -04:00
AntsyLich 75641213ef Tweak extension details screen (#7257)
(cherry picked from commit 7a661747c5)
2022-06-11 11:58:07 -04:00
renovate[bot] 0d3267d374 Update dependency androidx.sqlite:sqlite-ktx to v2.3.0-alpha03 (#7254)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
(cherry picked from commit 177a642afc)
2022-06-11 11:58:00 -04:00
Andreas 76f5625948 Use Requery to enhance SQLite (#7260)
(cherry picked from commit 161c8bcf9e)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/AppModule.kt
2022-06-06 09:47:31 -04:00
Kyle Mills 5e8130b94d filter 3 more sources (#605) 2022-06-04 20:59:19 -04:00
arkon cd9b9642fb Bump dependencies
(cherry picked from commit e3f8aedd5a)
2022-06-04 20:43:16 -04:00
arkon 571d1f29ca Minor cleanups
Pulling out some of the smaller changes that aren't related to the manga controller changes in #7244

(cherry picked from commit 7fdbf40cd2)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/MigrationFlags.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/ChaptersSettingsSheet.kt
2022-06-04 20:43:05 -04:00
Jobobby04 44ea254f52 Use launchUI in MangaPresenter 2022-06-04 20:36:43 -04:00
Jobobby04 706315625e Start preparing for Manga Info Compose 2022-06-04 14:11:17 -04:00
Jobobby04 fef7808bb4 Improve migration sheet layout 2022-06-04 13:32:20 -04:00
Saud-97 ed39b61ee9 New: Migrating titles maintains custom covers (#7196)
* New: Migrating titles maintains custom covers #7189

* Added Custom Covers to MigrationFlags.kt, strings.xml

* Reworded covers --> cover

* Updated logic to show/hide Migration flags titles depending on manga.

(cherry picked from commit 5ea03fad87)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/MigrationFlags.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchPresenter.kt
2022-06-04 13:14:10 -04:00
kasperskier 1d00dee9b7 ChapterSourceSync: set default timestamp to max timestamp (#7197)
(cherry picked from commit dd5da56695)
2022-06-04 12:55:13 -04:00
AntsyLich a61bf2096d Fix loading progress not showing in webview (#7243)
* Fix loading progress not showing in webview

* Review Changes

(cherry picked from commit 0e1e57c1c3)
2022-06-04 12:55:03 -04:00
Jobobby04 8f868c0813 Fix auto-downloading for merged manga 2022-06-04 11:59:29 -04:00
Jobobby04 46bf8b58b5 Support edited manga info in domain 2022-06-04 11:31:11 -04:00
Weblate (bot) 0259da5648 Weblate translations (#7248)
Co-authored-by: Uzuki Shimamura <hzy980512@126.com>
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ja/
Translation: Tachiyomi/Tachiyomi 0.x

Co-authored-by: Uzuki Shimamura <hzy980512@126.com>
(cherry picked from commit b80a992fdb)
2022-06-04 10:21:44 -04:00
Weblate (bot) 4c9bd827df Weblate translations (#7225)
Co-authored-by: AD_Ahmed DeviL <vodaaahmed@gmail.com>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: Eduard Ereza Martínez <eduard@ereza.cat>
Co-authored-by: Eric <alchemillatruth@purelymail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Huang Zhiyi <hzy980512@126.com>
Co-authored-by: ID-86 <ultralehky@gmail.com>
Co-authored-by: IceUniverse1 <koukichisakamoto@gmail.com>
Co-authored-by: Igor <zerrxs@gmail.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Jetspectre <jetspectre1@gmail.com>
Co-authored-by: KasukeLp <kasukelp23@yahoo.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Marco Santos <enum.scima@gmail.com>
Co-authored-by: Marwan Sakr <maro.572004@gmail.com>
Co-authored-by: Max <maxhevn@rocketmail.com>
Co-authored-by: Micky Micke <michael.dubois.martin@gmail.com>
Co-authored-by: Nestor A. Sanchez <help.toastcode@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Paulo Pinho <kebrus@gmail.com>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Samuel Leonardo <lafruta94@gmail.com>
Co-authored-by: Shjosan <shjosan@kakmix.co>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: THE_LEGEND <the.legend9285+weblate@gmail.com>
Co-authored-by: TheKingTermux <achmadmaulana0233@gmail.com>
Co-authored-by: Uzuki Shimamura <hzy980512@126.com>
Co-authored-by: W.A.R <crybby990@gmail.com>
Co-authored-by: altinat <poiiiii4yy@gmail.com>
Co-authored-by: ayaao <myrgdream@gmail.com>
Co-authored-by: carrot <expertcarrot@gmail.com>
Co-authored-by: paulo victor <paulovictorcarvalho2014@gmail.com>
Co-authored-by: saka <siegtra@gmail.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
Co-authored-by: אילון קטן <eilonkatan@gmail.com>
Co-authored-by: 赤城 呼明 <hapipon815@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ar/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ca/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/cs/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/de/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/el/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/es/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/es_419/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fil/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/he/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/hi/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/id/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/it/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ja/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/kk/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/km/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ms/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/pt/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ru/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sc/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sv/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/th/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/tr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/uk/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hant/
Translation: Tachiyomi/Tachiyomi 0.x

Co-authored-by: AD_Ahmed DeviL <vodaaahmed@gmail.com>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: Eduard Ereza Martínez <eduard@ereza.cat>
Co-authored-by: Eric <alchemillatruth@purelymail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Huang Zhiyi <hzy980512@126.com>
Co-authored-by: ID-86 <ultralehky@gmail.com>
Co-authored-by: IceUniverse1 <koukichisakamoto@gmail.com>
Co-authored-by: Igor <zerrxs@gmail.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Jetspectre <jetspectre1@gmail.com>
Co-authored-by: KasukeLp <kasukelp23@yahoo.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Marco Santos <enum.scima@gmail.com>
Co-authored-by: Marwan Sakr <maro.572004@gmail.com>
Co-authored-by: Max <maxhevn@rocketmail.com>
Co-authored-by: Micky Micke <michael.dubois.martin@gmail.com>
Co-authored-by: Nestor A. Sanchez <help.toastcode@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Paulo Pinho <kebrus@gmail.com>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Samuel Leonardo <lafruta94@gmail.com>
Co-authored-by: Shjosan <shjosan@kakmix.co>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: THE_LEGEND <the.legend9285+weblate@gmail.com>
Co-authored-by: TheKingTermux <achmadmaulana0233@gmail.com>
Co-authored-by: W.A.R <crybby990@gmail.com>
Co-authored-by: altinat <poiiiii4yy@gmail.com>
Co-authored-by: ayaao <myrgdream@gmail.com>
Co-authored-by: carrot <expertcarrot@gmail.com>
Co-authored-by: paulo victor <paulovictorcarvalho2014@gmail.com>
Co-authored-by: saka <siegtra@gmail.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
Co-authored-by: אילון קטן <eilonkatan@gmail.com>
Co-authored-by: 赤城 呼明 <hapipon815@gmail.com>
(cherry picked from commit a3a85ea49f)
2022-06-04 10:21:28 -04:00
Andreas cd1972f4cd feat: add read last read chapter shortcut (#7230)
Supersedes #6861

Co-authored-by: Pierre-Monier <65488471+Pierre-Monier@users.noreply.github.com>

Co-authored-by: Pierre-Monier <65488471+Pierre-Monier@users.noreply.github.com>
(cherry picked from commit 4560033e66)
2022-06-03 19:10:32 -04:00
Jobobby04 b71b9ab551 Minor cleanup 2022-06-03 19:08:24 -04:00
Jobobby04 f0f8a2a0a2 Fix mangadex blocked uploaders 2022-06-03 19:07:58 -04:00
Jobobby04 0df61a9f28 Fix on hiatus status category 2022-06-03 19:07:34 -04:00
Jobobby04 0c7ceb059e Merged source stop ddos 2022-06-03 19:06:29 -04:00
arkon 6e85e69268 Remove logic for restoring legacy JSON backups
- Protobuf backups have been around for 1.5 years now
- The ability to restore online-dependant data from JSON backups gets harder as time goes on and sources drift
- If users really need a way to restore them, they can use an older version of the app, or a separate tool for translating between the formats could be created

(cherry picked from commit d1be221d7a)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/AbstractBackupManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/full/FullBackupManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/legacy/LegacyBackupManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/legacy/LegacyBackupRestore.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/legacy/models/Backup.kt
2022-05-29 18:54:44 -04:00
arkon 2ae1b6ac3e Replace history query with actual upsert
(cherry picked from commit cd0294b1b6)
2022-05-29 18:44:41 -04:00
renovate[bot] d5a09b4035 Update coroutines_version to v1.6.2 (#7219)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
(cherry picked from commit 0dbe82c781)
2022-05-29 18:43:51 -04:00
renovate[bot] 3bbfd69370 Update aboutlib_version to v10.3.0 (#7220)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
(cherry picked from commit ad9ef81a77)
2022-05-29 18:43:44 -04:00
Andreas 8f9aefe1b7 Make Storio follow new database table structure (#7217)
(cherry picked from commit b36ca92dd9)
2022-05-29 18:43:27 -04:00
Andreas 8b1bc71e72 MangaUpdates tweaks (#7205)
* MangaUpdates tweaks

* Review changes

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

* Use built in functions instead of Jsoup

Co-authored-by: arkon <4098258+arkon@users.noreply.github.com>
(cherry picked from commit c8468c29f1)
2022-05-29 18:43:19 -04:00
arkon 2b766863f5 Minor cleanups
(cherry picked from commit 3c40010aff)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsLibraryController.kt
2022-05-29 18:43:11 -04:00
Chris dd8dc8fbe9 Fix global update ignoring network constraint (#7188)
* update library update network constraint logic

* add explicit 'only on unmetered network' update constraint

(cherry picked from commit 63238b388d)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsLibraryController.kt
2022-05-29 18:42:37 -04:00
AntsyLich f0fb91b84b Reader: Save reading progress with SQLDelight (#7185)
* Use SQLDelight in reader to update history

* Move chapter progress to sqldelight

* Review Changes

Co-Authored-By: inorichi <len@kanade.eu>

* Review Changes 2

Co-authored-by: FourTOne5 <59261191+FourTOne5@users.noreply.github.com>
Co-authored-by: inorichi <len@kanade.eu>
(cherry picked from commit 809da49301)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.kt
2022-05-29 18:38:40 -04:00
kasperskier 30620091c1 [skip ci] Fix wording in issue template (#7207)
(cherry picked from commit 6b14f38cfa)
2022-05-29 18:26:44 -04:00
arkon 3a489da679 Downgrade R8 to avoid extension issues
(cherry picked from commit e1e1c20dbe)

# Conflicts:
#	.github/renovate.json
#	app/proguard-rules.pro
2022-05-29 18:26:34 -04:00
arkon eda16df5c7 Move SQLDelight Gradle plugin to version catalog
(cherry picked from commit b0360b83d4)

# Conflicts:
#	build.gradle.kts
2022-05-29 18:25:00 -04:00
arkon a3d7c50246 Mention MangaUpdates in README
(cherry picked from commit f7881651c5)
2022-05-29 18:24:33 -04:00
arkon 53a18bf7c2 Update AGP for Android Studio Chipmunk 2021.2.1 Patch 1
(cherry picked from commit 241c4ad857)
2022-05-29 18:23:57 -04:00
arkon c4dfbd4768 Minor cleanup
(cherry picked from commit 87661eb85a)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/source/LocalSource.kt
2022-05-24 20:01:07 -04:00
FourTOne5 6fd79f4838 Local Source - qol, cleanup and cover related fixes (#7166)
* Local Source - qol, cleanup and cover related fixes

* Review Changes

(cherry picked from commit ad17eb1386)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/source/LocalSource.kt
2022-05-24 20:00:15 -04:00
Andreas d7a93e254f Add MangaUpdates as a tracker (#7170)
* Add MangaUpdates as a tracker

- jobobby04 co-authored for suggestion in BackupTracking.kt

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

* Changes from code review

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

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

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/track/TrackManager.kt
2022-05-24 19:54:09 -04:00
arkon 1a1bb412c0 Migrate settings search view to Compose
(cherry picked from commit 9b0d85bf6c)
2022-05-24 19:47:10 -04:00
Ivan Iskandar f1bd5f4c95 Add scrollbar indicator to LazyColumn (#7164)
(cherry picked from commit 3b2362c784)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/SourcesScreen.kt
2022-05-24 19:47:01 -04:00
arkon 8d7d7498db Refactor chapter recognition tests to run in parallel
(cherry picked from commit aa2370b381)
2022-05-24 19:46:21 -04:00
saud-97 7466dcc48c Fixes: incorrect sorting when chapter name contains hyphens '-' (#7161)
* Fixes: incorrect sorting when chapter name contains hyphens '-'

* Added a test case for hyphen in ChapterRecognitionTest.kt

* Removed chapter range test case since it will be replaced by chapterContainingHyphensCase

(cherry picked from commit 3e07100dc2)
2022-05-24 19:46:15 -04:00
arkon e2ddcdf655 Bump dependencies
(cherry picked from commit 1949fb1abe)
2022-05-24 19:46:05 -04:00
FourTOne5 52f32d27e8 Fix LogPriority in HistoryRepositoryImpl (#7173)
(cherry picked from commit 28be423e65)
2022-05-24 19:45:54 -04:00
arkon cf980adb8e Minor cleanup
(cherry picked from commit 9a75232ca4)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/SourcesScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesFilterController.kt
2022-05-24 19:45:39 -04:00
FourTOne5 9c80b20574 Update extension details screen design (#7158)
* Update extension details screen design

* Review Changes

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

* Review Changes 2

Co-authored-by: Andreas <6576096+ghostbear@users.noreply.github.com>
(cherry picked from commit 64da16f58f)
2022-05-24 19:31:56 -04:00
FourTOne5 dc70fdac43 Migrate extensions language filter screen to compose (#7169)
(cherry picked from commit fd9510e18f)
2022-05-24 19:31:41 -04:00
Andreas 47c9b3208a Make extension list update when languages changes (#7168)
(cherry picked from commit 2761d27aaa)
2022-05-24 19:31:23 -04:00
arkon 22c0b9cf02 Bump dependencies
(cherry picked from commit f4e344f686)
2022-05-24 19:30:43 -04:00
arkon 755b54cb4d Convert ic_untrusted_source icons to WEBP
(cherry picked from commit 395a840fc4)
2022-05-24 19:30:22 -04:00
CVIUS c0362faaf8 Fix reader menu appearing then disappearing in webtoon viewer when there is no next chapter (#7115)
(cherry picked from commit 6580f5771f)
2022-05-24 19:30:13 -04:00
CVIUS 31ac3aece2 Fix webtoon viewer showing transition view when going to next/prev chapter using next/prev button (#7133)
(cherry picked from commit b21bcc2d45)
2022-05-24 19:30:04 -04:00
S97 836b66fe83 Fixed Splitting Height for Tall Images (#7148)
* Fixed Splitting Height for Tall Images #7140

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

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

Co-authored-by: FourTOne5 <59261191+FourTOne5@users.noreply.github.com>
(cherry picked from commit 4481c54376)
2022-05-24 19:29:56 -04:00
kasperskier bbdbaa1de6 Change jsDelivr CDN URL to Fastly (#7156)
(cherry picked from commit 7b242bf118)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/extension/api/ExtensionGithubApi.kt
2022-05-24 19:29:48 -04:00
CVIUS d8203499e2 Fix close button tint in extension screen (#7154)
(cherry picked from commit f2a478288a)
2022-05-24 19:29:04 -04:00
arkon 530f91d774 Theme Compose SwipeRefresh indicator like XML version
Also rename some screens/controllers to better represent that they're the list views.

(cherry picked from commit 01e04e31bf)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/SourcesFilterScreen.kt
2022-05-24 19:27:33 -04:00
FourTOne5 5c723398e0 Fix both warning banner appearing for unofficial ext (#7150)
(cherry picked from commit cbc114608b)
2022-05-24 19:26:39 -04:00
arkon 0462e8bac1 [skip ci] Reword reset viewer flags settings 2022-05-24 19:25:23 -04:00
arkon 1c86a7c94b Minor cleanup
# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/ExtensionsScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/BrowseController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesPresenter.kt
2022-05-24 19:24:41 -04:00
arkon 4458f74f6c Use jsDelivr as fallback when GitHub can't be reached for extensions (closes #5517)
Re-implementation of 24bb2f02dc

(cherry picked from commit d61bfd7caf)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/extension/api/ExtensionGithubApi.kt
2022-05-24 19:10:04 -04:00
arkon 6fc99bef25 Migrate extension details page to Compose
(cherry picked from commit 13943f77f7)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/SourceScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/details/ExtensionDetailsHeaderAdapter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/manga/MigrationMangaController.kt
2022-05-15 22:06:54 -04:00
Jim Man 6659a290c4 Fix formatting (#7146)
(cherry picked from commit 1c94ecdcdf)
2022-05-15 21:54:39 -04:00
Andreas 0f4923baa9 Add missing top padding for screen that was rewritten in Compose (#7145)
(cherry picked from commit fb83a07f84)
2022-05-15 21:54:33 -04:00
Andreas fdcd3aa7eb Convert Extension tab to use Compose (#7107)
* Convert Extension tab to use Compose

Co-authored-by: jobobby04 <17078382+jobobby04@users.noreply.github.com>

* Review changes

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

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/ExtensionHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/ExtensionPresenter.kt
2022-05-15 21:54:12 -04:00
renovate[bot] a753f97285 Update serialization_version to v1.3.3 (#7128)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
(cherry picked from commit 7a0915964a)
2022-05-15 21:17:06 -04:00
renovate[bot] 2736ad87bd Update dependency com.fredporciuncula:flow-preferences to v1.7.0 (#7132)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
(cherry picked from commit aef97c5563)
2022-05-15 21:16:58 -04:00
CVIUS a506cde219 Settings cleanup (#7126)
* Settings cleanup

* Oops

* Also hide "Invert tap zones" if tap zones is set to "Disabled" in ReaderReadingModeSettings

(cherry picked from commit 4c9331c4e9)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt
2022-05-15 21:16:49 -04:00
renovate[bot] 64dcd7ec92 Update aboutlib_version to v10.2.0 (#7129)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
(cherry picked from commit 6fb5552d57)
2022-05-15 21:15:59 -04:00
arkon 357b4673f8 Update to AGP 7.2.0 again
- Disable optimizations on eu.kanade.tachiyomi.source.** classes to avoid access modifications causing mismatches between the app and extensions
- Remove Gson and Kotson Proguard rules, since we don't have those dependencies anymore

(cherry picked from commit bdb55ef881)

# Conflicts:
#	app/proguard-rules.pro
2022-05-14 19:50:09 -04:00
arkon db2a67644e Temporarily downgrade AGP to fix extension loading issue in non-debug builds
(cherry picked from commit 628a3bc16c)
2022-05-14 19:48:16 -04:00
Jozef Hollý 452a661553 Weblate translations (#6994)
Co-authored-by: Aboo Gh <aboozar.gh.r@gmail.com>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: DatTran MLL <tranthanhdat1142003@gmail.com>
Co-authored-by: David <david082321@yahoo.com.tw>
Co-authored-by: Eduard Ereza Martínez <eduard@ereza.cat>
Co-authored-by: Eric <alchemillatruth@purelymail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Howard Wu <wuhao_2000@outlook.com>
Co-authored-by: Huang Zhiyi <hzy980512@126.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Jetspectre <jetspectre1@gmail.com>
Co-authored-by: John Philip Sabinet <philiptenibas@gmail.com>
Co-authored-by: Jozef Hollý <j2.00ghz@gmail.com>
Co-authored-by: Kim Vognstrup Lind <iceman1145@gmail.com>
Co-authored-by: Luck In Hell <gogono58976df542y6913ubehfbw@gmail.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Marco Santos <enum.scima@gmail.com>
Co-authored-by: Matyáš Caras <contact@hernikplays.cz>
Co-authored-by: Nasy <nasy@duck.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Paulo Pinho <kebrus@gmail.com>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: RAID ALA EDDINE CHERIFI <raid555dada@gmail.com>
Co-authored-by: Rikishaaa <jebote90@gmail.com>
Co-authored-by: Samuel Leonardo <lafruta94@gmail.com>
Co-authored-by: Saud Aljaffer <saud.aljaffer@gmail.com>
Co-authored-by: Scoop <Scoo0p@yandex.com>
Co-authored-by: Shjosan <shjosan@kakmix.co>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: THE_LEGEND <the.legend9285+weblate@gmail.com>
Co-authored-by: Te quiero <ilytequiero@gmail.com>
Co-authored-by: TheKingTermux <achmadmaulana0233@gmail.com>
Co-authored-by: Thomas <Wallkman66@gmail.com>
Co-authored-by: Vetle Ledaal <vetle.ledaal@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: Zakhar Timoshenko <vp1984tanki@gmail.com>
Co-authored-by: Zio <ankoukurayami79@gmail.com>
Co-authored-by: altinat <poiiiii4yy@gmail.com>
Co-authored-by: jimman2003 <jim41825@gmail.com>
Co-authored-by: nzoba <enzobatista2@gmail.com>
Co-authored-by: opb <myniceaddress@outlook.com>
Co-authored-by: pedro henrique garcia pinto <pedro__pinto@hotmail.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
Co-authored-by: אילון קטן <eilonkatan@gmail.com>
Co-authored-by: عمران حديوي <imrane05011977@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ar/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ca/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ceb/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/cs/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/da/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/de/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/el/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/es/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/es_419/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fa/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fil/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/he/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/hi/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/id/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/it/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ja/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/jv/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ko/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ms/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/nn/
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/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ru/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sc/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/si/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sv/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/th/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/tr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/vi/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hant/
Translation: Tachiyomi/Tachiyomi 0.x

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Aboo Gh <aboozar.gh.r@gmail.com>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: DatTran MLL <tranthanhdat1142003@gmail.com>
Co-authored-by: David <david082321@yahoo.com.tw>
Co-authored-by: Eduard Ereza Martínez <eduard@ereza.cat>
Co-authored-by: Eric <alchemillatruth@purelymail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Howard Wu <wuhao_2000@outlook.com>
Co-authored-by: Huang Zhiyi <hzy980512@126.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Jetspectre <jetspectre1@gmail.com>
Co-authored-by: John Philip Sabinet <philiptenibas@gmail.com>
Co-authored-by: Kim Vognstrup Lind <iceman1145@gmail.com>
Co-authored-by: Luck In Hell <gogono58976df542y6913ubehfbw@gmail.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Marco Santos <enum.scima@gmail.com>
Co-authored-by: Matyáš Caras <contact@hernikplays.cz>
Co-authored-by: Nasy <nasy@duck.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Paulo Pinho <kebrus@gmail.com>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: RAID ALA EDDINE CHERIFI <raid555dada@gmail.com>
Co-authored-by: Rikishaaa <jebote90@gmail.com>
Co-authored-by: Samuel Leonardo <lafruta94@gmail.com>
Co-authored-by: Saud Aljaffer <saud.aljaffer@gmail.com>
Co-authored-by: Scoop <Scoo0p@yandex.com>
Co-authored-by: Shjosan <shjosan@kakmix.co>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: THE_LEGEND <the.legend9285+weblate@gmail.com>
Co-authored-by: Te quiero <ilytequiero@gmail.com>
Co-authored-by: TheKingTermux <achmadmaulana0233@gmail.com>
Co-authored-by: Thomas <Wallkman66@gmail.com>
Co-authored-by: Vetle Ledaal <vetle.ledaal@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: Zakhar Timoshenko <vp1984tanki@gmail.com>
Co-authored-by: Zio <ankoukurayami79@gmail.com>
Co-authored-by: altinat <poiiiii4yy@gmail.com>
Co-authored-by: jimman2003 <jim41825@gmail.com>
Co-authored-by: nzoba <enzobatista2@gmail.com>
Co-authored-by: opb <myniceaddress@outlook.com>
Co-authored-by: pedro henrique garcia pinto <pedro__pinto@hotmail.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
Co-authored-by: אילון קטן <eilonkatan@gmail.com>
Co-authored-by: عمران حديوي <imrane05011977@gmail.com>
(cherry picked from commit c77396dbdb)
2022-05-14 19:48:07 -04:00
CVIUS eebeeb092d Add long click action on chapter download button (#7125)
(cherry picked from commit 5002692bda)
2022-05-14 11:39:11 -04:00
FourTOne5 e5a0d95156 Minor cleanup in ImageUtil and SourceFilterPresenter (#7106)
* Minor cleanup in `ImageUtil` and `SourceFilterPresenter`

* Fix missed stuff

(cherry picked from commit 71bb8ed975)
2022-05-14 11:39:03 -04:00
Jobobby04 95bd0141d4 Cherry picking fixes 2022-05-14 11:38:38 -04:00
Andreas 7ac3ed45d0 Update AndroidX SQLite (#7123)
(cherry picked from commit 6d011ebe32)
2022-05-14 10:50:12 -04:00
CVIUS 9322624886 Save reader progress when activity is paused (#7121)
(cherry picked from commit f1ab34e27c)
2022-05-14 10:50:02 -04:00
CVIUS 58db04d8dd Fix category tabs incorrect scroll position (#7120)
(cherry picked from commit 6d655ff757)
2022-05-14 10:49:55 -04:00
nzoba f7a57d2ddd Add switch to DownloadPageLoader when chapter is downloaded (#7119)
(cherry picked from commit 63627c81eb)
2022-05-14 10:49:46 -04:00
arkon 0bb16937c7 Update reset viewer flags strings
(cherry picked from commit 5dc688dc2e)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt
2022-05-14 10:49:34 -04:00
FourTOne5 c24f134b28 Add option to reset viewer flags (#7062)
* Add option to reset viewer flags

* Review Changes

* Run `resetViewerFlags()` content with `launchIO`

(cherry picked from commit 08fb2fe467)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt
2022-05-14 10:48:57 -04:00
CVIUS afd1c3b491 Detect identical mangas when long pressing to add to library (#7095)
* Detect identical mangas when long pressing to add to library

* Use extracted duplicate manga dialog to avoid duplication

* Partially revert previous commit

* Review changes

* Review changes part 2

(cherry picked from commit f1afeac0bc)
2022-05-14 10:48:12 -04:00
S97 3a2ef3f134 Fixed splitting logic and CBZ compression logic (#7098)
* Fixes:
- spliiting fails when the page was already been split and processed before
- Moved CBZ logic a little earlier to avoid marking a download as complete before the CBZ compression was completed

* Added a single space for readablity

* Added 2 spaces for readability

* Moved the splitting logic to happen inside getOrDownloadImage()

* Minor cleanup

* - Improved error handling when splitting fails due to OOM exception caused by BitmapFactory.decodeFile. - Changed logic from throwing error to only notify to allow the download to complete even if splitting failed.

* reverted auto formatting changes

* removed an extra loop

* Merged to Upstream, cleaned up

* Removed unused localized string

* Minor cleanup

(cherry picked from commit f75d632740)
2022-05-14 10:48:04 -04:00
CVIUS 054e6b839e Fix "Move to top" showing at the most top item in download queue (#7109)
(cherry picked from commit b26daf8824)
2022-05-14 10:47:54 -04:00
arkon 6d1dcf0deb Update Compose
Fixes #7004

(cherry picked from commit 393fc14630)
2022-05-14 10:47:43 -04:00
arkon 61ff7f8b21 Minor cleanup
(cherry picked from commit c7707dc50e)

# Conflicts:
#	.github/renovate.json
2022-05-14 10:47:25 -04:00
arkon 409162d3d7 Bump dependencies
(cherry picked from commit 37199a10bf)
2022-05-14 10:46:51 -04:00
arkon 393d7a1174 Address some build warnings
(cherry picked from commit b950370f12)
2022-05-14 10:46:37 -04:00
arkon 93fd043b6a Minor dependency updates
(cherry picked from commit cd8392bae2)
2022-05-14 10:45:38 -04:00
arkon 24c5563a02 Update linter
(cherry picked from commit ae7df4fb7f)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/manga/model/Manga.kt
#	app/src/main/java/eu/kanade/domain/source/model/Source.kt
#	app/src/main/java/eu/kanade/presentation/source/MigrateSourceScreen.kt
#	app/src/main/java/eu/kanade/presentation/source/SourceFilterScreen.kt
#	app/src/main/java/eu/kanade/presentation/source/SourceScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourceFilterPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcePresenter.kt
2022-05-14 10:45:26 -04:00
Jobobby04 c1c934011f Update build workflow actions 2022-05-14 10:42:36 -04:00
arkon d2676099b6 Update to Coil 2.0.0
(cherry picked from commit cf024b0e61)
2022-05-14 10:39:59 -04:00
arkon 334be13d40 Minor cleanup
- Add pending intent immutable flags to satisfy lint warnings
- Change AddDuplicateMangaDialog arg to a function instead to avoid leaking controller-specific logic into it
- Require WebView 99+

(cherry picked from commit d3f9232a3f)
2022-05-14 10:39:37 -04:00
FourTOne5 6adf5927ab Fix download splitter potentially throwing OOM on huge images (#7099)
* Fix download splitter potentially throwing OOM on huge images

Also move the splitting to ImageUtil

* Change variable name and logcat output

(cherry picked from commit 9f655e0d41)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/util/system/ImageUtil.kt
2022-05-14 10:39:20 -04:00
nicki 81bdc19075 Check for app updates by comparing semver (#7100)
Instead of just checking whether the current app version *matches* with
latest app version in GitHub Releases, compare the semver from the tag
names to check whether the latter is greater and the app needs an update

Reference: semver spec #11 https://semver.org/#spec-item-11

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

Co-authored-by: Andreas <6576096+ghostbear@users.noreply.github.com>
(cherry picked from commit e7ed130f2a)
2022-05-14 10:38:37 -04:00
arkon aecb2e92dd Extract add duplicate manga dialog into a controller
(cherry picked from commit e421eb61bc)
2022-05-14 10:36:48 -04:00
CVIUS ea9ea11eaf Use theme primary color for slider track (#7102)
(cherry picked from commit bc053580ad)
2022-05-14 10:36:32 -04:00
nicki 1269d71d1a Don't save categories in backup if not selected (#7101)
Currently, manually created backups contain list of categories even if
Categories option is not selected during Backup Prompt. This leads to
empty categories being created when restoring such backup files

This commit adds a check before saving categories list info to the
backup file. The check is the same check which is used while backing up
category info of manga in library

Tested and worked successfully on app installed on Android 12

(cherry picked from commit 11c01235ac)
2022-05-14 10:36:23 -04:00
arkon ec9d55e9e8 Rename "navigation layout" to "tap zones"
(cherry picked from commit c49d862fc5)
2022-05-14 10:36:15 -04:00
Jobobby04 5fedef2ccb Convert debug menu to Jetpack Compose 2022-05-08 21:09:02 -04:00
arkon 7403709ecd Adjust inset consumption in Compose controllers (fixes #7085)
Co-authored-by: jobobby04 <jobobby04@users.noreply.github.com>
(cherry picked from commit 6993e88265)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/base/controller/ComposeController.kt
2022-05-08 10:50:41 -04:00
arkon f675fc78ef Fix crash when using renamed library sort methods (fixes #7092)
(cherry picked from commit 681e9396b3)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/setting/SortModeSetting.kt
2022-05-08 10:49:40 -04:00
arkon 4aa5c6107c Don't allow swiping away app update install notification
Also show the new version number in the notifications.
2022-05-07 17:26:27 -04:00
arkon 33c8dcb70c Fix tall image split math issues
- Round up per-split height to ensure the entire page ends up being split
- Handle the last split of a page potentially being shorter than the others
2022-05-07 10:48:16 -04:00
arkon 1f263b9cfc Minor cleanup
- Remove some unused StorIO queries
- Clean up tall image splitting a bit (no need for creating an unscaled scaled bitmap copy, or tracking coordinates)
- Clean up library updater a bit (still needs a lot of work though)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/database/queries/ChapterQueries.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/queries/HistoryQueries.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/queries/MangaQueries.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
#	app/src/main/java/eu/kanade/tachiyomi/util/system/ImageUtil.kt
2022-05-07 10:48:04 -04:00
S97 6bacc3808e Add option to automatically split tall downloaded images (#7029)
* Auto split long images to improve performance of reader

* Auto split long images to improve performance of reader - fixed the sorting

* Improved performance of splitting by getting rid of 1 extra loop

* Cleaned up code and moved the functionality to work during the downloading process (unsure how this affects download speed)

* Replaced the import .* with the actual used imports

* Fixes for Bugs discovered during my testing

* Fixed last split missing bug.

* Reordered the download progress to be updated before splitting instead of after to reflect more meaningful progress of download

* Reverted last commit since it had no effect

* Improved progress tracking when a download is paused then resumed.

* Implemented the recommended changes to enhance the feature.

* Apply suggestions from code review

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

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

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

Co-authored-by: arkon <arkon@users.noreply.github.com>
2022-05-07 10:33:05 -04:00
FourTOne5 f966940d15 Fix removing manga from library reverts during global update (#7063)
* Fix removing manga from library reverts during global update

* Review Changes

* Review changes 2
# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
2022-05-07 10:32:56 -04:00
FourTOne5 3865384ccc Add -r flag to ShizukuInstaller createCommand (#7080) 2022-05-07 10:32:02 -04:00
Jobobby04 1eafc6ebd8 Use a file suppress deprecation 2022-05-06 20:50:56 -04:00
FourTOne5 ea20b44865 Reword and Fix library sort (#7068)
# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/setting/SortModeSetting.kt
2022-05-06 20:45:33 -04:00
FourTOne5 93a275cfc0 Case insensitive sort in Source tab (#7067)
# Conflicts:
#	app/src/main/java/eu/kanade/domain/source/interactor/GetEnabledSources.kt
2022-05-06 20:33:54 -04:00
Jobobby04 7c8d6bb282 Minor cleanup saved search database info 2022-05-06 20:32:56 -04:00
Jobobby04 7b470640b6 Hide hidden sources from sources filter 2022-05-06 20:32:55 -04:00
Jobobby04 cdebb6db67 Fix hidden sources showing in browse 2022-05-06 20:32:55 -04:00
Jobobby04 a3989030aa Fix merged source selection crash 2022-05-06 20:32:54 -04:00
Howard Wu 53a03cb00c [zh_rCN] Translation Correction (#586)
* [zh_rCN] Translation Correction

* Update strings_sy.xml

* Update strings_sy.xml
2022-05-02 17:26:26 -04:00
jobobby04 1c7a81b7ad Properly modify StateFlow value (#7059)
(cherry picked from commit ed8a54bd2a)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcePresenter.kt
2022-05-02 17:25:26 -04:00
FourTOne5 c6c6cb3033 Properly show history state (#7052)
* Make `HistoryState` similar to `MigrateState`

* Review Changes

* Also cache the transformation

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

* Fix States

Co-authored-by: Andreas <andreas.everos@gmail.com>
(cherry picked from commit 5bd5b21543)
2022-05-02 17:23:04 -04:00
arkon 631781ee8c Extract migrate list number badges for later use in library items
(cherry picked from commit aec980662f)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/source/MigrateSourceScreen.kt
2022-05-02 17:22:56 -04:00
FourTOne5 bb5732055e Make MigrateSourceState similar to MigrateState (#7054)
(cherry picked from commit aef1dc6eaf)
2022-05-02 17:19:50 -04:00
FourTOne5 222f8a7d7a Make SourceState similar to MigrateState (#7053)
* make `SourceState` similar to `MigrateState`

* Review Changes

(cherry picked from commit bd45bf7407)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/source/SourceScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcePresenter.kt
2022-05-02 17:19:38 -04:00
Jobobby04 7e380582a6 Fix crashing when creating a backup 2022-05-02 17:04:06 -04:00
Jobobby04 f03711e2f7 Update tag action, fix preview changelog 2022-05-01 19:33:06 -04:00
arkon 0a908464f7 Add newer methods to StubSource
(cherry picked from commit e3f6cfa2df)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/SourceManager.kt
2022-05-01 16:59:56 -04:00
Andreas 204ba71a65 Fix migrations (#7051)
(cherry picked from commit 609f552c8d)

# Conflicts:
#	app/src/main/sqldelight/migrations/12.sqm
2022-05-01 16:57:33 -04:00
saud-97 28e0a00ece Notify user of error during a page download failure (#7047)
* Notify user of error during a page download failure

* Included the manga title in the error notification

(cherry picked from commit 5763201307)
2022-05-01 16:55:55 -04:00
arkon 03b03ba342 Update navigation bar padding in Compose screens
(cherry picked from commit dee7830793)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/source/interactor/GetSourcesWithFavoriteCount.kt
#	app/src/main/java/eu/kanade/presentation/history/HistoryScreen.kt
2022-05-01 16:54:50 -04:00
FourTOne5 ef55134c74 Migrate Source Filter Screen to Compose (#7031)
* Migrate Source Filter Screen to Compose

* Changes from Review and some more fixes

* Rename some variable and classes

* Review Change

* Ewbase and Review changes

(cherry picked from commit 23f8f35354)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/DomainModule.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/SourceManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourceFilterController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcePresenter.kt
2022-05-01 16:52:11 -04:00
arkon 3f81dfdf99 Allow passing modifier to preference composables
(cherry picked from commit cccd09fb5c)
2022-05-01 16:00:35 -04:00
Andreas 6eaeec3a48 Migrate Migrate Manga screen to Compose (#7045)
* Migrate Migrate Manga screen to Compose

* Changes from review comments

(cherry picked from commit bf6d59cd21)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/manga/MigrationMangaController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/manga/MigrationMangaHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/manga/MigrationMangaPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchController.kt
2022-05-01 16:00:18 -04:00
FourTOne5 d6313d092f Remove source lang on migrate screen also seperate removed source on alphabetical sort (#7041)
* Remove source lang on migrate screen also seperate removed source on alphabetical sort

* Review changes

* Rename Variable

(cherry picked from commit 6ef6eab994)
2022-05-01 15:36:36 -04:00
arkon 12a0e40ca5 Use Compose for OAuth login loading indicator
(cherry picked from commit ccff333123)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/sources/MigrationSourcesController.kt
2022-05-01 15:36:25 -04:00
Andreas 4d8ba5868c Fix database corruption (#7042)
When using SQLDelight and Storio at the same time

(cherry picked from commit 891406cc7f)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/database/DatabaseHelper.kt
2022-05-01 15:35:48 -04:00
arkon 3a4f107ab7 Fix Android 13 icon sizing 2022-05-01 15:34:21 -04:00
arkon 55351fa208 Fix about icons sizing
(cherry picked from commit 8798c295e6)
2022-05-01 14:59:58 -04:00
arkon 15f7a4ee3f Fix crashing in Android 13 Beta 1
(cherry picked from commit 7abb407897)
2022-05-01 14:59:50 -04:00
FourTOne5 45fcab5b48 Center CurcularProgressIndicator in LoadingScreen (#7032)
* Center `CurcularProgressIndicator` in `LoadingScreen`

* Fix Import and move modifier to top

(cherry picked from commit 78207d48ba)
2022-05-01 14:59:42 -04:00
arkon b846bc2044 Add links to website FAQ for library update and download warning notifications
(cherry picked from commit 70698e6494)
2022-05-01 14:59:28 -04:00
Andreas 55fad3d055 Add error state to MangaCover composable (#7022)
* Add error state to MangaCover

- Add error drawable when thumbnailUrl isn't able to be loaded
- Tweak usage of MangaCover

* Change `contentDescription` to be nullable

As the invoke function makes default nulls

(cherry picked from commit adf02e53fd)
2022-05-01 14:59:20 -04:00
arkon ffd5055369 Remove unused drawables
(cherry picked from commit 259c370eb9)
2022-05-01 14:59:06 -04:00
Andreas ca3574690b Use Compose in Migrate tab (#7008)
* Use Compose in Migrate tab

* Add missing header

* Remove unused files

* Fix build after rebase

* Changes from review comments

(cherry picked from commit 7261fcccda)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/DomainModule.kt
#	app/src/main/java/eu/kanade/presentation/source/SourceScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/sources/MigrationSourcesController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/sources/MigrationSourcesPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/sources/SelectionHeader.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/sources/SourceAdapter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/sources/SourceHolder.kt
#	app/src/main/res/layout/source_main_controller_item.xml
2022-05-01 14:58:53 -04:00
arkon 51ba85cca9 Migrate SettingsMainController to Compose
(cherry picked from commit a4a4503311)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsMainController.kt
2022-05-01 14:40:29 -04:00
arkon d1c0cbde72 Update Kotlin and Compose
(cherry picked from commit 2752540330)
2022-05-01 14:27:25 -04:00
arkon 9aa2ab3546 Remove some minor settings
Some spring cleaning to remove some unnecessary complexity so things are easier to maintain.

- Start screen: redundant with app shortcuts in Android 7.1+
- Jump to chapters: irrelevant in tablet mode and people can scroll a tiny bit if they really have to
- Option to not scroll away bottom nav: issues with fast scroll will be irrelevant with it being replaced or removed in the Compose migrations

Get ready for people malding over their special needs. https://xkcd.com/1172/

(cherry picked from commit 0b77b78f6a)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsLibraryController.kt
2022-05-01 14:27:10 -04:00
FourTOne5 7ed22e5d90 Download new chapters when only excluded categories is selected (#6984)
(cherry picked from commit 06bec0ad54)
2022-05-01 14:20:00 -04:00
arkon 9007b5de95 Add Plumber to handle some system leaks automatically
(cherry picked from commit f1126c55ca)

# Conflicts:
#	app/build.gradle.kts
2022-05-01 14:19:53 -04:00
arkon c3183b8543 Remove some unused StorIO queries/resolvers
(cherry picked from commit 2caf220b18)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/database/queries/MangaQueries.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/resolvers/MangaChapterHistoryGetResolver.kt
2022-05-01 14:19:26 -04:00
arkon a6795a333c Throw out old unit tests
Considering we never run or update them, they're not providing any value right now.
Kept the chapter recognition tests and bumped to JUnit 5.

(cherry picked from commit 4d23f35b9d)

# Conflicts:
#	app/src/test/java/eu/kanade/tachiyomi/CustomRobolectricGradleTestRunner.kt
2022-05-01 14:12:04 -04:00
arkon c32c3c7730 Adjust download menu item positioning (fixes #6932)
(cherry picked from commit f6fdb12db2)

# Conflicts:
#	app/src/main/res/menu/library_selection.xml
2022-05-01 14:11:26 -04:00
arkon b2be36f432 Adjust library sorting by dates (closes #6954)
Ascending by date = oldest dates first. If no date is present, fallback to epoch 0 (i.e., oldest).

(cherry picked from commit 7773deabc0)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
2022-05-01 14:09:55 -04:00
arkon da739dfc07 Fix skipped library entries and size warning notifications using same ID
(cherry picked from commit 91ed3a4a5f)
2022-05-01 14:09:08 -04:00
arkon 92af7291d5 Fix update warning notifications being cut off (fixes #6983)
(cherry picked from commit 20145f7a12)
2022-05-01 14:08:59 -04:00
arkon f22ff7d3f0 Default to downloading as CBZ (closes #6942)
Generally seems fine. People with weak devices may experience some issues, but they can toggle it off/extract the archives separately if needed.

(cherry picked from commit 883945e3e8)
2022-05-01 14:08:50 -04:00
arkon 4804dcf644 Add battery not low restriction for global updates (closes #6980)
(cherry picked from commit 3feea71146)
2022-05-01 14:08:42 -04:00
ItsLogic 6df5497dc6 Fix chapter transition setting for one page chapters (#6998)
(cherry picked from commit 5e32b8e49f)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerViewer.kt
2022-05-01 14:08:32 -04:00
arkon e2056982eb Minor cleanup 2: Electric Boogaloo
- Reword pins on top setting
- Make "Latest" button style match old UI
- Sort sources by name

(cherry picked from commit 08e63e5fab)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/source/interactor/GetEnabledSources.kt
#	app/src/main/java/eu/kanade/domain/source/model/Source.kt
2022-05-01 14:07:08 -04:00
arkon 7e0c1308bd Minor cleanup
(cherry picked from commit 0ec9496d26)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/AboutScreen.kt
2022-05-01 13:51:15 -04:00
Andreas c1659ad908 Convert Source tab to use Compose (#6987)
* Use Compose in Source tab

* Replace hashCode with key function

* Add ability to turn off pins moving on top of source list

* Changes from review comments

(cherry picked from commit 29a0989f28)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/source/SourceManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourceController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourceHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourceItem.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcePresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceController.kt
2022-05-01 13:49:53 -04:00
arkon 41b2c948e1 Migrate WebViewActivity to Compose
(cherry picked from commit 558b18899c)
2022-05-01 11:02:00 -04:00
arkon 1d0520e716 Delete entire app_webview folder when clearing WebView data
(cherry picked from commit 6e95fde4ec)
2022-05-01 11:01:51 -04:00
Jobobby04 050bdbe531 Change github location to SY 2022-05-01 11:01:42 -04:00
arkon 2ad55cc4f6 Remove unused preference layouts
(cherry picked from commit e691e17efc)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/more/AboutController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/more/AboutLinksPreference.kt
2022-05-01 11:01:26 -04:00
Jobobby04 8f847eb76e Move updates and history back down 2022-04-24 11:26:43 -04:00
Jobobby04 c51e8c7ab4 Separate EHTags into multiple files 2022-04-23 20:43:02 -04:00
Jozef Hollý 32df70a274 Weblate translations (#6937)
Co-authored-by: Abay Emes <abayemes@gmail.com>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: Alifian Caesar <alifiancaesar@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: DatTran MLL <tranthanhdat1142003@gmail.com>
Co-authored-by: Eduard Ereza Martínez <eduard@ereza.cat>
Co-authored-by: Eric <alchemillatruth@purelymail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Huang Zhiyi <hzy980512@126.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Jozef Hollý <j2.00ghz@gmail.com>
Co-authored-by: Kim Vognstrup Lind <iceman1145@gmail.com>
Co-authored-by: Luck In Hell <gogono58976df542y6913ubehfbw@gmail.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Marco Santos <enum.scima@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Pierre Kim <admin@manateeshome.com>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Saud Aljaffer <saud.aljaffer@gmail.com>
Co-authored-by: Shjosan <shjosan@kakmix.co>
Co-authored-by: Subham Jena <subhamjena8465@gmail.com>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: Thameem Riyaz <geniusartz69@gmail.com>
Co-authored-by: TheKingTermux <achmadmaulana0233@gmail.com>
Co-authored-by: abdellah <abdellahkadem5@gmail.com>
Co-authored-by: altinat <poiiiii4yy@gmail.com>
Co-authored-by: roger <616steam@gmail.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ar/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ca/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/cs/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/da/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/de/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/el/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/es/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fil/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/id/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/it/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ja/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/jv/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/kk/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ko/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ms/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/or/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ru/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sc/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/si/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sv/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ta/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/th/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/tr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/vi/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hant/
Translation: Tachiyomi/Tachiyomi 0.x

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Abay Emes <abayemes@gmail.com>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: Alifian Caesar <alifiancaesar@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: DatTran MLL <tranthanhdat1142003@gmail.com>
Co-authored-by: Eduard Ereza Martínez <eduard@ereza.cat>
Co-authored-by: Eric <alchemillatruth@purelymail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Huang Zhiyi <hzy980512@126.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Kim Vognstrup Lind <iceman1145@gmail.com>
Co-authored-by: Luck In Hell <gogono58976df542y6913ubehfbw@gmail.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Marco Santos <enum.scima@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Pierre Kim <admin@manateeshome.com>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Saud Aljaffer <saud.aljaffer@gmail.com>
Co-authored-by: Shjosan <shjosan@kakmix.co>
Co-authored-by: Subham Jena <subhamjena8465@gmail.com>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: Thameem Riyaz <geniusartz69@gmail.com>
Co-authored-by: TheKingTermux <achmadmaulana0233@gmail.com>
Co-authored-by: abdellah <abdellahkadem5@gmail.com>
Co-authored-by: altinat <poiiiii4yy@gmail.com>
Co-authored-by: roger <616steam@gmail.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
(cherry picked from commit 80ea14bf7f)
2022-04-23 20:13:20 -04:00
arkon ec689889f3 Migrate More screen to Compose (#6990)
(cherry picked from commit c25cffafc6)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/more/MoreController.kt
2022-04-23 20:12:59 -04:00
Jobobby04 bd4f0cd7a4 Minor cleanup 2022-04-23 14:32:56 -04:00
arkon 1da1380985 Tweak about preferences styles
(cherry picked from commit 8933b41937)
2022-04-23 14:28:25 -04:00
arkon b8b26c3531 Clean up repetitive controller transactions
(cherry picked from commit 7e2f1d729f)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/manga/MigrationMangaController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/sources/MigrationSourcesController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourceController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/more/AboutController.kt
2022-04-23 14:28:16 -04:00
arkon f537d8396c Basic initial port of About screen to Compose
(cherry picked from commit d6c87ec10e)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/more/AboutController.kt
2022-04-23 14:16:13 -04:00
Jobobby04 2640ae8dd4 Expand imports 2022-04-23 11:09:18 -04:00
CrepeTF 1b29217d00 Resume when history item is tapped (#6982)
* Remove resume button

* Rename onClickItem to onClickCover

* Optimize imports

* Rename reference to onClickItem in HistoryController.kt

Co-authored-by: CrepeTF <trungnguyen02@outlookcom>
(cherry picked from commit 070abd79ce)
2022-04-23 11:07:21 -04:00
arkon 6c0a61e47c Lifted NestedScrollConnection to abstract Compose classes
Since it'll likely be used in every controller.

(cherry picked from commit 2d01933c28)
2022-04-23 11:07:13 -04:00
arkon 93b7881505 Move clear webview data action to network group
(cherry picked from commit bf0bb5aa88)
2022-04-23 11:07:04 -04:00
arkon 707e99551d Migrate open source licenses screen to Compose
(cherry picked from commit 1b4d9fc4e9)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/more/AboutController.kt
2022-04-23 11:06:51 -04:00
Jobobby04 c9ec7921a5 Revert "Revert history Compose/SQLDelight changes"
This reverts commit 6a0b523e86.
2022-04-22 19:40:09 -04:00
Jobobby04 263c0fae8c Release v1.8.3 2022-04-22 19:39:42 -04:00
Howard Wu 7756f25312 Add Simplified Chinese translation (#584)
* Add Simplified Chinese translation

Work In Program
Part 1

* Add more translate

* Add more translate

* Add more translate

* Add more translate

* Fix

* Minor changes

* Fix some strings

* Fix some strings
2022-04-22 19:38:51 -04:00
Jobobby04 6a0b523e86 Revert history Compose/SQLDelight changes 2022-04-22 19:27:15 -04:00
arkon 070e2d94c7 Temporarily remove chapter name cleaning
To be added back in a more consistent manner later around the app. Probably when more things are Compose-y with less repetition.

(cherry picked from commit c0214103a9)
2022-04-22 19:23:45 -04:00
arkon 743482dfd2 Add advanced setting to clear WebView data
(cherry picked from commit 2b76a97989)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt
2022-04-22 19:23:37 -04:00
Andreas f6b7f9e29f Enable verbose logging in dev flavor by default (#6979)
(cherry picked from commit 9d77052d9c)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/App.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt
2022-04-22 19:22:12 -04:00
Andreas 5c9f98bff1 Add indexes to creational tables (#6974)
(cherry picked from commit b4981058a2)
2022-04-22 19:21:09 -04:00
arkon d375d7d8c8 Lift Compose theme to abstract controller
(cherry picked from commit 032aa64195)
2022-04-22 19:21:01 -04:00
arkon a88bcb0fa2 Simplify history item description building
(cherry picked from commit 7c8e8317a8)
2022-04-22 19:20:54 -04:00
arkon 5512c6eb79 Add abstract ComposeController
(cherry picked from commit eb1cfc4cd4)
2022-04-22 19:20:46 -04:00
arkon 97e4b0e248 Add placeholder color for Compose manga covers
(cherry picked from commit f1e5cccee7)
2022-04-22 19:20:39 -04:00
arkon 99a94150ea Default auto backups to 2
(cherry picked from commit bc2ed763bd)
2022-04-22 19:20:32 -04:00
Jobobby04 26b30adf4a Migrate saved search and feed saved search to SQLDelight 2022-04-22 19:19:50 -04:00
Jobobby04 4a115785eb Add SY specific queries to sqldelight files 2022-04-22 19:16:48 -04:00
Andreas a8cb77cc7e Migrate History screen database calls to SQLDelight (#6933)
* Migrate History screen database call to SQLDelight

- Move all migrations to SQLDelight
- Move all tables to SQLDelight

Co-authored-by: inorichi <3521738+inorichi@users.noreply.github.com>

* Changes from review comments

* Add adapters to database

* Remove logging of database version in App

* Change query name for paging source queries

* Update migrations

* Make SQLite Callback handle migration

- To ensure it updates the database

* Use SQLDelight Schema version for Callback database version

Co-authored-by: inorichi <3521738+inorichi@users.noreply.github.com>
(cherry picked from commit b1f46ed830)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/database/DatabaseHelper.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/DbOpenCallback.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/queries/HistoryQueries.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/tables/CategoryTable.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/tables/MangaTable.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/database/ClearDatabasePresenter.kt
#	build.gradle.kts
2022-04-22 10:08:31 -04:00
arkon c44c37383d Make links in new update dialog clickable
Co-authored-by: Jays2Kings <Jays2Kings@users.noreply.github.com>
(cherry picked from commit 6c1565a7d4)
2022-04-21 17:07:12 -04:00
arkon 8e72394910 Replace ignore button in new update dialog with link to GitHub page
Not enough room for 3 buttons. Users can still tap outside or back out of the dialog if they want to ignore it.

(cherry picked from commit 2ca6b655ad)
2022-04-21 17:06:57 -04:00
arkon e5349a3d33 Update junrar
(cherry picked from commit a83a481ac8)
2022-04-21 17:06:50 -04:00
arkon e6aa6f02e4 Move chapter name cleaning logic to holder (fixes #6955)
(cherry picked from commit 65a8b63b3b)
2022-04-21 17:06:39 -04:00
Andreas 231c75df65 Fix AppBar not unlifting when scrolling using ComposeView (#6952)
(cherry picked from commit b20ca36db9)
2022-04-21 17:06:31 -04:00
arkon 08c2bfd263 Show better error message when empty backup creation is attempted (closes #6941)
(cherry picked from commit 189f92d7e8)
2022-04-21 17:06:25 -04:00
arkon 33bdf011b4 Increase default OkHttp call timeout to 2 minutes
Which is still stupidly high, but maybe it'll be lenient enough for certain people.

(cherry picked from commit cdd4ec6233)
2022-04-21 17:06:18 -04:00
arkon 26deb46219 Show parsed Markdown for new version info (closes #6940)
(cherry picked from commit ef1bb4e800)
2022-04-21 17:06:11 -04:00
Andreas 45bfd5f72c Migrate History screen to Compose (#6922)
* Migrate History screen to Compose

- Migrate screen
- Strip logic from presenter into use cases and repository
- Setup for other screen being able to migrate to Compose with Theme

* Changes from review comments

(cherry picked from commit c475acd1ea)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/tachiyomi/App.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/queries/HistoryQueries.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
#	settings.gradle.kts
2022-04-21 17:06:03 -04:00
CrepeTF 32d81eb1fa Add elevation to navigation rails (#6947)
Co-authored-by: CrepeTF <trungnguyen02@outlookcom>
(cherry picked from commit 7d50d7ff52)
2022-04-21 17:01:34 -04:00
Jobobby04 4309b4c0d7 Release v1.8.2 2022-04-15 18:25:54 -04:00
Jozef Hollý 2c3f7f5206 Weblate translations (#6890)
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: Eduard Ereza Martínez <eduard@ereza.cat>
Co-authored-by: Eric <alchemillatruth@purelymail.com>
Co-authored-by: GTX155 <kirchoabv@mail.bg>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Huang Zhiyi <hzy980512@126.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Jetspectre <jetspectre1@gmail.com>
Co-authored-by: Jozef Hollý <j2.00ghz@gmail.com>
Co-authored-by: Lauri <lauri.kangasaho@hotmail.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Marco Santos <enum.scima@gmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Nicol Bolas <creepyweirdo1031@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Pierre Kim <admin@manateeshome.com>
Co-authored-by: Pilfer <pescao@gmail.com>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Rikishaaa <jebote90@gmail.com>
Co-authored-by: Santiago José Gutiérrez Llanod <gutierrezapata17@gmail.com>
Co-authored-by: Sebastian Mihai Crap <sebastiancrap@gmail.com>
Co-authored-by: Shjosan <shjosan@kakmix.co>
Co-authored-by: Subham Jena <subhamjena8465@gmail.com>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: Vetle Ledaal <vetle.ledaal@gmail.com>
Co-authored-by: Zero O <godarms2010@live.com>
Co-authored-by: altinat <poiiiii4yy@gmail.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
Co-authored-by: אילון קטן <eilonkatan@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/bg/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ca/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/cs/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/de/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/el/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/es/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/es_419/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fi/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fil/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/he/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/hi/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/hr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/it/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ja/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ko/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ms/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/or/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ro/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ru/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sc/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sv/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/th/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/tr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/vi/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hant/
Translation: Tachiyomi/Tachiyomi 0.x

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: Eduard Ereza Martínez <eduard@ereza.cat>
Co-authored-by: Eric <alchemillatruth@purelymail.com>
Co-authored-by: GTX155 <kirchoabv@mail.bg>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Huang Zhiyi <hzy980512@126.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Jetspectre <jetspectre1@gmail.com>
Co-authored-by: Lauri <lauri.kangasaho@hotmail.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Marco Santos <enum.scima@gmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Nicol Bolas <creepyweirdo1031@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Pierre Kim <admin@manateeshome.com>
Co-authored-by: Pilfer <pescao@gmail.com>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Rikishaaa <jebote90@gmail.com>
Co-authored-by: Santiago José Gutiérrez Llanod <gutierrezapata17@gmail.com>
Co-authored-by: Sebastian Mihai Crap <sebastiancrap@gmail.com>
Co-authored-by: Shjosan <shjosan@kakmix.co>
Co-authored-by: Subham Jena <subhamjena8465@gmail.com>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: Vetle Ledaal <vetle.ledaal@gmail.com>
Co-authored-by: Zero O <godarms2010@live.com>
Co-authored-by: altinat <poiiiii4yy@gmail.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
Co-authored-by: אילון קטן <eilonkatan@gmail.com>
(cherry picked from commit ec3a227a02)
2022-04-15 17:52:11 -04:00
arkon d670d29169 Always remove manga title from if it prefixes chapter names (related to #6913)
(cherry picked from commit 89decf3474)
2022-04-15 17:52:00 -04:00
arkon a4c61e49f4 Limit package name overriding to Android 8+ (related to #6846)
(cherry picked from commit 0b2794e843)
2022-04-15 17:51:53 -04:00
arkon 3d00e85dc2 Bump Material Components
(cherry picked from commit 554dfb5874)
2022-04-15 17:51:47 -04:00
arkon 46f39c24b0 Update F-Droid migration guide link
(cherry picked from commit 9c30fa1da3)
2022-04-15 17:51:40 -04:00
arkon 418da04411 Adjust update/download warnings
This is a partial revert/evolution of 538dd60580

- Back to notifications, because Android 12+ may cut off toasts
- Notifications now automatically dismiss after 30s on Android 8+ (taken from J2K)
- Also warn if more than 30 chapters are queued for download

(cherry picked from commit e81bd61e24)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
2022-04-15 17:51:23 -04:00
arkon 2d9cd81b62 Set network call timeout to 90 seconds (instead of infinite)
(cherry picked from commit 7a0b54bb38)
2022-04-15 17:50:44 -04:00
arkon 2bd161d5a2 Rollback to stable OkHttp
There's some weird crashes related to it. Happy Eyeballs will return once we upgrade again.

(cherry picked from commit f060daf8c4)
2022-04-15 17:50:35 -04:00
arkon af25e0e770 Minor cleanup
(cherry picked from commit f16fb4e1e4)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/App.kt
2022-04-15 17:50:26 -04:00
arkon 7cf5208000 Avoid crashing if picture can't be saved (related to #6905)
(cherry picked from commit 5da2c82f47)
2022-04-15 17:49:44 -04:00
FourTOne5 12bda2a966 Update Skip Updating preference strings. (#6900)
* Update Skip Updating preference strings.

* Complete -> Completed

* hasn't -> haven't

* Apply suggestions from code review

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

Co-authored-by: arkon <arkon@users.noreply.github.com>
(cherry picked from commit d443245d66)
2022-04-15 17:49:32 -04:00
arkon 69f524717a Add clear cookies option to WebView menu
(cherry picked from commit 2a070c0b1e)
2022-04-15 17:48:58 -04:00
arkon c6972b04d2 Update ACRA
(cherry picked from commit 7b5106d206)
2022-04-15 17:48:50 -04:00
arkon 1be153e51c Show different update notification for F-Droid installations
(cherry picked from commit 821d9cdb02)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/updater/AppUpdateChecker.kt
2022-04-15 17:48:41 -04:00
arkon 0a2684a1fe Move learn more text in skipped entries notification to main content
Because people apparently don't realize they can tap actions

(cherry picked from commit 28575936d3)
2022-04-15 17:47:44 -04:00
arkon b16f91571d Stop allowing keeping app data on uninstall
Seems to be more trouble than it's worth since it makes the app uninstallable without manually deleting app data. Users have to go out of their way to save data into the app data folder now anyway.

(cherry picked from commit 83a04da4a0)
2022-04-15 17:47:35 -04:00
jmir1 a55964ee3d Fix cover sharing error string (#6911)
(cherry picked from commit 0894b1394f)
2022-04-15 17:47:27 -04:00
arkon f473415968 Remove build flavor checks for update warnings
"stable" was invalid anyway, it should've been "release"

(cherry picked from commit eb33d3c991)
2022-04-15 17:47:14 -04:00
arkon 78754a96d6 Update Coil
(cherry picked from commit d7f01abf3a)
2022-04-15 17:47:06 -04:00
arkon 1992a2a4c4 Update ACRA
(cherry picked from commit 80635343ae)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/App.kt
2022-04-15 17:46:56 -04:00
arkon 897eed3ba4 Gate update/download warnings to non-stable flavors
(cherry picked from commit 4ecde9fc39)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
2022-04-15 17:46:09 -04:00
arkon 5b2e307f92 Update to AGP 7.1.3
(cherry picked from commit 445ee274c5)
2022-04-15 17:45:30 -04:00
CrepeTF d21dac8a2d Tweaks to migration sheet (#566)
* Added divider to top of migrate button + adjusted top margin

* Migration sheet now opens fully when initialized

Co-authored-by: CrepeTF <trungnguyen02@outlookcom>
2022-04-09 19:39:06 -04:00
Jozef Hollý 0a7933856c Weblate translations (#6829)
Co-authored-by: Ahmad Azwar Annas <ahmadazw2@gmail.com>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: C201 <derasetad@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: DatTran MLL <tranthanhdat1142003@gmail.com>
Co-authored-by: Eduard Ereza Martínez <eduard@ereza.cat>
Co-authored-by: Eric <alchemillatruth@purelymail.com>
Co-authored-by: FateXBlood <zecrofelix@gmail.com>
Co-authored-by: Garutmaan Garuda <garutmaangaruda@gmail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Hitalo | イタチ <Hitalomarquete331@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Huang Zhiyi <hzy980512@126.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Jetspectre <jetspectre1@gmail.com>
Co-authored-by: Jozef Hollý <j2.00ghz@gmail.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Marco Santos <enum.scima@gmail.com>
Co-authored-by: Matyáš Caras <contact@hernikplays.cz>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Nicol Bolas <creepyweirdo1031@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Pierre Kim <admin@manateeshome.com>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Respek <pedjal3345@gmail.com>
Co-authored-by: Rick <rickeits153@gmail.com>
Co-authored-by: Rostyslav <info@ubilling.net.ua>
Co-authored-by: Samuel Leonardo <lafruta94@gmail.com>
Co-authored-by: Shjosan <shjosan@kakmix.co>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: THElegend5 <jindalpratik98@gmail.com>
Co-authored-by: Vetle Ledaal <vetle.ledaal@gmail.com>
Co-authored-by: altinat <poiiiii4yy@gmail.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
Co-authored-by: אילון קטן <eilonkatan@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ca/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/cs/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/cv/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/de/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/el/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/es/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/es_419/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fil/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/he/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/hi/
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/it/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ja/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ko/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ms/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ne/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/nl/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/pt/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ru/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sa/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sc/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sv/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/th/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/tr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/uk/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/vi/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hans/
Translation: Tachiyomi/Tachiyomi 0.x

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Ahmad Azwar Annas <ahmadazw2@gmail.com>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: C201 <derasetad@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: DatTran MLL <tranthanhdat1142003@gmail.com>
Co-authored-by: Eduard Ereza Martínez <eduard@ereza.cat>
Co-authored-by: Eric <alchemillatruth@purelymail.com>
Co-authored-by: FateXBlood <zecrofelix@gmail.com>
Co-authored-by: Garutmaan Garuda <garutmaangaruda@gmail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Hitalo | イタチ <Hitalomarquete331@gmail.com>
Co-authored-by: Huang Zhiyi <hzy980512@126.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Jetspectre <jetspectre1@gmail.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Marco Santos <enum.scima@gmail.com>
Co-authored-by: Matyáš Caras <contact@hernikplays.cz>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Nicol Bolas <creepyweirdo1031@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Pierre Kim <admin@manateeshome.com>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Respek <pedjal3345@gmail.com>
Co-authored-by: Rick <rickeits153@gmail.com>
Co-authored-by: Rostyslav <info@ubilling.net.ua>
Co-authored-by: Samuel Leonardo <lafruta94@gmail.com>
Co-authored-by: Shjosan <shjosan@kakmix.co>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: THElegend5 <jindalpratik98@gmail.com>
Co-authored-by: Vetle Ledaal <vetle.ledaal@gmail.com>
Co-authored-by: altinat <poiiiii4yy@gmail.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
Co-authored-by: אילון קטן <eilonkatan@gmail.com>
(cherry picked from commit f2bdc514e8)
2022-04-09 19:37:51 -04:00
Jobobby04 11f31769ac Formatting 2022-04-09 19:37:39 -04:00
arkon f3e17edd6c Remove reader tapping option in favor of disabled nav layouts
(cherry picked from commit 2dfafa387b)

# Conflicts:
#	app/build.gradle.kts
2022-04-09 19:37:09 -04:00
arkon 0a110d149a Remove some dead code
(cherry picked from commit 7318f4f5dd)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/globalsearch/GlobalSearchController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/globalsearch/GlobalSearchPresenter.kt
2022-04-09 19:33:23 -04:00
manatails 8a1d277630 Add option to disable navigation layout (#6876)
(cherry picked from commit 175b77fe6f)
2022-04-09 19:15:16 -04:00
arkon 8244ca9898 Ensure media store scan is triggered after saving an image (fixes #6808)
(cherry picked from commit 346652e508)
2022-04-09 19:14:52 -04:00
arkon e98567a86b Update linter
(cherry picked from commit f0eb42e72d)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/full/FullBackupRestore.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/full/models/Backup.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/full/models/BackupManga.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/legacy/models/Backup.kt
#	app/src/main/java/eu/kanade/tachiyomi/extension/model/Extension.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/LocalSource.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/base/changehandler/OneWayFadeChangeHandler.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/sources/SelectionHeader.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourceItem.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcePresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceFilterSheet.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/globalsearch/GlobalSearchController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryListHolder.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/reader/ReaderPageSheet.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/model/ReaderPage.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/util/view/ViewExtensions.kt
2022-04-09 19:11:54 -04:00
Andreas e0c1e56588 Move delete action to match placement in library_selection.xml (#6869)
Move delete icon to far right in chapter_selection.xml and updates_chapter_selection.xml, for consistency with library_selection.xml

(cherry picked from commit 37100f0937)
2022-04-09 19:05:40 -04:00
Ivan Iskandar 3f7302c4eb MangaCoverFetcher: Handle moving cover cache after adding to library (#6885)
Move cover cache to separate cache dir after the parent manga is added to library

(cherry picked from commit ac980a4dbf)
2022-04-09 19:05:32 -04:00
arkon b25da34b64 Remove kotlin.compiler.execution.strategy config
(cherry picked from commit a8b53499af)
2022-04-09 19:05:24 -04:00
arkon c4b67c4eb1 Bump to Gradle 7.4.2
(cherry picked from commit a8aeae329e)
2022-04-09 19:05:18 -04:00
arkon 41944164e5 Bump dependencies
(cherry picked from commit 52911539b8)
2022-04-09 19:05:11 -04:00
Andreas a8a6effd86 Write library cover to library cover cache (#6883)
(cherry picked from commit 3026ff241b)
2022-04-09 19:05:02 -04:00
Ivan Iskandar 6a45a91a50 MangaCoverFetcher: Don't close network response (#6882)
(cherry picked from commit 2466a079d5)
2022-04-09 19:04:56 -04:00
Jobobby04 9e78f4f0f1 Most likely fix clear database with keeping read 2022-04-09 19:04:19 -04:00
Jobobby04 88bccfc015 Minor cleanup 2022-04-03 17:36:28 -04:00
Alessandro Jean ecc0082db0 Add missing percent placeholder in some singular strings. (#6855)
(cherry picked from commit ed9fdf49e2)
2022-04-03 12:03:21 -04:00
arkon 3648ef4397 Update WebView requester package name
https://github.com/tachiyomiorg/tachiyomi/issues/6781#issuecomment-1086665483
(cherry picked from commit 668d962233)
2022-04-03 12:03:12 -04:00
arkon 989119af17 Override X-Requested-With header value in WebView requests (closes #6781)
(cherry picked from commit 996f770935)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/App.kt
2022-04-03 12:03:04 -04:00
arkon 4482ab4a68 Update Coil
(cherry picked from commit 041a6dd919)
2022-04-03 12:02:04 -04:00
Ivan Iskandar a700c1a230 Base activities cleanup (#6848)
* secure delegate

* theming delegate

(cherry picked from commit dbad60d03b)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/security/SecureActivityDelegate.kt
2022-04-03 12:01:56 -04:00
CrepeTF b487e29059 Remove source filter sheet solid background (#6850)
Co-authored-by: CrepeTF <trungnguyen02@outlookcom>
(cherry picked from commit 27a60423dc)
2022-04-03 11:50:11 -04:00
CrepeTF 311b1c23e5 Stop global search items from clipping (#6851)
Co-authored-by: CrepeTF <trungnguyen02@outlookcom>
(cherry picked from commit 5a37d38a84)
2022-04-03 11:50:03 -04:00
CrepeTF 5dfc855ade Removed scrollbar on long theme item titles (#6852)
Co-authored-by: CrepeTF <trungnguyen02@outlookcom>
(cherry picked from commit 6f566e67d5)
2022-04-03 11:49:54 -04:00
Andreas d149e3186a Fix DST issue (#6831)
(cherry picked from commit dd490f2ac9)
2022-04-03 11:49:45 -04:00
Ivan Iskandar c377afac2e MangaCoverFetcher: Use source's header for network request (#6847)
(cherry picked from commit 5409af0a6c)
2022-04-03 11:49:39 -04:00
Román 9878e0025a [RU] Translations (#562)
* [RU] Translations

* [RU] Fix
2022-03-29 14:05:39 -04:00
e-shl 28c3511984 [RU] Translations and fix origin string (#560)
* [RU] Translations and fix origin string

* -
2022-03-29 13:29:42 -04:00
Jobobby04 7b7e625f57 Fix source feed manga click 2022-03-28 09:17:33 -04:00
Jobobby04 2207d9ffa4 Properly check if the source supports latest 2022-03-27 20:35:56 -04:00
Jobobby04 ceca8207ad Forgot this 2022-03-27 20:29:14 -04:00
Jobobby04 c67b7092fb Cleanup unused files and strings 2022-03-27 20:24:13 -04:00
arkon 5d1d5778ad Force default browser for tracker logins
To avoid potentially opening up third party apps, which aren't useful for handling OAuth login flows.

(cherry picked from commit 0ed0d903cc)
2022-03-27 20:16:11 -04:00
arkon 46bb17ce81 Fix clear database selection toggling (fixes #6807)
(cherry picked from commit 85be4c492d)
2022-03-27 20:16:01 -04:00
arkon 704b3b0508 Stop using custom tabs (closes #6821)
(cherry picked from commit c06ad8b87e)
2022-03-27 20:15:52 -04:00
arkon d98e0c5f68 Stop removing local manga's title from chapter names (closes #6578)
Users should better curate their chapter folder/file names if need be. There's legit reasons for a chapter to start with or contain the same word(s) that the manga title consists of.

(cherry picked from commit b89acb5853)
2022-03-27 20:14:22 -04:00
arkon 30f71b126f Update dependencies
(cherry picked from commit 7890511a53)
2022-03-27 20:14:15 -04:00
Franco Olivera 0bff96e0d7 Add "Move all chapters from series to top" option to download context menu (#6794)
* Added basic move to top series feature

* Remove intermediate List

* Change text string

* Remove spanish manual translation

* Changed algorithm to use "partition"

(cherry picked from commit 3aa4e6eb93)
2022-03-27 20:14:07 -04:00
Andreas 6ef1f566ec Fix filename not having chapter title and page when sharing (#6827)
(cherry picked from commit f8eb9f94f4)
2022-03-27 20:13:58 -04:00
Jozef Hollý 18c1234dfc Weblate translations (#6770)
Co-authored-by: Ahmad Azwar Annas <ahmadazw2@gmail.com>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: Amir <amir.batyrggaliev@gmail.com>
Co-authored-by: Andi Firanda <jargonnation@gmail.com>
Co-authored-by: Anupam Malhotra <anpm.malhotra@gmail.com>
Co-authored-by: Artur Iwański <iartur221@gmail.com>
Co-authored-by: Aurimas Jurevičius <aurimasjurevic@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: DatTran MLL <tranthanhdat1142003@gmail.com>
Co-authored-by: Davit Gogritchiani <davitgogritchiani@outlook.com>
Co-authored-by: Drown by wind <ziemelis.martynas01@gmail.com>
Co-authored-by: Eduard Ereza Martínez <eduard@ereza.cat>
Co-authored-by: Eric <alchemillatruth@purelymail.com>
Co-authored-by: Eugene <e.shlyapkin99@gmail.com>
Co-authored-by: FateXBlood <zecrofelix@gmail.com>
Co-authored-by: Garutmaan Garuda <garutmaangaruda@gmail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: HouseDrVenus <aurimasjurevic@gmail.com>
Co-authored-by: Huang Zhiyi <hzy980512@126.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Jaime Martín <jaimemr06@gmail.com>
Co-authored-by: Jendrej <ejjendrej@gmail.com>
Co-authored-by: Jetspectre <jetspectre1@gmail.com>
Co-authored-by: Justina P <justuke08@gmail.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Madddog1997 <madddog1997@gmail.com>
Co-authored-by: Manoj Phuyal <manoj.phuye23@gmail.com>
Co-authored-by: Marco Santos <enum.scima@gmail.com>
Co-authored-by: Matyáš Caras <contact@hernikplays.cz>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Muhammad Diponegoro <dipoengoro@outlook.com>
Co-authored-by: Nikita Epifanov <nikgreens@protonmail.com>
Co-authored-by: Noemkinator <noemka1234@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Oğuz Ersen <oguzersen@protonmail.com>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Ric <rikku.debec@gmail.com>
Co-authored-by: Samuel Leonardo <lafruta94@gmail.com>
Co-authored-by: Sayykii <martin40lmg@gmail.com>
Co-authored-by: Shjosan <shjosan@kakmix.co>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: Unai <uesandi@gmail.com>
Co-authored-by: Vetle Ledaal <vetle.ledaal@gmail.com>
Co-authored-by: Veysel <jdksoalalskd71@gmail.com>
Co-authored-by: altinat <poiiiii4yy@gmail.com>
Co-authored-by: gimme some socks <bobteen1@gmail.com>
Co-authored-by: mahdi eslam panah <mahdii3375@gmail.com>
Co-authored-by: mateus zampol <mateuszampol2009@hotmail.it>
Co-authored-by: saturn <swagburritovg@gmail.com>
Co-authored-by: typek52 <typek52@gmail.com>
Co-authored-by: xmdb <klchiu721@gmail.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ar/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/bg/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ca/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/cs/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/de/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/el/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/es/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/es_419/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/eu/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fa/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fil/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/hi/
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/it/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ja/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ka/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/kk/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/km/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/lt/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ms/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ne/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/pl/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ru/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sa/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sc/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sk/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sv/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/th/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/tr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/vi/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hant/
Translation: Tachiyomi/Tachiyomi 0.x

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Ahmad Azwar Annas <ahmadazw2@gmail.com>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: Amir <amir.batyrggaliev@gmail.com>
Co-authored-by: Andi Firanda <jargonnation@gmail.com>
Co-authored-by: Anupam Malhotra <anpm.malhotra@gmail.com>
Co-authored-by: Artur Iwański <iartur221@gmail.com>
Co-authored-by: Aurimas Jurevičius <aurimasjurevic@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: DatTran MLL <tranthanhdat1142003@gmail.com>
Co-authored-by: Davit Gogritchiani <davitgogritchiani@outlook.com>
Co-authored-by: Drown by wind <ziemelis.martynas01@gmail.com>
Co-authored-by: Eduard Ereza Martínez <eduard@ereza.cat>
Co-authored-by: Eric <alchemillatruth@purelymail.com>
Co-authored-by: Eugene <e.shlyapkin99@gmail.com>
Co-authored-by: FateXBlood <zecrofelix@gmail.com>
Co-authored-by: Garutmaan Garuda <garutmaangaruda@gmail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Huang Zhiyi <hzy980512@126.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Jaime Martín <jaimemr06@gmail.com>
Co-authored-by: Jendrej <ejjendrej@gmail.com>
Co-authored-by: Jetspectre <jetspectre1@gmail.com>
Co-authored-by: Justina P <justuke08@gmail.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Madddog1997 <madddog1997@gmail.com>
Co-authored-by: Manoj Phuyal <manoj.phuye23@gmail.com>
Co-authored-by: Marco Santos <enum.scima@gmail.com>
Co-authored-by: Matyáš Caras <contact@hernikplays.cz>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Muhammad Diponegoro <dipoengoro@outlook.com>
Co-authored-by: Nikita Epifanov <nikgreens@protonmail.com>
Co-authored-by: Noemkinator <noemka1234@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Oğuz Ersen <oguzersen@protonmail.com>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Ric <rikku.debec@gmail.com>
Co-authored-by: Samuel Leonardo <lafruta94@gmail.com>
Co-authored-by: Sayykii <martin40lmg@gmail.com>
Co-authored-by: Shjosan <shjosan@kakmix.co>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: Unai <uesandi@gmail.com>
Co-authored-by: Vetle Ledaal <vetle.ledaal@gmail.com>
Co-authored-by: Veysel <jdksoalalskd71@gmail.com>
Co-authored-by: altinat <poiiiii4yy@gmail.com>
Co-authored-by: gimme some socks <bobteen1@gmail.com>
Co-authored-by: mahdi eslam panah <mahdii3375@gmail.com>
Co-authored-by: mateus zampol <mateuszampol2009@hotmail.it>
Co-authored-by: saturn <swagburritovg@gmail.com>
Co-authored-by: typek52 <typek52@gmail.com>
Co-authored-by: xmdb <klchiu721@gmail.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
(cherry picked from commit c581b9eeb9)
2022-03-27 20:13:48 -04:00
Ivan Iskandar b3e8214a20 UpdatesController: Don't init adapter until chapter data is ready (#6824)
Considering there's no pagination for this list, the data loading can take some
time. So this will show the existing refresh indicator instead of empty view
while the list is loading.

(cherry picked from commit ffd9c6995a)
2022-03-27 20:13:40 -04:00
Ivan Iskandar eb533c4498 Fix extension update badge reset when app resumed (#6822)
(cherry picked from commit ef600c0956)
2022-03-27 20:13:28 -04:00
arkon d8179f992e Fix off by 1 dates (fixes #6791)
(cherry picked from commit 5c0a43e8d6)
2022-03-27 20:13:18 -04:00
arkon ab292d6c71 Update Material Components
(cherry picked from commit 8e332dba30)
2022-03-27 20:13:05 -04:00
Andreas a081b88a5b Use the file extension from the ImageType enum (#6800)
* Use the file extension from the ImageType enum

* Use the mime type from the ImageType enum

- On Android 29+

(cherry picked from commit cd07027192)
2022-03-27 20:12:22 -04:00
Jobobby04 d0e9d24f6f Add feed to the combined sources menus 2022-03-27 20:09:39 -04:00
Jobobby04 6a41d96ddf Replace Latest tab with Feed 2022-03-27 18:45:14 -04:00
Jobobby04 5d330c4f75 Migrate saved searches to the db 2022-03-27 15:00:18 -04:00
arkon 1ebcfc53d4 Add support for Happy Eyeballs
(cherry picked from commit da2b30268a)
2022-03-20 13:09:49 -04:00
Andreas 7569955f9e Share logic for saving page/cover (#6787)
* Use MediaStore on newer Android Q or newer

* Use flow instead of Observable

* Review comment fixes

* Use suspended function instead of flow

(cherry picked from commit 1163aa4e4e)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/AppModule.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.kt
2022-03-20 13:09:33 -04:00
Ivan Iskandar f3f74264c3 Add cover error drawable (#6782)
(cherry picked from commit ddb856edc7)
2022-03-20 12:38:28 -04:00
arkon 8a32db268e Avoid crashing when global search encounters a NoClassDefFoundError
(cherry picked from commit 9c426bc216)
2022-03-20 12:38:21 -04:00
arkon ddf9a81335 Require WebView v95+
(cherry picked from commit 382852d0bd)
2022-03-20 12:38:13 -04:00
Jobobby04 0ea0cd5fe3 Fix scanlator filter display 2022-03-20 12:37:46 -04:00
nicki 75a99cbc5d Save combined image now respects folderPerManga (#543) 2022-03-13 19:24:27 -04:00
Jobobby04 d31d99a416 Rewrite IndexPresenter in flow 2022-03-13 19:23:03 -04:00
Jobobby04 a5e691271b Minor cleanup 2022-03-13 19:22:43 -04:00
Sahaab 4a96b6ac77 Added reverse portrait reader rotation
(cherry picked from commit 87ae86e1be)
2022-03-13 19:18:57 -04:00
quangkieu 09bef11e6b Avoid throw as it is slow expensive operations
(cherry picked from commit 9547311d7d)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
2022-03-13 19:18:50 -04:00
arkon 1cba2536af Support Android 13 themed app icon
(cherry picked from commit 267ecce958)
2022-03-13 19:14:05 -04:00
Ivan Iskandar e9960c0dd8 ReaderActivity: Reduce anim duration when launched from resume FAB (#6762)
From enter 500ms exit 400ms
To both 350ms

(cherry picked from commit fae43fedfa)
2022-03-13 19:13:53 -04:00
arkon 1ad2146d6a Disable app cache WebView (is a deprecated web API and is being removed in Android 13)
(cherry picked from commit c447022092)
2022-03-13 19:13:44 -04:00
arkon 56d6964db9 Split out global library update skipped entries into separate notification (closes #6722)
(cherry picked from commit 56042ad0b6)
2022-03-13 19:13:34 -04:00
arkon 324280aed4 Avoid potentially deleting the entire backups folder
(cherry picked from commit 45da036789)
2022-03-13 19:13:24 -04:00
arkon 0b2dabc7fa Copy raw description on long tap (fixes #6557)
(cherry picked from commit b47b702a52)
2022-03-13 19:13:15 -04:00
Ivan Iskandar 4a627ea359 Change cover placeholder (#6756)
(cherry picked from commit 869424cd16)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceComfortableGridHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceCompactGridHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/widget/StateImageViewTarget.kt
2022-03-13 19:13:05 -04:00
arkon 01b8256daf Minor cleanup
(cherry picked from commit b9fd01315b)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourceController.kt
2022-03-07 12:35:08 -05:00
arkon 3e27e8943b Add shortcut to edit categories screen from category setting dialog (closes #6280)
(cherry picked from commit a72098b862)
2022-03-07 12:33:06 -05:00
Andreas d2972c7c5a Recreate Backup worker with IS_AUTO_BACKUP_KEY flag (#6742)
* Recreate Backup worker with IS_AUTO_BACKUP_KEY flag

* Extra safety net to not delete backup folder

(cherry picked from commit 86016de6cb)

# Conflicts:
#	app/build.gradle.kts
2022-03-07 12:32:58 -05:00
1831553190 7c2283c962 Fixed the wrong offset (#6704)
(cherry picked from commit 592b9fedb9)
2022-03-07 12:31:57 -05:00
arkon 2273a50920 Use same name for manual backup job tag and work name
(cherry picked from commit d06984e3a3)
2022-03-07 12:31:50 -05:00
Jobobby04 2e8393ea30 Remove unused version number 2022-03-04 19:12:40 -05:00
Jobobby04 621c083b79 Update dependencies 2022-03-04 17:00:39 -05:00
arkon 70b3f1bc1f Update AGP and Gradle
(cherry picked from commit 6b55ee250d)
2022-03-04 16:46:29 -05:00
Ivan Iskandar 1f8072f18b Coil 2.x upgrade (#6725)
* Migrate to Coil 2

* Adapt to use coil disk cache

* Update to alpha 7

* Update to alpha 8

* Update to rc01

(cherry picked from commit 10eef282fa)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/App.kt
#	app/src/main/java/eu/kanade/tachiyomi/network/NetworkHelper.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryComfortableGridHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryCompactGridHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoHeaderAdapter.kt
2022-03-04 16:45:57 -05:00
Jobobby04 4b1d6400a4 Move SY dependencies to version catalogs 2022-03-04 16:34:21 -05:00
Andreas 1df1a331dd Use Version Catalog & clean up Gradle files (#6728)
(cherry picked from commit f312936629)

# Conflicts:
#	app/build.gradle.kts
#	build.gradle.kts
#	settings.gradle.kts
2022-03-04 16:33:42 -05:00
Ivan Iskandar 7918b3b26b Use existing worker for manual backup creation (#6718)
* Use existing worker for manual backup creation

This will show the "creating backup" notification when auto backup is
running. Complete or error notification will continue to be shown only on
manual job.

* Make sure disabling auto backup don't cancel running manual backup job

(cherry picked from commit d53bb4c337)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/AbstractBackupManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupCreateService.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/full/FullBackupManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsBackupController.kt
2022-03-04 16:13:24 -05:00
Riztard Lanthorn bf63af8137 Remove unused string (#6726)
* change wording if update restriction is off

from
  Only update: none
to
  Restrictions: none

* remove unused string

(cherry picked from commit 1a605e27bc)
2022-03-04 16:06:07 -05:00
Jobobby04 bc1274008d Delete duplicate history on merge 2022-03-04 12:27:18 -05:00
FourTOne5 2026f34956 Adjust mark as unread and mark previous as read action visibility (#6703)
(cherry picked from commit 08ee858f64)
2022-03-03 11:29:26 -05:00
arkon d8c295a293 [skip ci] Move auto-closer rules
(cherry picked from commit af70fe3e7e)
2022-03-03 11:28:59 -05:00
arkon 5460a0d563 Update Material Components
(cherry picked from commit 29c5c0af50)
2022-03-03 11:28:52 -05:00
arkon b46a92e613 Adjust badge font weights
(cherry picked from commit 9420b750d2)
2022-03-03 11:28:43 -05:00
啊o额iu鱼 1803f49732 Fix corrupted backup file, fix #6424 (#6691)
Reappear stably on the api30 Android Studio Emulator,
first save a large backup file,
then save a small backup file, overwriting the previous larger backup file,
so you get a backup file with a larger size but only the first part is meaningful,

(cherry picked from commit 6f5328f663)
2022-03-03 11:28:35 -05:00
FourTOne5 a7d7aa1ec5 Add Prerequisites and Getting help to Contributing.md (#6682)
(cherry picked from commit 90214d02d7)
2022-03-03 11:28:29 -05:00
Jobobby04 8185b91f11 Fix HBrowse new galleries 2022-02-26 12:10:37 -05:00
Jobobby04 0bd09d532d Only show scanlator filter if scanlator count is 2 or over 2022-02-22 21:35:23 -05:00
Jobobby04 b0f5d4d1ce Cleanup group by code a bit 2022-02-22 21:34:24 -05:00
Jobobby04 b1f7165ad7 Cleanup pager page change handling 2022-02-19 19:18:59 -05:00
Jobobby04 574dd17906 Fix possible pager bug 2022-02-19 17:05:19 -05:00
Gauthier 1231dd1496 Fix "Landscape zoom" and "Navigate to pan" for split images (#6647)
* fix: getPageHolder would always return the first split, as they share the same index

* split pages have the same number, we need an extra check to know whether we move forward or back

(cherry picked from commit 2f07f226b8)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerViewer.kt
2022-02-19 17:02:35 -05:00
Ivan Iskandar d343964fa7 Restore bottom nav position earlier after being recreated (#6648)
(cherry picked from commit a8ad19a89d)
2022-02-19 16:58:34 -05:00
Román a64cd44d61 Side padding: Added missing percentage (#6668)
(cherry picked from commit 57c07250fd)
2022-02-19 16:58:27 -05:00
arkon 5777db5509 Reword library update restrictions setting and surface skipped entries in error notification/log
(cherry picked from commit 4a3e4a7c5c)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsLibraryController.kt
2022-02-19 16:58:17 -05:00
Jobobby04 2bb9e596ba Minor cleanup 2022-02-19 16:48:41 -05:00
Jobobby04 07e28ca5c2 Proper fix for no-title grid crash 2022-02-13 20:22:17 -05:00
Jobobby04 b58fb48a20 Fix no-title grid crash in source browse 2022-02-13 20:05:59 -05:00
Jobobby04 dcd8c3a378 Fix play button being in the wrong spot in cover-only grid 2022-02-13 20:05:31 -05:00
Jobobby04 5f5dea905c Dont do database stuff on UI thread 2022-02-13 15:54:04 -05:00
Jobobby04 af7b0ead98 Fix rounded corners in migration items 2022-02-13 15:53:43 -05:00
Jobobby04 76b153346f Remove migration sheet header 2022-02-13 12:24:14 -05:00
Jobobby04 cf49b5e37a Fix play button location when language badge is not enabled 2022-02-13 11:57:28 -05:00
arkon 286844e56d Avoid some crashes if router backstack is empty for whatever reason
(cherry picked from commit c284a23afb)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchController.kt
2022-02-13 11:46:30 -05:00
Ivan Iskandar c293fd61b1 Grid items optimizations (#6641)
Use ConstraintLayout for ez size ratio calculation and merge cover-only view
holder with compact's

(cherry picked from commit fad1449de3)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceItem.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryComfortableGridHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryCompactGridHolder.kt
#	app/src/main/res/layout/source_comfortable_grid_item.xml
#	app/src/main/res/layout/source_compact_grid_item.xml
2022-02-13 11:45:15 -05:00
FourTOne5 a12758579d Add "Started" library filter and library update restriction (#6382)
* Add chapter read count to library manga

Co-Authored-By: Jays2Kings <jays@outlook.com>

* Add "Started" library filter and library update restriction

* Update Filter when its changed

* Add back accidentally removed stuff.

* Update..

* Change variable names

* Change Variable name where I missed

Co-authored-by: Jays2Kings <jays@outlook.com>
(cherry picked from commit f18d161eaf)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/database/queries/RawQueries.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/resolvers/LibraryMangaGetResolver.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/library/LibraryPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibrarySettingsSheet.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsLibraryController.kt
2022-02-13 11:16:49 -05:00
Jobobby04 3b56bcfbba Most likely fix NO_TITLE_GRID crash 2022-02-13 10:56:55 -05:00
Román 819d57155a [RU] Translations (#527) 2022-02-12 23:09:47 -05:00
arkon ad9f063716 Fix Quad9 DoH setting
(cherry picked from commit d698d03521)
2022-02-12 22:32:51 -05:00
OncePunchedMan 8a55027f67 Add Quad9 DOH provider (#6638)
* add quad9 as new doh provider

* add ipv6 addresses to google doh

* revert changes to import

(cherry picked from commit d8c8d7c588)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt
2022-02-12 22:32:32 -05:00
arkon 76e3f0e5cb Consistent divider colour
(cherry picked from commit 9120e82517)
2022-02-12 22:31:46 -05:00
arkon b42a0b135d Update action_display_cover_only_grid string
(cherry picked from commit e214746536)
2022-02-12 22:31:39 -05:00
Jozef Hollý 7e3ed2f00e Weblate translations (#6537)
Co-authored-by: A <ville.mourujarvi@hostedweblate.mail.kapsi.fi>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: Colin Tirion <grotehoed@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: Eduard Ereza Martínez <eduard@ereza.cat>
Co-authored-by: Eric <alchemillatruth@purelymail.com>
Co-authored-by: Garutmaan Garuda <garutmaangaruda@gmail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Huang Zhiyi <hzy980512@126.com>
Co-authored-by: KasukeLp <kasukelp23@yahoo.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Malek El Jubeily <malekjbeily@gmail.com>
Co-authored-by: Marco Santos <enum.scima@gmail.com>
Co-authored-by: Matteo Gaeta <matteo.gaeta.1998@gmail.com>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Ric <rikku.debec@gmail.com>
Co-authored-by: Shjosan <shjosan@kakmix.co>
Co-authored-by: Subha Das <subhadas68367@gmail.com>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: Unai <uesandi@gmail.com>
Co-authored-by: altinat <poiiiii4yy@gmail.com>
Co-authored-by: stevenlele <stevenlele@outlook.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ar/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/bn/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ca/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/de/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/el/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/es/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/eu/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fi/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fil/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/hi/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/it/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ja/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ms/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/nl/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ru/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sa/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sc/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sv/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/th/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hant/
Translation: Tachiyomi/Tachiyomi 0.x

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: A <ville.mourujarvi@hostedweblate.mail.kapsi.fi>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: Colin Tirion <grotehoed@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: Eduard Ereza Martínez <eduard@ereza.cat>
Co-authored-by: Eric <alchemillatruth@purelymail.com>
Co-authored-by: Garutmaan Garuda <garutmaangaruda@gmail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Huang Zhiyi <hzy980512@126.com>
Co-authored-by: KasukeLp <kasukelp23@yahoo.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Malek El Jubeily <malekjbeily@gmail.com>
Co-authored-by: Marco Santos <enum.scima@gmail.com>
Co-authored-by: Matteo Gaeta <matteo.gaeta.1998@gmail.com>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Ric <rikku.debec@gmail.com>
Co-authored-by: Shjosan <shjosan@kakmix.co>
Co-authored-by: Subha Das <subhadas68367@gmail.com>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: Unai <uesandi@gmail.com>
Co-authored-by: altinat <poiiiii4yy@gmail.com>
Co-authored-by: stevenlele <stevenlele@outlook.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
(cherry picked from commit 142396400c)
2022-02-12 22:31:22 -05:00
CrepeTF 8f90aa12fb Update Theme Preview Items (#6628)
* Improved theme preview items

* Tweaked theme preference item border colours

* Polished theme items

* Update ThemesPreference.kt item layout width value

Co-authored-by: CrepeTF <trungnguyen02@outlookcom>
(cherry picked from commit 51d48bdde6)
2022-02-12 22:31:09 -05:00
Mica 5bad65c027 Cover only grid added to library (#6528)
* No title grid added to library and source

* Else added to display title in case image is null or empty

* No title grid renamed and now only available in library

* Spanish strings about cover only grid removed

Co-authored-by: micaelagimenez <micaela.gimenez@ext.prosegur.com>
(cherry picked from commit 44b055c019)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceItem.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryItem.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibrarySettingsSheet.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/setting/DisplayModeSetting.kt
2022-02-12 22:30:54 -05:00
arkon f133ddb14e Rename extension function to avoid confusion with androidx function
(cherry picked from commit 790d7b9170)
2022-02-12 12:12:57 -05:00
Gauthier 026a1116ee Navigate to pan / landscape zoom (#6481)
* pan if the image is zoomed instead of navigating away
quickly display full landscape image before zooming to fit height in fit to screen

* add Tap to pan preference, defaults to true
add landscape zoom preference, defaults to false

* hide landscape image zoom option if scale is not fit screen

* fix landscape image zoom for first image and loading image

* properly reload pagerholders when landscape zoom option is changed

* enable landscape zoom by default

(cherry picked from commit d8719ceee9)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerConfig.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerViewer.kt
2022-02-12 12:12:39 -05:00
Felix Kaiser 0adab16fea Detect identical mangas when adding to library (#6579)
* added duplicate manga check

When adding a manga to your library, the app will go through each manga previously added and compare their names. If a match is detected, it will prompt the user and ask for confirmation. On this prompt there is also an option to view the other manga.

* added german translations for newly added strings

* Revert "added german translations for newly added strings"

This reverts commit 71ada620671651daeeb2546aecd02400a4bc86bc.

* changed `AlertDialog.Builder` to `MaterialAlertDialogBuilder`

* using SQL query instead of filtering entire library with Kotlin

(cherry picked from commit 71ddb16574)
2022-02-12 12:02:21 -05:00
Ivan Iskandar 01dbe7f850 MainActivity fixes (#6591)
* Reduce notifyDataSetChanged calls when category count is disabled

* Fix category tabs briefly showing when it's supposed to be disabled

Also fix tabs showing when activity recreated

* Lift appbar when tab is hidden

Check against tab visibility instead of viewpager

* Restore selected nav item after recreate

* Simplify SHORTCUT_MANGA intent handling

Don't need to change controller if the topmost controller is the target

(cherry picked from commit 2932ed670f)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
2022-02-12 12:02:06 -05:00
arkon 198a59cc2d Update dependencies
(cherry picked from commit ae2a6a3d4f)
2022-02-12 11:56:04 -05:00
arkon 3ca70543d1 Update AGP for Android Studio Bumblebee | 2021.1.1 Patch 1
(cherry picked from commit 30061ada58)
2022-02-12 11:55:57 -05:00
Vetle Ledaal 7bc436dce2 [skip ci] docs: update app update checker link (#6619)
(cherry picked from commit a131e28b60)
2022-02-12 11:55:49 -05:00
arkon 6b61ead0b6 Disallow PackageInstaller extension installer option on MIUI
(cherry picked from commit 8c1662cfdb)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt
2022-02-12 11:55:41 -05:00
arkon d1c40b8b85 Allow disabling secure screen when incognito mode is on
(cherry picked from commit 299e52e877)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceValues.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsSecurityController.kt
2022-02-12 11:53:10 -05:00
arkon 75096e9808 Don't show error toasts in MangaController for HTTP 103 responses (closes #6562)
(cherry picked from commit 95b253db09)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt
2022-02-12 11:46:00 -05:00
arkon 1fdede99a0 Add shortcut to backups guide
(cherry picked from commit 067cb2452e)
2022-02-12 11:41:31 -05:00
arkon f50d23dfe6 Increase minimum required disk space to download chapters to 200MB (closes #6576)
(cherry picked from commit 45e4092335)
2022-02-12 11:41:22 -05:00
arkon 255a09abf5 Update versions plugin
(cherry picked from commit 7659a997cf)
2022-02-12 11:41:13 -05:00
arkon 0090dfcadc Filter archive files as sequence
(cherry picked from commit aa5e428222)
2022-02-12 11:41:03 -05:00
Midyan Hamdoun e9f175db5d Display correct string on FAB
(cherry picked from commit 319e4360c8)
2022-02-12 11:40:53 -05:00
arkon faaf0fbff3 Add 5% webtoon reader side padding option (closes #6511)
(cherry picked from commit f5c6e80dbb)
2022-02-12 11:40:45 -05:00
Ivan Iskandar 2025e1bc03 Unify reader error layout (#6512)
So nobody will think that the error layout is broken when they see different
layout.

(cherry picked from commit 7108993936)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt
2022-02-12 11:40:39 -05:00
Ivan Iskandar 7635373446 ReaderActivity: Fix transition crash on Android 8 (#6542)
(cherry picked from commit b6553bdc34)
2022-02-12 11:39:39 -05:00
Jobobby04 0464ec0b59 Fix reader dialog colors 2022-02-12 11:31:32 -05:00
CrepeTF a0af459cfc Improve migration bottom sheet design 2022-02-10 20:41:23 -05:00
Jobobby04 b98dc6e1a5 Improve/Fix E-H redirect, add history handling, fix redirect and library handling 2022-02-08 19:48:00 -05:00
Jobobby04 0680e0120f Fix https://github.com/tachiyomiorg/tachiyomi-extensions/issues/10759 for SY 2022-02-08 19:29:15 -05:00
Jobobby04 82688f96db Revert "Temporarily revert some things for stable release"
This reverts commit e6f7689149.
2022-02-01 18:06:22 -05:00
Jobobby04 2228b24e69 Update imports 2022-02-01 18:06:04 -05:00
arkon e6f7689149 Temporarily revert some things for stable release
(cherry picked from commit b88f8ae9d2)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
(cherry picked from commit 2f22f56b32)
(cherry picked from commit 2492803741)
2022-02-01 18:03:04 -05:00
Jobobby04 5466832187 Revert "Temporarily revert some things for stable release"
This reverts commit 2492803741.
2022-02-01 17:57:55 -05:00
arkon 2492803741 Temporarily revert some things for stable release
(cherry picked from commit b88f8ae9d2)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
(cherry picked from commit 2f22f56b32)
2022-02-01 17:57:40 -05:00
arkon ee583621be Avoid unnecessary transition setup in reader if not transitioning
(cherry picked from commit 408c7b2ca6)
2022-02-01 17:57:21 -05:00
Andreas db738e727f Fix app crashing when opening ReaderActivity with FAB (#6535)
(cherry picked from commit 271253fd0b)
2022-02-01 17:57:15 -05:00
Ivan Iskandar 60221f0fc0 TachiyomiAppBarLayout: Ignore inset visibility (#6533)
For resume button animation

(cherry picked from commit 5348154c42)
2022-02-01 17:57:07 -05:00
arkon 553dfefb3a Avoid trying to open links in invalid Huawei app
(cherry picked from commit e1b1f4f3fc)
2022-02-01 17:56:55 -05:00
arkon 6cb6405e3e Update preference dependencies
(cherry picked from commit 75a2110626)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt
2022-02-01 17:56:42 -05:00
Jobobby04 4e018828c4 Revert "Temporarily revert some things for stable release"
This reverts commit 2f22f56b32.
2022-02-01 17:13:25 -05:00
Jobobby04 a8e3d105f1 Release v1.8.1 2022-02-01 17:13:02 -05:00
arkon 2f22f56b32 Temporarily revert some things for stable release
(cherry picked from commit b88f8ae9d2)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
2022-02-01 17:12:34 -05:00
Jobobby04 1dd010e733 Minor cleanup 2022-02-01 17:09:41 -05:00
Jobobby04 2eef81c468 Add Mangadex blocked groups and uploaders extension preference support 2022-02-01 17:09:20 -05:00
Jobobby04 ffcb5f6954 Improve collection and string utils 2022-02-01 17:07:57 -05:00
Jobobby04 375455d4a6 Fix renamed manga delete after read 2022-02-01 10:20:15 -05:00
arkon f089991e0b Use default bottom nav height
(cherry picked from commit 836a2649d3)
2022-01-31 18:44:20 -05:00
Jobobby04 26a8b9acc4 Revert "Disable update/download warnings for stable release"
This reverts commit d46879260f.
2022-01-31 18:43:51 -05:00
Jobobby04 0d83026ac3 Release v1.8.0 2022-01-31 18:41:45 -05:00
arkon d46879260f Disable update/download warnings for stable release
(cherry picked from commit 3da8677e32)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
2022-01-31 18:35:53 -05:00
Jozef Hollý d8c2c5520e Weblate translations (#6494)
Co-authored-by: Ahmad Azwar Annas <ahmadazw2@gmail.com>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: Allen Sam <allenaizen@pm.me>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: DatTran MLL <tranthanhdat1142003@gmail.com>
Co-authored-by: Eric <alchemillatruth@purelymail.com>
Co-authored-by: Eugene <e.shlyapkin99@gmail.com>
Co-authored-by: FateXBlood <zecrofelix@gmail.com>
Co-authored-by: Garutmaan Garuda <garutmaangaruda@gmail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Huang Zhiyi <hzy980512@126.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Jendrej <ejjendrej@gmail.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Matyáš Caras <contact@hernikplays.cz>
Co-authored-by: Paulo Pinho <kebrus@gmail.com>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Shjosan <shjosan@kakmix.co>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: altinat <poiiiii4yy@gmail.com>
Co-authored-by: jdkdklsls dkdkdk <accshared420@gmail.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/cs/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/de/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/el/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/es/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/hi/
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/it/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ja/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ml/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ms/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ne/
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/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ru/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sa/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sc/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sv/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/te/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/th/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/vi/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hant/
Translation: Tachiyomi/Tachiyomi 0.x

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Ahmad Azwar Annas <ahmadazw2@gmail.com>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: Allen Sam <allenaizen@pm.me>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: DatTran MLL <tranthanhdat1142003@gmail.com>
Co-authored-by: Eric <alchemillatruth@purelymail.com>
Co-authored-by: Eugene <e.shlyapkin99@gmail.com>
Co-authored-by: FateXBlood <zecrofelix@gmail.com>
Co-authored-by: Garutmaan Garuda <garutmaangaruda@gmail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Huang Zhiyi <hzy980512@126.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Jendrej <ejjendrej@gmail.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Matyáš Caras <contact@hernikplays.cz>
Co-authored-by: Paulo Pinho <kebrus@gmail.com>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Shjosan <shjosan@kakmix.co>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: altinat <poiiiii4yy@gmail.com>
Co-authored-by: jdkdklsls dkdkdk <accshared420@gmail.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
(cherry picked from commit 4d0d7d5ad6)
2022-01-31 18:34:50 -05:00
arkon dc97ae13eb Fix selection state appearance in clear database list (fixes #6526)
(cherry picked from commit 8c4ece4b2d)
2022-01-31 18:34:43 -05:00
Jobobby04 3d22ab93be Disable comikey support 2022-01-31 18:34:22 -05:00
Román 846c0f18fa Russian translations (#512)
* Russian translations

* [RU] Translations
2022-01-30 21:31:30 -05:00
joseph619 4c4d6de245 adding new sites and removed old ones (#513) 2022-01-30 21:31:13 -05:00
arkon 8dc4005779 Remove more formatting span types in SearchView (maybe fixes #6495)
(cherry picked from commit bf3bb8a378)
2022-01-30 21:30:19 -05:00
Ivan Iskandar 3c216e0cb9 MangaSummaryView: Fix incomplete description on tablet ui (#6518)
(cherry picked from commit cf5e60f8eb)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoHeaderAdapter.kt
2022-01-30 21:30:10 -05:00
arkon efe70499ac Avoid invalid unset default browser (fixes #6520)
(cherry picked from commit 7de707c60a)
2022-01-30 21:28:21 -05:00
Ivan Iskandar 2003f6843d Fix bottom nav showing on resume when action mode is active (#6514)
(cherry picked from commit 5cd11ad8c3)
2022-01-29 20:10:22 -05:00
arkon 454edf3ea2 Always try to use default browser when opening custom tabs on all Android versions
(cherry picked from commit 6bba52a2b6)
2022-01-29 20:10:11 -05:00
arkon e33a270e4d [skip ci] add note about issue taking in contribution guide
(cherry picked from commit 54b476df4e)
2022-01-29 20:10:03 -05:00
Ivan Iskandar 2d26b1d775 TachiyomiAppBarLayout: Use insetter to handle inset (#6506)
This requires adding the status bar foreground drawing logic since the parent
class wouldn't know the inset changes anymore.

(cherry picked from commit a68f123594)
2022-01-29 20:09:54 -05:00
Riztard Lanthorn dcb8cd9ef6 Tweaked Yin & Yang theme a little (#6507)
(cherry picked from commit 08ad4f96b9)
2022-01-29 20:09:48 -05:00
Rajat af4bc345de Fix search inputs accepting formatted text (#6501)
* Fix Global and extension search input accepts formatted text #6495

* Code change as requested because of performance issue

* code changes as requested

* minor code changes

(cherry picked from commit 77a3acf5cc)
2022-01-29 20:09:39 -05:00
Riztard Lanthorn e0731985be add extra space before error in log description (#6505)
to make it easier to read if the log reader using word wrap

(cherry picked from commit dea585e69b)
2022-01-29 20:09:32 -05:00
arkon 6cf375436b Copy source ID to clipboard when long pressing source in migrate list (closes #6479)
(cherry picked from commit 879dacfba6)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/sources/MigrationSourcesController.kt
2022-01-29 20:09:27 -05:00
arkon df17440b40 Try to show more relevant exception messages when failing to restore a backup
(cherry picked from commit b459234ddc)
2022-01-29 20:08:03 -05:00
arkon 0c4dc91e9e Discard backup file if it fails to be created properly (e.g. fails validation)
(cherry picked from commit 76d2c676fd)
2022-01-29 20:07:56 -05:00
arkon 98ee328d1b Show error toast if empty URI is passed when trying to create/restore a backup
(cherry picked from commit d5015d37e1)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/AbstractBackupManager.kt
2022-01-29 20:07:51 -05:00
arkon 5201126b06 Write job failure exceptions to error log
(cherry picked from commit 1b71e4cee7)
2022-01-29 20:07:03 -05:00
arkon 9938beb040 Update to AGP 7.1.0
(cherry picked from commit 18ef5c6ff9)
2022-01-29 20:06:54 -05:00
arkon 4921a66665 Replace custom download dialog buttons with MaterialButtons
(cherry picked from commit 35e0561950)
2022-01-29 20:06:40 -05:00
arkon 78488cc0d7 Allow choosing browser apps from WebView even when extension deep links are verified in Android 12+
(cherry picked from commit adab8e3ed8)
2022-01-29 20:06:31 -05:00
arkon b95dfa2974 Avoid migration failing if previous source doesn't exist
(cherry picked from commit 89dbb4d300)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchPresenter.kt
2022-01-29 20:06:21 -05:00
Jobobby04 e32e696606 Minor cleanup 2022-01-29 20:03:47 -05:00
Jobobby04 5499404267 Replace E-H icon and merged icon with standardized ones 2022-01-29 20:03:31 -05:00
Jobobby04 d0f9ad9857 Fix fresh installs databases 2022-01-25 10:24:28 -05:00
Jobobby04 b7a94a72fa Rewrite intent filters for Android 12 compliance 2022-01-23 17:08:32 -05:00
Jobobby04 254d739d12 Rewrite E-H favorites sync database, fixes:
- Freezing issues
- Build times
- Probably fixes bloated app size
2022-01-23 17:08:31 -05:00
Jobobby04 5224988265 Full-proof way of getting a mangadex manga title, update crashlytics 2022-01-23 17:08:31 -05:00
Román 1c69b066f7 Russian Translation (#511)
* Russian translation

* Russian translation
2022-01-22 19:13:42 -05:00
Jobobby04 c6f37f4aa5 Allow text to be selectable in debug dialogs 2022-01-22 19:07:47 -05:00
arkon 9bff630825 Allow Samsung devices on Android 12+ to use dynamic theme
Since it seems to work fine, regardless of what the Material Components library seems to dictate.

(cherry picked from commit e3f3686b8a)
2022-01-22 18:40:03 -05:00
arkon 10e60b4d94 Fix tab underline in chapter settings sheet
(cherry picked from commit 9984e983b4)
2022-01-22 18:39:56 -05:00
arkon bc7395c2bc Spacing adjustments in reader settings sheet
(cherry picked from commit 4ebe67ef53)
2022-01-22 18:39:49 -05:00
arkon e2446cd703 Fix solid background behind text selection UI in dialogs
(cherry picked from commit 1a11d4153e)
2022-01-22 18:39:42 -05:00
Gauthier 1d814aabae fix: handle Komga tracks during manga migration (#6463)
* fix: handle Komga tracks during manga migration

closes #6354

* refactor: remove Komga direct reference

(cherry picked from commit cd7cf3583e)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchPresenter.kt
2022-01-22 18:39:30 -05:00
Andreas a65b55a6bf Add ability to open FAQ and Guide, and Changelog in extension repository (#6469)
(cherry picked from commit 66a180bc36)
2022-01-22 18:32:06 -05:00
Jozef Hollý a1d39beff4 Weblate translations (#6429)
Co-authored-by: Ahmad Azwar Annas <ahmadazw2@gmail.com>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: Alifian Caesar <alifiancaesar@gmail.com>
Co-authored-by: Arun <arun007@pm.me>
Co-authored-by: AsyJAIZ <2007andrylavr@gmail.com>
Co-authored-by: Blue <bluestuffish@gmail.com>
Co-authored-by: Colin Tirion <grotehoed@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: DatTran MLL <tranthanhdat1142003@gmail.com>
Co-authored-by: Eric <alchemillatruth@purelymail.com>
Co-authored-by: Eugene <e.shlyapkin99@gmail.com>
Co-authored-by: FateXBlood <zecrofelix@gmail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Huang Zhiyi <hzy980512@126.com>
Co-authored-by: I. Musthafa <i.musthafa66@gmail.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Jendrej <ejjendrej@gmail.com>
Co-authored-by: Jetspectre <jetspectre1@gmail.com>
Co-authored-by: Johkum <jacobomur@gmail.com>
Co-authored-by: Jozef Hollý <j2.00ghz@gmail.com>
Co-authored-by: Luiz-bro <luiznneto1@gmail.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Manu <manularrosa96@mailbox.org>
Co-authored-by: Marco Santos <enum.scima@gmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Nabin Dhakal <nabin6707@gmail.com>
Co-authored-by: Niko Strijbol <strijbol.niko@gmail.com>
Co-authored-by: Oğuz Ersen <oguzersen@protonmail.com>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Rostyslav <info@ubilling.net.ua>
Co-authored-by: Sergio Gomez Damas <sergio.gomezdamas@gmail.com>
Co-authored-by: Soare Robert Daniel <soare.robert.daniel@protonmail.com>
Co-authored-by: StirCrazy <camigames252@gmail.com>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: Unai <uesandi@gmail.com>
Co-authored-by: Yahya Kerba <yahyakerba97@gmail.com>
Co-authored-by: Zakhar Timoshenko <vp1984tanki@gmail.com>
Co-authored-by: altinat <poiiiii4yy@gmail.com>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ar/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ca/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/cs/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/de/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/el/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/es/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/es_419/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/eu/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fil/
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/hi/
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/it/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ja/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ms/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ne/
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/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ro/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ru/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sc/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/th/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/tr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/uk/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/vi/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hant/
Translation: Tachiyomi/Tachiyomi 0.x

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Ahmad Azwar Annas <ahmadazw2@gmail.com>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: Alifian Caesar <alifiancaesar@gmail.com>
Co-authored-by: Arun <arun007@pm.me>
Co-authored-by: AsyJAIZ <2007andrylavr@gmail.com>
Co-authored-by: Blue <bluestuffish@gmail.com>
Co-authored-by: Colin Tirion <grotehoed@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: DatTran MLL <tranthanhdat1142003@gmail.com>
Co-authored-by: Eric <alchemillatruth@purelymail.com>
Co-authored-by: Eugene <e.shlyapkin99@gmail.com>
Co-authored-by: FateXBlood <zecrofelix@gmail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Huang Zhiyi <hzy980512@126.com>
Co-authored-by: I. Musthafa <i.musthafa66@gmail.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Jendrej <ejjendrej@gmail.com>
Co-authored-by: Jetspectre <jetspectre1@gmail.com>
Co-authored-by: Johkum <jacobomur@gmail.com>
Co-authored-by: Luiz-bro <luiznneto1@gmail.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Manu <manularrosa96@mailbox.org>
Co-authored-by: Marco Santos <enum.scima@gmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Nabin Dhakal <nabin6707@gmail.com>
Co-authored-by: Niko Strijbol <strijbol.niko@gmail.com>
Co-authored-by: Oğuz Ersen <oguzersen@protonmail.com>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Rostyslav <info@ubilling.net.ua>
Co-authored-by: Sergio Gomez Damas <sergio.gomezdamas@gmail.com>
Co-authored-by: Soare Robert Daniel <soare.robert.daniel@protonmail.com>
Co-authored-by: StirCrazy <camigames252@gmail.com>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: Unai <uesandi@gmail.com>
Co-authored-by: Yahya Kerba <yahyakerba97@gmail.com>
Co-authored-by: Zakhar Timoshenko <vp1984tanki@gmail.com>
Co-authored-by: altinat <poiiiii4yy@gmail.com>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
(cherry picked from commit eb06667455)
2022-01-22 18:31:58 -05:00
Jobobby04 7c8c6c4303 Remove lang hijacks on Hitomi and NHentai 2022-01-22 12:22:32 -05:00
arkon 87afe3191b Fix pages not being serializable for chapter cache (fixes #6483)
(cherry picked from commit 0ff8966a27)
2022-01-22 11:45:31 -05:00
arkon c95a274ff5 Update dependencies
(cherry picked from commit 0cb4094dd9)
2022-01-22 11:45:21 -05:00
arkon 324d74f6c3 Remove some dead code
(cherry picked from commit edd213343b)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
2022-01-22 11:45:12 -05:00
Jobobby04 83e8b670da Minor cleanup 2022-01-22 11:43:52 -05:00
Jobobby04 849add02ad Use more performant getAllTags function 2022-01-20 22:50:37 -05:00
Jobobby04 464f343e4a Update EHTags using updated Scraper 2022-01-20 22:19:57 -05:00
Jobobby04 29241b0393 Improve library performance a bit 2022-01-16 15:05:44 -05:00
Jobobby04 ecc708b6cd Only use external url if pages count is 0 2022-01-16 12:38:23 -05:00
Jobobby04 38c161310a Minor cleanup 2022-01-16 11:45:38 -05:00
Jobobby04 992679e470 Probably fix bookmarks breaking reading progress 2022-01-16 11:40:49 -05:00
Jobobby04 cccf956fae Fix random scrolling when bookmarking a chapter 2022-01-15 20:44:51 -05:00
Jobobby04 e8100fc958 Properly handle EHentai browse duplication 2022-01-15 20:00:45 -05:00
Jobobby04 18a119e9cf Fix issue 158, some sources not updating with group by source 2022-01-15 19:28:05 -05:00
Ivan Iskandar 6b3813bb9a HistoryController: Drop first search event (#6465)
Removes unnecessary data set changes when entering history screen

(cherry picked from commit 769efd9d06)
2022-01-15 18:19:19 -05:00
Ivan Iskandar d6ba632c54 MangaInfo: Don't apply appbar padding on tablet ui (#6464)
(cherry picked from commit 49cb3b6aa7)
2022-01-15 18:19:11 -05:00
Jobobby04 479950e60e Fix data saver image quality crash 2022-01-15 18:16:29 -05:00
jopejoe1 dc60352bd6 Add support for Azuki Manga and MangaHot Chapters in Mangadex (#506)
* Update MangaDex.kt

* Add Azuki and MangaHot Handlers
2022-01-15 17:59:13 -05:00
Román bf7075629c Russian translation (#499) 2022-01-15 17:58:55 -05:00
Román 3c598f459a Adding more size to few things (#495)
* Adding more size to few things

* Fixing margins and paddings

* Reverting categories_item

* Increasing size of innerContainer
2022-01-15 17:58:39 -05:00
Román 04f284e27b Translating missing strings (#493)
* Translating missing strings

* Adding new string

* Adding new strings

* Fixing last commits

* Fixing strings missing

* Change incorrect translated string

* More changes
2022-01-09 15:43:49 -05:00
Ivan Iskandar d8ba5b4ddb Change library list item title style (#6457)
(cherry picked from commit 8ad98b67d2)
2022-01-09 15:42:48 -05:00
arkon 40c844f128 Update crop border shortcut state when reading mode or manga set (fixes #6441)
(cherry picked from commit 8a8f1d3205)
2022-01-09 15:42:41 -05:00
arkon b4c9ff4cae Fix bottom nav being visible when resuming app (fixes #6012)
(cherry picked from commit 4a27f0546c)
2022-01-09 15:42:35 -05:00
Midyan Hamdoun 6a82d57957 Change Toolbar to MaterialToolbar (#6456)
(cherry picked from commit 727a7e4b2d)
2022-01-09 15:42:26 -05:00
Jobobby04 020ce06ebd Remove GSON proguard rules 2022-01-09 15:40:05 -05:00
Jobobby04 4aa9cc3851 Cleanup group by tracking 2022-01-09 15:39:46 -05:00
Jobobby04 e0c88fea19 Re-add rating more info 2022-01-08 18:20:56 -05:00
Jobobby04 8bd1a708d0 Probably fix merged manga library updates 2022-01-08 18:20:34 -05:00
Jobobby04 aeed6f47a0 Add new mangadex relation 2022-01-08 18:20:15 -05:00
arkon 9bce035cc9 Fix more crashes
(cherry picked from commit 2b5e8241ab)
2022-01-08 18:19:04 -05:00
arkon 5d00fe7e78 Make tracker status wording/ordering more consistent
(cherry picked from commit 3dc4fd8dd1)
2022-01-08 18:18:57 -05:00
arkon 7cc14bb5d0 Add new manga statuses
To be exposed in extension-lib 1.3

(cherry picked from commit 375a27a93d)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoHeaderAdapter.kt
2022-01-08 18:18:43 -05:00
arkon a6210baf70 Avoid reader crash
(cherry picked from commit 544387d1a0)
2022-01-08 18:02:32 -05:00
arkon afb6ca1b5c Update to Conductor 3.1.2
(cherry picked from commit cb8120d38f)
2022-01-08 18:02:25 -05:00
Ivan Iskandar 2b91af9ca5 Reduce stutter when entering Browse screen (#6435)
* More coil

* ExtensionController: Drop first text change event

* Browse-Source: Remove unnecessary load

* ExtensionPresenter: Increase debounce timeout

To avoid heavy list reload during first enter animation

(cherry picked from commit 78a261f5d3)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourceController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourceHolder.kt
2022-01-08 18:02:11 -05:00
Ivan Iskandar cafec5a37b Use material components on reader error views (#6447)
* Use material components on reader error views

* Adjust image loading behavior

Don't set automatic background color right away and keep show progress indicator
until the page image is fully loaded.

(cherry picked from commit b8f7653fb2)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt
2022-01-08 17:55:03 -05:00
arkon 59713f629a Add DoH abbreviation to preference title so it's searchable
(cherry picked from commit e0d2a01bc8)
2022-01-08 17:43:53 -05:00
Andreas b4348691f8 Remove clutter in main (#6437)
(cherry picked from commit 560be9f553)
2022-01-08 17:43:46 -05:00
arkon a3ec06b4fa Fallback to preference title if dialog title isn't set
(cherry picked from commit 47723042c5)
2022-01-08 17:43:39 -05:00
arkon a574f1ce23 URL encode Kitsu search queries (fixes #5712)
(cherry picked from commit d04d676d2f)
2022-01-08 17:43:31 -05:00
jmir1 f63614bf0f fix crash in ReaderActivity (#6439)
(cherry picked from commit 2e1572d7cc)
2022-01-08 17:42:59 -05:00
arkon f8e128f975 Custom Cloudflare failure exception to avoid user-facing "java.lang.Exception" text
(cherry picked from commit 938339690e)
2022-01-08 17:42:50 -05:00
arkon 867eed7b16 Avoid crashes in tracker interceptor errors
(cherry picked from commit dbb2c523c1)
2022-01-08 17:42:41 -05:00
arkon 31cdfc63e6 Fix some crashes
(cherry picked from commit 0b9d436753)
2022-01-08 17:42:32 -05:00
arkon 2dd2054d4c Add QuickJS dependency to eventually replace Duktape
(cherry picked from commit 2d03f3ce1e)

# Conflicts:
#	app/proguard-rules.pro
2022-01-08 17:42:23 -05:00
Jobobby04 07f32b8df0 Fix MangaDex 2022-01-01 18:07:53 -05:00
Román 7294f0c17e Fixing few things in ReaderActivity.xml (#491) 2022-01-01 17:15:50 -05:00
Jobobby04 2d3740f3d3 Reformat edited xml layout files 2022-01-01 17:14:48 -05:00
Jobobby04 d096740cda Add minimum height to simple categories items 2022-01-01 16:14:45 -05:00
Jobobby04 21b620ee86 Rewrite Batch Add into kotlin flow 2022-01-01 16:14:44 -05:00
Román 08f6a7fbd6 Russian Strings (#483)
Co-authored-by: jobobby04 <jobobby04@users.noreply.github.com>
2022-01-01 16:14:29 -05:00
Román f809e438f3 Migration manga fixes (#489) 2022-01-01 15:38:29 -05:00
Román 0a228019a9 EditManga fixes (#488)
* Few changes of EditMangaDialog

* Making cover having more space
2022-01-01 15:38:08 -05:00
Román f4a0342007 Batch add fix (#486) 2022-01-01 15:37:39 -05:00
Jobobby04 ab863c5bc9 Replace deprecated property 2022-01-01 15:34:28 -05:00
Jobobby04 12fcd451bb Update dependancies 2022-01-01 15:31:52 -05:00
arkon 55ca111b52 Handle renaming existing downloaded CBZ chapters on update
(cherry picked from commit c4a476d0d2)
2022-01-01 15:25:55 -05:00
Jozef Hollý 56dd6c5920 Weblate translations (#6352)
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: Alifian Caesar <alifiancaesar@gmail.com>
Co-authored-by: Andre Rahardjo <zertozzf@gmail.com>
Co-authored-by: Aviv Ben Ami <avivbenami@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: DatTran MLL <tranthanhdat1142003@gmail.com>
Co-authored-by: Eric <spice2wolf@gmail.com>
Co-authored-by: Flamm <robindevaux25@gmail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: HaruSasaki <aiqusubaru@gmail.com>
Co-authored-by: Hossain Rizbi <rsajib387@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Huang Zhiyi <hzy980512@126.com>
Co-authored-by: Italian Translator <nekoxtranslator@etlgr.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Jagadeesh Vijay Varma <jagadeeshvarma.b@gmail.com>
Co-authored-by: Jan Obst <macek04@volny.cz>
Co-authored-by: Jetspectre <jetspectre1@gmail.com>
Co-authored-by: Jozef Hollý <j2.00ghz@gmail.com>
Co-authored-by: KasukeLp <kasukelp23@yahoo.com>
Co-authored-by: Lyaiya <hipsnafoha@outlook.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Marco Santos <enum.scima@gmail.com>
Co-authored-by: Matyáš Caras <contact@hernikplays.cz>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Neterskian <neterskian@gmail.com>
Co-authored-by: Nikola Perović <nikolaperovicccc@gmail.com>
Co-authored-by: Oğuz Ersen <oguzersen@protonmail.com>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Rikishaaa <jebote90@gmail.com>
Co-authored-by: Rostyslav <info@ubilling.net.ua>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: Unai <uesandi@gmail.com>
Co-authored-by: Viktoria PETROVA <victoriaapetrova@gmail.com>
Co-authored-by: Zakhar Timoshenko <vp1984tanki@gmail.com>
Co-authored-by: Zero O <godarms2010@live.com>
Co-authored-by: f3rr31 <5920873@disroot.org>
Co-authored-by: stevenlele <stevenlele@126.com>
Co-authored-by: typek52 <typek52@gmail.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
Co-authored-by: Тимур <tucirs@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/bg/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/bn/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/cs/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/de/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/el/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/es/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/eu/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fil/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/he/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/hr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/hu/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/id/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/it/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ja/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ms/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/pl/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ru/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sc/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sk/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/te/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/tr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/uk/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/vi/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hant/
Translation: Tachiyomi/Tachiyomi 0.x

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: Alifian Caesar <alifiancaesar@gmail.com>
Co-authored-by: Andre Rahardjo <zertozzf@gmail.com>
Co-authored-by: Aviv Ben Ami <avivbenami@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: DatTran MLL <tranthanhdat1142003@gmail.com>
Co-authored-by: Eric <spice2wolf@gmail.com>
Co-authored-by: Flamm <robindevaux25@gmail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: HaruSasaki <aiqusubaru@gmail.com>
Co-authored-by: Hossain Rizbi <rsajib387@gmail.com>
Co-authored-by: Huang Zhiyi <hzy980512@126.com>
Co-authored-by: Italian Translator <nekoxtranslator@etlgr.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Jagadeesh Vijay Varma <jagadeeshvarma.b@gmail.com>
Co-authored-by: Jan Obst <macek04@volny.cz>
Co-authored-by: Jetspectre <jetspectre1@gmail.com>
Co-authored-by: KasukeLp <kasukelp23@yahoo.com>
Co-authored-by: Lyaiya <hipsnafoha@outlook.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Marco Santos <enum.scima@gmail.com>
Co-authored-by: Matyáš Caras <contact@hernikplays.cz>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Neterskian <neterskian@gmail.com>
Co-authored-by: Nikola Perović <nikolaperovicccc@gmail.com>
Co-authored-by: Oğuz Ersen <oguzersen@protonmail.com>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Rikishaaa <jebote90@gmail.com>
Co-authored-by: Rostyslav <info@ubilling.net.ua>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: Unai <uesandi@gmail.com>
Co-authored-by: Viktoria PETROVA <victoriaapetrova@gmail.com>
Co-authored-by: Zakhar Timoshenko <vp1984tanki@gmail.com>
Co-authored-by: Zero O <godarms2010@live.com>
Co-authored-by: f3rr31 <5920873@disroot.org>
Co-authored-by: stevenlele <stevenlele@126.com>
Co-authored-by: typek52 <typek52@gmail.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
Co-authored-by: Тимур <tucirs@gmail.com>
(cherry picked from commit 5122aed332)
2022-01-01 15:25:47 -05:00
Jobobby04 60f3ee1978 Remove NSFW annotation 2022-01-01 15:25:10 -05:00
Seishirou101 fe77aa9ab1 Add compress to CBZ on download (#6360)
(cherry picked from commit 5336c5b46e)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/DownloadPageLoader.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsDownloadController.kt
2022-01-01 15:24:12 -05:00
Mohit Mandalia dc992ee932 Fixes descriptive notification message for errors (#6413)
* Fixes descriptive notification message for errors
Fixes #6401

* Fixes descriptive notification message for errors
Fixes #6401

(cherry picked from commit 22615f5981)
2022-01-01 15:05:17 -05:00
arkon b153f22c41 Add AppInfo functions to replace BuildConfig usages in extensions
(cherry picked from commit bdf4b4b679)
2022-01-01 15:04:53 -05:00
arkon c330e14fd8 Remove unused Nsfw annotation
Extensions now purely declare it through the Gradle config

(cherry picked from commit 548e300c4b)
2022-01-01 15:04:43 -05:00
arkon 7459a19e64 Remove explicit option to store downloads in app data folder
App data is typically deleted during app uninstallation, which some users are unaware of. The folder is also inaccessible externally by default in Android 11+, which is also annoying to users.

(cherry picked from commit 8a5d8c96ef)
2022-01-01 15:04:33 -05:00
arkon 0792ef3b1f Move preference extension functions to utils
(cherry picked from commit 78c2631b6f)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourceController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
2022-01-01 15:04:16 -05:00
arkon 3de8480630 Add link to troubleshooting guide in library update error log file
(cherry picked from commit 7c246ffc71)
2022-01-01 14:35:21 -05:00
arkon e3fda751ae Update versions and about libraries plugins
(cherry picked from commit 8bb85753cc)
2022-01-01 14:35:06 -05:00
arkon 77d0dc2e1d Swallow observable errors instead of crashing
(cherry picked from commit abfdde28ef)
2022-01-01 14:34:36 -05:00
arkon a893ac6e5f Update analytics dependencies
(cherry picked from commit 9801f1edfa)

# Conflicts:
#	app/build.gradle.kts
2022-01-01 14:34:29 -05:00
FourTOne5 756ddebda9 Fix Crash while trying to search in Settings (#6397)
* Fix Crash while trying to search in Settings

* Use already provided categories

(cherry picked from commit fc3a200a63)
2022-01-01 14:33:56 -05:00
FourTOne5 4f861f698c Update wording of pref_remove_after_marked_as_read (#6418)
(cherry picked from commit 6a00658119)
2022-01-01 14:33:48 -05:00
arkon 47f09b936c Fix some crashes
(cherry picked from commit 353485054e)
2022-01-01 14:33:35 -05:00
Jobobby04 34f98a3cd4 MDList support rating mangas 2021-12-27 16:20:32 -05:00
Jobobby04 d7856fe351 Mangadex support manga rating 2021-12-27 16:19:42 -05:00
Jobobby04 77f5acf2dd Show Mangadex relations in Mangadex similar 2021-12-27 16:12:09 -05:00
Jobobby04 87d9512b1f Minor cleanup 2021-12-27 12:15:52 -05:00
Román 5c9d1afe41 Russian Strings (#475)
* Changing some russian strings

* Changed more strings

* Changed and deleted some strings

* Fixed the position of CDATA

* Some string changes before preview update

* Improved russian translation

* Why you bully me

* MOOOM, he's bullying me
2021-12-26 16:37:52 -05:00
HaruSasaki 359467d6f5 Add Indonesian translation for SY strings (#476) 2021-12-26 16:05:31 -05:00
Jobobby04 fb77eec2d3 Minor fix 2021-12-26 15:55:20 -05:00
FourTOne5 282abf12c9 Actually Fix #6341 (#6392)
(cherry picked from commit 800583b5e2)
2021-12-26 15:52:58 -05:00
arkon 4a2e8806c1 Fix crash for bound intListPreferences
(cherry picked from commit 2db2b7348d)
2021-12-26 15:52:48 -05:00
arkon 572eb0cceb Reduce redundancy in some preference declarations
The remaining ones could also be converted to FlowPreferences for this, but it's not really necessary.

(cherry picked from commit f3718257f5)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceKeys.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/ExtensionPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibrarySettingsSheet.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsBrowseController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsLibraryController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsReaderController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsSecurityController.kt
2021-12-26 15:52:25 -05:00
Riztard Lanthorn c5819fe96f Update "Library updates restrictions" wording (#6371)
* Update "Library updates restrictions" wording

Co-Authored-By: OncePunchedMan <64155117+OncePunchedMan@users.noreply.github.com>
Co-Authored-By: nicki <72807749+curche@users.noreply.github.com>
Co-Authored-By: Soitora <simon.mattila@protonmail.com>
Co-Authored-By: FourTOne5 <59261191+FourTOne5@users.noreply.github.com>

* Update strings.xml

Co-Authored-By: loocool2 <36128021+loocool2@users.noreply.github.com>

Co-authored-by: OncePunchedMan <64155117+OncePunchedMan@users.noreply.github.com>
Co-authored-by: nicki <72807749+curche@users.noreply.github.com>
Co-authored-by: Soitora <simon.mattila@protonmail.com>
Co-authored-by: FourTOne5 <59261191+FourTOne5@users.noreply.github.com>
Co-authored-by: loocool2 <36128021+loocool2@users.noreply.github.com>
(cherry picked from commit 5500762acd)
2021-12-26 12:49:12 -05:00
Ivan Iskandar 396ae8bea3 Use animation to hide/show fab (#6385)
(cherry picked from commit 4c8f5e1f7a)
2021-12-26 12:49:06 -05:00
arkon 29cb6c95fd Fix incorrect locale name casing in extension details (fixes #6391)
Also closing https://github.com/tachiyomiorg/tachiyomi-extensions/issues/10007 since multisource extensions aren't really a thing anymore.

(cherry picked from commit 733cf99bb4)
2021-12-26 12:48:58 -05:00
arkon 8e0ca68af7 Truncate MAL search queries to first 64 characters (closes #6314)
Is it worth telling the user? ¯\_(ツ)_/¯

(cherry picked from commit 58c2f22120)
2021-12-26 12:48:50 -05:00
FourTOne5 638e569410 Case insensitive sort in extension list. (#6375)
* Sort Extension irrespective of it's name's case.

* Avoid creating unnecessary strings

Co-Authored-By: arkon <arkon@users.noreply.github.com>

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

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/ExtensionPresenter.kt
2021-12-26 12:48:41 -05:00
arkon 23e43a78d9 Avoid unnecessary string creation when sorting
(cherry picked from commit 1c5c370c12)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourceFilterController.kt
2021-12-26 12:47:22 -05:00
arkon d22591665c Don't recompute constant device info
(cherry picked from commit 448645d83a)
2021-12-26 12:34:37 -05:00
arkon 621d5cc2bb Rename night theme color files too
(cherry picked from commit 09b6a3b41e)
2021-12-26 12:34:28 -05:00
FourTOne5 2e25989a5a Rename theme color value files so they are not scattered (#6384)
(cherry picked from commit 74206d60ce)
2021-12-26 12:33:12 -05:00
arkon 5c4a15660a Update dependencies
(cherry picked from commit c3a0de7fab)
2021-12-26 12:33:04 -05:00
arkon b12a8f8af4 Avoid crash on Samsung devices on Android 12
Co-authored-by: Jays2Kings <Jays2Kings@users.noreply.github.com>
(cherry picked from commit 7edf7a434f)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt
2021-12-26 12:32:54 -05:00
arkon d4e3b463a3 Handle potentially missing sources list in extensions JSON
Can happen in:
- Unofficial repos
- If the inspector breaks

(cherry picked from commit b701821550)
2021-12-26 12:32:11 -05:00
Hunter Nickel 6cb0342929 Fix Global Search ignoring incognito mode when setting last used source. (#6374)
(cherry picked from commit d022bf2673)
2021-12-26 12:32:03 -05:00
FourTOne5 0e437eaa6a Fix readded chapters polluting 'Updates' tab. (#6377)
(cherry picked from commit 7eed8c440c)
2021-12-26 12:31:53 -05:00
FourTOne5 25091e80c1 Fix #6341 (#6383)
(cherry picked from commit 1ab12e380a)
2021-12-26 12:31:45 -05:00
Ivan Iskandar 317419bde5 TachiyomiCoordinatorLayout: Remove app bar lift mechanism for view pager (#6379)
This is a follow up to 845e061382
...jk i actually forgot about it

(cherry picked from commit 728e14e8e4)
2021-12-26 12:31:36 -05:00
FourTOne5 5474d29cc7 Fix #6366 (#6372)
(cherry picked from commit 8aa402526a)
2021-12-26 12:31:27 -05:00
FourTOne5 c76fe9bb1d Update some wording in Delete Chapters preference. (#6365)
(cherry picked from commit 4793ee4786)
2021-12-26 12:31:17 -05:00
Jobobby04 d60ff91ae4 Filter out unpublished chapters without an external url 2021-12-26 12:24:35 -05:00
Jobobby04 3ec0777d63 Remove useless extension function 2021-12-26 12:23:43 -05:00
Jobobby04 c498d03d6b Mangadex: Use updated /at-home/server/ endpoint for pages 2021-12-25 12:08:50 -05:00
Jobobby04 9e9fa80450 Migrate EHentaiThrottleManager from Longs to durations 2021-12-25 12:07:09 -05:00
Jobobby04 999e944c34 Move to official duration extensions 2021-12-25 12:05:06 -05:00
Jobobby04 8b8df62ff3 Fix clear database crash 2021-12-21 22:18:58 -05:00
Jobobby04 b8a53f9239 Manga info edit UI fixes 2021-12-21 15:13:48 -05:00
Jobobby04 a2df6a7f11 Fix Mangadex logout crashes 2021-12-18 21:45:34 -05:00
FourTOne5 6972edbcb4 Better Upload Date to not have a single blank upload date. (#6358)
(cherry picked from commit a09d6c0470)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/database/DbOpenCallback.kt
2021-12-18 18:15:09 -05:00
FourTOne5 13beef4ebe Add Better Extension Search (#6359)
Add support to searching with source name, id and baseUrl for a extension's sources.

(cherry picked from commit 9e83130bd8)
2021-12-18 18:11:46 -05:00
Ivan Iskandar a9f037dc8b Action toolbar adjustments (#6353)
* Pair ActionToolbar with ActionMode

This makes ActionToolbar an activity object that can be configured in the
similar way as ActionMode

* Remove action toolbar workaround now that it stays in activity layout

5924

* Set status bar color when action mode is active

6256

* Adjust fab show timing after action mode finished

* Adjust action toolbar layout and animation

Default corner size and use bottom sheet animation

6069

* Adjust action toolbar layout on large screen

Right half of the screen

(cherry picked from commit 2ed01af723)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
2021-12-18 14:27:13 -05:00
arkon cb00bf66cf Adjust global update preference wording and visibility
(cherry picked from commit afc80d6a7c)
2021-12-18 12:09:27 -05:00
arkon 9b3a839515 Address some IDE warnings
(cherry picked from commit 532a1b1aba)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/database/mappers/CategoryTypeMapping.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/mappers/MangaTypeMapping.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/resolvers/LibraryMangaGetResolver.kt
2021-12-18 12:06:55 -05:00
arkon b665bd35f6 Remove library update order setting
This doesn't make sense to have if the intention is to have reasonably sized global updates. Opting to remove it to remove complexity instead.

(cherry picked from commit 65062b4bcb)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/database/queries/MangaQueries.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsLibraryController.kt
2021-12-18 12:00:27 -05:00
arkon 838eda73e3 [skip ci] update workflow actions
(cherry picked from commit c16206d816)

# Conflicts:
#	.github/workflows/build_push.yml
#	.github/workflows/cancel_pull_request.yml
2021-12-18 11:56:14 -05:00
arkon c5c23e623e Hide irrelevant settings if global update isn't enabled
(cherry picked from commit 7d1f5c7383)
2021-12-18 11:55:20 -05:00
arkon 2bd9d2844f Refactor dependant preference visibility flows
(cherry picked from commit 945afc71ef)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsReaderController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsSecurityController.kt
2021-12-18 11:55:12 -05:00
arkon b19c178eae Combine global update item restrictions
(cherry picked from commit 818fe50f77)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsLibraryController.kt
2021-12-18 11:48:18 -05:00
Riztard Lanthorn a9bb01125e Add option for library update only update completely read manga (#6323)
* Add option for library update only update completely read manga

only check manga for updates if there is no unread chapter

* sum

(cherry picked from commit 6fddad7a77)
2021-12-18 11:29:31 -05:00
Ivan Iskandar ae9fe06f7d Workaround cleanup (#6350)
* Remove material-components workaround that was fixed upstream

* Remove unused toolbar workaround

* Fix cover dialog navigation icon

(cherry picked from commit 38d131be37)

# Conflicts:
#	app/src/main/res/menu/library_selection.xml
#	app/src/main/res/menu/reader.xml
2021-12-18 11:29:19 -05:00
arkon 9fd8d5aa7c Update dependencies
(cherry picked from commit aeff846e1f)

# Conflicts:
#	app/build.gradle.kts
2021-12-18 11:20:35 -05:00
arkon 870558b6a9 Remove Gson dependencies
All official extensions no longer use Gson and Kotson

(cherry picked from commit ba1a2e9942)
2021-12-18 11:19:55 -05:00
Ivan Iskandar 22a6c8d772 Use elevated overlay on reader menu (#6347)
(cherry picked from commit 6b52fc1e2d)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
2021-12-18 11:19:44 -05:00
arkon 8d813e3d62 Update to Kotlin 1.6.10
(cherry picked from commit 0671b530ba)
2021-12-18 11:04:05 -05:00
arkon 75db31914b Add link to privacy policy
(cherry picked from commit 207f9c26ae)
2021-12-18 11:03:58 -05:00
OncePunchedMan bd22026d16 sfix some colors and going back to original pink-ish color (#6344)
(cherry picked from commit 6367ce5e5e)
2021-12-18 11:03:50 -05:00
arkon 1ff5075e87 Revert download notification icon changes
(cherry picked from commit 7f998ecdbd)
2021-12-18 11:03:39 -05:00
Jobobby04 323c0135df Fix MDList search 2021-12-17 11:02:55 -05:00
D3xron 6500199d40 Update and improve Russian translation 2021-12-13 22:40:05 -05:00
Jobobby04 f2250e7cee Extract more strings to localizable files 2021-12-12 20:40:11 -05:00
Jobobby04 0936d4b844 Fix reader buttons 2021-12-12 20:39:00 -05:00
Jobobby04 2f32aa6984 Drop blank scanlators 2021-12-12 20:38:22 -05:00
Jobobby04 d7f5ded41a Fix and cleanup SmartSearch 2021-12-12 17:59:29 -05:00
Jobobby04 04451ab14e Fix mangadex logout crash 2021-12-12 14:57:08 -05:00
Jobobby04 6e8ee38238 Improve data saver handling 2021-12-12 12:16:07 -05:00
D3xron df0083e2e3 Update Russian translation 2021-12-11 21:42:48 -05:00
Jobobby04 c93db99098 Test this cuz why not 2021-12-11 20:52:57 -05:00
Jobobby04 7aaec0b0ed Use unicode escaped % sign in Russian translation 2021-12-11 20:31:31 -05:00
Jobobby04 6ddd6b84f9 Escape singular % sign in Russian translation 2021-12-11 20:07:10 -05:00
D3xron f911b09b55 Further improve Russian translation
-created an <!-- Appearance Settings --> and changed the position of related strings
  -translated strings with name 'data_saver_exclude' & 'data_saver_stop_exclude' and moved to the <!-- Advanced Settings -->
  -deleted quantity 'zero' in string with name 'pref_tag_sorting_desc'
  -changed strings with name 'log_minimal','log_extra & 'log_extreme'
  -changed string with name 'latest_'
  -changed string with name 'similar'
  -changed string with name 'visible'
  -changed string with name 'media_id'
  -changed string with name 'page_layout'
  -changed string with name 'eh_batch_add'
  -changed string with name 'ext_redundant'
  -changed string with name 'loading_manga'
  -changed string with name 'latest_tab_empty'
  -changed string with name 'too_many_watched'
  -changed string with name 'batch_add_summary'
  -changed string with name 'pref_category_fork'
  -changed string with name 'skip_page_restyling'
  -changed string with name 'eh_batch_add_finish'
  -changed string with name 'data_saver_color_bw'
  -changed string with name 'clear_db_exclude_read'
  -changed string with name 'reader_preload_amount'
  -changed string with name 'alternative_login_page'
  -changed string with name 'gallery_update_checker'
  -changed string with name 'fields_cannot_be_blank'
  -changed string with name 'action_add_repo_message'
  -changed string with name 'mangadex_add_to_follows'
  -changed string with name 'delete_merged_manga_desc'
  -changed string with name 'preserve_reading_position'
  -changed string with name 'reader_cache_size_summary'
  -changed string with name 'automatic_can_still_switch'
  -changed string with name 'gallery_updater_stats_text'
  -changed string with name 'gallery_updater_statistics'
  -changed string with name 'download_merged_manga_desc'
  -changed string with name 'skip_queue_on_retry_summary'
  -changed string with name 'pref_show_bottom_bar_labels'
  -changed string with name 'favorites_sync_add_to_local'
  -changed string with name 'reader_preload_amount_summary'
  -changed string with name 'captcha_solve_failure_message'
  -changed string with name 'custom_igneous_cookie_message'
  -changed string with name 'eh_settings_out_of_slots_error'
  -changed string with name 'eh_settings_out_of_slots_error'
  -changed string with name 'pref_source_navigation_summery'
  -changed string with name 'toggle_hentai_features_summary'
  -changed string with name 'force_sync_state_reset_summary'
  -changed string with name 'pref_source_navigation_summery'
  -changed string with name 'pref_skip_pre_migration_summary'
  -changed string with name 'pref_force_horz_seekbar_summary'
  -changed string with name 'no_chapters_found_for_migration'
  -changed string with name 'favorites_sync_adding_to_remote'
  -changed string with name 'favorites_sync_remove_from_local'
  -changed string with name 'chapter_updates_merged_manga_desc'
  -changed string with name 'put_recommends_in_overflow_summary'
  -changed string with name 'batch_add_unknown_type_log_message'
  -changed string with name 'library_group_updates_all_but_ungrouped'
  -changed string with name 'mangadex_sync_follows_to_library_summary'
2021-12-11 19:39:23 -05:00
Jobobby04 7e7f707c1b Fix redundant extensions 2021-12-11 15:37:59 -05:00
Jobobby04 e9b4385619 Remove unused strings 2021-12-11 15:37:15 -05:00
D3xron aaeb5e0308 Improved Russian translation 2021-12-11 15:19:27 -05:00
arkon 545f275a44 Move custom brightness slider to top of filter sheet (closes #6205)
Brightness should be modified more often than the color filter. Since this will always be visible even when the sheet is half expanded, you have a better idea of its effect.

(cherry picked from commit ecd5414287)
2021-12-11 15:02:41 -05:00
arkon b9fdb774f5 Refactor backup restore process to stop relying on file extension
(cherry picked from commit 6107f5f3d2)
2021-12-11 15:02:33 -05:00
arkon 7c30cb0e21 Show version name in new update notification
(cherry picked from commit 13afa9f476)
2021-12-11 15:02:25 -05:00
arkon 5d5df6f502 Don't preselect any options in library remove manga/downloads dialog (closes #6333)
Since apparently people don't read and either option is considered destructive to different people.

(cherry picked from commit cd87c7e88e)
2021-12-11 15:02:18 -05:00
arkon 08d022d5e2 Update notification icons
Although no recent version of Android even shows these....

(cherry picked from commit ed4dea8686)
2021-12-11 15:02:10 -05:00
KieuQ d5d6f9428c Add download action to New Chapters Notification (#6336)
(cherry picked from commit 808177f8c9)
2021-12-11 15:01:59 -05:00
arkon 27d069bdd5 Update AGP and Gradle
(cherry picked from commit aed51251b3)
2021-12-11 15:01:32 -05:00
Andreas dff5b56a28 Apply dialog theme to Material Alert Dialog Theme (#6340)
(cherry picked from commit 1c2730163d)
2021-12-11 15:01:24 -05:00
Andreas 79a5a4cb80 Fix back button having wrong tint in Toolbar (#6339)
(cherry picked from commit 0de86dfe6f)
2021-12-11 15:01:18 -05:00
OncePunchedMan 25f20de088 Tweak Midnight Dusk colors (#6327)
* tweak midnight dusk colors

* more tweaking and change pure black dark mode option visibility

* revert changing pure black dark mode option visibility

* change tertiary color on light theme to match dark theme

(cherry picked from commit 7a1b99be46)
2021-12-11 15:01:10 -05:00
arkon d1d8e8ed84 Check if dynamic colors are available using official API
(cherry picked from commit 9b64b0139c)
2021-12-11 15:01:03 -05:00
Carlos Ruiz 1b04ce0ac6 Add sui support (#6318)
* Update shizuku api version

* SettingsAdvanced Controller: Verify if Sui is available

(cherry picked from commit 0a6160d7cf)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt
2021-12-11 15:00:55 -05:00
Ivan Iskandar 3a4641f32c SourcePreferencesController: Also call onBindEditText listener set by extension (#6310)
(cherry picked from commit e51a6d332e)
2021-12-11 15:00:08 -05:00
jmir1 83ef443e59 Automatically set tracker as completed after reading the last chapter (#6289)
* Automatically set tracker as completed after reading the last chapter.

* use integer value in comparison

* also set `started_reading` date

* don't use source manga's status

* remove useless line

(cherry picked from commit a9d2741e6a)
2021-12-11 14:59:59 -05:00
arkon e23598e361 Remove unnecessary tab style
(cherry picked from commit 12bd7268d2)
2021-12-11 14:59:50 -05:00
Ivan Iskandar 81c089299e Tabbed bottom sheet adjustments (#6309)
* SimpleNavigationView: Don't set background and elevation

* Add divider for tabs in bottom sheet

(cherry picked from commit be0a23d9ad)
2021-12-11 14:59:40 -05:00
Ivan Iskandar d71ca9ae0f Apply elevation overlay to colored navbar (#6308)
(cherry picked from commit 458a0e608a)
2021-12-11 14:59:33 -05:00
arkon 3078b7fb89 Update dependencies
(cherry picked from commit 32f3a50def)
2021-12-11 14:59:24 -05:00
Jobobby04 4e9fe9790b Minor cleanup 2021-12-11 14:58:23 -05:00
Jobobby04 8dad132509 Improve library selection 2021-12-11 14:57:31 -05:00
Jobobby04 693ae6c7be Support Mangadex Nepali 2021-12-07 08:46:39 -05:00
Jobobby04 c5b2aa180e Data saver: Long click a source to exclude, also downloader can be excluded.
Small rewrite of Data saver
2021-12-04 14:12:20 -05:00
Jobobby04 54c67bf22c Library selection only show categories if there is room 2021-12-03 11:25:24 -05:00
Jobobby04 f1172c04e4 Fix genre spacing 2021-12-02 21:56:30 -05:00
Jobobby04 21346eefe2 Minor lint fixes 2021-12-02 20:54:54 -05:00
Jobobby04 42da9abe3e Build fixes after cherry picking 2021-12-02 20:44:05 -05:00
Jobobby04 85207b1d2d Update gradle-command-action 2021-12-02 19:37:24 -05:00
arkon df07276e20 Avoid loading available extensions list if it seems too small
(cherry picked from commit 6a39c8fc13)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/extension/api/ExtensionGithubApi.kt
2021-12-02 19:35:35 -05:00
arkon a3cea7e6a3 Use default snackbar styles (fixes unreadable text)
Sorry AMOLED users, you'll just have to deal with the brief light snackbars.

(cherry picked from commit dc39669321)
2021-12-02 19:30:18 -05:00
arkon 4a87181d3b Throw exceptions if some of the deprecated source methods are used
(cherry picked from commit be4f27028c)
2021-12-02 19:30:10 -05:00
arkon c49c2b28eb Allow loading extension-lib 1.3
(Which doesn't actually exist yet, but will at some point after the next major release)

(cherry picked from commit 60e73e2d1f)
2021-12-02 19:30:02 -05:00
arkon 586bd3301d Add convenience extension functions for rate limit interceptors
To be included in extension-lib 1.3 as a replacement for the lib that's currently compiled in tachiyomi-extensions.

(cherry picked from commit e8f284d377)
2021-12-02 19:29:56 -05:00
arkon a3a27dc1c6 Add UnmeteredSource interface
To be included in extension-lib 1.3 (or whatever it's going to be). This applies to sources like Komga or Lanragi, where large numbers of update/download aren't of concern since they're (usually) self-hosted.

(cherry picked from commit 3ea3b0bf2e)
2021-12-02 19:29:50 -05:00
arkon 7e25eb8587 Update dependencies
(cherry picked from commit e1a43d2e7d)
2021-12-02 19:29:43 -05:00
arkon 7bd46dac35 [skip ci] update issue-moderator-action
(cherry picked from commit 2e918fe1d6)
2021-12-02 19:29:33 -05:00
Jozef Hollý 80494a760a Weblate translations (#6179)
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: Alifian Caesar <alifiancaesar@gmail.com>
Co-authored-by: Anup Pandey <pandeyanup58@gmail.com>
Co-authored-by: Arunava Ghosh <senseiarunava@gmail.com>
Co-authored-by: Blue <bluestuffish@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: DatTran MLL <tranthanhdat1142003@gmail.com>
Co-authored-by: Eric <spice2wolf@gmail.com>
Co-authored-by: FateXBlood <zecrofelix@gmail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Guerilla Girl <tnfgdqzx@guerrillamail.info>
Co-authored-by: Haithem Djabi <zabiz9632@gmail.com>
Co-authored-by: HaruSasaki <aiqusubaru@gmail.com>
Co-authored-by: HeavenShadow <heavenshadow@outlook.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Huang Zhiyi <hzy980512@126.com>
Co-authored-by: Italian Translator <nekoxtranslator@etlgr.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Jendrej <ejjendrej@gmail.com>
Co-authored-by: Jozef Hollý <j2.00ghz@gmail.com>
Co-authored-by: KasukeLp <kasukelp23@yahoo.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Marco Santos <enum.scima@gmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Nepx <anandabaskara@outlook.com>
Co-authored-by: Neterskian <neterskian@gmail.com>
Co-authored-by: Oğuz Ersen <oguzersen@protonmail.com>
Co-authored-by: Pavka <pavel-mosein@yandex.ru>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Raven Neil Ocampo <ocamporavenneil@gmail.com>
Co-authored-by: Rostyslav <info@ubilling.net.ua>
Co-authored-by: Shjosan <shjosan@kakmix.co>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: Tom de Groot <ikbeniemanddieheet@gmail.com>
Co-authored-by: Zakhar Timoshenko <vp1984tanki@gmail.com>
Co-authored-by: anenasa <anenasaa@yahoo.com>
Co-authored-by: pepe1987 <killyourpepe@gmail.com>
Co-authored-by: ricardofontao2000 <up201806317@fe.up.pt>
Co-authored-by: sebastians17 <sebastians117.ss@gmail.com>
Co-authored-by: swastik <smokexd676@gmail.com>
Co-authored-by: zm-dksg <zemariadekonincksg@gmail.com>
Co-authored-by: Újvári Marcell <mmarci72@gmail.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ar/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/bn/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/cs/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/de/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/el/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/es/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/es_419/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fil/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/hi/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/hr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/hu/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/id/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/it/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ja/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ms/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ne/
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/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ru/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sc/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sv/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/tl/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/tr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/uk/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/vi/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hant/
Translation: Tachiyomi/Tachiyomi 0.x

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: Alifian Caesar <alifiancaesar@gmail.com>
Co-authored-by: Anup Pandey <pandeyanup58@gmail.com>
Co-authored-by: Arunava Ghosh <senseiarunava@gmail.com>
Co-authored-by: Blue <bluestuffish@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: DatTran MLL <tranthanhdat1142003@gmail.com>
Co-authored-by: Eric <spice2wolf@gmail.com>
Co-authored-by: FateXBlood <zecrofelix@gmail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Guerilla Girl <tnfgdqzx@guerrillamail.info>
Co-authored-by: Haithem Djabi <zabiz9632@gmail.com>
Co-authored-by: HaruSasaki <aiqusubaru@gmail.com>
Co-authored-by: HeavenShadow <heavenshadow@outlook.com>
Co-authored-by: Huang Zhiyi <hzy980512@126.com>
Co-authored-by: Italian Translator <nekoxtranslator@etlgr.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Jendrej <ejjendrej@gmail.com>
Co-authored-by: KasukeLp <kasukelp23@yahoo.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Marco Santos <enum.scima@gmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Nepx <anandabaskara@outlook.com>
Co-authored-by: Neterskian <neterskian@gmail.com>
Co-authored-by: Oğuz Ersen <oguzersen@protonmail.com>
Co-authored-by: Pavka <pavel-mosein@yandex.ru>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Raven Neil Ocampo <ocamporavenneil@gmail.com>
Co-authored-by: Rostyslav <info@ubilling.net.ua>
Co-authored-by: Shjosan <shjosan@kakmix.co>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: Tom de Groot <ikbeniemanddieheet@gmail.com>
Co-authored-by: Zakhar Timoshenko <vp1984tanki@gmail.com>
Co-authored-by: anenasa <anenasaa@yahoo.com>
Co-authored-by: pepe1987 <killyourpepe@gmail.com>
Co-authored-by: ricardofontao2000 <up201806317@fe.up.pt>
Co-authored-by: sebastians17 <sebastians117.ss@gmail.com>
Co-authored-by: swastik <smokexd676@gmail.com>
Co-authored-by: zm-dksg <zemariadekonincksg@gmail.com>
Co-authored-by: Újvári Marcell <mmarci72@gmail.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
(cherry picked from commit 601309c7cc)
2021-12-02 19:29:18 -05:00
jmir1 b2b5854910 Fix local source cover changing (#6252)
* fix local source cover changing

* Remove unnecessary check for `exists()`

* fix for when there is no thumbnail_url in the db

(cherry picked from commit 10ddeeb799)
2021-12-02 19:29:08 -05:00
Ivan Iskandar 8ad6e89ca6 MinMaxNumberPicker: Set IME input to use number only (#6286)
* MinMaxNumberPicker: Set IME input to use number only

* MinMaxNumberPicker: Auto disable keyboard input when needed

(cherry picked from commit 3463d6c752)
2021-12-02 19:29:00 -05:00
Henrik f4f898c5c5 fix MAL search novel filter (#6279)
(cherry picked from commit 8acce011b5)
2021-12-02 19:28:51 -05:00
Ivan Iskandar 4bfa2779ff Change Tako dark elevation overlay color (#6255)
(cherry picked from commit fe9ea50356)
2021-12-02 19:28:44 -05:00
Riztard Lanthorn 17928a2f40 Tweak Teal & Turquoise color for new M3 (#6268)
* Tweak Teal & Turquoise color for new M3

* capitalize

* tweak elevationOverlayColor

* more tweak

(cherry picked from commit e6f29ae57f)
2021-12-02 19:28:36 -05:00
arkon f2b071ee9d Fix crash in clear database screen (fixes #6271)
(cherry picked from commit 6cfd2c510b)
2021-12-02 19:28:23 -05:00
arkon fba5b999dd Add tertiary badge in appearance preview (closes #5867)
(cherry picked from commit 430ff80198)
2021-12-02 19:28:15 -05:00
arkon bf0902c186 Add divider under extension details header
(cherry picked from commit 230fa76d57)
2021-12-02 19:28:04 -05:00
arkon 43ef18cdc3 Partially migrate LocalSource to 1.x methods
(cherry picked from commit 46a4b0e0b6)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/source/LocalSource.kt
2021-12-02 19:27:53 -05:00
arkon 3af5098612 Clean up some tablet dimension values
(cherry picked from commit 5b3cadb7a8)
2021-12-02 19:22:59 -05:00
arkon 6661983d65 Update to Conductor 3.1.1
(cherry picked from commit 3153071a8a)
2021-12-02 19:22:53 -05:00
arkon 295d80e741 Add ability to clear cookies per-extension (closes #3153)
(cherry picked from commit bba7372556)
2021-12-02 19:22:44 -05:00
Hunter Nickel 7efde9c74c Add feature to clear database manga by source (#6241)
* Implement feature to selectively clear manga from database based on it's source

* Code cleanup and refactoring

(cherry picked from commit 9fe1a7e2ae)

# Conflicts:
#	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/ui/setting/SettingsAdvancedController.kt
2021-12-02 19:22:32 -05:00
arkon 475dc87604 Option to clear chapter cache when MainActivity is closed (closes #5651)
(cherry picked from commit 98822a39d9)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
2021-12-02 19:12:09 -05:00
arkon f049e1e2db Tweak app theme preference selection (closes #5866)
(cherry picked from commit a2c830b908)
2021-12-02 19:11:34 -05:00
Ivan Iskandar 4b25e3c31e Replace Resume FAB reveal animation with container transform (#6250)
(cherry picked from commit bdef2cfdfb)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/widget/RevealAnimationView.kt
2021-12-02 19:11:20 -05:00
Andreas ecbd80c55d Tweak relative date function (#6249)
* Tweak relative date function

* Cleanup

(cherry picked from commit f229a5e2ec)
2021-12-02 19:01:47 -05:00
Ivan Iskandar 1fd495f8d8 Reinstate elevation overlay (#6243)
* Theme default elevation overlay

* Fix app bar elevation overlay

Elevation overlay is disabled when tabs are visible

* Remove custom elevation overlay in tracking sheet item

* upsi

(cherry picked from commit 845e061382)
2021-12-02 19:01:41 -05:00
Soitora 1e8e02b0ea Rework the Library icon for the third time (#6237)
Power outtage made me lose an hour of work sadg

(cherry picked from commit e7d4eb1ae3)
2021-12-02 19:01:33 -05:00
arkon 1a2311e7ba Update dependencies
(cherry picked from commit b4ba56bfb4)
2021-12-02 19:01:25 -05:00
arkon 93a4634995 Clean up ActionMode styles
(cherry picked from commit 25784d1fe5)
2021-12-02 19:01:16 -05:00
arkon 7048d3e106 Use outlined cards in tracker search
(cherry picked from commit 619eca7a51)
2021-12-02 19:01:08 -05:00
arkon 1faeb083e4 Adjust manga genre chip style
(cherry picked from commit f3d85655a0)
2021-12-02 19:01:01 -05:00
arkon 9108b63ba4 Adjust CardView styles
(cherry picked from commit 9600675677)
2021-12-02 19:00:54 -05:00
arkon 3e7eaa58c1 Fix colorFilterActive in Tako theme
(cherry picked from commit ce8a759192)
2021-12-02 19:00:46 -05:00
Jobobby04 af89ebaa42 Remove Pure red theme 2021-12-02 19:00:09 -05:00
Ivan Iskandar a3f3099cfb Adapt App Themes to M3 Color System (#6230)
* Adapt Default theme to M3 color system

* Adapt Dynamic theme to M3 color system

* Adapt Midnight Dusk theme to M3 color system

* Adapt Strawberry Daiquiri theme to M3 color system

* Adapt Yotsuba theme to M3 color system

* Adapt Tako theme to M3 color system

* Adapt Green Apple theme to M3 color system

* Adapt Teal & Turquoise theme to M3 color system

* Adapt Yin & Yang theme to M3 color system

* Remove old theme colors

* Yotsuba theme adjustments

Co-authored-by: ztimms73 <vp1984tanki@gmail.com>

* Green Apple theme adjustments

Co-authored-by: Soitora <10836780+Soitora@users.noreply.github.com>

* Tako theme adjustments

* Midnight Dusk theme adjustments

* Use colorSurfaceVariant for colorControlHighlight

* Nits

Co-authored-by: ztimms73 <vp1984tanki@gmail.com>
Co-authored-by: Soitora <10836780+Soitora@users.noreply.github.com>
(cherry picked from commit 88bc0bf613)
2021-12-02 18:34:36 -05:00
Soitora 5031a6e47b Fix library animation lag (#6233)
(cherry picked from commit b508e4208a)
2021-12-02 18:34:28 -05:00
arkon 314f3b682b Fix overflowed action toolbar items
(cherry picked from commit c74d8cf499)
2021-12-02 18:34:21 -05:00
arkon c894f654de Remove outline from download queue items
(cherry picked from commit a34c2b082f)
2021-12-02 18:34:10 -05:00
Jobobby04 7e3e21f1a0 Fix a missing typography 2021-11-14 18:48:51 -05:00
arkon 19cdcdcab7 Address some Android lint warnings
(cherry picked from commit ad49a02879)

# Conflicts:
#	app/src/main/res/anim/fade_in_long.xml
#	app/src/main/res/drawable/ic_broken_image_grey_24dp.xml
2021-11-14 18:48:37 -05:00
arkon cd64b9b6eb Remove custom tab indicator style
M3 TabLayout has the same style built-in.

(cherry picked from commit e985ffc690)
2021-11-14 18:43:48 -05:00
Jobobby04 2b632fd6c5 Adapt M3 Typography SY 2021-11-14 18:43:38 -05:00
Ivan Iskandar a780ea8dd9 Adapt M3 Typography (#6228)
(cherry picked from commit 6cbb02f02d)
2021-11-14 18:35:32 -05:00
Andreas bc73e9f1d8 Fix "Check for updates" not working due to time cooldown (#6232)
* Fix "Check for updates" not working due to time cooldown

* Update AppUpdateChecker.kt

Co-authored-by: arkon <arkon@users.noreply.github.com>
(cherry picked from commit c0d0ff66b6)
2021-11-14 18:35:15 -05:00
Jobobby04 4ea72f5342 Keep future chapters on Mangadex like Billibi and Comikey 2021-11-14 18:34:22 -05:00
Jobobby04 b227f2a4a5 Fix most unknown titles 2021-11-14 18:09:47 -05:00
Jobobby04 fb4d15d9ef Better support tsumno and mangadex tag search 2021-11-13 23:19:01 -05:00
Jobobby04 114ef56329 Tweak title parsing 2021-11-13 22:52:50 -05:00
Jobobby04 0df5376545 Mangadex support completed status 2021-11-13 22:46:03 -05:00
Jobobby04 508f025092 Minor cleanup and fix build 2021-11-13 17:43:40 -05:00
Jobobby04 b41c4cac47 Cleanup filter sheet adapter 2021-11-13 17:43:17 -05:00
arkon 4795c16877 Only allow digits in custom download range dialog (closes #6220)
(cherry picked from commit 1e4d7f8c6e)
2021-11-13 17:31:42 -05:00
arkon a9dc395e19 Initial pass of Material 3 styling
Adjustments/fixes to follow.

(cherry picked from commit a8a761aa5f)
2021-11-13 17:31:35 -05:00
OncePunchedMan 49afc8c559 Added tabletUI option: "Automatic" (#6208)
* added automatic tablet ui option; useful for foldables

* set automatic as default, rename setting

* remove redundant checks

Co-authored-by: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>

* remove redundant checks

Co-authored-by: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>

* fix defaultValue

Co-authored-by: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
(cherry picked from commit 41952f0215)
2021-11-13 17:31:26 -05:00
arkon 1b65243b59 Update dependencies
(cherry picked from commit bfcc883f01)
2021-11-13 17:31:18 -05:00
arkon 1cf6e030ef Don't auto-download chapters if excluded but no categories selected (fixes #6126)
(cherry picked from commit 39722055f5)
2021-11-13 17:31:09 -05:00
arkon 0f70c14879 Remove legacy blue theme
Causing too many theming issues/complexity. This will make the Material 3 transition easier.

(cherry picked from commit f85dfa90b8)
2021-11-13 17:31:00 -05:00
arkon e4f493503d Default to only updating non-completed manga
(cherry picked from commit 0a4163d236)
2021-11-13 17:30:52 -05:00
Andreas ab6445d010 Fix SwipeRefresh initial position in MangaController (#6211)
* Lower position of swipe refresh

* Tweak existing code that sets swipe refresh position

(cherry picked from commit 78de11a9e3)
2021-11-13 17:30:44 -05:00
arkon 188f2bf4f2 Use sw720dp for tablet UI threshold
(cherry picked from commit d2fc6d9f44)
2021-11-13 17:30:37 -05:00
arkon 9af4751095 Fix cutoff ripple for extension install cancel button
(cherry picked from commit abf31f4a79)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/ExtensionHolder.kt
2021-11-13 17:30:27 -05:00
arkon 6f82ab64a0 Disable some unnecessary build features
(cherry picked from commit f28dd4f4de)

# Conflicts:
#	app/build.gradle.kts
2021-11-13 17:29:57 -05:00
arkon 5de01f4107 Update dependencies
(cherry picked from commit 55b64899f5)

# Conflicts:
#	app/build.gradle.kts
2021-11-13 17:28:58 -05:00
arkon c67193d00f Avoid crashing when notification channels can't be created/deleted
For example, the application may be launched from a service, where channels cannot be deleted.

(cherry picked from commit d4aeeadb26)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/App.kt
2021-11-13 17:28:03 -05:00
arkon 683c9a9c69 Disable updates badge by default
(cherry picked from commit 7ce0110158)
2021-11-13 17:26:28 -05:00
Jobobby04 2e4120d436 Should fix crash with migration 2021-11-07 17:05:31 -05:00
Jobobby04 892f64829b Fix some weird behavior with saved searches 2021-11-02 19:47:20 -04:00
Jobobby04 bfe6ed1c12 Lint 2021-11-02 19:30:38 -04:00
Jobobby04 93f8a42742 Only show push to mdlist if mdlist is logged in 2021-11-02 19:14:18 -04:00
arkon 4d3e4bbea8 Update metadata in same scope as the rest of library update (fixes #5702, probably)
(cherry picked from commit 7c1e55eb7f)
2021-11-02 19:09:02 -04:00
jmir1 c04550fe15 Fix crash when updating library whithout manga to update (#6181)
(cherry picked from commit 27542bc81d)
2021-11-02 19:08:54 -04:00
arkon be2e95db38 Clean up local source chapter name cleaning (closes #5969)
(cherry picked from commit 9ebbfb2d90)
2021-11-02 19:08:47 -04:00
arkon 39449b66e1 Fix bottom nav sometimes appearing within navbar area
(cherry picked from commit 701b1ee744)
2021-11-02 19:08:37 -04:00
arkon d95833fce7 Move app and extension update notifications to new channels/group (closes #6168)
(cherry picked from commit 0edc981cd2)
2021-11-02 19:08:30 -04:00
arkon 13f1f37a3e Remove unused fast scroll bubble drawable and accidentally committed file
(cherry picked from commit da5942b398)
2021-11-02 19:08:21 -04:00
arkon d699d3899c Move unread chapters badge setting to General section
(cherry picked from commit 709de81814)
2021-11-02 19:08:15 -04:00
Ivan Iskandar 4ad33540f3 Extension "Update all" button (#6171)
Disabled for legacy installer

(cherry picked from commit 90b312a56e)
2021-11-02 19:08:08 -04:00
Hunter Nickel 951418b576 Add badge to bottom bar Updates tab indicating how many unread chapter updates are available (#5620)
Co-authored-by: arkon <arkon@users.noreply.github.com>
(cherry picked from commit 459759bfe5)
2021-11-02 19:08:00 -04:00
arkon 29801d4dd0 Remove translations of non-translatable strings
(cherry picked from commit 00817aacfe)
2021-11-02 19:07:52 -04:00
Jozef Hollý dd843649cb Weblate translations (#6118)
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: Alifian Caesar <alifiancaesar@gmail.com>
Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
Co-authored-by: Areen Anwar <areenanwar66@gmail.com>
Co-authored-by: Blue <bluestuffish@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: DatTran MLL <tranthanhdat1142003@gmail.com>
Co-authored-by: Eric <spice2wolf@gmail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Hautzii <am.03012002@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Huang Zhiyi <hzy980512@126.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Jozef Hollý <j2.00ghz@gmail.com>
Co-authored-by: KasukeLp <kasukelp23@yahoo.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Marco Santos <enum.scima@gmail.com>
Co-authored-by: Neterskian <neterskian@gmail.com>
Co-authored-by: Nin Gun <luis_noxer@hotmail.es>
Co-authored-by: Oğuz Ersen <oguzersen@protonmail.com>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Rafi <ziomeq65@gmail.com>
Co-authored-by: Resshi <jyxo@centrum.cz>
Co-authored-by: Shjosan <shjosan@kakmix.co>
Co-authored-by: Soitora <simon.mattila@protonmail.com>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: jTnqr <juliuspanjul25@gmail.com>
Co-authored-by: monolifed <monolifed@protonmail.com>
Co-authored-by: sebastians17 <sebastians117.ss@gmail.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/cs/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/de/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/el/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/es/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/es_419/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fil/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/id/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/it/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ja/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ms/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/nb_NO/
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_BR/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ru/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sc/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sdh/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sv/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/tr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/vi/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hant/
Translation: Tachiyomi/Tachiyomi 0.x

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: Alifian Caesar <alifiancaesar@gmail.com>
Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
Co-authored-by: Areen Anwar <areenanwar66@gmail.com>
Co-authored-by: Blue <bluestuffish@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: DatTran MLL <tranthanhdat1142003@gmail.com>
Co-authored-by: Eric <spice2wolf@gmail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Hautzii <am.03012002@gmail.com>
Co-authored-by: Huang Zhiyi <hzy980512@126.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: KasukeLp <kasukelp23@yahoo.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Marco Santos <enum.scima@gmail.com>
Co-authored-by: Neterskian <neterskian@gmail.com>
Co-authored-by: Nin Gun <luis_noxer@hotmail.es>
Co-authored-by: Oğuz Ersen <oguzersen@protonmail.com>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Rafi <ziomeq65@gmail.com>
Co-authored-by: Resshi <jyxo@centrum.cz>
Co-authored-by: Shjosan <shjosan@kakmix.co>
Co-authored-by: Soitora <simon.mattila@protonmail.com>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: jTnqr <juliuspanjul25@gmail.com>
Co-authored-by: monolifed <monolifed@protonmail.com>
Co-authored-by: sebastians17 <sebastians117.ss@gmail.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
(cherry picked from commit e306eb0874)
2021-11-02 19:07:43 -04:00
Riztard Lanthorn af6b42cec7 Hide cutout toggle button if fullscreen is off (#6150)
(cherry picked from commit 33a02b47d5)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReaderGeneralSettings.kt
2021-11-02 19:07:29 -04:00
Tom Briden ec6b6ae779 Fix storing covers for local manga (#6127)
getCoverFile only returns a cover if it already exists, meaning
the block of code to write it from the inputstream never executes.
If getCoverFile returns null, then use previous behaviour of setting
it to cover.jpg so that if the file doesn't exist it's created

(cherry picked from commit f0a5557e60)
2021-11-02 19:06:35 -04:00
FlaminSarge 23fae05694 Allow manga titles to update from source if they are not in library (#6177)
The previous rationale for not allowing manga titles to update (at all) was that it would be confusing for users if a manga's title arbitrarily changed when the source changed it. Presumably, users would care less about this arbitrary change for manga that is not in library, so this provides a path for getting a manga's title updated, and prevents incorrect titles from persisting in the DB for manga that get title updates but aren't in library.

(cherry picked from commit 58a871c8cc)
2021-11-02 19:06:09 -04:00
arkon eb49df6ee8 Validate backup during creation
(cherry picked from commit 4f56071786)
2021-11-02 19:06:02 -04:00
arkon 64b1b3ac5d Update dependencies
(cherry picked from commit f8b2c79aef)
2021-11-02 19:05:54 -04:00
Andreas 29a24fa047 Change zoom from 3x to 5x (#6164)
Because some people actually read images with really small text

*I hope they have some extreme high quality pictures else I don't know how they read the raster images*

(cherry picked from commit 8f00d34b0b)
2021-11-02 19:05:45 -04:00
Soitora 95bca82355 More sensical string for 'pref_hide_threshold' (#6157)
(cherry picked from commit 6129519e5a)
2021-11-02 19:05:37 -04:00
arkon d8407e20da Sync view state with controller on activity resume
Hopefully fixes some weird states where the bottom nav shows up when it shouldn't.

(cherry picked from commit 593091a5e3)
2021-11-02 19:05:27 -04:00
arkon e28d72bf9c Minor cleanup
(cherry picked from commit 93e2b88d41)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/updater/AppUpdateChecker.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
2021-11-02 19:05:18 -04:00
Jobobby04 8d291b1bc3 Implement invert double pages 2021-10-23 23:53:30 -04:00
Jobobby04 4d7d451fde Maybe help with double page jankyness 2021-10-23 22:35:07 -04:00
Jobobby04 ef9a4ee643 Launch the download warning toast in the UI thread 2021-10-23 16:44:21 -04:00
Jobobby04 04c683675f Fix MangaPlus errors 2021-10-23 16:36:42 -04:00
Jobobby04 f8d14827da Add some padding to the continue reading button if the lang badge is enabled 2021-10-23 16:30:20 -04:00
Jobobby04 c560b70b83 Fix extra padding if there is no namespace 2021-10-23 16:25:25 -04:00
Jobobby04 62ee9e6560 Fix vertical slider 2021-10-23 16:14:53 -04:00
Jobobby04 aa70a2e6f3 Fix reader slider not doing anything 2021-10-23 15:43:15 -04:00
Jobobby04 07d13aed4e Cleanup MangaPlus stuff, only keep what SY uses 2021-10-23 15:28:28 -04:00
Jobobby04 c0a3406335 fix imports 2021-10-23 14:35:15 -04:00
Jobobby04 0a91597dac Add in library badge to latest and new browse view 2021-10-23 14:25:14 -04:00
Jobobby04 b90f339476 Minor cleanup 2021-10-23 14:25:13 -04:00
Jobobby04 1f145ef0d4 Remove extra padding on namespace tags 2021-10-23 14:25:13 -04:00
Jobobby04 bb409e5ced Workaround for cbz long filename error 2021-10-23 14:25:12 -04:00
Midyan Hamdoun ed5c3f327c Fix double increment when updating covers (#6138)
* Fix double increment when updating covers

* Remove redundant block

(cherry picked from commit ccd7c8df53)
2021-10-23 14:25:12 -04:00
Jobobby04 72b33a1c52 Tweak mangadex integration 2021-10-23 14:25:11 -04:00
Jobobby04 8c23c07c78 Update dependancies 2021-10-23 14:25:11 -04:00
Jobobby04 080d845270 Update realm to move off JCenter for SY 2021-10-23 14:25:10 -04:00
Jobobby04 f2c881cb42 Update WI-FI restriction for EXH update worker 2021-10-23 14:25:10 -04:00
arkon 0b3a4e651e Remove jcenter usage (closes #4387)
(cherry picked from commit 5b3bd3f470)
2021-10-23 14:25:10 -04:00
arkon 9840e8ab57 Change tablet UI threshold to w720dp (closes #6054)
Was previously sw720dp. Now matches J2K.

(cherry picked from commit bf1b7f44b6)
2021-10-23 14:25:09 -04:00
arkon cdb9768335 Adjust update/download warnings
- Uses toasts now
- Adjusted wording to emphasize effect on sources
- Download warning has a different threshold (15 chapters per source, vs. 60 entries per source for library update)

(cherry picked from commit 538dd60580)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
2021-10-23 14:25:08 -04:00
Platiplus 4e5a8668fc [6068] - Use semibold text for Browse items primary text (#6087)
* Changing the text on source title (browse items) to semibold and fixing the color of the subtitle on global search

* Updated history_item, updates_item and global_search to not have bold titles

* Changing global_search_controller_card

* Changing back history_item

(cherry picked from commit f453236840)
2021-10-23 14:25:08 -04:00
arkon 7849c7970e Minor cleanup
(cherry picked from commit bfe7aa1ed2)
2021-10-23 14:25:07 -04:00
arkon 5bf424af40 Remove global update intervals below 12 hours, add every 3 day interval
Users with smaller libraries have a lower change of getting updates frequently. "Power users" are actively hurting sources by updating frequently.

(cherry picked from commit 9e2ef82902)

# Conflicts:
#	app/build.gradle.kts
2021-10-23 14:25:07 -04:00
arkon 456fdbe4e9 Make tapping library update and backup restore error notifications open log
(cherry picked from commit 9352e249ee)
2021-10-23 14:25:06 -04:00
Midyan Hamdoun 5802bf7626 Fix crashing when clicking the search icon (#6128)
(cherry picked from commit 3800065230)
2021-10-23 14:25:06 -04:00
arkon 62c0f50314 Remove paused text when resuming downloads with info hidden (fixes #6119)
(cherry picked from commit ebc2c4f73a)
2021-10-23 14:25:05 -04:00
arkon cb55a46717 Use natural ordering when sorting by chapter numbers (fixes #6121)
(cherry picked from commit f057440cc1)
2021-10-23 14:25:05 -04:00
Jozef Hollý 8761451412 Weblate translations (#6047)
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
Co-authored-by: Archie <careless.archie@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: DatTran MLL <tranthanhdat1142003@gmail.com>
Co-authored-by: Eric <spice2wolf@gmail.com>
Co-authored-by: Forqen <krecio555@gmail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Huang Zhiyi <hzy980512@126.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Jendrej <ejjendrej@gmail.com>
Co-authored-by: Jetspectre <jetspectre1@gmail.com>
Co-authored-by: Jozef Hollý <j2.00ghz@gmail.com>
Co-authored-by: KasukeLp <kasukelp23@yahoo.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Marco Santos <enum.scima@gmail.com>
Co-authored-by: Matey Krastev <matey_krastev2@abv.bg>
Co-authored-by: Pedro <pedro-mediavilla@hotmail.com>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Ric <rikku.debec@gmail.com>
Co-authored-by: Rostyslav <info@ubilling.net.ua>
Co-authored-by: Shippo <shiposhouyou@gmail.com>
Co-authored-by: Shjosan <shjosan@kakmix.co>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: jTnqr <juliuspanjul25@gmail.com>
Co-authored-by: monolifed <monolifed@protonmail.com>
Co-authored-by: swastik <smokexd676@gmail.com>
Co-authored-by: turhv jbufv <turhvjbufv@gmail.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ar/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/bg/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/cs/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/de/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/el/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/es/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/es_419/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fil/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/he/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/hi/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/id/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/it/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ja/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ms/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/pl/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ru/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sc/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sv/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/tr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/uk/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/vi/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hant/
Translation: Tachiyomi/Tachiyomi 0.x

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
Co-authored-by: Archie <careless.archie@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: DatTran MLL <tranthanhdat1142003@gmail.com>
Co-authored-by: Eric <spice2wolf@gmail.com>
Co-authored-by: Forqen <krecio555@gmail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Huang Zhiyi <hzy980512@126.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Jendrej <ejjendrej@gmail.com>
Co-authored-by: Jetspectre <jetspectre1@gmail.com>
Co-authored-by: KasukeLp <kasukelp23@yahoo.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Marco Santos <enum.scima@gmail.com>
Co-authored-by: Matey Krastev <matey_krastev2@abv.bg>
Co-authored-by: Pedro <pedro-mediavilla@hotmail.com>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Ric <rikku.debec@gmail.com>
Co-authored-by: Rostyslav <info@ubilling.net.ua>
Co-authored-by: Shippo <shiposhouyou@gmail.com>
Co-authored-by: Shjosan <shjosan@kakmix.co>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: jTnqr <juliuspanjul25@gmail.com>
Co-authored-by: monolifed <monolifed@protonmail.com>
Co-authored-by: swastik <smokexd676@gmail.com>
Co-authored-by: turhv jbufv <turhvjbufv@gmail.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
(cherry picked from commit 506f9cfca8)
2021-10-23 14:25:04 -04:00
arkon 819075a8f1 Change global update unmetered connection restriction to connected to Wi-Fi (closes #6117)
(cherry picked from commit 8a70c3353f)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsLibraryController.kt
2021-10-23 14:25:04 -04:00
arkon 01778c0c42 Add notification action to open GitHub release page
Co-authored-by: Jays2Kings <Jays2Kings@users.noreply.github.com>
(cherry picked from commit 3d8f123e05)
2021-10-23 14:25:03 -04:00
arkon b01e38f4c0 Update dependencies
(cherry picked from commit a8c8f15e07)

# Conflicts:
#	app/build.gradle.kts
2021-10-23 14:25:02 -04:00
arkon c4f06d9830 Rename app updating classes
So I stop confusing it for updaters of other things.

(cherry picked from commit 21e647017b)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/Migrations.kt
2021-10-23 14:25:02 -04:00
Midyan Hamdoun 59d05af9ef Fix reappearing indicator in the History tab (#6105)
(cherry picked from commit 2a1bb3dc27)
2021-10-23 14:25:01 -04:00
Ivan Iskandar e63bd150e9 Fix AppBar lift state when snapped (#6103)
status bar foreground alpha is now handled separately

(cherry picked from commit 55a3094a65)
2021-10-23 14:25:01 -04:00
Andreas bfadfd0fc8 Fix inset not applying when in landscape (#6104)
Reverts inset change from #5997, was changed due to it not changing the padding when using setPadding

(cherry picked from commit b4490e209b)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryCategoryView.kt
2021-10-23 14:25:00 -04:00
Jays2Kings 70c866d8f3 Use default source filters in global search (fixes #5583)
Based on https://github.com/Jays2Kings/tachiyomiJ2K/commit/45fbd9d2f5eba03f0734a58ad46de16a047ae783

(cherry picked from commit 9aa676333c)
2021-10-23 14:25:00 -04:00
Ivan Iskandar 28b57f4f42 Fix MangaController fast scroller position (#6090)
(cherry picked from commit bb06895145)
2021-10-23 14:24:59 -04:00
Jobobby04 01e4697a04 Fix badges binding 2021-10-23 14:24:59 -04:00
Ivan Iskandar b116f5e1fd MangaController optimizations (#6089)
* MangaController: Fix ignored stable ids

* MangaController: Replace notifyDataSetChanged

* ChaptersSettingsSheet: Optimizations

(cherry picked from commit 684965f3e5)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoHeaderAdapter.kt
2021-10-23 14:24:58 -04:00
Jays2Kings 7fb4cd29dc Add migration to add "all" to enabled langauges
Co-authored-by: Jays2Kings <Jays2Kings@users.noreply.github.com>
(cherry picked from commit e621f4e2fa)

# Conflicts:
#	app/build.gradle.kts
2021-10-23 14:24:57 -04:00
Jays2Kings 042bf4d4f6 Update missing chapters warning
Co-authored-by: Jays2Kings <Jays2Kings@users.noreply.github.com>
(cherry picked from commit 028ea57232)
2021-10-23 14:24:57 -04:00
arkon 6dac25855b Bump queue warning threshold to 60
Aligns with J2K.

(cherry picked from commit 718fa25c10)
2021-10-23 14:24:57 -04:00
arkon 01b0f0bec1 Update AGP
(cherry picked from commit 90c9f28818)
2021-10-23 14:24:56 -04:00
arkon f4d1f5ff95 Minor cleanup
(cherry picked from commit cb9c5a35cb)
2021-10-23 14:24:56 -04:00
arkon e202c108ff Handle HTTP 403 responses with CloudflareInterceptor
Based on https://github.com/jmir1/aniyomi/commit/8d34da591ed8e4341f0f8312402164a7bc17bc68

Co-authored-by: jmir1 <jmir1@users.noreply.github.com>
(cherry picked from commit fadaefeaef)
2021-10-23 14:24:55 -04:00
arkon 848a2ec4f6 Adjust update/download warning threshold
(cherry picked from commit b17b882a3b)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt
2021-10-23 14:24:55 -04:00
jmir1 def5bdca28 Fix issues with NSFW sources setting (#6085)
(cherry picked from commit f0f3afd5f1)
2021-10-23 14:24:54 -04:00
arkon e0a09cdac7 Allow hiding "All" section in extensions list (closes #6081)
(cherry picked from commit 42026b49bf)
2021-10-23 14:24:54 -04:00
arkon eea2d7b0e0 Reword missing chapters warning (closes #6074)
(cherry picked from commit 151193c4c3)
2021-10-23 14:24:53 -04:00
jmir1 7e11f3952f Fix crash when deleting last item in library (#6079)
(cherry picked from commit 3448751e0e)
2021-10-23 14:24:52 -04:00
arkon a9a93e2f8f Use SwitchMaterial for preferences too (closes #5724)
(cherry picked from commit aae011ed83)
2021-10-23 14:24:51 -04:00
arkon 38f1af7577 Use single layout for grid badges
(cherry picked from commit c95a269460)

# Conflicts:
#	app/src/main/res/layout/source_comfortable_grid_item.xml
#	app/src/main/res/layout/source_compact_grid_item.xml
2021-10-23 14:24:51 -04:00
arkon 155b36a0bc Reword badge titles
(cherry picked from commit 98c0e5271f)
2021-10-23 14:24:50 -04:00
arkon 806b35d024 Require authentication to toggle showing NSFW sources
(cherry picked from commit f343131802)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsSecurityController.kt
2021-10-23 14:24:50 -04:00
arkon 8bbaa60a1b Allow searching for multiple extensions at once (closes #5922)
(cherry picked from commit ea34ba53b9)
2021-10-23 14:24:49 -04:00
arkon bedb3f2bd8 Add some info about automatic backups
(cherry picked from commit b8d8cf19d9)
2021-10-23 14:24:49 -04:00
arkon 6b0927298a Smaller font size for reader page indicator (closes #6071)
(cherry picked from commit c9be4093e7)
2021-10-23 14:24:48 -04:00
arkon d9487ea7e9 Add warnings when library and download queues are considered large (closes #5950)
Arbitrarily set at a size of 100 for now. We could adjust this in the future as appropriate if needed.

(cherry picked from commit 082eef708f)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt
2021-10-23 14:24:48 -04:00
Ivan Iskandar 8a85d82587 Grouped chapter download list by source (#5575)
(cherry picked from commit 9106fc5b94)
2021-10-23 14:24:47 -04:00
Platiplus 59655ccfd1 [5893] - Implemented Language Badge (#6050)
* Implemented language badge on library items

* Added left margin for better viewing the badge on list view

* Adjusting borders on badges, cleaning string interpolation and cleaning code

* Improving readability on Holders and removing unused background and text on grid items

(cherry picked from commit 918502742d)
2021-10-23 14:24:47 -04:00
Ivan Iskandar 6bb8ae0d1e Manga description adjustments (#6011)
* Manga description adjustments

- Animated state changes
- Adjust scrim position to fully show 2 lines when shrunk
- Set minLines to avoid scrim hiding oneliner

* Change icon and adjust animation

* Revert fancy scrim animation

(cherry picked from commit f32f1eeaa5)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoHeaderAdapter.kt
#	app/src/main/res/layout-sw720dp/manga_info_header.xml
#	app/src/main/res/layout/manga_info_header.xml
2021-10-23 14:24:46 -04:00
nicki 1d80725ea9 Fix Local and Other lang sources showing up in seperate Other Categories (#6024)
* group LocalSource and Other lang source together

* use better kotlin syntactic sugar

* add lang "other" to local

* remove duplicate LocalSource entries in Browse

* linting

* revert unnecessary linting

was a manually adding change

* Revert previous two commit but not the most recent

This reverts commit 30250f2f82fc5e38a1b30c7b55c445efec23a114
This also reversts commit 359ed5a8cda91577216b593a4138280e971e0126

* better way to avoid duplicate Local Sources

* more linting by plugin

* `""` lang is no longer used anywhere

(cherry picked from commit 2d1404d155)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcePresenter.kt
2021-10-23 14:24:45 -04:00
arkon 353a3ffe00 Hide slider tooltip label everywhere
(cherry picked from commit a56997e98c)
2021-10-23 14:24:45 -04:00
arkon d0e6297995 Update dependencies
(cherry picked from commit ef918078d1)

# Conflicts:
#	app/build.gradle.kts
2021-10-23 14:24:44 -04:00
Jobobby04 be52ea6f18 Maybe fix a few crashes related to mangadex logins 2021-10-23 14:24:44 -04:00
Jobobby04 f76c48c8ae Fix SY text styles 2021-10-23 14:24:43 -04:00
Jobobby04 2f203f7a1d Cleanup and fixes 2021-10-23 14:24:43 -04:00
Ivan Iskandar 14d6e8dd94 Replace Timber with Square Logcat and make logging configurable (#6062)
* Replace Timber with Square Logcat

* Configurable logger

(cherry picked from commit 2e127dff1f)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/App.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/full/FullBackupManager.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/source/LocalSource.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/details/SourcePreferencesController.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/manga/MangaController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/more/AboutController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.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/PagerViewer.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerViewerAdapter.kt
2021-10-23 14:24:42 -04:00
Platiplus b10de38e9a [6059] - Pending downloads count on Download queue screen (#6064)
* Updating the download queue label to account for pending downloads even on paused state

* changing separator

* Created observer to update the TitleBar of the controller to reflect pending downloads

* Reverting changes from MoreController that were made in an another commit

* Refactoring updateTitle method

(cherry picked from commit e98f90b099)
2021-10-23 14:24:41 -04:00
Platiplus 22a1544427 [5753] - Add pending downloads count on Download queue (#6049)
* Updating the download queue label to account for pending downloads even on paused state

* changing separator

(cherry picked from commit 828db19e02)
2021-10-23 14:24:41 -04:00
Jozef Hollý 4380283ad1 Weblate translations (#6046)
Co-authored-by: AHmed HarBy <themagic1093@gmail.com>
Co-authored-by: Afiq Nazrie <afnazrie@gmail.com>
Co-authored-by: Ainārs Lapkovskis <ainarslapkovskis@gmail.com>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Albedo <Illiator27@gmail.com>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: Alifian Caesar <alifiancaesar@gmail.com>
Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
Co-authored-by: Blue <bluestuffish@gmail.com>
Co-authored-by: Christian Elbrianno <christian.elbrianno41@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: Druvvaldis <druvvaldisr@gmail.com>
Co-authored-by: Emerson Nunes <emerson.nunes.ds@gmail.com>
Co-authored-by: Emma Jane Bonestell <EmmaJaneBonestell@gmail.com>
Co-authored-by: Eric <spice2wolf@gmail.com>
Co-authored-by: Fernando Sanchez <cheeze.sprinkels@gmail.com>
Co-authored-by: Forqen <krecio555@gmail.com>
Co-authored-by: Francesco Zanella <franzghosts@gmail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Hassay Ádám Tamás <hassayadam@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Huang Zhiyi <hzy980512@126.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Jakub Fabijan <jakubfabijan@tuta.io>
Co-authored-by: Junan Chk <junanchakma2000@gmail.com>
Co-authored-by: K. Sz. Bence <tudi20@protonmail.com>
Co-authored-by: Kaleb <kalebcarvalho1@gmail.com>
Co-authored-by: Krishna Chand <krishna_chand67@naver.com>
Co-authored-by: LoneHash <sameepsk2@gmail.com>
Co-authored-by: Luna Jernberg <droidbittin@gmail.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Marco Santos <enum.scima@gmail.com>
Co-authored-by: Matyáš Caras <contact@hernikplays.cz>
Co-authored-by: Miguel Alexandro Manzano Guerra <kuro_eis@hotmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Nishant Bodkhe <nishantbodkhe44@gmail.com>
Co-authored-by: Oğuz Ersen <oguzersen@protonmail.com>
Co-authored-by: Pedro <pedro-mediavilla@hotmail.com>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Redy Apriyadi <redy.apriyadi@gmail.com>
Co-authored-by: Ric <rikku.debec@gmail.com>
Co-authored-by: Shjosan <shjosan@kakmix.co>
Co-authored-by: Sieg Jaeger <zekerett@gmail.com>
Co-authored-by: Steven Pedroza <stevenpedroza56@gmail.com>
Co-authored-by: Temporary Person <TemporaryPerson@protonmail.com>
Co-authored-by: Zero O <godarms2010@live.com>
Co-authored-by: ZiomaleQ <r.partyka30@gmail.com>
Co-authored-by: crackheadakira <lasn.mine@gmail.com>
Co-authored-by: dmswd <Bmswad1@gmail.com>
Co-authored-by: julptk <julptk8@gmail.com>
Co-authored-by: monolifed <monolifed@protonmail.com>
Co-authored-by: phannhanhn201 <phannhanhn201@gmail.com>
Co-authored-by: rytis sertvytis <knysliukas2002@gmail.com>
Co-authored-by: soplatnik <jestapom@protonmail.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
Co-authored-by: พรหมชัย ชูแสง <promchai2sin@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/aii/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ar/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/bn/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/cs/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/de/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/el/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/eo/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/es/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/es_419/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fil/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/hi/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/hr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/hu/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/id/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/it/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ja/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/jv/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/lt/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/lv/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/mr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ms/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ne/
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/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ru/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sc/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sv/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/th/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/tr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/vi/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hant/
Translation: Tachiyomi/Tachiyomi 0.x

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: AHmed HarBy <themagic1093@gmail.com>
Co-authored-by: Afiq Nazrie <afnazrie@gmail.com>
Co-authored-by: Ainārs Lapkovskis <ainarslapkovskis@gmail.com>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Albedo <Illiator27@gmail.com>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: Alifian Caesar <alifiancaesar@gmail.com>
Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
Co-authored-by: Blue <bluestuffish@gmail.com>
Co-authored-by: Christian Elbrianno <christian.elbrianno41@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: Druvvaldis <druvvaldisr@gmail.com>
Co-authored-by: Emerson Nunes <emerson.nunes.ds@gmail.com>
Co-authored-by: Emma Jane Bonestell <EmmaJaneBonestell@gmail.com>
Co-authored-by: Eric <spice2wolf@gmail.com>
Co-authored-by: Fernando Sanchez <cheeze.sprinkels@gmail.com>
Co-authored-by: Forqen <krecio555@gmail.com>
Co-authored-by: Francesco Zanella <franzghosts@gmail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Hassay Ádám Tamás <hassayadam@gmail.com>
Co-authored-by: Huang Zhiyi <hzy980512@126.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Jakub Fabijan <jakubfabijan@tuta.io>
Co-authored-by: Junan Chk <junanchakma2000@gmail.com>
Co-authored-by: K. Sz. Bence <tudi20@protonmail.com>
Co-authored-by: Kaleb <kalebcarvalho1@gmail.com>
Co-authored-by: Krishna Chand <krishna_chand67@naver.com>
Co-authored-by: LoneHash <sameepsk2@gmail.com>
Co-authored-by: Luna Jernberg <droidbittin@gmail.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Marco Santos <enum.scima@gmail.com>
Co-authored-by: Matyáš Caras <contact@hernikplays.cz>
Co-authored-by: Miguel Alexandro Manzano Guerra <kuro_eis@hotmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Nishant Bodkhe <nishantbodkhe44@gmail.com>
Co-authored-by: Oğuz Ersen <oguzersen@protonmail.com>
Co-authored-by: Pedro <pedro-mediavilla@hotmail.com>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Redy Apriyadi <redy.apriyadi@gmail.com>
Co-authored-by: Ric <rikku.debec@gmail.com>
Co-authored-by: Shjosan <shjosan@kakmix.co>
Co-authored-by: Sieg Jaeger <zekerett@gmail.com>
Co-authored-by: Steven Pedroza <stevenpedroza56@gmail.com>
Co-authored-by: Temporary Person <TemporaryPerson@protonmail.com>
Co-authored-by: Zero O <godarms2010@live.com>
Co-authored-by: ZiomaleQ <r.partyka30@gmail.com>
Co-authored-by: crackheadakira <lasn.mine@gmail.com>
Co-authored-by: dmswd <Bmswad1@gmail.com>
Co-authored-by: julptk <julptk8@gmail.com>
Co-authored-by: monolifed <monolifed@protonmail.com>
Co-authored-by: phannhanhn201 <phannhanhn201@gmail.com>
Co-authored-by: rytis sertvytis <knysliukas2002@gmail.com>
Co-authored-by: soplatnik <jestapom@protonmail.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
Co-authored-by: พรหมชัย ชูแสง <promchai2sin@gmail.com>
(cherry picked from commit 99aa3f5713)
2021-10-23 14:24:40 -04:00
Andreas 908a2e19fe Fix stuck display mode for when not using per category setting (#6044)
(cherry picked from commit 1a568e2961)
2021-10-23 14:24:40 -04:00
arkon f72afd1359 Adjust Wi-Fi connection check (related to #6038)
(cherry picked from commit e863e8c64b)
2021-10-23 14:24:39 -04:00
Jozef Hollý f330ab3731 Weblate translations (#5913)
Co-authored-by: AHmed HarBy <themagic1093@gmail.com>
Co-authored-by: Ainārs Lapkovskis <ainarslapkovskis@gmail.com>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Albedo <Illiator27@gmail.com>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: Alifian Caesar <alifiancaesar@gmail.com>
Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
Co-authored-by: Blue <bluestuffish@gmail.com>
Co-authored-by: Christian Elbrianno <christian.elbrianno41@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: Druvvaldis <druvvaldisr@gmail.com>
Co-authored-by: Emerson Nunes <emerson.nunes.ds@gmail.com>
Co-authored-by: Emma Jane Bonestell <EmmaJaneBonestell@gmail.com>
Co-authored-by: Eric <spice2wolf@gmail.com>
Co-authored-by: Fernando Sanchez <cheeze.sprinkels@gmail.com>
Co-authored-by: Forqen <krecio555@gmail.com>
Co-authored-by: Francesco Zanella <franzghosts@gmail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Hassay Ádám Tamás <hassayadam@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Huang Zhiyi <hzy980512@126.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Jakub Fabijan <jakubfabijan@tuta.io>
Co-authored-by: Junan Chk <junanchakma2000@gmail.com>
Co-authored-by: K. Sz. Bence <tudi20@protonmail.com>
Co-authored-by: Kaleb <kalebcarvalho1@gmail.com>
Co-authored-by: Krishna Chand <krishna_chand67@naver.com>
Co-authored-by: LoneHash <sameepsk2@gmail.com>
Co-authored-by: Luna Jernberg <droidbittin@gmail.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Marco Santos <enum.scima@gmail.com>
Co-authored-by: Matyáš Caras <contact@hernikplays.cz>
Co-authored-by: Miguel Alexandro Manzano Guerra <kuro_eis@hotmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Nishant Bodkhe <nishantbodkhe44@gmail.com>
Co-authored-by: Oğuz Ersen <oguzersen@protonmail.com>
Co-authored-by: Pedro <pedro-mediavilla@hotmail.com>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Redy Apriyadi <redy.apriyadi@gmail.com>
Co-authored-by: Ric <rikku.debec@gmail.com>
Co-authored-by: Shjosan <shjosan@kakmix.co>
Co-authored-by: Sieg Jaeger <zekerett@gmail.com>
Co-authored-by: Steven Pedroza <stevenpedroza56@gmail.com>
Co-authored-by: Temporary Person <TemporaryPerson@protonmail.com>
Co-authored-by: Zero O <godarms2010@live.com>
Co-authored-by: ZiomaleQ <r.partyka30@gmail.com>
Co-authored-by: crackheadakira <lasn.mine@gmail.com>
Co-authored-by: dmswd <Bmswad1@gmail.com>
Co-authored-by: julptk <julptk8@gmail.com>
Co-authored-by: monolifed <monolifed@protonmail.com>
Co-authored-by: phannhanhn201 <phannhanhn201@gmail.com>
Co-authored-by: rytis sertvytis <knysliukas2002@gmail.com>
Co-authored-by: soplatnik <jestapom@protonmail.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
Co-authored-by: พรหมชัย ชูแสง <promchai2sin@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/aii/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ar/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/bn/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/cs/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/de/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/el/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/eo/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/es/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/es_419/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fil/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/hi/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/hr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/hu/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/id/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/it/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ja/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/jv/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/lt/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/lv/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/mr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ms/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ne/
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/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ru/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sc/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sv/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/th/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/tr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/vi/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hant/
Translation: Tachiyomi/Tachiyomi 0.x

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: AHmed HarBy <themagic1093@gmail.com>
Co-authored-by: Ainārs Lapkovskis <ainarslapkovskis@gmail.com>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Albedo <Illiator27@gmail.com>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: Alifian Caesar <alifiancaesar@gmail.com>
Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
Co-authored-by: Blue <bluestuffish@gmail.com>
Co-authored-by: Christian Elbrianno <christian.elbrianno41@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: Druvvaldis <druvvaldisr@gmail.com>
Co-authored-by: Emerson Nunes <emerson.nunes.ds@gmail.com>
Co-authored-by: Emma Jane Bonestell <EmmaJaneBonestell@gmail.com>
Co-authored-by: Eric <spice2wolf@gmail.com>
Co-authored-by: Fernando Sanchez <cheeze.sprinkels@gmail.com>
Co-authored-by: Forqen <krecio555@gmail.com>
Co-authored-by: Francesco Zanella <franzghosts@gmail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Hassay Ádám Tamás <hassayadam@gmail.com>
Co-authored-by: Huang Zhiyi <hzy980512@126.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Jakub Fabijan <jakubfabijan@tuta.io>
Co-authored-by: Junan Chk <junanchakma2000@gmail.com>
Co-authored-by: K. Sz. Bence <tudi20@protonmail.com>
Co-authored-by: Kaleb <kalebcarvalho1@gmail.com>
Co-authored-by: Krishna Chand <krishna_chand67@naver.com>
Co-authored-by: LoneHash <sameepsk2@gmail.com>
Co-authored-by: Luna Jernberg <droidbittin@gmail.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Marco Santos <enum.scima@gmail.com>
Co-authored-by: Matyáš Caras <contact@hernikplays.cz>
Co-authored-by: Miguel Alexandro Manzano Guerra <kuro_eis@hotmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Nishant Bodkhe <nishantbodkhe44@gmail.com>
Co-authored-by: Oğuz Ersen <oguzersen@protonmail.com>
Co-authored-by: Pedro <pedro-mediavilla@hotmail.com>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Redy Apriyadi <redy.apriyadi@gmail.com>
Co-authored-by: Ric <rikku.debec@gmail.com>
Co-authored-by: Shjosan <shjosan@kakmix.co>
Co-authored-by: Sieg Jaeger <zekerett@gmail.com>
Co-authored-by: Steven Pedroza <stevenpedroza56@gmail.com>
Co-authored-by: Temporary Person <TemporaryPerson@protonmail.com>
Co-authored-by: Zero O <godarms2010@live.com>
Co-authored-by: ZiomaleQ <r.partyka30@gmail.com>
Co-authored-by: crackheadakira <lasn.mine@gmail.com>
Co-authored-by: dmswd <Bmswad1@gmail.com>
Co-authored-by: julptk <julptk8@gmail.com>
Co-authored-by: monolifed <monolifed@protonmail.com>
Co-authored-by: phannhanhn201 <phannhanhn201@gmail.com>
Co-authored-by: rytis sertvytis <knysliukas2002@gmail.com>
Co-authored-by: soplatnik <jestapom@protonmail.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
Co-authored-by: พรหมชัย ชูแสง <promchai2sin@gmail.com>
(cherry picked from commit 8cfaf8eb51)
2021-10-23 14:24:39 -04:00
arkon 52f4e60d9b Fix crash in single-page chapters
(cherry picked from commit 675c0cefc3)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
2021-10-23 14:24:38 -04:00
arkon 4ddaba06f7 Formatting
(cherry picked from commit 1a52385b78)
2021-10-23 14:24:38 -04:00
Andreas bd8a7c038e Remove extra padding when using list with Per Category setting (#5997)
* Remove padding when using list with Per Category setting (fixes #5636)

* Add view type to RecyclerViewPagerAdapter

Correctly this time (ノ◕ヮ◕)ノ*:・゚✧

* Minor tweaks

(cherry picked from commit 372e500590)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryCategoryView.kt
2021-10-23 14:24:37 -04:00
Ivan Iskandar 6f429cdb9c App-wide typography adjustments (#5931)
* Manga detail

Also adjust chapter item layout to accommodate bigger
display/font size

* Library

* Updates

* History

* Browse

* Preferences

* Button

* Navigation view

* category-download

* Google Sans

* Reader

* Chips

* Revert "Google Sans"

This reverts commit 5dd4c41f

* Misc

* Cleanups

* Section header text appearance

* Increase library manga title size

* Revert "Increase library manga title size"

This reverts commit 474be913

* Increase section header letter spacing

* Derps

(cherry picked from commit 6d650518a1)
2021-10-23 14:24:37 -04:00
FourTOne5 e1856e67c2 Sort and remove duplicates in genres (#6021)
* Sort and remove duplicates in genres

Co-authored-by: ivaniskandar <12537387+ivaniskandar@users.noreply.github.com>

* Remove Sort and filter out blank genre

Co-authored-by: ivaniskandar <12537387+ivaniskandar@users.noreply.github.com>
(cherry picked from commit 7940117577)
2021-10-23 14:24:36 -04:00
Ivan Iskandar 17fee7fba2 LicensesController: Move item init to IO thread (#6020)
(cherry picked from commit b0f87fdd21)
2021-10-23 14:24:36 -04:00
arkon 32e0a70024 Switch to Material Slider in color filter settings
(cherry picked from commit dc92ffed87)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/widget/NegativeSeekBar.kt
2021-10-23 14:24:35 -04:00
Ivan Iskandar 619c306069 Apply navigation bar insets to fast scroller and settings search list (#6015)
(cherry picked from commit 4af578e310)
2021-10-23 14:24:35 -04:00
FourTOne5 5f92fa0851 Check if wifi is connected rather than enabled while downloading. (#5967)
* Fixxy Wixxy

* Downgrade check from Android S to Android Q

(cherry picked from commit e22825d818)
2021-10-23 14:24:34 -04:00
arkon dbbe118ae9 Update AboutLib plugin
(cherry picked from commit e2da6259e7)
2021-10-23 14:24:34 -04:00
arkon d74e43b6a6 Switch to Material Slider for reader seekbar
Co-authored-by: Jays2Kings <Jays2Kings@users.noreply.github.com>
(cherry picked from commit d149017c60)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
2021-10-23 14:24:33 -04:00
arkon 7574b4baef Update dependencies
(cherry picked from commit afc400121b)
2021-10-23 14:24:33 -04:00
Ivan Iskandar 602b33705b Fix MangaController toolbar title showing when editing category (#6005)
(cherry picked from commit ef993515c6)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt
2021-10-23 14:24:32 -04:00
arkon 53592d1f57 Don't bury sort menu in overflow in Migrate screen
(cherry picked from commit edb1d21ddc)
2021-10-23 14:24:32 -04:00
Andreas ce4ab83ae9 Ability to order sources by library count when migrating (#6000)
* order sources by library count when migrating (closes #4703)

* Use plain menu instead of full-on sheet

(cherry picked from commit ba8abd94a8)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/sources/MigrationSourcesController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/sources/MigrationSourcesPresenter.kt
2021-10-23 14:24:31 -04:00
Andreas f57c5d2f17 Move extensions enabled languages on top (closes #5694) (#5998)
(cherry picked from commit c6d4e4c15f)
2021-10-23 14:24:31 -04:00
Ivan Iskandar d9e6e0c956 Fix incorrect appbar lift state when opening MangaController in hidden state (#5990)
(cherry picked from commit 09f0ac866f)
2021-10-23 14:24:30 -04:00
Hunter Nickel e651bfc04f Add chapter bookmarking feature to Updates screen (#5984)
(cherry picked from commit 7ed25704d6)
2021-10-23 14:24:30 -04:00
FourTOne5 851a0c015b Fix variable name in isOnline (#5991)
(cherry picked from commit 2196dac63e)
2021-10-23 14:24:29 -04:00
Ivan Iskandar 4bb6bf445b ReaderActivity: Block focus on viewer (#5996)
(cherry picked from commit c8f70efded)
2021-10-23 14:24:28 -04:00
Jobobby04 e374281d21 Fix 437 2021-10-23 14:24:28 -04:00
Jobobby04 7a44fab5e7 Allow canceling a single migration job but keeping the manga 2021-10-23 14:24:27 -04:00
Jobobby04 29d786d8db Remove useless context switches 2021-10-23 14:24:27 -04:00
nicki 441358f1ae Fix "+" appearing on ConfigurableSources in Browse > Extensions (#434)
* align text towards right end

aligns the text (`Settings/Settings+` etc) to the end of the Text rather
than letting it be centred

* append "+" only for two states

"+" needs to be added only if the following conditions are met:
 - Extension is Installed and is a ConfigurableSource (regardless of it
   having an Update or not)
 - Extension is in InstallStep.Idle state

* linting

* Revert "align text towards right end"

This reverts commit 5e4511d0beaff038e9dc31189095e1b6d853c020.
Since it was rejected and doesn't help much

* better if checking strategy

because installStep.idle holds true for all extensions, even uninstalled
ones, that leads to not having to check Ext.installed anyways for the
combined OR to return `false`
Checking for extension.Installed check first leads to getting `false`
faster
2021-10-23 14:23:39 -04:00
Jobobby04 7097363f26 Fix clear db crashing 2021-09-26 14:21:53 -04:00
arkon f2caa59ec9 Mark installer names as non-translatable
(cherry picked from commit c2255b0a0f)
2021-09-26 14:14:42 -04:00
arkon 3337afcf97 Use data class to parse extensions list
(cherry picked from commit f754b081ce)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/extension/api/ExtensionGithubApi.kt
#	app/src/main/java/eu/kanade/tachiyomi/network/OkHttpExtensions.kt
2021-09-26 14:12:28 -04:00
arkon 53cfe1c609 Update kotlinx.serialization
(cherry picked from commit 07771cb5e4)
2021-09-26 13:29:29 -04:00
arkon c06ccf2480 Show message in migrate screen if library is empty
(cherry picked from commit 690d8e43ae)
2021-09-26 13:29:14 -04:00
Hunter Nickel e38322c4dc Hide soft keyboard after submitting search query throughout app (#5837)
* Clear focus from SearchView when submitting a search query in BrowseSourceController

* Revert "Clear focus from SearchView when submitting a search query"

* Implement SearchView focus clearing in Tachiyomi's subclass to enable feature throughout app

* Add support for keyboard Enter key

Pressing enter on a keyboard (when using the emulator for example) now also submits the query

(cherry picked from commit 82f14a7d59)
2021-09-26 13:29:08 -04:00
Ivan Iskandar fa14a1cb6d Implement new extension install methods (#5904)
* Implement new extension install methods

* Fixes

* Resolve feedback

* Keep pending status when waiting to install

* Cancellable installation

* Remove auto error now that we have cancellable job

(cherry picked from commit b284384f0a)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceValues.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/ExtensionHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt
2021-09-26 13:28:48 -04:00
Jobobby04 4c63c01501 Cleanup and reduce the amount of time it waits for logouts 2021-09-24 13:06:10 -04:00
Jobobby04 74ba072e01 Build fixes 2021-09-24 13:05:06 -04:00
Andreas fef5578a17 Reattach after slight delay instead on every db update (#5956)
(cherry picked from commit 1ae0d1b5d0)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt
2021-09-24 12:55:01 -04:00
arkon b2ee3bf176 Update dependencies
(cherry picked from commit 9de08c8166)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/App.kt
2021-09-24 12:54:31 -04:00
Ivan Iskandar e47e6de9f4 Toolbar and bottom nav scroll snap (#5915)
(cherry picked from commit a2d007f2a9)
2021-09-24 12:53:09 -04:00
arkon 6c7a3fb809 Fix setting search re-animating on activity recreation (fixes #5882)
(cherry picked from commit 774f818bbb)
2021-09-24 12:53:02 -04:00
arkon dce264fcae Adjust snackbar durations (closes #5932)
(cherry picked from commit 0ec7121b8f)
2021-09-24 12:52:55 -04:00
arkon b9fea9c045 Minor cleanup
(cherry picked from commit d7d46f4447)
2021-09-24 12:52:47 -04:00
Andreas 3d5e5da022 Remove spaces at end of line before removing multiple new lines (#5928)
(cherry picked from commit 45fad147bf)
2021-09-24 12:52:39 -04:00
Aria Moradi 970967104e rewrite getFormat the kotlin way (#5930)
(cherry picked from commit 3664195c71)
2021-09-24 12:52:30 -04:00
arkon c2543e6238 Remove setting to disable update error notifications and split out notification channel
Users can exclude things from updating if needed, or disable the notification channel from system settings.

(cherry picked from commit fce3cd00a1)
2021-09-24 12:52:23 -04:00
arkon f3d867f9aa Move extension app info button
Aligns with TachiyomiJ2K.

(cherry picked from commit 33b3be0d0e)
2021-09-24 12:52:16 -04:00
Ivan Iskandar 6af5f085cf Fix toolbar title alpha (#5910)
(cherry picked from commit cfd1b4a6c6)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt
2021-09-24 12:52:05 -04:00
Gauthier 4ac2873a57 handle maxNumberSort from API (#5917)
(cherry picked from commit d45fefd6f0)
2021-09-24 12:50:06 -04:00
Ivan Iskandar 240b485a65 Change how the bottom navigation is hidden (#5823)
* Change how the bottom navigation is hidden

Modifies the translationY instead of the height.

* Cleanups

(cherry picked from commit f125ab01ee)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
2021-09-24 12:49:59 -04:00
paulo27ms 31dfac3ece [skip ci] Update issue closer to ignore myanimelist (#5911)
Not sure if there's any limitation for the regex but this will ignore myanimelist strings, in practice.

(cherry picked from commit be001d090c)
2021-09-24 12:47:45 -04:00
Soitora 57b9376b83 Allow preferences to multi-line (#5905)
(cherry picked from commit 971d8a7e40)
2021-09-24 12:47:36 -04:00
arkon 6618f848ea Unify NSFW flagging for sources/extensions
Since multisource extensions are no longer a thing, we now simply rely on the flag at the extension level, i.e. the per-Source/SourceFactory `@Nsfw` annotation is no longer checked.
We'll have to remove all of the annotation usages from the existing sources, which will also effectively break the setting for older versions of the app.

(cherry picked from commit a2cf210a52)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/ExtensionHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/ExtensionPresenter.kt
2021-09-24 12:47:29 -04:00
Jozef Hollý 7d82320c82 Weblate translations (#5852)
Co-authored-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
Co-authored-by: Ahmed gamal <12355.ahmedgamal.com@gmail.com>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: Eric <spice2wolf@gmail.com>
Co-authored-by: Forqen <krecio555@gmail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Jetspectre <jetspectre1@gmail.com>
Co-authored-by: Jozef Hollý <j2.00ghz@gmail.com>
Co-authored-by: Long Nguyễn Khánh <khanhlong17112000@gmail.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Maciej Sładkiewicz <krecio555@gmail.com>
Co-authored-by: Madddog1997 <madddog1997@gmail.com>
Co-authored-by: Marco Santos <enum.scima@gmail.com>
Co-authored-by: Matyáš Caras <contact@hernikplays.cz>
Co-authored-by: Nguyễn Thanh Bình <sikea0801@gmail.com>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Rocco Casadei <roccobot@gmail.com>
Co-authored-by: Scoop <Scoo0p@yandex.com>
Co-authored-by: Shjosan <shjosan@kakmix.co>
Co-authored-by: Tymofii Lytvynenko <till.svit@gmail.com>
Co-authored-by: monolifed <monolifed@protonmail.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ar/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ca/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/cs/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/de/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/el/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/es/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fil/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/it/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ms/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/pl/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ru/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sc/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sk/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sv/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/tr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/uk/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/vi/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hant/
Translation: Tachiyomi/Tachiyomi 0.x

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
Co-authored-by: Ahmed gamal <12355.ahmedgamal.com@gmail.com>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: Eric <spice2wolf@gmail.com>
Co-authored-by: Forqen <krecio555@gmail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Jetspectre <jetspectre1@gmail.com>
Co-authored-by: Long Nguyễn Khánh <khanhlong17112000@gmail.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Madddog1997 <madddog1997@gmail.com>
Co-authored-by: Marco Santos <enum.scima@gmail.com>
Co-authored-by: Matyáš Caras <contact@hernikplays.cz>
Co-authored-by: Nguyễn Thanh Bình <sikea0801@gmail.com>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Rocco Casadei <roccobot@gmail.com>
Co-authored-by: Scoop <Scoo0p@yandex.com>
Co-authored-by: Shjosan <shjosan@kakmix.co>
Co-authored-by: Tymofii Lytvynenko <till.svit@gmail.com>
Co-authored-by: monolifed <monolifed@protonmail.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
(cherry picked from commit b5d83bdb56)
2021-09-24 12:45:55 -04:00
FourTOne5 e7803d305f Don't count "other" as a language. (#5901)
(cherry picked from commit 2c495c4119)
2021-09-24 12:45:33 -04:00
Jobobby04 23928d3c89 Fix Merged Manga not refreshing 2021-09-17 16:16:59 -04:00
Jobobby04 7ffe1794d9 Fix more info crash 2021-09-17 15:40:39 -04:00
Jobobby04 3b0523268a Fix build errors 2021-09-12 14:49:52 -04:00
arkon 5c3326e47d Fix scroller getting dragged incorrectly in RTL (fixes #5496)
(cherry picked from commit 7c72d6cb7c)
2021-09-12 14:44:27 -04:00
arkon f269483072 Don't show option to delete chapters for local manga (closes #5243)
(cherry picked from commit 8362bf0886)
2021-09-12 14:44:19 -04:00
arkon 8717c30498 Add link to help translate in about
(cherry picked from commit 1a8155c45b)

# Conflicts:
#	app/src/main/res/values/strings.xml
2021-09-12 14:44:10 -04:00
FourTOne5 a4dd13f491 Update ExtensionPresenter.kt (#5895)
(cherry picked from commit 3f2f946019)
2021-09-12 14:43:13 -04:00
arkon 823bd024b7 Minor cleanup for download delete exclusion
(cherry picked from commit 2c14a8dee1)
2021-09-12 14:43:05 -04:00
arkon eac2301e76 Fix manga info expand button background
(cherry picked from commit 917a283bd1)
2021-09-12 14:42:57 -04:00
arkon 01401b6312 Opt out of WebView metrics and disable Google Safe Browsing
cf. https://developer.android.com/guide/webapps/managing-webview

(cherry picked from commit 3e403d5ab3)

# Conflicts:
#	app/src/main/AndroidManifest.xml
2021-09-12 14:42:47 -04:00
Ivan Iskandar 4a93a93839 Reuse reader's image view in MangaFullCoverDialog (#5824)
* MangaFullCoverDialog: Support animated drawable

* Scaled zoom duration

* Wrap reader's image view to be reused in MangaFullCoverDialog

* Cleanups

* Forgot animated stuff for webtoon view

* Cleanups

* Oopsie

* Cleanups

* Consistent max scale for SubsamplingScaleImageView

The max scale will be obtained from the default scale times 3 for
consistent 3x zoom scale.

(cherry picked from commit 746d35b52b)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerConfig.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonPageHolder.kt
2021-09-12 14:42:13 -04:00
Jace f77ac8cb36 Change ProtoNumber of Backup Models for History and Source to a non-zero digit (#5849)
* Change ProtoNumber of Backup Models for History and Source to non-zero

Changed BackupHistory url and BackupSource name properties

* Provide backwards compatibility to current proto backups

- Added data class for zero-based protoNumber
- Restore both 'new' proto and old ones by mapping old to 'new' proto format
- Thanks to @jobobby04  for providing the initial solution.

* Fix on createBackup missing parameter for brokenSource

* Fix issues on build

* Fix missing import on FullBackupRestore

(cherry picked from commit 9a7a03e327)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/full/FullBackupManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/full/models/Backup.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/full/models/BackupManga.kt
2021-09-12 13:34:54 -04:00
tobinstultiens d9d94ed321 Allow exclusion on Delete After Read per category (#5857)
* Added the exclude category from delete after being read

* Stopped it from adding a wildcard to the import

* Placed the remove after read to the download manager

(cherry picked from commit a051079c6a)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsDownloadController.kt
2021-09-12 13:33:36 -04:00
Ivan Iskandar 035a1518ad Less hacky way to make sure bottom action toolbar doesn't scroll down (#5871)
* Less hacky way to make sure bottom action toolbar doesn't scroll down

* Fix action toolbar overlapping on landscape

* Disable app bar transparency when ActionMode is present

(cherry picked from commit 7b3c18bb97)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
2021-09-12 13:10:33 -04:00
Ivan Iskandar 889a61704f MangaController: Fix listeners cancelled when pushing new controller within (#5883)
(cherry picked from commit f41bde5ee1)
2021-09-12 13:10:04 -04:00
Gauthier b7c0c7a094 use chapter_number instead of ordinal index for syncChaptersWithTrackServiceTwoWay (#5846)
use v2 api for Komga tracker for series

(cherry picked from commit 6151318ac1)
2021-09-12 13:09:56 -04:00
Ivan Iskandar 3d71e643e1 MangaController: Title fixes (#5879)
* MangaController: Move toolbar's TextView reference to ElevationAppBarLayout

* MangaController: Update title alpha earlier when exiting

(cherry picked from commit b45c322729)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt
2021-09-12 13:09:49 -04:00
Ivan Iskandar 0492d501f3 Disable action mode status bar guard (#5872)
(cherry picked from commit b00e8768dc)

# Conflicts:
#	app/src/main/res/values/colors.xml
2021-09-12 13:09:07 -04:00
Jobobby04 e38255e895 Migrate to the new mangadex list response 2021-09-12 13:07:18 -04:00
Jobobby04 fcf6776fe4 Fix expander color 2021-09-12 12:09:11 -04:00
Jobobby04 98f285f777 Cleanup 2021-09-11 11:48:32 -04:00
Jobobby04 982f4d6a97 Debug function to clear watched sources 2021-09-11 11:48:17 -04:00
Jobobby04 972716d884 Only use site specific handlers if data is empty 2021-09-11 11:43:16 -04:00
Jobobby04 6f93fdd089 Cover includes on user follows 2021-09-11 11:42:51 -04:00
Jobobby04 f0329cfafa Improve mangadex title selection 2021-09-11 11:42:19 -04:00
Jobobby04 95e14a9ef9 Cleanup 2021-09-06 16:41:09 -04:00
FourTOne5 c66b57a3b4 Use "isOnline" utils in DownloadService (#5863)
* Use isOnline

* when -> if/else

(cherry picked from commit 156feb6e8e)
2021-09-06 16:40:36 -04:00
arkon 71533fb2bc Read from streams for local source manga details and legacy backups
(cherry picked from commit e942b8a402)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/legacy/LegacyBackupRestore.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/LocalSource.kt
2021-09-06 16:40:36 -04:00
Andreas cf742c65aa Remove the remaining MotionLayout (#5854)
* Remove the remaining MotionLayout

* Use ImageButton instead of Blank View to handle taps in dead area

And some tweaks

(cherry picked from commit abdb67a123)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoHeaderAdapter.kt
#	app/src/main/res/layout-sw720dp/manga_info_header.xml
#	app/src/main/res/layout/manga_info_header.xml
#	app/src/main/res/xml/manga_summary_section_scene.xml
2021-09-06 16:40:35 -04:00
arkon 2f5718c92f Retain GLUtil.maxTextureSize
(cherry picked from commit ee20787c5e)
2021-09-06 16:39:05 -04:00
arkon 97ddafe539 Clean up some companion object usages
(cherry picked from commit ec4e631760)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SourceSearchController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsDownloadController.kt
2021-09-06 16:39:04 -04:00
Aran Leite 0f0937adf5 Skip bookmark check when cancelling downloads (#5853)
* Skip bookmark check when cancelling downloads

* DownloadManager: simplified filteredChapters declaration

* Completed documentation of DownloadManager's deleteChapters()

(cherry picked from commit 02b430a5bf)
2021-09-06 16:39:03 -04:00
arkon 6eac0f6f98 Fix crash in settings search (fixes #5855)
(cherry picked from commit 7878053df2)
2021-09-06 16:39:03 -04:00
arkon 336727e01a Adjust padding of themes preference
(cherry picked from commit 6b1f130750)
2021-09-06 16:39:02 -04:00
arkon 6f36675113 Avoid multiline library badges
Related to #5725

(cherry picked from commit bde4c0a648)
2021-09-06 16:39:02 -04:00
arkon 66d4966463 Queue tracking updates when offline (closes #1497)
Co-authored-by: Jays2Kings <Jays2Kings@users.noreply.github.com>
(cherry picked from commit 5ae4621da1)
2021-09-06 16:39:01 -04:00
arkon e734f7d13d Fix chapters getting deleted when marking as unread from library (fixes #5755)
(cherry picked from commit 5ea8d0546e)
2021-09-06 16:39:00 -04:00
arkon f29717272d Minor cleanup
(cherry picked from commit 8a064c118f)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoHeaderAdapter.kt
2021-09-06 16:39:00 -04:00
arkon 50a9a907de Don't allow focus on reader containers (closes #5727)
(cherry picked from commit 2f91c27df2)
2021-09-06 16:38:59 -04:00
Soitora 3cb05b1442 Hide language tag when only one language is used (#5834)
* Hide lang tag when only one lang used

* Comment the code

Can't be too useless and do nothing, Ghostbear practically wrote the entire PR for me

* Exclude 'all' from counting as a language

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

* Use existing Preferences directly from Presenter

* Replace regex with an existing value

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

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoHeaderAdapter.kt
2021-09-06 16:38:58 -04:00
Jozef Hollý b304082ca6 Weblate translations (#5670)
Co-authored-by: Ahmed gamal <12355.ahmedgamal.com@gmail.com>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: Alifian Caesar <alifiancaesar@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: Eric <spice2wolf@gmail.com>
Co-authored-by: Gianna E <giannela.e@gmail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Huang Zhiyi <hzy980512@126.com>
Co-authored-by: IRFAN SHADIK <irfanshadikofficial@gmail.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Jendrej <ejjendrej@gmail.com>
Co-authored-by: Jetspectre <jetspectre1@gmail.com>
Co-authored-by: KIRA <belguareh1@gmail.com>
Co-authored-by: Karlo Orioli <korioli1@gmail.com>
Co-authored-by: Luna Jernberg <droidbittin@gmail.com>
Co-authored-by: Lyaiya <hipsnafoha@outlook.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Marco Santos <enum.scima@gmail.com>
Co-authored-by: Marian Leontiev <leontievmarian@gmail.com>
Co-authored-by: Matyáš Caras <contact@hernikplays.cz>
Co-authored-by: Nikita Epifanov <nikgreens@protonmail.com>
Co-authored-by: Oğuz Ersen <oguzersen@protonmail.com>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Ric <rikku.debec@gmail.com>
Co-authored-by: Rostyslav <info@ubilling.net.ua>
Co-authored-by: Samuel Carvalho de Araújo <samuelnegro12345@gmail.com>
Co-authored-by: Sebastian Skoczek <sebastians17@onet.pl>
Co-authored-by: Sebs11_B <chevabermudezcastillo@gmail.com>
Co-authored-by: Shippo <shiposhouyou@gmail.com>
Co-authored-by: Shjosan <shjosan@kakmix.co>
Co-authored-by: Tmp341 <tmp341@gmail.com>
Co-authored-by: Tymofii Lytvynenko <till.svit@gmail.com>
Co-authored-by: Wise <phxwise@gmail.com>
Co-authored-by: Zakhar Timoshenko <vp1984tanki@gmail.com>
Co-authored-by: Zero O <godarms2010@live.com>
Co-authored-by: anenasa <anenasaa@yahoo.com>
Co-authored-by: dmswd <Bmswad1@gmail.com>
Co-authored-by: monolifed <monolifed@protonmail.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
Co-authored-by: 신민준 <sinmin70@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ar/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/be/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/bn/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/cs/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/de/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/el/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/es/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/es_419/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fil/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fr/
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/it/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ja/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ko/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ms/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/pl/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ru/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sc/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sv/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/tr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/uk/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hant/
Translation: Tachiyomi/Tachiyomi 0.x

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Ahmed gamal <12355.ahmedgamal.com@gmail.com>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: Alifian Caesar <alifiancaesar@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: Eric <spice2wolf@gmail.com>
Co-authored-by: Gianna E <giannela.e@gmail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Huang Zhiyi <hzy980512@126.com>
Co-authored-by: IRFAN SHADIK <irfanshadikofficial@gmail.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Jendrej <ejjendrej@gmail.com>
Co-authored-by: Jetspectre <jetspectre1@gmail.com>
Co-authored-by: KIRA <belguareh1@gmail.com>
Co-authored-by: Karlo Orioli <korioli1@gmail.com>
Co-authored-by: Luna Jernberg <droidbittin@gmail.com>
Co-authored-by: Lyaiya <hipsnafoha@outlook.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Marco Santos <enum.scima@gmail.com>
Co-authored-by: Marian Leontiev <leontievmarian@gmail.com>
Co-authored-by: Matyáš Caras <contact@hernikplays.cz>
Co-authored-by: Nikita Epifanov <nikgreens@protonmail.com>
Co-authored-by: Oğuz Ersen <oguzersen@protonmail.com>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Ric <rikku.debec@gmail.com>
Co-authored-by: Rostyslav <info@ubilling.net.ua>
Co-authored-by: Samuel Carvalho de Araújo <samuelnegro12345@gmail.com>
Co-authored-by: Sebastian Skoczek <sebastians17@onet.pl>
Co-authored-by: Sebs11_B <chevabermudezcastillo@gmail.com>
Co-authored-by: Shippo <shiposhouyou@gmail.com>
Co-authored-by: Shjosan <shjosan@kakmix.co>
Co-authored-by: Tmp341 <tmp341@gmail.com>
Co-authored-by: Tymofii Lytvynenko <till.svit@gmail.com>
Co-authored-by: Wise <phxwise@gmail.com>
Co-authored-by: Zakhar Timoshenko <vp1984tanki@gmail.com>
Co-authored-by: Zero O <godarms2010@live.com>
Co-authored-by: anenasa <anenasaa@yahoo.com>
Co-authored-by: dmswd <Bmswad1@gmail.com>
Co-authored-by: monolifed <monolifed@protonmail.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
Co-authored-by: 신민준 <sinmin70@gmail.com>
(cherry picked from commit 0ea3cc7ce4)
2021-09-06 16:38:58 -04:00
arkon f51f9eb371 Retain scroll position when selecting app theme preference
Co-authored-by: Jays2Kings <Jays2Kings@users.noreply.github.com>
(cherry picked from commit 0de3558ab3)
2021-09-06 16:38:57 -04:00
arkon eda451a2e4 Rearrange themes, rename "Blue" to "Legacy Blue"
(cherry picked from commit 069f4e12d8)
2021-09-06 16:38:56 -04:00
arkon 4e9ab0cfdc Reword advanced tablet UI setting
(cherry picked from commit ae4dfc9956)
2021-09-06 16:38:56 -04:00
Quang Kieu 98da48ad73 Edit mangas' Categories in Library using TriState list (#5422)
* Use QuadState Categories to edit mangas in Library

Add updateMangasToCategories to build build correct Categories list for
  each manga using Common and Mix list
Update QuadState Multi-Choice to either Action or Display List
  Display list would have different state sequece from Action
  Uncheck-> Indeterminate (only if initial so)-> Check

fixup manga categories logic as Windows and push request comments

* fixup: Use QuadStateTextView.State enum

Update function to use  QuadStateTextView.State enum that missed in last change

* fixup: missing closing bracket and type cast

Co-authored-by: quangkieu <quangkieu1993@gmail.com>
(cherry picked from commit ee711dc0fb)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceController.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/manga/MangaController.kt
2021-09-06 16:38:55 -04:00
arkon ca1699aabb Migrate to flow version of ReactiveNetwork
(cherry picked from commit c316e7faab)
2021-09-06 16:38:55 -04:00
arkon c45019e19c Don't show update progress notifications if job isn't active anymore (closes #5844)
(cherry picked from commit 7083b3d912)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
2021-09-06 16:38:54 -04:00
arkon 74c394193a Update dependencies
(cherry picked from commit 2d3a1b6a9e)
2021-09-06 16:38:53 -04:00
Ivan Iskandar 0feb9d338f Tablet UI override (#5830)
* Tablet UI override

* Tablet UI advanced pref

(cherry picked from commit 0df23ab878)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceValues.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt
2021-09-06 16:38:53 -04:00
Soitora 88f9fb2b88 Remove autoSizeText (#5850)
Apparently it produces unexpected results in combination with 'wrap_content'.

(cherry picked from commit 7ed8de2ef4)
2021-09-06 16:38:52 -04:00
Jobobby04 9dc5aedba4 Hide the option to change cover on expand 2021-09-06 16:38:52 -04:00
Jobobby04 cc38579fca Cleanup 2021-09-06 16:38:51 -04:00
Jobobby04 52cdb636c9 MangaDex, add support for Bilibili chapters 2021-09-06 16:38:50 -04:00
Soitora 7e162c99ce Add SY-specific status icons (#412)
For MangaDex
2021-09-03 16:47:10 -04:00
Soitora d294bc0b2a Add status icons to manga info (#5832)
* Add icons to manga status

* Slightly better formatting

Mixed in with a dose of syntactic sugar

* Remove unnecessary lines

I think they are, at least

* Change according to review comments

- Fix forgotten Tablet code removal
- Change 'android:background' to 'app:srcCompat'

* Adjust size of icon

Smaller and more fitting to the environment

(cherry picked from commit d935e22f0d)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoHeaderAdapter.kt
2021-09-03 15:28:00 -04:00
Jobobby04 e34c61c750 Manga Info Header onDestroyView 2021-09-03 15:25:24 -04:00
Jobobby04 7175fc3444 Fix source settings toolbar item color 2021-09-01 19:54:10 -04:00
Jobobby04 d9c9ed45bb Orginization 2021-09-01 18:41:16 -04:00
Jobobby04 19a00ce582 Temp fix for clear db, dont click it 2021-09-01 18:41:15 -04:00
Jobobby04 42d8b97f9b Improve loading display of namespace tags 2021-09-01 18:41:14 -04:00
Jobobby04 af4979fcba Fix name mismatch warning 2021-09-01 18:41:14 -04:00
Jobobby04 7d1dd087fb Fix gradle deprecation warnings 2021-09-01 18:41:14 -04:00
Jobobby04 b571ccccaa Fix tag margins 2021-09-01 18:41:13 -04:00
Jobobby04 ce39d6ec25 Fix metadata view 2021-09-01 18:41:13 -04:00
Jobobby04 94595a99ac Support Comikey chapters 2021-09-01 18:41:12 -04:00
Jobobby04 adc6398589 Fix compiling 2021-09-01 18:41:12 -04:00
arkon aa144603e2 Use ShapeableImageView for rounded thumbnails instead of Coil transformations
(cherry picked from commit 0e26abf7a6)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryListHolder.kt
2021-09-01 18:41:11 -04:00
Soitora 7e0082b6f9 Improve placement of manga title section (#5796)
Also makes content expand logically through the help of constraint barriers.

(cherry picked from commit 59aef13200)
2021-09-01 18:41:10 -04:00
arkon 5cf65fe676 Update Material Components
(cherry picked from commit 9d1f6c4416)
2021-09-01 18:41:10 -04:00
arkon 4624754895 Added a getting started guide action for when the library is empty
Co-authored-by: Jays2Kings <Jays2Kings@users.noreply.github.com>
(cherry picked from commit b9f7660a91)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt
2021-09-01 18:41:10 -04:00
Ivan Iskandar 7da6af5138 Fix MangaController's loading view initial position (#5827)
Make sure the loading view is hidden before updating the offset.

(cherry picked from commit 18b5250ed1)
2021-09-01 18:41:09 -04:00
nicki 15cd238223 Trim line breaks in manga info only when collapsed (#5818)
* don't trim newlines if summary expanded

* move description trim logic to separate function

* logic error oops

* let's try something

* fix bug on first load

makes it so that, description text is trimmed when entering manga from
library

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

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

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoHeaderAdapter.kt
2021-09-01 18:41:09 -04:00
Ivan Iskandar 44b6983b3d Fix animated image detection (#5826)
(cherry picked from commit bd033db84c)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt
2021-09-01 18:41:08 -04:00
Andreas 09a6e3661f Handle small cover better (#5815)
(cherry picked from commit ab036312a4)
2021-09-01 18:41:07 -04:00
Jays2Kings efd085cbcf Update kitsu to not show "null" for empty descriptions
(cherry picked from commit e6ea530532523ed033fd232fcea2da8f17b973f7)
(cherry picked from commit 634da15191)
2021-09-01 18:41:07 -04:00
arkon 79c3c7f356 Make appearance settings searchable (fixes #5814)
(cherry picked from commit cea1720ea0)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/search/SettingsSearchHelper.kt
2021-09-01 18:41:06 -04:00
arkon d060e4c425 Fix divider color in AMOLED mode (fixes #5778)
(cherry picked from commit 3f2f542265)
2021-09-01 18:41:06 -04:00
arkon 28a3dfeeea Fix crash when tapping title of "App theme" preference
(cherry picked from commit b77edb2b5b)
2021-09-01 18:41:05 -04:00
arkon 28ffb9288f Fix reader action sheet not opening
(cherry picked from commit 1b699bb814)
2021-09-01 18:41:05 -04:00
arkon b530216f21 Clean up reader action sheet layout
(cherry picked from commit 333c035fed)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPageSheet.kt
#	app/src/main/res/layout/reader_page_sheet.xml
2021-09-01 18:41:04 -04:00
arkon 091049cda9 Update save icon
(cherry picked from commit 70e5361146)
2021-09-01 18:41:04 -04:00
Andreas 74437e6809 Replace MotionLayout with full screen dialog (#5806)
* Remove MotionLayout and add full screen dialog for enlarged cover

* Address some of the review comments

(cherry picked from commit e7d6dfff53)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt
#	app/src/main/res/xml/manga_info_header_scene.xml
#	app/src/main/res/xml/manga_info_header_scene_sw720dp.xml
2021-09-01 18:41:03 -04:00
arkon b916907491 Register TachiyomiImageDecoder after built-in Coil decoders
Not sure if this is related to #5702.

(cherry picked from commit eebfad5a95)
2021-09-01 18:41:03 -04:00
arkon b045ee1ba6 Tweak theme preference item UI
(cherry picked from commit 77c0a93ac6)
2021-09-01 18:41:02 -04:00
arkon 5d46569137 Rename Layout category to Navigation
(cherry picked from commit 63a3e126b3)
2021-09-01 18:41:01 -04:00
Ivan Iskandar 8875c3f9bb Add IME_FLAG_NO_PERSONALIZED_LEARNING flag to text input when incognito is enabled (#5801)
* Add IME_FLAG_NO_PERSONALIZED_LEARNING flag to text input when incognito is enabled

Tested with Gboard only.

* Revert "Add IME_FLAG_NO_PERSONALIZED_LEARNING flag to text input when incognito is enabled"

This reverts commit 068399db

* Add IME_FLAG_NO_PERSONALIZED_LEARNING flag to text inputs when incognito is enabled

Source preference is not affected.

* Source preference stuff

(cherry picked from commit 3ea84cf0ce)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/details/SourcePreferencesController.kt
2021-09-01 18:41:01 -04:00
arkon 676d8c85a0 Only update chapter/viewer flags for library manga instead of everything (addresses #5809)
(cherry picked from commit 7fa80ae556)
2021-09-01 18:41:00 -04:00
arkon 8d757ff37a Clean up track button changes
(cherry picked from commit 925f71af15)
2021-09-01 18:41:00 -04:00
OncePunchedMan 6deab45e80 Tracking: replace tick with button (#5768)
* make check only visible after selecting an item

* replace tick with button and send to bottom

* fixed button visibility

* grey btn out

* resolving some bits

* removing the tick from appbar

* remove useless lines, appl insetter

(cherry picked from commit c666dd623d)
2021-09-01 18:40:59 -04:00
Gauthier 54bd0c155f change Track.last_chapter_read to Float (#5802)
each TrackService can convert it to Int if decimal chapters are not supported

(cherry picked from commit 2cd8733212)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/database/DbOpenCallback.kt
2021-09-01 18:40:59 -04:00
arkon 6b1e7a8b55 Clean up imports
(cherry picked from commit 4b2a9bc621)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/database/queries/MangaQueries.kt
2021-09-01 18:40:58 -04:00
Taco dafff19fff Use more Compat utilities (#5786)
* Use ActivityCompat.recreate

* Use more KTX extensions

* Use PackageInfoCompat.getLongVersionCode

* Remove unnecessary compat usages

(cherry picked from commit 12a9d0575d)
2021-09-01 18:40:58 -04:00
arkon f2a8ee3c20 Tweak theme preference item UI (closes #5805)
(cherry picked from commit edcfa28b0b)
2021-09-01 18:40:57 -04:00
Jobobby04 3ba3f4bbb2 Update depenancies 2021-09-01 18:40:57 -04:00
Jobobby04 baeec9e2e7 Update to support the latest Mangadex API 2021-09-01 18:40:56 -04:00
arkon 402e494cf7 Group advanced battery optimization setting entries
(cherry picked from commit b5e118e2b4)
2021-09-01 18:40:56 -04:00
arkon fe4344c518 Keep coroutine methods (fixes #5662)
(cherry picked from commit dfec0e45ed)
2021-09-01 18:40:55 -04:00
Ivan Iskandar 499b07f988 Remove reader page number inset margin (#5661)
(cherry picked from commit 5aea21a194)
2021-09-01 18:40:55 -04:00
arkon 6b70bdd732 Replace Wi-Fi connection check with WifiManager
Previous implementation couldn't detect Wi-Fi connection while using a VPN.

(cherry picked from commit 3155829994)
2021-09-01 18:40:54 -04:00
Soitora 3ab7c18e32 Fix shadow behind the Expand Info icon (#5804)
(cherry picked from commit d25707554e)
2021-09-01 18:40:54 -04:00
e-shl 11d6098d2b [Translation]RU (#406) 2021-09-01 17:35:21 -04:00
nicki 7e8e1fab11 Create Navbar category in Appearance settings (#404)
* add new category for navbar appearance

* update strings for new appearance settings

also adds `pref_category_navbar` for new Navbar settings sub section

* Update SettingsAppearanceController.kt

Co-authored-by: jobobby04 <jobobby04@users.noreply.github.com>
2021-08-27 21:26:22 -04:00
Jobobby04 325ac2b43e Cleanup 2021-08-27 13:13:28 -04:00
Jobobby04 9ddadae078 Use "No Group" properly in mangadex 2021-08-27 12:51:06 -04:00
Jobobby04 c29dc695ae Ktlint ignore some stuff 2021-08-27 12:51:06 -04:00
Jobobby04 6f85f0a6d5 Fix tablet layout crash 2021-08-27 12:51:05 -04:00
Jobobby04 ff965efcae Tweak chip stroke weight for E-Hentai manga 2021-08-27 12:51:05 -04:00
Jobobby04 c7a43cb36e Fix wildcard import 2021-08-27 12:51:05 -04:00
Jobobby04 4554813588 Build fixes 2021-08-27 12:51:04 -04:00
Hunter Nickel cfa6c180e7 Apply system animation scale to parts of Tachiyomi that don't respect it by default (#5794)
* Add initial code for scaling animations, apply scale to reader nav overlay

* Rename extension function, apply system animator scale to ActionToolbar

* Apply system animator scale to expanding manga cover animation

* Apply system animator scale to image crossfade (also disables animated covers when browsing)

* Add documentation, make MotionScene Transition comment a bit more clear

* Disable animated covers in MangaInfoHeaderAdapter if animator duration scale is 0

* Disable animated covers in Library if animator duration scale is 0

* Convert loadAny listener to extension function

(cherry picked from commit df683375b1)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryComfortableGridHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryCompactGridHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoHeaderAdapter.kt
2021-08-27 12:51:04 -04:00
arkon e36957f00b Update Kotlin and Kotlinter
(cherry picked from commit cc3cbbc4bb)
2021-08-27 12:51:03 -04:00
Taco 18deebf728 Replace NetworkInfo with NetworkCapabilities (#5785)
(cherry picked from commit 6922394b8e)
2021-08-27 12:51:03 -04:00
Taco f7e219e9ac Use NotificationChannelCompat utilities (#5781)
(cherry picked from commit 24fd82d773)
2021-08-27 12:51:02 -04:00
Soitora 5b18769f70 New manga info expander (#5771)
* Replace "More" with Arrows

We used to have arrows but it was set away from the description which took a lot of space.

It was changed to "More" text, but with the recent design changes I think it'd look better to get a mix between them both.

* Properly align icons

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

* Expand support to Tablets

Get it... expand... hehe 😎

* Fix expanded width

Also fixes so that the constraint for the toggleLess is dependant on the right thing

* Give info toggles its own space

Uses its own margin now to push info rather than just being attached as a info margin.

* Remove weird duplicates I did not add

I did not add these but I don't see a reason to keep dupes

* Add bottom scrim

* Change to centered arrow under info

Anyone wanna experiment/build on top off then feel free to tweak

* Add background glow to icon for contrast

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

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

# Conflicts:
#	app/src/main/res/drawable/manga_info_more_gradient.xml
#	app/src/main/res/layout/manga_info_header.xml
#	app/src/main/res/xml/manga_summary_section_scene.xml
2021-08-27 12:51:02 -04:00
Ivan Iskandar 2bc64c2096 Fix reader crash on Android 9 (#5789)
* Fix failed reader context creation on v28

* Re-apply the reader styles manually after overriding night mode

This commit replaces the ThemeCompat.rebase() call since the private API used is
in dark greylist max target P, thus making it unreachable.

* Revert "Fix failed reader context creation on v28"

This reverts commit 6e2104d7

(cherry picked from commit b3854ad382)
2021-08-27 12:51:01 -04:00
arkon 9a4e6bef7f Fix toolbar text color in light blue theme
(cherry picked from commit 5f5fc77877)
2021-08-27 12:51:01 -04:00
arkon e8c67999bc Split out appearance settings from general section
(cherry picked from commit 0493e77cff)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsGeneralController.kt
2021-08-27 12:51:00 -04:00
arkon ae392192f2 Update app theme preference UI
Heavily influenced by TachiyomiJ2K.

(cherry picked from commit 6240fe1dfc)
2021-08-27 12:51:00 -04:00
arkon a9a8e44ef6 Make nav overlay non-clickable (maybe fixes #5727)
(cherry picked from commit beb7f90908)
2021-08-27 12:50:59 -04:00
arkon 1559250f90 Update deprecated Android Gradle DSL calls
(cherry picked from commit a3917972b4)

# Conflicts:
#	app/build.gradle.kts
2021-08-27 12:50:59 -04:00
arkon 3fdd433d89 Update tracker services logo layout (closes #5625)
(cherry picked from commit 7094fef37f)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsTrackingController.kt
#	app/src/main/java/eu/kanade/tachiyomi/widget/preference/LoginPreference.kt
#	app/src/main/res/layout/pref_widget_imageview.xml
2021-08-27 12:50:58 -04:00
arkon b6143467b6 [skip ci] Move acknowledgements to bottom of issue templates
(cherry picked from commit 0f41e56a24)

# Conflicts:
#	.github/ISSUE_TEMPLATE/report_issue.yml
#	.github/ISSUE_TEMPLATE/request_feature.yml
2021-08-27 12:50:58 -04:00
arkon 3cf1ae0aa4 Use custom tabs instead of browser (closes #5754)
(cherry picked from commit 6c527d52fb)
2021-08-27 12:50:57 -04:00
arkon 49916667a7 Fix blue background under action mode text selection handlers in blue theme
(cherry picked from commit 909aed4262)
2021-08-27 12:50:57 -04:00
arkon b40d25f929 Update dependencies
(cherry picked from commit 9a45983f17)

# Conflicts:
#	app/build.gradle.kts
2021-08-27 12:50:57 -04:00
Soitora 6d0f620629 Bold author and artist fields (#5770)
(cherry picked from commit 11926014da)
2021-08-27 12:50:56 -04:00
Andreas 6d8ab85ef5 Tweak MangaInfoHeader (#5766)
Make margin between transparent toolbar and cover more match 1.x
Fixes from when view was redone with MotionLayout

(cherry picked from commit 72002c13d6)

# Conflicts:
#	app/src/main/res/xml/manga_info_header_scene.xml
2021-08-27 12:50:56 -04:00
arkon 51c864fb86 Move PR template
(cherry picked from commit 6ed767ae84)
2021-08-27 12:50:55 -04:00
Soitora 9a5787af29 Add a much more clean design to Chips (#5765)
Based on the default chips and what is seen on J2K/Neko

(cherry picked from commit 3826b307f7)
2021-08-27 12:50:55 -04:00
Ivan Iskandar 6ac95ffcd6 Add haptic feedback to reader page slider (#5763)
(cherry picked from commit 887b157056)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
2021-08-27 12:50:54 -04:00
Soitora 41a16b6e83 Add a Pull Request template (#5764)
(cherry picked from commit d36dd39743)
2021-08-27 12:50:54 -04:00
arkon 1b2e0d1b11 Adjust blue theme
(cherry picked from commit dd008bc13a)
2021-08-27 12:50:53 -04:00
nicki 517cb437be update Anilist tracking title during refresh (#5760)
Co-authored-by: Andreas <andreas.everos@gmail.com>

Co-authored-by: Andreas <andreas.everos@gmail.com>
(cherry picked from commit 50b282f58b)
2021-08-27 12:50:53 -04:00
arkon cc384d1f25 Minor cleanup
(cherry picked from commit 7d2caeb270)

# Conflicts:
#	.github/ISSUE_TEMPLATE/report_issue.yml
2021-08-27 12:50:52 -04:00
arkon 1566ed4fda Update jsoup
(cherry picked from commit f8a7efbce7)
2021-08-27 12:50:52 -04:00
arkon 015327829d Minor cleanup
(cherry picked from commit b8ea57e097)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/sources/SourceHolder.kt
2021-08-27 12:50:51 -04:00
nicki b293b52cf6 Use user preferred title language in Anilist (#5758)
* Use user preferred title language in Anilist

Since Anilist is only used by authenticated users, the title language
can be set using the `userPreferred` field (defaults to romaji)

Changed wherever `title>romaji` was being used. Shouldn't have missed
any. `userPreferred` is also available for Staff and Character but not
relevant to Tachiyomi for now.

Users might need to go Logout and log back in on Anilist to see the
change. Actual setting can be found at https://anilist.co/settings/media

closes https://github.com/tachiyomiorg/tachiyomi/issues/5757

* correct title in anilist model

indicates the fact that userPreferred title is used

* convert forgotten `type` to `format` as well

leads to NPE when using `findLibManga`.
missed one query in https://github.com/tachiyomiorg/tachiyomi/pull/5741

(cherry picked from commit 708e71a35a)
2021-08-27 12:50:51 -04:00
Ivan Iskandar 4603465783 Hide reader progress indicator right away (#5750)
The image will be drawn over it so the animation won't be visible anyway

(cherry picked from commit 4eaccc966e)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt
2021-08-27 12:50:50 -04:00
Andreas d621ef0b3a Make default category translatable (#5751)
* Make default category translatable

* Replace duplicate strings with common one

(cherry picked from commit 3670d649b8)
2021-08-27 12:50:49 -04:00
Ivan Iskandar 56a2fec004 Require authentication-confirmation to change biometric lock settings (#5695)
* Requires authentication-confirmation to change biometric lock settings

* Prevent double authentications on older APIs when confirming settings changes

* Use new AuthPrompt API for app lock

With this commit, the app lock will only explicitly require Class 2 biometrics
or screen lock credential. Class 3 biometrics are guaranteed to meet Class 2
requirements thus will also be used when available.

* Use extension toast

(cherry picked from commit 90ab04e81d)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/security/SecureActivityDelegate.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsSecurityController.kt
2021-08-27 12:50:49 -04:00
Ivan Iskandar f79ac55182 Partial revert 914b686c8e (#5749)
Didn't mean to remove this line, this fixes resuming to read downloaded chapter.

(cherry picked from commit 26b8df5354)
2021-08-27 12:50:48 -04:00
Ivan Iskandar add234ce0b PagerPageHolder: Move chooseBackground call to IO thread (#5737)
* ImageUtil.chooseBackground: Use built-in decoder

* PagerPageHolder: Move chooseBackground call to IO thread

Also move stuffs and reuse image stream as bytes

(cherry picked from commit 11a8046c5f)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt
2021-08-27 12:50:48 -04:00
Ivan Iskandar acbc4c48fa Edge-to-edge manga details view (#5613)
* Prepare for edge-to-edge MangaController

* Fix derpy liftToScroll with our own implementation

* Edge-to-edge MangaController

Except when legacy blue theme is used.

* Save app bar lift state for controller backstack

* Fix expanded cover position after the view recycled

* Handle overlap changes when incognito mode disabled

* Tablet fixes

* Revert "Handle overlap changes when incognito mode disabled"

This reverts commit 1f492449

Breaks on rotation changes.

* Fix MangaController's swipe refresh position

* All controllers are now doing lift app bar on scroll by default

They are already doing that before so this pretty much just a cleanups.

* TachiyomiCoordinatorLayout: Support ViewPager for app bar lift state check

I'm willing to revert this if this minute detail solution is deemed too hacky xD

* Fix app bar not lifted when scrolled without fling

* Save app bar lift state across configuration changes

* Fix MangaController's swipe refresh position after configuration change

* TachiyomiCoordinatorLayout: Update ViewPager reference when controller is changed

(cherry picked from commit da16110e1c)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/base/controller/ConductorExtensions.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoHeaderAdapter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/more/AboutController.kt
2021-08-27 12:50:47 -04:00
Ivan Iskandar 32fa99377d ReaderTransitionView: Use context theme color for texts (#5738)
* Put themed reader context in adapter

This avoids creating themed context everytime the page holder is created, this
also allows the transition view to use the same themed context.

* Check against app night mode to create themed reader context

* ReaderTransitionView: Use context theme color for texts

The whole reader will need to be recreated when changing reader background while
webtoon mode is used, because recreating just the RecyclerView without messing
up the scroll position is impossible (I hope I just missed something).

(cherry picked from commit 914b686c8e)

# Conflicts:
#	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/reader/viewer/webtoon/WebtoonConfig.kt
2021-08-27 12:50:47 -04:00
nicki 6aa59325d0 Label one-shots correctly in anilist track search (#5741)
* use format instead of type in anilist search

As per anilist graphql docs, `type` refers to whether anime/manga and is
redundant (since we already limit it to `MANGA`). What we actually want
is `format` which includes whether the media is a One-shot or Manga

This should help in making search a bit better as one no longer needs to
rely on the Date to figure out if its the One-shot entry or the Manga
entry

* Revert "use format instead of type in anilist search"

This reverts commit 6f0ba4888669f414a2093d7632eb1fab109d74de.

Accidentally changed the wrong query while further testing whoops

* use format instead of type in anilist search

As per anilist graphql docs, `type` refers to whether anime/manga and is
redundant (since we already limit it to `MANGA`). What we actually want
is `format` which includes whether the media is a One-shot or Manga

Changes search query and corresponding JSONALManga structure

(cherry picked from commit 27133520fc)
2021-08-27 12:50:46 -04:00
Hunter Nickel b3b1d2abf4 Fix start/resume fab showing up when entering and then exiting action mode (#5735)
(cherry picked from commit 24b967ad5c)
2021-08-27 12:50:46 -04:00
Jobobby04 14be5c75ee Fuck motion layout 2021-08-27 12:50:45 -04:00
Hunter Nickel 77138aba72 Add check for current controller before setting extension update tab badge (#5733)
(cherry picked from commit faef35ec47)
2021-08-27 12:50:45 -04:00
Andreas 8da397c7ed Fix today still being displayed even though relative time is off (#5732)
(cherry picked from commit 326d4c2641)
2021-08-27 12:50:44 -04:00
Riztard Lanthorn ac75ad7489 add Theme "Teal & Turquoise" (#5681)
* add Theme "Teal & Turquoise"

* re sorting & change tertiary dark

* use alpha on ripple color & capitalize

(cherry picked from commit 83436c9550)
2021-08-27 12:50:43 -04:00
Ivan Iskandar 5d8c89ba01 Fix library icon unchecked state (#5728)
Path data from AVD version

(cherry picked from commit 2084822731)
2021-08-27 12:50:43 -04:00
arkon 2f2352e938 Use separate string for toRelativeString "Today"
Apparently 0 quantity is ignored for some locales...

(cherry picked from commit 071bad1232)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt
2021-08-27 12:50:42 -04:00
arkon 26e9b45687 Use toRelativeString in Updates and History headings
(cherry picked from commit ae1a76da2b)
2021-08-27 12:50:42 -04:00
Andreas d33b868991 Use relative time in ChapterHolder (#5719)
* Use relative time in ChapterHolder

Similar to how J2K does it

* Use custom implementation for relative time

* Changes based on review comments

(cherry picked from commit 57a5862840)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/ChapterHolder.kt
2021-08-27 12:50:42 -04:00
Jobobby04 3059008476 Cleanup 2021-08-27 12:50:41 -04:00
Arraiment a79c4babae Allow FilterList to be passed with default values (#5716)
(cherry picked from commit 91fbccdbaa)
2021-08-27 12:50:41 -04:00
Long 7b56261719 DNS-over-HTTPS (Adguard) (#5715)
* Update DohProviders.kt

* Update NetworkHelper.kt

* Update SettingsAdvancedController.kt

* fix typo

* Fix typo

* Fix typo

(cherry picked from commit 0ab0dd95ae)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt
2021-08-27 12:50:40 -04:00
Hunter Nickel dc56b47e16 Add toggle to invert page color in reader color filter settings (#5713)
(cherry picked from commit 4c8dfd0c0c)
2021-08-27 12:50:40 -04:00
arkon a773e99214 Fix global search menu item title
(cherry picked from commit 2b9dbfb390)
2021-08-27 12:50:39 -04:00
arkon 4fad8f70f3 Update menu icons in Browse Sources view (closes #5397)
(cherry picked from commit 63053b9940)
2021-08-27 12:50:39 -04:00
arkon 6857f35910 Don't allow focus on ReaderNavigationOverlayView (maybe fixes #5555)
(cherry picked from commit 2256030a2a)
2021-08-27 12:50:38 -04:00
arkon 06976401a5 Open tracker page when clicking logo (closes #5624)
(cherry picked from commit 79da33b597)
2021-08-27 12:50:38 -04:00
arkon c69bb5b33d Always re-setup background jobs on migration runs
(cherry picked from commit 7d67450e58)
2021-08-27 12:50:37 -04:00
arkon cde6f127b1 Do background app/extension checks less frequently
Since the in-app checks occur at least once a day anyway.

(cherry picked from commit 8aa11951bf)
2021-08-27 12:50:37 -04:00
arkon 4248a3132a Add in-app app update check
(cherry picked from commit f23f22ab01)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/updater/AppUpdateChecker.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/updater/UpdaterJob.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/more/AboutController.kt
2021-08-27 12:50:36 -04:00
arkon 5dac934cc4 Update dependencies
(cherry picked from commit 96a64c7bd2)
2021-08-27 12:50:36 -04:00
Hunter Nickel 47a534c454 Apply app theme styling to reader page errors and progress dialog (#5705)
(cherry picked from commit d1bb0fdf1d)
2021-08-27 12:50:35 -04:00
Zakhar Timoshenko 655298f44c Fix selector in search card item (#5711)
(cherry picked from commit feca30d7ed)
2021-08-27 12:50:35 -04:00
Jobobby04 10c8c3baee Add a option to force migrate all nhentai manga to the nhentai other lang
Dont blame me if this breaks your library
2021-08-27 12:50:34 -04:00
Jobobby04 e284c7a921 Add E/Exh popular as the default browse menu, add a Toplists filter for E-Hentai 2021-08-27 12:50:34 -04:00
Soitora 17a3185c7a Update to Contributor Covenant 2.1 (#5697)
(cherry picked from commit bb3afd0dc9)
2021-08-27 12:50:33 -04:00
Ivan Iskandar 374ecde463 Use correct color for reader loading indicator (#5685)
* Revert "Revert "Use correct color for reader loading indicator (#5645)" (fixes #5669)"

This reverts commit a4eba50c

* Fix crash on older APIs

(cherry picked from commit 5e77ae208d)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonConfig.kt
2021-08-27 12:50:33 -04:00
Ivan Iskandar 564c8618cb Enable elevation overlay for MaterialSwitch (#5686)
(cherry picked from commit 24e5a4d7ec)
2021-08-27 12:50:32 -04:00
Jobobby04 eb7a2ab191 Fix build 2021-08-27 12:50:32 -04:00
arkon 98dfec8fdf Replace AboutLibraries activity with custom controller
(cherry picked from commit 1d10d29fa9)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/more/AboutController.kt
2021-08-27 12:50:31 -04:00
arkon ce43417a26 Reorganize dependencies a bit
(cherry picked from commit 9b00e91773)

# Conflicts:
#	app/build.gradle.kts
2021-08-27 12:50:31 -04:00
arkon b01e48752d Remove explicit CardView dependency
(cherry picked from commit cd73c30d6f)
2021-08-27 12:50:31 -04:00
arkon d5ff08e9c8 Update Duktape
(cherry picked from commit 7bbba0c7d9)
2021-08-27 12:50:30 -04:00
Andreas e3ee972bf3 Add ability to tweak auto hide sensitivity in Webtoon Reader (#5650)
* Tweak threshold

* Put setting under Webtoon instead

Because it only affects Webtoon related viewers

(cherry picked from commit 7907a4fc24)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceValues.kt
2021-08-27 12:50:29 -04:00
arkon 1f6e202597 Issue report changes
(cherry picked from commit 85791a9336)

# Conflicts:
#	.github/ISSUE_TEMPLATE.md
#	.github/ISSUE_TEMPLATE/report_issue.yml
#	.github/ISSUE_TEMPLATE/request_feature.yml
#	app/build.gradle.kts
2021-08-27 12:50:29 -04:00
Jobobby04 f5645a8382 Revert "Use correct color for reader loading indicator (#5685)"
This reverts commit de698fc2334030faeddc787ac3b224f4bc32d316.
2021-08-27 12:50:28 -04:00
arkon 7b038951b0 Remove ability to set in-app language differently from system's
(cherry picked from commit 03980b2f27)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsGeneralController.kt
2021-08-27 12:50:28 -04:00
arkon 8b93cf3cec [skip ci] Update issue templates
(cherry picked from commit 664e5cfb59)

# Conflicts:
#	.github/ISSUE_TEMPLATE.md
#	.github/ISSUE_TEMPLATE/report_issue.yml
#	.github/ISSUE_TEMPLATE/request_feature.yml
2021-08-27 12:50:27 -04:00
arkon bcb15d7ee3 Remove janky tracker icon UI
(cherry picked from commit ab46bd56b0)
2021-08-27 12:50:27 -04:00
arkon 711d0ec092 Fix RTL support
(cherry picked from commit c23506e887)
2021-08-27 12:50:27 -04:00
Jozef Hollý c8abf44666 Weblate translations (#5571)
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Albedo <Illiator27@gmail.com>
Co-authored-by: Alejandro Djeordjian <masterdragondark@gmail.com>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: Alifian Caesar <alifiancaesar@gmail.com>
Co-authored-by: Blue <bluestuffish@gmail.com>
Co-authored-by: Bùi Nguyễn Hoàng Thọ <buinguyenhoangtho97@gmail.com>
Co-authored-by: C201 <derasetad@gmail.com>
Co-authored-by: Carlos Hernández García <carlosdezia@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: Eric <spice2wolf@gmail.com>
Co-authored-by: Eugene <e.shlyapkin99@gmail.com>
Co-authored-by: Femto <yusufackerman10@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Hytashi <pierrot.bourdeau@yahoo.fr>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Jendrej <ejjendrej@gmail.com>
Co-authored-by: Ken Swenson <flat@esoteric.moe>
Co-authored-by: Kurocon <weblate@kurocon.nl>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Marco Santos <enum.scima@gmail.com>
Co-authored-by: Matyáš Caras <contact@hernikplays.cz>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Napuzu <napuzu@hotmail.com>
Co-authored-by: Nikita Epifanov <nikgreens@protonmail.com>
Co-authored-by: Oğuz Ersen <oguzersen@protonmail.com>
Co-authored-by: Paulo Pinho <kebrus@gmail.com>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Prince Carl <addminusevei@gmail.com>
Co-authored-by: Shjosan <shjosan@kakmix.co>
Co-authored-by: Tarık Yıldız <tariky113@gmail.com>
Co-authored-by: Zakhar Timoshenko <vp1984tanki@gmail.com>
Co-authored-by: monolifed <monolifed@protonmail.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
Co-authored-by: あぽろあぽろ <aporotilyoko0000@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ar/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ca/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/cs/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/cv/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/de/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/el/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/es/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/es_419/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fil/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fr/
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/it/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ja/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/jv/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ms/
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/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ru/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sc/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sv/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/tr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/uz/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/vi/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hans/
Translation: Tachiyomi/Tachiyomi 0.x

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Albedo <Illiator27@gmail.com>
Co-authored-by: Alejandro Djeordjian <masterdragondark@gmail.com>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: Alifian Caesar <alifiancaesar@gmail.com>
Co-authored-by: Blue <bluestuffish@gmail.com>
Co-authored-by: Bùi Nguyễn Hoàng Thọ <buinguyenhoangtho97@gmail.com>
Co-authored-by: C201 <derasetad@gmail.com>
Co-authored-by: Carlos Hernández García <carlosdezia@gmail.com>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: Eric <spice2wolf@gmail.com>
Co-authored-by: Eugene <e.shlyapkin99@gmail.com>
Co-authored-by: Femto <yusufackerman10@gmail.com>
Co-authored-by: Hytashi <pierrot.bourdeau@yahoo.fr>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Jendrej <ejjendrej@gmail.com>
Co-authored-by: Ken Swenson <flat@esoteric.moe>
Co-authored-by: Kurocon <weblate@kurocon.nl>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Marco Santos <enum.scima@gmail.com>
Co-authored-by: Matyáš Caras <contact@hernikplays.cz>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Napuzu <napuzu@hotmail.com>
Co-authored-by: Nikita Epifanov <nikgreens@protonmail.com>
Co-authored-by: Oğuz Ersen <oguzersen@protonmail.com>
Co-authored-by: Paulo Pinho <kebrus@gmail.com>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Prince Carl <addminusevei@gmail.com>
Co-authored-by: Shjosan <shjosan@kakmix.co>
Co-authored-by: Tarık Yıldız <tariky113@gmail.com>
Co-authored-by: Zakhar Timoshenko <vp1984tanki@gmail.com>
Co-authored-by: monolifed <monolifed@protonmail.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
Co-authored-by: あぽろあぽろ <aporotilyoko0000@gmail.com>
(cherry picked from commit 9ad67a7b7d)
2021-08-27 12:50:26 -04:00
Ivan Iskandar a90f99c445 Use correct color for reader loading indicator (#5685)
* Revert "Revert "Use correct color for reader loading indicator (#5645)" (fixes #5669)"

This reverts commit a4eba50c

* Fix crash on older APIs

(cherry picked from commit 5e77ae208d)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonConfig.kt
2021-08-27 12:50:26 -04:00
Jobobby04 1d9c3624a9 Main tachi title style 2021-08-27 12:50:25 -04:00
arkon bdbee22f29 Dependency updates
(cherry picked from commit 4d92caacef)
2021-08-27 12:50:25 -04:00
Andreas 82f0bf809d Fix weird behaviour in library when switching display mode (#5640)
(cherry picked from commit fd45de5c58)
2021-08-27 12:50:24 -04:00
Ivan Iskandar 306deb5e6a Fix forced secure screen disabled after disabling incognito
(cherry picked from commit 245132a1d136d41b5c139c09c58711ce224b6494)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/security/SecureActivityDelegate.kt
2021-08-27 12:50:24 -04:00
Jobobby04 ac6e0acc5d Drop blank 2021-08-27 12:50:23 -04:00
Jobobby04 8bcf2f7b82 Add uploader as a virtual tag 2021-08-27 12:50:04 -04:00
Jobobby04 5598ccf9e6 Search EHentai uploader on click 2021-08-27 12:50:04 -04:00
Jobobby04 478d7f989d Improve Hitomi tag list 2021-08-27 12:50:03 -04:00
Andy Bao b6f454ba66 Sync J2K fields in BackupManga to fix dupe ID (#400)
See: https://github.com/Jays2Kings/tachiyomiJ2K/issues/878
2021-08-20 18:30:26 -04:00
Riztard Lanthorn c613784fc4 fix toolbar btn color (#395)
* fix prev btn color in vert seekbar

* fix migration button color

use colorOnToolbar instead of colorOnPrimary
2021-08-16 23:01:41 -04:00
Eugene 6213d3e7a9 [Translation]RU (#383)
* [Translation]RU

* er

* del clone

* as pure white
2021-08-05 15:42:07 -04:00
Ivan Iskandar 6257d261b3 Fix wonky webtoon layout on less faster devices
(cherry picked from commit 0d28fb31a39c92f19e8cb8fc0ecf5ca1523c1085)
2021-08-04 23:05:29 -04:00
Jobobby04 3c24137810 Probably fix some weird bug when adding a tag 2021-08-04 22:56:33 -04:00
Jobobby04 03dbd617f9 Revert "Fix webtoon page takes up entire screen even if it's smaller (#5622)"
This reverts commit 4adf840f4b.
2021-08-04 15:10:08 -04:00
Jobobby04 8d7aa4b6a2 Fix filtered scanlators 2021-08-02 00:30:19 -04:00
Jobobby04 ae99b733e7 Better way to logout 2021-08-02 00:18:08 -04:00
Ivan Iskandar d5423caf91 Change BottomNavigationView behavior (#5603)
Similar to app bar's scroll behavior

(cherry picked from commit ff2a4e6952)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
2021-08-01 23:55:38 -04:00
Andreas 2b4adc0c7d Don't hide menu when scrolling through with ReaderSeekBar (#5611)
(cherry picked from commit 7660751f7f)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerViewer.kt
2021-08-01 23:45:35 -04:00
arkon 52a0aa9d47 Set exported flags on activities
(cherry picked from commit 78b9ac4766)

# Conflicts:
#	app/src/main/AndroidManifest.xml
2021-08-01 23:43:08 -04:00
arkon 22d0a6f19a Disable Android system auto backup (closes #5114)
In practice this feature:
- Just didn't work
- Magically worked (sometimes; see first point)
- Restored something potentially too old and totally messed up the app

(cherry picked from commit d5c75571dc)
2021-08-01 23:39:32 -04:00
arkon 1f31633b27 Update Coil
(cherry picked from commit 16b9c459ab)
2021-08-01 23:39:23 -04:00
Hunter Nickel c673385653 Add functionality to open SettingsMainController when double-tapping the "more" button (#5633)
(cherry picked from commit 41c060e28b)
2021-08-01 23:39:13 -04:00
Ivan Iskandar e02057a066 Fix reader activity not using preferred language (#5630)
(cherry picked from commit a3090e62f5)
2021-08-01 23:38:39 -04:00
Ivan Iskandar 4adf840f4b Fix webtoon page takes up entire screen even if it's smaller (#5622)
(cherry picked from commit 39b7024be0)
2021-08-01 23:38:28 -04:00
Jobobby04 5ce8f549a6 Remove android build cache due to deprecation 2021-08-01 21:56:43 -04:00
Jobobby04 9916d89296 New attempt to logout 2021-08-01 21:56:04 -04:00
arkon 46d33b0cfb Update for AS Arctic Fox
(cherry picked from commit d019c5999b)

# Conflicts:
#	README.md
#	app/build.gradle.kts
2021-07-28 17:06:44 -04:00
Gauthier f56fef667b fix regression in cover fetching (#5621)
introduced in https://github.com/tachiyomiorg/tachiyomi/pull/4870
this was previously done here: https://github.com/tachiyomiorg/tachiyomi/blob/7d23fd8ef5bbb9efd12f65bb5c9670464dd6c0b1/app/src/main/java/eu/kanade/tachiyomi/data/glide/MangaThumbnailModelLoader.kt#L95 as part of https://github.com/tachiyomiorg/tachiyomi/pull/2908

this impacts Komga extension, where server url is manually provided by the user, but due to auto-correct on mobile keyboards the `http` prefix sometimes get capitalized to `Http`.

(cherry picked from commit 20264eecb9)
2021-07-28 17:03:08 -04:00
Ivan Iskandar 404c773fd7 ReaderProgressIndicator: Set indeterminate as default state (#5605)
Will also set to indeterminate if progress is 0.

(cherry picked from commit cc55453076)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt
2021-07-28 17:02:58 -04:00
Carlos 9a47e812ed [skip ci] use the actions built in ignore case
(cherry picked from commit 6cab2427f5)
2021-07-28 17:01:12 -04:00
Carlos 4bd91c0d9e [skip ci] update issue closer to close anime/aniyomi
(cherry picked from commit 511bcc9197)
2021-07-28 17:01:05 -04:00
Ivan Iskandar c177b4516e Fix list scrolling on quad-state dialog (#5602)
(cherry picked from commit 00ac632d8f)
2021-07-25 14:22:29 -04:00
arkon 2de36cac79 Use chooser intent for sharing saved pages
(cherry picked from commit 649209890d)
2021-07-25 14:22:20 -04:00
arkon e422993c2e Remove unnecessary MultiDex library
(cherry picked from commit f2fca0f13d)

# Conflicts:
#	app/build.gradle.kts
2021-07-25 14:22:12 -04:00
FlaminSarge c89f88de16 Revert changes to last_update behavior from #5436 (#5590)
(cherry picked from commit 4084d5e69a)
2021-07-25 14:21:41 -04:00
arkon 0f7e251306 Reword tracking update preference since it updates status too
(cherry picked from commit e8beb7103c)
2021-07-25 14:21:32 -04:00
arkon 9e264a3b89 Relax MIUI backup/restore warning
(cherry picked from commit 0e4ce0f1ae)
2021-07-25 14:21:25 -04:00
Ivan Iskandar 673869bd13 Apply default night mode earlier (#5593)
(cherry picked from commit c42d517f6b)
2021-07-25 14:21:17 -04:00
Jobobby04 e40fbbecbb Add a few source helper functions 2021-07-25 14:16:16 -04:00
Jobobby04 81af5a5654 Cleanup 2021-07-25 14:15:27 -04:00
Jobobby04 1699c2ed67 Fix fab appearing after closing cover expand when no chapters are unread 2021-07-24 13:33:33 -04:00
Jobobby04 877adee4f7 Cleanup 2021-07-24 12:49:09 -04:00
Jobobby04 75f5d46f6a Delete the tokens on logout 2021-07-24 12:40:18 -04:00
Jobobby04 464f2b01a1 Manually try authenticating mangadex logout, skip if it fails 2021-07-24 12:38:55 -04:00
Jobobby04 d22b14734d Cleanup 2021-07-22 20:20:51 -04:00
Jobobby04 b30491c8fb Maybe fix crashing from J2k backups 2021-07-22 20:20:35 -04:00
Jobobby04 0c3e8f977c Fix crash with open in webview after migrate 2021-07-22 19:46:42 -04:00
Jobobby04 698246ee2a Fix crash when somehow a invalid filters json is passed 2021-07-22 19:34:00 -04:00
Jobobby04 0f4414e359 Fix crash if you somehow have a invalid saved search json 2021-07-22 19:29:47 -04:00
Jobobby04 b769043f36 Fix logout of mangadex 2021-07-22 19:28:59 -04:00
Andreas 1480829dd1 Auto hide reader menu when user starts reading again (#5578)
* Hide reader menu when user starts reading again

* Hide menu on zoom and scrolling around during zoom

Didn't work for webtoon

* Only listen when menu is visible

(cherry picked from commit 356cd4ef52)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.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/PagerViewer.kt
2021-07-22 15:50:55 -04:00
FlaminSarge 25629b5a4c Group 'Source not installed' cases in library update error log (#5589)
(cherry picked from commit 88619145d8)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/source/SourceManager.kt
2021-07-22 15:48:36 -04:00
Ivan Iskandar 641ad196f9 Reader loading progress indicator changes (#5587)
* Use CircularProgressIndicator on PageHolder

Manually rotate the CircularProgressIndicator inside a wrapper view instead of
drawing our own custom indicator.

* Use CircularProgressIndicator on TransitionHolder

(cherry picked from commit 6ba779fb7a)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt
2021-07-22 15:47:45 -04:00
FlaminSarge 0624b5e7d0 For library update error log, group errors by error string, and then sort the resulting list by source (#5586)
Format is
```
! Error
  # Source
    - Manga
```

(cherry picked from commit 8bd965267c)
2021-07-22 15:37:44 -04:00
Jobobby04 80128b1391 Update AboutLibraries 2021-07-22 15:37:19 -04:00
Jobobby04 ed19ad8819 Revert "Use jsDelivr as fallback when GitHub can't be reached for extensions list (closes #5517)"
This reverts commit 7891b4de31.
2021-07-22 15:36:04 -04:00
Ivan Iskandar c030a68d12 Fix incorrect saved tracker dates (#5581)
(cherry picked from commit be28e0b559)
2021-07-22 15:35:43 -04:00
Ivan Iskandar 8f0eeb6c9c Fix light navigation bar not applied on first launch (#5582)
No need to touch light system bars when running the splash screen since
they're not that noticeable, and it also breaks on some ROMs.

(cherry picked from commit 116fec208b)
2021-07-22 15:35:36 -04:00
Ivan Iskandar bd4a0e0a73 Fix transparent system bars after MainActivity recreated (#5574)
(cherry picked from commit fece92e15a)
2021-07-22 15:35:27 -04:00
arkon 02586404d7 Remove autoAddTrack preference
(cherry picked from commit dce3049446)
2021-07-22 15:35:17 -04:00
Jobobby04 86d28ac17f Build with Jdk 11 2021-07-22 15:35:05 -04:00
E3FxGaming 2a39a9105e Fix Cover sharing and saving (#5335)
* Fix Cover sharing and saving

The newly added manga cover sharing only worked with manga saved to the library (due to the implemented CoverCache only recording covers of library manga).
The changes made with this commit fixes that behaviour by implementing a fallback: the cover can now also be retrieved from the Coil memoryCache.

* Removal of coil MemoryKey usage

No longer uses the coil memory key, instead starts a new Coil request for the cover retrieval.

* Removed try-/catch-wrapper and added context-passing

useCoverAsBitmap lost its try-/catch-wrapper and doesn't call for the context anymore.
Instead shareCover and saveCover now pass their activity as context to useCoverAsBitmap.

* Added missing parameter description for useCoverAsBitmap

(cherry picked from commit fcd6fe5d8a)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt
2021-07-22 15:34:28 -04:00
arkon 5e89c1c11c Require Komga to be installed when attempting to setup tracker (closes #5491)
(cherry picked from commit a69a833716)
2021-07-22 15:32:43 -04:00
arkon 4bad159174 Warn on backup creation for MIUI users
(cherry picked from commit 697b082591)
2021-07-22 15:32:35 -04:00
Jobobby04 fda6458821 Implement manga dir rename 2021-07-21 13:56:30 -04:00
Jobobby04 e4debc89f0 Cleanup 2021-07-19 21:34:35 -04:00
Jobobby04 c5dec52c02 AssembleStandardRelease 2021-07-19 21:34:03 -04:00
Jobobby04 afa267f88b Remove old strings 2021-07-18 22:14:28 -04:00
Jobobby04 e2a81b1f0c Support new tracking feature in MDList 2021-07-18 22:04:21 -04:00
Ivan Iskandar 699490685f Add Dynamic theme for Android 12 (#5569)
* Add Dynamic theme for Android 12

* Also theme text colors

(cherry picked from commit b2d58e04d2)
2021-07-18 22:02:54 -04:00
arkon 3fb7140587 Put Komga tracker in separate group
(cherry picked from commit 8bfc5f0450)
2021-07-18 22:02:47 -04:00
arkon d0b2f6eaec Update detection of disabled MIUI Optimization
(cherry picked from commit a252a8acee)
2021-07-18 22:02:38 -04:00
Andreas dd25cd04c1 Add support for start/end fields for Kitsu (#5573)
(cherry picked from commit 447ee4bd09)
2021-07-18 22:02:31 -04:00
Jozef Hollý 1696e90eeb Weblate translations (#5276)
Co-authored-by: Aagaman Luitel <aagaman@disroot.org>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: Ava <Sasu.ruotsalainen@live.fi>
Co-authored-by: Bùi Nguyễn Hoàng Thọ <buinguyenhoangtho97@gmail.com>
Co-authored-by: Cypral <cypral@hotmail.fr>
Co-authored-by: Daniele Tricoli <eriol@mornie.org>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: Edmerson Pizarra <edmerpizarra@gmail.com>
Co-authored-by: Elosy <gaudic99@gmail.com>
Co-authored-by: Eric <spice2wolf@gmail.com>
Co-authored-by: Eugene <e.shlyapkin99@gmail.com>
Co-authored-by: Fellow Turkish <f3ll0wm4il3r_12@protonmail.com>
Co-authored-by: HeavenShadow <heavenshadow@outlook.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Huang Zhiyi <hzy980512@126.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Jarel Sawangin <jarelsawangin18@gmail.com>
Co-authored-by: Jetspectre <jetspectre1@gmail.com>
Co-authored-by: Khane Mcdaddy <kumakichi.houtarou@gmail.com>
Co-authored-by: Kurocon <weblate@kurocon.nl>
Co-authored-by: Laurant Marijnissen <laurant@gigafyde.dev>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Marco Santos <enum.scima@gmail.com>
Co-authored-by: Matteo Gaeta <matteo.gaeta.1998@gmail.com>
Co-authored-by: Matyáš Caras <contact@hernikplays.cz>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Mubarek Seyd Juhar <mubareksd@gmail.com>
Co-authored-by: Mubarek Seyd Juhar <mubareksej@gmail.com>
Co-authored-by: Neo <ohmaytt@naver.com>
Co-authored-by: Norbert Kovács <kovinor123@gmail.com>
Co-authored-by: Oğuz Ersen <oguzersen@protonmail.com>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Rostyslav <info@ubilling.net.ua>
Co-authored-by: Samuel Carvalho de Araújo <samuelnegro12345@gmail.com>
Co-authored-by: Shashank Pujari <shashankppujari@gmail.com>
Co-authored-by: Shippo <shiposhouyou@gmail.com>
Co-authored-by: Shjosan <shjosan@kakmix.co>
Co-authored-by: Silvio Pastore <silvioppastore@gmail.com>
Co-authored-by: Techeira Damián <damian.techeira@mercadolibre.com>
Co-authored-by: Tooster <max@polarczyk.pl>
Co-authored-by: Zero O <godarms2010@live.com>
Co-authored-by: f0roots <f0rootss@gmail.com>
Co-authored-by: monolifed <monolifed@protonmail.com>
Co-authored-by: whenwesober <naomi16i_1298q@cikuh.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
Co-authored-by: 曹恩逢 <nelson22768384@gmail.com>
Co-authored-by: 殺Mustafa <mustafasheref8@gmail.com>
Co-authored-by: 莊景翔 <sean1781031@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ar/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ca/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/cs/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/de/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/el/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/es_419/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fi/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fil/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/hi/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/hr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/hu/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/id/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/it/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ja/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/kn/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ko/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ms/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ne/
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_BR/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ro/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ru/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sc/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sv/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ti/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/tr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/uk/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/vi/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hant/
Translation: Tachiyomi/Tachiyomi 0.x

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Aagaman Luitel <aagaman@disroot.org>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: Ava <Sasu.ruotsalainen@live.fi>
Co-authored-by: Bùi Nguyễn Hoàng Thọ <buinguyenhoangtho97@gmail.com>
Co-authored-by: Cypral <cypral@hotmail.fr>
Co-authored-by: Daniele Tricoli <eriol@mornie.org>
Co-authored-by: DarKCroX <darkcrox.2020@outlook.com>
Co-authored-by: Edmerson Pizarra <edmerpizarra@gmail.com>
Co-authored-by: Elosy <gaudic99@gmail.com>
Co-authored-by: Eric <spice2wolf@gmail.com>
Co-authored-by: Eugene <e.shlyapkin99@gmail.com>
Co-authored-by: Fellow Turkish <f3ll0wm4il3r_12@protonmail.com>
Co-authored-by: HeavenShadow <heavenshadow@outlook.com>
Co-authored-by: Huang Zhiyi <hzy980512@126.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Jarel Sawangin <jarelsawangin18@gmail.com>
Co-authored-by: Jetspectre <jetspectre1@gmail.com>
Co-authored-by: Khane Mcdaddy <kumakichi.houtarou@gmail.com>
Co-authored-by: Kurocon <weblate@kurocon.nl>
Co-authored-by: Laurant Marijnissen <laurant@gigafyde.dev>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Marco Santos <enum.scima@gmail.com>
Co-authored-by: Matteo Gaeta <matteo.gaeta.1998@gmail.com>
Co-authored-by: Matyáš Caras <contact@hernikplays.cz>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Mubarek Seyd Juhar <mubareksd@gmail.com>
Co-authored-by: Mubarek Seyd Juhar <mubareksej@gmail.com>
Co-authored-by: Neo <ohmaytt@naver.com>
Co-authored-by: Norbert Kovács <kovinor123@gmail.com>
Co-authored-by: Oğuz Ersen <oguzersen@protonmail.com>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Rostyslav <info@ubilling.net.ua>
Co-authored-by: Samuel Carvalho de Araújo <samuelnegro12345@gmail.com>
Co-authored-by: Shashank Pujari <shashankppujari@gmail.com>
Co-authored-by: Shippo <shiposhouyou@gmail.com>
Co-authored-by: Shjosan <shjosan@kakmix.co>
Co-authored-by: Silvio Pastore <silvioppastore@gmail.com>
Co-authored-by: Techeira Damián <damian.techeira@mercadolibre.com>
Co-authored-by: Tooster <max@polarczyk.pl>
Co-authored-by: Zero O <godarms2010@live.com>
Co-authored-by: f0roots <f0rootss@gmail.com>
Co-authored-by: monolifed <monolifed@protonmail.com>
Co-authored-by: whenwesober <naomi16i_1298q@cikuh.com>
Co-authored-by: Роман <Rozhenkov69@gmail.com>
Co-authored-by: 曹恩逢 <nelson22768384@gmail.com>
Co-authored-by: 殺Mustafa <mustafasheref8@gmail.com>
Co-authored-by: 莊景翔 <sean1781031@gmail.com>
(cherry picked from commit 3cd6382795)
2021-07-18 22:02:21 -04:00
arkon 6f73261e21 Add link to Don't Kill My App! in advanced settings
(cherry picked from commit 5d1134dfa8)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt
2021-07-18 22:02:00 -04:00
Ivan Iskandar f2bd785c57 Fix splash screen icon on Android 12 (#5565)
* Use Core Splashscreen for splashscreen stuff

* Keep splash screen until activity ready

Ready as in the data inside starting screen is finished showing

* Use custom splash screen exit animation on older android version

* Add splash screen minimum duration to prevent exit jank

* Fix broken AMOLED theme

* Improvements

(cherry picked from commit 05e7b0dc22)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourceController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryCategoryView.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
#	app/src/main/res/drawable/ic_tachi_splash.xml
2021-07-18 22:01:04 -04:00
Andreas ec7f70e71c Make default tracking status depend if the user has read chapter or not (#5567)
- When user reads a chapter change tracking status to reading

(cherry picked from commit c0647c3110)
2021-07-18 20:21:25 -04:00
Ivan Iskandar c2f9e4637c Bump compileSdk to 31 (#5563)
(cherry picked from commit ef84ed4982)
2021-07-18 20:20:50 -04:00
Hunter Nickel 6e6d69b6b1 Add cover actions to a dialog when long-pressing manga cover (#5556)
(cherry picked from commit a1e83b9f19)
2021-07-18 20:20:41 -04:00
Soitora 6e45ed3c1d Make incognito bar use primary colors (#5558)
Looks better than the odd forced gray used for all themes

(cherry picked from commit 4ce4ee3c00)
2021-07-18 20:20:33 -04:00
Soitora a17747e2b4 Added "Tako" theme (#5546)
* Added "Ninomae" theme

Based on the lovely Ninomae Ina'nis, for Arkon and Flat

* Use updated colors from Ghostbear

Adapted after feedback

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

* Tweak the Ninomae theme further

* Sort themes alphabetically

- Sorts themes alphabetically.
- Use the same capital word system in colors.xml for themes.xml as well.
- Rename AMOLED theme to AMOLED mode in theme.xml and color.xml references.

* More tweaks

* Style incognito bar

Uses a dark purple which looks super clean instead of a washed out gray

This sets the groundwork for other themes too

* Tweak final onPrimary color

* Rename Ninomae to Tako

RIP

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

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/base/activity/BaseThemedActivity.kt
2021-07-18 20:20:26 -04:00
Ivan Iskandar e0b62b9cd1 Don't show navigation overlay if tap navigation is disabled (#5534)
* Don't show navigation overlay if tap navigation is disabled

* Apply feedback

(cherry picked from commit b7c2890250)
2021-07-18 20:19:03 -04:00
Jobobby04 65b6f7df44 Fix build errors because of JSoup update 2021-07-18 20:18:20 -04:00
Jobobby04 cf54851342 Replace material-dialogs with Material Components' SY 2021-07-18 20:17:58 -04:00
Ivan Iskandar d4993d1b71 Replace material-dialogs usage with Material Components' (#5423)
* Use Material Components' dialogs

For all dialogs that has direct replacement.

* Convert text input dialogs

* Convert quad-state multi choices dialogs

* Convert date picker dialogs

This also changes the flow to remove selected start/finish tracking date and
the track item itself

* Remove material-dialogs dependencies

(cherry picked from commit ae97bb0445)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/WhatsNewDialogController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPageSheet.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsBackupController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsDownloadController.kt
2021-07-18 20:15:30 -04:00
arkon d8054b3f7b Chop long titles in library update notification, fix incrementing when updating covers
(cherry picked from commit 117fd4bd0f)
2021-07-18 13:10:14 -04:00
arkon 61a6f1ce4e Update to Kotlin 1.5.21
(cherry picked from commit bd424ce460)
2021-07-18 13:10:04 -04:00
FourTOne5 1587923162 Update Libary update notification. (#5545)
* Update LibraryUpdateNotifier.kt

* Update LibraryUpdateService.kt

(cherry picked from commit 1dddba7f25)
2021-07-18 13:09:56 -04:00
Hunter Nickel 10a927f9d7 Hide the reader seekbar for single-page chapters (#5551)
(cherry picked from commit 7fd75b7501)
2021-07-18 13:09:47 -04:00
Carlos 269af9a2f5 Update request_feature.yml
closes #5543

(cherry picked from commit 423f07033e)
2021-07-18 13:08:44 -04:00
arkon 051e360793 Update jsoup and Coil
(cherry picked from commit ef9c457681)
2021-07-18 13:08:20 -04:00
Hunter Nickel a46e62eee3 Hide Start/Resume FAB unless there are unread chapters and during loading (#5458)
* Hide Start/Resume FAB unless there are unread chapters

* Remove dead code, rewrite logic for hiding FAB

(cherry picked from commit a6d4a3b785)
2021-07-18 13:08:13 -04:00
Riztard Lanthorn 290efebf27 fix yin & yang theme (#5535)
refresh arrow color didnt change in dark mode

(cherry picked from commit 2e487f8a3f)
2021-07-18 13:08:05 -04:00
Ivan Iskandar 05dbfd94e7 Fix incognito mode disabled after URL intent launched (#5533)
(cherry picked from commit 2423a70abd)
2021-07-18 13:07:53 -04:00
Soitora d34147803c Tweak chip contrast (#5526)
* Set better contrast for chips

* Set custom chip colors for Yin Yang

(cherry picked from commit 13d39fc942)
2021-07-18 13:07:43 -04:00
Soitora 640b0f84f7 Optimize the Green Apple theme variant (#5530)
(cherry picked from commit b7547a8458)
2021-07-18 13:07:34 -04:00
arkon 085358d39c Remove unnecessary DB calls when setting chapter flag defaults
(cherry picked from commit 8931dbb657)
2021-07-18 13:07:25 -04:00
arkon 8d88467aa0 Fix Incognito Mode toggle not updating after disabled via notification
(cherry picked from commit 52416ff3a8)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/more/MoreController.kt
2021-07-18 13:07:16 -04:00
Soitora ee51813069 Improve Green Apple color in Light theme (#5528)
(cherry picked from commit 3dbfee91f6)
2021-07-18 13:06:49 -04:00
Jobobby04 2bdead3e5f Cleanup mangadex, hopefully mitigate freezing 2021-07-18 13:06:12 -04:00
Jobobby04 dee3abd0c3 Logout even if the logout response doesnt return ok 2021-07-18 13:05:35 -04:00
Jobobby04 09ea9deb67 Stop excluding Tsumino from library updates 2021-07-12 12:26:41 -04:00
Jobobby04 866c4a77a3 Use a empty title if none is found 2021-07-11 21:24:24 -04:00
Jobobby04 a856ea20b4 Cleanup 2021-07-10 17:33:25 -04:00
Jobobby04 e6cb339ff5 Mangadex fixes 2021-07-10 17:27:21 -04:00
arkon 7377892942 Reword delete chapter settings (closes #5494)
(cherry picked from commit 09d4901781)
2021-07-10 17:23:02 -04:00
arkon b7321ca204 Improving genre search started from the manga page of a popular manga (#4375)
Co-authored-by: E3FxGaming <E3FxGaming@users.noreply.github.com>
(cherry picked from commit 62955e7385)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoHeaderAdapter.kt
2021-07-10 17:22:54 -04:00
Ivan Iskandar db395f5e37 Support more image formats for covers (#5524)
* Add TachiyomiImageDecoder for Coil

Is currently used to decode AVIF and JPEG XL images.

* LocalSource: Check against file name for cover

This allows file with all supported formats to be set as cover

* TachiyomiImageDecoder: Handle HEIF on Android 7 and older

(cherry picked from commit 1ef7722504)
2021-07-10 17:18:50 -04:00
arkon 7891b4de31 Use jsDelivr as fallback when GitHub can't be reached for extensions list (closes #5517)
(cherry picked from commit 24bb2f02dc)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/extension/api/ExtensionGithubApi.kt
2021-07-10 17:18:37 -04:00
arkon 15707d933a Use fade transactions when handling shortcuts
(cherry picked from commit 627698d81f)
2021-07-10 15:48:10 -04:00
arkon 6516a4285f Add warning for MIUI users when trying to restore backups with MIUI Optimization disabled
(cherry picked from commit d4c8480dee)
2021-07-10 15:48:01 -04:00
arkon 5a1f09e904 Parallel cover update job
(cherry picked from commit 015e8deb79)
2021-07-09 17:52:45 -04:00
jmir1 a844c636a6 show correct number of items in the library tit... (#5516)
...le, even when all manga are in a category that isn't the default
category.

(cherry picked from commit 8d5f798591)
2021-07-09 17:52:37 -04:00
arkon 9ade06c6f7 Update dependencies
(cherry picked from commit 714aa4b4ba)

# Conflicts:
#	app/build.gradle.kts
2021-07-09 17:52:14 -04:00
arkon b5f4eb79d9 Show all currently updating manga in library update notification
(cherry picked from commit e65f59b3df)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateNotifier.kt
2021-07-08 23:34:28 -04:00
arkon cec05194eb Update dependencies
(cherry picked from commit 67128937ca)

# Conflicts:
#	app/build.gradle.kts
2021-07-08 23:10:14 -04:00
Riztard Lanthorn 22fd34088f add Yin Yang Theme (#5508)
* add Yin Yang Theme

* change download badge color to yin yang as well

* update string

* fix &

(cherry picked from commit d9ea621e54)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceValues.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/base/activity/BaseThemedActivity.kt
2021-07-08 23:08:47 -04:00
SBence 04326d17bf Sanitize manga title in page download subfolder name (#5514)
(cherry picked from commit fb35d7af59)
2021-07-08 23:05:29 -04:00
Jobobby04 4e8142b5b8 Cleanup library update a bit 2021-07-08 23:05:08 -04:00
Jobobby04 a29ddaaf1c Add debug function to reset viewer for all manga 2021-07-07 20:53:52 -04:00
Andreas 102811f781 Make Automatic Reader Theme pick background/text color based on dark mode preference (#5505)
* Make Automatic Reader Theme pick background/text color based on theme

* Use extension method

(cherry picked from commit c254aa6fcc)
2021-07-07 20:37:26 -04:00
Jobobby04 b49c64d4ff Cleanup 2021-07-07 20:37:14 -04:00
Ivan Iskandar 52b748d935 Simplify locale override (#5509)
(cherry picked from commit 37d30eb887)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/App.kt
2021-07-07 20:37:02 -04:00
w 4d95306cd9 Update image decoder to add JPEG XL support (#5512)
(cherry picked from commit 49cdcc644c)
2021-07-07 20:24:08 -04:00
arkon 811be77144 Fix chapter source order not working correctly and allow refresh to update source order
Based on https://github.com/CarlosEsco/Neko/commit/00f916a4f0e8d677f8e2107e92139d43d88606ae

Co-authored-by: CarlosEsco <CarlosEsco@users.noreply.github.com>
(cherry picked from commit 07e5525c74)
2021-07-07 20:24:00 -04:00
arkon 6323306693 Only update in-library manga chapter settings instead of all
(cherry picked from commit 776194f5b2)
2021-07-07 20:23:48 -04:00
arkon c2b07717fc Sanitize spaces when setting URLs without domain
It throws an URISyntaxException otherwise.

(cherry picked from commit ed80ee98a7)
2021-07-07 20:23:42 -04:00
Jobobby04 aaad902d6a Fix filter theme 2021-07-07 16:00:34 -04:00
Jobobby04 bfb018d1b4 Fix migration menu icons 2021-07-06 17:08:50 -04:00
Jobobby04 211e0912a3 Fix intercept activity toolbar 2021-07-06 17:01:52 -04:00
Jobobby04 d788585d14 ReImplement Mangadex deeplink 2021-07-06 16:58:09 -04:00
Jobobby04 90654dc027 Fix page reporting 2021-07-06 15:28:32 -04:00
arkon 183da5cc84 Resource cleanup post-theme removal
(cherry picked from commit 040bac3da2)
2021-07-05 18:43:55 -04:00
arkon 693b57b14c Add DARK_BLUE enum value back to avoid crash
(cherry picked from commit 9df721d158)
2021-07-05 18:43:48 -04:00
arkon 243f6b3851 Update dependencies
(cherry picked from commit ba0907ae59)

# Conflicts:
#	app/build.gradle.kts
2021-07-05 18:43:39 -04:00
arkon 988249b177 Remove Hot Pink theme
The old AMOLED Hot Pink theme is pretty close to what Midnight Dusk + AMOLED is now.

(cherry picked from commit e9dce32a98)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceValues.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/base/activity/BaseThemedActivity.kt
2021-07-05 18:42:30 -04:00
arkon e6a4d1e2b4 Rename "Dark Blue" theme to "Blue"
(cherry picked from commit 535cc0d81e)
2021-07-05 18:41:17 -04:00
arkon c07cc7f0df Set root project name, remove jcenter for plugin resolution
(cherry picked from commit 5801297d78)
2021-07-05 18:41:06 -04:00
Jobobby04 20d8cf6c10 Update Mangadex 2021-07-05 18:31:30 -04:00
Jobobby04 efba76380a Reader cleanup 2021-07-04 17:14:21 -04:00
Jays2Kings 60f1c6a2b4 Fixed double page layout showing pages from other chapters
(cherry picked from commit 8ac340eff0451e59a1fdfeb3577c38db5eb7da00)
2021-07-04 17:14:20 -04:00
Jobobby04 f9ba8b0072 Fix reader toolbar insets 2021-07-04 14:59:24 -04:00
Jobobby04 2173a83196 Fix E-Hentai browse images being compressed 2021-07-04 14:53:52 -04:00
Jobobby04 ad04fab21a Always show mark as read 2021-07-04 14:49:55 -04:00
Jobobby04 74c94b9879 Small reader fixes 2021-07-04 14:49:41 -04:00
Jobobby04 3bdd508a81 Only show mark as read and mark as unread in library if there is room 2021-07-04 14:00:38 -04:00
Jobobby04 c9438d55e0 Fix words dissapearing 2021-07-03 22:49:12 -04:00
Jobobby04 33c48412be Multiple bugfixes for the reader, includes double page and chapter buttons 2021-07-03 22:37:25 -04:00
Jobobby04 a6cf6ffca8 Reorganize the code in the reader 2021-07-03 20:05:22 -04:00
Jobobby04 7d09c4da0d Use the Main Executor to schedule the EH Updater 2021-07-03 19:29:46 -04:00
arkon b71694fb54 Update to Conductor 3.0.0
(cherry picked from commit 01a1a9ebab)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SourceSearchController.kt
2021-07-03 19:08:00 -04:00
arkon 6daa93fd24 Fix category selected state
Co-authored-by: ivaniskandar <ivaniskandar@users.noreply.github.com>
(cherry picked from commit 438bad9649)
2021-07-03 18:59:27 -04:00
arkon 3ee68f5127 Fix some views being click-through-able
(cherry picked from commit fe3b36caeb)
2021-07-03 18:59:20 -04:00
curche f23b66507f fix link to List of Extensions (#5493)
(cherry picked from commit 83588e14d9)
2021-07-03 18:59:10 -04:00
Ivan Iskandar 30f478ea80 Track search dialog adjustments (#5479)
* Add clear text button to track search dialog text input

* Track search item adjustments

(cherry picked from commit 64b1c9636b)
2021-07-03 18:59:03 -04:00
FourTOne5 c4374240e8 Sort Installed, Update, Untrusted Extenion by Name in Extensions Tab (#5486)
* Update ExtensionPresenter.kt

* Update ExtensionPresenter.kt

* Update ExtensionPresenter.kt

(cherry picked from commit db0c1b2634)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/ExtensionPresenter.kt
2021-07-03 18:58:50 -04:00
arkon dc6906250d Use current locale when sorting library "alphabetically" (closes #5281)
This _should_ handle things like Chinese that aren't actually alphabetical.

(cherry picked from commit 568c4d8c8e)
2021-07-03 18:57:25 -04:00
arkon e480001585 Update dependencies
(cherry picked from commit d645507eeb)
2021-07-03 18:57:18 -04:00
arkon 3df4389fc4 Update delete history icon (closes #5482)
(cherry picked from commit 3548112ab2)
2021-07-03 18:57:09 -04:00
arkon aa23de77bc Remove en-GB option since we don't actually localize different English locales
(cherry picked from commit 0cb042cd93)

# Conflicts:
#	app/build.gradle.kts
2021-07-03 18:56:53 -04:00
Ivan Iskandar ad2bbd0e3c Merge light and dark themes (#5470)
* Merge AMOLED and regular dark themes

This allows all variants of dark themes to use black backgrounds as a
separate preference.

* Merge light and dark themes

* Fix ReaderSeekBar color on Dark Blue theme

* Color fixes

* Fix Dark Blue bars ripple

* Simplify night mode check

(cherry picked from commit 0eadc028b6)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceValues.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/base/activity/BaseThemedActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsGeneralController.kt
2021-07-03 18:55:12 -04:00
stinky-lizard 0e636d68c4 Imported implementation for updating library by next expected update from Neko (#5436)
* Imported implementation for updating library by next expected update from Neko. This sort uses the last 4 updates for a manga to compute an average time between updates and then extrapolates when the next update should occur.

Currently seems to work perfectly. However, I may have silently messed something up along the way.

All code and algorithms are credited to kyjibo on GitHub. The original commit adding this functionality is here: https://github.com/CarlosEsco/Neko/commit/681003926ae1e07b925155d4e1f43972bbe2b843

* Imported implementation for updating library by next expected update from Neko. This sort uses the last 4 updates for a manga to compute an average time between updates and then extrapolates when the next update should occur.

Currently seems to work perfectly. However, I may have silently messed something up along the way.

All code and algorithms are credited to kyjibo on GitHub. The original commit adding this functionality is here: https://github.com/CarlosEsco/Neko/commit/681003926ae1e07b925155d4e1f43972bbe2b843

* Remove commented-out line from LibraryUpdateRanker

I missed removing this when first committing. The removed line is a holdover from Neko, which requires 7+, but I removed the function that requires this.

(cherry picked from commit 70ed49e478)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/database/DbOpenCallback.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/queries/MangaQueries.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/tables/MangaTable.kt
2021-07-03 18:22:38 -04:00
Andreas e59789f777 Change wording for "Per-category display setting" (#5484)
(cherry picked from commit 3c67a36b60)
2021-07-03 18:14:07 -04:00
Soitora a0549b304f Create parity with extension repo issues (#5473)
* [skip ci] Rename bug to issue

Also changes the file naming scheme of the issue forms.

Matches with tachiyomiorg/tachiyomi-extensions now.

* [skip ci] Tweak issue overview

(cherry picked from commit e5621246ec)
2021-07-03 18:13:37 -04:00
Jobobby04 69d762c131 Support WorkManager items in the debug list scheduled jobs option 2021-07-02 17:51:02 -04:00
Jobobby04 e9e3340c08 Convert EH Gallery Updater from a JobService to WorkManager 2021-07-02 17:50:22 -04:00
Jobobby04 0d8af29eeb Fix latest release reference 2021-07-02 17:12:21 -04:00
Jobobby04 60f9391b4e Cleanup 2021-06-29 19:00:34 -04:00
Eugene 56f4b1f224 [Translation]RU (#364)
* [Translation]RU

* more intuitive "zoom out" mode
2021-06-29 00:07:11 -04:00
simakover c123df4637 Add Migrate button marginTop and implement Hide not found manga for mass migration (#372)
* Add Migrate button marginTop and implement Hide not found manga in mass migration

* if else change

* move variable to adapter

* horizontal scroll view for checkboxes in migration_bottom_sheet.xml
2021-06-29 00:06:55 -04:00
Jobobby04 1cf48b3ab7 Update crashlytics 2021-06-29 00:06:12 -04:00
Jobobby04 ee73c0e282 Fix crashing library 2021-06-29 00:05:49 -04:00
Ivan Iskandar b7b1175207 Tracking sheet and search adjustments (#5427)
* Tracking sheet and search visual adjustments

* Remove track item divider

* Add start margin to "add tracking" button

* Fix track search dialog crash when no item chosen

* Show "remove" action only when track item is previously set

* Remove placeholder for total chapters

* Cleanups

* Add track search error/empty result message

* Make track search dialog fullscreen

* Use AutofitRecyclerView for track search dialog

* Fix text input overlapping

* Run track search from IME action instead

* Remove deprecated method

* Reformat

* Set track search error message on the placeholder

* Use payload to notify track search item change

* Fix track search action icon tint color

(cherry picked from commit cb71d44024)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/track/TrackSearchAdapter.kt
#	app/src/main/res/values/styles.xml
2021-06-28 14:38:36 -04:00
curche 9903a6bde8 Extend library search by adding -<source> option (#5387)
* extend library search to enable -<source> search

library search already allows for <source> search to select manga from a
particular source. Similarly, -<source> allows to search for manga that
aren't from the said source. TachiyomiSy has this feature but it heavily
depends on exh methods

A problem when you directly add a negation check is that although
it will work, the genre search kicks in adds back every manga since
-<source> returns true for all genres of a manga

Thus, the solution I decided on was do source search first, and then
move to genre check when it fails. A perhaps useful addition is that,
now you're able to search like this:
 <genre1>, -<source>, -<genre2>

* make if-else statements more readable

* refactor containsSourceOrGenre() using `when`

* add comment describing the function

* remove lazy

not really required anymore now that containsSourceOrGenre was rewritten
using `when`

(cherry picked from commit 7e3ea9074c)
2021-06-28 14:24:37 -04:00
Ivan Iskandar da0b4bb94a Reader fixes after #5450 (#5465)
* Fix ReaderActivity system bars behavior

* Fix ReaderActivity transition view text color

* Don't change reader navbar color when windowLightNavigationBar is not available

(cherry picked from commit e2cf157857)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
2021-06-28 14:23:47 -04:00
Jobobby04 99042352fb Protect against a random library crash 2021-06-28 01:22:18 -04:00
Jobobby04 a132435967 Fix flashing library 2021-06-28 01:10:01 -04:00
Jobobby04 417c345946 Fix manga info 2021-06-28 00:16:22 -04:00
Jobobby04 c75d0a62b5 Workflow tweaks 2021-06-26 22:41:47 -04:00
Andreas 6f6e6ad326 Sort per category (#5408)
* Add flags for sorting per category

* Add logic to LibrarySettingsSheet

* Add  logic to LibraryPresenter

* Minor tweaks

* Use enum instead of variables

Also deprecates LibrarySort in favour of the new enum classes

* Remove debug log and suppress deprecation

* Convert DisplayMode setting to enum

Also fix bug were adapter would get de-synced with the current per category setting

* Fix migration crashing app due to values being access before migration

(cherry picked from commit 60890147c3)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/tachiyomi/data/database/models/Category.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceValues.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceItem.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryCategoryView.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryItem.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibrarySettingsSheet.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
2021-06-26 22:41:34 -04:00
Ivan Iskandar 32e7750b7d Match ReaderActivity theme with the rest of the app (#5450)
* Match ReaderActivity theme with the rest of the app

* Fix viewer inset when fullscreen reader is off

* Fix incorrect toolbar color after recreate

* Remove animated inset

* Move isDarkMode to PreferencesHelper

(cherry picked from commit 64c95305b9)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/base/activity/BaseThemedActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
#	app/src/main/res/layout/reader_activity.xml
2021-06-26 22:38:56 -04:00
arkon d28331c9d2 [skip ci] Update issue closer rules
(cherry picked from commit feddd9285d)
2021-06-26 22:38:56 -04:00
Alessandro Jean 117aaf66a8 [skip ci] Update issue-moderator-action to v1.1 (#5459)
(cherry picked from commit d1b393965f)
2021-06-26 22:38:56 -04:00
Soitora 274d90aa11 [skip ci] Convert issue templates to the new issue forms (#5454)
* [SKIP-CI] Update issue config

* [SKIP-CI] Delete redundant Source Issue

* [SKIP-CI] Convert bug report to an issue form

* [SKIP-CI] Convert feature request to an issue form

(cherry picked from commit e31a39b9d5)

# Conflicts:
#	.github/ISSUE_TEMPLATE/bug_report.md
#	.github/ISSUE_TEMPLATE/feature_request.md
2021-06-26 22:38:55 -04:00
arkon 3544fadc74 [skip ci] Remove explicit SKIP CI workflow logic
GitHub has it built-in now: https://github.blog/changelog/2021-02-08-github-actions-skip-pull-request-and-push-workflows-with-skip-ci/

(cherry picked from commit 98fc028d39)
2021-06-26 22:38:55 -04:00
Soitora 2975acd8db Add favorited badge to browse and search (#5440)
(cherry picked from commit 88fd799a30)
2021-06-26 22:38:55 -04:00
inorichi fe51ad5d4b Update image decoder with better AVIF support
(cherry picked from commit ef937f277e)
2021-06-26 22:38:54 -04:00
Ivan Iskandar a59168f8b6 Fix issues on older API versions and tablets (#5433)
* Fix tablet's navigation rail and toolbar color

* Fix tracking sheet crash on older APIs

* Fix settings crash on older APIs

(cherry picked from commit c3fb5af3fc)
2021-06-26 22:38:54 -04:00
Riztard Lanthorn 6b5ee52dc7 [SKIP CI] fix GithubUpdateChecker url (#5434)
(cherry picked from commit 859e8deb02)
2021-06-26 22:38:54 -04:00
Ivan Iskandar f61bbfa77a More themes cleanup (#5410), remove AMOLED Blue
* More themes cleanup

* Tweak some things

* Fix 'Clear History' icon

* Split out ripple colored to its own drawable

* Tidy up things

* Unify background dim amount

* Use primaryColor for Account login button

* More colored ripples

* use colorOnPrimary for selected comfortable library item title

Co-authored-by: Soitora <simon.mattila@protonmail.com>
(cherry picked from commit 932c92412c)

# Conflicts:
#	app/src/main/res/layout-sw720dp/manga_info_header.xml
#	app/src/main/res/layout/manga_info_header.xml
#	app/src/main/res/layout/reader_activity.xml
#	app/src/main/res/menu/library_selection.xml
#	app/src/main/res/menu/reader.xml
#	app/src/main/res/values/colors.xml
#	app/src/main/res/values/dimens.xml
2021-06-26 22:38:53 -04:00
Riztard Lanthorn 6283754ce5 add start download now (#5386)
* add start download now

download now for selected chapter
from j2k

Co-Authored-By: Jays2Kings <jays@outlook.com>

* change string to action

* move to bottom

* oopsie

Co-authored-by: Jays2Kings <jays@outlook.com>
(cherry picked from commit 05771ddf6d)
2021-06-26 22:38:52 -04:00
Hunter Nickel ed78bca33e Add AlertDialog styles to Reader themes (#5426)
(cherry picked from commit 848d387ec4)
2021-06-26 22:38:52 -04:00
jmir1 9e38b5231c Fix crash when opening the MangaController from... (#5419)
...the browse search
null safe cast to TextView because when searching for manga in a source,
the toolbar has no children and
find() returns null.

(cherry picked from commit ac6b4235b9)
2021-06-26 22:38:52 -04:00
Ivan Iskandar 4706493057 Fix incorrect toolbar text color after theme change (#5388)
(cherry picked from commit ab73e98075)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt
2021-06-26 22:38:51 -04:00
Soitora 18a76c6bc2 Move "Delete sweep" out from overflow (#5392)
Places it as its own icon, having an overflow with only one item doesn't make much sense when that's not the behavior in other parts of the app.

(cherry picked from commit aecdd04e04)
2021-06-26 22:38:51 -04:00
Jobobby04 104e200b4a Favorites sync show currently processing title after 5 seconds in case of issues 2021-06-26 22:38:50 -04:00
Jobobby04 9af351e0dd Cleanup 2021-06-26 22:38:50 -04:00
arkon 1ddfe956a7 Downgrade WorkManager
Related to #5364

(cherry picked from commit e5cdf74587)
2021-06-26 22:38:50 -04:00
Sam-Oak 40efaeafe1 tweak the PT-BR translation (#363) 2021-06-17 09:40:05 -04:00
Jobobby04 2b4cdfaee4 Support autofill for tracker logins 2021-06-13 20:00:53 -04:00
Jobobby04 e2324df0cc Use the same thread for db operations in places where trans are possible 2021-06-13 19:56:17 -04:00
Jobobby04 447ddfd8d5 Support autofill in source login dialog 2021-06-13 16:15:04 -04:00
Jobobby04 96a932264b Use the clear selection function to destroy the action mode 2021-06-13 14:41:14 -04:00
arkon d04161cc9e Surface exceptions when fetching pages properly (fixes #5377)
(cherry picked from commit 8d25ce7323)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/ChapterLoader.kt
2021-06-13 14:36:55 -04:00
Hunter Nickel 03c45f676a Added text to category changing dialog when shown with no categories (#5345)
* Added text to ChangeMangaCategoriesDialog if invoked with empty category list

* Change dialog text, add negative button, and change positive button to open CategoryController

* Tiny bit of code cleanup and reorganizing

(cherry picked from commit 8deca3b63a)
2021-06-13 14:36:04 -04:00
Zakhar Timoshenko 56fa39387f Added "Yotsuba" theme (#5290)
(cherry picked from commit 9b967177c5)
2021-06-13 14:35:40 -04:00
Soitora 60704ad3a7 Improvements to the new library item selectors (#5379)
* Increase card selector radius

* Add themed overlay to library selector

(cherry picked from commit 4dfb3cc972)
2021-06-13 14:35:29 -04:00
Jobobby04 e3fd17f550 Fix Mangadex random 2021-06-12 20:00:28 -04:00
Jobobby04 1dcf49200a Saved searches tweaks 2021-06-11 19:51:34 -04:00
Jobobby04 d5638c6204 Cleanup recs 2021-06-10 17:20:54 -04:00
Jobobby04 bf97dce150 Update firebase 2021-06-10 17:20:41 -04:00
Jobobby04 9e80f47e9f Help with favorites sync db locking 2021-06-10 17:20:29 -04:00
Ivan Iskandar 963b85f756 Add background to draggable items (#5353)
(cherry picked from commit 73e5e9ecd9)
2021-06-10 16:44:58 -04:00
Soitora fc141cb92a Fix black icon for small notifications on EMUI (#5350)
* Set notification icon fillColor to Android white

Closes #5340

* Remove '_black' suffix from the glasses icon drawable

(cherry picked from commit 653b7ffcd0)

# Conflicts:
#	app/src/main/res/drawable/ic_tachi.xml
2021-06-10 16:44:49 -04:00
jmir1 0bdddb365f Fix library settings sheet causing app to crash... (#5354)
...when the category list is empty

(cherry picked from commit 8791b72cb1)
2021-06-10 16:43:04 -04:00
arkon 0521c362c9 Revert "Set background job expedited policies"
This reverts commit c69420373a.

Caused crashes in TachiyomiSY for some reason. Will have to redo this once we target Android 12.

(cherry picked from commit 07de367476)
2021-06-10 16:42:53 -04:00
Ivan Iskandar 8cc51c7f71 Fix download status not updated properly after starting batch download (#5348)
(cherry picked from commit 31d96c2bf0)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
2021-06-10 16:42:43 -04:00
Ivan Iskandar eafce1ee5d Enable secure screen when incognito mode is enabled (#5339)
* Enable secure screen when incognito mode is enabled

* Fix incognito banner not showing up after configuration changes

(cherry picked from commit fb8aafb69f)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/security/SecureActivityDelegate.kt
2021-06-10 16:41:38 -04:00
Soitora 341543da24 Add ripple to history items (#5341)
- Replaces margin with padding.
- Adds the drawable ripple background.
- Changes height to match the padding so it doesn't look odd.

(cherry picked from commit 3d58b78062)
2021-06-10 16:40:38 -04:00
arkon 65afc99ead Show global update error notifications by default
(cherry picked from commit ec5e6958ef)
2021-06-10 16:40:26 -04:00
arkon c301def4bc Fix crash on source page load error
(cherry picked from commit 71bd5fe367)
2021-06-10 16:40:15 -04:00
arkon a33a7c0844 Draw tablet manga info column under navbar (fixes #5323)
(cherry picked from commit d43255e688)
2021-06-10 16:39:27 -04:00
Ivan Iskandar 710196d514 Coil: Caching adjustments (#5311)
* Coil: Enable disk cache for source items

* MangaCoverFetcher: Let Coil's OkHttp client handle caching for non-library cover

(cherry picked from commit 3527dedc99)
2021-06-10 16:39:14 -04:00
arkon 216065fb38 Use coroutine job for fetching next source page
(cherry picked from commit e6f3cd03bb)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourcePresenter.kt
2021-06-10 16:36:14 -04:00
arkon 708c4b6905 Add shortcut to tracking guide on website
(cherry picked from commit a1e31549a2)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/sources/MigrationSourcesController.kt
2021-06-10 16:17:48 -04:00
arkon 3536c359f3 Address some build warnings
(cherry picked from commit 71d225c562)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchController.kt
2021-06-10 16:16:12 -04:00
arkon a3dbf6ff24 Don't expand source filter sheet on show (closes #5253)
(cherry picked from commit 7c23212850)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceFilterSheet.kt
2021-06-10 16:15:38 -04:00
Hunter Nickel 13235f3a37 Add behavior for modifying reader buttons depending on prev/next chapters (#5305)
(cherry picked from commit fdf178d4df)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
2021-06-05 16:09:45 -04:00
arkon 74636f4b1a Use smallest width instead of width for alt layouts
(cherry picked from commit 04ebca8413)

# Conflicts:
#	app/src/main/res/layout-sw720dp/manga_info_header.xml
2021-06-05 16:08:59 -04:00
arkon 9275d9ab55 Set orientation icon correctly when opening reader
(cherry picked from commit edeee54fb2)
2021-06-05 16:08:20 -04:00
Andreas 89249c9895 Added category-wise display setting (#5232)
* Added category-wise display setting

Co-authored-by: Rogavactive <30288842+Rogavactive@users.noreply.github.com>

* Use flag instead of preference

* Remove database call in LibraryItem

* Remove unnecessary code

Co-authored-by: Rogavactive <30288842+Rogavactive@users.noreply.github.com>
(cherry picked from commit a906e9b302)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/database/models/Category.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryItem.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibrarySettingsSheet.kt
2021-06-05 16:07:57 -04:00
arkon 9b85b009a4 Fix image type build error
(cherry picked from commit fff72b61df)
2021-06-05 15:40:33 -04:00
arkon e017617612 Handle HEIF images (partly addresses #4756)
(cherry picked from commit 74381ef59e)
2021-06-05 15:40:26 -04:00
Jobobby04 38f2a93c0f Use PageHandler for page requests 2021-06-05 15:24:02 -04:00
Carlos 143dfc6ad2 pass auth header to md@home request when logged in
(cherry picked from commit c63bf955b308cbb67fcdda884eff76eaec901898)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/source/online/MangaDex.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/online/handlers/PageHandler.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/HttpPageLoader.kt
2021-06-05 14:36:58 -04:00
Carlos d82967ea3d switch to dex covers
(cherry picked from commit 28d83509dadb0ddaca2e13e98f5e5f6e3df2d2a7)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/source/online/MangaDexCache.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/online/handlers/ApiMangaParser.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/online/handlers/FollowsHandler.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/online/handlers/PopularHandler.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/online/handlers/SearchHandler.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/online/handlers/SimilarHandler.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaDetailsPresenter.kt
#	app/src/main/java/exh/md/utils/MdUtil.kt
2021-06-05 14:31:51 -04:00
Jobobby04 eab7571feb Cleanup 2021-06-05 13:58:30 -04:00
Hunter Nickel 09eab48b1b Add check for backstack size before pushing DownloadController (#5312)
(cherry picked from commit 64f95af3e5)
2021-06-04 20:43:25 -04:00
jobobby04 9196a24eb1 Legacy backup conversion to Kotlin Serialization (#5282)
* Legacy backup conversion to Kotlin Serialization

* Fix BackupTest compiling

(cherry picked from commit 597cec3064)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/legacy/LegacyBackupManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/legacy/LegacyBackupRestore.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/legacy/models/Backup.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/legacy/serializer/MangaTypeAdapter.kt
2021-06-04 19:27:19 -04:00
arkon 4f9eb19ead Update tablet UI
- Only used when width is >= 720dp instead of 600dp (typically 10" tablets)
- Fix fastscroll in manga view (fixes #5267)

(cherry picked from commit b03ebc1fa4)

# Conflicts:
#	app/src/main/res/layout-w720dp/manga_controller.xml
2021-06-04 19:09:21 -04:00
Jobobby04 3d33d50c63 Cleanup some constructors 2021-06-04 19:07:30 -04:00
Eugene 9e17ecbd4a Rus new strings (+fix original) (#348)
* Rus new strings and fix original in meaning

* Title Case

* from j2k
2021-06-04 18:12:12 -04:00
Sam-Oak a535d22f78 update the PT-BR translation (#347)
* update brazilian portuguese translation

* continue brazilian portuguese translation update

* final brazilian portuguese translation update

hopefully
2021-06-04 18:11:42 -04:00
Eugene 826602afb6 Fix black/invisible nav in blue theme (#350) 2021-06-04 18:11:27 -04:00
Jobobby04 b35aa30ea7 Address some lints 2021-06-03 16:28:38 -04:00
arkon 330b7990fe Allow center aligned side nav icons (closes #5177)
(cherry picked from commit 6c53bb4d51)
2021-06-03 14:01:13 -04:00
arkon 84330af417 Address some build warnings
(cherry picked from commit fb7a458747)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/more/AboutController.kt
2021-06-03 14:01:05 -04:00
arkon e0945e4409 Support AVIF and HEIF images (closes #4756)
Co-authored-by: inorichi <inorichi@users.noreply.github.com>
(cherry picked from commit db25a9ae4f)
2021-06-03 14:00:08 -04:00
arkon ac8e53b9a7 Set background job expedited policies
(cherry picked from commit c69420373a)
2021-06-03 13:59:44 -04:00
arkon bdc9e43e9e Update dependencies
(cherry picked from commit 2b8347f899)
2021-06-03 13:59:27 -04:00
arkon 88102b9705 Add share and save cover actions (closes #3011)
(cherry picked from commit 281a3911f6)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.kt
2021-06-03 13:59:08 -04:00
Jobobby04 6d7e8cdcb9 Comment out more 2021-06-03 01:07:09 -04:00
Jobobby04 359ccdd052 Fix refactor for show history and updates button 2021-06-03 01:06:55 -04:00
Jobobby04 57ca396b46 Load chapters in the dialog instantly 2021-06-02 21:21:38 -04:00
Jobobby04 78d2881b4b Remove TachiEH Android 7 SSL Workaround, no idea why it was used 2021-06-02 21:04:51 -04:00
Jobobby04 cafce0ed5f Old saved searches can load now, but now toast on click 2021-06-02 21:04:06 -04:00
Jobobby04 3adde57db9 Use the same chapter sort that the chapters use in the reader dialog 2021-06-02 17:46:33 -04:00
Jobobby04 503ecb8076 Rename the reader chapter sheet to a dialog 2021-06-02 17:39:25 -04:00
Jobobby04 01d6dbba86 Add cancel button to reader chapters dialog 2021-06-02 17:34:08 -04:00
Jobobby04 b0bcad861f Open merged manga in webview properly 2021-06-02 17:17:11 -04:00
Jobobby04 d70a8848ec Fix merged manga delete after read 2021-06-02 16:53:00 -04:00
Jobobby04 c8426e71eb When browsing on Exh notify if the user has a bad igneous cookie 2021-06-02 16:10:26 -04:00
OncePunchedMan b523e47102 Fix label visibility for tablet ui (#343)
* fix label visibility for tablet ui

* change to less code
2021-06-02 15:44:11 -04:00
Jobobby04 57dde4c922 Refactor show history and updates buttons 2021-06-02 14:12:57 -04:00
Jobobby04 34c16015e5 Update kotlin serialization to 1.2.1 2021-06-02 14:05:15 -04:00
Jobobby04 8387492a9b Add biometric lock days, fix biometric time range 2021-06-02 13:39:04 -04:00
Jobobby04 114ba42af7 Fix duel page spread not marking chapters read 2021-06-02 00:11:55 -04:00
Jobobby04 aeaf52cb58 Handle more deprecated items 2021-06-02 00:10:36 -04:00
OncePunchedMan 1e55a3f21a add AMOLED prefix to theme name (#5263)
(cherry picked from commit 9b77dd9a2b)
2021-06-01 21:52:35 -04:00
Soitora 4fdb19d002 Add better library item selectors (#5240)
* Add better library item selectors

Inspired by the J2K method of library item selection.

* Tweak theme selection colors

It was missing for Hot Pink and Midnight Dusk.

The selector color is 75% alpha of the color accent, this looked fitting for all themes.

(cherry picked from commit 88d9ffe92e)
2021-06-01 21:09:18 -04:00
Jobobby04 d30c9f7120 Address some deprecation warnings 2021-06-01 21:09:03 -04:00
arkon 9697bffc5e Consolidate some of the app update classes
We only use GitHub for all update checks, so the abstraction isn't useful.

(cherry picked from commit 5113c78ab6)
2021-06-01 20:52:56 -04:00
arkon 65249a4ee7 Address some Kotlin language warnings
(cherry picked from commit 3854995ef2)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/ExtensionHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourceFilterController.kt
#	app/src/main/java/eu/kanade/tachiyomi/util/chapter/ChapterRecognition.kt
2021-06-01 20:52:49 -04:00
arkon d5b72c3d3a Only show automatically refresh trackers setting if logged in to some trackers
(cherry picked from commit 36e14b951a)
2021-06-01 20:51:36 -04:00
Jobobby04 86bd55268f Revert "Temporarily disable Double Page Spread"
This reverts commit 02601aa32a.
2021-06-01 20:49:43 -04:00
Jobobby04 8563342d0f Revert "Temporarily disable Mangadex delegation"
This reverts commit 60e520e37e.
2021-06-01 20:49:26 -04:00
Jobobby04 d057b61158 Revert "Temporarily hide Komga tracker"
This reverts commit 3fb4b565fa.
2021-06-01 20:49:21 -04:00
2020 changed files with 159664 additions and 102850 deletions
+7
View File
@@ -0,0 +1,7 @@
[*.{kt,kts}]
indent_size=4
insert_final_newline=true
ij_kotlin_allow_trailing_comma=true
ij_kotlin_allow_trailing_comma_on_call_site=true
ij_kotlin_name_count_to_use_star_import = 2147483647
ij_kotlin_name_count_to_use_star_import_for_members = 2147483647
+2 -2
View File
@@ -3,11 +3,11 @@
I acknowledge that: I acknowledge that:
- I have updated: - I have updated:
- To the latest version of the app (stable is v1.7.0) - To the latest version of the app (stable is v1.9.3)
- All extensions - All extensions
- I have tried the troubleshooting guide: https://tachiyomi.org/help/guides/troubleshooting-problems/ - I have tried the troubleshooting guide: https://tachiyomi.org/help/guides/troubleshooting-problems/
- If this is an issue with an extension, that I should be opening an issue in https://github.com/tachiyomiorg/tachiyomi-extensions - If this is an issue with an extension, that I should be opening an issue in https://github.com/tachiyomiorg/tachiyomi-extensions
- I have searched the existing issues and this is new ticket **NOT** a duplicate or related to another open issue - I have searched the existing issues and this is new ticket **NOT** a duplicate or related to another open or closed issue
- I will fill out the title and the information in this template - I will fill out the title and the information in this template
Note that the issue will be automatically closed if you do not fill out the title or requested information. Note that the issue will be automatically closed if you do not fill out the title or requested information.
-44
View File
@@ -1,44 +0,0 @@
---
name: "🐞 Bug report"
about: Report a bug
title: "[Bug] <Write short description here>"
labels: "bug"
---
**PLEASE READ THIS**
I acknowledge that:
- I have updated:
- To the latest version of the app (stable is v1.7.0)
- All extensions
- I have tried the troubleshooting guide: https://tachiyomi.org/help/guides/troubleshooting-problems/
- If this is an issue with an extension, that I should be opening an issue in https://github.com/tachiyomiorg/tachiyomi-extensions
- I have searched the existing issues and this is new ticket **NOT** a duplicate or related to another open issue
- I will fill out the title and the information in this template
Note that the issue will be automatically closed if you do not fill out the title or requested information.
**DELETE THIS SECTION IF YOU HAVE READ AND ACKNOWLEDGED IT**
---
## Device information
* Tachiyomi version: ?
* Android version: ?
* Device: ?
## Steps to reproduce
1. First step
2. Second step
### Expected behavior
This should happen.
### Actual behavior
This happened instead.
## Other details
Additional details and attachments.
If you're experiencing crashes, share the crash logs from More → Settings → Advanced → Dump crash logs.
+8 -5
View File
@@ -1,8 +1,11 @@
blank_issues_enabled: false blank_issues_enabled: false
contact_links: contact_links:
- name: Tachiyomi help website - name: ⚠️ Extension/source issue
url: https://github.com/tachiyomiorg/tachiyomi-extensions/issues/new/choose
about: Issues and requests for extensions and sources should be opened in the tachiyomi-extensions repository instead
- name: 📦 Tachiyomi extensions
url: https://tachiyomi.org/extensions
about: List of all available extensions with download links
- name: 🖥️ Tachiyomi website
url: https://tachiyomi.org/help/ url: https://tachiyomi.org/help/
about: Common questions are answered here. about: Guides, troubleshooting, and answers to common questions
- name: Tachiyomi extensions GitHub repository
url: https://github.com/tachiyomiorg/tachiyomi-extensions
about: Issues about an extension/source/catalogue should be opened here instead.
-29
View File
@@ -1,29 +0,0 @@
---
name: "🌟 Feature request"
about: Suggest a feature to improve Tachiyomi
title: "[Feature Request] <Write short description here>"
labels: "feature"
---
**PLEASE READ THIS**
I acknowledge that:
- I have updated:
- To the latest version of the app (stable is v1.7.0)
- All extensions
- If this is an issue with an extension, that I should be opening an issue in https://github.com/tachiyomiorg/tachiyomi-extensions
- I have searched the existing issues and this is new ticket **NOT** a duplicate or related to another open issue
- I will fill out the title and the information in this template
Note that the issue will be automatically closed if you do not fill out the title or requested information.
**DELETE THIS SECTION IF YOU HAVE READ AND ACKNOWLEDGED IT**
---
## Why/User Benefit/User Problem
(explain why this feature should be added)
## What/Requirements
(explain how this feature would behave)
+108
View File
@@ -0,0 +1,108 @@
name: 🐞 Issue report
description: Report an issue in Tachiyomi
labels: [Bug]
body:
- type: textarea
id: reproduce-steps
attributes:
label: Steps to reproduce
description: Provide an example of the issue.
placeholder: |
Example:
1. First step
2. Second step
3. Issue here
validations:
required: true
- type: textarea
id: expected-behavior
attributes:
label: Expected behavior
description: Explain what you should expect to happen.
placeholder: |
Example:
"This should happen..."
validations:
required: true
- type: textarea
id: actual-behavior
attributes:
label: Actual behavior
description: Explain what actually happens.
placeholder: |
Example:
"This happened instead..."
validations:
required: true
- type: textarea
id: crash-logs
attributes:
label: Crash logs
description: |
If you're experiencing crashes, share the crash logs from **More → Settings → Advanced** then press **Dump crash logs**.
placeholder: |
You can paste the crash logs in plain text or upload it as an attachment.
- type: input
id: tachiyomi-version
attributes:
label: Tachiyomi version
description: You can find your Tachiyomi version in **More → About**.
placeholder: |
Example: "1.9.3"
validations:
required: true
- type: input
id: android-version
attributes:
label: Android version
description: You can find this somewhere in your Android settings.
placeholder: |
Example: "Android 11"
validations:
required: true
- type: input
id: device
attributes:
label: Device
description: List your device and model.
placeholder: |
Example: "Google Pixel 5"
validations:
required: true
- type: textarea
id: other-details
attributes:
label: Other details
placeholder: |
Additional details and attachments.
- type: checkboxes
id: acknowledgements
attributes:
label: Acknowledgements
description: Read this carefully, we will close and ignore your issue if you skimmed through this.
options:
- label: This is a TachiyomiSY specific issue that does not happen in [Tachiyomi Preview](https://github.com/tachiyomiorg/tachiyomi/).
required: true
- label: I have searched the existing issues and this is a new ticket, **NOT** a duplicate or related to another open or closed issue.
required: true
- label: I have written a short but informative title.
required: true
- label: If this is an issue with an extension, I should be opening an issue in the [extensions repository](https://github.com/tachiyomiorg/tachiyomi-extensions/issues/new/choose).
required: true
- label: I have tried the [troubleshooting guide](https://tachiyomi.org/help/guides/troubleshooting/).
required: true
- label: I have updated the app to version **[1.9.3](https://github.com/jobobby04/tachiyomisy/releases/latest)**.
required: true
- label: I have updated all installed extensions.
required: true
- label: I will fill out all of the requested information in this form.
required: true
@@ -0,0 +1,39 @@
name: ⭐ Feature request
description: Suggest a feature to improve Tachiyomi
labels: [Feature request]
body:
- type: textarea
id: feature-description
attributes:
label: Describe your suggested feature
description: How can Tachiyomi be improved?
placeholder: |
Example:
"It should work like this..."
validations:
required: true
- type: textarea
id: other-details
attributes:
label: Other details
placeholder: |
Additional details and attachments.
- type: checkboxes
id: acknowledgements
attributes:
label: Acknowledgements
description: Read this carefully, we will close and ignore your issue if you skimmed through this.
options:
- label: I have searched the existing issues and this is a new ticket, **NOT** a duplicate or related to another open or closed issue.
required: true
- label: I have written a short but informative title.
required: true
- label: If this is an issue with an extension, I should be opening an issue in the [extensions repository](https://github.com/tachiyomiorg/tachiyomi-extensions/issues/new/choose).
required: true
- label: I have updated the app to version **[1.9.3](https://github.com/jobobby04/tachiyomisy/releases/latest)**.
required: true
- label: I will fill out all of the requested information in this form.
required: true
-8
View File
@@ -1,8 +0,0 @@
---
name: "Extension/source/catalogue issue"
about: "Do not open an issue here. See https://github.com/tachiyomiorg/tachiyomi-extensions"
title: "THIS ISSUE IS IN THE WRONG REPO; SEE https://github.com/tachiyomiorg/tachiyomi-extensions"
labels: "catalog, invalid"
---
DO NOT OPEN AN ISSUE IN THIS REPO. SEE https://github.com/tachiyomiorg/tachiyomi-extensions
+12
View File
@@ -0,0 +1,12 @@
<!--
Please include a summary of the change and which issue is fixed.
Also make sure you've tested your code and also done a self-review of it.
Don't forget to check all base themes and tablet mode for relevant changes.
If your changes are visual, please provide images below:
### Images
| Image 1 | Image 2 |
| ------- | ------- |
| ![](https://github.githubassets.com/images/modules/logos_page/Octocat.png) | ![](https://github.githubassets.com/images/modules/logos_page/Octocat.png) |
-->
@@ -1,6 +0,0 @@
org.gradle.daemon=false
org.gradle.jvmargs=-Xmx5120m
org.gradle.workers.max=2
kotlin.incremental=false
kotlin.compiler.execution.strategy=in-process
@@ -1,91 +0,0 @@
name: Release Builder
on:
push:
branches:
- 'release'
jobs:
check_wrapper:
name: Validate Gradle Wrapper
runs-on: ubuntu-latest
steps:
- name: Clone repo
uses: actions/checkout@v2
- name: Validate Gradle Wrapper
uses: gradle/wrapper-validation-action@v1
build:
name: Build app
needs: check_wrapper
if: "!startsWith(github.event.head_commit.message, '[SKIP CI]')"
runs-on: ubuntu-latest
steps:
- name: Cancel previous runs
uses: styfle/cancel-workflow-action@0.5.0
with:
access_token: ${{ github.token }}
- name: Clone repo
uses: actions/checkout@v2
- name: Set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8
- name: Copy CI gradle.properties
run: |
mkdir -p ~/.gradle
cp .github/runner-files/ci-gradle.properties ~/.gradle/gradle.properties
- name: Write google-services.json
uses: DamianReeves/write-file-action@v1.0
with:
# The path to the file to write
path: app/google-services.json
# The contents of the file
contents: ${{ secrets.GOOGLE_SERVICES_TEXT }}
# The mode of writing to use: `overwrite`, `append`, or `preserve`.
write-mode: overwrite # optional, default is preserve
- name: Build app
uses: eskatos/gradle-command-action@v1
with:
arguments: assembleRelease --stacktrace
wrapper-cache-enabled: true
dependencies-cache-enabled: true
configuration-cache-enabled: true
- name: Sign APK
uses: r0adkll/sign-android-release@v1
with:
releaseDirectory: app/build/outputs/apk/standard/release
signingKeyBase64: ${{ secrets.SIGNING_KEY }}
alias: ${{ secrets.ALIAS }}
keyStorePassword: ${{ secrets.KEY_STORE_PASSWORD }}
keyPassword: ${{ secrets.KEY_PASSWORD }}
- name: Create release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.run_number }}
release_name: TachiyomiSY
draft: true
prerelease: false
- name: Upload APK to release
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ${{ env.SIGNED_RELEASE_FILE }}
asset_name: TachiyomiSY.apk
asset_content_type: application/vnd.android.package-archive
+14 -22
View File
@@ -1,6 +1,10 @@
name: CI name: CI
on: [pull_request] on: [pull_request]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs: jobs:
check_wrapper: check_wrapper:
name: Validate Gradle Wrapper name: Validate Gradle Wrapper
@@ -8,7 +12,7 @@ jobs:
steps: steps:
- name: Clone repo - name: Clone repo
uses: actions/checkout@v2 uses: actions/checkout@v3
- name: Validate Gradle Wrapper - name: Validate Gradle Wrapper
uses: gradle/wrapper-validation-action@v1 uses: gradle/wrapper-validation-action@v1
@@ -16,37 +20,25 @@ jobs:
build: build:
name: Build app name: Build app
needs: check_wrapper needs: check_wrapper
if: "!startsWith(github.event.head_commit.message, '[SKIP CI]')"
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Cancel previous runs
uses: styfle/cancel-workflow-action@0.5.0
with:
access_token: ${{ github.token }}
- name: Clone repo - name: Clone repo
uses: actions/checkout@v2 uses: actions/checkout@v3
- name: Set up JDK 1.8 - name: Set up JDK 11
uses: actions/setup-java@v1 uses: actions/setup-java@v3
with: with:
java-version: 1.8 java-version: 11
distribution: adopt
- name: Copy CI gradle.properties
run: |
mkdir -p ~/.gradle
cp .github/runner-files/ci-gradle.properties ~/.gradle/gradle.properties
- name: Build app - name: Build app
uses: eskatos/gradle-command-action@v1 uses: gradle/gradle-command-action@v2
with: with:
arguments: assembleStandardDebug arguments: assembleDevDebug
wrapper-cache-enabled: true
dependencies-cache-enabled: true
configuration-cache-enabled: true
- name: Upload APK - name: Upload APK
uses: actions/upload-artifact@v2 uses: actions/upload-artifact@v3
with: with:
name: TachiyomiSY-${{ github.sha }}.apk name: TachiyomiSY-${{ github.sha }}.apk
path: app/build/outputs/apk/dev/debug/app-dev-debug.apk path: app/build/outputs/apk/dev/debug/app-dev-debug.apk
+102
View File
@@ -0,0 +1,102 @@
name: Release Builder
on:
push:
branches:
- 'release'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build:
name: Build release app
runs-on: ubuntu-latest
steps:
- name: Clone repo
uses: actions/checkout@v3
- name: Validate Gradle Wrapper
uses: gradle/wrapper-validation-action@v1
- name: Set up JDK 11
uses: actions/setup-java@v3
with:
java-version: 11
distribution: adopt
# SY <--
- name: Write google-services.json
uses: DamianReeves/write-file-action@v1.2
with:
path: app/google-services.json
contents: ${{ secrets.GOOGLE_SERVICES_TEXT }}
write-mode: overwrite
# SY -->
- name: Build app and run unit tests
uses: gradle/gradle-command-action@v2
with:
arguments: lintKotlin assembleStandardRelease testStandardReleaseUnitTest --stacktrace
- name: Sign APK
uses: r0adkll/sign-android-release@v1
with:
releaseDirectory: app/build/outputs/apk/standard/release
signingKeyBase64: ${{ secrets.SIGNING_KEY }}
alias: ${{ secrets.ALIAS }}
keyStorePassword: ${{ secrets.KEY_STORE_PASSWORD }}
keyPassword: ${{ secrets.KEY_PASSWORD }}
- name: Clean up build artifacts
run: |
set -e
mv app/build/outputs/apk/standard/release/app-standard-universal-release-unsigned-signed.apk TachiyomiSY.apk
sha=`sha256sum TachiyomiSY.apk | awk '{ print $1 }'`
echo "APK_UNIVERSAL_SHA=$sha" >> $GITHUB_ENV
cp app/build/outputs/apk/standard/release/app-standard-arm64-v8a-release-unsigned-signed.apk TachiyomiSY-arm64-v8a.apk
sha=`sha256sum TachiyomiSY-arm64-v8a.apk | awk '{ print $1 }'`
echo "APK_ARM64_V8A_SHA=$sha" >> $GITHUB_ENV
cp app/build/outputs/apk/standard/release/app-standard-armeabi-v7a-release-unsigned-signed.apk TachiyomiSY-armeabi-v7a.apk
sha=`sha256sum TachiyomiSY-armeabi-v7a.apk | awk '{ print $1 }'`
echo "APK_ARMEABI_V7A_SHA=$sha" >> $GITHUB_ENV
cp app/build/outputs/apk/standard/release/app-standard-x86-release-unsigned-signed.apk TachiyomiSY-x86.apk
sha=`sha256sum TachiyomiSY-x86.apk | awk '{ print $1 }'`
echo "APK_X86_SHA=$sha" >> $GITHUB_ENV
cp app/build/outputs/apk/standard/release/app-standard-x86_64-release-unsigned-signed.apk TachiyomiSY-x86_64.apk
sha=`sha256sum TachiyomiSY-x86_64.apk | awk '{ print $1 }'`
echo "APK_X86_64_SHA=$sha" >> $GITHUB_ENV
- name: Create release
uses: softprops/action-gh-release@v1
with:
tag_name: ${{ github.run_number }}
name: TachiyomiSY
body: |
---
### Checksums
| Variant | SHA-256 |
| ------- | ------- |
| Universal | ${{ env.APK_UNIVERSAL_SHA }} |
| arm64-v8a | ${{ env.APK_ARM64_V8A_SHA }} |
| armeabi-v7a | ${{ env.APK_ARMEABI_V7A_SHA }} |
| x86 | ${{ env.APK_X86_SHA }} |
| x86_64 | ${{ env.APK_X86_64_SHA }} |
files: |
TachiyomiSY.apk
TachiyomiSY-arm64-v8a.apk
TachiyomiSY-armeabi-v7a.apk
TachiyomiSY-x86.apk
TachiyomiSY-x86_64.apk
draft: true
prerelease: false
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -6,29 +6,20 @@ on:
- 'master' - 'master'
jobs: jobs:
check_wrapper: trigger_preview_build:
name: Validate Gradle Wrapper name: Trigger preview build
if: ${{ github.ref == 'refs/heads/master' }}
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Clone repo - name: Clone repo
uses: actions/checkout@v2 uses: actions/checkout@v3
- name: Validate Gradle Wrapper - name: Validate Gradle Wrapper
uses: gradle/wrapper-validation-action@v1 uses: gradle/wrapper-validation-action@v1
preview:
name: Build app preview
needs: check_wrapper
if: "!startsWith(github.event.head_commit.message, '[SKIP CI]')"
runs-on: ubuntu-latest
steps:
- name: Clone repo
uses: actions/checkout@v2
- name: TAG - Bump version and push tag - name: TAG - Bump version and push tag
uses: anothrNick/github-tag-action@1.17.2 uses: anothrNick/github-tag-action@1.39.0
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
WITH_V: true WITH_V: true
-36
View File
@@ -1,36 +0,0 @@
name: Issue closer
on:
issues:
types: [opened, edited, reopened]
jobs:
autoclose:
runs-on: ubuntu-latest
steps:
- name: Autoclose issues
uses: arkon/issue-closer-action@v3.4
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
rules: |
[
{
"type": "title",
"regex": ".*THIS ISSUE IS IN THE WRONG REPO.*",
"message": "It was not opened in the correct repo, as the template mentioned."
},
{
"type": "title",
"regex": ".*<Write short description here>*",
"message": "The description in the title was not filled out."
},
{
"type": "body",
"regex": ".*DELETE THIS SECTION IF YOU HAVE READ AND ACKNOWLEDGED IT.*",
"message": "The acknowledgment section was not removed."
},
{
"type": "body",
"regex": ".*\\* (Tachiyomi version|Android version|Device): \\?.*",
"message": "Requested information in the template was not filled out."
}
]
+22 -1
View File
@@ -1,6 +1,8 @@
name: Issue moderator name: Issue moderator
on: on:
issues:
types: [opened, edited, reopened]
issue_comment: issue_comment:
types: [created] types: [created]
@@ -9,6 +11,25 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Moderate issues - name: Moderate issues
uses: tachiyomiorg/issue-moderator-action@v1.0 uses: tachiyomiorg/issue-moderator-action@v1
with: with:
repo-token: ${{ secrets.GITHUB_TOKEN }} repo-token: ${{ secrets.GITHUB_TOKEN }}
auto-close-rules: |
[
{
"type": "body",
"regex": ".*DELETE THIS SECTION IF YOU HAVE READ AND ACKNOWLEDGED IT.*",
"message": "The acknowledgment section was not removed."
},
{
"type": "body",
"regex": ".*\\* (Tachiyomi version|Android version|Device): \\?.*",
"message": "Requested information in the template was not filled out."
},
{
"type": "both",
"regex": "^(?!.*myanimelist.*).*(aniyomi|anime).*$",
"ignoreCase": true,
"message": "Tachiyomi does not support anime, and has no plans to support anime. In addition Tachiyomi is not affiliated with Aniyomi https://github.com/jmir1/aniyomi"
}
]
+4 -4
View File
@@ -3,7 +3,7 @@ name: Lock threads
on: on:
# Daily # Daily
schedule: schedule:
- cron: '0 * * * *' - cron: '0 0 * * *'
# Manual trigger # Manual trigger
workflow_dispatch: workflow_dispatch:
inputs: inputs:
@@ -12,8 +12,8 @@ jobs:
lock: lock:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: dessant/lock-threads@v2 - uses: dessant/lock-threads@v4
with: with:
github-token: ${{ github.token }} github-token: ${{ github.token }}
issue-lock-inactive-days: '2' issue-inactive-days: '2'
pr-lock-inactive-days: '2' pr-inactive-days: '2'
+2 -2
View File
@@ -14,8 +14,8 @@
*.apk *.apk
app/**/output.json app/**/output.json
# Hebrew assets are copied on build # Unnecessary file
app/src/main/res/values-iw/ *.swp
TODO.md TODO.md
CHANGELOG.md CHANGELOG.md
+99 -49
View File
@@ -1,76 +1,126 @@
# Code of Conduct # Contributor Covenant Code of Conduct
## Our Pledge ## Our Pledge
In the interest of fostering an open and welcoming environment, we as We as members, contributors, and leaders pledge to make participation in our
contributors and maintainers pledge to making participation in our project and community a harassment-free experience for everyone, regardless of age, body
our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender
size, disability, ethnicity, sex characteristics, gender identity and expression, identity and expression, level of experience, education, socio-economic status,
level of experience, education, socio-economic status, nationality, personal nationality, personal appearance, race, caste, color, religion, or sexual identity
appearance, race, religion, or sexual identity and orientation. and orientation.
We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.
## Our Standards ## Our Standards
Examples of behavior that contributes to creating a positive environment Examples of behavior that contributes to a positive environment for our
include: community include:
* Using welcoming and inclusive language * Demonstrating empathy and kindness toward other people
* Being respectful of differing viewpoints and experiences * Being respectful of differing opinions, viewpoints, and experiences
* Gracefully accepting constructive criticism * Giving and gracefully accepting constructive feedback
* Focusing on what is best for the community * Accepting responsibility and apologizing to those affected by our mistakes,
* Showing empathy towards other community members and learning from the experience
* Focusing on what is best not just for us as individuals, but for the
overall community
Examples of unacceptable behavior by participants include: Examples of unacceptable behavior include:
* The use of sexualized language or imagery and unwelcome sexual attention or * The use of sexualized language or imagery, and sexual attention or
advances advances of any kind
* Trolling, insulting/derogatory comments, and personal or political attacks * Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment * Public or private harassment
* Publishing others' private information, such as a physical or electronic * Publishing others' private information, such as a physical or email
address, without explicit permission address, without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a * Other conduct which could reasonably be considered inappropriate in a
professional setting professional setting
## Our Responsibilities ## Enforcement Responsibilities
Project maintainers are responsible for clarifying the standards of acceptable Community moderators are responsible for clarifying and enforcing our standards of
behavior and are expected to take appropriate and fair corrective action in acceptable behavior and will take appropriate and fair corrective action in
response to any instances of unacceptable behavior. response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.
Project maintainers have the right and responsibility to remove, edit, or Community moderators have the right and responsibility to remove, edit, or reject
reject comments, commits, code, wiki edits, issues, and other contributions comments, commits, code, wiki edits, issues, and other contributions that are
that are not aligned to this Code of Conduct, or to ban temporarily or not aligned to this Code of Conduct, and will communicate reasons for moderation
permanently any contributor for other behaviors that they deem inappropriate, decisions when appropriate.
threatening, offensive, or harmful.
## Scope ## Scope
This Code of Conduct applies both within project spaces and in public spaces This Code of Conduct applies within all community spaces, and also applies when
when an individual is representing the project or its community. Examples of an individual is officially representing the community in public spaces.
representing a project or community include using an official project e-mail Examples of representing our community include using an official e-mail address,
address, posting via an official social media account, or acting as an appointed posting via an official social media account, or acting as an appointed
representative at an online or offline event. Representation of a project may be representative at an online or offline event.
further defined and clarified by project maintainers.
## Enforcement ## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project team at the Tachiyomi [Discord server](https://discord.gg/tachiyomi). All reported to the community moderators responsible for enforcement at
complaints will be reviewed and investigated and will result in a response that the [Tachiyomi Discord server](https://discord.gg/tachiyomi).
is deemed necessary and appropriate to the circumstances. The project team is All complaints will be reviewed and investigated promptly and fairly.
obligated to maintain confidentiality with regard to the reporter of an incident.
Further details of specific enforcement policies may be posted separately.
Project maintainers who do not follow or enforce the Code of Conduct in good All community moderators are obligated to respect the privacy and security of the
faith may face temporary or permanent repercussions as determined by other reporter of any incident.
members of the project's leadership.
## Enforcement Guidelines
Community moderators will follow these Community Impact Guidelines in determining
the consequences for any action they deem in violation of this Code of Conduct:
### 1. Correction
**Community Impact**: Use of inappropriate language or other behavior deemed
unprofessional or unwelcome in the community.
**Consequence**: A private, written warning from community moderators, providing
clarity around the nature of the violation and an explanation of why the
behavior was inappropriate. A public apology may be requested.
### 2. Warning
**Community Impact**: A violation through a single incident or series
of actions.
**Consequence**: A warning with consequences for continued behavior. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
like social media. Violating these terms may lead to a temporary or
permanent ban.
### 3. Temporary Ban
**Community Impact**: A serious violation of community standards, including
sustained inappropriate behavior.
**Consequence**: A temporary ban from any sort of interaction or public
communication with the community for a specified period of time. No public or
private interaction with the people involved, including unsolicited interaction
with those enforcing the Code of Conduct, is allowed during this period.
Violating these terms may lead to a permanent ban.
### 4. Permanent Ban
**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.
**Consequence**: A permanent ban from any sort of public interaction within
the community.
## Attribution ## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org/),
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html version 2.1, available at
[v2.1](https://www.contributor-covenant.org/version/2/1/code_of_conduct.html).
[homepage]: https://www.contributor-covenant.org Community Impact Guidelines were inspired by
[Mozilla's code of conduct enforcement ladder](https://github.com/mozilla/diversity).
For answers to common questions about this code of conduct, see For answers to common questions about this code of conduct, see the FAQ at
https://www.contributor-covenant.org/faq [FAQ](https://www.contributor-covenant.org/faq). Translations are available
at [translations](https://www.contributor-covenant.org/translations).
+17 -1
View File
@@ -10,7 +10,23 @@ Thanks for your interest in contributing to Tachiyomi!
Pull requests are welcome! Pull requests are welcome!
If you're interested in taking on [an open issue](https://github.com/tachiyomiorg/tachiyomi/issues), please comment on it so others are aware. If you're interested in taking on [an open issue](https://github.com/tachiyomiorg/tachiyomi/issues), please comment on it so others are aware.
You do not need to ask for permission nor an assignment.
## Prerequisites
Before you start, please note that the ability to use following technologies is **required** and that existing contributors will not actively teach them to you.
- Basic [Android development](https://developer.android.com/)
- [Kotlin](https://kotlinlang.org/)
### Tools
- [Android Studio](https://developer.android.com/studio)
- Emulator or phone with developer options enabled to test changes.
## Getting help
- Join [the Discord server](https://discord.gg/tachiyomi) for online help and to ask questions while developing.
# Translations # Translations
@@ -26,7 +42,7 @@ When creating a fork, remember to:
- To avoid confusion with the main app: - To avoid confusion with the main app:
- Change the app name - Change the app name
- Change the app icon - Change the app icon
- Change or disable the [app update checker](https://github.com/tachiyomiorg/tachiyomi/blob/master/app/src/main/java/eu/kanade/tachiyomi/data/updater/github/GithubUpdateChecker.kt) - Change or disable the [app update checker](https://github.com/tachiyomiorg/tachiyomi/blob/master/app/src/main/java/eu/kanade/tachiyomi/data/updater/AppUpdateChecker.kt)
- To avoid installation conflicts: - To avoid installation conflicts:
- Change the `applicationId` in [`build.gradle.kts`](https://github.com/tachiyomiorg/tachiyomi/blob/master/app/build.gradle.kts) - Change the `applicationId` in [`build.gradle.kts`](https://github.com/tachiyomiorg/tachiyomi/blob/master/app/build.gradle.kts)
- To avoid having your data polluting the main app's analytics and crash report services: - To avoid having your data polluting the main app's analytics and crash report services:
+6 -10
View File
@@ -11,10 +11,10 @@ Tachiyomi is a free and open source manga reader for Android 6.0 and above. This
## Features ## Features
Features of Tachiyomi(original) include: Features of Tachiyomi(original) include:
* Online reading from [a variety of sources](https://github.com/tachiyomiorg/tachiyomi-extensions) * Online reading from a variety of sources
* Local reading of downloaded manga * Local reading of downloaded content
* A configurable reader with multiple viewers, reading directions and other settings. * A configurable reader with multiple viewers, reading directions and other settings.
* [MyAnimeList](https://myanimelist.net/), [AniList](https://anilist.co/), [Kitsu](https://kitsu.io/), [Shikimori](https://shikimori.one), and [Bangumi](https://bgm.tv/) support * Tracker support: [MyAnimeList](https://myanimelist.net/), [AniList](https://anilist.co/), [Kitsu](https://kitsu.io/), [MangaUpdates](https://mangaupdates.com), [Shikimori](https://shikimori.one), and [Bangumi](https://bgm.tv/) support
* Categories to organize your library * Categories to organize your library
* Light and dark themes * Light and dark themes
* Schedule updating your library for new chapters * Schedule updating your library for new chapters
@@ -58,11 +58,8 @@ Custom sources:
Additional features for some extensions, features include custom description, opening in app, batch add to library, and a bunch of other things based on the source: Additional features for some extensions, features include custom description, opening in app, batch add to library, and a bunch of other things based on the source:
* 8Muses (EroMuse) * 8Muses (EroMuse)
* HBrowse * HBrowse
* HentaiCafe (inside Foolside)
* Hitomi.la
* Mangadex * Mangadex
* NHentai * NHentai
* PervEden (EN and IT)
* Puruin * Puruin
* Tsumino * Tsumino
@@ -84,13 +81,12 @@ Please make sure to read the full guidelines. Your issue may be closed without w
<details><summary>Bugs</summary> <details><summary>Bugs</summary>
* Include version (More > About > Version) * Include version (More About Version)
* If not latest, try updating, it may have already been solved * If not latest, try updating, it may have already been solved
* Preview version is equal to the number of commits as seen in the main page * Preview version is equal to the number of commits as seen in the main page
* Include steps to reproduce (if not obvious from description) * Include steps to reproduce (if not obvious from description)
* Include screenshot (if needed) * Include screenshot (if needed)
* If it could be device-dependent, try reproducing on another device (if possible) * If it could be device-dependent, try reproducing on another device (if possible)
* For large logs use http://pastebin.com/ (or similar)
* Don't group unrelated requests into one issue * Don't group unrelated requests into one issue
DO: https://github.com/tachiyomiorg/tachiyomi/issues/24 https://github.com/tachiyomiorg/tachiyomi/issues/71 DO: https://github.com/tachiyomiorg/tachiyomi/issues/24 https://github.com/tachiyomiorg/tachiyomi/issues/71
+202 -233
View File
@@ -1,8 +1,5 @@
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
import java.io.ByteArrayOutputStream import org.jmailen.gradle.kotlinter.tasks.LintTask
import java.text.SimpleDateFormat
import java.util.Date
import java.util.TimeZone
plugins { plugins {
id("com.android.application") id("com.android.application")
@@ -10,68 +7,82 @@ plugins {
kotlin("android") kotlin("android")
kotlin("plugin.parcelize") kotlin("plugin.parcelize")
kotlin("plugin.serialization") kotlin("plugin.serialization")
id("com.github.zellius.shortcut-helper") //id("com.github.zellius.shortcut-helper")
// Realm (EH) id("com.github.ben-manes.versions")
kotlin("kapt")
id("realm-android")
} }
if (!gradle.startParameter.taskRequests.toString().contains("Debug")) { if (gradle.startParameter.taskRequests.toString().contains("Standard")) {
apply(plugin = "com.google.gms.google-services") apply<com.google.gms.googleservices.GoogleServicesPlugin>()
// Firebase Crashlytics // Firebase Crashlytics
apply(plugin = "com.google.firebase.crashlytics") apply(plugin = "com.google.firebase.crashlytics")
} }
shortcutHelper.setFilePath("./shortcuts.xml") //shortcutHelper.setFilePath("./shortcuts.xml")
val SUPPORTED_ABIS = setOf("armeabi-v7a", "arm64-v8a", "x86", "x86_64")
android { android {
compileSdkVersion(AndroidConfig.compileSdk) namespace = "eu.kanade.tachiyomi"
buildToolsVersion(AndroidConfig.buildTools)
ndkVersion = AndroidConfig.ndk
defaultConfig { defaultConfig {
applicationId = "eu.kanade.tachiyomi.sy" applicationId = "eu.kanade.tachiyomi.sy"
minSdkVersion(AndroidConfig.minSdk) versionCode = 50
targetSdkVersion(AndroidConfig.targetSdk) versionName = "1.9.3"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
versionCode = 19
versionName = "1.7.0"
buildConfigField("String", "COMMIT_COUNT", "\"${getCommitCount()}\"") buildConfigField("String", "COMMIT_COUNT", "\"${getCommitCount()}\"")
buildConfigField("String", "COMMIT_SHA", "\"${getGitSha()}\"") buildConfigField("String", "COMMIT_SHA", "\"${getGitSha()}\"")
buildConfigField("String", "BUILD_TIME", "\"${getBuildTime()}\"") buildConfigField("String", "BUILD_TIME", "\"${getBuildTime()}\"")
buildConfigField("boolean", "INCLUDE_UPDATER", "false") buildConfigField("boolean", "INCLUDE_UPDATER", "false")
multiDexEnabled = true
ndk { ndk {
abiFilters += setOf("armeabi-v7a", "arm64-v8a", "x86") abiFilters += SUPPORTED_ABIS
} }
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
} }
buildFeatures { splits {
viewBinding = true abi {
isEnable = true
reset()
include(*SUPPORTED_ABIS.toTypedArray())
isUniversalApk = true
}
} }
buildTypes { buildTypes {
named("debug") { named("debug") {
versionNameSuffix = "-${getCommitCount()}" versionNameSuffix = "-${getCommitCount()}"
applicationIdSuffix = ".debug" applicationIdSuffix = ".debug"
isPseudoLocalesEnabled = true
} }
create("releaseTest") { create("releaseTest") {
applicationIdSuffix = ".rt" applicationIdSuffix = ".rt"
//isMinifyEnabled = true //isMinifyEnabled = true
//isShrinkResources = true //isShrinkResources = true
setProguardFiles(listOf(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")) setProguardFiles(listOf(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro"))
matchingFallbacks.add("release")
} }
named("release") { named("release") {
isMinifyEnabled = true isMinifyEnabled = true
isShrinkResources = true isShrinkResources = true
setProguardFiles(listOf(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")) setProguardFiles(listOf(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro"))
} }
create("benchmark") {
initWith(getByName("release"))
signingConfig = signingConfigs.getByName("debug")
matchingFallbacks.add("release")
isDebuggable = false
versionNameSuffix = "-benchmark"
applicationIdSuffix = ".benchmark"
}
} }
flavorDimensions("default") sourceSets {
getByName("benchmark").res.srcDirs("src/debug/res")
}
flavorDimensions.add("default")
productFlavors { productFlavors {
create("standard") { create("standard") {
@@ -82,286 +93,244 @@ android {
dimension = "default" dimension = "default"
} }
create("dev") { create("dev") {
resConfigs("en", "xxhdpi") // Include pseudolocales: https://developer.android.com/guide/topics/resources/pseudolocales
resourceConfigurations.addAll(listOf("en", "en_XA", "ar_XB", "xxhdpi"))
dimension = "default" dimension = "default"
} }
} }
packagingOptions { packagingOptions {
exclude("META-INF/DEPENDENCIES") resources.excludes.addAll(listOf(
exclude("LICENSE.txt") "META-INF/DEPENDENCIES",
exclude("META-INF/LICENSE") "LICENSE.txt",
exclude("META-INF/LICENSE.txt") "META-INF/LICENSE",
exclude("META-INF/NOTICE") "META-INF/LICENSE.txt",
exclude("META-INF/*.kotlin_module") "META-INF/README.md",
"META-INF/NOTICE",
// Compatibility for two RxJava versions (EXH) "META-INF/*.kotlin_module",
exclude("META-INF/rxjava.properties") ))
} }
dependenciesInfo { dependenciesInfo {
includeInApk = false includeInApk = false
} }
lintOptions { buildFeatures {
disable("MissingTranslation", "ExtraTranslation") viewBinding = true
isAbortOnError = false compose = true
isCheckReleaseBuilds = false
// Disable some unused things
aidl = false
renderScript = false
shaders = false
} }
compileOptions { lint {
sourceCompatibility = JavaVersion.VERSION_1_8 abortOnError = false
targetCompatibility = JavaVersion.VERSION_1_8 checkReleaseBuilds = false
} }
kotlinOptions { composeOptions {
jvmTarget = JavaVersion.VERSION_1_8.toString() kotlinCompilerExtensionVersion = compose.versions.compiler.get()
} }
} }
dependencies { dependencies {
implementation(project(":i18n"))
implementation(project(":core"))
implementation(project(":source-api"))
implementation(project(":data"))
implementation(project(":domain"))
implementation(project(":presentation-core"))
implementation(project(":presentation-widget"))
// Source models and interfaces from Tachiyomi 1.x // Compose
implementation("org.tachiyomi:source-api:1.1") implementation(platform(compose.bom))
implementation(compose.activity)
implementation(compose.foundation)
implementation(compose.material3.core)
implementation(compose.material.core)
implementation(compose.material.icons)
implementation(compose.animation)
implementation(compose.animation.graphics)
implementation(compose.ui.tooling)
implementation(compose.ui.util)
implementation(compose.accompanist.webview)
implementation(compose.accompanist.flowlayout)
implementation(compose.accompanist.permissions)
implementation(compose.accompanist.themeadapter)
implementation(compose.accompanist.systemuicontroller)
implementation(androidx.paging.runtime)
implementation(androidx.paging.compose)
implementation(libs.bundles.sqlite)
implementation(kotlinx.reflect)
implementation(platform(kotlinx.coroutines.bom))
implementation(kotlinx.bundles.coroutines)
// AndroidX libraries // AndroidX libraries
implementation("androidx.annotation:annotation:1.3.0-alpha01") implementation(androidx.annotation)
implementation("androidx.appcompat:appcompat:1.4.0-alpha01") implementation(androidx.appcompat)
implementation("androidx.biometric:biometric-ktx:1.2.0-alpha03") implementation(androidx.biometricktx)
implementation("androidx.browser:browser:1.3.0") implementation(androidx.constraintlayout)
implementation("androidx.cardview:cardview:1.0.0") implementation(androidx.coordinatorlayout)
implementation("androidx.constraintlayout:constraintlayout:2.1.0-beta02") implementation(androidx.corektx)
implementation("androidx.coordinatorlayout:coordinatorlayout:1.1.0") implementation(androidx.splashscreen)
implementation("androidx.core:core-ktx:1.6.0-beta01") implementation(androidx.recyclerview)
implementation("androidx.multidex:multidex:2.0.1") implementation(androidx.viewpager)
implementation("androidx.preference:preference-ktx:1.1.1") implementation(androidx.profileinstaller)
implementation("androidx.recyclerview:recyclerview:1.2.0")
implementation("androidx.swiperefreshlayout:swiperefreshlayout:1.2.0-alpha01")
val lifecycleVersion = "2.4.0-alpha01" implementation(androidx.bundles.lifecycle)
implementation("androidx.lifecycle:lifecycle-common-java8:$lifecycleVersion")
implementation("androidx.lifecycle:lifecycle-process:$lifecycleVersion")
implementation("androidx.lifecycle:lifecycle-runtime-ktx:$lifecycleVersion")
// Job scheduling // Job scheduling
implementation("androidx.work:work-runtime-ktx:2.7.0-alpha03") implementation(androidx.bundles.workmanager)
// UI library // RX
implementation("com.google.android.material:material:1.4.0-beta01") implementation(libs.bundles.reactivex)
implementation(libs.flowreactivenetwork)
"standardImplementation"("com.google.firebase:firebase-core:19.0.0")
// ReactiveX
implementation("io.reactivex:rxandroid:1.2.1")
implementation("io.reactivex:rxjava:1.3.8")
implementation("com.jakewharton.rxrelay:rxrelay:1.2.0")
implementation("com.github.pwittchen:reactivenetwork:0.13.0")
// Network client // Network client
val okhttpVersion = "4.9.1" implementation(libs.bundles.okhttp)
implementation("com.squareup.okhttp3:okhttp:$okhttpVersion") implementation(libs.okio)
implementation("com.squareup.okhttp3:logging-interceptor:$okhttpVersion")
implementation("com.squareup.okhttp3:okhttp-dnsoverhttps:$okhttpVersion")
implementation("com.squareup.okio:okio:2.10.0")
// TLS 1.3 support for Android < 10 // TLS 1.3 support for Android < 10
implementation("org.conscrypt:conscrypt-android:2.5.1") implementation(libs.conscrypt.android)
// JSON // Data serialization (JSON, protobuf)
val kotlinSerializationVersion = "1.1.0" implementation(kotlinx.bundles.serialization)
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:$kotlinSerializationVersion")
implementation("org.jetbrains.kotlinx:kotlinx-serialization-protobuf:$kotlinSerializationVersion")
implementation("com.google.code.gson:gson:2.8.6")
implementation("com.github.salomonbrys.kotson:kotson:2.5.0")
// JavaScript engine
implementation("com.squareup.duktape:duktape-android:1.3.0")
// Disk
implementation("com.jakewharton:disklrucache:2.0.2")
implementation("com.github.tachiyomiorg:unifile:17bec43")
implementation("com.github.junrar:junrar:7.4.0")
// HTML parser // HTML parser
implementation("org.jsoup:jsoup:1.13.1") implementation(libs.jsoup)
// Database // Disk
implementation("androidx.sqlite:sqlite-ktx:2.1.0") implementation(libs.disklrucache)
implementation("com.github.inorichi.storio:storio-common:8be19de@aar") implementation(libs.unifile)
implementation("com.github.inorichi.storio:storio-sqlite:8be19de@aar") implementation(libs.junrar)
implementation("com.github.requery:sqlite-android:3.35.5")
// Preferences // Preferences
implementation("com.github.tfcporciuncula.flow-preferences:flow-preferences:1.4.0") implementation(libs.preferencektx)
// Model View Presenter
val nucleusVersion = "3.0.0"
implementation("info.android15.nucleus:nucleus:$nucleusVersion")
implementation("info.android15.nucleus:nucleus-support-v7:$nucleusVersion")
// Dependency injection // Dependency injection
implementation("com.github.inorichi.injekt:injekt-core:65b0440") implementation(libs.injekt.core)
// Image library // Image loading
val coilVersion = "1.2.0" implementation(libs.bundles.coil)
implementation("io.coil-kt:coil:$coilVersion") implementation(libs.subsamplingscaleimageview) {
implementation("io.coil-kt:coil-gif:$coilVersion")
implementation("com.github.tachiyomiorg:subsampling-scale-image-view:846abe0") {
exclude(module = "image-decoder") exclude(module = "image-decoder")
} }
implementation("com.github.tachiyomiorg:image-decoder:7a44c9b") implementation(libs.image.decoder)
// Logging
implementation("com.jakewharton.timber:timber:4.7.1")
// Crash reports
//implementation("ch.acra:acra-http:5.7.0")
// Sort // Sort
implementation("com.github.gpanther:java-nat-sort:natural-comparator-1.1") implementation(libs.natural.comparator)
// UI // UI libraries
implementation("com.github.dmytrodanylyk.android-process-button:library:1.0.4") implementation(libs.material)
implementation("eu.davidea:flexible-adapter:5.1.0") implementation(libs.flexible.adapter.core)
implementation("eu.davidea:flexible-adapter-ui:1.0.0") implementation(libs.flexible.adapter.ui)
implementation("com.nightlynexus.viewstatepageradapter:viewstatepageradapter:1.1.0") implementation(libs.photoview)
implementation("com.github.chrisbanes:PhotoView:2.3.0") implementation(libs.directionalviewpager) {
implementation("com.github.tachiyomiorg:DirectionalViewPager:1.0.0") exclude(group = "androidx.viewpager", module = "viewpager")
implementation("dev.chrisbanes.insetter:insetter:0.6.0")
// 3.2.0+ introduces weird UI blinking or cut off issues on some devices
val materialDialogsVersion = "3.1.1"
implementation("com.afollestad.material-dialogs:core:$materialDialogsVersion")
implementation("com.afollestad.material-dialogs:input:$materialDialogsVersion")
implementation("com.afollestad.material-dialogs:datetime:$materialDialogsVersion")
// Conductor
implementation("com.bluelinelabs:conductor:2.1.5")
implementation("com.bluelinelabs:conductor-support:2.1.5") {
exclude(group = "com.android.support")
} }
implementation("com.github.tachiyomiorg:conductor-support-preference:2.0.1") implementation(libs.insetter)
implementation(libs.bundles.richtext)
implementation(libs.aboutLibraries.compose)
implementation(libs.cascade)
implementation(libs.bundles.voyager)
implementation(libs.wheelpicker)
implementation(libs.materialmotion.core)
// FlowBinding // Logging
val flowbindingVersion = "1.0.0" implementation(libs.logcat)
implementation("io.github.reactivecircus.flowbinding:flowbinding-android:$flowbindingVersion")
implementation("io.github.reactivecircus.flowbinding:flowbinding-appcompat:$flowbindingVersion")
implementation("io.github.reactivecircus.flowbinding:flowbinding-recyclerview:$flowbindingVersion")
implementation("io.github.reactivecircus.flowbinding:flowbinding-swiperefreshlayout:$flowbindingVersion")
implementation("io.github.reactivecircus.flowbinding:flowbinding-viewpager:$flowbindingVersion")
// Licenses // Crash reports/analytics
implementation("com.mikepenz:aboutlibraries:${BuildPluginsVersion.ABOUTLIB_PLUGIN}") // implementation(libs.acra.http)
// "standardImplementation"(libs.firebase.analytics)
// Shizuku
implementation(libs.bundles.shizuku)
// Tests // Tests
testImplementation("junit:junit:4.13.2") testImplementation(libs.junit)
testImplementation("org.assertj:assertj-core:3.16.1")
testImplementation("org.mockito:mockito-core:1.10.19")
val robolectricVersion = "3.1.4"
testImplementation("org.robolectric:robolectric:$robolectricVersion")
testImplementation("org.robolectric:shadows-multidex:$robolectricVersion")
testImplementation("org.robolectric:shadows-play-services:$robolectricVersion")
implementation(kotlin("reflect", version = BuildPluginsVersion.KOTLIN))
val coroutinesVersion = "1.5.0"
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutinesVersion")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutinesVersion")
// For detecting memory leaks; see https://square.github.io/leakcanary/ // For detecting memory leaks; see https://square.github.io/leakcanary/
// debugImplementation("com.squareup.leakcanary:leakcanary-android:2.7") // debugImplementation(libs.leakcanary.android)
implementation(libs.leakcanary.plumber)
// SY --> // SY -->
// [EXH] Android 7 SSL Workaround
implementation("com.google.android.gms:play-services-safetynet:17.0.0")
// Changelog
implementation("com.github.gabrielemariotti.changeloglib:changelog:2.1.0")
// Text distance (EH) // Text distance (EH)
implementation ("info.debatty:java-string-similarity:2.0.0") implementation (sylibs.simularity)
// Firebase (EH) // Firebase (EH)
implementation("com.google.firebase:firebase-analytics-ktx:19.0.0") implementation(sylibs.firebase.analytics)
implementation("com.google.firebase:firebase-crashlytics-ktx:18.0.0") implementation(sylibs.firebase.crashlytics.ktx)
// Better logging (EH) // Better logging (EH)
implementation("com.elvishew:xlog:1.9.0") implementation(sylibs.xlog)
// Debug utils (EH)
val debugOverlayVersion = "1.1.3"
debugImplementation("com.ms-square:debugoverlay:$debugOverlayVersion")
"releaseTestImplementation"("com.ms-square:debugoverlay-no-op:$debugOverlayVersion")
releaseImplementation("com.ms-square:debugoverlay-no-op:$debugOverlayVersion")
testImplementation("com.ms-square:debugoverlay-no-op:$debugOverlayVersion")
// RatingBar (SY) // RatingBar (SY)
implementation("me.zhanghai.android.materialratingbar:library:1.4.0") implementation(sylibs.ratingbar)
implementation(sylibs.composeRatingbar)
}
androidComponents {
beforeVariants { variantBuilder ->
// Disables standardBenchmark
if (variantBuilder.buildType == "benchmark") {
variantBuilder.enable = variantBuilder.productFlavors.containsAll(listOf("default" to "dev"))
}
}
onVariants(selector().withFlavor("default" to "standard")) {
// Only excluding in standard flavor because this breaks
// Layout Inspector's Compose tree
it.packaging.resources.excludes.add("META-INF/*.version")
}
} }
tasks { tasks {
withType<LintTask>().configureEach {
exclude { it.file.path.contains("generated[\\\\/]".toRegex()) }
}
// See https://kotlinlang.org/docs/reference/experimental.html#experimental-status-of-experimental-api(-markers) // See https://kotlinlang.org/docs/reference/experimental.html#experimental-status-of-experimental-api(-markers)
withType<KotlinCompile> { withType<KotlinCompile> {
kotlinOptions.freeCompilerArgs += listOf( kotlinOptions.freeCompilerArgs += listOf(
"-Xopt-in=kotlin.Experimental", "-opt-in=coil.annotation.ExperimentalCoilApi",
"-Xopt-in=kotlin.RequiresOptIn", "-opt-in=com.google.accompanist.permissions.ExperimentalPermissionsApi",
"-Xuse-experimental=kotlin.ExperimentalStdlibApi", "-opt-in=androidx.compose.foundation.layout.ExperimentalLayoutApi",
"-Xuse-experimental=kotlinx.coroutines.FlowPreview", "-opt-in=androidx.compose.material.ExperimentalMaterialApi",
"-Xuse-experimental=kotlinx.coroutines.ExperimentalCoroutinesApi", "-opt-in=androidx.compose.material3.ExperimentalMaterial3Api",
"-Xuse-experimental=kotlinx.coroutines.InternalCoroutinesApi", "-opt-in=androidx.compose.material.ExperimentalMaterialApi",
"-Xuse-experimental=kotlinx.serialization.ExperimentalSerializationApi", "-opt-in=androidx.compose.ui.ExperimentalComposeUiApi",
"-Xuse-experimental=coil.annotation.ExperimentalCoilApi", "-opt-in=androidx.compose.foundation.ExperimentalFoundationApi",
"-opt-in=androidx.compose.animation.ExperimentalAnimationApi",
"-opt-in=androidx.compose.animation.graphics.ExperimentalAnimationGraphicsApi",
"-opt-in=kotlinx.coroutines.ExperimentalCoroutinesApi",
"-opt-in=kotlinx.coroutines.FlowPreview",
"-opt-in=kotlinx.coroutines.InternalCoroutinesApi",
"-opt-in=kotlinx.serialization.ExperimentalSerializationApi",
) )
}
// Duplicating Hebrew string assets due to some locale code issues on different devices if (project.findProperty("tachiyomi.enableComposeCompilerMetrics") == "true") {
val copyHebrewStrings = task("copyHebrewStrings", type = Copy::class) { kotlinOptions.freeCompilerArgs += listOf(
from("./src/main/res/values-he") "-P",
into("./src/main/res/values-iw") "plugin:androidx.compose.compiler.plugins.kotlin:reportsDestination=" +
include("**/*") project.buildDir.absolutePath + "/compose_metrics"
} )
kotlinOptions.freeCompilerArgs += listOf(
preBuild { "-P",
dependsOn(formatKotlin, copyHebrewStrings) "plugin:androidx.compose.compiler.plugins.kotlin:metricsDestination=" +
project.buildDir.absolutePath + "/compose_metrics"
)
}
} }
} }
buildscript { buildscript {
repositories {
mavenCentral()
}
dependencies { dependencies {
classpath(kotlin("gradle-plugin", version = BuildPluginsVersion.KOTLIN)) classpath(kotlinx.gradle)
} }
} }
// Git is needed in your system PATH for these commands to work.
// If it's not installed, you can return a random value as a workaround
fun getCommitCount(): String {
return runCommand("git rev-list --count HEAD")
// return "1"
}
fun getGitSha(): String {
return runCommand("git rev-parse --short HEAD")
// return "1"
}
fun getBuildTime(): String {
val df = SimpleDateFormat("yyyy-MM-dd'T'HH:mm'Z'")
df.timeZone = TimeZone.getTimeZone("UTC")
return df.format(Date())
}
fun runCommand(command: String): String {
val byteOut = ByteArrayOutputStream()
project.exec {
commandLine = command.split(" ")
standardOutput = byteOut
}
return String(byteOut.toByteArray()).trim()
}
+64 -74
View File
@@ -1,36 +1,48 @@
-dontobfuscate -dontobfuscate
# Extensions may require methods unused in the core app # Keep common dependencies used in extensions
-dontwarn eu.kanade.tachiyomi.** -keep,allowoptimization class androidx.preference.** { public protected *; }
-keep class eu.kanade.tachiyomi.** { public protected private *; } -keep,allowoptimization class kotlin.** { public protected *; }
-keep,allowoptimization class kotlinx.coroutines.** { public protected *; }
-keep,allowoptimization class kotlinx.serialization.** { public protected *; }
-keep,allowoptimization class okhttp3.** { public protected *; }
-keep,allowoptimization class okio.** { public protected *; }
-keep,allowoptimization class rx.** { public protected *; }
-keep,allowoptimization class org.jsoup.** { public protected *; }
-keep,allowoptimization class app.cash.quickjs.** { public protected *; }
-keep,allowoptimization class uy.kohesive.injekt.** { public protected *; }
-keep class org.jsoup.** { *; } # From extensions-lib
-keep class kotlin.** { *; } -keep,allowoptimization class eu.kanade.tachiyomi.network.interceptor.RateLimitInterceptorKt { public protected *; }
-keep class okhttp3.** { *; } -keep,allowoptimization class eu.kanade.tachiyomi.network.interceptor.SpecificHostRateLimitInterceptorKt { public protected *; }
-keep class com.google.gson.** { *; } -keep,allowoptimization class eu.kanade.tachiyomi.network.NetworkHelper { public protected *; }
-keep class com.github.salomonbrys.kotson.** { *; } -keep,allowoptimization class eu.kanade.tachiyomi.network.OkHttpExtensionsKt { public protected *; }
-keep class com.squareup.duktape.** { *; } -keep,allowoptimization class eu.kanade.tachiyomi.network.RequestsKt { public protected *; }
-keep,allowoptimization class eu.kanade.tachiyomi.AppInfo { public protected *; }
# === Keep EH classes # Debug functions
-keep class exh.** { *; } -keep,allowoptimization class exh.debug.DebugFunctions { public *; }
-keep class xyz.nulldev.** { *; }
# === Keep RxAndroid, https://github.com/ReactiveX/RxAndroid/issues/350 ##---------------Begin: proguard configuration for RxJava 1.x ----------
-keep class rx.android.** { *; } -dontwarn sun.misc.**
# Design library -keepclassmembers class rx.internal.util.unsafe.*ArrayQueue*Field* {
-dontwarn com.google.android.material.** long producerIndex;
-keep class com.google.android.material.** { *; } long consumerIndex;
-keep interface com.google.android.material.** { *; }
-keep public class com.google.android.material.R$* { *; }
-keep class com.hippo.image.** { *; }
-keep interface com.hippo.image.** { *; }
-keepclassmembers class * extends nucleus.presenter.Presenter {
<init>();
} }
# Kotlin Serialization -keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueProducerNodeRef {
rx.internal.util.atomic.LinkedQueueNode producerNode;
}
-keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueConsumerNodeRef {
rx.internal.util.atomic.LinkedQueueNode consumerNode;
}
-dontnote rx.internal.util.PlatformDependent
##---------------End: proguard configuration for RxJava 1.x ----------
##---------------Begin: proguard configuration for kotlinx.serialization ----------
-keepattributes *Annotation*, InnerClasses -keepattributes *Annotation*, InnerClasses
-dontnote kotlinx.serialization.AnnotationsKt # core serialization annotations -dontnote kotlinx.serialization.AnnotationsKt # core serialization annotations
@@ -42,11 +54,19 @@
kotlinx.serialization.KSerializer serializer(...); kotlinx.serialization.KSerializer serializer(...);
} }
-keep,includedescriptorclasses class eu.kanade.tachiyomi.**$$serializer { *; } -keep,includedescriptorclasses class eu.kanade.**$$serializer { *; }
-keepclassmembers class eu.kanade.tachiyomi.** { -keepclassmembers class eu.kanade.** {
*** Companion; *** Companion;
} }
-keepclasseswithmembers class eu.kanade.tachiyomi.** { -keepclasseswithmembers class eu.kanade.** {
kotlinx.serialization.KSerializer serializer(...);
}
-keep,includedescriptorclasses class tachiyomi.**$$serializer { *; }
-keepclassmembers class tachiyomi.** {
*** Companion;
}
-keepclasseswithmembers class tachiyomi.** {
kotlinx.serialization.KSerializer serializer(...); kotlinx.serialization.KSerializer serializer(...);
} }
@@ -67,23 +87,11 @@
kotlinx.serialization.KSerializer serializer(...); kotlinx.serialization.KSerializer serializer(...);
} }
# Keep extension's common dependencies -keep class kotlinx.serialization.**
-keep,allowoptimization class eu.kanade.tachiyomi.** { public protected *; } -keepclassmembers class kotlinx.serialization.** {
-keep,allowoptimization class kotlin.** { public protected *; } <methods>;
-keep,allowoptimization class okhttp3.** { public protected *; } }
-keep,allowoptimization class rx.** { public protected *; } ##---------------End: proguard configuration for kotlinx.serialization ----------
-keep,allowoptimization class org.jsoup.** { public protected *; }
-keep,allowoptimization class com.google.gson.** { public protected *; }
-keep,allowoptimization class com.github.salomonbrys.kotson.** { public protected *; }
-keep,allowoptimization class com.squareup.duktape.** { public protected *; }
-keep,allowoptimization class androidx.preference.** { *; }
-keep,allowoptimization class okio.** { *; }
-keep,allowoptimization class kotlinx.serialization.** { *; }
# RxJava 1.1.0
-dontwarn sun.misc.**
-dontnote rx.internal.util.PlatformDependent
# === Reactive network: https://github.com/pwittchen/ReactiveNetwork/tree/v0.12.4#proguard-configuration # === Reactive network: https://github.com/pwittchen/ReactiveNetwork/tree/v0.12.4#proguard-configuration
-dontwarn com.github.pwittchen.reactivenetwork.library.rx2.ReactiveNetwork -dontwarn com.github.pwittchen.reactivenetwork.library.rx2.ReactiveNetwork
@@ -104,32 +112,20 @@
# === Okio: https://github.com/square/okio/tree/9b8545e7fa267c9d89753283990f24a35cd69cd6#proguard # === Okio: https://github.com/square/okio/tree/9b8545e7fa267c9d89753283990f24a35cd69cd6#proguard
-dontwarn okio.** -dontwarn okio.**
# === GSON: https://raw.githubusercontent.com/google/gson/master/examples/android-proguard-example/proguard.cfg # === Keep RxAndroid, https://github.com/ReactiveX/RxAndroid/issues/350
# Gson uses generic type information stored in a class file when working with fields. Proguard -keep class rx.android.** { *; }
# removes such information by default, so configure it to keep all of it.
-keepattributes Signature
# For using GSON @Expose annotation # XmlUtil
-keepattributes *Annotation* -keep public enum nl.adaptivity.xmlutil.EventType { *; }
# Gson specific classes # Design library
-dontwarn sun.misc.** -dontwarn com.google.android.material.**
#-keep class com.google.gson.stream.** { *; } -keep class com.google.android.material.** { *; }
-keep interface com.google.android.material.** { *; }
-keep public class com.google.android.material.R$* { *; }
# Application classes that will be serialized/deserialized over Gson -keep class com.hippo.image.** { *; }
-keep class com.google.gson.examples.android.model.** { <fields>; } -keep interface com.hippo.image.** { *; }
# Prevent proguard from stripping interface information from TypeAdapterFactory, TypeAdapter,
# JsonSerializer, JsonDeserializer instances (so they can be used in @JsonAdapter)
-keep class * extends com.google.gson.TypeAdapter
-keep class * implements com.google.gson.TypeAdapterFactory
-keep class * implements com.google.gson.JsonSerializer
-keep class * implements com.google.gson.JsonDeserializer
# Prevent R8 from leaving Data object members always null
-keepclassmembers,allowobfuscation class * {
@com.google.gson.annotations.SerializedName <fields>;
}
# == Nucleus # == Nucleus
-keepclassmembers class * extends nucleus.presenter.Presenter { -keepclassmembers class * extends nucleus.presenter.Presenter {
@@ -142,12 +138,6 @@
## From original config: "Attempt to fix: java.lang.NoClassDefFoundError: uy.kohesive.injekt.registry.default.DefaultRegistrar$NOKEY$1" ## From original config: "Attempt to fix: java.lang.NoClassDefFoundError: uy.kohesive.injekt.registry.default.DefaultRegistrar$NOKEY$1"
-keep class uy.kohesive.injekt.** { *; } -keep class uy.kohesive.injekt.** { *; }
# === Conductor
# This isn't in the consumer proguard rules yet: https://github.com/bluelinelabs/Conductor/pull/550/files
-keepclassmembers public class * extends com.bluelinelabs.conductor.ControllerChangeHandler {
public <init>();
}
# === RxBinding # === RxBinding
-dontwarn com.google.auto.value.AutoValue -dontwarn com.google.auto.value.AutoValue
@@ -2,4 +2,5 @@
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> <adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/ic_launcher_background"/> <background android:drawable="@color/ic_launcher_background"/>
<foreground android:drawable="@drawable/ic_launcher_foreground"/> <foreground android:drawable="@drawable/ic_launcher_foreground"/>
<monochrome android:drawable="@drawable/ic_tachi_monochrome_launcher" />
</adaptive-icon> </adaptive-icon>
@@ -2,4 +2,5 @@
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> <adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/ic_launcher_background"/> <background android:drawable="@color/ic_launcher_background"/>
<foreground android:drawable="@drawable/ic_launcher_foreground"/> <foreground android:drawable="@drawable/ic_launcher_foreground"/>
<monochrome android:drawable="@drawable/ic_tachi_monochrome_launcher" />
</adaptive-icon> </adaptive-icon>
+225 -199
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="eu.kanade.tachiyomi"> xmlns:tools="http://schemas.android.com/tools">
<!-- Internet --> <!-- Internet -->
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.INTERNET" />
@@ -19,26 +19,41 @@
<!-- For managing extensions --> <!-- For managing extensions -->
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" /> <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
<uses-permission android:name="android.permission.REQUEST_DELETE_PACKAGES" /> <uses-permission android:name="android.permission.REQUEST_DELETE_PACKAGES" />
<uses-permission android:name="android.permission.UPDATE_PACKAGES_WITHOUT_USER_ACTION" />
<!-- To view extension packages in API 30+ --> <!-- To view extension packages in API 30+ -->
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" /> <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
<uses-permission android:name="android.permission.READ_APP_SPECIFIC_LOCALES" />
<!-- Remove permission from Firebase dependency -->
<uses-permission android:name="com.google.android.gms.permission.AD_ID"
tools:node="remove" />
<application <application
android:name=".App" android:name=".App"
android:allowBackup="true" android:allowBackup="false"
android:fullBackupContent="@xml/backup_rules"
android:hardwareAccelerated="true" android:hardwareAccelerated="true"
android:hasFragileUserData="true"
android:icon="@mipmap/ic_launcher" android:icon="@mipmap/ic_launcher"
android:label="@string/app_name" android:label="@string/app_name"
android:largeHeap="true" android:largeHeap="true"
android:localeConfig="@xml/locales_config"
android:requestLegacyExternalStorage="true" android:requestLegacyExternalStorage="true"
android:roundIcon="@mipmap/ic_launcher_round" android:roundIcon="@mipmap/ic_launcher_round"
android:theme="@style/Theme.Base" android:theme="@style/Theme.Tachiyomi"
android:supportsRtl="true"
android:networkSecurityConfig="@xml/network_security_config"> android:networkSecurityConfig="@xml/network_security_config">
<!-- enable profiling by macrobenchmark -->
<profileable
android:shell="true"
tools:targetApi="q" />
<activity <activity
android:name=".ui.main.MainActivity" android:name=".ui.main.MainActivity"
android:launchMode="singleTop" android:launchMode="singleTop"
android:theme="@style/Theme.Splash"> android:theme="@style/Theme.Tachiyomi.SplashScreen"
android:exported="true">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" /> <category android:name="android.intent.category.LAUNCHER" />
@@ -48,11 +63,18 @@
android:name="android.app.shortcuts" android:name="android.app.shortcuts"
android:resource="@xml/shortcuts" /> android:resource="@xml/shortcuts" />
</activity> </activity>
<activity
android:process=":error_handler"
android:name=".crash.CrashActivity"
android:exported="false" />
<activity <activity
android:name=".ui.main.DeepLinkActivity" android:name=".ui.main.DeepLinkActivity"
android:launchMode="singleTask" android:launchMode="singleTask"
android:theme="@android:style/Theme.NoDisplay" android:theme="@android:style/Theme.NoDisplay"
android:label="@string/action_global_search"> android:label="@string/action_global_search"
android:exported="true">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.SEARCH" /> <action android:name="android.intent.action.SEARCH" />
<action android:name="com.google.android.gms.actions.SEARCH_ACTION" /> <action android:name="com.google.android.gms.actions.SEARCH_ACTION" />
@@ -73,9 +95,11 @@
android:name="android.app.searchable" android:name="android.app.searchable"
android:resource="@xml/searchable" /> android:resource="@xml/searchable" />
</activity> </activity>
<activity <activity
android:name=".ui.reader.ReaderActivity" android:name=".ui.reader.ReaderActivity"
android:launchMode="singleTask"> android:launchMode="singleTask"
android:exported="false">
<intent-filter> <intent-filter>
<action android:name="com.samsung.android.support.REMOTE_ACTION" /> <action android:name="com.samsung.android.support.REMOTE_ACTION" />
</intent-filter> </intent-filter>
@@ -83,15 +107,26 @@
<meta-data android:name="com.samsung.android.support.REMOTE_ACTION" <meta-data android:name="com.samsung.android.support.REMOTE_ACTION"
android:resource="@xml/s_pen_actions"/> android:resource="@xml/s_pen_actions"/>
</activity> </activity>
<activity <activity
android:name=".ui.security.UnlockActivity" android:name=".ui.security.UnlockActivity"
android:theme="@style/Theme.Base" /> android:theme="@style/Theme.Tachiyomi"
android:exported="false" />
<activity <activity
android:name=".ui.webview.WebViewActivity" android:name=".ui.webview.WebViewActivity"
android:configChanges="uiMode|orientation|screenSize" /> android:configChanges="uiMode|orientation|screenSize"
android:exported="false" />
<activity
android:name=".extension.util.ExtensionInstallActivity"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:exported="false" />
<activity <activity
android:name=".ui.setting.track.AnilistLoginActivity" android:name=".ui.setting.track.AnilistLoginActivity"
android:label="Anilist"> android:label="Anilist"
android:exported="true">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.VIEW" /> <action android:name="android.intent.action.VIEW" />
@@ -105,7 +140,8 @@
</activity> </activity>
<activity <activity
android:name=".ui.setting.track.MyAnimeListLoginActivity" android:name=".ui.setting.track.MyAnimeListLoginActivity"
android:label="MyAnimeList"> android:label="MyAnimeList"
android:exported="true">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.VIEW" /> <action android:name="android.intent.action.VIEW" />
@@ -119,7 +155,8 @@
</activity> </activity>
<activity <activity
android:name=".ui.setting.track.ShikimoriLoginActivity" android:name=".ui.setting.track.ShikimoriLoginActivity"
android:label="Shikimori"> android:label="Shikimori"
android:exported="true">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.VIEW" /> <action android:name="android.intent.action.VIEW" />
@@ -133,7 +170,8 @@
</activity> </activity>
<activity <activity
android:name=".ui.setting.track.BangumiLoginActivity" android:name=".ui.setting.track.BangumiLoginActivity"
android:label="Bangumi"> android:label="Bangumi"
android:exported="true">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.VIEW" /> <action android:name="android.intent.action.VIEW" />
@@ -146,13 +184,56 @@
</intent-filter> </intent-filter>
</activity> </activity>
<activity
android:name=".extension.util.ExtensionInstallActivity"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
<activity <activity
android:name="exh.ui.login.EhLoginActivity" android:name="exh.ui.login.EhLoginActivity"
android:label="EHentaiLogin" /> android:label="EHentaiLogin"
android:exported="false"/>
<receiver
android:name=".data.notification.NotificationReceiver"
android:exported="false" />
<receiver
android:name="tachiyomi.presentation.widget.UpdatesGridGlanceReceiver"
android:enabled="@bool/glance_appwidget_available"
android:exported="false"
android:label="@string/label_recent_updates">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data
android:name="android.appwidget.provider"
android:resource="@xml/updates_grid_glance_widget_info" />
</receiver>
<service
android:name=".data.library.LibraryUpdateService"
android:exported="false" />
<service
android:name=".data.download.DownloadService"
android:exported="false" />
<service
android:name=".data.updater.AppUpdateService"
android:exported="false" />
<service
android:name=".data.backup.BackupRestoreService"
android:exported="false" />
<service android:name=".extension.util.ExtensionInstallService"
android:exported="false" />
<service
android:name="androidx.appcompat.app.AppLocalesMetadataHolderService"
android:enabled="false"
android:exported="false">
<meta-data
android:name="autoStoreLocales"
android:value="true" />
</service>
<provider <provider
android:name="androidx.core.content.FileProvider" android:name="androidx.core.content.FileProvider"
@@ -164,213 +245,158 @@
android:resource="@xml/provider_paths" /> android:resource="@xml/provider_paths" />
</provider> </provider>
<receiver <provider
android:name=".data.notification.NotificationReceiver" android:name="rikka.shizuku.ShizukuProvider"
android:exported="false" /> android:authorities="${applicationId}.shizuku"
android:multiprocess="false"
android:enabled="true"
android:exported="true"
android:permission="android.permission.INTERACT_ACROSS_USERS_FULL" />
<service <meta-data
android:name=".data.library.LibraryUpdateService" android:name="android.webkit.WebView.EnableSafeBrowsing"
android:exported="false" /> android:value="false" />
<meta-data
android:name="android.webkit.WebView.MetricsOptOut"
android:value="true" />
<service <!-- Disable advertising ID collection for Firebase -->
android:name=".data.download.DownloadService" <meta-data
android:exported="false" /> android:name="google_analytics_adid_collection_enabled"
android:value="false" />
<service
android:name=".data.updater.UpdaterService"
android:exported="false" />
<service
android:name=".data.backup.BackupCreateService"
android:exported="false" />
<service
android:name=".data.backup.BackupRestoreService"
android:exported="false" />
<!-- EH --> <!-- EH -->
<service
android:name="exh.eh.EHentaiUpdateWorker"
android:permission="android.permission.BIND_JOB_SERVICE"
android:exported="true" />
<activity <activity
android:name="exh.ui.intercept.InterceptActivity" android:name="exh.ui.intercept.InterceptActivity"
android:label="@string/app_name" android:label="@string/app_name"
android:theme="@style/Theme.Base"> android:theme="@style/Theme.Tachiyomi"
android:exported="true">
<!-- E-Hentai -->
<intent-filter> <intent-filter>
<action android:name="android.intent.action.VIEW" /> <action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" /> <category android:name="android.intent.category.BROWSABLE" />
<!-- EH --> <data android:scheme="https" />
<data <data android:scheme="http" />
android:host="g.e-hentai.org"
android:pathPrefix="/g/"
android:scheme="http" />
<data
android:host="g.e-hentai.org"
android:pathPrefix="/g/"
android:scheme="https" />
<data
android:host="e-hentai.org"
android:pathPrefix="/g/"
android:scheme="http" />
<data
android:host="e-hentai.org"
android:pathPrefix="/g/"
android:scheme="https" />
<!-- EXH --> <data android:host="e-hentai.org" />
<data <data android:host="www.e-hentai.org" />
android:host="exhentai.org" <data android:host="g.e-hentai.org" />
android:pathPrefix="/g/"
android:scheme="http" />
<data
android:host="exhentai.org"
android:pathPrefix="/g/"
android:scheme="https" />
<!-- nhentai --> <data android:pathPattern="/g/..*" />
<data </intent-filter>
android:host="nhentai.net" <!-- ExHentai -->
android:pathPrefix="/g/" <intent-filter>
android:scheme="http" /> <action android:name="android.intent.action.VIEW" />
<data
android:host="nhentai.net"
android:pathPrefix="/g/"
android:scheme="https" />
<!-- Perv Eden --> <category android:name="android.intent.category.DEFAULT" />
<data <category android:name="android.intent.category.BROWSABLE" />
android:host="www.perveden.com"
android:pathPattern="/.*/.*-manga/.*"
android:scheme="http" />
<data
android:host="www.perveden.com"
android:pathPattern="/.*/.*-manga/.*"
android:scheme="https" />
<!-- Hentai Cafe --> <data android:scheme="https" />
<data <data android:scheme="http" />
android:host="hentai.cafe"
android:pathPrefix="/hc.fyi/"
android:scheme="http" />
<data
android:host="hentai.cafe"
android:pathPrefix="/hc.fyi/"
android:scheme="https" />
<!-- Tsumino --> <data android:host="exhentai.org" />
<data <data android:host="www.exhentai.org" />
android:host="www.tsumino.com"
android:pathPrefix="/Book/Info/"
android:scheme="http" />
<data
android:host="www.tsumino.com"
android:pathPrefix="/Book/Info/"
android:scheme="https" />
<data
android:host="www.tsumino.com"
android:pathPrefix="/Read/View/"
android:scheme="http" />
<data
android:host="www.tsumino.com"
android:pathPrefix="/Read/View/"
android:scheme="https" />
<!-- Hitomi.la --> <data android:pathPattern="/g/..*" />
<data </intent-filter>
android:host="hitomi.la" <!-- NHentai -->
android:pathPrefix="/galleries/" <intent-filter>
android:scheme="http" /> <action android:name="android.intent.action.VIEW" />
<data
android:host="hitomi.la"
android:pathPrefix="/reader/"
android:scheme="http" />
<data
android:host="hitomi.la"
android:pathPrefix="/galleries/"
android:scheme="https" />
<data
android:host="hitomi.la"
android:pathPrefix="/reader/"
android:scheme="https" />
<!-- Pururin.io --> <category android:name="android.intent.category.DEFAULT" />
<data <category android:name="android.intent.category.BROWSABLE" />
android:host="pururin.io"
android:pathPrefix="/gallery/"
android:scheme="http" />
<data
android:host="pururin.io"
android:pathPrefix="/gallery/"
android:scheme="https" />
<!-- HBrowse --> <data android:scheme="https" />
<data <data android:scheme="http" />
android:host="www.hbrowse.com"
android:scheme="http" />
<data
android:host="www.hbrowse.com"
android:scheme="https" />
<!-- MangaDex --> <data android:host="nhentai.net" />
<!--<data <data android:host="www.nhentai.net" />
android:scheme="https"
android:host="www.mangadex.org"
android:pathPrefix="/manga/" />
<data
android:scheme="https"
android:host="mangadex.org"
android:pathPrefix="/manga/" />
<data
android:scheme="https"
android:host="www.mangadex.cc"
android:pathPrefix="/manga/" />
<data
android:scheme="https"
android:host="www.mangadex.cc"
android:pathPrefix="/manga/" />
<data <data android:pathPattern="/g/..*" />
android:scheme="https" </intent-filter>
android:host="www.mangadex.org" <!-- Tsumino -->
android:pathPrefix="/title/" /> <intent-filter>
<data <action android:name="android.intent.action.VIEW" />
android:scheme="https"
android:host="mangadex.org"
android:pathPrefix="/title/" />
<data
android:scheme="https"
android:host="www.mangadex.cc"
android:pathPrefix="/title/" />
<data
android:scheme="https"
android:host="www.mangadex.cc"
android:pathPrefix="/title/" />
<data <category android:name="android.intent.category.DEFAULT" />
android:scheme="https" <category android:name="android.intent.category.BROWSABLE" />
android:host="www.mangadex.org"
android:pathPrefix="/chapter/" /> <data android:scheme="https" />
<data <data android:scheme="http" />
android:scheme="https"
android:host="mangadex.org" <data android:host="tsumino.com" />
android:pathPrefix="/chapter/" /> <data android:host="www.tsumino.com" />
<data
android:scheme="https" <data android:pathPattern="/Read/View/..*" />
android:host="www.mangadex.cc" <data android:pathPattern="/Book/Info/..*" />
android:pathPrefix="/chapter/" /> </intent-filter>
<data <!-- Pururin -->
android:scheme="https" <intent-filter>
android:host="www.mangadex.cc" <action android:name="android.intent.action.VIEW" />
android:pathPrefix="/chapter/" />-->
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="https" />
<data android:scheme="http" />
<data android:host="pururin.io" />
<data android:pathPattern="/gallery/..*" />
</intent-filter>
<!-- HBrowse -->
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="https" />
<data android:scheme="http" />
<data android:host="hbrowse.com" />
<data android:host="www.hbrowse.com" />
<!--<data android:pathPattern="/gallery/..*" />-->
</intent-filter>
<!-- Mangadex -->
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="https" />
<data android:host="mangadex.org" />
<data android:host="mangadex.cc" />
<data android:host="www.mangadex.org" />
<data android:host="www.mangadex.cc" />
<data android:pathPattern="/manga/..*" />
<data android:pathPattern="/title/..*" />
<data android:pathPattern="/chapter/..*" />
</intent-filter> </intent-filter>
</activity> </activity>
<activity <activity
android:name="exh.ui.captcha.BrowserActionActivity" android:name="exh.md.MangaDexLoginActivity"
android:theme="@style/Theme.Base" /> android:label="MangaDexLogin"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="mangadex-auth"
android:scheme="tachiyomisy" />
</intent-filter>
</activity>
</application> </application>
</manifest> </manifest>
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,55 @@
package eu.kanade.core.prefs
import androidx.compose.ui.state.ToggleableState
sealed class CheckboxState<T>(open val value: T) {
abstract fun next(): CheckboxState<T>
sealed class State<T>(override val value: T) : CheckboxState<T>(value) {
data class Checked<T>(override val value: T) : State<T>(value)
data class None<T>(override val value: T) : State<T>(value)
val isChecked: Boolean
get() = this is Checked
override fun next(): CheckboxState<T> {
return when (this) {
is Checked -> None(value)
is None -> Checked(value)
}
}
}
sealed class TriState<T>(override val value: T) : CheckboxState<T>(value) {
data class Include<T>(override val value: T) : TriState<T>(value)
data class Exclude<T>(override val value: T) : TriState<T>(value)
data class None<T>(override val value: T) : TriState<T>(value)
override fun next(): CheckboxState<T> {
return when (this) {
is Exclude -> None(value)
is Include -> Exclude(value)
is None -> Include(value)
}
}
fun asState(): ToggleableState {
return when (this) {
is Exclude -> ToggleableState.Indeterminate
is Include -> ToggleableState.On
is None -> ToggleableState.Off
}
}
}
}
inline fun <T> T.asCheckboxState(condition: (T) -> Boolean): CheckboxState.State<T> {
return if (condition(this)) {
CheckboxState.State.Checked(this)
} else {
CheckboxState.State.None(this)
}
}
inline fun <T> List<T>.mapAsCheckboxState(condition: (T) -> Boolean): List<CheckboxState.State<T>> {
return this.map { it.asCheckboxState(condition) }
}
@@ -0,0 +1,38 @@
package eu.kanade.core.prefs
import androidx.compose.runtime.MutableState
import androidx.compose.runtime.mutableStateOf
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.flow.launchIn
import kotlinx.coroutines.flow.onEach
import tachiyomi.core.preference.Preference
class PreferenceMutableState<T>(
private val preference: Preference<T>,
scope: CoroutineScope,
) : MutableState<T> {
private val state = mutableStateOf(preference.get())
init {
preference.changes()
.onEach { state.value = it }
.launchIn(scope)
}
override var value: T
get() = state.value
set(value) {
preference.set(value)
}
override fun component1(): T {
return state.value
}
override fun component2(): (T) -> Unit {
return { preference.set(it) }
}
}
fun <T> Preference<T>.asState(scope: CoroutineScope) = PreferenceMutableState(this, scope)
@@ -0,0 +1,148 @@
package eu.kanade.core.util
import androidx.compose.ui.util.fastForEach
import java.util.concurrent.ConcurrentHashMap
import kotlin.contracts.ExperimentalContracts
import kotlin.contracts.contract
fun <T : R, R : Any> List<T>.insertSeparators(
generator: (T?, T?) -> R?,
): List<R> {
if (isEmpty()) return emptyList()
val newList = mutableListOf<R>()
for (i in -1..lastIndex) {
val before = getOrNull(i)
before?.let { newList.add(it) }
val after = getOrNull(i + 1)
val separator = generator.invoke(before, after)
separator?.let { newList.add(it) }
}
return newList
}
/**
* Returns a new map containing only the key entries of [transform] that are not null.
*/
inline fun <K, V, R> Map<out K, V>.mapNotNullKeys(transform: (Map.Entry<K?, V>) -> R?): ConcurrentHashMap<R, V> {
val mutableMap = ConcurrentHashMap<R, V>()
forEach { element -> transform(element)?.let { mutableMap[it] = element.value } }
return mutableMap
}
fun <E> HashSet<E>.addOrRemove(value: E, shouldAdd: Boolean) {
if (shouldAdd) {
add(value)
} else {
remove(value)
}
}
/**
* Returns a list containing only elements matching the given [predicate].
*
* **Do not use for collections that come from public APIs**, since they may not support random
* access in an efficient way, and this method may actually be a lot slower. Only use for
* collections that are created by code we control and are known to support random access.
*/
@OptIn(ExperimentalContracts::class)
inline fun <T> List<T>.fastFilter(predicate: (T) -> Boolean): List<T> {
contract { callsInPlace(predicate) }
val destination = ArrayList<T>()
fastForEach { if (predicate(it)) destination.add(it) }
return destination
}
/**
* Returns a list containing all elements not matching the given [predicate].
*
* **Do not use for collections that come from public APIs**, since they may not support random
* access in an efficient way, and this method may actually be a lot slower. Only use for
* collections that are created by code we control and are known to support random access.
*/
@OptIn(ExperimentalContracts::class)
inline fun <T> List<T>.fastFilterNot(predicate: (T) -> Boolean): List<T> {
contract { callsInPlace(predicate) }
val destination = ArrayList<T>()
fastForEach { if (!predicate(it)) destination.add(it) }
return destination
}
/**
* Returns a list containing only the non-null results of applying the
* given [transform] function to each element in the original collection.
*
* **Do not use for collections that come from public APIs**, since they may not support random
* access in an efficient way, and this method may actually be a lot slower. Only use for
* collections that are created by code we control and are known to support random access.
*/
@OptIn(ExperimentalContracts::class)
inline fun <T, R> List<T>.fastMapNotNull(transform: (T) -> R?): List<R> {
contract { callsInPlace(transform) }
val destination = ArrayList<R>()
fastForEach { element ->
transform(element)?.let { destination.add(it) }
}
return destination
}
/**
* Splits the original collection into pair of lists,
* where *first* list contains elements for which [predicate] yielded `true`,
* while *second* list contains elements for which [predicate] yielded `false`.
*
* **Do not use for collections that come from public APIs**, since they may not support random
* access in an efficient way, and this method may actually be a lot slower. Only use for
* collections that are created by code we control and are known to support random access.
*/
@OptIn(ExperimentalContracts::class)
inline fun <T> List<T>.fastPartition(predicate: (T) -> Boolean): Pair<List<T>, List<T>> {
contract { callsInPlace(predicate) }
val first = ArrayList<T>()
val second = ArrayList<T>()
fastForEach {
if (predicate(it)) {
first.add(it)
} else {
second.add(it)
}
}
return Pair(first, second)
}
/**
* Returns the number of entries not matching the given [predicate].
*
* **Do not use for collections that come from public APIs**, since they may not support random
* access in an efficient way, and this method may actually be a lot slower. Only use for
* collections that are created by code we control and are known to support random access.
*/
@OptIn(ExperimentalContracts::class)
inline fun <T> List<T>.fastCountNot(predicate: (T) -> Boolean): Int {
contract { callsInPlace(predicate) }
var count = size
fastForEach { if (predicate(it)) --count }
return count
}
/**
* Returns a list containing only elements from the given collection
* having distinct keys returned by the given [selector] function.
*
* Among elements of the given collection with equal keys, only the first one will be present in the resulting list.
* The elements in the resulting list are in the same order as they were in the source collection.
*
* **Do not use for collections that come from public APIs**, since they may not support random
* access in an efficient way, and this method may actually be a lot slower. Only use for
* collections that are created by code we control and are known to support random access.
*/
@OptIn(ExperimentalContracts::class)
inline fun <T, K> List<T>.fastDistinctBy(selector: (T) -> K): List<T> {
contract { callsInPlace(selector) }
val set = HashSet<K>()
val list = ArrayList<T>()
fastForEach {
val key = selector(it)
if (set.add(key)) list.add(it)
}
return list
}
@@ -0,0 +1,16 @@
package eu.kanade.core.util
import android.content.Context
import eu.kanade.tachiyomi.R
import kotlin.time.Duration
fun Duration.toDurationString(context: Context, fallback: String): String {
return toComponents { days, hours, minutes, seconds, _ ->
buildList(4) {
if (days != 0L) add(context.getString(R.string.day_short, days))
if (hours != 0) add(context.getString(R.string.hour_short, hours))
if (minutes != 0 && (days == 0L || hours == 0)) add(context.getString(R.string.minute_short, minutes))
if (seconds != 0 && days == 0L && hours == 0) add(context.getString(R.string.seconds_short, seconds))
}.joinToString(" ").ifBlank { fallback }
}
}
@@ -0,0 +1,61 @@
package eu.kanade.core.util
import kotlinx.coroutines.CancellationException
import kotlinx.coroutines.CoroutineStart
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.channels.awaitClose
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.callbackFlow
import kotlinx.coroutines.launch
import rx.Emitter
import rx.Observable
import rx.Observer
import kotlin.coroutines.CoroutineContext
fun <T : Any> Observable<T>.asFlow(): Flow<T> = callbackFlow {
val observer = object : Observer<T> {
override fun onNext(t: T) {
trySend(t)
}
override fun onError(e: Throwable) {
close(e)
}
override fun onCompleted() {
close()
}
}
val subscription = subscribe(observer)
awaitClose { subscription.unsubscribe() }
}
fun <T : Any> Flow<T>.asObservable(
context: CoroutineContext = Dispatchers.Unconfined,
backpressureMode: Emitter.BackpressureMode = Emitter.BackpressureMode.NONE,
): Observable<T> {
return Observable.create(
{ emitter ->
/*
* ATOMIC is used here to provide stable behaviour of subscribe+dispose pair even if
* asObservable is already invoked from unconfined
*/
val job = GlobalScope.launch(context = context, start = CoroutineStart.ATOMIC) {
try {
collect { emitter.onNext(it) }
emitter.onCompleted()
} catch (e: Throwable) {
// Ignore `CancellationException` as error, since it indicates "normal cancellation"
if (e !is CancellationException) {
emitter.onError(e)
} else {
emitter.onCompleted()
}
}
}
emitter.setCancellation { job.cancel() }
},
backpressureMode,
)
}
@@ -0,0 +1,45 @@
package eu.kanade.data.source
import eu.kanade.tachiyomi.source.model.FilterList
import eu.kanade.tachiyomi.source.model.MangasPage
import eu.kanade.tachiyomi.source.model.MetadataMangasPage
import eu.kanade.tachiyomi.source.model.SManga
import eu.kanade.tachiyomi.source.online.all.EHentai
import exh.metadata.metadata.base.RaisedSearchMetadata
import tachiyomi.core.util.lang.awaitSingle
abstract class EHentaiPagingSource(override val source: EHentai) : SourcePagingSource(source) {
override fun getPageLoadResult(
params: LoadParams<Long>,
mangasPage: MangasPage,
): LoadResult.Page<Long, Pair<SManga, RaisedSearchMetadata?>> {
mangasPage as MetadataMangasPage
val metadata = mangasPage.mangasMetadata
return LoadResult.Page(
data = mangasPage.mangas
.mapIndexed { index, sManga -> sManga to metadata.getOrNull(index) },
prevKey = null,
nextKey = mangasPage.nextKey,
)
}
}
class EHentaiSearchPagingSource(source: EHentai, val query: String, val filters: FilterList) : EHentaiPagingSource(source) {
override suspend fun requestNextPage(currentPage: Int): MangasPage {
return source.fetchSearchManga(currentPage, query, filters).awaitSingle()
}
}
class EHentaiPopularPagingSource(source: EHentai) : EHentaiPagingSource(source) {
override suspend fun requestNextPage(currentPage: Int): MangasPage {
return source.fetchPopularManga(currentPage).awaitSingle()
}
}
class EHentaiLatestPagingSource(source: EHentai) : EHentaiPagingSource(source) {
override suspend fun requestNextPage(currentPage: Int): MangasPage {
return source.fetchLatestUpdates(currentPage).awaitSingle()
}
}
@@ -0,0 +1,19 @@
package eu.kanade.data.source
import eu.kanade.tachiyomi.source.CatalogueSource
import eu.kanade.tachiyomi.source.SourceManager
import tachiyomi.domain.source.model.Source
val sourceMapper: (eu.kanade.tachiyomi.source.Source) -> Source = { source ->
Source(
source.id,
source.lang,
source.name,
supportsLatest = false,
isStub = source is SourceManager.StubSource,
)
}
val catalogueSourceMapper: (CatalogueSource) -> Source = { source ->
sourceMapper(source).copy(supportsLatest = source.supportsLatest)
}
@@ -0,0 +1,87 @@
package eu.kanade.data.source
import androidx.paging.PagingState
import eu.kanade.domain.source.model.SourcePagingSourceType
import eu.kanade.tachiyomi.source.CatalogueSource
import eu.kanade.tachiyomi.source.model.FilterList
import eu.kanade.tachiyomi.source.model.MangasPage
import eu.kanade.tachiyomi.source.model.MetadataMangasPage
import eu.kanade.tachiyomi.source.model.SManga
import exh.metadata.metadata.base.RaisedSearchMetadata
import tachiyomi.core.util.lang.awaitSingle
import tachiyomi.core.util.lang.withIOContext
abstract class SourcePagingSource(
protected open val source: CatalogueSource,
) : SourcePagingSourceType() {
abstract suspend fun requestNextPage(currentPage: Int): MangasPage
override suspend fun load(params: LoadParams<Long>): LoadResult<Long, /*SY --> */ Pair<SManga, RaisedSearchMetadata?>/*SY <-- */> {
val page = params.key ?: 1
val mangasPage = try {
withIOContext {
requestNextPage(page.toInt())
.takeIf { it.mangas.isNotEmpty() }
?: throw NoResultsException()
}
} catch (e: Exception) {
return LoadResult.Error(e)
}
// SY -->
return getPageLoadResult(params, mangasPage)
// SY <--
}
// SY -->
open fun getPageLoadResult(params: LoadParams<Long>, mangasPage: MangasPage): LoadResult.Page<Long, /*SY --> */ Pair<SManga, RaisedSearchMetadata?>/*SY <-- */> {
val page = params.key ?: 1
// SY -->
val metadata = if (mangasPage is MetadataMangasPage) {
mangasPage.mangasMetadata
} else {
emptyList()
}
// SY <--
return LoadResult.Page(
data = mangasPage.mangas
// SY -->
.mapIndexed { index, sManga -> sManga to metadata.getOrNull(index) },
// SY <--
prevKey = null,
nextKey = if (mangasPage.hasNextPage) page + 1 else null,
)
}
// SY <--
override fun getRefreshKey(state: PagingState<Long, /*SY --> */ Pair<SManga, RaisedSearchMetadata?>/*SY <-- */>): Long? {
return state.anchorPosition?.let { anchorPosition ->
val anchorPage = state.closestPageToPosition(anchorPosition)
anchorPage?.prevKey ?: anchorPage?.nextKey
}
}
}
class SourceSearchPagingSource(source: CatalogueSource, val query: String, val filters: FilterList) : SourcePagingSource(source) {
override suspend fun requestNextPage(currentPage: Int): MangasPage {
return source.fetchSearchManga(currentPage, query, filters).awaitSingle()
}
}
class SourcePopularPagingSource(source: CatalogueSource) : SourcePagingSource(source) {
override suspend fun requestNextPage(currentPage: Int): MangasPage {
return source.fetchPopularManga(currentPage).awaitSingle()
}
}
class SourceLatestPagingSource(source: CatalogueSource) : SourcePagingSource(source) {
override suspend fun requestNextPage(currentPage: Int): MangasPage {
return source.fetchLatestUpdates(currentPage).awaitSingle()
}
}
class NoResultsException : Exception()
@@ -0,0 +1,91 @@
package eu.kanade.data.source
import eu.kanade.domain.source.model.SourcePagingSourceType
import eu.kanade.domain.source.repository.SourceRepository
import eu.kanade.tachiyomi.source.CatalogueSource
import eu.kanade.tachiyomi.source.LocalSource
import eu.kanade.tachiyomi.source.SourceManager
import eu.kanade.tachiyomi.source.model.FilterList
import eu.kanade.tachiyomi.source.online.all.EHentai
import exh.source.MERGED_SOURCE_ID
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.map
import tachiyomi.data.DatabaseHandler
import tachiyomi.domain.source.model.Source
import tachiyomi.domain.source.model.SourceWithCount
class SourceRepositoryImpl(
private val sourceManager: SourceManager,
private val handler: DatabaseHandler,
) : SourceRepository {
override fun getSources(): Flow<List<Source>> {
return sourceManager.catalogueSources.map { sources ->
sources.map(catalogueSourceMapper)
}
}
override fun getOnlineSources(): Flow<List<Source>> {
return sourceManager.onlineSources.map { sources ->
sources.map(sourceMapper)
}
}
override fun getSourcesWithFavoriteCount(): Flow<List<Pair<Source, Long>>> {
val sourceIdWithFavoriteCount = handler.subscribeToList { mangasQueries.getSourceIdWithFavoriteCount() }
return sourceIdWithFavoriteCount.map { sourceIdsWithCount ->
sourceIdsWithCount
.filterNot { it.source == LocalSource.ID /* SY --> */ || it.source == MERGED_SOURCE_ID /* SY <-- */ }
.map { (sourceId, count) ->
val source = sourceManager.getOrStub(sourceId).run {
sourceMapper(this)
}
source to count
}
}
}
override fun getSourcesWithNonLibraryManga(): Flow<List<SourceWithCount>> {
val sourceIdWithNonLibraryManga = handler.subscribeToList { mangasQueries.getSourceIdsWithNonLibraryManga() }
return sourceIdWithNonLibraryManga.map { sourceId ->
sourceId.map { (sourceId, count) ->
val source = sourceManager.getOrStub(sourceId)
SourceWithCount(sourceMapper(source), count)
}
}
}
override fun search(
sourceId: Long,
query: String,
filterList: FilterList,
): SourcePagingSourceType {
val source = sourceManager.get(sourceId) as CatalogueSource
// SY -->
if (source is EHentai) {
return EHentaiSearchPagingSource(source, query, filterList)
}
// SY <--
return SourceSearchPagingSource(source, query, filterList)
}
override fun getPopular(sourceId: Long): SourcePagingSourceType {
val source = sourceManager.get(sourceId) as CatalogueSource
// SY -->
if (source is EHentai) {
return EHentaiPopularPagingSource(source)
}
// SY <--
return SourcePopularPagingSource(source)
}
override fun getLatest(sourceId: Long): SourcePagingSourceType {
val source = sourceManager.get(sourceId) as CatalogueSource
// SY -->
if (source is EHentai) {
return EHentaiLatestPagingSource(source)
}
// SY <--
return SourceLatestPagingSource(source)
}
}
@@ -0,0 +1,147 @@
package eu.kanade.domain
import eu.kanade.data.source.SourceRepositoryImpl
import eu.kanade.domain.category.interactor.CreateCategoryWithName
import eu.kanade.domain.category.interactor.DeleteCategory
import eu.kanade.domain.category.interactor.RenameCategory
import eu.kanade.domain.category.interactor.ReorderCategory
import eu.kanade.domain.category.interactor.ResetCategoryFlags
import eu.kanade.domain.category.interactor.SetDisplayModeForCategory
import eu.kanade.domain.category.interactor.SetMangaCategories
import eu.kanade.domain.category.interactor.SetSortModeForCategory
import eu.kanade.domain.category.interactor.UpdateCategory
import eu.kanade.domain.chapter.interactor.GetChapter
import eu.kanade.domain.chapter.interactor.GetChapterByMangaId
import eu.kanade.domain.chapter.interactor.SetMangaDefaultChapterFlags
import eu.kanade.domain.chapter.interactor.SetReadStatus
import eu.kanade.domain.chapter.interactor.SyncChaptersWithSource
import eu.kanade.domain.chapter.interactor.SyncChaptersWithTrackServiceTwoWay
import eu.kanade.domain.chapter.interactor.UpdateChapter
import eu.kanade.domain.download.interactor.DeleteDownload
import eu.kanade.domain.extension.interactor.GetExtensionLanguages
import eu.kanade.domain.extension.interactor.GetExtensionSources
import eu.kanade.domain.extension.interactor.GetExtensionsByType
import eu.kanade.domain.history.interactor.GetNextChapters
import eu.kanade.domain.manga.interactor.GetDuplicateLibraryManga
import eu.kanade.domain.manga.interactor.GetFavorites
import eu.kanade.domain.manga.interactor.GetLibraryManga
import eu.kanade.domain.manga.interactor.GetManga
import eu.kanade.domain.manga.interactor.GetMangaWithChapters
import eu.kanade.domain.manga.interactor.NetworkToLocalManga
import eu.kanade.domain.manga.interactor.ResetViewerFlags
import eu.kanade.domain.manga.interactor.SetMangaChapterFlags
import eu.kanade.domain.manga.interactor.SetMangaViewerFlags
import eu.kanade.domain.manga.interactor.UpdateManga
import eu.kanade.domain.source.interactor.GetEnabledSources
import eu.kanade.domain.source.interactor.GetLanguagesWithSources
import eu.kanade.domain.source.interactor.GetRemoteManga
import eu.kanade.domain.source.interactor.GetSourcesWithFavoriteCount
import eu.kanade.domain.source.interactor.GetSourcesWithNonLibraryManga
import eu.kanade.domain.source.interactor.SetMigrateSorting
import eu.kanade.domain.source.interactor.ToggleLanguage
import eu.kanade.domain.source.interactor.ToggleSource
import eu.kanade.domain.source.interactor.ToggleSourcePin
import eu.kanade.domain.source.repository.SourceRepository
import eu.kanade.domain.track.interactor.DeleteTrack
import eu.kanade.domain.track.interactor.GetTracks
import eu.kanade.domain.track.interactor.GetTracksPerManga
import eu.kanade.domain.track.interactor.InsertTrack
import tachiyomi.data.category.CategoryRepositoryImpl
import tachiyomi.data.chapter.ChapterRepositoryImpl
import tachiyomi.data.history.HistoryRepositoryImpl
import tachiyomi.data.manga.MangaRepositoryImpl
import tachiyomi.data.source.SourceDataRepositoryImpl
import tachiyomi.data.track.TrackRepositoryImpl
import tachiyomi.data.updates.UpdatesRepositoryImpl
import tachiyomi.domain.category.interactor.GetCategories
import tachiyomi.domain.category.repository.CategoryRepository
import tachiyomi.domain.chapter.interactor.ShouldUpdateDbChapter
import tachiyomi.domain.chapter.repository.ChapterRepository
import tachiyomi.domain.history.interactor.GetHistory
import tachiyomi.domain.history.interactor.GetTotalReadDuration
import tachiyomi.domain.history.interactor.RemoveHistory
import tachiyomi.domain.history.interactor.UpsertHistory
import tachiyomi.domain.history.repository.HistoryRepository
import tachiyomi.domain.manga.repository.MangaRepository
import tachiyomi.domain.source.repository.SourceDataRepository
import tachiyomi.domain.track.repository.TrackRepository
import tachiyomi.domain.updates.interactor.GetUpdates
import tachiyomi.domain.updates.repository.UpdatesRepository
import uy.kohesive.injekt.api.InjektModule
import uy.kohesive.injekt.api.InjektRegistrar
import uy.kohesive.injekt.api.addFactory
import uy.kohesive.injekt.api.addSingletonFactory
import uy.kohesive.injekt.api.get
class DomainModule : InjektModule {
override fun InjektRegistrar.registerInjectables() {
addSingletonFactory<CategoryRepository> { CategoryRepositoryImpl(get()) }
addFactory { GetCategories(get()) }
addFactory { ResetCategoryFlags(get(), get()) }
addFactory { SetDisplayModeForCategory(get(), get()) }
addFactory { SetSortModeForCategory(get(), get()) }
addFactory { CreateCategoryWithName(get(), get()) }
addFactory { RenameCategory(get()) }
addFactory { ReorderCategory(get()) }
addFactory { UpdateCategory(get()) }
addFactory { DeleteCategory(get()) }
addSingletonFactory<MangaRepository> { MangaRepositoryImpl(get()) }
addFactory { GetDuplicateLibraryManga(get()) }
addFactory { GetFavorites(get()) }
addFactory { GetLibraryManga(get()) }
addFactory { GetMangaWithChapters(get(), get()) }
addFactory { GetManga(get()) }
addFactory { GetNextChapters(get(), get(), get(), get()) }
addFactory { ResetViewerFlags(get()) }
addFactory { SetMangaChapterFlags(get()) }
addFactory { SetMangaDefaultChapterFlags(get(), get(), get()) }
addFactory { SetMangaViewerFlags(get()) }
addFactory { NetworkToLocalManga(get()) }
addFactory { UpdateManga(get()) }
addFactory { SetMangaCategories(get()) }
addSingletonFactory<TrackRepository> { TrackRepositoryImpl(get()) }
addFactory { DeleteTrack(get()) }
addFactory { GetTracksPerManga(get()) }
addFactory { GetTracks(get()) }
addFactory { InsertTrack(get()) }
addSingletonFactory<ChapterRepository> { ChapterRepositoryImpl(get()) }
addFactory { GetChapter(get()) }
addFactory { GetChapterByMangaId(get()) }
addFactory { UpdateChapter(get()) }
addFactory { SetReadStatus(get(), get(), get(), get(), get()) }
addFactory { ShouldUpdateDbChapter() }
addFactory { SyncChaptersWithSource(get(), get(), get(), get()) }
addFactory { SyncChaptersWithTrackServiceTwoWay(get(), get()) }
addSingletonFactory<HistoryRepository> { HistoryRepositoryImpl(get()) }
addFactory { GetHistory(get()) }
addFactory { UpsertHistory(get()) }
addFactory { RemoveHistory(get()) }
addFactory { GetTotalReadDuration(get()) }
addFactory { DeleteDownload(get(), get()) }
addFactory { GetExtensionsByType(get(), get()) }
addFactory { GetExtensionSources(get()) }
addFactory { GetExtensionLanguages(get(), get()) }
addSingletonFactory<UpdatesRepository> { UpdatesRepositoryImpl(get()) }
addFactory { GetUpdates(get()) }
addSingletonFactory<SourceRepository> { SourceRepositoryImpl(get(), get()) }
addSingletonFactory<SourceDataRepository> { SourceDataRepositoryImpl(get()) }
addFactory { GetEnabledSources(get(), get()) }
addFactory { GetLanguagesWithSources(get(), get()) }
addFactory { GetRemoteManga(get()) }
addFactory { GetSourcesWithFavoriteCount(get(), get()) }
addFactory { GetSourcesWithNonLibraryManga(get()) }
addFactory { SetMigrateSorting(get()) }
addFactory { ToggleLanguage(get()) }
addFactory { ToggleSource(get()) }
addFactory { ToggleSourcePin(get()) }
}
}
@@ -0,0 +1,161 @@
package eu.kanade.domain
import android.app.Application
import eu.kanade.domain.chapter.interactor.DeleteChapters
import eu.kanade.domain.chapter.interactor.GetChapterByUrl
import eu.kanade.domain.chapter.interactor.GetMergedChapterByMangaId
import eu.kanade.domain.history.interactor.GetHistoryByMangaId
import eu.kanade.domain.manga.interactor.CreateSortTag
import eu.kanade.domain.manga.interactor.DeleteByMergeId
import eu.kanade.domain.manga.interactor.DeleteFavoriteEntries
import eu.kanade.domain.manga.interactor.DeleteMangaById
import eu.kanade.domain.manga.interactor.DeleteMergeById
import eu.kanade.domain.manga.interactor.DeleteSortTag
import eu.kanade.domain.manga.interactor.GetAllManga
import eu.kanade.domain.manga.interactor.GetExhFavoriteMangaWithMetadata
import eu.kanade.domain.manga.interactor.GetFavoriteEntries
import eu.kanade.domain.manga.interactor.GetFlatMetadataById
import eu.kanade.domain.manga.interactor.GetIdsOfFavoriteMangaWithMetadata
import eu.kanade.domain.manga.interactor.GetManga
import eu.kanade.domain.manga.interactor.GetMangaBySource
import eu.kanade.domain.manga.interactor.GetMergedManga
import eu.kanade.domain.manga.interactor.GetMergedMangaById
import eu.kanade.domain.manga.interactor.GetMergedMangaForDownloading
import eu.kanade.domain.manga.interactor.GetMergedReferencesById
import eu.kanade.domain.manga.interactor.GetPagePreviews
import eu.kanade.domain.manga.interactor.GetSearchMetadata
import eu.kanade.domain.manga.interactor.GetSearchTags
import eu.kanade.domain.manga.interactor.GetSearchTitles
import eu.kanade.domain.manga.interactor.GetSortTag
import eu.kanade.domain.manga.interactor.InsertFavoriteEntries
import eu.kanade.domain.manga.interactor.InsertFlatMetadata
import eu.kanade.domain.manga.interactor.InsertMergedReference
import eu.kanade.domain.manga.interactor.ReorderSortTag
import eu.kanade.domain.manga.interactor.SetMangaFilteredScanlators
import eu.kanade.domain.manga.interactor.UpdateMergedSettings
import eu.kanade.domain.source.interactor.CountFeedSavedSearchBySourceId
import eu.kanade.domain.source.interactor.CountFeedSavedSearchGlobal
import eu.kanade.domain.source.interactor.CreateSourceCategory
import eu.kanade.domain.source.interactor.CreateSourceRepo
import eu.kanade.domain.source.interactor.DeleteFeedSavedSearchById
import eu.kanade.domain.source.interactor.DeleteSavedSearchById
import eu.kanade.domain.source.interactor.DeleteSourceCategory
import eu.kanade.domain.source.interactor.DeleteSourceRepos
import eu.kanade.domain.source.interactor.GetExhSavedSearch
import eu.kanade.domain.source.interactor.GetFeedSavedSearchBySourceId
import eu.kanade.domain.source.interactor.GetFeedSavedSearchGlobal
import eu.kanade.domain.source.interactor.GetSavedSearchById
import eu.kanade.domain.source.interactor.GetSavedSearchBySourceId
import eu.kanade.domain.source.interactor.GetSavedSearchBySourceIdFeed
import eu.kanade.domain.source.interactor.GetSavedSearchGlobalFeed
import eu.kanade.domain.source.interactor.GetShowLatest
import eu.kanade.domain.source.interactor.GetSourceCategories
import eu.kanade.domain.source.interactor.GetSourceRepos
import eu.kanade.domain.source.interactor.InsertFeedSavedSearch
import eu.kanade.domain.source.interactor.InsertSavedSearch
import eu.kanade.domain.source.interactor.RenameSourceCategory
import eu.kanade.domain.source.interactor.SetSourceCategories
import eu.kanade.domain.source.interactor.ToggleExcludeFromDataSaver
import eu.kanade.tachiyomi.source.online.MetadataSource
import exh.search.SearchEngine
import tachiyomi.data.manga.CustomMangaRepositoryImpl
import tachiyomi.data.manga.FavoritesEntryRepositoryImpl
import tachiyomi.data.manga.MangaMergeRepositoryImpl
import tachiyomi.data.manga.MangaMetadataRepositoryImpl
import tachiyomi.data.source.FeedSavedSearchRepositoryImpl
import tachiyomi.data.source.SavedSearchRepositoryImpl
import tachiyomi.domain.manga.interactor.GetCustomMangaInfo
import tachiyomi.domain.manga.interactor.SetCustomMangaInfo
import tachiyomi.domain.manga.repository.CustomMangaRepository
import tachiyomi.domain.manga.repository.FavoritesEntryRepository
import tachiyomi.domain.manga.repository.MangaMergeRepository
import tachiyomi.domain.manga.repository.MangaMetadataRepository
import tachiyomi.domain.source.repository.FeedSavedSearchRepository
import tachiyomi.domain.source.repository.SavedSearchRepository
import uy.kohesive.injekt.api.InjektModule
import uy.kohesive.injekt.api.InjektRegistrar
import uy.kohesive.injekt.api.addFactory
import uy.kohesive.injekt.api.addSingletonFactory
import uy.kohesive.injekt.api.get
import xyz.nulldev.ts.api.http.serializer.FilterSerializer
class SYDomainModule : InjektModule {
override fun InjektRegistrar.registerInjectables() {
addFactory { GetShowLatest(get()) }
addFactory { ToggleExcludeFromDataSaver(get()) }
addFactory { SetSourceCategories(get()) }
addFactory { SetMangaFilteredScanlators(get()) }
addFactory { GetAllManga(get()) }
addFactory { GetMangaBySource(get()) }
addFactory { DeleteChapters(get()) }
addFactory { DeleteMangaById(get()) }
addFactory { FilterSerializer() }
addFactory { GetHistoryByMangaId(get()) }
addFactory { GetChapterByUrl(get()) }
addFactory { CreateSourceRepo(get()) }
addFactory { DeleteSourceRepos(get()) }
addFactory { GetSourceRepos(get()) }
addFactory { GetSourceCategories(get()) }
addFactory { CreateSourceCategory(get()) }
addFactory { RenameSourceCategory(get(), get()) }
addFactory { DeleteSourceCategory(get()) }
addFactory { GetSortTag(get()) }
addFactory { CreateSortTag(get(), get()) }
addFactory { DeleteSortTag(get(), get()) }
addFactory { ReorderSortTag(get(), get()) }
addFactory { GetPagePreviews(get(), get()) }
addFactory { SearchEngine() }
// Required for [MetadataSource]
addFactory<MetadataSource.GetMangaId> { GetManga(get()) }
addFactory<MetadataSource.GetFlatMetadataById> { GetFlatMetadataById(get()) }
addFactory<MetadataSource.InsertFlatMetadata> { InsertFlatMetadata(get()) }
addSingletonFactory<MangaMetadataRepository> { MangaMetadataRepositoryImpl(get()) }
addFactory { GetFlatMetadataById(get()) }
addFactory { InsertFlatMetadata(get()) }
addFactory { GetExhFavoriteMangaWithMetadata(get()) }
addFactory { GetSearchMetadata(get()) }
addFactory { GetSearchTags(get()) }
addFactory { GetSearchTitles(get()) }
addFactory { GetIdsOfFavoriteMangaWithMetadata(get()) }
addSingletonFactory<MangaMergeRepository> { MangaMergeRepositoryImpl(get()) }
addFactory { GetMergedManga(get()) }
addFactory { GetMergedMangaById(get()) }
addFactory { GetMergedReferencesById(get()) }
addFactory { GetMergedChapterByMangaId(get(), get()) }
addFactory { InsertMergedReference(get()) }
addFactory { UpdateMergedSettings(get()) }
addFactory { DeleteByMergeId(get()) }
addFactory { DeleteMergeById(get()) }
addFactory { GetMergedMangaForDownloading(get()) }
addSingletonFactory<FavoritesEntryRepository> { FavoritesEntryRepositoryImpl(get()) }
addFactory { GetFavoriteEntries(get()) }
addFactory { InsertFavoriteEntries(get()) }
addFactory { DeleteFavoriteEntries(get()) }
addSingletonFactory<SavedSearchRepository> { SavedSearchRepositoryImpl(get()) }
addFactory { GetSavedSearchById(get()) }
addFactory { GetSavedSearchBySourceId(get()) }
addFactory { DeleteSavedSearchById(get()) }
addFactory { InsertSavedSearch(get()) }
addFactory { GetExhSavedSearch(get(), get(), get()) }
addSingletonFactory<FeedSavedSearchRepository> { FeedSavedSearchRepositoryImpl(get()) }
addFactory { InsertFeedSavedSearch(get()) }
addFactory { DeleteFeedSavedSearchById(get()) }
addFactory { GetFeedSavedSearchGlobal(get()) }
addFactory { GetFeedSavedSearchBySourceId(get()) }
addFactory { CountFeedSavedSearchGlobal(get()) }
addFactory { CountFeedSavedSearchBySourceId(get()) }
addFactory { GetSavedSearchGlobalFeed(get()) }
addFactory { GetSavedSearchBySourceIdFeed(get()) }
addSingletonFactory<CustomMangaRepository> { CustomMangaRepositoryImpl(get<Application>()) }
addFactory { GetCustomMangaInfo(get()) }
addFactory { SetCustomMangaInfo(get()) }
}
}
@@ -0,0 +1,89 @@
package eu.kanade.domain
import tachiyomi.core.preference.PreferenceStore
class UnsortedPreferences(
private val preferenceStore: PreferenceStore,
) {
// SY -->
fun migrateFlags() = preferenceStore.getInt("migrate_flags", Int.MAX_VALUE)
fun defaultMangaOrder() = preferenceStore.getString("default_manga_order", "")
fun migrationSources() = preferenceStore.getString("migrate_sources", "")
fun smartMigration() = preferenceStore.getBoolean("smart_migrate", false)
fun useSourceWithMost() = preferenceStore.getBoolean("use_source_with_most", false)
fun skipPreMigration() = preferenceStore.getBoolean("skip_pre_migration", false)
fun hideNotFoundMigration() = preferenceStore.getBoolean("hide_not_found_migration", false)
fun isHentaiEnabled() = preferenceStore.getBoolean("eh_is_hentai_enabled", true)
fun enableExhentai() = preferenceStore.getBoolean("enable_exhentai", false)
fun imageQuality() = preferenceStore.getString("ehentai_quality", "auto")
fun useHentaiAtHome() = preferenceStore.getInt("eh_enable_hah", 0)
fun useJapaneseTitle() = preferenceStore.getBoolean("use_jp_title", false)
fun exhUseOriginalImages() = preferenceStore.getBoolean("eh_useOrigImages", false)
fun ehTagFilterValue() = preferenceStore.getInt("eh_tag_filtering_value", 0)
fun ehTagWatchingValue() = preferenceStore.getInt("eh_tag_watching_value", 0)
// EH Cookies
fun memberIdVal() = preferenceStore.getString("eh_ipb_member_id", "")
fun passHashVal() = preferenceStore.getString("eh_ipb_pass_hash", "")
fun igneousVal() = preferenceStore.getString("eh_igneous", "")
fun ehSettingsProfile() = preferenceStore.getInt("eh_ehSettingsProfile", -1)
fun exhSettingsProfile() = preferenceStore.getInt("eh_exhSettingsProfile", -1)
fun exhSettingsKey() = preferenceStore.getString("eh_settingsKey", "")
fun exhSessionCookie() = preferenceStore.getString("eh_sessionCookie", "")
fun exhHathPerksCookies() = preferenceStore.getString("eh_hathPerksCookie", "")
fun exhShowSyncIntro() = preferenceStore.getBoolean("eh_show_sync_intro", true)
fun exhReadOnlySync() = preferenceStore.getBoolean("eh_sync_read_only", false)
fun exhLenientSync() = preferenceStore.getBoolean("eh_lenient_sync", false)
fun exhShowSettingsUploadWarning() = preferenceStore.getBoolean("eh_showSettingsUploadWarning2", true)
fun logLevel() = preferenceStore.getInt("eh_log_level", 0)
fun exhAutoUpdateFrequency() = preferenceStore.getInt("eh_auto_update_frequency", 1)
fun exhAutoUpdateRequirements() = preferenceStore.getStringSet("eh_auto_update_restrictions", emptySet())
fun exhAutoUpdateStats() = preferenceStore.getString("eh_auto_update_stats", "")
fun exhWatchedListDefaultState() = preferenceStore.getBoolean("eh_watched_list_default_state", false)
fun exhSettingsLanguages() = preferenceStore.getString(
"eh_settings_languages",
"false*false*false\nfalse*false*false\nfalse*false*false\nfalse*false*false\nfalse*false*false\nfalse*false*false\nfalse*false*false\nfalse*false*false\nfalse*false*false\nfalse*false*false\nfalse*false*false\nfalse*false*false\nfalse*false*false\nfalse*false*false\nfalse*false*false\nfalse*false*false\nfalse*false*false",
)
fun exhEnabledCategories() = preferenceStore.getString(
"eh_enabled_categories",
"false,false,false,false,false,false,false,false,false,false",
)
fun enhancedEHentaiView() = preferenceStore.getBoolean("enhanced_e_hentai_view", true)
fun preferredMangaDexId() = preferenceStore.getString("preferred_mangaDex_id", "0")
fun mangadexSyncToLibraryIndexes() = preferenceStore.getStringSet("pref_mangadex_sync_to_library_indexes", emptySet())
fun allowLocalSourceHiddenFolders() = preferenceStore.getBoolean("allow_local_source_hidden_folders", false)
fun extensionRepos() = preferenceStore.getStringSet("extension_repos", emptySet())
}
@@ -0,0 +1,16 @@
package eu.kanade.domain.backup.service
import tachiyomi.core.preference.PreferenceStore
import tachiyomi.core.provider.FolderProvider
class BackupPreferences(
private val folderProvider: FolderProvider,
private val preferenceStore: PreferenceStore,
) {
fun backupsDirectory() = preferenceStore.getString("backup_directory", folderProvider.path())
fun numberOfBackups() = preferenceStore.getInt("backup_slots", 2)
fun backupInterval() = preferenceStore.getInt("backup_interval", 12)
}
@@ -0,0 +1,24 @@
package eu.kanade.domain.base
import android.content.Context
import eu.kanade.tachiyomi.util.system.isPreviewBuildType
import eu.kanade.tachiyomi.util.system.isReleaseBuildType
import tachiyomi.core.preference.PreferenceStore
class BasePreferences(
val context: Context,
private val preferenceStore: PreferenceStore,
) {
fun confirmExit() = preferenceStore.getBoolean("pref_confirm_exit", false)
fun downloadedOnly() = preferenceStore.getBoolean("pref_downloaded_only", false)
fun incognitoMode() = preferenceStore.getBoolean("incognito_mode", false)
fun automaticExtUpdates() = preferenceStore.getBoolean("automatic_ext_updates", true)
fun extensionInstaller() = ExtensionInstallerPreference(context, preferenceStore)
fun acraEnabled() = preferenceStore.getBoolean("acra.enable", isPreviewBuildType || isReleaseBuildType)
}
@@ -0,0 +1,68 @@
package eu.kanade.domain.base
import android.content.Context
import eu.kanade.tachiyomi.data.preference.PreferenceValues.ExtensionInstaller
import eu.kanade.tachiyomi.util.system.hasMiuiPackageInstaller
import eu.kanade.tachiyomi.util.system.isShizukuInstalled
import kotlinx.coroutines.CoroutineScope
import tachiyomi.core.preference.Preference
import tachiyomi.core.preference.PreferenceStore
import tachiyomi.core.preference.getEnum
class ExtensionInstallerPreference(
private val context: Context,
preferenceStore: PreferenceStore,
) : Preference<ExtensionInstaller> {
private val basePref = preferenceStore.getEnum(key(), defaultValue())
override fun key() = "extension_installer"
val entries get() = ExtensionInstaller.values().run {
if (context.hasMiuiPackageInstaller) {
filter { it != ExtensionInstaller.PACKAGEINSTALLER }
} else {
toList()
}
}
override fun defaultValue() = if (context.hasMiuiPackageInstaller) {
ExtensionInstaller.LEGACY
} else {
ExtensionInstaller.PACKAGEINSTALLER
}
private fun check(value: ExtensionInstaller): ExtensionInstaller {
when (value) {
ExtensionInstaller.PACKAGEINSTALLER -> {
if (context.hasMiuiPackageInstaller) return ExtensionInstaller.LEGACY
}
ExtensionInstaller.SHIZUKU -> {
if (!context.isShizukuInstalled) return defaultValue()
}
else -> {}
}
return value
}
override fun get(): ExtensionInstaller {
val value = basePref.get()
val checkedValue = check(value)
if (value != checkedValue) {
basePref.set(checkedValue)
}
return checkedValue
}
override fun set(value: ExtensionInstaller) {
basePref.set(check(value))
}
override fun isSet() = basePref.isSet()
override fun delete() = basePref.delete()
override fun changes() = basePref.changes()
override fun stateIn(scope: CoroutineScope) = basePref.stateIn(scope)
}
@@ -0,0 +1,49 @@
package eu.kanade.domain.category.interactor
import eu.kanade.domain.library.service.LibraryPreferences
import logcat.LogPriority
import tachiyomi.core.util.lang.withNonCancellableContext
import tachiyomi.core.util.system.logcat
import tachiyomi.domain.category.model.Category
import tachiyomi.domain.category.repository.CategoryRepository
class CreateCategoryWithName(
private val categoryRepository: CategoryRepository,
private val preferences: LibraryPreferences,
) {
private val initialFlags: Long
get() {
val sort = preferences.librarySortingMode().get()
return preferences.libraryDisplayMode().get().flag or
sort.type.flag or
sort.direction.flag
}
suspend fun await(name: String): Result = withNonCancellableContext {
val categories = categoryRepository.getAll()
val nextOrder = categories.maxOfOrNull { it.order }?.plus(1) ?: 0
val newCategory = Category(
id = 0,
name = name,
order = nextOrder,
flags = initialFlags,
)
try {
categoryRepository.insert(newCategory)
Result.Success(/* SY --> */newCategory/* SY <-- */)
} catch (e: Exception) {
logcat(LogPriority.ERROR, e)
Result.InternalError(e)
}
}
sealed class Result {
// SY -->
data class Success(val category: Category) : Result()
// SY <--
data class InternalError(val error: Throwable) : Result()
}
}
@@ -0,0 +1,42 @@
package eu.kanade.domain.category.interactor
import logcat.LogPriority
import tachiyomi.core.util.lang.withNonCancellableContext
import tachiyomi.core.util.system.logcat
import tachiyomi.domain.category.model.CategoryUpdate
import tachiyomi.domain.category.repository.CategoryRepository
class DeleteCategory(
private val categoryRepository: CategoryRepository,
) {
suspend fun await(categoryId: Long) = withNonCancellableContext {
try {
categoryRepository.delete(categoryId)
} catch (e: Exception) {
logcat(LogPriority.ERROR, e)
return@withNonCancellableContext Result.InternalError(e)
}
val categories = categoryRepository.getAll()
val updates = categories.mapIndexed { index, category ->
CategoryUpdate(
id = category.id,
order = index.toLong(),
)
}
try {
categoryRepository.updatePartial(updates)
Result.Success
} catch (e: Exception) {
logcat(LogPriority.ERROR, e)
Result.InternalError(e)
}
}
sealed class Result {
object Success : Result()
data class InternalError(val error: Throwable) : Result()
}
}
@@ -0,0 +1,35 @@
package eu.kanade.domain.category.interactor
import logcat.LogPriority
import tachiyomi.core.util.lang.withNonCancellableContext
import tachiyomi.core.util.system.logcat
import tachiyomi.domain.category.model.Category
import tachiyomi.domain.category.model.CategoryUpdate
import tachiyomi.domain.category.repository.CategoryRepository
class RenameCategory(
private val categoryRepository: CategoryRepository,
) {
suspend fun await(categoryId: Long, name: String) = withNonCancellableContext {
val update = CategoryUpdate(
id = categoryId,
name = name,
)
try {
categoryRepository.updatePartial(update)
Result.Success
} catch (e: Exception) {
logcat(LogPriority.ERROR, e)
Result.InternalError(e)
}
}
suspend fun await(category: Category, name: String) = await(category.id, name)
sealed class Result {
object Success : Result()
data class InternalError(val error: Throwable) : Result()
}
}
@@ -0,0 +1,70 @@
package eu.kanade.domain.category.interactor
import kotlinx.coroutines.sync.Mutex
import kotlinx.coroutines.sync.withLock
import logcat.LogPriority
import tachiyomi.core.util.lang.withNonCancellableContext
import tachiyomi.core.util.system.logcat
import tachiyomi.domain.category.model.Category
import tachiyomi.domain.category.model.CategoryUpdate
import tachiyomi.domain.category.repository.CategoryRepository
import java.util.Collections
class ReorderCategory(
private val categoryRepository: CategoryRepository,
) {
private val mutex = Mutex()
suspend fun moveUp(category: Category): Result =
await(category, MoveTo.UP)
suspend fun moveDown(category: Category): Result =
await(category, MoveTo.DOWN)
private suspend fun await(category: Category, moveTo: MoveTo) = withNonCancellableContext {
mutex.withLock {
val categories = categoryRepository.getAll()
.filterNot(Category::isSystemCategory)
.toMutableList()
val currentIndex = categories.indexOfFirst { it.id == category.id }
if (currentIndex == -1) {
return@withNonCancellableContext Result.Unchanged
}
val newPosition = when (moveTo) {
MoveTo.UP -> currentIndex - 1
MoveTo.DOWN -> currentIndex + 1
}.toInt()
try {
Collections.swap(categories, currentIndex, newPosition)
val updates = categories.mapIndexed { index, category ->
CategoryUpdate(
id = category.id,
order = index.toLong(),
)
}
categoryRepository.updatePartial(updates)
Result.Success
} catch (e: Exception) {
logcat(LogPriority.ERROR, e)
Result.InternalError(e)
}
}
}
sealed class Result {
object Success : Result()
object Unchanged : Result()
data class InternalError(val error: Throwable) : Result()
}
private enum class MoveTo {
UP,
DOWN,
}
}
@@ -0,0 +1,17 @@
package eu.kanade.domain.category.interactor
import eu.kanade.domain.library.service.LibraryPreferences
import tachiyomi.domain.category.repository.CategoryRepository
import tachiyomi.domain.library.model.plus
class ResetCategoryFlags(
private val preferences: LibraryPreferences,
private val categoryRepository: CategoryRepository,
) {
suspend fun await() {
val display = preferences.libraryDisplayMode().get()
val sort = preferences.librarySortingMode().get()
categoryRepository.updateAllFlags(display + sort.type + sort.direction)
}
}
@@ -0,0 +1,41 @@
package eu.kanade.domain.category.interactor
import eu.kanade.domain.library.model.LibraryGroup
import eu.kanade.domain.library.service.LibraryPreferences
import tachiyomi.domain.category.model.Category
import tachiyomi.domain.category.model.CategoryUpdate
import tachiyomi.domain.category.repository.CategoryRepository
import tachiyomi.domain.library.model.LibraryDisplayMode
import tachiyomi.domain.library.model.plus
class SetDisplayModeForCategory(
private val preferences: LibraryPreferences,
private val categoryRepository: CategoryRepository,
) {
suspend fun await(categoryId: Long, display: LibraryDisplayMode) {
// SY -->
if (preferences.groupLibraryBy().get() != LibraryGroup.BY_DEFAULT) {
preferences.libraryDisplayMode().set(display)
return
}
// SY <--
val category = categoryRepository.get(categoryId) ?: return
val flags = category.flags + display
if (preferences.categorizedDisplaySettings().get()) {
categoryRepository.updatePartial(
CategoryUpdate(
id = category.id,
flags = flags,
),
)
} else {
preferences.libraryDisplayMode().set(display)
categoryRepository.updateAllFlags(flags)
}
}
suspend fun await(category: Category, display: LibraryDisplayMode) {
await(category.id, display)
}
}
@@ -0,0 +1,18 @@
package eu.kanade.domain.category.interactor
import logcat.LogPriority
import tachiyomi.core.util.system.logcat
import tachiyomi.domain.manga.repository.MangaRepository
class SetMangaCategories(
private val mangaRepository: MangaRepository,
) {
suspend fun await(mangaId: Long, categoryIds: List<Long>) {
try {
mangaRepository.setMangaCategories(mangaId, categoryIds)
} catch (e: Exception) {
logcat(LogPriority.ERROR, e)
}
}
}
@@ -0,0 +1,41 @@
package eu.kanade.domain.category.interactor
import eu.kanade.domain.library.model.LibraryGroup
import eu.kanade.domain.library.service.LibraryPreferences
import tachiyomi.domain.category.model.Category
import tachiyomi.domain.category.model.CategoryUpdate
import tachiyomi.domain.category.repository.CategoryRepository
import tachiyomi.domain.library.model.LibrarySort
import tachiyomi.domain.library.model.plus
class SetSortModeForCategory(
private val preferences: LibraryPreferences,
private val categoryRepository: CategoryRepository,
) {
suspend fun await(categoryId: Long, type: LibrarySort.Type, direction: LibrarySort.Direction) {
// SY -->
if (preferences.groupLibraryBy().get() != LibraryGroup.BY_DEFAULT) {
preferences.librarySortingMode().set(LibrarySort(type, direction))
return
}
// SY <--
val category = categoryRepository.get(categoryId) ?: return
val flags = category.flags + type + direction
if (preferences.categorizedDisplaySettings().get()) {
categoryRepository.updatePartial(
CategoryUpdate(
id = category.id,
flags = flags,
),
)
} else {
preferences.librarySortingMode().set(LibrarySort(type, direction))
categoryRepository.updateAllFlags(flags)
}
}
suspend fun await(category: Category, type: LibrarySort.Type, direction: LibrarySort.Direction) {
await(category.id, type, direction)
}
}
@@ -0,0 +1,24 @@
package eu.kanade.domain.category.interactor
import tachiyomi.core.util.lang.withNonCancellableContext
import tachiyomi.domain.category.model.CategoryUpdate
import tachiyomi.domain.category.repository.CategoryRepository
class UpdateCategory(
private val categoryRepository: CategoryRepository,
) {
suspend fun await(payload: CategoryUpdate): Result = withNonCancellableContext {
try {
categoryRepository.updatePartial(payload)
Result.Success
} catch (e: Exception) {
Result.Error(e)
}
}
sealed class Result {
object Success : Result()
data class Error(val error: Exception) : Result()
}
}
@@ -0,0 +1,12 @@
package eu.kanade.domain.chapter.interactor
import tachiyomi.domain.chapter.repository.ChapterRepository
class DeleteChapters(
private val chapterRepository: ChapterRepository,
) {
suspend fun await(chapters: List<Long>) {
chapterRepository.removeChaptersWithIds(chapters)
}
}
@@ -0,0 +1,29 @@
package eu.kanade.domain.chapter.interactor
import logcat.LogPriority
import tachiyomi.core.util.system.logcat
import tachiyomi.domain.chapter.model.Chapter
import tachiyomi.domain.chapter.repository.ChapterRepository
class GetChapter(
private val chapterRepository: ChapterRepository,
) {
suspend fun await(id: Long): Chapter? {
return try {
chapterRepository.getChapterById(id)
} catch (e: Exception) {
logcat(LogPriority.ERROR, e)
null
}
}
suspend fun await(url: String, mangaId: Long): Chapter? {
return try {
chapterRepository.getChapterByUrlAndMangaId(url, mangaId)
} catch (e: Exception) {
logcat(LogPriority.ERROR, e)
null
}
}
}
@@ -0,0 +1,20 @@
package eu.kanade.domain.chapter.interactor
import logcat.LogPriority
import tachiyomi.core.util.system.logcat
import tachiyomi.domain.chapter.model.Chapter
import tachiyomi.domain.chapter.repository.ChapterRepository
class GetChapterByMangaId(
private val chapterRepository: ChapterRepository,
) {
suspend fun await(mangaId: Long): List<Chapter> {
return try {
chapterRepository.getChapterByMangaId(mangaId)
} catch (e: Exception) {
logcat(LogPriority.ERROR, e)
emptyList()
}
}
}
@@ -0,0 +1,20 @@
package eu.kanade.domain.chapter.interactor
import logcat.LogPriority
import tachiyomi.core.util.system.logcat
import tachiyomi.domain.chapter.model.Chapter
import tachiyomi.domain.chapter.repository.ChapterRepository
class GetChapterByUrl(
private val chapterRepository: ChapterRepository,
) {
suspend fun await(url: String): List<Chapter> {
return try {
chapterRepository.getChapterByUrl(url)
} catch (e: Exception) {
logcat(LogPriority.ERROR, e)
emptyList()
}
}
}
@@ -0,0 +1,107 @@
package eu.kanade.domain.chapter.interactor
import eu.kanade.domain.manga.interactor.GetMergedReferencesById
import exh.source.MERGED_SOURCE_ID
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.combine
import kotlinx.coroutines.flow.flowOf
import logcat.LogPriority
import tachiyomi.core.util.system.logcat
import tachiyomi.domain.chapter.model.Chapter
import tachiyomi.domain.chapter.repository.ChapterRepository
import tachiyomi.domain.manga.model.MergedMangaReference
class GetMergedChapterByMangaId(
private val chapterRepository: ChapterRepository,
private val getMergedReferencesById: GetMergedReferencesById,
) {
suspend fun await(mangaId: Long, dedupe: Boolean = true): List<Chapter> {
return transformMergedChapters(getMergedReferencesById.await(mangaId), getFromDatabase(mangaId), dedupe)
}
suspend fun subscribe(mangaId: Long, dedupe: Boolean = true): Flow<List<Chapter>> {
return try {
chapterRepository.getMergedChapterByMangaIdAsFlow(mangaId)
.combine(getMergedReferencesById.subscribe(mangaId)) { chapters, references ->
transformMergedChapters(references, chapters, dedupe)
}
} catch (e: Exception) {
logcat(LogPriority.ERROR, e)
flowOf(emptyList())
}
}
private suspend fun getFromDatabase(mangaId: Long): List<Chapter> {
return try {
chapterRepository.getMergedChapterByMangaId(mangaId)
} catch (e: Exception) {
logcat(LogPriority.ERROR, e)
emptyList()
}
}
fun transformMergedChapters(mangaReferences: List<MergedMangaReference>, chapterList: List<Chapter>, dedupe: Boolean): List<Chapter> {
return if (dedupe) dedupeChapterList(mangaReferences, chapterList) else chapterList
}
private fun dedupeChapterList(mangaReferences: List<MergedMangaReference>, chapterList: List<Chapter>): List<Chapter> {
return when (mangaReferences.firstOrNull { it.mangaSourceId == MERGED_SOURCE_ID }?.chapterSortMode) {
MergedMangaReference.CHAPTER_SORT_NO_DEDUPE, MergedMangaReference.CHAPTER_SORT_NONE -> chapterList
MergedMangaReference.CHAPTER_SORT_PRIORITY -> dedupeByPriority(mangaReferences, chapterList)
MergedMangaReference.CHAPTER_SORT_MOST_CHAPTERS -> {
findSourceWithMostChapters(chapterList)?.let { mangaId ->
chapterList.filter { it.mangaId == mangaId }
} ?: chapterList
}
MergedMangaReference.CHAPTER_SORT_HIGHEST_CHAPTER_NUMBER -> {
findSourceWithHighestChapterNumber(chapterList)?.let { mangaId ->
chapterList.filter { it.mangaId == mangaId }
} ?: chapterList
}
else -> chapterList
}
}
private fun findSourceWithMostChapters(chapterList: List<Chapter>): Long? {
return chapterList.groupBy { it.mangaId }.maxByOrNull { it.value.size }?.key
}
private fun findSourceWithHighestChapterNumber(chapterList: List<Chapter>): Long? {
return chapterList.maxByOrNull { it.chapterNumber }?.mangaId
}
private fun dedupeByPriority(mangaReferences: List<MergedMangaReference>, chapterList: List<Chapter>): List<Chapter> {
val sortedChapterList = mutableListOf<Chapter>()
var existingChapterIndex: Int
chapterList.groupBy { it.mangaId }
.entries
.sortedBy { (mangaId) ->
mangaReferences.find { it.mangaId == mangaId }?.chapterPriority ?: Int.MAX_VALUE
}
.forEach { (_, chapters) ->
existingChapterIndex = -1
chapters.forEach { chapter ->
val oldChapterIndex = existingChapterIndex
if (chapter.isRecognizedNumber) {
existingChapterIndex = sortedChapterList.indexOfFirst {
it.isRecognizedNumber && it.chapterNumber == chapter.chapterNumber && // check if the chapter is not already there
it.mangaId != chapter.mangaId // allow multiple chapters of the same number from the same source
}
if (existingChapterIndex == -1) {
sortedChapterList.add(oldChapterIndex + 1, chapter)
existingChapterIndex = oldChapterIndex + 1
}
} else {
sortedChapterList.add(oldChapterIndex + 1, chapter)
existingChapterIndex = oldChapterIndex + 1
}
}
}
return sortedChapterList.mapIndexed { index, chapter ->
chapter.copy(sourceOrder = index.toLong())
}
}
}
@@ -0,0 +1,36 @@
package eu.kanade.domain.chapter.interactor
import eu.kanade.domain.library.service.LibraryPreferences
import eu.kanade.domain.manga.interactor.GetFavorites
import eu.kanade.domain.manga.interactor.SetMangaChapterFlags
import tachiyomi.core.util.lang.withNonCancellableContext
import tachiyomi.domain.manga.model.Manga
class SetMangaDefaultChapterFlags(
private val libraryPreferences: LibraryPreferences,
private val setMangaChapterFlags: SetMangaChapterFlags,
private val getFavorites: GetFavorites,
) {
suspend fun await(manga: Manga) {
withNonCancellableContext {
with(libraryPreferences) {
setMangaChapterFlags.awaitSetAllFlags(
mangaId = manga.id,
unreadFilter = filterChapterByRead().get(),
downloadedFilter = filterChapterByDownloaded().get(),
bookmarkedFilter = filterChapterByBookmarked().get(),
sortingMode = sortChapterBySourceOrNumber().get(),
sortingDirection = sortChapterByAscendingOrDescending().get(),
displayMode = displayChapterByNameOrNumber().get(),
)
}
}
}
suspend fun awaitAll() {
withNonCancellableContext {
getFavorites.await().forEach { await(it) }
}
}
}
@@ -0,0 +1,98 @@
package eu.kanade.domain.chapter.interactor
import eu.kanade.domain.download.interactor.DeleteDownload
import eu.kanade.domain.download.service.DownloadPreferences
import exh.source.MERGED_SOURCE_ID
import logcat.LogPriority
import tachiyomi.core.util.lang.withNonCancellableContext
import tachiyomi.core.util.system.logcat
import tachiyomi.domain.chapter.model.Chapter
import tachiyomi.domain.chapter.model.ChapterUpdate
import tachiyomi.domain.chapter.repository.ChapterRepository
import tachiyomi.domain.manga.model.Manga
import tachiyomi.domain.manga.repository.MangaRepository
class SetReadStatus(
private val downloadPreferences: DownloadPreferences,
private val deleteDownload: DeleteDownload,
private val mangaRepository: MangaRepository,
private val chapterRepository: ChapterRepository,
// SY -->
private val getMergedChapterByMangaId: GetMergedChapterByMangaId,
// SY <--
) {
private val mapper = { chapter: Chapter, read: Boolean ->
ChapterUpdate(
read = read,
lastPageRead = if (!read) 0 else null,
id = chapter.id,
)
}
suspend fun await(read: Boolean, vararg chapters: Chapter): Result = withNonCancellableContext {
val chaptersToUpdate = chapters.filter {
when (read) {
true -> !it.read
false -> it.read || it.lastPageRead > 0
}
}
if (chaptersToUpdate.isEmpty()) {
return@withNonCancellableContext Result.NoChapters
}
try {
chapterRepository.updateAll(
chaptersToUpdate.map { mapper(it, read) },
)
} catch (e: Exception) {
logcat(LogPriority.ERROR, e)
return@withNonCancellableContext Result.InternalError(e)
}
if (read && downloadPreferences.removeAfterMarkedAsRead().get()) {
chaptersToUpdate
.groupBy { it.mangaId }
.forEach { (mangaId, chapters) ->
deleteDownload.awaitAll(
manga = mangaRepository.getMangaById(mangaId),
chapters = chapters.toTypedArray(),
)
}
}
Result.Success
}
suspend fun await(mangaId: Long, read: Boolean): Result = withNonCancellableContext {
await(
read = read,
chapters = chapterRepository
.getChapterByMangaId(mangaId)
.toTypedArray(),
)
}
// SY -->
private suspend fun awaitMerged(mangaId: Long, read: Boolean) = withNonCancellableContext f@{
return@f await(
read = read,
chapters = getMergedChapterByMangaId
.await(mangaId, dedupe = false)
.toTypedArray(),
)
}
suspend fun await(manga: Manga, read: Boolean) = if (manga.source == MERGED_SOURCE_ID) {
awaitMerged(manga.id, read)
} else {
await(manga.id, read)
}
// SY <--
sealed class Result {
object Success : Result()
object NoChapters : Result()
data class InternalError(val error: Throwable) : Result()
}
}
@@ -0,0 +1,217 @@
package eu.kanade.domain.chapter.interactor
import eu.kanade.domain.chapter.model.copyFromSChapter
import eu.kanade.domain.chapter.model.toSChapter
import eu.kanade.domain.manga.interactor.UpdateManga
import eu.kanade.domain.manga.model.toSManga
import eu.kanade.tachiyomi.data.download.DownloadManager
import eu.kanade.tachiyomi.data.download.DownloadProvider
import eu.kanade.tachiyomi.source.Source
import eu.kanade.tachiyomi.source.isLocal
import eu.kanade.tachiyomi.source.model.SChapter
import eu.kanade.tachiyomi.source.online.HttpSource
import eu.kanade.tachiyomi.util.chapter.ChapterRecognition
import exh.source.isEhBasedManga
import tachiyomi.data.chapter.ChapterSanitizer
import tachiyomi.domain.chapter.interactor.ShouldUpdateDbChapter
import tachiyomi.domain.chapter.model.Chapter
import tachiyomi.domain.chapter.model.NoChaptersException
import tachiyomi.domain.chapter.model.toChapterUpdate
import tachiyomi.domain.chapter.repository.ChapterRepository
import tachiyomi.domain.manga.model.Manga
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import java.lang.Long.max
import java.util.Date
import java.util.TreeSet
class SyncChaptersWithSource(
private val downloadManager: DownloadManager = Injekt.get(),
private val downloadProvider: DownloadProvider = Injekt.get(),
private val chapterRepository: ChapterRepository = Injekt.get(),
private val shouldUpdateDbChapter: ShouldUpdateDbChapter = Injekt.get(),
private val updateManga: UpdateManga = Injekt.get(),
private val updateChapter: UpdateChapter = Injekt.get(),
private val getChapterByMangaId: GetChapterByMangaId = Injekt.get(),
) {
/**
* Method to synchronize db chapters with source ones
*
* @param rawSourceChapters the chapters from the source.
* @param manga the manga the chapters belong to.
* @param source the source the manga belongs to.
* @return Newly added chapters
*/
suspend fun await(
rawSourceChapters: List<SChapter>,
manga: Manga,
source: Source,
): List<Chapter> {
if (rawSourceChapters.isEmpty() && !source.isLocal()) {
throw NoChaptersException()
}
val sourceChapters = rawSourceChapters
.distinctBy { it.url }
.mapIndexed { i, sChapter ->
Chapter.create()
.copyFromSChapter(sChapter)
.copy(name = with(ChapterSanitizer) { sChapter.name.sanitize(manga.title) })
.copy(mangaId = manga.id, sourceOrder = i.toLong())
}
// Chapters from db.
val dbChapters = getChapterByMangaId.await(manga.id)
// Chapters from the source not in db.
val toAdd = mutableListOf<Chapter>()
// Chapters whose metadata have changed.
val toChange = mutableListOf<Chapter>()
// Chapters from the db not in source.
val toDelete = dbChapters.filterNot { dbChapter ->
sourceChapters.any { sourceChapter ->
dbChapter.url == sourceChapter.url
}
}
val rightNow = Date().time
// Used to not set upload date of older chapters
// to a higher value than newer chapters
var maxSeenUploadDate = 0L
val sManga = manga.toSManga()
for (sourceChapter in sourceChapters) {
var chapter = sourceChapter
// Update metadata from source if necessary.
if (source is HttpSource) {
val sChapter = chapter.toSChapter()
source.prepareNewChapter(sChapter, sManga)
chapter = chapter.copyFromSChapter(sChapter)
}
// Recognize chapter number for the chapter.
val chapterNumber = ChapterRecognition.parseChapterNumber(manga.title, chapter.name, chapter.chapterNumber)
chapter = chapter.copy(chapterNumber = chapterNumber)
val dbChapter = dbChapters.find { it.url == chapter.url }
if (dbChapter == null) {
val toAddChapter = if (chapter.dateUpload == 0L) {
val altDateUpload = if (maxSeenUploadDate == 0L) rightNow else maxSeenUploadDate
chapter.copy(dateUpload = altDateUpload)
} else {
maxSeenUploadDate = max(maxSeenUploadDate, sourceChapter.dateUpload)
chapter
}
toAdd.add(toAddChapter)
} else {
if (shouldUpdateDbChapter.await(dbChapter, chapter)) {
val shouldRenameChapter = downloadProvider.isChapterDirNameChanged(dbChapter, chapter) &&
downloadManager.isChapterDownloaded(dbChapter.name, dbChapter.scanlator, /* SY --> */ manga.ogTitle /* SY <-- */, manga.source)
if (shouldRenameChapter) {
downloadManager.renameChapter(source, manga, dbChapter, chapter)
}
var toChangeChapter = dbChapter.copy(
name = chapter.name,
chapterNumber = chapter.chapterNumber,
scanlator = chapter.scanlator,
sourceOrder = chapter.sourceOrder,
)
if (chapter.dateUpload != 0L) {
toChangeChapter = toChangeChapter.copy(dateUpload = chapter.dateUpload)
}
toChange.add(toChangeChapter)
}
}
}
// Return if there's nothing to add, delete or change, avoiding unnecessary db transactions.
if (toAdd.isEmpty() && toDelete.isEmpty() && toChange.isEmpty()) {
return emptyList()
}
val reAdded = mutableListOf<Chapter>()
val deletedChapterNumbers = TreeSet<Float>()
val deletedReadChapterNumbers = TreeSet<Float>()
val deletedBookmarkedChapterNumbers = TreeSet<Float>()
toDelete.forEach { chapter ->
if (chapter.read) deletedReadChapterNumbers.add(chapter.chapterNumber)
if (chapter.bookmark) deletedBookmarkedChapterNumbers.add(chapter.chapterNumber)
deletedChapterNumbers.add(chapter.chapterNumber)
}
val deletedChapterNumberDateFetchMap = toDelete.sortedByDescending { it.dateFetch }
.associate { it.chapterNumber to it.dateFetch }
// Date fetch is set in such a way that the upper ones will have bigger value than the lower ones
// Sources MUST return the chapters from most to less recent, which is common.
var itemCount = toAdd.size
var updatedToAdd = toAdd.map { toAddItem ->
var chapter = toAddItem.copy(dateFetch = rightNow + itemCount--)
if (chapter.isRecognizedNumber.not() || chapter.chapterNumber !in deletedChapterNumbers) return@map chapter
chapter = chapter.copy(
read = chapter.chapterNumber in deletedReadChapterNumbers,
bookmark = chapter.chapterNumber in deletedBookmarkedChapterNumbers,
)
// Try to to use the fetch date of the original entry to not pollute 'Updates' tab
deletedChapterNumberDateFetchMap[chapter.chapterNumber]?.let {
chapter = chapter.copy(dateFetch = it)
}
reAdded.add(chapter)
chapter
}
// --> EXH (carry over reading progress)
if (manga.isEhBasedManga()) {
val finalAdded = updatedToAdd.subtract(reAdded)
if (finalAdded.isNotEmpty()) {
val max = dbChapters.maxOfOrNull { it.lastPageRead }
if (max != null && max > 0) {
updatedToAdd = updatedToAdd.map {
if (it !in reAdded) {
it.copy(lastPageRead = max)
} else {
it
}
}
}
}
}
// <-- EXH
if (toDelete.isNotEmpty()) {
val toDeleteIds = toDelete.map { it.id }
chapterRepository.removeChaptersWithIds(toDeleteIds)
}
if (updatedToAdd.isNotEmpty()) {
updatedToAdd = chapterRepository.addAll(updatedToAdd)
}
if (toChange.isNotEmpty()) {
val chapterUpdates = toChange.map { it.toChapterUpdate() }
updateChapter.awaitAll(chapterUpdates)
}
// Set this manga as updated since chapters were changed
// Note that last_update actually represents last time the chapter list changed at all
updateManga.awaitUpdateLastUpdate(manga.id)
val reAddedUrls = reAdded.map { it.url }.toHashSet()
return updatedToAdd.filterNot { it.url in reAddedUrls }
}
}
@@ -0,0 +1,41 @@
package eu.kanade.domain.chapter.interactor
import eu.kanade.domain.track.interactor.InsertTrack
import eu.kanade.domain.track.model.toDbTrack
import eu.kanade.tachiyomi.data.track.TrackService
import logcat.LogPriority
import tachiyomi.core.util.system.logcat
import tachiyomi.domain.chapter.model.Chapter
import tachiyomi.domain.chapter.model.toChapterUpdate
import tachiyomi.domain.track.model.Track
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
class SyncChaptersWithTrackServiceTwoWay(
private val updateChapter: UpdateChapter = Injekt.get(),
private val insertTrack: InsertTrack = Injekt.get(),
) {
suspend fun await(
chapters: List<Chapter>,
remoteTrack: Track,
service: TrackService,
) {
val sortedChapters = chapters.sortedBy { it.chapterNumber }
val chapterUpdates = sortedChapters
.filter { chapter -> chapter.chapterNumber <= remoteTrack.lastChapterRead && !chapter.read }
.map { it.copy(read = true).toChapterUpdate() }
// only take into account continuous reading
val localLastRead = sortedChapters.takeWhile { it.read }.lastOrNull()?.chapterNumber ?: 0F
val updatedTrack = remoteTrack.copy(lastChapterRead = localLastRead.toDouble())
try {
service.update(updatedTrack.toDbTrack())
updateChapter.awaitAll(chapterUpdates)
insertTrack.await(updatedTrack)
} catch (e: Throwable) {
logcat(LogPriority.WARN, e)
}
}
}
@@ -0,0 +1,27 @@
package eu.kanade.domain.chapter.interactor
import logcat.LogPriority
import tachiyomi.core.util.system.logcat
import tachiyomi.domain.chapter.model.ChapterUpdate
import tachiyomi.domain.chapter.repository.ChapterRepository
class UpdateChapter(
private val chapterRepository: ChapterRepository,
) {
suspend fun await(chapterUpdate: ChapterUpdate) {
try {
chapterRepository.update(chapterUpdate)
} catch (e: Exception) {
logcat(LogPriority.ERROR, e)
}
}
suspend fun awaitAll(chapterUpdates: List<ChapterUpdate>) {
try {
chapterRepository.updateAll(chapterUpdates)
} catch (e: Exception) {
logcat(LogPriority.ERROR, e)
}
}
}
@@ -0,0 +1,42 @@
package eu.kanade.domain.chapter.model
import eu.kanade.tachiyomi.data.database.models.ChapterImpl
import eu.kanade.tachiyomi.source.model.SChapter
import tachiyomi.domain.chapter.model.Chapter
import eu.kanade.tachiyomi.data.database.models.Chapter as DbChapter
// TODO: Remove when all deps are migrated
fun Chapter.toSChapter(): SChapter {
return SChapter.create().also {
it.url = url
it.name = name
it.date_upload = dateUpload
it.chapter_number = chapterNumber
it.scanlator = scanlator
}
}
fun Chapter.copyFromSChapter(sChapter: SChapter): Chapter {
return this.copy(
name = sChapter.name,
url = sChapter.url,
dateUpload = sChapter.date_upload,
chapterNumber = sChapter.chapter_number,
scanlator = sChapter.scanlator?.ifBlank { null },
)
}
fun Chapter.toDbChapter(): DbChapter = ChapterImpl().also {
it.id = id
it.manga_id = mangaId
it.url = url
it.name = name
it.scanlator = scanlator
it.read = read
it.bookmark = bookmark
it.last_page_read = lastPageRead.toInt()
it.date_fetch = dateFetch
it.date_upload = dateUpload
it.chapter_number = chapterNumber
it.source_order = sourceOrder.toInt()
}
@@ -0,0 +1,95 @@
package eu.kanade.domain.chapter.model
import eu.kanade.domain.manga.model.downloadedFilter
import eu.kanade.domain.manga.model.isLocal
import eu.kanade.tachiyomi.data.download.DownloadManager
import eu.kanade.tachiyomi.data.download.model.Download
import eu.kanade.tachiyomi.ui.manga.ChapterItem
import eu.kanade.tachiyomi.util.chapter.getChapterSort
import exh.md.utils.MdUtil
import tachiyomi.domain.chapter.model.Chapter
import tachiyomi.domain.manga.model.Manga
import tachiyomi.domain.manga.model.TriStateFilter
/**
* Applies the view filters to the list of chapters obtained from the database.
* @return an observable of the list of chapters filtered and sorted.
*/
fun List<Chapter>.applyFilters(manga: Manga, downloadManager: DownloadManager): List<Chapter> {
val isLocalManga = manga.isLocal()
val unreadFilter = manga.unreadFilter
val downloadedFilter = manga.downloadedFilter
val bookmarkedFilter = manga.bookmarkedFilter
return filter { chapter ->
when (unreadFilter) {
TriStateFilter.DISABLED -> true
TriStateFilter.ENABLED_IS -> !chapter.read
TriStateFilter.ENABLED_NOT -> chapter.read
}
}
.filter { chapter ->
when (bookmarkedFilter) {
TriStateFilter.DISABLED -> true
TriStateFilter.ENABLED_IS -> chapter.bookmark
TriStateFilter.ENABLED_NOT -> !chapter.bookmark
}
}
.filter { chapter ->
val downloaded = downloadManager.isChapterDownloaded(chapter.name, chapter.scanlator, /* SY --> */ manga.ogTitle /* SY <-- */, manga.source)
val downloadState = when {
downloaded -> Download.State.DOWNLOADED
else -> Download.State.NOT_DOWNLOADED
}
when (downloadedFilter) {
TriStateFilter.DISABLED -> true
TriStateFilter.ENABLED_IS -> downloadState == Download.State.DOWNLOADED || isLocalManga
TriStateFilter.ENABLED_NOT -> downloadState != Download.State.DOWNLOADED && !isLocalManga
}
}
// SY -->
.filter { chapter ->
manga.filteredScanlators.isNullOrEmpty() || MdUtil.getScanlators(chapter.scanlator).any { group -> manga.filteredScanlators!!.contains(group) }
}
// SY <--
.sortedWith(getChapterSort(manga))
}
/**
* Applies the view filters to the list of chapters obtained from the database.
* @return an observable of the list of chapters filtered and sorted.
*/
fun List<ChapterItem>.applyFilters(manga: Manga): Sequence<ChapterItem> {
val isLocalManga = manga.isLocal()
val unreadFilter = manga.unreadFilter
val downloadedFilter = manga.downloadedFilter
val bookmarkedFilter = manga.bookmarkedFilter
return asSequence()
.filter { (chapter) ->
when (unreadFilter) {
TriStateFilter.DISABLED -> true
TriStateFilter.ENABLED_IS -> !chapter.read
TriStateFilter.ENABLED_NOT -> chapter.read
}
}
.filter { (chapter) ->
when (bookmarkedFilter) {
TriStateFilter.DISABLED -> true
TriStateFilter.ENABLED_IS -> chapter.bookmark
TriStateFilter.ENABLED_NOT -> !chapter.bookmark
}
}
.filter {
when (downloadedFilter) {
TriStateFilter.DISABLED -> true
TriStateFilter.ENABLED_IS -> it.isDownloaded || isLocalManga
TriStateFilter.ENABLED_NOT -> !it.isDownloaded && !isLocalManga
}
}
// SY -->
.filter { chapter ->
manga.filteredScanlators.isNullOrEmpty() || MdUtil.getScanlators(chapter.chapter.scanlator).any { group -> manga.filteredScanlators!!.contains(group) }
}
// SY <--
.sortedWith { (chapter1), (chapter2) -> getChapterSort(manga).invoke(chapter1, chapter2) }
}
@@ -0,0 +1,19 @@
package eu.kanade.domain.download.interactor
import eu.kanade.tachiyomi.data.download.DownloadManager
import eu.kanade.tachiyomi.source.SourceManager
import tachiyomi.core.util.lang.withNonCancellableContext
import tachiyomi.domain.chapter.model.Chapter
import tachiyomi.domain.manga.model.Manga
class DeleteDownload(
private val sourceManager: SourceManager,
private val downloadManager: DownloadManager,
) {
suspend fun awaitAll(manga: Manga, vararg chapters: Chapter) = withNonCancellableContext {
sourceManager.get(manga.source)?.let { source ->
downloadManager.deleteChapters(chapters.toList(), manga, source)
}
}
}
@@ -0,0 +1,34 @@
package eu.kanade.domain.download.service
import tachiyomi.core.preference.PreferenceStore
import tachiyomi.core.provider.FolderProvider
class DownloadPreferences(
private val folderProvider: FolderProvider,
private val preferenceStore: PreferenceStore,
) {
fun downloadsDirectory() = preferenceStore.getString("download_directory", folderProvider.path())
fun downloadOnlyOverWifi() = preferenceStore.getBoolean("pref_download_only_over_wifi_key", true)
fun saveChaptersAsCBZ() = preferenceStore.getBoolean("save_chapter_as_cbz", true)
fun splitTallImages() = preferenceStore.getBoolean("split_tall_images", false)
fun autoDownloadWhileReading() = preferenceStore.getInt("auto_download_while_reading", 0)
fun removeAfterReadSlots() = preferenceStore.getInt("remove_after_read_slots", -1)
fun removeAfterMarkedAsRead() = preferenceStore.getBoolean("pref_remove_after_marked_as_read_key", false)
fun removeBookmarkedChapters() = preferenceStore.getBoolean("pref_remove_bookmarked", false)
fun removeExcludeCategories() = preferenceStore.getStringSet("remove_exclude_categories", emptySet())
fun downloadNewChapters() = preferenceStore.getBoolean("download_new", false)
fun downloadNewChapterCategories() = preferenceStore.getStringSet("download_new_categories", emptySet())
fun downloadNewChapterCategoriesExclude() = preferenceStore.getStringSet("download_new_categories_exclude", emptySet())
}
@@ -0,0 +1,32 @@
package eu.kanade.domain.extension.interactor
import eu.kanade.domain.source.service.SourcePreferences
import eu.kanade.tachiyomi.extension.ExtensionManager
import eu.kanade.tachiyomi.util.system.LocaleHelper
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.combine
class GetExtensionLanguages(
private val preferences: SourcePreferences,
private val extensionManager: ExtensionManager,
) {
fun subscribe(): Flow<List<String>> {
return combine(
preferences.enabledLanguages().changes(),
extensionManager.availableExtensionsFlow,
) { enabledLanguage, availableExtensions ->
availableExtensions
.flatMap { ext ->
if (ext.sources.isEmpty()) {
listOf(ext.lang)
} else {
ext.sources.map { it.lang }
}
}
.distinct()
.sortedWith(
compareBy<String> { it !in enabledLanguage }.then(LocaleHelper.comparator),
)
}
}
}
@@ -0,0 +1,37 @@
package eu.kanade.domain.extension.interactor
import eu.kanade.domain.source.service.SourcePreferences
import eu.kanade.tachiyomi.extension.model.Extension
import eu.kanade.tachiyomi.source.Source
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.map
class GetExtensionSources(
private val preferences: SourcePreferences,
) {
fun subscribe(extension: Extension.Installed): Flow<List<ExtensionSourceItem>> {
val isMultiSource = extension.sources.size > 1
val isMultiLangSingleSource =
isMultiSource && extension.sources.map { it.name }.distinct().size == 1
return preferences.disabledSources().changes().map { disabledSources ->
fun Source.isEnabled() = id.toString() !in disabledSources
extension.sources
.map { source ->
ExtensionSourceItem(
source = source,
enabled = source.isEnabled(),
labelAsName = isMultiSource && isMultiLangSingleSource.not(),
)
}
}
}
}
data class ExtensionSourceItem(
val source: Source,
val enabled: Boolean,
val labelAsName: Boolean,
)
@@ -0,0 +1,60 @@
package eu.kanade.domain.extension.interactor
import eu.kanade.domain.extension.model.Extensions
import eu.kanade.domain.source.service.SourcePreferences
import eu.kanade.tachiyomi.extension.ExtensionManager
import eu.kanade.tachiyomi.extension.model.Extension
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.combine
class GetExtensionsByType(
private val preferences: SourcePreferences,
private val extensionManager: ExtensionManager,
) {
fun subscribe(): Flow<Extensions> {
val showNsfwSources = preferences.showNsfwSource().get()
return combine(
preferences.enabledLanguages().changes(),
extensionManager.installedExtensionsFlow,
extensionManager.untrustedExtensionsFlow,
extensionManager.availableExtensionsFlow,
) { _activeLanguages, _installed, _untrusted, _available ->
val (updates, installed) = _installed
.filter { (showNsfwSources || it.isNsfw.not()) }
.sortedWith(
compareBy<Extension.Installed> { it.isObsolete.not() /* SY --> */ && it.isRedundant.not() /* SY <-- */ }
.thenBy(String.CASE_INSENSITIVE_ORDER) { it.name },
)
.partition { it.hasUpdate }
val untrusted = _untrusted
.sortedWith(compareBy(String.CASE_INSENSITIVE_ORDER) { it.name })
val available = _available
.filter { extension ->
_installed.none { it.pkgName == extension.pkgName } &&
_untrusted.none { it.pkgName == extension.pkgName } &&
(showNsfwSources || extension.isNsfw.not())
}
.flatMap { ext ->
if (ext.sources.isEmpty()) {
return@flatMap if (ext.lang in _activeLanguages) listOf(ext) else emptyList()
}
ext.sources.filter { it.lang in _activeLanguages }
.map {
ext.copy(
name = it.name,
lang = it.lang,
pkgName = "${ext.pkgName}-${it.id}",
sources = listOf(it),
)
}
}
.sortedWith(compareBy(String.CASE_INSENSITIVE_ORDER) { it.name })
Extensions(updates, installed, available, untrusted)
}
}
}
@@ -0,0 +1,10 @@
package eu.kanade.domain.extension.model
import eu.kanade.tachiyomi.extension.model.Extension
data class Extensions(
val updates: List<Extension.Installed>,
val installed: List<Extension.Installed>,
val available: List<Extension.Available>,
val untrusted: List<Extension.Untrusted>,
)
@@ -0,0 +1,13 @@
package eu.kanade.domain.history.interactor
import tachiyomi.domain.history.model.History
import tachiyomi.domain.history.repository.HistoryRepository
class GetHistoryByMangaId(
private val repository: HistoryRepository,
) {
suspend fun await(mangaId: Long): List<History> {
return repository.getByMangaId(mangaId)
}
}
@@ -0,0 +1,82 @@
package eu.kanade.domain.history.interactor
import eu.kanade.domain.chapter.interactor.GetChapterByMangaId
import eu.kanade.domain.chapter.interactor.GetMergedChapterByMangaId
import eu.kanade.domain.manga.interactor.GetManga
import eu.kanade.tachiyomi.util.chapter.getChapterSort
import exh.source.MERGED_SOURCE_ID
import exh.source.isEhBasedManga
import tachiyomi.domain.chapter.model.Chapter
import tachiyomi.domain.history.repository.HistoryRepository
import kotlin.math.max
class GetNextChapters(
private val getChapterByMangaId: GetChapterByMangaId,
// SY -->
private val getMergedChapterByMangaId: GetMergedChapterByMangaId,
// SY <--
private val getManga: GetManga,
private val historyRepository: HistoryRepository,
) {
suspend fun await(onlyUnread: Boolean = true): List<Chapter> {
val history = historyRepository.getLastHistory() ?: return emptyList()
return await(history.mangaId, history.chapterId, onlyUnread)
}
suspend fun await(mangaId: Long, onlyUnread: Boolean = true): List<Chapter> {
val manga = getManga.await(mangaId) ?: return emptyList()
// SY -->
if (manga.source == MERGED_SOURCE_ID) {
val chapters = getMergedChapterByMangaId.await(mangaId)
.sortedWith(getChapterSort(manga, sortDescending = false))
return if (onlyUnread) {
chapters.filterNot { it.read }
} else {
chapters
}
}
if (manga.isEhBasedManga()) {
val chapters = getChapterByMangaId.await(mangaId)
.sortedWith(getChapterSort(manga, sortDescending = false))
return if (onlyUnread) {
chapters.takeLast(1).takeUnless { it.firstOrNull()?.read == true }.orEmpty()
} else {
chapters
}
}
// SY <--
val chapters = getChapterByMangaId.await(mangaId)
.sortedWith(getChapterSort(manga, sortDescending = false))
return if (onlyUnread) {
chapters.filterNot { it.read }
} else {
chapters
}
}
suspend fun await(mangaId: Long, fromChapterId: Long, onlyUnread: Boolean = true): List<Chapter> {
val chapters = await(mangaId, onlyUnread)
val currChapterIndex = chapters.indexOfFirst { it.id == fromChapterId }
val nextChapters = chapters.subList(max(0, currChapterIndex), chapters.size)
if (onlyUnread) {
return nextChapters
}
// The "next chapter" is either:
// - The current chapter if it isn't completely read
// - The chapters after the current chapter if the current one is completely read
val fromChapter = chapters.getOrNull(currChapterIndex)
return if (fromChapter != null && !fromChapter.read) {
nextChapters
} else {
nextChapters.drop(1)
}
}
}
@@ -0,0 +1,7 @@
package eu.kanade.domain.library.model
enum class GroupLibraryMode {
GLOBAL,
ALL_BUT_UNGROUPED,
ALL,
}
@@ -1,4 +1,4 @@
package eu.kanade.tachiyomi.ui.library package eu.kanade.domain.library.model
import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.R
@@ -0,0 +1,128 @@
package eu.kanade.domain.library.service
import eu.kanade.domain.library.model.GroupLibraryMode
import eu.kanade.domain.library.model.LibraryGroup
import eu.kanade.tachiyomi.data.preference.DEVICE_ONLY_ON_WIFI
import eu.kanade.tachiyomi.data.preference.MANGA_HAS_UNREAD
import eu.kanade.tachiyomi.data.preference.MANGA_NON_COMPLETED
import eu.kanade.tachiyomi.data.preference.MANGA_NON_READ
import eu.kanade.tachiyomi.widget.ExtendedNavigationView
import tachiyomi.core.preference.PreferenceStore
import tachiyomi.core.preference.getEnum
import tachiyomi.domain.library.model.LibraryDisplayMode
import tachiyomi.domain.library.model.LibrarySort
import tachiyomi.domain.manga.model.Manga
class LibraryPreferences(
private val preferenceStore: PreferenceStore,
) {
fun libraryDisplayMode() = preferenceStore.getObject("pref_display_mode_library", LibraryDisplayMode.default, LibraryDisplayMode.Serializer::serialize, LibraryDisplayMode.Serializer::deserialize)
fun librarySortingMode() = preferenceStore.getObject("library_sorting_mode", LibrarySort.default, LibrarySort.Serializer::serialize, LibrarySort.Serializer::deserialize)
fun portraitColumns() = preferenceStore.getInt("pref_library_columns_portrait_key", 0)
fun landscapeColumns() = preferenceStore.getInt("pref_library_columns_landscape_key", 0)
fun libraryUpdateInterval() = preferenceStore.getInt("pref_library_update_interval_key", 0)
fun libraryUpdateLastTimestamp() = preferenceStore.getLong("library_update_last_timestamp", 0L)
fun libraryUpdateDeviceRestriction() = preferenceStore.getStringSet("library_update_restriction", setOf(DEVICE_ONLY_ON_WIFI))
fun libraryUpdateMangaRestriction() = preferenceStore.getStringSet("library_update_manga_restriction", setOf(MANGA_HAS_UNREAD, MANGA_NON_COMPLETED, MANGA_NON_READ))
fun autoUpdateMetadata() = preferenceStore.getBoolean("auto_update_metadata", false)
fun autoUpdateTrackers() = preferenceStore.getBoolean("auto_update_trackers", false)
fun showContinueReadingButton() = preferenceStore.getBoolean("display_continue_reading_button", false)
// region Filter
fun filterDownloaded() = preferenceStore.getInt("pref_filter_library_downloaded", ExtendedNavigationView.Item.TriStateGroup.State.IGNORE.value)
fun filterUnread() = preferenceStore.getInt("pref_filter_library_unread", ExtendedNavigationView.Item.TriStateGroup.State.IGNORE.value)
fun filterStarted() = preferenceStore.getInt("pref_filter_library_started", ExtendedNavigationView.Item.TriStateGroup.State.IGNORE.value)
fun filterBookmarked() = preferenceStore.getInt("pref_filter_library_bookmarked", ExtendedNavigationView.Item.TriStateGroup.State.IGNORE.value)
fun filterCompleted() = preferenceStore.getInt("pref_filter_library_completed", ExtendedNavigationView.Item.TriStateGroup.State.IGNORE.value)
// SY -->
fun filterLewd() = preferenceStore.getInt("pref_filter_library_lewd", ExtendedNavigationView.Item.TriStateGroup.State.IGNORE.value)
// SY <--
fun filterTracking(name: Int) = preferenceStore.getInt("pref_filter_library_tracked_$name", ExtendedNavigationView.Item.TriStateGroup.State.IGNORE.value)
// endregion
// region Badges
fun downloadBadge() = preferenceStore.getBoolean("display_download_badge", false)
fun localBadge() = preferenceStore.getBoolean("display_local_badge", true)
fun languageBadge() = preferenceStore.getBoolean("display_language_badge", false)
fun newShowUpdatesCount() = preferenceStore.getBoolean("library_show_updates_count", true)
fun newUpdatesCount() = preferenceStore.getInt("library_unseen_updates_count", 0)
// endregion
// region Category
fun defaultCategory() = preferenceStore.getInt("default_category", -1)
fun lastUsedCategory() = preferenceStore.getInt("last_used_category", 0)
fun categoryTabs() = preferenceStore.getBoolean("display_category_tabs", true)
fun categoryNumberOfItems() = preferenceStore.getBoolean("display_number_of_items", false)
fun categorizedDisplaySettings() = preferenceStore.getBoolean("categorized_display", false)
fun libraryUpdateCategories() = preferenceStore.getStringSet("library_update_categories", emptySet())
fun libraryUpdateCategoriesExclude() = preferenceStore.getStringSet("library_update_categories_exclude", emptySet())
// endregion
// region Chapter
fun filterChapterByRead() = preferenceStore.getLong("default_chapter_filter_by_read", Manga.SHOW_ALL)
fun filterChapterByDownloaded() = preferenceStore.getLong("default_chapter_filter_by_downloaded", Manga.SHOW_ALL)
fun filterChapterByBookmarked() = preferenceStore.getLong("default_chapter_filter_by_bookmarked", Manga.SHOW_ALL)
// and upload date
fun sortChapterBySourceOrNumber() = preferenceStore.getLong("default_chapter_sort_by_source_or_number", Manga.CHAPTER_SORTING_SOURCE)
fun displayChapterByNameOrNumber() = preferenceStore.getLong("default_chapter_display_by_name_or_number", Manga.CHAPTER_DISPLAY_NAME)
fun sortChapterByAscendingOrDescending() = preferenceStore.getLong("default_chapter_sort_by_ascending_or_descending", Manga.CHAPTER_SORT_DESC)
fun setChapterSettingsDefault(manga: Manga) {
filterChapterByRead().set(manga.unreadFilterRaw)
filterChapterByDownloaded().set(manga.downloadedFilterRaw)
filterChapterByBookmarked().set(manga.bookmarkedFilterRaw)
sortChapterBySourceOrNumber().set(manga.sorting)
displayChapterByNameOrNumber().set(manga.displayMode)
sortChapterByAscendingOrDescending().set(if (manga.sortDescending()) Manga.CHAPTER_SORT_DESC else Manga.CHAPTER_SORT_ASC)
}
fun autoClearChapterCache() = preferenceStore.getBoolean("auto_clear_chapter_cache", false)
// endregion
// SY -->
fun sortTagsForLibrary() = preferenceStore.getStringSet("sort_tags_for_library", mutableSetOf())
fun groupLibraryUpdateType() = preferenceStore.getEnum("group_library_update_type", GroupLibraryMode.GLOBAL)
fun groupLibraryBy() = preferenceStore.getInt("group_library_by", LibraryGroup.BY_DEFAULT)
// SY <--
}
@@ -0,0 +1,40 @@
package eu.kanade.domain.manga.interactor
import eu.kanade.domain.library.service.LibraryPreferences
import eu.kanade.tachiyomi.util.preference.plusAssign
class CreateSortTag(
private val preferences: LibraryPreferences,
private val getSortTag: GetSortTag,
) {
fun await(tag: String): Result {
// Do not allow duplicate categories.
// Do not allow duplicate categories.
if (tagExists(tag.trim())) {
return Result.TagExists
}
val size = preferences.sortTagsForLibrary().get().size
preferences.sortTagsForLibrary() += encodeTag(size, tag)
return Result.Success
}
sealed class Result {
object TagExists : Result()
object Success : Result()
}
/**
* Returns true if a tag with the given name already exists.
*/
private fun tagExists(name: String): Boolean {
return getSortTag.await().any { it.equals(name) }
}
companion object {
fun encodeTag(index: Int, tag: String) = "$index|${tag.trim()}"
}
}
@@ -0,0 +1,12 @@
package eu.kanade.domain.manga.interactor
import tachiyomi.domain.manga.repository.MangaMergeRepository
class DeleteByMergeId(
private val mangaMergeRepository: MangaMergeRepository,
) {
suspend fun await(id: Long) {
return mangaMergeRepository.deleteByMergeId(id)
}
}
@@ -0,0 +1,12 @@
package eu.kanade.domain.manga.interactor
import tachiyomi.domain.manga.repository.FavoritesEntryRepository
class DeleteFavoriteEntries(
private val favoriteEntryRepository: FavoritesEntryRepository,
) {
suspend fun await() {
return favoriteEntryRepository.deleteAll()
}
}
@@ -0,0 +1,12 @@
package eu.kanade.domain.manga.interactor
import tachiyomi.domain.manga.repository.MangaRepository
class DeleteMangaById(
private val mangaRepository: MangaRepository,
) {
suspend fun await(id: Long) {
return mangaRepository.deleteManga(id)
}
}
@@ -0,0 +1,12 @@
package eu.kanade.domain.manga.interactor
import tachiyomi.domain.manga.repository.MangaMergeRepository
class DeleteMergeById(
private val mangaMergeRepository: MangaMergeRepository,
) {
suspend fun await(id: Long) {
return mangaMergeRepository.deleteById(id)
}
}
@@ -0,0 +1,17 @@
package eu.kanade.domain.manga.interactor
import eu.kanade.domain.library.service.LibraryPreferences
class DeleteSortTag(
private val preferences: LibraryPreferences,
private val getSortTag: GetSortTag,
) {
fun await(tag: String) {
preferences.sortTagsForLibrary().set(
(getSortTag.await() - tag).mapIndexed { index, s ->
CreateSortTag.encodeTag(index, s)
}.toSet(),
)
}
}
@@ -0,0 +1,13 @@
package eu.kanade.domain.manga.interactor
import tachiyomi.domain.manga.model.Manga
import tachiyomi.domain.manga.repository.MangaRepository
class GetAllManga(
private val mangaRepository: MangaRepository,
) {
suspend fun await(): List<Manga> {
return mangaRepository.getAll()
}
}
@@ -0,0 +1,13 @@
package eu.kanade.domain.manga.interactor
import tachiyomi.domain.manga.model.Manga
import tachiyomi.domain.manga.repository.MangaRepository
class GetDuplicateLibraryManga(
private val mangaRepository: MangaRepository,
) {
suspend fun await(title: String): Manga? {
return mangaRepository.getDuplicateLibraryManga(title.lowercase())
}
}
@@ -0,0 +1,13 @@
package eu.kanade.domain.manga.interactor
import tachiyomi.domain.manga.model.Manga
import tachiyomi.domain.manga.repository.MangaMetadataRepository
class GetExhFavoriteMangaWithMetadata(
private val mangaMetadataRepository: MangaMetadataRepository,
) {
suspend fun await(): List<Manga> {
return mangaMetadataRepository.getExhFavoriteMangaWithMetadata()
}
}
@@ -0,0 +1,13 @@
package eu.kanade.domain.manga.interactor
import tachiyomi.domain.manga.model.FavoriteEntry
import tachiyomi.domain.manga.repository.FavoritesEntryRepository
class GetFavoriteEntries(
private val favoriteEntryRepository: FavoritesEntryRepository,
) {
suspend fun await(): List<FavoriteEntry> {
return favoriteEntryRepository.selectAll()
}
}
@@ -0,0 +1,18 @@
package eu.kanade.domain.manga.interactor
import kotlinx.coroutines.flow.Flow
import tachiyomi.domain.manga.model.Manga
import tachiyomi.domain.manga.repository.MangaRepository
class GetFavorites(
private val mangaRepository: MangaRepository,
) {
suspend fun await(): List<Manga> {
return mangaRepository.getFavorites()
}
fun subscribe(sourceId: Long): Flow<List<Manga>> {
return mangaRepository.getFavoritesBySourceId(sourceId)
}
}
@@ -0,0 +1,45 @@
package eu.kanade.domain.manga.interactor
import eu.kanade.tachiyomi.source.online.MetadataSource
import exh.metadata.metadata.base.FlatMetadata
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.combine
import logcat.LogPriority
import tachiyomi.core.util.system.logcat
import tachiyomi.domain.manga.repository.MangaMetadataRepository
class GetFlatMetadataById(
private val mangaMetadataRepository: MangaMetadataRepository,
) : MetadataSource.GetFlatMetadataById {
override suspend fun await(id: Long): FlatMetadata? {
return try {
val meta = mangaMetadataRepository.getMetadataById(id)
return if (meta != null) {
val tags = mangaMetadataRepository.getTagsById(id)
val titles = mangaMetadataRepository.getTitlesById(id)
FlatMetadata(meta, tags, titles)
} else {
null
}
} catch (e: Exception) {
logcat(LogPriority.ERROR, e)
null
}
}
fun subscribe(id: Long): Flow<FlatMetadata?> {
return combine(
mangaMetadataRepository.subscribeMetadataById(id),
mangaMetadataRepository.subscribeTagsById(id),
mangaMetadataRepository.subscribeTitlesById(id),
) { meta, tags, titles ->
if (meta != null) {
FlatMetadata(meta, tags, titles)
} else {
null
}
}
}
}
@@ -0,0 +1,12 @@
package eu.kanade.domain.manga.interactor
import tachiyomi.domain.manga.repository.MangaMetadataRepository
class GetIdsOfFavoriteMangaWithMetadata(
private val mangaMetadataRepository: MangaMetadataRepository,
) {
suspend fun await(): List<Long> {
return mangaMetadataRepository.getIdsOfFavoriteMangaWithMetadata()
}
}
@@ -0,0 +1,30 @@
package eu.kanade.domain.manga.interactor
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.onEach
import kotlinx.coroutines.flow.retry
import tachiyomi.domain.library.model.LibraryManga
import tachiyomi.domain.manga.repository.MangaRepository
class GetLibraryManga(
private val mangaRepository: MangaRepository,
) {
suspend fun await(): List<LibraryManga> {
return mangaRepository.getLibraryManga()
}
fun subscribe(): Flow<List<LibraryManga>> {
return mangaRepository.getLibraryMangaAsFlow()
// SY -->
.let {
var retries = 0
it.retry {
(retries++ < 3) && it is NullPointerException
}.onEach {
retries = 0
}
}
// SY <--
}
}
@@ -0,0 +1,40 @@
package eu.kanade.domain.manga.interactor
import eu.kanade.tachiyomi.source.online.MetadataSource
import kotlinx.coroutines.flow.Flow
import logcat.LogPriority
import tachiyomi.core.util.system.logcat
import tachiyomi.domain.manga.model.Manga
import tachiyomi.domain.manga.repository.MangaRepository
class GetManga(
private val mangaRepository: MangaRepository,
) : MetadataSource.GetMangaId {
suspend fun await(id: Long): Manga? {
return try {
mangaRepository.getMangaById(id)
} catch (e: Exception) {
logcat(LogPriority.ERROR, e)
null
}
}
suspend fun subscribe(id: Long): Flow<Manga> {
return mangaRepository.getMangaByIdAsFlow(id)
}
fun subscribe(url: String, sourceId: Long): Flow<Manga?> {
return mangaRepository.getMangaByUrlAndSourceIdAsFlow(url, sourceId)
}
// SY -->
suspend fun await(url: String, sourceId: Long): Manga? {
return mangaRepository.getMangaByUrlAndSourceId(url, sourceId)
}
override suspend fun awaitId(url: String, sourceId: Long): Long? {
return await(url, sourceId)?.id
}
// SY <--
}
@@ -0,0 +1,13 @@
package eu.kanade.domain.manga.interactor
import tachiyomi.domain.manga.model.Manga
import tachiyomi.domain.manga.repository.MangaRepository
class GetMangaBySource(
private val mangaRepository: MangaRepository,
) {
suspend fun await(sourceId: Long): List<Manga> {
return mangaRepository.getMangaBySourceId(sourceId)
}
}
@@ -0,0 +1,31 @@
package eu.kanade.domain.manga.interactor
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.combine
import tachiyomi.domain.chapter.model.Chapter
import tachiyomi.domain.chapter.repository.ChapterRepository
import tachiyomi.domain.manga.model.Manga
import tachiyomi.domain.manga.repository.MangaRepository
class GetMangaWithChapters(
private val mangaRepository: MangaRepository,
private val chapterRepository: ChapterRepository,
) {
suspend fun subscribe(id: Long): Flow<Pair<Manga, List<Chapter>>> {
return combine(
mangaRepository.getMangaByIdAsFlow(id),
chapterRepository.getChapterByMangaIdAsFlow(id),
) { manga, chapters ->
Pair(manga, chapters)
}
}
suspend fun awaitManga(id: Long): Manga {
return mangaRepository.getMangaById(id)
}
suspend fun awaitChapters(id: Long): List<Chapter> {
return chapterRepository.getChapterByMangaId(id)
}
}
@@ -0,0 +1,25 @@
package eu.kanade.domain.manga.interactor
import kotlinx.coroutines.flow.Flow
import logcat.LogPriority
import tachiyomi.core.util.system.logcat
import tachiyomi.domain.manga.model.Manga
import tachiyomi.domain.manga.repository.MangaMergeRepository
class GetMergedManga(
private val mangaMergeRepository: MangaMergeRepository,
) {
suspend fun await(): List<Manga> {
return try {
mangaMergeRepository.getMergedManga()
} catch (e: Exception) {
logcat(LogPriority.ERROR, e)
emptyList()
}
}
suspend fun subscribe(): Flow<List<Manga>> {
return mangaMergeRepository.subscribeMergedManga()
}
}
@@ -0,0 +1,25 @@
package eu.kanade.domain.manga.interactor
import kotlinx.coroutines.flow.Flow
import logcat.LogPriority
import tachiyomi.core.util.system.logcat
import tachiyomi.domain.manga.model.Manga
import tachiyomi.domain.manga.repository.MangaMergeRepository
class GetMergedMangaById(
private val mangaMergeRepository: MangaMergeRepository,
) {
suspend fun await(id: Long): List<Manga> {
return try {
mangaMergeRepository.getMergedMangaById(id)
} catch (e: Exception) {
logcat(LogPriority.ERROR, e)
emptyList()
}
}
suspend fun subscribe(id: Long): Flow<List<Manga>> {
return mangaMergeRepository.subscribeMergedMangaById(id)
}
}
@@ -0,0 +1,13 @@
package eu.kanade.domain.manga.interactor
import tachiyomi.domain.manga.model.Manga
import tachiyomi.domain.manga.repository.MangaMergeRepository
class GetMergedMangaForDownloading(
private val mangaMergeRepository: MangaMergeRepository,
) {
suspend fun await(mergeId: Long): List<Manga> {
return mangaMergeRepository.getMergeMangaForDownloading(mergeId)
}
}
@@ -0,0 +1,25 @@
package eu.kanade.domain.manga.interactor
import kotlinx.coroutines.flow.Flow
import logcat.LogPriority
import tachiyomi.core.util.system.logcat
import tachiyomi.domain.manga.model.MergedMangaReference
import tachiyomi.domain.manga.repository.MangaMergeRepository
class GetMergedReferencesById(
private val mangaMergeRepository: MangaMergeRepository,
) {
suspend fun await(id: Long): List<MergedMangaReference> {
return try {
mangaMergeRepository.getReferencesById(id)
} catch (e: Exception) {
logcat(LogPriority.ERROR, e)
emptyList()
}
}
suspend fun subscribe(id: Long): Flow<List<MergedMangaReference>> {
return mangaMergeRepository.subscribeReferencesById(id)
}
}
@@ -0,0 +1,52 @@
package eu.kanade.domain.manga.interactor
import eu.kanade.domain.chapter.interactor.GetChapterByMangaId
import eu.kanade.domain.chapter.model.toSChapter
import eu.kanade.domain.manga.model.PagePreview
import eu.kanade.domain.manga.model.toSManga
import eu.kanade.tachiyomi.data.cache.PagePreviewCache
import eu.kanade.tachiyomi.source.PagePreviewSource
import eu.kanade.tachiyomi.source.Source
import exh.source.getMainSource
import tachiyomi.domain.manga.model.Manga
class GetPagePreviews(
private val pagePreviewCache: PagePreviewCache,
private val getChapters: GetChapterByMangaId,
) {
suspend fun await(manga: Manga, source: Source, page: Int): Result {
@Suppress("NAME_SHADOWING")
val source = source.getMainSource<PagePreviewSource>() ?: return Result.Unused
val chapters = getChapters.await(manga.id).sortedByDescending { it.sourceOrder }
val chapterIds = chapters.map { it.id }
return try {
val pagePreviews = try {
pagePreviewCache.getPageListFromCache(manga, chapterIds, page)
} catch (e: Exception) {
source.getPagePreviewList(manga.toSManga(), chapters.map { it.toSChapter() }, page).also {
pagePreviewCache.putPageListToCache(manga, chapterIds, it)
}
}
Result.Success(
pagePreviews.pagePreviews.map {
PagePreview(it.index, it.imageUrl, source.id)
},
pagePreviews.hasNextPage,
pagePreviews.pagePreviewPages,
)
} catch (e: Exception) {
Result.Error(e)
}
}
sealed class Result {
object Unused : Result()
data class Success(
val pagePreviews: List<PagePreview>,
val hasNextPage: Boolean,
val pageCount: Int?,
) : Result()
data class Error(val error: Throwable) : Result()
}
}
@@ -0,0 +1,17 @@
package eu.kanade.domain.manga.interactor
import exh.metadata.sql.models.SearchMetadata
import tachiyomi.domain.manga.repository.MangaMetadataRepository
class GetSearchMetadata(
private val mangaMetadataRepository: MangaMetadataRepository,
) {
suspend fun await(mangaId: Long): SearchMetadata? {
return mangaMetadataRepository.getMetadataById(mangaId)
}
suspend fun await(): List<SearchMetadata> {
return mangaMetadataRepository.getSearchMetadata()
}
}
@@ -0,0 +1,13 @@
package eu.kanade.domain.manga.interactor
import exh.metadata.sql.models.SearchTag
import tachiyomi.domain.manga.repository.MangaMetadataRepository
class GetSearchTags(
private val mangaMetadataRepository: MangaMetadataRepository,
) {
suspend fun await(mangaId: Long): List<SearchTag> {
return mangaMetadataRepository.getTagsById(mangaId)
}
}
@@ -0,0 +1,13 @@
package eu.kanade.domain.manga.interactor
import exh.metadata.sql.models.SearchTitle
import tachiyomi.domain.manga.repository.MangaMetadataRepository
class GetSearchTitles(
private val mangaMetadataRepository: MangaMetadataRepository,
) {
suspend fun await(mangaId: Long): List<SearchTitle> {
return mangaMetadataRepository.getTitlesById(mangaId)
}
}
@@ -0,0 +1,29 @@
package eu.kanade.domain.manga.interactor
import eu.kanade.domain.library.service.LibraryPreferences
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.map
class GetSortTag(private val preferences: LibraryPreferences) {
fun subscribe(): Flow<List<String>> {
return preferences.sortTagsForLibrary().changes()
.map(::mapSortTags)
}
fun await() = getSortTags(preferences).let(::mapSortTags)
companion object {
fun getSortTags(preferences: LibraryPreferences) = preferences.sortTagsForLibrary().get()
fun mapSortTags(tags: Set<String>) = tags.mapNotNull {
val index = it.indexOf('|')
if (index != -1) {
(it.substring(0, index).toIntOrNull() ?: return@mapNotNull null) to it.substring(index + 1)
} else {
null
}
}
.sortedBy { it.first }.map { it.second }
}
}

Some files were not shown because too many files have changed in this diff Show More