Compare commits

..

3450 Commits

Author SHA1 Message Date
4bb24ffd95
Initial Improvements:
Trust all extensions
Remove rate limits
Re add 1, 3, 6 and 8 hour intervals
2025-07-23 20:23:32 +01:00
Jobobby04
a76fe20b0b
Fix notification settings under api 26 2025-07-23 19:02:20 +01:00
Jobobby04
1f8ac9d7a0
Add id to staff-edges 2025-07-23 19:02:20 +01:00
Jobobby04
8330405377
Remove +1 in Page Layout reader settings 2025-07-23 19:02:20 +01:00
f3e1fb7664
update gitignore 2025-05-30 17:15:05 +01:00
Jobobby04
cc934607c8 SpotlessApply 2025-05-24 21:07:29 -04:00
Weblate (bot)
5074e68b9c
Translations update from Hosted Weblate (#1442)
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy-plurals/ar/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy-plurals/my/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy-plurals/vi/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/ar/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/de/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/es/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/fil/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/fr/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/id/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/it/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/ja/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/ne/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/ru/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/tr/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/uk/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/zh_Hant/
Translation: Mihon/TachiyomiSY
Translation: Mihon/TachiyomiSY Plurals

Co-authored-by: Alex Maryson Jr <akamar87@gmail.com>
Co-authored-by: B4LiN7 <87660017+B4LiN7@users.noreply.github.com>
Co-authored-by: Dexroneum <Rozhenkov69@gmail.com>
Co-authored-by: FateXBlood <fatexblood@gmail.com>
Co-authored-by: Frosted <frosted@users.noreply.hosted.weblate.org>
Co-authored-by: Hualiang <642615676@qq.com>
Co-authored-by: Infy's Tagalog Translations <ced.paltep10@gmail.com>
Co-authored-by: Kosťantin Horovij <lg096066587039@gmail.com>
Co-authored-by: Lapis (Bas77) <sebastianramli77@gmail.com>
Co-authored-by: LordTenebrous <danielmorenoperez836@gmail.com>
Co-authored-by: Mohamed kh <mohamedkhamekhami@gmail.com>
Co-authored-by: Sky children of the Light <tu25261@gmail.com>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: ZerOriSama <godarms2010@live.com>
Co-authored-by: akir45 <akkn0708@gmail.com>
Co-authored-by: edgole <test.backache009@aleeas.com>
Co-authored-by: fl0k1 <michele.carnova@gmail.com>
Co-authored-by: naikhon <naikhon5@gmail.com>
Co-authored-by: qaugji <asteeky9@gmail.com>
Co-authored-by: ɴᴇᴋᴏ <s99095lkjjim@gmail.com>
Co-authored-by: Георгій Обушенков <heorhii.obushenkov@gmail.com>
Co-authored-by: ابومسلم <linuxmint1978@gmail.com>
2025-05-24 20:47:35 -04:00
多能豆
ade41f113d
Fix E-Hentai Jump/Seek match for detailed date (#1450) 2025-05-24 20:44:55 -04:00
Jobobby04
95dc82594f More guards against edited data 2025-05-24 20:44:27 -04:00
NGB-Was-Taken
80e585fa91
Change log file extension to .txt (#1449) 2025-05-24 20:19:17 -04:00
Jobobby04
9f110f9db8 Bump version so migation actually runs 2025-05-24 20:18:14 -04:00
NGB-Was-Taken
71470b9e02
Remove the unused mark duplicate as read preference. (#1448)
* Remove the unused mark duplicate as read preference.

* Migrate the old preference to new preference
2025-05-24 20:16:44 -04:00
renovate[bot]
4fd24accac
Update dependency net.zetetic:sqlcipher-android to v4.9.0 (#1447)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-24 20:15:17 -04:00
NGB-Was-Taken
31312fecac
Fixes screen staying on in library tab. (#1451) 2025-05-24 20:13:43 -04:00
Mend Renovate
b80d057922 Update dependency androidx.compose:compose-bom to v2025.05.01 (#2133)
(cherry picked from commit 92b376d9af93da988b695c36c4775d5e6947c048)
2025-05-24 20:12:57 -04:00
Mend Renovate
f01d8bc835 Update dependency gradle to v8.14.1 (#2138)
(cherry picked from commit 1a2f09a622017dc5b201eadc6acc667487cf3d4d)
2025-05-24 20:12:48 -04:00
Jobobby04
ddffe71a22 SpotlessApply 2025-05-24 20:12:38 -04:00
AntsyLich
649a19ec57 Fix content cut off in home screen
Closes #2141

(cherry picked from commit 209e982fe4f1da5d1d49cfbfdd178625ee3c70f4)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/home/HomeScreen.kt
2025-05-24 20:10:18 -04:00
Mend Renovate
e82fd99a09 Update plugin org.gradle.toolchains.foojay-resolver-convention to v1 (#2130)
(cherry picked from commit 0109102901f942502807e2a7a9f1a58f951c763f)
2025-05-24 20:09:57 -04:00
Mend Renovate
67a9b8e2a0 Update dependency com.pinterest.ktlint:ktlint-cli to v1.6.0 (#2129)
(cherry picked from commit 4117a5167470ae36b4172721b4e4d40373f2a3c6)
2025-05-24 20:09:51 -04:00
Mend Renovate
2000f947c3 Update xml.serialization.version to v0.91.1 (#2112)
(cherry picked from commit 4090a61d08964a8e82f943ac4eb81a52c110005f)
2025-05-24 20:09:45 -04:00
Jobobby04
f992ada0a8 SpotlessApply 2025-05-16 21:16:09 -04:00
Jobobby04
f876cdb037 Use MediaServer in Json for NHentai
Co-authored-by: 4521 <18432684+az4521@users.noreply.github.com>
2025-05-16 20:34:03 -04:00
Jobobby04
f919d42370 Hello Discord 2025-05-16 12:02:37 -04:00
Mend Renovate
ab5ff00c39 Update kotlin monorepo to v2.1.21 (#2102)
(cherry picked from commit 625c85cbd68086d605553b2d5ab9cc9cc9460688)
2025-05-15 13:50:17 -04:00
Mend Renovate
422738af56 Update dependency org.jetbrains.kotlinx:kotlinx-collections-immutable to v0.4.0 (#2104)
(cherry picked from commit 737ceeea576074cffcd2e96933aceffdbcc0a03a)
2025-05-15 13:50:08 -04:00
Mend Renovate
81751fc9ce Update dependency io.coil-kt.coil3:coil-bom to v3.2.0 (#2101)
(cherry picked from commit 7933c9eeb7b28ecc2ae31fa337654a80f2371b85)
2025-05-15 13:49:58 -04:00
Jobobby04
9b6c5effc9 Minor refactors 2025-05-15 13:38:03 -04:00
Jobobby04
129841d5c2 SpotlessApply and up version code due to database migration 2025-05-11 20:23:10 -04:00
AntsyLich
24d2460697 Disable reader's 'Keep screen on' setting by default (#2095)
(cherry picked from commit f0de8f973b331ebad6e1844aea7864f97f237941)

# Conflicts:
#	CHANGELOG.md
2025-05-11 20:18:36 -04:00
AntsyLich
ef3d9626c1 Add full predictive back support (#2085)
Co-authored-by: p
(cherry picked from commit c12bdbae8e7bc14da8966e45a3c450913e32129f)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/components/MangaCoverDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/home/HomeScreen.kt
2025-05-11 20:18:11 -04:00
Mend Renovate
5c7b3c6c3b Update markdown to v0.34.0 (#2086)
(cherry picked from commit 33d407ee9c2196f25aaee0978b6808b9c393841e)
2025-05-11 20:10:50 -04:00
AntsyLich
6257888735 Update voyager to v1.1.0-beta03 (#2087)
(cherry picked from commit ef8c3ca119dfbdfcb0588bde080a7c6203133024)
2025-05-11 20:10:43 -04:00
FlaminSarge
f5e714f794 Add advanced option to always update manga title from source (#1182)
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit 8b45ef0e5d5d368e0925df9816ae423defaed4d9)

# Conflicts:
#	CHANGELOG.md
#	app/src/main/java/eu/kanade/domain/manga/interactor/UpdateManga.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt
2025-05-11 20:10:28 -04:00
AwkwardPeak7
3091f63504 Fix pressing Enter while searching also triggering navigation back on physical keyboards (#2077)
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit 86ebf5581598f28feab4090ac3bf627f54b511d7)

# Conflicts:
#	CHANGELOG.md
2025-05-11 20:00:59 -04:00
Mend Renovate
39755cccdc Update lifecycle.version to v2.9.0 (#2080)
(cherry picked from commit ddf282b10364fc71c5af4cfe77684a8ac0beaa5c)
2025-05-11 20:00:40 -04:00
Mend Renovate
9caf706ca3 Update sqlite to v2.5.1 (#2078)
(cherry picked from commit 744b809d458ba1bfee923f76493505768c261231)
2025-05-11 20:00:32 -04:00
Mend Renovate
6ba6a7c8d9 Update dependency androidx.compose:compose-bom to v2025.05.00 (#2079)
(cherry picked from commit cd2ce44efafbaf19e43ba342d417e4d553a8a0d7)
2025-05-11 20:00:26 -04:00
Mend Renovate
0a4a0e4c4c Update dependency com.android.tools.build:gradle to v8.10.0 (#2072)
(cherry picked from commit cae7c3dc588055dee5c9a99c331710e038b17794)
2025-05-11 20:00:19 -04:00
Mend Renovate
b48d1e521a Update aboutlib.version to v12.1.2 (#2073)
(cherry picked from commit c0074402e7cc5917272459e7ebfb269e11af4c76)
2025-05-11 20:00:08 -04:00
AntsyLich
211d090a2d Add autofill support to tracker login dialog and update processing text (#2069)
(cherry picked from commit 7deeabe844d41d2b5e918ad747ddd548163c9fe3)

# Conflicts:
#	CHANGELOG.md
2025-05-11 19:59:44 -04:00
AntsyLich
b6e5943e15 Fix downloader stopping after failing to create download directory of a manga (#2068)
(cherry picked from commit 536393a6d9941fac282f10b825aa611b91e1fcdb)

# Conflicts:
#	CHANGELOG.md
#	app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt
2025-05-11 19:59:22 -04:00
AntsyLich
78f6a34339 Fix Pill not following the local text style
Closes #2009

(cherry picked from commit f8cb506137a3619f828dac94557b5448b2a7fa24)

# Conflicts:
#	CHANGELOG.md
2025-05-11 19:48:31 -04:00
AntsyLich
de967ae149 Cleanup MarkdownRender
Co-authored-by: p
(cherry picked from commit 98230ed30f04fe754fd4bd407356c8c03d8d8719)
2025-05-11 19:48:04 -04:00
Mend Renovate
4d075ff190 Update dependency androidx.compose:compose-bom to v2025.04.01 (#2040)
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit d721a4321bdc6fafdd32e7bfd451b61b2bdd66b7)
2025-05-11 19:47:58 -04:00
Mend Renovate
076e2961c6 Update aboutlib.version to v12.1.0 (#2052)
(cherry picked from commit 1ac4b72cfe09be10cbde45633fbd84ffd703fc70)
2025-05-11 19:47:52 -04:00
Mend Renovate
7149de1bc3 Update dependency io.mockk:mockk to v1.14.2 (#2057)
(cherry picked from commit 9331f2b93f907bf3f7c95eb850b5befce90b68c6)
2025-05-11 19:47:42 -04:00
Mend Renovate
091f2f583a Update dependency org.jsoup:jsoup to v1.20.1 (#2058)
(cherry picked from commit 99c2a999735e04d026b937b953cdd5f19b2e7b1f)
2025-05-11 19:47:36 -04:00
Mend Renovate
1c0ef2ca98 Update aboutlib.version (#2046)
(cherry picked from commit 001716e34b0c533cfd0318be5048d32bc107931b)
2025-05-11 19:47:29 -04:00
NarwhalHorns
2a845bd7b5 Fix empty layout not appearing in browse source screen in some cases (#2043)
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit 37e19edf8a5f6a15a95f160390cbcf22d8133380)

# Conflicts:
#	CHANGELOG.md
#	app/src/main/java/eu/kanade/presentation/browse/BrowseSourceScreen.kt
2025-05-11 19:47:22 -04:00
AntsyLich
afe326006f Switch default user agent to Android Chrome (#2048)
(cherry picked from commit 8b7f35598833917c89f8ae53cca10578fd880d67)

# Conflicts:
#	CHANGELOG.md
2025-05-11 19:44:45 -04:00
Mend Renovate
4b80154b09 Update dependency com.google.firebase:firebase-bom to v33.13.0 (#2047)
(cherry picked from commit 0b777336739b6f91ebfe45772c2f139d4e60c555)
2025-05-11 19:44:30 -04:00
Mend Renovate
d6b230b8f1 Update dependency androidx.work:work-runtime to v2.10.1 (#2041)
(cherry picked from commit 9be558d6c0e0e81c1f37fc3d01b19872879f2daa)
2025-05-11 19:44:23 -04:00
Mend Renovate
d02a2cbd29 Update dependency gradle to v8.14 (#2049)
(cherry picked from commit 0c8c5dbba6bf60fbc4e3e4dad912e2be8ce25a79)
2025-05-11 19:44:17 -04:00
AntsyLich
17d225b0d9 Fix crash when trying use source sort filter without a pre-selection (#2036)
(cherry picked from commit 1c982c2a01c1bba5ec4a955c9bf61cb346c752e7)

# Conflicts:
#	CHANGELOG.md
2025-05-11 19:44:10 -04:00
Mend Renovate
6cbbaccaf4 Update dependency com.android.tools.build:gradle to v8.9.2 (#2033)
(cherry picked from commit eeab61fc94e1a9486eba42fd79a8169473ab6fde)
2025-05-11 19:43:51 -04:00
Mend Renovate
94cc4027c2 Update aboutlib.version to v12 (major) (#2016)
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit a036407c75d83ef0ba5350cb1825b615361316c3)
2025-05-11 19:43:44 -04:00
AntsyLich
03ae6ed2b0 Update dependency com.mohamedrejeb.richeditor:richeditor-compose to v1.0.0-rc11
(cherry picked from commit 615d93f780b415e505fb2159f4cbdf4694749f82)
2025-05-11 19:43:35 -04:00
AntsyLich
fa8c232a69 Fix content under source browse screen top appbar is interactable (#2026)
(cherry picked from commit 9750c1e4bd6b931e71b7b348abbe2638a8cf317b)

# Conflicts:
#	CHANGELOG.md
2025-05-11 19:43:27 -04:00
Secozzi
0386ce998a Update markdown to 0.33.0 and tweak visuals (#2024)
- Update markdown to 0.33.0
- Use github flavour for github changelog
- Fix bullet list alignment

(cherry picked from commit e2915a1f69340cad515962de8a0b9d11ecff8d42)

# Conflicts:
#	CHANGELOG.md
2025-05-11 19:43:12 -04:00
AwkwardPeak7
273f73e9a2 Remove Okhttp networking from WebView Screen (#2020)
(cherry picked from commit df2b4c754bab9dd96fe2199b9f6df62d87b7175e)

# Conflicts:
#	CHANGELOG.md
2025-05-11 19:42:33 -04:00
KokaKiwi
5e20e54649 Fix reader not updating progress (#2007)
The condition for updating progress is wrong since fefa8f84982b537ca930438f7976087844d5bb9c

(cherry picked from commit 6632a122288cc9733844c8dce1ee51b520c0a32e)
2025-05-11 19:42:06 -04:00
Joseph Madamba
b8c3f9dcce Update Facebook and Reddit icon (#1994)
(cherry picked from commit 0cb1925cf158155665f3173bccb93f39d84b71e0)

# Conflicts:
#	CHANGELOG.md
2025-05-11 19:41:59 -04:00
ArthurKun
802b6508fa Replace Modifier.composed with Composable Modifier (#1959)
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit a31b3b7bbf2c5164baf76ac4b36f1d27c5d43135)
2025-05-11 19:41:36 -04:00
AwkwardPeak7
b6409b05e7 Include source headers when opening failed images from reader (#2004)
(cherry picked from commit fea85241afac5a849aa418d01710f5cdc0c25b54)

# Conflicts:
#	CHANGELOG.md
2025-05-11 19:41:27 -04:00
Secozzi
129f355b9c Use simpler markdown flavour in manga description (#2000)
(cherry picked from commit e273a26c9b7f0a9dd9f8847cfc65e69453fa5905)

# Conflicts:
#	CHANGELOG.md
2025-05-11 19:41:01 -04:00
AwkwardPeak7
9ffacb80e3 Fix duplicate requests in WebView due to empty reasonPhrase (#2003)
(cherry picked from commit 818e6931c6bc89e0bb111e77418542a88f8db37c)

# Conflicts:
#	CHANGELOG.md
2025-05-11 19:40:27 -04:00
AwkwardPeak7
85726db45d Add option to keep read manga when clearing database (#1979)
(cherry picked from commit ecc6ede0815a89b7f8288e47c607c57bacc47e71)

# Conflicts:
#	CHANGELOG.md
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/advanced/ClearDatabaseScreen.kt
#	data/src/main/sqldelight/tachiyomi/data/mangas.sq
2025-05-11 19:40:06 -04:00
AwkwardPeak7
746b1b051c Surface image loading error in Reader (#1981)
(cherry picked from commit fefa8f84982b537ca930438f7976087844d5bb9c)

# Conflicts:
#	CHANGELOG.md
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt
2025-05-11 19:36:53 -04:00
AwkwardPeak7
59887eed80 Change Page.State to sealed interface (#1988)
(cherry picked from commit f1e2efcb37e2c623b769e979fa1c7e9e5ad7117d)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/ArchivePageLoader.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/EpubPageLoader.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/HttpPageLoader.kt
2025-05-11 19:35:07 -04:00
Mend Renovate
b8267f1fef Update dependency androidx.core:core-ktx to v1.16.0 (#1990)
(cherry picked from commit 180318f57d82529c0040a2d310a679a493d2b9f3)
2025-05-11 19:12:53 -04:00
Mend Renovate
8c62bb6d6d Update plugin org.gradle.toolchains.foojay-resolver-convention to v0.10.0 (#1992)
(cherry picked from commit ed749de8066ac056bc0caa505739f1b7e45dea48)
2025-05-11 19:12:46 -04:00
Mend Renovate
751e04b87f Update markdown to v0.33.0-rc01 (#1999)
(cherry picked from commit bb33b0029ef630a609dd160ed278d5e8274f316d)
2025-05-11 19:12:40 -04:00
Mend Renovate
9f0161ed70 Update dependency androidx.compose:compose-bom to v2025.04.00 (#1989)
(cherry picked from commit 3a19e449b13c078d7c0b5762f0ba84a162cc7f71)
2025-05-11 19:12:33 -04:00
Mend Renovate
7b2c341386 Update dependency com.squareup.okio:okio to v3.11.0 (#1991)
(cherry picked from commit 818edf2776fd7706cd1a829a6bdc963a436f06d6)
2025-05-11 19:12:22 -04:00
Mend Renovate
c8b29ecf1c Update dependency io.mockk:mockk to v1.14.0 (#1987)
(cherry picked from commit 47d2646751d40a155724f658ba6461e8a2d57aad)
2025-05-11 19:12:15 -04:00
Mend Renovate
c30381c6ec Update dependency androidx.sqlite:sqlite-framework to v2.5.0 (#1986)
(cherry picked from commit a1a7d67afb16cc206f1d6c6d47da52b7705a417d)
2025-05-11 19:12:08 -04:00
Mend Renovate
f489531543 Update dependency com.diffplug.spotless:spotless-plugin-gradle to v7.0.3 (#1977)
(cherry picked from commit 2090a380e0e9ab4f74fd2e5e74e6c2807e96f23d)
2025-05-11 19:12:01 -04:00
Mend Renovate
4bbe795626 Update dependency org.jetbrains.kotlinx:kotlinx-coroutines-bom to v1.10.2 (#1978)
(cherry picked from commit 8e5cfe9d0acf854c9387ed3405f0fe3cc9140733)
2025-05-11 19:11:54 -04:00
Cuong-Tran
8aa3dca95f Fix navigation issue after migrating a duplicated entry from History tab
(cherry picked from commit d9c4b56336c21db96a835630a48c46ee7a480342)

# Conflicts:
#	CHANGELOG.md
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt
2025-05-11 19:11:40 -04:00
NarwhalHorns
5e0f730159 Display total chapters on duplicates list items (#1963)
(cherry picked from commit 12abd9938b7c235d6a1c02391624703476c1f339)

# Conflicts:
#	CHANGELOG.md
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
#	data/src/main/java/tachiyomi/data/manga/MangaMapper.kt
2025-05-11 19:03:47 -04:00
Mend Renovate
f1aed0d8b9 Update dependency androidx.compose:compose-bom to v2025.03.01 (#1927)
(cherry picked from commit c1225a5ef96f5f77bd337e0481935cbef75cc711)
2025-05-11 18:57:57 -04:00
AntsyLich
a3465c31c9 Update non-library manga data when browsing (#1967)
(cherry picked from commit a594ad392d4793f3a5cb2b709d29b2feab6120d3)

# Conflicts:
#	CHANGELOG.md
2025-05-11 18:57:50 -04:00
Mend Renovate
053c48613b Update xml.serialization.version to v0.91.0 (#1956)
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit 80de0328190bd3adac8e034c420e6a91d3d7cfc9)
2025-05-11 18:55:30 -04:00
NarwhalHorns
615adc567b Display all similarly named duplicates in duplicate manga dialogue (#1861)
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit 0d35b6fdafbf5451a2743ea9bcfc735bf49374a7)

# Conflicts:
#	CHANGELOG.md
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/history/HistoryTab.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
2025-05-11 18:14:26 -04:00
AntsyLich
b0f645d906 Deduplicate entries when browsing (#1957)
(cherry picked from commit f81da3dcce9afba883b6a3accdd3bf4ea21cfa81)

# Conflicts:
#	CHANGELOG.md
#	data/src/main/java/tachiyomi/data/source/SourcePagingSource.kt
2025-05-11 18:05:21 -04:00
Mend Renovate
023c78d0e8 Update serialization.version to v1.8.1 (#1953)
(cherry picked from commit 2ce9fa0271c16449475adb07eb6338a497e11e3c)
2025-05-11 17:58:51 -04:00
AntsyLich
824550175a Remove feature flag from Nord theme (#1951)
(cherry picked from commit 5d2110f3fb1aa6b15f62af0dcd3378cfbe475b7a)

# Conflicts:
#	CHANGELOG.md
#	app/src/main/java/eu/kanade/domain/ui/model/AppTheme.kt
2025-05-11 17:32:37 -04:00
Secozzi
ad53c0de83 Add markdown support for manga descriptions (#1948)
(cherry picked from commit 4e68339783b47b0780e1b9aee643404339d35ed1)

# Conflicts:
#	CHANGELOG.md
#	gradle/libs.versions.toml
2025-05-11 17:31:41 -04:00
AntsyLich
c8039739d5 Significantly improve browsing speed (near instantaneous) (#1946)
(cherry picked from commit c8ffabc84a096207c1997ab69fc86176f3b53f00)

# Conflicts:
#	CHANGELOG.md
#	app/src/main/java/eu/kanade/domain/manga/model/Manga.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt
#	data/src/main/java/tachiyomi/data/manga/MangaRepositoryImpl.kt
#	data/src/main/java/tachiyomi/data/source/SourcePagingSource.kt
#	data/src/main/sqldelight/tachiyomi/data/mangas.sq
#	domain/src/main/java/tachiyomi/domain/manga/interactor/NetworkToLocalManga.kt
#	domain/src/main/java/tachiyomi/domain/manga/repository/MangaRepository.kt
#	domain/src/main/java/tachiyomi/domain/source/repository/SourceRepository.kt
2025-05-11 17:24:33 -04:00
Bartu Özen
26674136e6 Fix app bar action tooltips blocking clicks (#1928)
(cherry picked from commit 77e79233ab054d16bb5dc04a040d0d86a326136f)

# Conflicts:
#	CHANGELOG.md
2025-05-11 16:50:49 -04:00
AntsyLich
9972fa1053 Fix mark existing duplicate read chapters as read option not working in some cases (#1944)
(cherry picked from commit 8a21148578af3c1538e9ab2b1fe5bdf05b4e35c9)

# Conflicts:
#	CHANGELOG.md
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt
2025-05-11 16:50:02 -04:00
AntsyLich
ae3f974d8c Fix user notes not restoring when manga doesn't exist in DB (#1945)
(cherry picked from commit e91db86faef8d6b17961a1b73fbf07f0d2c8975d)

# Conflicts:
#	CHANGELOG.md
2025-05-11 16:44:09 -04:00
Mend Renovate
027f179a4b Update kotlin monorepo to v2.1.20 (#1883)
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit 556290f2d35f739bb4bddc012739acf10b92708d)
2025-05-11 16:43:30 -04:00
Mend Renovate
e80cb1795e Update dependency com.android.tools.build:gradle to v8.9.1 (#1913)
(cherry picked from commit 8b947919acde9932808e666b8bb6a2df9613a67f)
2025-05-11 16:43:22 -04:00
Mend Renovate
66fe599498 Update dependency androidx.benchmark:benchmark-macro-junit4 to v1.3.4 (#1926)
(cherry picked from commit b62a9b40eb8ecb4c0c9c861d66c9afc427bc6bbe)
2025-05-11 16:43:15 -04:00
AntsyLich
c9e6e321b3 Update editor config for 'sq' and 'sqm' file [skip ci]
(cherry picked from commit a6b532ee57d24e1ad83f1daea415cad1f313b49c)
2025-05-11 16:43:02 -04:00
kunet
fb3c996904 Add user manga notes (#428)
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit 8fbe630308b962043c7b59422878c94f80156e9f)

# Conflicts:
#	CHANGELOG.md
#	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/MangaToolbar.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/create/creators/MangaBackupCreator.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupManga.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/manga/MangaScreen.kt
#	data/src/main/sqldelight/tachiyomi/migrations/5.sqm
#	domain/src/main/java/tachiyomi/domain/manga/model/MangaUpdate.kt
2025-05-11 16:42:33 -04:00
perokhe
70b25825ec Fix page number not appearing when opening chapter (#1936)
(cherry picked from commit 132d77aa9947f891f90f1afcdcb24e20ce515438)

# Conflicts:
#	CHANGELOG.md
2025-05-11 16:26:43 -04:00
Cuong-Tran
290e8f5a1e Fix benchmark build (#1938)
(cherry picked from commit b00bbe91beb942f2ac18765be6c78b6f318cc66d)
2025-05-11 16:25:36 -04:00
Jayman Rana
f6b1440bf2 Fix backup sharing from notifications not working when app is in background (#1929)
(cherry picked from commit 3e5d3d099fed5feb6a6807196bea5fed72973fe9)

# Conflicts:
#	CHANGELOG.md
2025-05-11 16:25:27 -04:00
perokhe
77a4919656 Fix next chapter button occasionally jumping to the last page of the current chapter (#1920)
(cherry picked from commit 941dde341eb11703eadae543f351c9284617541c)

# Conflicts:
#	CHANGELOG.md
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerViewer.kt
2025-05-11 16:25:14 -04:00
Ian Hunter
84d901b8a3 Add more Kaomoji for empty/error screens (#1909)
(cherry picked from commit d4aaf6521e86e8509d3971854c46b8520cef7f59)

# Conflicts:
#	CHANGELOG.md
2025-05-11 16:22:24 -04:00
Mend Renovate
d27ed2580f Update dependency com.google.firebase:firebase-bom to v33.11.0 (#1890)
(cherry picked from commit f7046a503bea421a0310f8d2064888aea0a07d11)
2025-05-11 16:22:08 -04:00
MajorTanya
87ea971be0 Fix Bangumi search including novels (#1885)
(cherry picked from commit 953c4e7bc056ed8b9eebe1b111677a4616c4d694)

# Conflicts:
#	CHANGELOG.md
#	app/src/main/java/eu/kanade/tachiyomi/data/track/bangumi/dto/BGMSearch.kt
2025-05-11 16:22:01 -04:00
Weblate (bot)
91ea70b335 Translations update from Hosted Weblate (#1877)
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/uk/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ru/
Translation: Mihon/Mihon
Translation: Mihon/Mihon Plurals

Co-authored-by: Dexroneum <Rozhenkov69@gmail.com>
Co-authored-by: scb261 <scb261261@gmail.com>
(cherry picked from commit 1d6dc1e8b0de08af1370c04eff480e4555095c55)
2025-05-11 16:21:27 -04:00
AntsyLich
2e94e152c2 Use current time as build time for preview builds (#1876)
(cherry picked from commit 935f1fcf3f8e4f9da4774d932b65ae77b44cc773)

# Conflicts:
#	app/build.gradle.kts
2025-05-11 16:21:22 -04:00
Weblate (bot)
eece46fb0f Translations update from Hosted Weblate (#1550)
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/bn/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/fr/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/gl/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/he/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/hi/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/hu/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/kk/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/pl/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/ro/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/am/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/as/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/be/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/bg/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/bn/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ca/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ceb/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/cs/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/cv/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/de/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/el/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/eo/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/es/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/fil/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/fr/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/gl/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/hi/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/hr/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/hu/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/id/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/it/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ja/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ka/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/kk/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/km/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/kn/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/lt/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ml/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/mr/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/my/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ne/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/nl/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/nn/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/pl/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ro/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ru/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/sa/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/sah/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/sc/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/sk/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/sq/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/sv/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ta/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/th/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/tr/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/uz/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/vi/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/zh_Hant/
Translation: Mihon/Mihon
Translation: Mihon/Mihon Plurals

Co-authored-by: Abay Emes <abayemes@gmail.com>
Co-authored-by: Acelith <joel.jon@moix.me>
Co-authored-by: Ahmad Ansori Palembani <palembani@gmail.com>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Akhil Raj <akhilakae07@gmail.com>
Co-authored-by: C201 <derasetad@gmail.com>
Co-authored-by: Champ0999 <il.migliore0999@gmail.com>
Co-authored-by: Dexroneum <Rozhenkov69@gmail.com>
Co-authored-by: Doministo <doministo@seznam.cz>
Co-authored-by: Eduard Ereza Martínez <eduard@ereza.cat>
Co-authored-by: Eji-san <ejierubani@gmail.com>
Co-authored-by: FateXBlood <fatexblood@gmail.com>
Co-authored-by: Frosted <frosted@users.noreply.hosted.weblate.org>
Co-authored-by: Harshit Prajapati <harshitprajapati7666@gmail.com>
Co-authored-by: Hasanur Rahman Biplob <hrbiplob10@gmail.com>
Co-authored-by: Horace Johnson <horacejohnson99@gmail.com>
Co-authored-by: Infy's Tagalog Translations <ced.paltep10@gmail.com>
Co-authored-by: Itsmechinmoy <itsmechinmoy@users.noreply.hosted.weblate.org>
Co-authored-by: Jakub Fabijan <jakubfabijan@tuta.io>
Co-authored-by: Kerim Demirkaynak <aschannel111@gmail.com>
Co-authored-by: Koanrade <konrad.nowicki91@gmail.com>
Co-authored-by: Lyfja <45209212+lyfja@users.noreply.github.com>
Co-authored-by: MD_Abdulla072 <md.abdullacse20@gmail.com>
Co-authored-by: Matyáš Caras <matyas@caras.wtf>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Mochammad Nopal Attasya <meleboy22@gmail.com>
Co-authored-by: Nguyễn Trung Đức <vaicato16@gmail.com>
Co-authored-by: NormalRandomPeople <normal.scribe833@silomails.com>
Co-authored-by: Pecs1 <mynameisnoname897@gmail.com>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Piyoka Smith <piyoka5697@ahaks.com>
Co-authored-by: Reza Almanda <rezaalmanda27@gmail.com>
Co-authored-by: Rom Savidor <romsavidor@gmail.com>
Co-authored-by: Saft Octavian <saftoctavian@gmail.com>
Co-authored-by: Shiratori <kuromaruhatake@gmail.com>
Co-authored-by: Siebrenvde <siebren@siebrenvde.dev>
Co-authored-by: Sixten Lund <arbitraryindices@users.noreply.hosted.weblate.org>
Co-authored-by: Sorawit Jannareubate <moszaduck007@gmail.com>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: Temuri Doghonadze <temuri.doghonadze@gmail.com>
Co-authored-by: TheKingTermux <50316075+TheKingTermux@users.noreply.github.com>
Co-authored-by: ZerOriSama <godarms2010@live.com>
Co-authored-by: abc0922001 <abc0922001@hotmail.com>
Co-authored-by: dianisaac <muhandreop@gmail.com>
Co-authored-by: f0roots <f0rootss@gmail.com>
Co-authored-by: kevans <albapazpi@gmail.com>
Co-authored-by: staxhinho <staxhinho@gmail.com>
Co-authored-by: ɴᴇᴋᴏ <s99095lkjjim@gmail.com>
Co-authored-by: தமிழ்நேரம் <anishprabu.t@gmail.com>
(cherry picked from commit b3726572381abfa1eaaf31cf7f3b685b390f60bf)

# Conflicts:
#	i18n/src/commonMain/moko-resources/de/strings.xml
#	i18n/src/commonMain/moko-resources/kk/strings.xml
#	i18n/src/commonMain/moko-resources/lt/strings.xml
#	i18n/src/commonMain/moko-resources/ru/strings.xml
2025-05-11 16:19:26 -04:00
AntsyLich
34736bc26e For release builds use last commit time as build time (#1873)
(cherry picked from commit dae7d179662ff6d6654e7c10e57f1aeeaf579de8)

# Conflicts:
#	app/build.gradle.kts
2025-05-11 16:17:52 -04:00
renovate[bot]
82cf385f9d
Update dependency net.zetetic:sqlcipher-android to v4.8.0 (#1429)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-11 16:14:08 -04:00
renovate[bot]
682dea2fb1
Update koin to v4.0.4 (#1428)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-11 16:12:00 -04:00
renovate[bot]
c10588d183
Update tachiyomiorg/issue-moderator-action action to v2.6.1 (#1388)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-11 16:11:44 -04:00
Jobobby04
6db1637770 Fix library flags test 2025-05-11 14:57:14 -04:00
Jobobby04
5742d2e3fe Release 1.12.0 2025-05-11 14:24:22 -04:00
BrutuZ
c2d0308ac0
Populate Author field and clear Description on a couple of delegated (#1432) 2025-05-11 14:16:43 -04:00
Callum Wong
84c7da5a7d
Add QR code scan button for sync API key (#1430)
* Add dependency com.journeyapps:zxing-android-embedded:4.3.0

* Add widget parameter to EditTextPreferenceWidget

* Add QR code scanner icon button to sync API key preference which launches a ScanContract

* Remove screenOrientation property from CaptureActivity manifest

* Allow scanning both normal and inverted codes

* store values and make code more concise

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

* Import local context

---------

Co-authored-by: jobobby04 <jobobby04@users.noreply.github.com>
2025-05-11 14:15:05 -04:00
cfouche
274350c118
Change for t1 for better hit rate (#1425) 2025-05-11 14:12:44 -04:00
Weblate (bot)
6bd978eef1
Translations update from Hosted Weblate (#1422)
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy-plurals/vi/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/ar/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/de/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/es/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/fr/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/it/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/ru/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/tr/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/uk/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/zh_Hant/
Translation: Mihon/TachiyomiSY
Translation: Mihon/TachiyomiSY Plurals

Co-authored-by: Alex Maryson Jr <akamar87@gmail.com>
Co-authored-by: B4LiN7 <87660017+B4LiN7@users.noreply.github.com>
Co-authored-by: Frosted <frosted@users.noreply.hosted.weblate.org>
Co-authored-by: Hualiang <642615676@qq.com>
Co-authored-by: Kosťantin Horovij <lg096066587039@gmail.com>
Co-authored-by: Sky children of the Light <tu25261@gmail.com>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: ZerOriSama <godarms2010@live.com>
Co-authored-by: edgole <test.backache009@aleeas.com>
Co-authored-by: fl0k1 <michele.carnova@gmail.com>
Co-authored-by: ɴᴇᴋᴏ <s99095lkjjim@gmail.com>
Co-authored-by: Георгій Обушенков <heorhii.obushenkov@gmail.com>
Co-authored-by: ابومسلم <linuxmint1978@gmail.com>
2025-05-11 13:49:55 -04:00
Weblate (bot)
e0f40fad8c
Translations update from Hosted Weblate (#1408)
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy-plurals/tr/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/as/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/de/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/es/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/fil/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/id/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/it/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/ja/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/ne/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/ru/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/tr/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/vi/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/zh_Hant/
Translation: Mihon/TachiyomiSY
Translation: Mihon/TachiyomiSY Plurals

Co-authored-by: Champ0999 <il.migliore0999@gmail.com>
Co-authored-by: Corrado Belmonte <corrado.spam@gmail.com>
Co-authored-by: Dexroneum <Rozhenkov69@gmail.com>
Co-authored-by: Eji-san <ejierubani@gmail.com>
Co-authored-by: FateXBlood <fatexblood@gmail.com>
Co-authored-by: Frosted <frosted@users.noreply.hosted.weblate.org>
Co-authored-by: Infy's Tagalog Translations <ced.paltep10@gmail.com>
Co-authored-by: Itsmechinmoy <itsmechinmoy@users.noreply.hosted.weblate.org>
Co-authored-by: Lyfja <45209212+lyfja@users.noreply.github.com>
Co-authored-by: Nam Pai <namhg911@gmail.com>
Co-authored-by: Renan Sarto <app@renansg.com>
Co-authored-by: Sepultrex <sepultrex@gmail.com>
Co-authored-by: Shiratori <kuromaruhatake@gmail.com>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: Tim Schneeberger <tim.schneeberger@outlook.de>
Co-authored-by: ZerOriSama <godarms2010@live.com>
Co-authored-by: dianisaac <muhandreop@gmail.com>
Co-authored-by: quangpao <ddquangbao@gmail.com>
Co-authored-by: ɴᴇᴋᴏ <s99095lkjjim@gmail.com>
2025-03-18 18:17:56 -04:00
renovate[bot]
5647665782
Update dependency com.google.oauth-client:google-oauth-client to v1.39.0 (#1410)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-18 18:16:40 -04:00
Jobobby04
df99e7ee49 SpotlessApply 2025-03-18 18:04:23 -04:00
cfouche
dbd4437474
Update base URL and host for Pururin to pururin.me (#1415) 2025-03-18 17:43:03 -04:00
AntsyLich
9c198d0c33 Seperate mark duplicate read chapters as read behaviors as options (#1870)
(cherry picked from commit 8a3b6107755c768924a31c2b58d705296133839c)

# Conflicts:
#	CHANGELOG.md
#	app/src/main/java/eu/kanade/domain/chapter/interactor/SyncChaptersWithSource.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsLibraryScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt
2025-03-18 17:37:58 -04:00
AntsyLich
d62a8a138c Add back option to hide unread chapter badge in library (#1871)
(cherry picked from commit ac432e2e941f4689caad246bab6aa7d303c83bfa)

# Conflicts:
#	CHANGELOG.md
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
2025-03-18 17:31:02 -04:00
Cuong-Tran
f8a57ec98c Add back build tools version to sign-android-release (#1842)
(cherry picked from commit 7028b8673a6b78dc6ccc19f5b3242bf1b37ca908)
2025-03-18 17:29:07 -04:00
Mend Renovate
aa6339df06 Update dependency org.jsoup:jsoup to v1.19.1 (#1822)
(cherry picked from commit 2dc8cf000b871b8ffe07016d76a4bc7114d6ea49)
2025-03-18 17:28:57 -04:00
Mend Renovate
3fbbfbd9cb Update dependency androidx.compose:compose-bom to v2025.03.00 (#1857)
(cherry picked from commit f76a3ad15ad3954c512c20d99337a207f2e2d37a)
2025-03-18 17:28:49 -04:00
AntsyLich
31d6bf1967 Remove closed issue/pr auto lock workflow [skip ci]
(cherry picked from commit f33aa1ac9223393d0921df2902e4b59589ab7d2d)

# Conflicts:
#	.github/workflows/lock.yml
2025-03-18 17:28:41 -04:00
MajorTanya
226b3f2ff4 Add app ID to debug info (#1847)
This will avoid the need to know which forks has which version numbers
and avoid confusion in support.

(cherry picked from commit eddf07f9ac31bab57d06515e42df9c854bc50eed)

# Conflicts:
#	CHANGELOG.md
#	app/src/main/java/eu/kanade/tachiyomi/util/CrashLogUtil.kt
2025-03-18 17:27:55 -04:00
AntsyLich
ac8dab75fe Make option to mark duplicate chapter as read apply when reading (#1839)
(cherry picked from commit 22b5fb58ff8e89635d646f8fa29256b53c41ffbf)

# Conflicts:
#	CHANGELOG.md
#	app/src/main/java/eu/kanade/domain/chapter/interactor/SyncChaptersWithSource.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt
2025-03-18 17:27:12 -04:00
AntsyLich
aad2bf4645 Make more sliders discrete and ensure they don't look out of place (#1840)
Also cleanup the underlying code

(cherry picked from commit 4f06c1cc09d15245b26b8a862738cb6a859fedcc)

# Conflicts:
#	CHANGELOG.md
2025-03-18 17:24:05 -04:00
AntsyLich
7f71296e1c Change label of setting to always use SSIV in long strip reader (#1834)
(cherry picked from commit 85d168ed5e201134558cc843aba896306617c9ca)

# Conflicts:
#	CHANGELOG.md
2025-03-18 16:57:58 -04:00
AntsyLich
9137170fb8 Bump default user agent (#1833)
(cherry picked from commit d3691cc2563815490683cc69cbc3260e4561906c)

# Conflicts:
#	CHANGELOG.md
2025-03-18 16:57:37 -04:00
FlaminSarge
0af667c9aa Attempt to fix crash when migrating or removing entries from library (#1828)
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit 563bc02113a5ebc53650fdfdd13f408284a0cdc8)

# Conflicts:
#	CHANGELOG.md
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateDialog.kt
#	domain/src/main/java/tachiyomi/domain/manga/interactor/GetLibraryManga.kt
2025-03-18 16:57:00 -04:00
NarwhalHorns
8dc6a95ce6 Display staff information on Anilist tracker search results (#1810)
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit b702603965044cfe3ee852f8d0c970b6eb93b97a)

# Conflicts:
#	CHANGELOG.md
2025-03-18 16:55:40 -04:00
Roshan Varughese
1eb64d117e Fix an issue where tracker reading progress is changed to a lower value (#1795)
(cherry picked from commit 2e2f1ed82d63a93ebf87ee8494434c1bad2e268c)

# Conflicts:
#	CHANGELOG.md
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
2025-03-18 16:55:21 -04:00
Mend Renovate
8f48a80bc4 Update dependency com.android.tools.build:gradle to v8.9.0 (#1824)
(cherry picked from commit b2765a00d285040531619a287d5144718959dd49)
2025-03-18 16:54:37 -04:00
NarwhalHorns
e76dd7fab0 Update track search preview (#1825)
(cherry picked from commit 0e6d6c087e5a4d889b9153b390d8335d7add1e87)
2025-03-18 16:54:29 -04:00
Smol Ame
b53a9ce5ae Tweak and adjust issue template (#1817)
Co-authored-by: BrutuZ <brutuz@users.noreply.github.com>
(cherry picked from commit 4f7122d6f09f87930ccd7dae7c557f4b236bbc4b)
2025-03-18 16:54:22 -04:00
Mend Renovate
952f26929c Update dependency io.mockk:mockk to v1.13.17 (#1786)
(cherry picked from commit b763d3e2c24caac6898981395aece2984b3e03a3)
2025-03-18 16:54:12 -04:00
AwkwardPeak7
9ff048e683 Fix webview crash caused by 793d7fb (#1819)
(cherry picked from commit 9957fff2fbb6dad6f9df89bb2c16db34d9e4da96)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/App.kt
2025-03-04 11:33:14 -05:00
Jobobby04
a64fe8121b Guard against NPE in edit info dialog 2025-03-02 14:03:33 -05:00
Jobobby04
4db7a32075 Fix migration delete downloaded not registering properly 2025-03-02 14:01:39 -05:00
Jobobby04
20ee5ea3e1 Fix database migration 2025-03-02 13:42:54 -05:00
Jobobby04
d9200ef006 Build fix 2025-03-02 13:34:37 -05:00
AwkwardPeak7
dfde271f7f Spoof or remove X-Requested-With header from webview (#1812)
(cherry picked from commit 793d7fbe40c87ed233da8cc99d544d01024ed4f5)

# Conflicts:
#	CHANGELOG.md
#	app/src/main/java/eu/kanade/tachiyomi/App.kt
#	core/common/src/main/kotlin/eu/kanade/tachiyomi/network/NetworkHelper.kt
2025-03-02 13:18:06 -05:00
Mend Renovate
5346eac037 Update dependency com.google.firebase:firebase-bom to v33.10.0 (#1789)
(cherry picked from commit b12ee027ea8941cb29d0f83085481c75eb862ed4)
2025-03-02 13:14:32 -05:00
Smol Ame
95e151be4b Update Issue Request Template (#1808)
(cherry picked from commit d7a1ae27346a983f658fb88cb525cf8b785b3bb3)
2025-03-02 13:14:23 -05:00
rhjdvsgsgks
98af745e08 Add build tool version to android config (#1803)
(cherry picked from commit 7566918ee749e76c701aeda7e99d81003676a51c)
2025-03-02 13:14:05 -05:00
AntsyLich
56433a624e Add option to mark new duplicate read chapters as read (#1785)
(cherry picked from commit cd0481592c09dc9cfb331805e90e6e5c3752a08c)

# Conflicts:
#	CHANGELOG.md
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsLibraryScreen.kt
2025-03-02 13:13:33 -05:00
Mend Renovate
c59cb620dd Update dependency com.android.tools.build:gradle to v8.8.2 (#1784)
(cherry picked from commit b93746b01e78d4e75dbd1c6e9dda1b7b1baa6831)
2025-03-02 13:10:30 -05:00
AntsyLich
f60cb9bb64 Remove alphabetical category sort option (#1781)
(cherry picked from commit 2b0c28938bfd74577d2ff0736b2cc72f4e4705cf)

# Conflicts:
#	CHANGELOG.md
#	app/src/main/java/eu/kanade/presentation/category/CategoryScreen.kt
2025-03-02 13:10:23 -05:00
Mend Renovate
949a2a95ad Update dependency androidx.activity:activity-compose to v1.10.1 (#1782)
(cherry picked from commit 4db3817782e73c75abe0b40c93273df90c683a42)
2025-03-02 13:09:29 -05:00
Mend Renovate
0bd700699b Update dependency androidx.constraintlayout:constraintlayout to v2.2.1 (#1783)
(cherry picked from commit ec07843f0cab02d7d1fee9c90eed35441b7b671b)
2025-03-02 13:09:23 -05:00
Cuong-Tran
1d10925829 Add back support for drag-and-drop category reordering (#1427)
(cherry picked from commit 919607cd06ee45ac667a2fd650d85aaf6ebb9762)

# Conflicts:
#	CHANGELOG.md
#	app/src/main/java/eu/kanade/presentation/category/CategoryScreen.kt
2025-03-02 13:09:13 -05:00
Cuong-Tran
0e2866260f Add Xiaomi system app to list of invalid browsers (#1776)
(cherry picked from commit d91c7b609359e83fcbb1b93ac16f608f8d45a2f2)

# Conflicts:
#	CHANGELOG.md
2025-03-02 13:02:10 -05:00
Roshan Varughese
02ace23c38 Add option to export minimal library information to a CSV file (#1161)
(cherry picked from commit fab8b17d99c44a08555b1f584c56d62a47737ca0)

# Conflicts:
#	CHANGELOG.md
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsDataScreen.kt
2025-03-02 13:01:51 -05:00
Jobobby04
3e16adf961 SpotlessApply 2025-03-02 12:59:36 -05:00
AntsyLich
fb1a3da0ea Use .toUri() extension function
(cherry picked from commit 0dda64b9d80a47a96fb52d13b5e0ece6d5fca2b1)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/util/system/ContextExtensions.kt
2025-03-02 12:55:41 -05:00
AntsyLich
5f2e979bb5 Remove F-droid warnings
(cherry picked from commit 181dbbb638686a284fa24c4e43d7c022a4f8e4bb)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/MoreScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/updater/AppUpdateChecker.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/updater/AppUpdateNotifier.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/more/MoreTab.kt
#	app/src/main/java/eu/kanade/tachiyomi/util/system/ContextExtensions.kt
#	domain/src/test/java/tachiyomi/domain/release/interactor/GetApplicationReleaseTest.kt
2025-03-02 12:54:48 -05:00
MajorTanya
5d4d15aa9c Add private tracking support for Kitsu (#1774)
(cherry picked from commit 1dd81ef1e1b383f379f4e8e53d27a47cf7f0278f)

# Conflicts:
#	CHANGELOG.md
2025-03-02 12:45:02 -05:00
Mend Renovate
fb71d0cd68 Update dependency gradle to v8.13 (#1773)
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit 2d0be5b0c93c9e3991ca593304d81d4d22dd72de)
2025-03-02 12:44:44 -05:00
Mend Renovate
a189a7eaec Update dependency com.android.tools:desugar_jdk_libs to v2.1.5 (#1772)
(cherry picked from commit 4d7350e3184f13cbcfda357f75859dad0d679154)
2025-03-02 12:44:36 -05:00
NarwhalHorns
59a6bd700b Support for private tracking with AniList and Bangumi (#1736)
Co-authored-by: MajorTanya <39014446+MajorTanya@users.noreply.github.com>
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit 49b2b346b65c2631a8369c8f6643e945720770de)

# Conflicts:
#	CHANGELOG.md
#	app/src/main/java/eu/kanade/tachiyomi/data/track/BaseTracker.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/track/Tracker.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/track/TrackInfoDialog.kt
#	app/src/main/java/eu/kanade/test/DummyTracker.kt
2025-03-02 12:44:26 -05:00
MajorTanya
278224676b Fix Bangumi login regression (#1770)
Caused by #1748.

Two different issues actually.

Firstly, the getUsername API call uses the authClient, which uses the
BangumiInterceptor to get the current OAuth data and attach the
Authorization header. However, on login, #1748 did not try to set the
new auth details until after attempting to call getUsername.
This would cause Mihon to think the user was not authenticated with
Bangumi and cancel the process.

This is fixed by having Mihon store the OAuth credentials in the
interceptor first before attempting to call getUsername.

The second issue is a simple trailing dollar sign in the API URL for
the getUsername method. This was removed.

(cherry picked from commit badc229a2312c0c750c34631f303ac4ca970dc71)
2025-03-02 12:30:27 -05:00
MajorTanya
66f2877a3f Add back explicit update(track) call to Bangumi (#1771)
Most if not all other trackers do this too. Technically this causes
some request duplication (since things like the BaseTracker's
setRemoteLastChapterRead fire anyway due to the tracker sheet being
open. But considering the reduced number of requests in other places,
I think this is still acceptable.

This change will allow #1736 to proceed, hopefully.

(cherry picked from commit 277d8bad8e8d21cd74dc1681da09a4b980f455e0)
2025-03-02 12:30:16 -05:00
MajorTanya
a97deb0036 Add "Monochrome" theme (#1752)
This theme is mainly geared towards e-Ink displays with limited/no
colour capabilities. Previous themes like Yin & Yang would make heavy
use of greyscale colours which could look off on some devices.

This theme is probably not conformant to Material Design 3 colour
scheme guidelines, but it does boast some amazing WebAIM contrast
ratios (#FFFFFF text on #000000 background gets a ratio of 21:1, vice
versa too).

Initially, this was intended as a purely black and white theme but
some contrast issues arose, such as the download badges (tertiary
background, onTertiary text colour) having the same colour as unread
badges (primary/onPrimary), or the step indicators (stops) not being
visible on sliders (since they use the colours of the opposite state
track (active region stops are the colour of the inactive region track
and vice versa).

To mitigate this, each variant (dark/light) of the theme has one
additional grey mixed in for their tertiary and secondaryContainer
colours each. For the dark variant, this is a #A0A0A0 background for
#000000 text (8.03:1 contrast ratio) and for the light variant, it is
a #505050 background for #FFFFFF text (8.06:1 contrast ratio).
This results in distinct unread vs download badges and visible steps
in the sliders.

---------

Co-authored-by: Sunspark-007 <73711243+Sunspark-007@users.noreply.github.com>
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit 8b48d1016b851b425e4f66d44bca098220585c37)

# Conflicts:
#	CHANGELOG.md
2025-03-02 12:30:09 -05:00
MajorTanya
ab976d8b07 Migrate to Bangumi's newer v0 API (#1748)
This comes with many benefits:
- Starting dates are now available and shown to users
- Lays groundwork to add private tracking for Bangumi, e.g. in #1736
- Mihon makes approximately 2-4 times fewer calls to Bangumi's API
- Simplified interceptor for the access token addition
  - v0 does not allow access tokens in the query string
- There is actively maintained documentation for it

Also shrunk the DTOs for Bangumi by removing attributes we have no
use for either now or in the foreseeable future. Volume data remains
in case Mihon wants to ever support volumes. But attributes such as
user avatars, nicknames, data relating to Bangumi's tag & meta-tag
systems, etc. have been removed or just not added to the DTOs.

(cherry picked from commit a96fbba3dc354e363b85923c52feceb88dc34447)

# Conflicts:
#	CHANGELOG.md
#	app/src/main/java/eu/kanade/tachiyomi/data/track/bangumi/BangumiApi.kt
2025-03-02 12:29:47 -05:00
Mend Renovate
cb2cfa7e94 Update dependency androidx.compose:compose-bom to v2025 (#1651)
(cherry picked from commit d8a530266ffd7774df1af6c0dc5fc7e66fe2b20c)
2025-03-02 12:24:56 -05:00
Cuong-Tran
2c2f84bb29 Fix backup/restore of category related preferences (#1726)
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit e1724d1aa0e3340e1404cfd80bd264831d86a879)

# Conflicts:
#	CHANGELOG.md
2025-03-02 12:24:48 -05:00
Cuong-Tran
7156b0dcce Reuse AppBar in manga screen (#1367)
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit 2cd52d5a1ff48b0f9cf17245c1bfa66f99b8c187)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt
#	app/src/main/java/eu/kanade/presentation/manga/components/MangaToolbar.kt
2025-03-02 12:24:07 -05:00
Jobobby04
f62671742c Fix build 2025-03-02 12:21:13 -05:00
AntsyLich
58be872bef Cleanup and tweak preference widgets (#1769)
(cherry picked from commit ebfbbf0741c04dc450a943d2cf77f48eed5c6dfa)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/Preference.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt
2025-03-02 12:21:03 -05:00
Cuong-Tran
ce6b847c8b Fix App's preferences referencing deleted categories (#1734)
(cherry picked from commit eeb683069a3a0be7e769ac9273b5accc582e03ec)

# Conflicts:
#	CHANGELOG.md
#	app/build.gradle.kts
2025-03-02 11:57:47 -05:00
Roshan Varughese
9c22e7fcb7 Add button to favorite manga from history screen (#1733)
(cherry picked from commit 7e71a34256e79b03a8a8ea50334b1ccece4b7154)

# Conflicts:
#	CHANGELOG.md
#	app/src/main/java/eu/kanade/tachiyomi/ui/history/HistoryTab.kt
2025-03-02 11:56:46 -05:00
NGB-Was-Taken
452f36939a Apply "Downloaded only" filter to all entries regardless of favourite status (#1603)
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit 29ee53f4612b6ec9b399da9d29f18cfd0b1a2768)

# Conflicts:
#	CHANGELOG.md
2025-03-02 11:56:09 -05:00
Mend Renovate
f0b821e2df Update aboutlib.version to v11.6.3 (#1737)
(cherry picked from commit 6a223f34a0430dba2917e2fe2b737540658e01e2)
2025-03-02 11:55:45 -05:00
BrutuZ
cda87a5c07 Ignore hidden files/folders for Local Source chapter list (#1763)
(cherry picked from commit c97fe71e290604849299f1ebb9dfe1295188ca60)

# Conflicts:
#	CHANGELOG.md
2025-03-02 11:55:35 -05:00
Mend Renovate
10844339b8 Update aboutlib.version to v11.6.0 (#1728)
(cherry picked from commit 8e81a5e68b61a7db36cd3ef39ac3f319c4d6e0a1)
2025-03-02 11:53:48 -05:00
Mend Renovate
042785e188 Update plugin firebase-crashlytics to v3.0.3 (#1702)
(cherry picked from commit b08270d52310d30670bb3b81dfebb594759e2dd8)
2025-03-02 11:53:42 -05:00
AntsyLich
07740ae83c Add more editor configs and move ktlint config to it (#1731)
(cherry picked from commit 34d1e6fa278846dd8eb6ea82c936818d4610d3c2)

# Conflicts:
#	.editorconfig
#	buildSrc/src/main/kotlin/mihon.code.lint.gradle.kts
2025-03-02 11:53:21 -05:00
Mend Renovate
9d08fe05c1 Update dependency com.android.tools.build:gradle to v8.8.1 (#1723)
(cherry picked from commit a80965f7f18e51a8cd0b5029b34fe4fe9c04b494)
2025-03-02 11:51:17 -05:00
Mend Renovate
516114011f Update paging.version to v3.3.6 (#1717)
(cherry picked from commit 59ee61039b0e221ee6c00c052f89f32413eb502f)
2025-03-02 11:51:10 -05:00
Mend Renovate
bb08522a32 Update dependency io.coil-kt.coil3:coil-bom to v3.1.0 (#1701)
(cherry picked from commit b7a96e69465e3fd63fbe901591e6fca6f9557334)
2025-03-02 11:51:04 -05:00
Mend Renovate
25949c3296 Update moko to v0.24.5 (#1694)
(cherry picked from commit 31a3f9e051f211af38c4a62b5a3bcfc711c93ee3)
2025-03-02 11:50:58 -05:00
AntsyLich
5720774bbf Rework slider UI
Fixes #1474

(cherry picked from commit e8c9cb2c2e4c24443368f0d653c5283f9671ffec)

# Conflicts:
#	presentation-core/src/main/java/tachiyomi/presentation/core/components/SettingsItems.kt
2025-03-02 11:50:51 -05:00
Mend Renovate
74c8b20a85 Update aboutlib.version to v11.5.0 (#1663)
(cherry picked from commit d592ab2e8712d13169942a7e7f53ef0c29a77a7b)
2025-03-02 11:50:17 -05:00
Mend Renovate
744b714c25 Update dependency gradle to v8.12.1 (#1662)
(cherry picked from commit 9d6ed93daaa91217fc82fb856e6d3d4eedd0092a)
2025-03-02 11:50:10 -05:00
Mend Renovate
73d57239f7 Update kotlin monorepo to v2.1.10 (#1671)
(cherry picked from commit 34efa8d9017f58001a93db4e53b4ca03a0ab2660)
2025-03-02 11:50:03 -05:00
MajorTanya
325a706840 Add Infinix system app to list of invalid browsers (#1684)
* Add Infinix system app to list of invalid browsers

`com.transsion.resolver` being picked by the system as a suitable
browser caused a Mihon user with an Infinix device to be unable to
open any links in browsers, including tracker login and opening a
WebView page in a real browser.

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

* Add docstring to DeviceUtil.invalidDefaultBrowsers

---------

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

# Conflicts:
#	CHANGELOG.md
2025-03-02 11:42:37 -05:00
MajorTanya
c179b1812c Fix MAL tracker losing track of login expiration (#1682)
* Add missing @EncodeDefault annotation to MALOAuth

Similar to the situation with Bangumi, the missing annotation means
kotlinx.serialization would _provide_ the default value upon
instantiation but not serialise it to disk. This means the isExpired()
calculation would effectively rarely/never do its job correctly,
leading to Mihon sending expired tokens to MAL and causing problems
for everyone involved.

Overall, this change _could_ (should) lead to a drastic reduction in
MAL requests failing, leading to users having to relink their MAL
accounts.

Also switched createdAt to be in seconds instead of milliseconds as
all other trackers use seconds for timestamps (except for AniList,
which uses milliseconds but doesn't use a createdAt timestamp anyway).

* Add CHANGELOG.md entry

(cherry picked from commit 29ec7c125a3f1a1f39a90f8eba2d3e39b5af9797)

# Conflicts:
#	CHANGELOG.md
2025-03-02 11:42:08 -05:00
MajorTanya
1fa05703fa Fix Bangumi tracker losing track of login expiration (#1681)
* Fix Bangumi tracking losing track of login state

kotlinx.serialization does NOT serialize default values (like
createdAt in BGMOAuth.kt), so every time the Bangumi tracker
deserialized the tracker OAuth, createdAt was set to the time of the
read, not the time of issuance.

Separately, BangumiInterceptor did correctly fetch new OAuth
credentials upon detected expiry of the stored credentials and saved
them, but did not use them for the current request (the new
credentials were used for all subsequent requests only). This led to
401 errors from Bangumi because the expired access_token was provided.
 A subsequent request using the newly acquired access_token would end
 up being successful.

* Add CHANGELOG.md entry

(cherry picked from commit dce6aacf02d07f3f123b19b1b74cbbe18c28852b)

# Conflicts:
#	CHANGELOG.md
2025-03-02 11:40:49 -05:00
MajorTanya
b34f807d33 Add zoned "Current time" to debug info and include year & timezone in logcat output (#1672)
* Add zoned date & time to debug info & logs

This should help distinguish log entries that happened recently and
may be related to crashes from older entries that occurred before now.

* Change logcat date and time output format

After some discussion, it was decided to adjust the logcat date and
time display to include the year and the timezone in the logcat
output. This results in a line start like this:

`2025-01-27 18:37:46.662 +0100`

which follows the following DateTimeFormatter pattern:

`yyyy-MM-dd HH:mm:ss.SSS Z`

* Add CHANGELOG.md entry

(cherry picked from commit 503d0be66772c37e08e69e5d022475245b706fd1)

# Conflicts:
#	CHANGELOG.md
2025-03-02 11:40:32 -05:00
renovate[bot]
fda27e6eba
Update dependency com.google.oauth-client:google-oauth-client to v1.38.0 (#1402)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-02 11:38:14 -05:00
Tim Schneeberger
217503eab0
feat(MangaDex): use tracker links to associate mangas automatically with trackers (#1387)
* feat: add searchById support to trackers (MAL, AniList, MangaUpdates only)

* feat: add new preference to toggle auto selection of tracker items using source metadata if available

* feat: add new preference to toggle auto selection of tracker items using source metadata if available

* feat: add automatic title selection using source metadata to TrackInfoDialog.kt

* style: apply spotless

* refactor: remove hardcoded MangaDexSearchMetadata cast and introduce common interface
2025-03-02 11:37:50 -05:00
lord-ne
8d062cecfd
Use COMPLETE category when sync finishes (#1385) 2025-03-02 11:37:07 -05:00
BrutuZ
614839c023
Fix CDN subdomain for delegated source covers (#1384) 2025-03-02 11:36:41 -05:00
Tim Schneeberger
254980695b
feat: batch processing for recommendations & sort by relevancy (#1383)
* refactor: use NoResultsException

* refactor: cleanup RecommendationPagingSources

* refactor: turn wake/wifi lock functions into reusable extensions

* feat: implement batch recommendation (initial version)

* fix: serialization issues

* fix: wrong source id

* refactor: increase performance using virtual paging

* refactor: update string

* refactor: handle 404 of MD source correctly

* style: add newline

* refactor: create universal throttle manager

* refactor: throttle requests

* chore: remove unused strings

* feat: rank recommendations by match count

* feat: add badges indicating match count to batch recommendations

* fix: handle rec search with no results

* fix: validate flags in pre-search bottom sheet

* feat: implement 'hide library entries' for recommendation search using custom SmartSearchEngine for library items

* style: run spotless

* fix: cancel button

* fix: racing condition causing loss of state
2025-03-02 11:36:07 -05:00
Weblate (bot)
28cca49635
Translations update from Hosted Weblate (#1379)
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/as/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/de/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/fil/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/id/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/it/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/ja/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/ru/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/tr/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/vi/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/zh_Hant/
Translation: Mihon/TachiyomiSY

Co-authored-by: Corrado Belmonte <corrado.spam@gmail.com>
Co-authored-by: Dexroneum <Rozhenkov69@gmail.com>
Co-authored-by: Eji-san <ejierubani@gmail.com>
Co-authored-by: Frosted <frosted@users.noreply.hosted.weblate.org>
Co-authored-by: Infy's Tagalog Translations <ced.paltep10@gmail.com>
Co-authored-by: Itsmechinmoy <itsmechinmoy@users.noreply.hosted.weblate.org>
Co-authored-by: Lyfja <45209212+lyfja@users.noreply.github.com>
Co-authored-by: Nam Pai <namhg911@gmail.com>
Co-authored-by: Shiratori <kuromaruhatake@gmail.com>
Co-authored-by: Tim Schneeberger <tim.schneeberger@outlook.de>
Co-authored-by: quangpao <ddquangbao@gmail.com>
Co-authored-by: ɴᴇᴋᴏ <s99095lkjjim@gmail.com>
2025-03-02 11:32:25 -05:00
Jobobby04
c95d7fe30f Re-add Android SDK 2025-01-22 13:31:24 -05:00
Jobobby04
2b890c2057 Minor improvements 2025-01-22 12:58:26 -05:00
Jobobby04
456db52653 Minor cleanup 2025-01-21 18:21:44 -05:00
Weblate (bot)
0a5e9dce24
Translations update from Hosted Weblate (#1340)
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy-plurals/as/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy-plurals/fr/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy-plurals/hr/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy-plurals/ta/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy-plurals/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/as/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/de/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/es/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/fil/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/fr/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/hr/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/id/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/it/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/ja/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/pt/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/ru/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/ta/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/tr/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/zh_Hant/
Translation: Mihon/TachiyomiSY
Translation: Mihon/TachiyomiSY Plurals

Co-authored-by: Acelith <joel.jon@moix.me>
Co-authored-by: Andrés sigampa <fixiho3273@bawsny.com>
Co-authored-by: Barrel-Whisky-Fermentation <entomavasilissazeta790@gmail.com>
Co-authored-by: Bokutowo <stephaniejin47@gmail.com>
Co-authored-by: C0LiSii0N <paul.31@hotmail.com>
Co-authored-by: Cauã Oliveira <caua.oli.santos@gmail.com>
Co-authored-by: Dexroneum <Rozhenkov69@gmail.com>
Co-authored-by: Frosted <frosted@users.noreply.hosted.weblate.org>
Co-authored-by: Homura Akemi <amber_c001@protonmail.com>
Co-authored-by: Igor Coimbra Carvalheira <igorccarvalheira111@gmail.com>
Co-authored-by: Illia Stoianov <Walrus_Morj@protonmail.com>
Co-authored-by: Infy's Tagalog Translations <ced.paltep10@gmail.com>
Co-authored-by: Itsmechinmoy <itsmechinmoy@users.noreply.hosted.weblate.org>
Co-authored-by: KenjieDec <kenjiedec@gmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Mochammad Nopal Attasya <meleboy22@gmail.com>
Co-authored-by: NormalRandomPeople <normal.scribe833@silomails.com>
Co-authored-by: Paulo Victor <paulovictorbarrosdecarvalho@gmail.com>
Co-authored-by: Ruben Lopes <lopes.ruben@ua.pt>
Co-authored-by: TheKingTermux <50316075+TheKingTermux@users.noreply.github.com>
Co-authored-by: cannnAvar <bartucanavar@proton.me>
Co-authored-by: jobobby04 <jobobby04@gmail.com>
Co-authored-by: mirukupc <mirukupc.jp@gmail.com>
Co-authored-by: ɴᴇᴋᴏ <s99095lkjjim@gmail.com>
Co-authored-by: தமிழ்நேரம் <anishprabu.t@gmail.com>
Co-authored-by: 清水汐音 <chenzhongjie19940725@gmail.com>
2025-01-21 17:56:55 -05:00
spicemace
9b6600d31f
Mangadex fix alt title being removed by cleanDescription (#1378)
* Update MdUtil.kt

* Update ApiMangaParser.kt

* Update MdUtil.kt
2025-01-21 17:12:11 -05:00
Mend Renovate
5f19859589 Update dependency com.google.firebase:firebase-bom to v33.8.0 (#1652)
(cherry picked from commit 82fd89cee65f6663a6eddd09c73eaff23d3c2947)
2025-01-21 14:48:18 -05:00
Mend Renovate
a189780e7f Update dependency androidx.recyclerview:recyclerview to v1.4.0 (#1650)
(cherry picked from commit 643f95f046e98d7403daedf06ff01d0c9708249d)
2025-01-21 14:48:10 -05:00
Mend Renovate
664fcfd787 Update dependency androidx.activity:activity-compose to v1.10.0 (#1649)
(cherry picked from commit 9c81f2486cd8db6dbdb68e6e273cc8587814b21d)
2025-01-21 14:48:02 -05:00
Mend Renovate
64e3e03a02 Update dependency com.diffplug.spotless:spotless-plugin-gradle to v7.0.2 (#1647)
(cherry picked from commit e59d2d381d2c105cae41918d30cc215ab3317551)
2025-01-21 14:47:56 -05:00
AntsyLich
3139aa5e51 Remove unnecessary filters for pseudolocales
(cherry picked from commit da90064c948c629ebaf6d6a97ca0b6f52cb570f1)
2025-01-21 14:47:46 -05:00
AntsyLich
2744a8bd96 Address some deprecations
(cherry picked from commit d53a3828b12daead9c898bea12c9a1497d07366f)
2025-01-21 14:47:39 -05:00
sdaqo
0ab7d18ad3 Add option to enable incognito mode per extension (#157)
* add per Extension Incognito Mode

* migrate incognito sources when extension is updated

* remove incognito sources when extension is uninstalled

* remove not used variable

* address change requests

address change requests

* Rebase and cleanup code

---------

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

# Conflicts:
#	CHANGELOG.md
#	app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionManager.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
2025-01-21 14:47:32 -05:00
Mend Renovate
853288f71b Update dependency com.diffplug.spotless:spotless-plugin-gradle to v7.0.1 (#1630)
(cherry picked from commit 5a9367603beb82aac350c47c9ea2a6c343be0c1e)
2025-01-21 14:44:34 -05:00
Mend Renovate
4a2a81df80 Update dependency com.squareup.okio:okio to v3.10.2 (#1631)
(cherry picked from commit c01e9f3e92b9b2aa92aa50af5e3066affed419ad)
2025-01-21 14:44:27 -05:00
Mend Renovate
6827a0899c Update dependency com.android.tools.build:gradle to v8.8.0 (#1634)
(cherry picked from commit ae9753a1ea72b9e8d3271d56ed6cc202b8973ca2)
2025-01-21 14:44:20 -05:00
Mend Renovate
dd1cbb07f7 Update dependency io.mockk:mockk to v1.13.16 (#1636)
(cherry picked from commit 1fe4d6cbd41f38676cb3cd858974ac105d272786)
2025-01-21 14:44:13 -05:00
Jobobby04
7f20006622 Use Adoptium distributed Java in workflows 2025-01-21 14:44:04 -05:00
Mend Renovate
8d25074a3e Update dependency com.diffplug.spotless:spotless-plugin-gradle to v7.0.0 (#1628)
(cherry picked from commit 3a3abc6854c8035e0d489750a04fba8400ef2c84)
2025-01-21 14:42:58 -05:00
Mend Renovate
73a265f5ad Update serialization.version to v1.8.0 (#1627)
(cherry picked from commit d9a550b9350a6fb46bac783833b54c4b199e719b)
2025-01-21 14:42:51 -05:00
Mend Renovate
02da349080 Update aboutlib.version to v11.4.0 (#1621)
(cherry picked from commit 1617f8eb49a210808326bc46b536b87d62095658)
2025-01-21 14:42:44 -05:00
Jobobby04
e218234f91 Tweak build workflow 2025-01-21 14:42:35 -05:00
MajorTanya
47b4be7fcf Fix MAL main_picture nullability breaking search if a result doesn't have a cover set (#1618)
* Fix MAL manga cover nullability

If a manga doesn't have a cover, MAL doesn't provide the
`main_picture` element in the API response at all.

* Add CHANGELOG.md entry

(cherry picked from commit d60802721b78870082af9445201338fbcfa0a780)

# Conflicts:
#	CHANGELOG.md
2025-01-21 14:38:08 -05:00
AntsyLich
fea11eaa06 Revert "Revert "Add option to always use SSIV for image decoding""
This reverts commit 1909126921ac78309f7f7c7c2aa85606611531b8

(cherry picked from commit c5655e8803bc32d0931657f0b7bc6afeab70feaf)

# Conflicts:
#	CHANGELOG.md
2025-01-21 14:37:36 -05:00
Mend Renovate
99ef619603 Update dependency gradle to v8.12 (#1605)
(cherry picked from commit d3973f4ad88b2d61e49974b032a118a7f67b9a7b)
2025-01-21 14:37:08 -05:00
Mend Renovate
93a5e70bbe Update dependency androidx.compose:compose-bom to v2024.12.01 (#1564)
(cherry picked from commit bb230fd6a77651ea2b5b1b3f1e42124a98b63016)
2025-01-21 14:36:59 -05:00
Mend Renovate
a3c1c63332 Update paging.version to v3.3.5 (#1563)
(cherry picked from commit e526fd44c618ab26fd4860a0b7b147efc89d5bf1)
2025-01-21 14:36:52 -05:00
Mend Renovate
4348862e46 Update dependency androidx.viewpager:viewpager to v1.1.0 (#1571)
(cherry picked from commit f61f039a453cf562fdb10e9eeac64b55b2d9eb31)
2025-01-21 14:36:42 -05:00
Mend Renovate
5a6aaf8dcf Update dependency org.junit.jupiter:junit-jupiter to v5.11.4 (#1580)
(cherry picked from commit 79eb02d8f066e7cd2465938c24a9649a9a61f48a)
2025-01-21 14:36:35 -05:00
Mend Renovate
bc28f7a4e9 Update voyager to v1.0.1 (#1595)
(cherry picked from commit 814584d35b4ad79da941b21178f452dc2dd601f3)
2025-01-21 14:36:28 -05:00
Mend Renovate
27f6ed4338 Update dependency com.android.tools:desugar_jdk_libs to v2.1.4 (#1599)
(cherry picked from commit 87513073018d9a0a31c64b898f10a11bddc4772c)
2025-01-21 14:36:18 -05:00
Mend Renovate
4ec0a6d148 Update dependency org.jetbrains.kotlinx:kotlinx-coroutines-bom to v1.10.1 (#1596)
(cherry picked from commit bcff2262b33004a4dec229c59c43cf27a04e72d3)
2025-01-21 14:36:11 -05:00
Mend Renovate
9e7a3c9e41 Update dependency io.mockk:mockk to v1.13.14 (#1601)
(cherry picked from commit 04454ecdbe49f0690c874b95becc3c164bb66f41)
2025-01-21 14:36:05 -05:00
Mend Renovate
8794b7f5de Update moko-resources to v0.24.4 (#1553)
(cherry picked from commit e86aeee9c417dea66d321fd4cbbad7ffdf41b106)
2025-01-21 14:35:49 -05:00
Mend Renovate
2f02aa07c7 Update dependency com.google.firebase:firebase-bom to v33.7.0 (#1545)
(cherry picked from commit be37f214d87c40f8876bd114cc96f55e0092ca90)
2025-01-21 14:35:40 -05:00
Mend Renovate
62f9c2b187 Update dependency com.android.tools.build:gradle to v8.7.3 (#1535)
(cherry picked from commit 1a833e88b1831fa4c8aacadeedc777adda256f36)
2025-01-21 14:35:33 -05:00
Mend Renovate
900ecfe372 Update dependency com.pinterest.ktlint:ktlint-cli to v1.5.0 (#1540)
(cherry picked from commit 4c84878adc541181ff37ebe23d1f8e7f7521d0d6)
2025-01-21 14:35:26 -05:00
Mend Renovate
72a19fc349 Update dependency org.jsoup:jsoup to v1.18.3 (#1533)
(cherry picked from commit 054198e78f80d6d3c9867a94317deb2d80950db9)
2025-01-21 14:35:13 -05:00
Mend Renovate
9e24276b59 Update kotlin monorepo to v2.1.0 (#1518)
(cherry picked from commit d522d81164d26d405517f7b6ad4d4882c86b54f2)
2025-01-21 14:35:01 -05:00
Tim Schneeberger
46dea6d598
feat: add global search shortcut to SmartSearch (#1377)
* feat: add global search shortcut to SmartSearch

* feat: add global search shortcut to SmartSearch

* feat: add back button to BrowseTabWrapper
2025-01-21 14:30:28 -05:00
Tim Schneeberger
d80ad3f145
feat: unify recommendation screens and add more sources (#1376)
* feat(recommendations): add mangaupdates.com support

* feat(recommendations): display all tracker recommendation sources

* refactor(recommendations): apply spotless

* refactor: split RecommendationPagingSources

* feat(recommendations): unify MangaDex & community recommendations

* refactor: remove old screen

* fix: update comment

* style: fix formatting

* refactor: move onClick handlers

* fix: handle external recommendation links correctly

* fix: apply spotless

* feat: add comick recommendation source

* fix: mark recs from comick as not initialized to force fetching missing metadata

* Update app/src/main/java/exh/recs/BrowseRecommendsScreen.kt

---------

Co-authored-by: jobobby04 <jobobby04@users.noreply.github.com>
2025-01-21 14:29:32 -05:00
renovate[bot]
a7a3e5a2db
Update koin to v4.0.2 (#1370)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-21 14:25:27 -05:00
Luca Auer
a32c7186e4
Maintain correct source order even when receiving new chapters from a sync service (#1360)
* Maintain correct source order even when receiving new chapters from sync service

* Add comma required by build service
2024-12-17 12:26:11 -05:00
Linguiniotta
a25aff7fb0
Fix broken URI scheme (#1342) 2024-12-17 11:49:15 -05:00
renovate[bot]
7721d8b733
Update dependency com.google.oauth-client:google-oauth-client to v1.37.0 (#1369)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-17 11:48:41 -05:00
Cuong-Tran
75db0d09e5
Fix spelling (#1368) 2024-12-16 08:58:10 -05:00
NGB-Was-Taken
fd120c5081
Get manga info from tracker (#1271)
* Barebones setup (only AniList works)

* Show tracker selection dialog when entry has more than one tracker

* MangaUpdates implementation

* Add logging and toast on error.

* MyAnimeList implementation

* Kitsu implementation

* Fix MAL authors and artists

* Decode AL description

* Throw NotImplementedError instead of returning null

* Use logcat from LogcatExtensions

* Replace strings with MR strings

* Missed a string

* Delete unused Author class.

* Add Bangumi & Shikimori support for info edit (#2)

This adds the necessary API calls and DTOs to allow for editing an
entry's data to the data from a tracker, specifically adding support
for Bangumi and Shikimori.

* Exclude enhanced trackers from tracker select dialog

* MdList implementation

* Remember getTracks and trackerManager

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

---------

Co-authored-by: MajorTanya <39014446+MajorTanya@users.noreply.github.com>
Co-authored-by: jobobby04 <jobobby04@users.noreply.github.com>
2024-12-08 15:25:26 -05:00
KenjieDec
34e9d9f146
Add support for .webp image extension (#1335) 2024-12-08 15:24:48 -05:00
Weblate (bot)
b7f7187293
Translations update from Hosted Weblate (#1299)
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy-plurals/as/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy-plurals/hr/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy-plurals/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/as/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/es/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/fil/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/hr/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/id/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/it/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/pt/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/tr/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/zh_Hant/
Translation: Mihon/TachiyomiSY
Translation: Mihon/TachiyomiSY Plurals

Co-authored-by: Cauã Oliveira <caua.oli.santos@gmail.com>
Co-authored-by: Frosted <frosted@users.noreply.hosted.weblate.org>
Co-authored-by: Homura Akemi <amber_c001@protonmail.com>
Co-authored-by: Igor Coimbra Carvalheira <igorccarvalheira111@gmail.com>
Co-authored-by: Illia Stoianov <Walrus_Morj@protonmail.com>
Co-authored-by: Infy's Tagalog Translations <ced.paltep10@gmail.com>
Co-authored-by: Itsmechinmoy <itsmechinmoy@users.noreply.hosted.weblate.org>
Co-authored-by: KenjieDec <kenjiedec@gmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Paulo Victor <paulovictorbarrosdecarvalho@gmail.com>
Co-authored-by: Ruben Lopes <lopes.ruben@ua.pt>
Co-authored-by: TheKingTermux <50316075+TheKingTermux@users.noreply.github.com>
Co-authored-by: cannnAvar <bartucanavar@proton.me>
Co-authored-by: jobobby04 <jobobby04@gmail.com>
Co-authored-by: ɴᴇᴋᴏ <s99095lkjjim@gmail.com>
2024-12-08 15:23:50 -05:00
Jobobby04
4abadea4f9 Spotless 2024-12-08 15:22:57 -05:00
Jobobby04
1b3d76398b Minor cleanup 2024-12-08 15:18:51 -05:00
Weblate (bot)
688fdecaf8 Translations update from Hosted Weblate (#1531)
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/hr/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/uk/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/vi/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/as/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/hr/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/uk/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/vi/
Translation: Mihon/Mihon
Translation: Mihon/Mihon Plurals

Co-authored-by: Illia Stoianov <Walrus_Morj@protonmail.com>
Co-authored-by: Itsmechinmoy <itsmechinmoy@users.noreply.hosted.weblate.org>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Nguyễn Trung Đức <vaicato16@gmail.com>
(cherry picked from commit b4ad9ae0634330eb4b3a9479cd522de48819a886)
2024-12-08 14:37:37 -05:00
MajorTanya
0bedee1778 Always use software bitmap on certain devices (#1543)
* Include Coil's broken hardware bitmap device list

Declares all listed devices as unable to use hardware bitmaps.

Might fix #1541.

* Hide Hardware Bitmap Threshold setting if unusable

This hides the setting from the UI if the user's device in on Coil's
list of devices with problematic hardware bitmap implementations.

Also moved HARDWARE_BITMAP_UNSUPPORTED into the ImageUtil as a
property for more ergonomic access across the project.

* Add missing negation

* Update CHANGELOG.md

* Update CHANGELOG.md

* Needs to be and not or

Also fix typo in CHANGELOG.md

---------

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

# Conflicts:
#	CHANGELOG.md
#	core/common/src/main/kotlin/tachiyomi/core/common/util/system/ImageUtil.kt
2024-12-08 14:23:57 -05:00
Weblate (bot)
bb89f9f636 Translations update from Hosted Weblate (#1423)
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/as/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/sc/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/am/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/as/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/bg/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ceb/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/da/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/de/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/el/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/eo/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/es/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/eu/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/fa/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/fi/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/fil/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/hi/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/id/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/it/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ja/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ka/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/kn/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ml/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/my/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ne/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/nn/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/pt/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ru/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/sa/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/sah/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/sc/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/sk/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/tr/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/zh_Hant/
Translation: Mihon/Mihon
Translation: Mihon/Mihon Plurals

Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Akhil Raj <89210430+akhi07rx@users.noreply.github.com>
Co-authored-by: AntsyLich <antsylich@gmail.com>
Co-authored-by: Dexroneum <Rozhenkov69@gmail.com>
Co-authored-by: FateXBlood <fatexblood@gmail.com>
Co-authored-by: Frosted <frosted@users.noreply.hosted.weblate.org>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Horace Johnson <horacejohnson99@gmail.com>
Co-authored-by: Igor Coimbra Carvalheira <igorccarvalheira111@gmail.com>
Co-authored-by: Infy's Tagalog Translations <ced.paltep10@gmail.com>
Co-authored-by: Itsmechinmoy <itsmechinmoy@users.noreply.hosted.weblate.org>
Co-authored-by: Leandro Cândido <123888466+marshfellow42@users.noreply.github.com>
Co-authored-by: Lyfja <45209212+lyfja@users.noreply.github.com>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: TheKingTermux <achmadmaulana0233@gmail.com>
Co-authored-by: ZerOriSama <godarms2010@live.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: ɴᴇᴋᴏ <s99095lkjjim@gmail.com>
(cherry picked from commit a807722838d1f10141b29721957cbac5a95f147d)
2024-12-08 14:22:44 -05:00
MajorTanya
f8011981eb Add a Honor system app to list of invalid browsers (#1520)
Closes #1348.

Specifically adds com.hihonor.android.internal.app to the list of
invalid browsers. It's very similar to the existing entry for Huawei,
so it stands to reason it is the same/similar problem as with Huawei's
internal app.

(cherry picked from commit 3bd8d3ecb7023d1b01930ab0f91482c23e89c946)
2024-12-08 14:22:34 -05:00
Mend Renovate
7e17e52e07 Update dependency org.jsoup:jsoup to v1.18.2 (#1515)
(cherry picked from commit 8ea95cb27fa3c263cc9905c63cd8493ffb831ef5)
2024-12-08 14:22:27 -05:00
Mend Renovate
b65990ad29 Update dependency io.coil-kt.coil3:coil-bom to v3.0.4 (#1510)
(cherry picked from commit e280fd63b67355b60a6f303a7d02539785d02856)
2024-12-08 14:22:21 -05:00
Mend Renovate
d9560d40de Update dependency gradle to v8.11.1 (#1475)
(cherry picked from commit addb4ae9ad5f9294c70bce8b5eebd806115158b2)
2024-12-08 14:22:14 -05:00
AntsyLich
036ab3351d Improve hardware bitmap threshold option
Also `spotlessApply`

(cherry picked from commit d6dfd24548eaa05a8c3e478068fe2e08f2ee4473)
2024-12-08 14:22:06 -05:00
Cuong-Tran
769293355f Fix app update error notification disappearing (#1476)
(cherry picked from commit 88aff2c77fbaed52ab101ce75c2cbe72f1747579)
2024-12-08 14:21:57 -05:00
AntsyLich
850d81600e Slightly tweak Preference.PreferenceItem.CustomPreference
(cherry picked from commit 81effea01c33d4b47f6802a3d5e31fa39609a6fb)
2024-12-08 14:21:47 -05:00
AntsyLich
ce96b53f10 Fix loading screen not appearing when changing query in browser screen
Fixes #1438
Closes #1441

(cherry picked from commit 9aef08c333397caa4b897514cf76966592d3849c)

# Conflicts:
#	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
2024-12-08 14:20:29 -05:00
AntsyLich
b98dfd65b5 Add option to lower the threshold for hardware bitmaps
Closes #1436
Closes #1486

(cherry picked from commit dcddac5daaff3ec89c8507c35dc13d345ffdb6d7)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt
2024-12-08 14:16:10 -05:00
AntsyLich
612e0a00bc Revert "Add option to always use SSIV for image decoding"
This reverts commit bb4d9fc81a043ac4f2d0105f19c09974ae2f7201.

(cherry picked from commit 1909126921ac78309f7f7c7c2aa85606611531b8)

# Conflicts:
#	CHANGELOG.md
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/ReaderPageImageView.kt
2024-12-08 14:14:24 -05:00
AntsyLich
d286cf3267 Switch to hardware bitmap in reader only if device can handle it
Closes #1460

(cherry picked from commit e6d96bd348ea5d18a005d6465222ad5f5123103e)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/coil/TachiyomiImageDecoder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/ReaderPageImageView.kt
2024-12-08 14:13:59 -05:00
Cuong-Tran
1a28c7fb35 Fix reader transition color scheme in auto background mode (#1487)
(cherry picked from commit 36d5ee0763be2b0bcc65f9d061961d86359fe6f6)
2024-12-08 14:10:36 -05:00
Mend Renovate
5909f90003 Update paging.version to v3.3.4 (#1481)
(cherry picked from commit 5a91d5c611faacacf5cf6fa135e93863c0332475)
2024-12-08 14:10:29 -05:00
Mend Renovate
48f7b701dc Update dependency androidx.viewpager:viewpager to v1.1.0-rc01 (#1480)
(cherry picked from commit e332590b1bbe3eaea76763db0761e9690ae684e2)
2024-12-08 14:10:23 -05:00
Mend Renovate
b17530ccc3 Update dependency io.coil-kt.coil3:coil-bom to v3.0.3 (#1485)
(cherry picked from commit 39982c406351c93610dedda75ac5199d29b3d6a5)
2024-12-08 14:10:14 -05:00
Mend Renovate
f844a48b67 Update dependency io.coil-kt.coil3:coil-bom to v3.0.2 (#1469)
(cherry picked from commit d1a970e3f3c9a2cfea2567a2e86245fc8a169c68)
2024-12-08 14:10:07 -05:00
Cuong-Tran
66929e097c Fix crash after removing last category while it's active in library (#1450)
(cherry picked from commit 9df21583dc1da6da4041709a6d059848c6c9bda0)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/components/LibraryTabs.kt
2024-12-08 14:10:00 -05:00
AntsyLich
be30814d35 Update dependency androidx.work:work-runtime to v2.10.0
(cherry picked from commit 57e6e198b8101aa4ea60da89aea371f827b5f7e4)
2024-12-08 13:59:55 -05:00
Mend Renovate
5d56c1961d Update dependency com.android.tools:desugar_jdk_libs to v2.1.3 (#1453)
(cherry picked from commit 3a648e4fa50fa9c6cf8703b74062d67db237be1c)
2024-12-08 13:59:49 -05:00
Mend Renovate
4aa52a2576 Update dependency io.coil-kt.coil3:coil-bom to v3.0.1 (#1454)
(cherry picked from commit 6159bc36368910c024682ad5d0d2b298bc4fb17f)
2024-12-08 13:59:43 -05:00
Mend Renovate
f7a1869066 Update dependency com.pinterest.ktlint:ktlint-cli to v1.4.1 (#1449)
(cherry picked from commit 3cfc2be104c2820eccbaa9d3a68b3df0ed37e39c)
2024-12-08 13:59:30 -05:00
Mend Renovate
2f1d76cbac Update dependency androidx.compose:compose-bom to v2024.10.01 (#1424)
(cherry picked from commit 9580a00aa674edd66c6a22ea127e6317f5d85498)
2024-12-08 13:59:25 -05:00
Mend Renovate
5c5e08b99b Update dependency androidx.core:core-ktx to v1.15.0 (#1417)
(cherry picked from commit cb2b0464d036496d7b029468a9a3efc2e95151d9)
2024-12-08 13:59:18 -05:00
Mend Renovate
cc16d53ecc Update dependency com.android.tools.build:gradle to v8.7.2 (#1428)
(cherry picked from commit ef7992f9121828af9efa7a66ed1d2d731793d6b5)
2024-12-08 13:59:12 -05:00
Mend Renovate
28fa3855c2 Update dependency io.coil-kt.coil3:coil-bom to v3.0.0 (#1444)
(cherry picked from commit a5349a881b650c15de57ba39e4e121a26918f913)
2024-12-08 13:59:00 -05:00
Mend Renovate
5a47a58e1e Update xml.serialization.version to v0.90.3 (#1446)
(cherry picked from commit 2ca2cec02b818d85c73885fadc23f8480e62a0af)
2024-12-08 13:58:53 -05:00
Jobobby04
c86714ef59 Fix some deprecations 2024-12-08 13:58:44 -05:00
AntsyLich
75fe57b851 Cleanup some code
(cherry picked from commit 2f4bb7cadb0297492cfb21393e75ca276e0539d7)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
2024-12-08 13:58:32 -05:00
Jobobby04
b9fffc45cc Fix idle status set 2024-12-08 13:47:54 -05:00
Jobobby04
de6cd169d0 Return newpage joineditems check 2024-12-08 13:37:29 -05:00
Jobobby04
95e8a02e33 Forgot import 2024-12-08 13:36:19 -05:00
Jobobby04
c720f0ac5c Increase new updates count when updates found 2024-12-08 13:35:58 -05:00
Jobobby04
76af3b59f0 Improve favorites sync statuses 2024-12-08 13:35:36 -05:00
Jobobby04
3f8cce8a32 Update tag lists 2024-12-08 13:31:38 -05:00
Jobobby04
26cfb4811f Fix a possible crash with auto-zoom 2024-11-07 22:21:39 -05:00
Jobobby04
e5a6d1b456 Fix a crash with migration list screen 2024-11-07 22:21:18 -05:00
Jobobby04
f0b621dfe5 Fix multiple issues with the E-Hentai updater 2024-11-07 22:21:02 -05:00
NGB-Was-Taken
d88f570f65
Do not sync automatically when not connected to a network. (#1312) 2024-11-03 23:42:39 -05:00
Jobobby04
b430e31da4 Fix app onStart sync 2024-11-03 22:44:31 -05:00
Jobobby04
271f2d37bb Fix crashes from Exh Updater 2024-11-03 22:30:47 -05:00
AntsyLich
c2e36b4c5c Add option to always use SSIV for image decoding
(cherry picked from commit bb4d9fc81a043ac4f2d0105f19c09974ae2f7201)

# Conflicts:
#	CHANGELOG.md
2024-11-03 22:01:55 -05:00
Weblate (bot)
cb25deb5ac Translations update from Hosted Weblate (#1111)
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/as/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/eo/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/es/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/hi/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/hr/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/it/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/nl/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/sa/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/as/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/bn/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ca/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/cv/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/de/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/el/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/es/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/fil/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/fr/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/hi/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/hr/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/id/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/it/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ja/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/kk/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/lt/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ml/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ne/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/nl/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ro/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ru/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/sc/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/sq/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/th/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/tr/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/vi/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/zh_Hant/
Translation: Mihon/Mihon
Translation: Mihon/Mihon Plurals

Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Akhil Raj <89210430+akhi07rx@users.noreply.github.com>
Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
Co-authored-by: AntsyLich <antsylich@gmail.com>
Co-authored-by: C201 <derasetad@gmail.com>
Co-authored-by: Chiro-kun <chirokun863@gmail.com>
Co-authored-by: Dexroneum <Rozhenkov69@gmail.com>
Co-authored-by: Eduard Ereza Martínez <eduard@ereza.cat>
Co-authored-by: Eji-san <ejierubani@gmail.com>
Co-authored-by: Eren Eroğlu <ereneroglum@yahoo.com>
Co-authored-by: Fadhil Muhammad <alpanumerik1@gmail.com>
Co-authored-by: FateXBlood <fatexblood@gmail.com>
Co-authored-by: Fordas <fordas15@gmail.com>
Co-authored-by: Frosted <frosted@users.noreply.hosted.weblate.org>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: HDYOU <308485965@qq.com>
Co-authored-by: Homura Akemi <amber_c001@protonmail.com>
Co-authored-by: Infy's Tagalog Translations <ced.paltep10@gmail.com>
Co-authored-by: Itsmechinmoy <itsmechinmoy@users.noreply.hosted.weblate.org>
Co-authored-by: Kryptox <info.kryptox@gmail.com>
Co-authored-by: Leandro Cândido <123888466+marshfellow42@users.noreply.github.com>
Co-authored-by: Lyfja <45209212+lyfja@users.noreply.github.com>
Co-authored-by: Marco Espinoza <maviesco@gmail.com>
Co-authored-by: Milihraim <kirill06678@gmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: N. Hao <nguyenviethao2002@gmail.com>
Co-authored-by: NGB-Was-Taken <myalternate34@gmail.com>
Co-authored-by: Nguyễn Trung Đức <vaicato16@gmail.com>
Co-authored-by: Noah Kenzie Rodriguez-Beus <noahbeus@protonmail.com>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: SBS1313 <simonsaade005@gmail.com>
Co-authored-by: Saft Octavian <saftoctavian@gmail.com>
Co-authored-by: Siebrenvde <siebren@siebrenvde.dev>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: Valerio Marini <marinivalerio97@gmail.com>
Co-authored-by: ZerOriSama <godarms2010@live.com>
Co-authored-by: abc0922001 <abc0922001@hotmail.com>
Co-authored-by: altinat <al@altqx.com>
Co-authored-by: altinat <altinat@duck.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: gekka <1778962971@qq.com>
Co-authored-by: orkan gökçe alaz aşina <examplehuman@outlook.com>
Co-authored-by: phlostically <phlostically@mailinator.com>
Co-authored-by: ɴᴇᴋᴏ <s99095lkjjim@gmail.com>
Co-authored-by: 赤星悠太 <yuta1219aka@gmail.com>
(cherry picked from commit 79e711efc20855f42cb544697edc124963506414)

# Conflicts:
#	i18n/src/commonMain/moko-resources/nl/strings.xml
#	i18n/src/commonMain/moko-resources/vi/strings.xml
#	i18n/src/commonMain/moko-resources/zh-rTW/strings.xml
2024-11-03 22:01:14 -05:00
AntsyLich
a6c6cf77bb Address some build warnings and cleanup (#1412)
(cherry picked from commit a1c60897916f418726107fec80ad79b2a4b8d500)
2024-11-03 21:59:24 -05:00
AntsyLich
e3dae57e0b Fix long strip images not loading in some old devices
Fixes #1398

(cherry picked from commit 06efc3b25c5af51f42448af27a269ee459d9093d)

# Conflicts:
#	CHANGELOG.md
2024-11-03 21:59:17 -05:00
AntsyLich
226321f334 Fix a rare crash when invoking "Mark previous as read" action
Closes #1421

(cherry picked from commit f508d10ad13560d7316df8642bc93fe66c05b9a8)

# Conflicts:
#	CHANGELOG.md
2024-11-03 21:58:50 -05:00
AntsyLich
2187731d70 Auto format extension repo URLs
Closes #1392
Closes #1393

(cherry picked from commit 22d8aad598bea8f00f2831779e45a6645392ca0f)

# Conflicts:
#	CHANGELOG.md
2024-11-03 21:58:28 -05:00
AntsyLich
fd32f2e879 Bump default user agent
(cherry picked from commit 76dcf903403d565056f44c66d965c1ea8affffc3)

# Conflicts:
#	CHANGELOG.md
2024-11-03 21:58:07 -05:00
Mend Renovate
5a094850d1 Update dependency io.coil-kt.coil3:coil-bom to v3.0.0-rc02 (#1401)
(cherry picked from commit f33a6d25209fa9a1291f3dae222fc0ff8d95dba9)
2024-11-03 21:57:47 -05:00
Mend Renovate
e74053e989 Update dependency androidx.constraintlayout:constraintlayout to v2.2.0 (#1416)
(cherry picked from commit 2914d166fe0ad5d6bb126fd5fe89d8ca3074787b)
2024-11-03 21:57:39 -05:00
Mend Renovate
798db44908 Update lifecycle.version to v2.8.7 (#1415)
(cherry picked from commit 328ec8c752f276a6e75f68102a257880e4b18753)
2024-11-03 21:57:32 -05:00
MajorTanya
7715b5bdd0 Some improvements to Bangumi tracker search (#1396)
In short:
- fetch & show actual summary
- fallback to "name" if "name_cn" is empty
- request larger responseGroup to get & display the summary & rating
- add type filter query param to make Bangumi filter, not us

Previously, we only displayed the "name" in the summary area and used
"name_cn" as the entry name. However, "name_cn" (Chinese name) can be
an empty string at times, resulting in an awkward looking search
result list where some, many, or even all the results have no title
displayed and only show the "name" (Japanese name) in the summary
area. This has been solved by using "name" as a fallback value should
"name_cn" be empty.

If a Chinese name is available, the original name is prepended to the
summary with the addition "作品原名:" (meaning "original series title").

By using the "responseGroup=large" query parameter, we can request
the required data we need to display the actual summary for an entry
and the entry's average rating.
The "name" is prepended to the summary contents, if any exist, so it
is still accessible for series identification if a "name_cn" exists
too and was used for the result title.

Adding the "type=1" filter query parameter means Bangumi will only
return entries of type 1 ("book") instead of all types and Mihon
needing to filter, resulting in potentially missed entry matches.

(cherry picked from commit 78f9a84b14e0ece988f80d61011f63c0f7e92a67)

# Conflicts:
#	CHANGELOG.md
2024-11-03 21:57:28 -05:00
Mend Renovate
084e11f21d Update dependency androidx.annotation:annotation to v1.9.1 (#1413)
(cherry picked from commit eedece5adfbb95c882d4d59a5020f7e27c634c13)
2024-11-03 21:57:05 -05:00
Mend Renovate
01792c0618 Update dependency androidx.viewpager:viewpager to v1.1.0-beta01 (#1414)
(cherry picked from commit 9d6ddb5d91bd062876bdb108ca3ce278359551e5)
2024-11-03 21:56:57 -05:00
AntsyLich
0b93ceaa8f Switch to spotless 7.0.0 Beta 4
(cherry picked from commit b8b053b1d720a6de5c3d4d8a683eed7bc8cdcc5f)
2024-11-03 21:56:44 -05:00
MajorTanya
bfdbe18509 Fix sporadically recurring spotless CI failure (#1407)
Somehow this specific issue keeps getting flagged by unrelated PRs'
CI runs (but only sometimes? Somehow? Other times the CI run would
succeed with no spotless issues.)

---------

Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit ed9e13a365ba1b55cec21c26b93b1c62d29485c8)
2024-11-03 21:56:35 -05:00
AntsyLich
e3245d0610 Here lies "currentTab was used multiple times"
Fixes #282

(cherry picked from commit 371c1432e218f6dcf129f05405dceb2cd351c647)

# Conflicts:
#	CHANGELOG.md
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/BrowseTab.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/home/HomeScreen.kt
2024-11-03 21:56:22 -05:00
Jobobby04
c2df6ee54a Fix InterceptActivity crash 2024-11-03 21:03:22 -05:00
Jobobby04
ffc1e2d97b SpotlessApply 2024-10-27 23:08:42 -04:00
Jobobby04
d0c8b0c98a Fix tests 2024-10-27 22:56:04 -04:00
Jobobby04
f206ab8b32 Release 1.11.0 2024-10-27 22:32:00 -04:00
Jobobby04
a443629234 Fix reflection 2024-10-27 14:07:28 -04:00
Jobobby04
3de4711e03 Try this Shizuku fix 2024-10-27 13:34:33 -04:00
Weblate (bot)
106f63a657
Translations update from Hosted Weblate (#1289)
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy-plurals/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/ar/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/as/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/es/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/fil/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/id/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/it/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/ru/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/zh_Hant/
Translation: Mihon/TachiyomiSY
Translation: Mihon/TachiyomiSY Plurals

Co-authored-by: Dexroneum <Rozhenkov69@gmail.com>
Co-authored-by: Eji-san <ejierubani@gmail.com>
Co-authored-by: Fordas <fordas15@gmail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Infy's Tagalog Translations <ced.paltep10@gmail.com>
Co-authored-by: Itsmechinmoy <itsmechinmoy@users.noreply.hosted.weblate.org>
Co-authored-by: Noah Kenzie Rodriguez-Beus <noahbeus@protonmail.com>
Co-authored-by: Sergeev Vladimir Dmitrievich <sekhmych@gmail.com>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: ZerOriSama <godarms2010@live.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: ɴᴇᴋᴏ <s99095lkjjim@gmail.com>
2024-10-26 23:44:53 -04:00
Luqman
3c09343f7b
allow chapter 0 dupe auto mark as read (#1291) 2024-10-26 23:31:44 -04:00
Jobobby04
86e1406565 Spotless 2024-10-26 23:30:07 -04:00
jobobby04
b48556aa9f Fix for ExHentai 2024-10-26 23:06:30 -04:00
Cuong-Tran
f3e905513f Fix app crash when removing tracked entry from tracker (#1380)
(cherry picked from commit 6de06419f8afd842f7037e3ecb51200037af3a85)
2024-10-26 22:25:23 -04:00
Roshan Varughese
633a1892b3 Allow completely disabling "Update tracker" snackbar on mark as read (#1374)
Also fixes #1369

(cherry picked from commit fc2f339ea1cdc43c0041b2fed497dcfda853b85e)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
2024-10-26 22:25:11 -04:00
Cuong-Tran
74cf08b47b Add libs.material to presentation-widget (#1373)
Fixes some build issues

(cherry picked from commit 264030d6ecbc7492d884eb328b74399cd722dcb0)
2024-10-26 22:16:09 -04:00
Jobobby04
cc7ce80abf Ignore Shizuku min sdk since desurging is enabled 2024-10-26 22:15:35 -04:00
AntsyLich
e06941f82d Update dependency com.pinterest.ktlint:ktlint-cli to v1.4.0
Co-authored-by: Mend Renovate <bot@renovateapp.com>
(cherry picked from commit 140083ee39df7d458e5ff9abc6d0ee9831d99387)
2024-10-26 21:59:54 -04:00
AntsyLich
a8a290d03d Cleanup Slider usage
(cherry picked from commit df9fff60da3a38acd8fcd540b5fdd275be93f2d5)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/reader/appbars/ReaderAppBars.kt
#	app/src/main/java/eu/kanade/presentation/reader/components/ChapterNavigator.kt
2024-10-26 21:59:33 -04:00
Mend Renovate
b49ca3ce4c Update dependency me.zhanghai.android.libarchive:library to v1.1.4 (#1378)
(cherry picked from commit aae0e3459ce13398a64b5cd9995f4a40a0120822)
2024-10-26 21:53:38 -04:00
Cuong-Tran
c51c364cdd Avoid blocking call to load categories in settings (#1364)
(cherry picked from commit f7752a98b2452a69f22a469d0bcbf761fb1c6569)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsLibraryScreen.kt
2024-10-26 21:53:27 -04:00
abdurisaq
366415d323 Fix settings SliderItem steps count (#1356)
(cherry picked from commit 2ba7ed32802ffca1946d567b8afe49bfd3f4326e)
2024-10-26 21:52:33 -04:00
Roshan Varughese
14f6fd7908 Rework Auto Track on Mark as Read (#1365)
(cherry picked from commit c153ac01f545ce9259c58aa5d5f7223d2f8f628b)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
2024-10-26 21:52:24 -04:00
Mend Renovate
15f1ee2205 Update dependency com.google.firebase:firebase-bom to v33.5.1 (#1362)
(cherry picked from commit 78d2cc75d5dc04fe5cddcfaeb0a4502d48392f2d)
2024-10-26 21:51:14 -04:00
AntsyLich
651579b243 Update shizuku.version to v13.1.0
(cherry picked from commit c550a81598c98ef9a22dac8f6a408f5c15235fde)
2024-10-26 21:50:55 -04:00
Mend Renovate
8f596069fa Update dependency com.google.firebase:firebase-bom to v33.5.0 (#1352)
(cherry picked from commit 0be36a10c36d3b8c5802ff515302ed29cc8fa013)
2024-10-26 21:50:41 -04:00
Mend Renovate
a28d526102 Update dependency org.junit.jupiter:junit-jupiter to v5.11.3 (#1351)
(cherry picked from commit e16c3953c709a6c35c4655f916119fdf665baa62)
2024-10-26 21:50:34 -04:00
Jobobby04
bbaa74d99c Fix build 2024-10-20 01:51:54 -04:00
AntsyLich
310b1ad69b Pass uncaught exception to default handler in GlobalExceptionHandler
Fixes #1347

(cherry picked from commit f3a2f566c8a09ab862758ae69b43da2a2cd8f1db)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/crash/GlobalExceptionHandler.kt
2024-10-20 01:04:23 -04:00
AntsyLich
7f37989c4e Rework Firebase setup
Fixes #1332
Closes #1339

(cherry picked from commit 15e3f28aa36bec3c31f212c572ab57ce960cc862)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/App.kt
2024-10-20 01:03:36 -04:00
AntsyLich
185920b984 Address deprecation, suggestion and spotless
(cherry picked from commit 3bf70b230fc2c3eda58c4d46dec3fb75668e4f69)
2024-10-20 01:02:06 -04:00
AntsyLich
4639077756 Revert "Tweak Preference.collectAsState"
This reverts commit 3bddb5538528c19388e364d21e6a6c16487af759.

Fixes #1341

(cherry picked from commit eb3bea8150ce9bf2320d15c879cbebaa6d51a4c6)
2024-10-20 01:01:58 -04:00
Mend Renovate
0bf1519c25 Update dependency androidx.compose:compose-bom to v2024.10.00 (#1338)
(cherry picked from commit 5612ae0149e9231c9691ee782da8159489a0d057)
2024-10-20 01:01:48 -04:00
Mend Renovate
45a36cef32 Update xml.serialization.version to v0.90.2 (#1331)
* Update xml.serialization.version to v0.90.2

* Fix build

---------

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

# Conflicts:
#	source-local/src/androidMain/kotlin/tachiyomi/source/local/LocalSource.kt
2024-10-20 01:01:41 -04:00
AntsyLich
dece1bc0cb Change "Invalidate downloads index" to "Reindex downloads"
(cherry picked from commit d2afbfe4ede283076aae40633c79c3f90b4390e7)
2024-10-20 01:01:09 -04:00
Mend Renovate
eaffd3f2dc Update dependency androidx.annotation:annotation to v1.9.0 (#1336)
(cherry picked from commit 337806d9e17e92a9134d59324e9857d05abc4db3)
2024-10-20 01:00:58 -04:00
Mend Renovate
aabe409ee5 Update dependency androidx.glance:glance-appwidget to v1.1.1 (#1335)
(cherry picked from commit 443f6e0ae53dadce1f66818fac0cd1eeaa5fec27)
2024-10-20 01:00:50 -04:00
Mend Renovate
e626cdd030 Update dependency androidx.benchmark:benchmark-macro-junit4 to v1.3.3 (#1334)
(cherry picked from commit 572ee2f02a980a60a1120e7c0c88060fb1a7b3d2)
2024-10-20 01:00:43 -04:00
Mend Renovate
b161c333ec Update dependency androidx.activity:activity-compose to v1.9.3 (#1333)
(cherry picked from commit ba1343bed8c00d5ed976111c710c9b5648676a59)
2024-10-20 01:00:36 -04:00
FlaminSarge
e587bb7f44 [skip ci] Update i18n readme (#1328)
(cherry picked from commit 9f3d5d13d4fedcca53ebb779a2cfca1e286c79da)
2024-10-20 01:00:26 -04:00
Mend Renovate
6cf7ef7bba Update dependency com.android.tools.build:gradle to v8.7.1 (#1326)
(cherry picked from commit 48166b9b52836f225273651b21fb02e7aba4197e)
2024-10-14 19:32:51 -04:00
AntsyLich
91d61a75e3 Make sure random library sort is at the bottom
(cherry picked from commit 2e2c8d36c1e23bf274c7c19f1242e14b0c7afbc1)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/LibrarySettingsDialog.kt
2024-10-14 19:32:35 -04:00
AntsyLich
95ae5211a7 Reorder reader menu overflow items
(cherry picked from commit 788235feeca241228eac0561339dd07b5ea0b77d)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/reader/appbars/ReaderAppBars.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
2024-10-14 19:15:44 -04:00
AntsyLich
62afbf8ff3 Cleanup .gitignore files
(cherry picked from commit afa50029882655af8d5eea40aed7644fce4564d8)

# Conflicts:
#	.gitignore
#	app/.gitignore
2024-10-14 19:10:41 -04:00
Jobobby04
2ea8449eb7 Fix issue with not showing source names in merged manga sometimes 2024-10-14 16:49:49 -04:00
Fuad Hasan
697b0de226
Hide sync library option when sync is disabled (#1275)
* Hide sync library option when sync is disabled

- Add isSyncEnabled parameter to LibraryToolbar and LibraryRegularToolbar
- Pass isSyncEnabled from LibraryTab to LibraryToolbar
- Conditionally display sync library action based on isSyncEnabled
- Update LibraryContent to include isSyncEnabled parameter
- Adjust LibraryTab to handle sync-related functionality
- Remove direct dependency on SyncPreferences in LibraryToolbar

* Update LibraryScreenModel to react to sync service changes

- Replace static isSyncEnabled update with dynamic observation
- Use syncPreferences.syncService().changes() to update isSyncEnabled state
- Ensure isSyncEnabled is updated whenever the sync service changes

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

* Fix sync service state update in LibraryScreenModel

- Resolve ambiguity in lambda parameters
- Correctly update isSyncEnabled state based on syncService value

* Optimize sync service state updates in LibraryScreenModel

- Add distinctUntilChanged() to filter out consecutive duplicate emissions
- Simplify mutableState.update lambda for better readability
- Remove redundant boolean comparison in isSyncEnabled assignment

---------

Co-authored-by: jobobby04 <jobobby04@users.noreply.github.com>
2024-10-14 16:35:49 -04:00
NGB-Was-Taken
41e523e074
Allow adding multiple tags separated by commas (#1282) 2024-10-14 16:34:58 -04:00
NGB-Was-Taken
dee543c7c5
Respect the altTitlesInDesc preference (MD) (#1283)
* Respect the `altTitlesInDesc` preference (MD)

* Replace hardcoded "Alternative Titles" with localized string
2024-10-14 16:34:26 -04:00
Weblate (bot)
788d3797cb
Translations update from Hosted Weblate (#1268)
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy-plurals/de/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy-plurals/eo/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy-plurals/es/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy-plurals/id/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy-plurals/ja/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/as/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/de/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/eo/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/es/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/fil/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/fr/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/ne/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/ru/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/tr/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/zh_Hant/
Translation: Mihon/TachiyomiSY
Translation: Mihon/TachiyomiSY Plurals

Co-authored-by: Chrono Lux <amber_c001@protonmail.com>
Co-authored-by: Eji-san <ejierubani@gmail.com>
Co-authored-by: FateXBlood <fatexblood@gmail.com>
Co-authored-by: Infy's Tagalog Translations <ced.paltep10@gmail.com>
Co-authored-by: Itsmechinmoy <itsmechinmoy@users.noreply.hosted.weblate.org>
Co-authored-by: Leandro Cândido <123888466+marshfellow42@users.noreply.github.com>
Co-authored-by: Miguel Angel Gaitan Ortega <gamersusa9@gmail.com>
Co-authored-by: Milihraim <kirill06678@gmail.com>
Co-authored-by: Phymos <phymosmusic@gmail.com>
Co-authored-by: Simon Saade <simonsaade005@gmail.com>
Co-authored-by: Tim Schneeberger <tim.schneeberger@outlook.de>
Co-authored-by: abc0922001 <abc0922001@hotmail.com>
Co-authored-by: akir45 <akkn0708@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: orkan gökçe alaz aşina <examplehuman@outlook.com>
Co-authored-by: phlostically <phlostically@mailinator.com>
Co-authored-by: ɴᴇᴋᴏ <s99095lkjjim@gmail.com>
2024-10-14 16:33:39 -04:00
Jobobby04
6464c00503 SpotlessApply 2024-10-14 16:23:36 -04:00
Cuong-Tran
dc88ea8f63
honor downloadChapters (#1270) 2024-10-14 16:19:48 -04:00
renovate[bot]
95cbb35152
fix(deps): update dependency net.zetetic:sqlcipher-android to v4.6.1 (#1255)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-14 16:16:02 -04:00
NGB-Was-Taken
558ce084c8
Show download state and progress on reader chapter list. (#1263)
* Show download state and progress on reader chapter list.

* Update download indicator on progress and status change.
2024-10-14 16:14:58 -04:00
Roshan Varughese
943555c0af Add option to backup non-library read entries (#1324)
Co-authored-by: jobobby04 <jobobby04@gmail.com>
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit de36357da834bff4110dbb56dd7ce7aad04d3c7d)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/create/BackupCreator.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/create/BackupOptions.kt
#	data/src/main/sqldelight/tachiyomi/data/mangas.sq
2024-10-14 16:12:10 -04:00
AntsyLich
216bc2c57d Adjust expandable fab animation
Co-authored-by: p
(cherry picked from commit eb6092bd0cfa09694985a8bafdd8bbf2815190a1)
2024-10-14 15:28:40 -04:00
AntsyLich
cde3002355 Refrain from running spotless on weblate files
Those are akin to generated files and are likely to not follow our formatting

(cherry picked from commit 32d2c2ac1bc224cbda2f09a4023d7d120ea0e954)

# Conflicts:
#	buildSrc/src/main/kotlin/mihon.code.lint.gradle.kts
2024-10-14 15:28:30 -04:00
brewkunz
db907cf270 Fix EnhancedTracker not auto binding when adding manga to library (#1298)
(cherry picked from commit 3ed8a91c7b37ed89e6c4cab91daa79e6c846abe3)
2024-10-14 15:26:20 -04:00
Roshan Varughese
a269802af9 Confirmation dialog when removing privately installed extensions (#1320)
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit 87db3f90dee8aa566038b46d0bdc975e715ab8f6)
2024-10-14 15:26:12 -04:00
Mend Renovate
affab50a02 Update dependency me.zhanghai.android.libarchive:library to v1.1.3 (#1321)
(cherry picked from commit 0a4ad89b9902061e3e2c2d9f2eb71f6b33c5c01c)
2024-10-14 15:26:03 -04:00
Jack Hamilton
2f102db19d Added random library sort (#1317)
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit a72db41bf1746db095fd27bbbce9765c06453581)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/LibrarySettingsDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
#	domain/src/main/java/tachiyomi/domain/library/model/LibrarySortMode.kt
2024-10-14 15:25:20 -04:00
Roshan Varughese
457e5f963b Add Quantity Badge to Upcoming Screen (#1250)
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit 6b2bba4e5495274552787adc20db390a89d783b6)
2024-10-14 15:20:37 -04:00
Roshan Varughese
2bd9a914c1 Add option to opt out of Analytics and Crashlytics (#1237)
(cherry picked from commit 7c7af72f8cb12decc06b76c36852dcc54696236d)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsSecurityScreen.kt
#	app/src/standard/AndroidManifest.xml
2024-10-14 15:20:28 -04:00
AntsyLich
f6d2d0bd48 Remove usage of deprecated accompanist SystemUiController
Co-authored-by: p
(cherry picked from commit 2ba3f0612c08c7021fed2f6d96cd538da2f34a13)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
2024-10-14 15:05:44 -04:00
AntsyLich
91ae683b74 ChapterNavigator: dispatch page change only when needed
Co-authored-by: p
(cherry picked from commit f84d9a08b4af768b1e9920c43cc445c86f5427fc)
2024-10-14 14:59:06 -04:00
AntsyLich
bccd1eff2b Bump compile sdk to 35
Co-authored-by: p
(cherry picked from commit 37419cdc26c2b5c4f8583fc2ba439b08fab42856)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionManager.kt
#	core/common/src/main/kotlin/eu/kanade/tachiyomi/util/system/WebViewUtil.kt
2024-10-14 14:58:56 -04:00
AntsyLich
9ed90eb6f2 Update resources exclusion rules
Co-authored-by: p
(cherry picked from commit 481cfedf08576cecfbb35616837bd8f627d8f959)
2024-10-14 14:48:08 -04:00
AntsyLich
a246d897de Adjust distinct checker in WidgetManager and run on default dispatcher
Co-authored-by: p
(cherry picked from commit 9b8ab6acc25a5f99c9c5eebf9cc250975931c57c)
2024-10-14 14:47:59 -04:00
AntsyLich
4923ba0b54 Tweak Preference.collectAsState
Co-authored-by: p
(cherry picked from commit 3bddb5538528c19388e364d21e6a6c16487af759)
2024-10-14 14:47:34 -04:00
AntsyLich
bd278b1878 Cleanup LibraryScreenModel LibraryMap.applySort and some more
(cherry picked from commit 2beb89d53163a6d288f8acdebe0f5d26fea8ab3e)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
2024-10-14 14:47:20 -04:00
Mend Renovate
ea0816a6c1 Update kotlin monorepo to v2.0.21 (#1314)
(cherry picked from commit 016f627fb0998dabcd6aea907b54365aa4e6a285)
2024-10-14 14:05:39 -04:00
brewkunz
af3c7a0753 Retain remote last chapter read if it's higher than the local one for EnhancedTracker (#1301)
(cherry picked from commit 44aab7a2437ffdab354ee5ed82593fbaabb06a64)
2024-10-14 14:05:30 -04:00
Mend Renovate
4a9184bfc1 Update dependency io.mockk:mockk to v1.13.13 (#1313)
(cherry picked from commit a2dc88965b8b06cd40d65b75450e1ca4a1e08bd4)
2024-10-14 14:05:21 -04:00
AntsyLich
77d75de855 Update renovate configuration
- Remove package rule for "dev.chrisbanes.compose:compose-bom"
- Disable semantic commits

(cherry picked from commit aa998071a1f476a6078f19500bc58f7855c3f8ae)

# Conflicts:
#	.github/renovate.json5
2024-10-14 14:05:12 -04:00
Mend Renovate
d7fbdb1b35 fix(deps): update dependency io.coil-kt.coil3:coil-bom to v3.0.0-rc01 (#1308)
(cherry picked from commit 8113b77f1e762629f31cbcc5b9163819c6384a8b)
2024-10-14 14:04:12 -04:00
Secozzi
6ad9eb098f Fix AniList ALSearchItem.status nullibility (#1297)
(cherry picked from commit 76e0aba70cc3a744e6ef4950a89ff6a498a54909)
2024-10-14 14:04:04 -04:00
Mend Renovate
a6667bc91d fix(deps): update dependency androidx.compose:compose-bom to v2024.09.03 (#1288)
(cherry picked from commit f7fbc93833c6107791680412cc110336d0e4e717)
2024-10-14 14:03:56 -04:00
Mend Renovate
1e7b6d488c fix(deps): update dependency org.junit.jupiter:junit-jupiter to v5.11.2 (#1294)
(cherry picked from commit 85ee9c6686ee4f4ca5519297df7c4b5482cc26c2)
2024-10-14 14:03:48 -04:00
Mend Renovate
d0ef7bcd54 fix(deps): update dependency androidx.profileinstaller:profileinstaller to v1.4.1 (#1289)
(cherry picked from commit c72c07f355a93f67d16166715dfdab88f2cc9201)
2024-10-14 14:03:40 -04:00
Mend Renovate
e29e7c9169 fix(deps): update dependency androidx.benchmark:benchmark-macro-junit4 to v1.3.2 (#1287)
(cherry picked from commit 6984e0465babed7638481b1982de7415612f32e5)
2024-10-14 14:03:31 -04:00
Mend Renovate
4eb8dc35b9 fix(deps): update dependency com.google.firebase:firebase-bom to v33.4.0 (#1285)
(cherry picked from commit 3ca989eae8593a121fc22a617160f5d7439f937a)
2024-10-14 14:03:22 -04:00
Mend Renovate
1077820d59 fix(deps): update dependency com.android.tools.build:gradle to v8.7.0 (#1284)
(cherry picked from commit cca33481dd1466ae6a9919796229586fe0937523)
2024-10-14 14:02:39 -04:00
renovate[bot]
ccf1f3b6ef chore(deps): update dependency gradle to v8.10.2 (#1254)
* chore(deps): update dependency gradle to v8.10.2

* Update binaries

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit f7c8f1801ea8c7af7542ab8e3dce035ada495c7c)
2024-10-14 14:02:30 -04:00
renovate[bot]
73d91a8537 fix(deps): update dependency androidx.compose:compose-bom to v2024.09.02 (#1239)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 112b68b782d0f0ac027bf3d73ad28a8df0dc75b8)
2024-10-14 14:02:21 -04:00
renovate[bot]
a141e63408 fix(deps): update dependency org.junit.jupiter:junit-jupiter to v5.11.1 (#1262)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 2dd02b73d6059cef372e5d605efdafa7f60b47b0)
2024-10-14 14:02:15 -04:00
renovate[bot]
3e1c346a04 fix(deps): update dependency me.zhanghai.android.libarchive:library to v1.1.2 (#1255)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit d04eeface97d64d921e9df23ffeba49d3eca2994)
2024-10-14 14:02:06 -04:00
renovate[bot]
6872dc449f fix(deps): update dependency androidx.profileinstaller:profileinstaller to v1.4.0 (#1242)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 380787a31021d710a8a6619d4e0c1b01e3e47941)
2024-10-14 14:01:48 -04:00
renovate[bot]
c672548491 fix(deps): update lifecycle.version to v2.8.6 (#1241)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 418ba3026546b4785907c001a05006b609b490a3)
2024-10-14 14:01:40 -04:00
renovate[bot]
74abed9abd fix(deps): update dependency androidx.benchmark:benchmark-macro-junit4 to v1.3.1 (#1238)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit b3867dd63c714333f58678f13b4cafc708cbd918)
2024-10-14 14:01:26 -04:00
renovate[bot]
cb813908a6 fix(deps): update serialization.version to v1.7.3 (#1246)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 6dd93d70cc5c7fa39157d069b41be5557256537e)
2024-10-14 14:01:18 -04:00
Roshan Varughese
049a395790 Change casing for Extention Repos String (#1248)
(cherry picked from commit 2276abbb2373b94535e99c2d72ce0f7f6a1d008a)
2024-10-14 14:01:10 -04:00
renovate[bot]
bc79694eae fix(deps): update dependency com.android.tools.build:gradle to v8.6.1 (#1235)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 0042cb6582f05d2a139b059bef81dc979e9a8ad6)
2024-10-14 14:00:41 -04:00
renovate[bot]
812f76b8f5 fix(deps): update dependency me.zhanghai.android.libarchive:library to v1.1.1 (#1229)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 1e570bc9654fb0382a8d5b37923c9700e49be696)
2024-10-14 14:00:34 -04:00
Roshan Varughese
4d8b5fc8a1 Re-enable fetching chapters list for entries with licenced status (#1230)
Enable Licensed

(cherry picked from commit 9cc7d42dd9676319559eddc7a4a264fca155e1ca)
2024-10-14 14:00:26 -04:00
MajorTanya
a40c54e60c Fix Kitsu synopsis nullability (#1233)
This time, the Kitsu API docs are silent on whether this field (or
any other field) can be null/undefined/etc, but it can happen and
caused an error during search and update. This change just ensures the
attribute is nullable and is set to an empty String when it is null.

(cherry picked from commit f5c6d2e1a6896c031b8f4583375ee868f252822a)
2024-10-14 14:00:16 -04:00
Roshan Varughese
e8ff402fff Fix WheelPicker Manual Input (#1209)
* Fix WheelPicker Manual Input

* Lambda

* inline

* Update WheelPicker.kt

---------

Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit 339dc33f5833b224c01577da3da081deecdbbca2)
2024-10-14 14:00:02 -04:00
Cuong-Tran
0753ffe425 Fix: wrong calculation of nextUpdate when setting custom fetchInterval (#1206)
(cherry picked from commit 223af5508f6b56c7d7bf1c68d3c96a59a1ebc5d7)
2024-10-14 13:59:56 -04:00
renovate[bot]
03aa27fb6b fix(deps): update dependency androidx.compose:compose-bom to v2024.09.01 (#1214)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit d42f776c5c5ddd8fade02bc7d0117a7c3e1054d5)
2024-10-14 13:59:48 -04:00
renovate[bot]
51b9004a2d fix(deps): update dependency com.google.firebase:firebase-bom to v33.3.0 (#1216)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 5c0dc3e05a8de6b4c75452ea10328935a0de0f37)
2024-10-14 13:59:42 -04:00
renovate[bot]
23285587a7 fix(deps): update dependency com.squareup.okio:okio to v3.9.1 (#1217)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit bebf80dfaec037559af061950083289a0ae23b44)
2024-10-14 13:59:34 -04:00
renovate[bot]
5dcc02c44f fix(deps): update dependency org.jetbrains.kotlinx:kotlinx-coroutines-bom to v1.9.0 (#1222)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 1ff88dd9274db681ae0d76b39223389a1f758973)
2024-10-14 13:59:26 -04:00
renovate[bot]
ecd38d9429 chore(deps): update dependency gradle to v8.10.1 (#1211)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit fcb01b5bcf81e7c25ff820e99fcf10e867c3782f)
2024-10-14 13:59:15 -04:00
renovate[bot]
3b3e3f5d35 fix(deps): update dependency org.jetbrains.kotlinx:kotlinx-collections-immutable to v0.3.8 (#1198)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 844dae1a4d23b88318e0ea482b38df4e3f5f2be2)
2024-10-14 13:59:08 -04:00
NGB-Was-Taken
0d66d03f56 Show toast for app restart when User-Agent is changed (#1204)
(cherry picked from commit c8ad6cdf31a14bce9a525cfc2a0616e8ac51d7c3)
2024-10-14 13:58:53 -04:00
AntsyLich
a68bb60126 Bump NDK version (#1203)
(cherry picked from commit fbcc48fefc7ed050f6416a8684816730bcb5f8a8)

# Conflicts:
#	buildSrc/src/main/kotlin/mihon/buildlogic/AndroidConfig.kt
2024-10-14 13:58:45 -04:00
AntsyLich
1e9f7612f0 Reduce ChapterNavigator horizontal padding on small ui (#1202)
Co-authored-by: p
(cherry picked from commit 6f422745ba6db135514ac4959216923932565760)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/reader/components/ChapterNavigator.kt
2024-10-14 13:58:16 -04:00
AntsyLich
51229ca511 Use TextFieldState in BasicTextField where applicable (#1201)
Co-authored-by: p
(cherry picked from commit bec549cc444328c8b46594c67a84d25dcc1aca6f)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsSearchScreen.kt
2024-10-14 13:56:14 -04:00
Jobobby04
b98e198e15 SpotlessApply 2024-10-14 13:54:54 -04:00
bapeey
3cac63ed91 Ignore "intent://" urls on webview (#1193)
ignore intent urls

(cherry picked from commit b56a97bb8eaf336c75e69e7fb32b87431d991bb3)
2024-10-14 13:50:55 -04:00
renovate[bot]
6bb2bc03f3 fix(deps): update dependency androidx.activity:activity-compose to v1.9.2 (#1189)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 52036e5664cbcf552de706adee6e0b4b972fe1c3)
2024-10-14 13:50:48 -04:00
renovate[bot]
da3823daed fix(deps): update dependency com.google.accompanist:accompanist-systemuicontroller to v0.36.0 (#1192)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 29a74509a4af475694551808e317df96ea1146ad)
2024-10-14 13:50:39 -04:00
renovate[bot]
3edb03de32 fix(deps): update lifecycle.version to v2.8.5 (#1190)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 0e956cbb518e0e0827c1e7dfde8427cb8660a9fb)
2024-10-14 13:50:31 -04:00
Tran M. Cuong
3408ef635d Fix disappearance items when fast scrolling (#1035)
* Don't use animateItem's fade-in/fade-out in FastScrollLazyColumn

* Move to extension function

Avoid using animateItemPlacement name since it's shadowed by compose-bom's deprecated one

(cherry picked from commit 913ff22132390a59a13c463645ce954c7cbc5c6b)
2024-10-14 13:50:10 -04:00
renovate[bot]
365cd0b14d fix(deps): update dependency dev.chrisbanes.compose:compose-bom to v2024.05.00-alpha03 (#843)
* fix(deps): update dependency dev.chrisbanes.compose:compose-bom to v2024.05.00-alpha03

* Fix build

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit 777a071f4a2f32efc3447d118afd8b48006b3919)
2024-10-14 13:39:16 -04:00
AntsyLich
96439afce4 Bump compose version
Co-authored-by: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
(cherry picked from commit e473c7f09fc009161145aca94bd70027f042b0bf)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/components/GlobalSearchResultItems.kt
#	app/src/main/java/eu/kanade/presentation/manga/components/MangaInfoHeader.kt
#	gradle/compose.versions.toml
2024-10-14 13:38:38 -04:00
AntsyLich
c1c615000b Switch to stable compose
(cherry picked from commit 2baffa62cade1abd978d5fd03151b47fc87fd31e)

# Conflicts:
#	gradle/compose.versions.toml
2024-10-14 13:37:01 -04:00
AntsyLich
58df8b79fb Rename LocalesConfigPlugin file to LocalesConfigTask
(cherry picked from commit 70c1a842b207d8faf0d87635674667d190669fd1)
2024-10-14 13:01:00 -04:00
MajorTanya
f524763854 Fix Kitsu ratingTwenty being typed as String (#1191)
The API docs and the responses type `ratingTwenty` as a "number" (Int
in Kotlin, it's divided by 2 for a .5 step scale 0-10). It's nullable
because an entry without a user rating returns `null` in that field.

(cherry picked from commit 001249a89dd4824a3df5661733062662c0ab44bd)
2024-10-14 13:00:48 -04:00
renovate[bot]
402f5e6bad fix(deps): update dependency com.android.tools:desugar_jdk_libs to v2.1.2 (#1188)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit c4d2fffb12c83c76cf48a85cbc9d7d754a4da39c)
2024-10-14 13:00:35 -04:00
AntsyLich
0d13c6187c Fix mishap in 02af9b1acf9f590d29560bc3fc90d206e8e6e1af
(cherry picked from commit f22767d863a0fa001f93f24092cd5ade87350502)
2024-10-14 13:00:13 -04:00
AntsyLich
1853a86a73 Remove more unnecessary permissions from Firebase dependency
(cherry picked from commit 02af9b1acf9f590d29560bc3fc90d206e8e6e1af)
2024-10-14 13:00:07 -04:00
AntsyLich
77e6e06cfa Add crashlytics to standard builds
(cherry picked from commit 3c611b95fb79e5ac972019b76c7b24f46a3087fd)

# Conflicts:
#	app/build.gradle.kts
2024-10-14 12:59:57 -04:00
AntsyLich
21440a0290 Migrate some classpaths to gradle plugins
(cherry picked from commit fc1c804bfda1d76c0399bbb6214e75b3def951cc)

# Conflicts:
#	app/build.gradle.kts
#	build.gradle.kts
#	i18n/build.gradle.kts
2024-10-14 12:32:35 -04:00
Roshan Varughese
d6ffef15e1 Option to update trackers when chapter marked as read (#1177)
* Track when marked as read

* Add dismiss to snack bar

* i18n & ignore decimal chapters

* Detekt would have caught that 🤣

* `Ok` > `Yes`

* Dont prompt if untracked or current > new

* Move to MangaScreenModel

* Suggestions

Co-Authored-By: AntsyLich <59261191+AntsyLich@users.noreply.github.com>

* Review 2

* toggleAllSelections first

---------

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

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
2024-10-14 12:27:14 -04:00
Smol Ame
3cc250e122 Enable 'Split Tall Images' by default (#1185)
(cherry picked from commit 9c1905ede750f0229fad1a01431058b1cc9fb32d)
2024-10-14 12:26:23 -04:00
MajorTanya
051c559840 Use DTOs to parse tracking API responses (#1103)
* Migrate tracking APIs to DTOs

Changes the handling of tracker API responses to be parsed to DTOs
instead of doing so "manually" by use of `jsonPrimitive`s and/or
`Json.decodeFromString` invocations.

This greatly simplifies the API response handling.

Renamed constants to SCREAMING_SNAKE_CASE.

Largely tried to name the DTOs in a uniform pattern, with the
tracker's (short) name at the beginning of file and data class names
(ALOAuth instead of OAuth, etc).

With these changes, no area of the code base should be using
`jsonPrimitive` and/or `Json.decodeFromString` anymore.

* Fix wrong types in KitsuAlgoliaSearchItem

This API returns start and end dates as Long and the score as Double.

Kitsu's docs claim they're strings (and they are, when requesting
manga details from Kitsu directly) but the Algolia search results
return Longs and Double, respectively.

* Apply review changes

- Renamed `BangumiX` classes to `BGMX` classes.
- Renamed `toXStatus` and `toXScore` to `toApiStatus` and `toApiScore`

* Handle migration from detekt to spotless

Removed Suppressions added for detekt.

Specifically removed:
- `SwallowedException` where an exception ends as a default value
- `MagicNumber`
- `CyclomaticComplexMethod`
- `TooGenericExceptionThrown`

Also ran spotlessApply which changed SMAddMangaResponse

* Fix Kitsu failing to add series

The `included` attribute seems to only appear when the user already
has the entry in their Kitsu list.

Since both `data` and `included` are required for `firstToTrack`, a
guard clause has been added before all its calls.

* Fix empty Bangumi error when entry doesn't exist

Previously, the non-null assertion (!!) would cause a
NullPointerException and a Toast with
"Bangumi error: " (no message) when the user had removed their list
entry from Bangumi through other means like the website.

Now it will show "Bangumi error: Could not find manga".

This is analogous to the error shown by Kitsu under these
circumstances.

* Fix Shikimori ignoring missing remote entry

The user would see no indication that Shikimori could not properly
refresh the track from the remote. This change causes the error Toast
notification to pop up with the following message
"Shikimori error: Could not find manga".

This is analogous to Kitsu and Bangumi.

* Remove usage of let where not needed

These particular occurrences weren't needed because properties are
directly accessible to further act upon. This neatly simplifies these
clauses.

* Remove missed let

(cherry picked from commit 9f99f038f341e325c4f56372a5ce950cf9f7cd6d)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/track/anilist/AnilistInterceptor.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/track/anilist/AnilistModels.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/track/kitsu/KitsuInterceptor.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/track/kitsu/KitsuModels.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/track/shikimori/ShikimoriApi.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/track/shikimori/ShikimoriInterceptor.kt
2024-10-14 12:26:09 -04:00
AntsyLich
3972d7fe4b spotlessApply my beloved
(cherry picked from commit 6c6ea84509cc1bd859c880bebbc69067a241b358)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt
2024-10-14 12:19:01 -04:00
AntsyLich
44fd9f3564 Add stable marker to Manga data class
Co-authored-by: ivan <12537387+ivaniskandar@users.noreply.github.com>
(cherry picked from commit 4ee31bfea5b6908e7131e2c46e4cb46155005abf)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt
#	domain/build.gradle.kts
2024-10-14 12:17:18 -04:00
AntsyLich
f36906df45 Collect MangaScreen state with lifecycle
Co-authored-by: ivan <12537387+ivaniskandar@users.noreply.github.com>
(cherry picked from commit 03eb756ecba0692d88d3a76254afc4c157fa225b)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
2024-10-14 12:07:03 -04:00
AntsyLich
efbaf1a4ca PagerPageHolder: lazy init loading indicator
Co-authored-by: ivan <12537387+ivaniskandar@users.noreply.github.com>
(cherry picked from commit a45eb5e5288159dbbbbb5f92140ce0dd32a8f3ab)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt
2024-10-14 12:05:13 -04:00
Jobobby04
2f8efe0526 Switch Injekt to Koin-Injekt bridge and implement InjektRegistrar bridge 2024-10-14 11:59:02 -04:00
AntsyLich
dea38912fc Use feature flags in compose compiler plugin
And slight cleanup

(cherry picked from commit 8f9a325895bb7b94c2ec92dd969094fc30b3b5e2)
2024-09-01 11:39:34 -04:00
renovate[bot]
5243346356 fix(deps): update dependency com.android.tools.build:gradle to v8.6.0 (#1178)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit f74071ab0a70c4fd649b451e58841539d011496a)
2024-09-01 11:39:27 -04:00
renovate[bot]
6bb3ec5b8a fix(deps): update dependency com.android.tools:desugar_jdk_libs to v2.1.1 (#1172)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 7fb3ef48e4fafce471173111fe1632754e5e9e99)
2024-09-01 11:39:20 -04:00
renovate[bot]
7390e72045 fix(deps): update serialization.version to v1.7.2 (#1173)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 1837faa573f11a6b97fe13f358d6fa0e980c2ef7)
2024-09-01 11:39:12 -04:00
AntsyLich
64ff5cb9af Remove legacy broken source and history backup
(cherry picked from commit 518abf032ccb9bb45d197927be2a5faca4167d29)
2024-09-01 11:38:46 -04:00
Roshan Varughese
82f011e48e Hide keyboard when a Tracker SearchResultItem is clicked (#1168)
* Hide keyboard on select

* Code Review Suggestion

(cherry picked from commit 7ca64a67c5c64103aa3a5c7efb9227d3a98b715d)
2024-09-01 11:38:36 -04:00
renovate[bot]
8868a5db2b fix(deps): update dependency com.android.tools:desugar_jdk_libs to v2.1.0 (#1162)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 607e56a4ec6393a3bfd25fe74cbae676fd94df22)
2024-09-01 11:38:27 -04:00
Catting
a335feedfc Add "show entry" action to download notifications (#1159)
* Add 'show entry' to download notifications

Signed-off-by: Catting <5874051+mm12@users.noreply.github.com>

* fixup! Add 'show entry' to download notifications

Signed-off-by: Catting <5874051+mm12@users.noreply.github.com>

* fixup! Add 'show entry' to download notifications

Signed-off-by: Catting <5874051+mm12@users.noreply.github.com>

* spotless! Add 'show entry' to download notifications

Signed-off-by: Catting <5874051+mm12@users.noreply.github.com>

* Apply suggestions from code review

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

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

* fixup! spotless- Apply suggestions from code review

Signed-off-by: Catting <5874051+mm12@users.noreply.github.com>

---------

Signed-off-by: Catting <5874051+mm12@users.noreply.github.com>
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit 952a98c1804b2134e59fcb471c54cf7c4e1f415e)
2024-09-01 11:38:14 -04:00
Roshan Varughese
90ff5e69ec Add confirmation when adding repo via URI (#1158)
* Add confirmation when adding repo via URI

* Blank lines

* Suggestions

* Reverting Changes

* Removing Unused Imports

(cherry picked from commit 45628b14db477b266eb1f1f4ca9bec0b43f741cc)
2024-09-01 11:37:58 -04:00
Roshan Varughese
68a1820695 Respect privacy settings in extension update notification (#1156)
* Hide Extension Names in Update Notifications when Content is Hidden

* Moving `val` inside if

* [skip ci] Update CHANGELOG.md

(cherry picked from commit 5dc6569a683da47f5323c252fce1bd4094a5d232)

# Conflicts:
#	CHANGELOG.md
2024-09-01 11:37:48 -04:00
renovate[bot]
292b551027 fix(deps): update aboutlib.version to v11.2.3 (#1151)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit fba9bacdc19dee7cdf9e3d1cb4ee4a496fa7b514)
2024-09-01 11:37:23 -04:00
Dani
e19c62a8ae Add option to skip downloading duplicate read chapters (#1125)
* Add query to get chapter count by manga and chapter number

* Add functions to get chapter count by manga and chapter number

* Only count read chapters

* Add interactor

* Savepoint

* Extract new chapter logic to separate function

* Update javadocs

* Add preference to toggle new functionality

* Add todo

* Add debug logcat

* Use string resource instead of hardcoding title

* Add temporary logcat for debugging

* Fix detekt issues

* Update javadocs

* Update download unread chapters preference

* Remove debug logcat calls

* Update javadocs

* Resolve issue where read chapters were still being downloaded during manual manga fetch

* Apply code review changes

* Apply code review changes

* Revert "Apply code review changes"

This reverts commit 1a2dce78acc66a7c529ce5b572bdaf94804b1a30.

* Revert "Apply code review changes"

This reverts commit ac2a77829313967ad39ce3cb0c0231083b9d640d.

* Group download chapter logic inside the interactor GetChaptersToDownload

* Update javadocs

* Apply code review

* Apply code review

* Apply code review

* Update CHANGELOG.md to include the new feature

* Run spotless

* Update domain/src/main/java/mihon/domain/chapter/interactor/FilterChaptersForDownload.kt

---------

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

# Conflicts:
#	CHANGELOG.md
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
2024-09-01 11:37:04 -04:00
renovate[bot]
348cb335c4 fix(deps): update moko to v0.24.2 (#1148)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 379d5878266ba0287bfcc4a06452c27d70f33ba1)
2024-09-01 10:53:49 -04:00
renovate[bot]
c426d11d76 chore(deps): update kotlin monorepo to v2.0.20 (#1144)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 034ec4cb120c0f36cad1303de1314c28c4ec4969)
2024-09-01 10:53:39 -04:00
renovate[bot]
1965c0825d fix(deps): update dependency com.google.firebase:firebase-analytics to v22.1.0 (#1146)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit ab2b734d49299dc3b30e0a7f0d5cbb268b0bff97)
2024-09-01 10:53:27 -04:00
renovate[bot]
0124763fcd fix(deps): update dependency androidx.benchmark:benchmark-macro-junit4 to v1.3.0 (#1142)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 08ae51ea8c5ceccc8c5c65120f387d7b19d18052)
2024-09-01 10:53:18 -04:00
Hosted Weblate
b0d737592c Translations update from Hosted Weblate
Co-authored-by: Ahmed seif al-nasr <ahmdsyfalnsr2@gmail.com>
Co-authored-by: Anas KANJO <anas.kanjo2022@gmail.com>
Co-authored-by: Dexroneum <Rozhenkov69@gmail.com>
Co-authored-by: Frosted <cinardogan110@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Infy's Tagalog Translations <ced.paltep10@gmail.com>
Co-authored-by: Lyfja <45209212+lyfja@users.noreply.github.com>
Co-authored-by: TheKingTermux <achmadmaulana0233@gmail.com>
Co-authored-by: bittin1ddc447d824349b2 <bittin@reimu.nl>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: gekka <1778962971@qq.com>
Co-authored-by: ɴᴇᴋᴏ <s99095lkjjim@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/tr/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ar/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/de/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/es/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/fil/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/id/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ja/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ru/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/sv/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/tr/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/zh_Hant/
Translation: Mihon/Mihon
Translation: Mihon/Mihon Plurals
(cherry picked from commit 4387ae5ff3131dd4aaaacd75fa6e82e7b322d474)

# Conflicts:
#	i18n/src/commonMain/moko-resources/tr/strings.xml
2024-09-01 10:53:09 -04:00
renovate[bot]
e14596465b fix(deps): update dependency org.conscrypt:conscrypt-android to v2.5.3 (#1135)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit b2f1719c50365279e157a3b9ee015fc6c13a9a92)
2024-09-01 10:51:14 -04:00
renovate[bot]
5e52dfcc66 chore(deps): update dependency gradle to v8.10 (#1122)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 3f050a83dd0907e0ffb56a1e1833f9de5b10b329)
2024-09-01 10:51:07 -04:00
renovate[bot]
a09643fc77 fix(deps): update dependency org.junit.jupiter:junit-jupiter to v5.11.0 (#1121)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 6f4e3f776f98d7a47dfa33b2cdfe992fc211ec28)
2024-09-01 10:51:00 -04:00
NGB-Was-Taken
19bc08659b
Move "Choose what to sync" out of "Sync now" (#1264) 2024-09-01 10:45:30 -04:00
NGB-Was-Taken
2cb8f8f872
Show local chapters as downloaded on merged entries. (#1262)
* Show local chapters as downloaded on merged entries.

* Disable downloadIndicator for local chapters on merged entries.
2024-09-01 10:45:20 -04:00
NGB-Was-Taken
23c7bb09d3
Update links. (#1261)
* Update links.

* [skip ci] Change a tachiyomi.org link.
2024-09-01 10:45:11 -04:00
NGB-Was-Taken
bdb8553e28
Respect thumbnailQuality and tryUsingFirstVolumeCover preferences. (MD) (#1260) 2024-09-01 10:45:01 -04:00
Weblate (bot)
fbac29e0cd
Translations update from Hosted Weblate (#1259)
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy-plurals/es/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy-plurals/fil/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy-plurals/ja/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/fil/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/hr/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/id/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/ne/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/ru/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/zh_Hant/
Translation: Mihon/TachiyomiSY
Translation: Mihon/TachiyomiSY Plurals

Co-authored-by: Dexroneum <Rozhenkov69@gmail.com>
Co-authored-by: Fadhil Muhammad <alpanumerik1@gmail.com>
Co-authored-by: HDYOU <308485965@qq.com>
Co-authored-by: Infy's Tagalog Translations <ced.paltep10@gmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: NGB-Was-Taken <myalternate34@gmail.com>
Co-authored-by: akir45 <akkn0708@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: ɴᴇᴋᴏ <s99095lkjjim@gmail.com>
2024-09-01 10:44:49 -04:00
Jobobby04
b0aa2ffc42 Test to auto-add translations label 2024-08-23 16:39:17 -04:00
Jobobby04
45b5d9b8a4 Exclude weblate strings 2024-08-23 16:26:54 -04:00
Tran M. Cuong
91b98cdb82
Fix spotless error caused by #1253 being created before apply spotless (#1258) 2024-08-23 08:59:22 -04:00
Weblate (bot)
7f544f7163
Translations update from Hosted Weblate (#1253)
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/fil/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/ja/
Translation: Mihon/TachiyomiSY

Co-authored-by: Infy's Tagalog Translations <ced.paltep10@gmail.com>
Co-authored-by: akir45 <akkn0708@gmail.com>
Co-authored-by: jobobby04 <jobobby04@users.noreply.github.com>
2024-08-22 21:37:06 -04:00
Tran M. Cuong
3705880a77
Implement Mihon's spotless PR (#1257)
* Remove detekt (mihonapp/mihon#1130)

Annoying. More annoying in this project.

(cherry picked from commit 777ae2461e1eb277a3aa0c998ff69e4f100387a1)

* Add spotless (with ktlint) (mihonapp/mihon#1136)

(cherry picked from commit 5ae8095ef1ed2ae9f98486f9148e933c77a28692)

* Address spotless lint errors (mihonapp/mihon#1138)

* Add spotless (with ktlint)

* Run spotlessApply

* screaming case screaming case screaming case

* Update PagerViewerAdapter.kt

* Update ReaderTransitionView.kt

(cherry picked from commit d6252ab7703d52ecf9f43de3ee36fd63e665a31f)

* Generate locales_config.xml in build dir

(cherry picked from commit ac41bffdc97b4cfed923de6b9e8e01cccf3eb6eb)

* Address more spotless lint errors in SY

* some more missed

* more missed

* still missing, not sure while it won't report error when running locally

* one more

* more

* more

* correct comment

---------

Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
2024-08-22 21:24:50 -04:00
Jobobby04
759fd4d4e3 Follow previous comment 2024-08-17 20:38:26 -04:00
FooIbar
fc956fc791 Add comment about RecyclerView cache size (#1119)
Note for forks: Increasing cache size may cause OOM on API < 26, better
to make it API 26+ only.

(cherry picked from commit 1c47a6b9b35c622200c731cdbbc076f5263e8d06)
2024-08-17 20:33:30 -04:00
AntsyLich
9d7346157b Sync compose theme with MDC theme
(cherry picked from commit 9a34ace09c66274e6c2b3f9446058a0fa99d4bd0)

# Conflicts:
#	CHANGELOG.md
2024-08-17 20:31:20 -04:00
Weblate (bot)
0f0f4cf4a9
Translations update from Hosted Weblate (#1247)
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy-plurals/ar/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy-plurals/ru/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/ar/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/fil/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/id/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/ru/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/zh_Hant/
Translation: Mihon/TachiyomiSY
Translation: Mihon/TachiyomiSY Plurals

Co-authored-by: Ahmed seif al-nasr <ahmdsyfalnsr2@gmail.com>
Co-authored-by: Dexroneum <Rozhenkov69@gmail.com>
Co-authored-by: Howard Wu <HowardWu20@outlook.com>
Co-authored-by: Infy's Tagalog Translations <ced.paltep10@gmail.com>
Co-authored-by: TawfikSharaf <tawfikahmed132.wa@gmail.com>
Co-authored-by: TheKingTermux <achmadmaulana0233@gmail.com>
Co-authored-by: Tim Schneeberger <thebone.main@gmail.com>
Co-authored-by: ɴᴇᴋᴏ <s99095lkjjim@gmail.com>
2024-08-17 20:27:46 -04:00
akir45
426ef65102
Add japanese Translation (#1248)
* Add plurals.xml

* Add string.xml
2024-08-17 20:27:36 -04:00
Shamicen
95c834581b
Libarchive refactor (#1249)
* Refactor archive support with libarchive

* Refactor archive support with libarchive

* Revert string resource changs

* Only mark archive formats as supported

Comic book archives should not be compressed.

* Fixup

* Remove epub from archive format list

* Move to mihon package

* Format

* Cleanup

Co-authored-by: Shamicen <84282253+Shamicen@users.noreply.github.com>
(cherry picked from commit 239c38982c4fd55d4d86b37fd9c3c51c3b47d098)

* handle incorrect passwords

* lint

* fixed broken encryption detection + small tweaks

* Add safeguard to prevent ArchiveInputStream from being closed twice (#967)

* fix: Add safeguard to prevent ArchiveInputStream from being closed twice

* detekt

* lint: Make detekt happy

---------

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

(cherry picked from commit e620665dda9eb5cc39f09e6087ea4f60a3cbe150)

* fixed ArchiveReaderMode CACHE_TO_DISK

* Added some missing SY --> comments

---------

Co-authored-by: FooIbar <118464521+fooibar@users.noreply.github.com>
Co-authored-by: Ahmad Ansori Palembani <46041660+null2264@users.noreply.github.com>
2024-08-17 20:25:25 -04:00
NGB-Was-Taken
71f2daf8f3
Delete duplicate downloaded chapters when they are automatically marked as read (#1252) 2024-08-17 20:24:29 -04:00
Jobobby04
7ec14cd9f0 Fix preview 2024-08-11 20:42:40 -04:00
AntsyLich
c23c9491fc Handle Android SDK 35 API collision
(cherry picked from commit fdb96179c6373eb0a8e7d6daea671a315d5ce5f0)
2024-08-11 19:41:15 -04:00
Jobobby04
29f3766c87 Update version code 2024-08-11 19:37:48 -04:00
Jobobby04
07c89890bc Fix SY migrations 2024-08-11 19:37:05 -04:00
Weblate (bot)
64a54f55b3
Translations update from Hosted Weblate (#1228)
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy-plurals/ar/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy-plurals/ru/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/ar/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/mihon/tachiyomisy/zh_Hant/
Translation: Mihon/TachiyomiSY
Translation: Mihon/TachiyomiSY Plurals

Co-authored-by: Ahmed seif al-nasr <ahmdsyfalnsr2@gmail.com>
Co-authored-by: Dexroneum <Rozhenkov69@gmail.com>
Co-authored-by: Howard Wu <HowardWu20@outlook.com>
Co-authored-by: TawfikSharaf <tawfikahmed132.wa@gmail.com>
Co-authored-by: ɴᴇᴋᴏ <s99095lkjjim@gmail.com>
2024-08-11 18:39:57 -04:00
Tim Schneeberger
f7202e67cc
feat(migration): add option to only show entries with new chapters (#1238) 2024-08-11 18:30:19 -04:00
renovate[bot]
155b03c176
fix(deps): update dependency com.elvishew:xlog to v1.11.1 (#1239)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-11 18:29:49 -04:00
renovate[bot]
6b0482576b
chore(deps): update gradle/actions action to v4 (#1243)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-11 18:29:42 -04:00
AntsyLich
c137bafd68 Fix UI freeze after migration
Fixes #938

(cherry picked from commit 3f1d28c3833e6b868152149ed02b3fb8c54eccef)
2024-08-11 18:09:02 -04:00
AntsyLich
49bdffdc28 Add a button to select all scanlators
Resolves #943
Closes #1109

(cherry picked from commit 84b2164787a795f3fd757c325cbfb6ef660ac3a3)
2024-08-11 18:08:43 -04:00
Catting
f1b32d531a Add Copy Tracker URL on icon long press (#1101)
* Add Copy Tracker URL on icon long press

Signed-off-by: Catt0s <5874051+mm12@users.noreply.github.com>

* Add 'Copy To Clipboard' to tracker item menu

Signed-off-by: Catt0s <5874051+mm12@users.noreply.github.com>

* Add 'Copy link' to locales.

Signed-off-by: Catt0s <5874051+mm12@users.noreply.github.com>

* Implement code review suggestions
>
> Co-authored-by: AntsyLich  <59261191+AntsyLich@users.noreply.github.com>

Signed-off-by: Catt0s <5874051+mm12@users.noreply.github.com>

* Update app/src/main/java/eu/kanade/presentation/track/components/TrackLogoIcon.kt

---------

Signed-off-by: Catt0s <5874051+mm12@users.noreply.github.com>
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit 200d39e023af79b02276554a1bef1d7d53e3b903)
2024-08-11 18:02:09 -04:00
Weblate (bot)
a5ec6c5cdd Translations update from Hosted Weblate (#939)
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/ar/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/ca/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/cs/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/de/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/es/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/fil/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/id/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/ja/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/ml/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/ru/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/sv/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/am/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ar/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/be/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/bg/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/bn/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ca/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ceb/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/cs/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/cv/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/da/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/de/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/el/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/eo/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/es/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/eu/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/fa/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/fi/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/fil/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/fr/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/gl/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/he/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/hi/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/hr/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/hu/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/id/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/it/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ja/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/jv/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ka/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/kk/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/km/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/kn/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ko/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/lt/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/lv/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ml/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/mr/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ms/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ne/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/nl/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/nn/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/pl/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/pt/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ro/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ru/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/sa/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/sah/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/sc/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/sdh/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/sk/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/sq/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/sr/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/sv/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/te/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/th/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/tr/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/uk/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/uz/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/vi/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/zh_Hant/
Translation: Mihon/Mihon
Translation: Mihon/Mihon Plurals

Co-authored-by: Ahmed seif al-nasr <ahmdsyfalnsr2@gmail.com>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Akhil Raj <akhilakae07@gmail.com>
Co-authored-by: Animeboynz <40583749+Animeboynz@users.noreply.github.com>
Co-authored-by: David Katrinka <davidkatrinka1995@gmail.com>
Co-authored-by: Dexroneum <Rozhenkov69@gmail.com>
Co-authored-by: Eduard Ereza Martínez <eduard@ereza.cat>
Co-authored-by: Eji-san <ejierubani@gmail.com>
Co-authored-by: FateXBlood <fatexblood@gmail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Iker Lerones <ikerlero@hotmail.com>
Co-authored-by: Infy's Tagalog Translations <ced.paltep10@gmail.com>
Co-authored-by: Lyfja <45209212+lyfja@users.noreply.github.com>
Co-authored-by: Matyáš Caras <matyas@caras.wtf>
Co-authored-by: Norsze <norbert.szabo7+github@gmail.com>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: TheKingTermux <achmadmaulana0233@gmail.com>
Co-authored-by: abc0922001 <abc0922001@hotmail.com>
Co-authored-by: bittin1ddc447d824349b2 <bittin@reimu.nl>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: gekka <1778962971@qq.com>
Co-authored-by: sebastians17 <sebastians117.ss@gmail.com>
Co-authored-by: vodkapmp <vodkapmp@gmail.com>
Co-authored-by: ɴᴇᴋᴏ <s99095lkjjim@gmail.com>
Co-authored-by: Артём Голуб <artemtirax2001@gmail.com>
(cherry picked from commit b1b15a93eec15a82e2e83650abf97c1b9f0c501c)
2024-08-11 18:02:02 -04:00
MajorTanya
9c56cdb1c1 Fix MAL search results not showing start dates (#1098)
The previous approach would always throw an Exception because
`SimpleDateFormat.format()` expects the input to be of type `Date` or
`Number`, not `String`.

(cherry picked from commit 97c81fadb426d71ac99c9443ab0e89f4089046ef)
2024-08-11 18:01:51 -04:00
MajorTanya
543de065a6 Change Kitsu to kitsu.app domain (#1106)
cf. 244fdccca9

(cherry picked from commit 9240eceedc5e2b065dd680819c4180c1ae09512b)

# Conflicts:
#	README.md
2024-08-11 18:01:43 -04:00
Jobobby04
33296e1faf Translations readme 2024-08-11 18:00:59 -04:00
Catting
d1a90c0bb7 Contributing: ktLintFormat -> detekt (#1102)
* Contributing: ktLintFormat -> detekt

update Contributing info to use detekt instead of ktLintFormat

* Update CONTRIBUTING.md

---------

Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit 14ae57d78b31f0bb3b58d19c1d8cfcebcc8e2253)
2024-08-11 18:00:34 -04:00
renovate[bot]
9fa61d33be fix(deps): update dependency com.android.tools.build:gradle to v8.5.2 (#1099)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 4828c54245dd6532c0e7a2b6c8cf5d8a703d3376)
2024-08-11 18:00:26 -04:00
renovate[bot]
0e9dcc7855 fix(deps): update dependency io.coil-kt.coil3:coil-bom to v3.0.0-alpha10 (#1092)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit e8b7c3e24bb677d289554b972ef2496a976c79aa)
2024-08-11 18:00:18 -04:00
renovate[bot]
6738c6072d fix(deps): update dependency androidx.work:work-runtime to v2.9.1 (#1091)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit af77083660000e7378587dbc8d44e44bd8b196ec)
2024-08-11 18:00:11 -04:00
renovate[bot]
29033c539c fix(deps): update dependency androidx.annotation:annotation to v1.8.2 (#1090)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 36b9caeea8baf15f0d0ed37abc12638d44194c09)
2024-08-11 18:00:04 -04:00
renovate[bot]
eaa3413c37 fix(deps): update paging.version to v3.3.2 (#1093)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 8e40146f96704c3dc98bbb4f9f89d470ffa32f69)
2024-08-11 17:59:57 -04:00
AntsyLich
73d9d1d46d ExpandableMangaDescription: Adjust size transform anim spec
Co-authored-by: ivan <12537387+ivaniskandar@users.noreply.github.com>
(cherry picked from commit 1c16fc79c2ac4c4be30308fed84ffb371dab5902)
2024-08-11 17:59:47 -04:00
Roshan Varughese
94f9aaf351 Add Backup and Restore of Extension Repos (#1057)
* Backup/Restore Extension Repos

* Refactor

* Moving to Under App Settings

* Sort by URL, Check existing by SHA and Error Logging

Untested. Currently in a lecture and can't test if the changes really work.

* Changes to logic

* Don't ask me what's happening here

* Renaming Variables

* Fixing restoreAmount & changes to logic

Co-Authored-By: AntsyLich <59261191+AntsyLich@users.noreply.github.com>

---------

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

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/create/BackupCreator.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/create/BackupOptions.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/models/Backup.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/restore/BackupRestorer.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/restore/RestoreOptions.kt
2024-08-11 17:59:35 -04:00
AntsyLich
e21149cb37 Rename backup restore error log file
(cherry picked from commit 2858ef835fec8d7278b1d0cad1b5664104d1e4b0)
2024-08-11 17:39:41 -04:00
renovate[bot]
11aad16f59 chore(deps): update kotlin monorepo to v2.0.10 (#1085)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit edb8201f74e516c296b62e04a13802e1bd9e0b6b)
2024-08-11 17:39:30 -04:00
FooIbar
33a3918e86 Don't crash on ill-formed URLs (#1084)
(cherry picked from commit 854474f85ffc41eccdc2b3a6cf105fa2805ebc3c)
2024-08-11 17:39:21 -04:00
Tran M. Cuong
d655b8ecdf fix: drawScrollbar crash on list with 0 item but only sticky header (#1083)
(cherry picked from commit 04db46fe75c2406fe9750e97da65774a6b268f27)
2024-08-11 17:39:12 -04:00
FooIbar
70a8bef7a5 Match extra layout space with scroll distance (#1076)
And increase recycler item view cache size.

(cherry picked from commit a3dfd2efe6ace7a2a4d79bd09fb1a729989f1094)
2024-08-11 17:38:58 -04:00
Vetle Ledaal
999a8613cf Improve error message if restoring from JSON file (#1056)
* Improve error message if restoring from JSON file

* Replace Exception with IOException

* Use more generic error message if protobuf fails

* fix lint

(cherry picked from commit de8ef6dad7c89afb7041ccb489d68539a4849cb5)
2024-08-11 17:38:48 -04:00
AntsyLich
5721a02bca Bump default user agent string
(cherry picked from commit 8160b47ff5fbbd9b32caeb462b5be881fabd3449)
2024-08-11 17:38:39 -04:00
AntsyLich
e303b88b90 Cleanup backup/restore related code
(cherry picked from commit c201b341a716b90d378dcda4bd9b8ac4a343d4fc)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/create/BackupCreator.kt
2024-08-11 17:38:13 -04:00
AntsyLich
a62dd5821a Fix library is backed up when disabled and make categories backup/restore independent
(cherry picked from commit 56fb4f62a152e87a71892aa68c78cac51a2c8596)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/create/BackupCreator.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/create/BackupOptions.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/restore/RestoreOptions.kt
2024-08-11 17:34:04 -04:00
Roshan Varughese
a0786d9b09 Adds Option to Copy Panel to Clipboard (#1003)
* Add Copy to Clipboard

* Removing Unused Import

* Reusing onShare function

* Commit Suggestion

* Early Return on null

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

---------

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

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/reader/ReaderPageActionsDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt
2024-08-11 17:25:33 -04:00
renovate[bot]
04580ce357 fix(deps): update paging.version to v3.3.1 (#1046)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 41e2dc7ae80250d9166fc637c1170667afdb0a9e)
2024-08-11 15:39:47 -04:00
Roshan Varughese
b759f2f02a Format Category String on Subtitle Display (#1030)
* Fixes #1029

* Max Line Length Fix

* Update SettingsLibraryScreen.kt

No idea how this works.

Co-authored-by: Foolbar <118464521+Foolbar@users.noreply.github.com>

---------

Co-authored-by: Foolbar <118464521+Foolbar@users.noreply.github.com>
(cherry picked from commit 88efde8796b0e1cc8fba6cd987bdc487bd97f248)
2024-08-11 15:39:38 -04:00
renovate[bot]
8ae8068ecd fix(deps): update lifecycle.version to v2.8.4 (#1045)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit b7849d714698900a25188bdbfd77bf24936f2dd7)
2024-08-11 15:39:31 -04:00
renovate[bot]
eecd9367d4 fix(deps): update dependency androidx.annotation:annotation to v1.8.1 (#1043)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 602b58f364b95b83a3148be34cd4c90d95d7d405)
2024-08-11 15:39:24 -04:00
renovate[bot]
55dee69838 fix(deps): update dependency androidx.activity:activity-compose to v1.9.1 (#1042)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit e48dbdbf2356c0e6e148313dc6610e865cd8e995)
2024-08-11 15:39:16 -04:00
FooIbar
a730ca5444 Remove obsolete workaround (#1021)
(cherry picked from commit 51b68cd25ff4bf556de88cb31525c55dd7eb7027)
2024-08-11 15:39:06 -04:00
renovate[bot]
cebd8fe0a8 fix(deps): update dependency io.coil-kt.coil3:coil-bom to v3.0.0-alpha09 (#1039)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit ca784cbe3267e94e652e4c54f91b7107cc53c307)
2024-08-11 15:38:54 -04:00
renovate[bot]
55a979c5f7 fix(deps): update dependency io.mockk:mockk to v1.13.12 (#1016)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 4f61b2e4e89bc257cf5e629823904805907bf75c)
2024-08-11 15:38:37 -04:00
renovate[bot]
728f3fc349 chore(deps): update dependency gradle to v8.9 (#1007)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit f63e95091013320b27bfc3c7c975c4bdd4a983c5)
2024-08-11 15:38:17 -04:00
renovate[bot]
a9a3ed1d16 fix(deps): update dependency org.jsoup:jsoup to v1.18.1 (#999)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit f3f2bd41c3974878bcf0e3a62d99ee89bf92fb41)
2024-08-11 15:38:08 -04:00
renovate[bot]
36f13a7c6a fix(deps): update dependency com.android.tools.build:gradle to v8.5.1 (#1010)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 7a2ca4bf4d41764705637d61c6d86249f8815b7b)
2024-08-11 15:37:37 -04:00
renovate[bot]
37a2ccc678 Bump coil version and some cleanup
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit e65634cb427eafe9e3bd192f9e8bf71f2243ce6c)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/App.kt
2024-08-11 15:37:16 -04:00
FooIbar
bb39088dd7 Fix some issues when reading/saving images (#993)
* Fix unsupported mime type error when saving images

Avoid using platform mime type map to get extensions as it may not have
all mime types we support.

* Fix jxl images downloading/reading

(cherry picked from commit daa47e049327c4d8b1fe4724ed1b84897d81fcf2)

# Conflicts:
#	core/common/src/main/kotlin/tachiyomi/core/common/util/system/ImageUtil.kt
2024-08-11 15:34:57 -04:00
AntsyLich
c5546e1095 Fix login prompts despite being logged in to trackers in Manga screen
(cherry picked from commit cbcd8bd6682023f728568f2b44da26124618aed7)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
2024-08-11 15:32:28 -04:00
AntsyLich
2d12c670db Observe tracker login state instead of fetching once (#987)
* Observe tracker login state instead of fetching once

* Review changes

(cherry picked from commit 2092c81bad59fd745a8514af320e534ecf40a5da)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/LibrarySettingsDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
2024-08-11 15:15:44 -04:00
AntsyLich
3db4bccebc Make global search "Has result" sticky
Closes #133

(cherry picked from commit 5a61ca5535fe0d9e8e7bcb9e665ba2f9cb0cf649)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/source/service/SourcePreferences.kt
2024-08-11 14:49:11 -04:00
Roshan Varughese
2f23ad6bfd Smart Update Dialog Tweak (#977)
* Smart Update Dialog Fix

* Build Fail Change 1

* Commit Suggested Change

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

* Build Fail Change 2

---------

Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit ddba71df37359e6abbbcc96b18685435961710dc)
2024-08-11 14:48:33 -04:00
CrepeTF
de1898a2c9 Correct tako variable colours (#976)
(cherry picked from commit 75b5d966018aa917f57adf37370088a51e4914b2)
2024-08-11 14:48:18 -04:00
renovate[bot]
eb135ec22d fix(deps): update lifecycle.version to v2.8.3 (#972)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 77db8873f6753cc9db8f67b39d53685563380cc6)
2024-08-11 14:48:10 -04:00
WerctFourth
bf6c646dc7 Update image-decoder revision (#971)
(cherry picked from commit bff6183cf3ef400d8ddcdccf7180e4139816cc09)
2024-08-11 14:48:01 -04:00
renovate[bot]
9ce16d5e1c fix(deps): update dependency io.coil-kt.coil3:coil-bom to v3.0.0-alpha07 (#960)
* fix(deps): update dependency io.coil-kt.coil3:coil-bom to v3.0.0-alpha07

* Fix build

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit c0f9de88e70ef1db97c521993462ae27550b5790)
2024-08-11 14:47:41 -04:00
renovate[bot]
619ff726c8 fix(deps): update aboutlib.version to v11.2.2 (#965)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 80cdebcdf467ed00e530651aeed2b36cc63b8356)
2024-08-11 14:47:22 -04:00
renovate[bot]
730ceaaf49 fix(deps): update dependency org.junit.jupiter:junit-jupiter to v5.10.3 (#962)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 9e2f97eeb8a0f1d1b353dc3e77fb64d69b568674)
2024-08-11 14:47:13 -04:00
CrepeTF
07b701cb3c Theme fixes (#963)
* Fix theme issue with download progress indicator

* Fix theme issue with download progress indicator + better contrast

(cherry picked from commit e132cc405f23e18dd8d73626730821eae9051149)
2024-08-11 14:47:02 -04:00
Caio Oliveira
b64c6b78ea buildSrc: Fix strange warning in ci build (#952)
* buildSrc: Fix strange warning

´Project accessors enabled, but root project name not explicitly set for 'buildSrc'. Checking out the project in different folders will impact the generated code and implicitly the buildscript classpath, breaking caching.´

* Update settings.gradle.kts

---------

Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit 2674b849746f20c051dab3fd6edfad1594e41b42)
2024-08-11 14:46:50 -04:00
renovate[bot]
521bce5c08 fix(deps): update dependency androidx.test.espresso:espresso-core to v3.6.1 (#958)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit f34702d4fcc10f24953b21e883fb454778bbae77)
2024-08-11 14:46:36 -04:00
renovate[bot]
a719ed8c9e fix(deps): update dependency androidx.test.ext:junit-ktx to v1.2.1 (#959)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 7823966ddf2289fee743feaa58b906ab9179a4ed)
2024-08-11 14:46:22 -04:00
renovate[bot]
f6fc2d7e2f
fix(deps): update dependency net.zetetic:sqlcipher-android to v4.6.0 (#1221)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-27 09:55:53 -04:00
renovate[bot]
48d43c4f07
chore(deps): update actions/upload-artifact action to v4 (#1222)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-27 09:55:42 -04:00
renovate[bot]
f4fa86b2dc
chore(deps): update softprops/action-gh-release action to v2 (#1223)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-27 09:55:29 -04:00
renovate[bot]
37db0dc1f6
fix(deps): update dependency com.google.oauth-client:google-oauth-client to v1.36.0 (#1220)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-26 20:55:33 -04:00
renovate[bot]
1ada03b07a
chore(deps): update actions/setup-java action to v4 (#1217)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-26 20:54:25 -04:00
renovate[bot]
f4c1e7c2d5
chore(deps): update damianreeves/write-file-action action to v1.3 (#1216)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-26 20:54:11 -04:00
Jobobby04
6c5282c598 Another 2024-06-26 20:39:26 -04:00
Jobobby04
7899474a36 Fix build errors 2024-06-26 20:38:12 -04:00
Jobobby04
225b419bba Update wrapper validation 2024-06-26 20:23:59 -04:00
Jobobby04
fa64103a1c Actual baseline 2024-06-26 20:20:12 -04:00
Jobobby04
57e0e99f06 Preview branch makes preview 2024-06-26 20:10:45 -04:00
Jobobby04
efde7afa8e Update baseline 2024-06-26 20:09:09 -04:00
Jobobby04
f929a4bc26 Move some libs to sylibs 2024-06-26 20:03:24 -04:00
renovate[bot]
d35141c1cc
chore: Configure Renovate (#1215)
* Add renovate.json

* Only update specific files

* Add a glob

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jobobby04 <jobobby04@users.noreply.github.com>
2024-06-26 19:57:10 -04:00
renovate[bot]
6988966019 fix(deps): update serialization.version to v1.7.1 (#951)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit d8fe7d32ca6bacbb74e9e80173625a993621e4b2)
2024-06-26 19:32:52 -04:00
Maddie Witman
f6d8ebbb0a Added configuration options to e-ink page flashes (#625)
* Recommit for e-ink pref changes

* Fixed state holder for flash interval

* Detekt

* Refactor suggested by Antsy

* inverted currentDisplayRefresh check for early exit

(cherry picked from commit 2f86f25d5b24c2054a604802dc65b8bc3a99c7c0)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsReaderScreen.kt
#	app/src/main/java/eu/kanade/presentation/reader/settings/GeneralSettingsPage.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReaderPreferences.kt
2024-06-26 19:32:42 -04:00
renovate[bot]
ae45df9fcf fix(deps): update dependency androidx.test.ext:junit-ktx to v1.2.0 (#948)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 36e40c099772d2cb53d4ec87b2b00f97fe455c98)
2024-06-26 19:31:12 -04:00
renovate[bot]
f332344681 fix(deps): update dependency androidx.test.espresso:espresso-core to v3.6.0 (#947)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 40754659a9e146626add56c494a6dc9873691f14)
2024-06-26 19:31:03 -04:00
AntsyLich
c6abb340ca Cleanup in CommonMangaItem.kt
Closes #19

Co-authored-by: Roshan Varughese <40583749+Animeboynz@users.noreply.github.com>
(cherry picked from commit e17f70f7226ea031fc1f962c9dfea3e404ba53ad)
2024-06-26 19:30:50 -04:00
Tran M. Cuong
99dbb16a7a Fix Migrator test and also add the test to build script (#896)
* Fix MigratorTest after update to Kotlin 2.0.0

* add main module's test to build script

(cherry picked from commit e57638a49c759d36d25b92f26633df5bdfb0d2b3)

# Conflicts:
#	.github/workflows/build_pull_request.yml
#	.github/workflows/build_push.yml
2024-06-26 19:30:39 -04:00
FooIbar
f62e8933d7 Fix unexpected skips in strong skipping mode (#940)
(cherry picked from commit 0ce1cf22cdbb7d82df3db1a901253b4973ab027f)

# Conflicts:
#	source-api/build.gradle.kts
2024-06-26 19:30:00 -04:00
renovate[bot]
ee3c2fd79c fix(deps): update dependency io.github.fornewid:material-motion-compose-core to v2.0.1 (#945)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit f6ec53cdde32a17bc394e55b697a3b59bfd76e58)
2024-06-26 19:28:53 -04:00
renovate[bot]
6b08b873a8 fix(deps): update dependency com.google.firebase:firebase-analytics to v22.0.2 (#936)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit b37357f9097730edb1d72f1297461e580286856c)
2024-06-26 19:28:43 -04:00
renovate[bot]
a3f2f49ab8 fix(deps): update moko to v0.24.1 (#933)
* fix(deps): update moko to v0.24.1

* Fix build

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit f58a05e91828a69c01d49d629e5bfa9ec7ae3ffc)
2024-06-26 19:28:27 -04:00
Weblate (bot)
524f5cc6ab Translations update from Hosted Weblate (#904)
* Translated using Weblate (Malayalam)

Currently translated at 16.9% (136 of 804 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ml/

* Translated using Weblate (Swedish)

Currently translated at 99.1% (797 of 804 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/sv/

* Translated using Weblate (Arabic)

Currently translated at 99.5% (800 of 804 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ar/

* Translated using Weblate (Swedish)

Currently translated at 100.0% (804 of 804 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/sv/

* Translated using Weblate (Swedish)

Currently translated at 100.0% (18 of 18 strings)

Translation: Mihon/Mihon Plurals
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/sv/

---------

Co-authored-by: Akhil Raj <akhilakae07@gmail.com>
Co-authored-by: Norsze <norbert.szabo7+github@gmail.com>
Co-authored-by: Duh051 <duhduh272@gmail.com>
Co-authored-by: bittin1ddc447d824349b2 <bittin@reimu.nl>
(cherry picked from commit cf02119da55c431d0fb4c42ecfec3681d466ae43)
2024-06-26 19:16:39 -04:00
FooIbar
a35e084b9e Fix R8 version configuration not working (#916)
This reverts commit f3226fb278cab87422255e04e647c50095b61529.

(cherry picked from commit 4182ae89a036525c5575961a68371df249ce384f)

# Conflicts:
#	build.gradle.kts
2024-06-26 19:16:27 -04:00
FooIbar
78f7fba67b Update R8 to fix NoSuchMethodError crash (#914)
(cherry picked from commit f3226fb278cab87422255e04e647c50095b61529)

# Conflicts:
#	build.gradle.kts
2024-06-26 19:15:56 -04:00
renovate[bot]
69d1db3018 fix(deps): update dependency com.android.tools.build:gradle to v8.5.0 (#901)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 2e78bceb30908aca8e585f91942849a6e4e7cb15)
2024-06-26 19:15:21 -04:00
Weblate (bot)
d1b317e5c8 Translations update from Hosted Weblate (#878)
* Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (804 of 804 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/zh_Hant/

* Translated using Weblate (Croatian)

Currently translated at 100.0% (804 of 804 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/hr/

* Translated using Weblate (Malayalam)

Currently translated at 15.5% (125 of 804 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ml/

* Translated using Weblate (Malayalam)

Currently translated at 15.5% (125 of 804 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ml/

* Translated using Weblate (Malayalam)

Currently translated at 94.4% (17 of 18 strings)

Translation: Mihon/Mihon Plurals
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/ml/

---------

Co-authored-by: ɴᴇᴋᴏ <s99095lkjjim@gmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Akhil Raj <akhilakae07@gmail.com>
Co-authored-by: Animeboynz <roshanvarughese@hotmail.com>
(cherry picked from commit aa1714b2acf0e5b16558ea703220f60d4ecd23e9)
2024-06-26 19:15:06 -04:00
AntsyLich
fff40e031f Fix issue with creating and restoring backup
Fixes #881

(cherry picked from commit f696f209c6b3efb3148e1d587af9e42c71d8dc6f)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/create/BackupCreator.kt
2024-06-26 19:14:54 -04:00
renovate[bot]
5be2ec51ba fix(deps): update dependency androidx.glance:glance-appwidget to v1.1.0 (#890)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit af57e124f2113f78028771f1579a356884d7ead7)
2024-06-26 19:13:53 -04:00
renovate[bot]
1c2a7af13e fix(deps): update lifecycle.version to v2.8.2 (#889)
fix(deps): update dependency androidx.lifecycle:lifecycle-runtime-ktx to v2.8.2

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 8e8ee69bbacb2260d0ae52808c02684e567119b9)
2024-06-26 19:13:44 -04:00
renovate[bot]
182158acb0 fix(deps): update dependency com.android.tools.build:gradle to v8.4.2 (#883)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit e9d69a83febccf8840dad03597e3ac2a6aa3f972)
2024-06-26 19:13:34 -04:00
AntsyLich
21f92bfb3a Fix chapter number parsing when number is after unwanted tag
Fixes #554

Co-authored-by: Naputt1 <94742489+Naputt1@users.noreply.github.com>
(cherry picked from commit 6a80305d6c572da6c08c0c69f5c25ff26ecf7383)
2024-06-26 19:13:24 -04:00
AntsyLich
a5522ef732 Check category order before restoring from backup
Closes #632

Co-authored-by: Cologler <10906962+Cologler@users.noreply.github.com>
(cherry picked from commit 119bcbf8ed2415664922ea77fadf0da1165d1732)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/restore/restorers/CategoriesRestorer.kt
2024-06-26 19:13:14 -04:00
Weblate (bot)
239793f7fd Translations update from Hosted Weblate (#611)
* Translated using Weblate (Malayalam)

Currently translated at 12.9% (104 of 803 strings)

Translated using Weblate (Malayalam)

Currently translated at 94.4% (17 of 18 strings)

Translated using Weblate (Malayalam)

Currently translated at 11.8% (95 of 803 strings)

Added translation using Weblate (Malayalam)

Added translation using Weblate (Malayalam)

Co-authored-by: Akhil Raj <akhilakae07@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/ml/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ml/
Translation: Mihon/Mihon
Translation: Mihon/Mihon Plurals

* Translated using Weblate (Italian)

Currently translated at 99.6% (800 of 803 strings)

Co-authored-by: Federico Pierantoni <federico.pieranton@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/it/
Translation: Mihon/Mihon

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (803 of 803 strings)

Translated using Weblate (Hungarian)

Currently translated at 100.0% (803 of 803 strings)

Co-authored-by: B4LiN7 <B4LiN7@users.noreply.hosted.weblate.org>
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/hu/
Translation: Mihon/Mihon

* Translated using Weblate (Javanese)

Currently translated at 38.7% (311 of 803 strings)

Translated using Weblate (Japanese)

Currently translated at 100.0% (803 of 803 strings)

Translated using Weblate (Indonesian)

Currently translated at 98.7% (793 of 803 strings)

Co-authored-by: TheKingTermux <achmadmaulana0233@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/id/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ja/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/jv/
Translation: Mihon/Mihon

* Translated using Weblate (Greek)

Currently translated at 100.0% (803 of 803 strings)

Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/el/
Translation: Mihon/Mihon

* Translated using Weblate (Serbian)

Currently translated at 99.2% (797 of 803 strings)

Co-authored-by: Rikishaaa <jebote90@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/sr/
Translation: Mihon/Mihon

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (803 of 803 strings)

Co-authored-by: Blackiezin <mcperenan134@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/pt_BR/
Translation: Mihon/Mihon

* Translated using Weblate (French)

Currently translated at 100.0% (18 of 18 strings)

Translated using Weblate (French)

Currently translated at 99.0% (795 of 803 strings)

Co-authored-by: LaQuiche426 <loic.dossantos42630@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/fr/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/fr/
Translation: Mihon/Mihon
Translation: Mihon/Mihon Plurals

* Translated using Weblate (Portuguese)

Currently translated at 99.8% (802 of 803 strings)

Co-authored-by: ssantos <ssantos@web.de>
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/pt/
Translation: Mihon/Mihon

* Translated using Weblate (Vietnamese)

Currently translated at 100.0% (18 of 18 strings)

Translated using Weblate (Vietnamese)

Currently translated at 96.8% (778 of 803 strings)

Co-authored-by: Karuto <nguyenthaison609@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/vi/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/vi/
Translation: Mihon/Mihon
Translation: Mihon/Mihon Plurals

* Translated using Weblate (Croatian)

Currently translated at 99.5% (799 of 803 strings)

Co-authored-by: Milo Ivir <mail@milotype.de>
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/hr/
Translation: Mihon/Mihon

* Translated using Weblate (Indonesian)

Currently translated at 100.0% (803 of 803 strings)

Co-authored-by: Eji-san <ejierubani@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/id/
Translation: Mihon/Mihon

* Translated using Weblate (Galician)

Currently translated at 100.0% (803 of 803 strings)

Co-authored-by: kevans <albapazpi@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/gl/
Translation: Mihon/Mihon

* Translated using Weblate (Ukrainian)

Currently translated at 99.8% (802 of 803 strings)

Co-authored-by: Kodekiro Kodekihara <lolbitoklol@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/uk/
Translation: Mihon/Mihon

* Translated using Weblate (Malay)

Currently translated at 98.6% (792 of 803 strings)

Co-authored-by: Farith <mail2@farithadnan.net>
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ms/
Translation: Mihon/Mihon

* Translated using Weblate (Nepali)

Currently translated at 100.0% (18 of 18 strings)

Translated using Weblate (Nepali)

Currently translated at 100.0% (803 of 803 strings)

Co-authored-by: FateXBlood <fatexblood@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/ne/
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ne/
Translation: Mihon/Mihon
Translation: Mihon/Mihon Plurals

* Translated using Weblate (Vietnamese)

Currently translated at 100.0% (803 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/vi/

* Translated using Weblate (Croatian)

Currently translated at 100.0% (803 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/hr/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (18 of 18 strings)

Translation: Mihon/Mihon Plurals
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/es/

* Translated using Weblate (Romanian)

Currently translated at 99.6% (800 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ro/

* Translated using Weblate (Romanian)

Currently translated at 100.0% (18 of 18 strings)

Translation: Mihon/Mihon Plurals
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/ro/

* Translated using Weblate (Italian)

Currently translated at 100.0% (803 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/it/

* Translated using Weblate (Polish)

Currently translated at 99.5% (799 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/pl/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (803 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/es/

* Translated using Weblate (German)

Currently translated at 100.0% (804 of 804 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/de/

* Translated using Weblate (Russian)

Currently translated at 100.0% (804 of 804 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ru/

* Translated using Weblate (French)

Currently translated at 99.5% (800 of 804 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/fr/

* Translated using Weblate (Filipino)

Currently translated at 99.8% (803 of 804 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/fil/

* Translated using Weblate (Nepali)

Currently translated at 100.0% (804 of 804 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ne/

* Translated using Weblate (Catalan)

Currently translated at 100.0% (804 of 804 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ca/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (804 of 804 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/es/

* Translated using Weblate (Catalan)

Currently translated at 100.0% (18 of 18 strings)

Translation: Mihon/Mihon Plurals
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/ca/

---------

Co-authored-by: Akhil Raj <akhilakae07@gmail.com>
Co-authored-by: Federico Pierantoni <federico.pieranton@gmail.com>
Co-authored-by: B4LiN7 <B4LiN7@users.noreply.hosted.weblate.org>
Co-authored-by: TheKingTermux <achmadmaulana0233@gmail.com>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Rikishaaa <jebote90@gmail.com>
Co-authored-by: Blackiezin <mcperenan134@gmail.com>
Co-authored-by: LaQuiche426 <loic.dossantos42630@gmail.com>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: Karuto <nguyenthaison609@gmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Eji-san <ejierubani@gmail.com>
Co-authored-by: kevans <albapazpi@gmail.com>
Co-authored-by: Kodekiro Kodekihara <lolbitoklol@gmail.com>
Co-authored-by: Farith <mail2@farithadnan.net>
Co-authored-by: FateXBlood <fatexblood@gmail.com>
Co-authored-by: Nguyễn Trung Đức <vaicato16@gmail.com>
Co-authored-by: Chrono Lux <amber_c001@protonmail.com>
Co-authored-by: Saft Octavian <saftoctavian@gmail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: sebastians17 <sebastians117.ss@gmail.com>
Co-authored-by: Tim Schneeberger <thebone.main@gmail.com>
Co-authored-by: Dexroneum <Rozhenkov69@gmail.com>
Co-authored-by: Naga <yz2000.pro@gmail.com>
Co-authored-by: Infy's Tagalog Translations <ced.paltep10@gmail.com>
Co-authored-by: Eduard Ereza Martínez <eduard@ereza.cat>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
(cherry picked from commit 87fe64468ca08466af5b9fcc7f9e17e9a23021e6)

# Conflicts:
#	i18n/src/commonMain/resources/MR/gl/strings.xml
#	i18n/src/commonMain/resources/MR/ro/strings.xml
2024-06-26 19:12:15 -04:00
renovate[bot]
4e9cfe4602 fix(deps): update dependency io.github.fornewid:material-motion-compose-core to v2 (#873)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit bdce3c39f1475dc77dad300a0bf3702e85d32916)
2024-06-26 19:11:01 -04:00
AntsyLich
f548c85e7a MangaChapterListItem: Don't use alpha modifier
Possibly fixes #822

Co-authored-by: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
(cherry picked from commit 15d999229fcce865001d5fa77d0163e6e80e38db)
2024-06-26 19:10:39 -04:00
renovate[bot]
576349c446 fix(deps): update okhttp monorepo to v5.0.0-alpha.14 (#688)
* fix(deps): update okhttp monorepo to v5.0.0-alpha.14

* Fix build

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit 1edd55c981aa72faf49c06173f33bf0c2f99fe60)
2024-06-26 19:10:28 -04:00
renovate[bot]
9b00e0458b fix(deps): update serialization.version to v1.7.0 (#870)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 71b558cb34c4e2da435877f391e57b6d49c4ef4f)
2024-06-26 19:06:15 -04:00
renovate[bot]
6a1ff99441 chore(deps): update kotlin and compose compiler to v2 (major) (#819)
* chore(deps): update kotlin and compose compiler to v2

* Update .gitignore

* Fix build

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit 46003ec25139319079abc9fde89b3afd344a1a11)

# Conflicts:
#	.github/renovate.json5
#	gradle/compose.versions.toml
#	source-local/src/androidMain/kotlin/tachiyomi/source/local/LocalSource.kt
2024-06-26 19:06:10 -04:00
renovate[bot]
0121fe9397 fix(deps): update dependency io.kotest:kotest-assertions-core to v5.9.1 (#869)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 1f7574bd4fc0471b7f974cffdf166c2551b2749b)
2024-06-26 17:41:20 -04:00
Cuong M. Tran
5c47c7a409 Fix MigratorTest after update to io.mockk v1.13.11 (#814)
* Fix MigratorTest after update to io.mockk v1.13.11

Causing error: io.mockk.MockKException: was not can only be called on a mocked object

* remove import

(cherry picked from commit da62c7a21a81f513988fa64df6253376f85228ef)
2024-06-26 17:40:33 -04:00
renovate[bot]
8bb4f33f2e fix(deps): update dependency io.github.fornewid:material-motion-compose-core to v1.2.1 (#858)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 0870cffba121c0cc7db9c79f83f770a43d9c32e7)
2024-06-26 17:40:17 -04:00
Sven
5f5fd51668 fix: storage permission request for non-conforming devices (#726)
* fix: storage permission request for non-conforming devices

* fix: catch more specific exception

* chore: add toast message to indicate missing persistent permissions

* chore: correct newly introduced translaction string

* Change error toast message

---------

Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit 8632ba85ee1ed080d7baa70050d460807c8edfcf)
2024-06-26 17:40:03 -04:00
Jobobby04
c7bbad93b2 Fix some MDLang issues 2024-06-26 17:38:53 -04:00
Jobobby04
1a4a2506f4 Codestral(ChatGPT) cleanup of some double pages code 2024-06-26 17:38:51 -04:00
gelionexists
7b7a594ddb
Update LewdMangaChecker.kt (#1204)
- Added the `mature` tag
- Added `doujins` (doujins.com) and `luscious` (luscious.net) as filter keywords
2024-06-26 17:31:41 -04:00
KaiserBh
c2eece0fff
chore: improve google drive sync. (#1200)
improve google drive sync, removes the lock, change to protobuf, and potentially fix deviceId not being unique, since it wasn't appState...
2024-06-26 17:31:12 -04:00
ɴᴇᴋᴏ
d29a4ff381
Update TW strings.xml (#1202)
Add Google sync strings
2024-06-26 17:30:06 -04:00
Tim Schneeberger
31f967235f
Add Namicomi support for external chapters on MD (#1188) 2024-06-01 18:26:05 -04:00
Cuong M. Tran
7d6e746257
Fix build warning: remove non-default string resources (#1180) 2024-06-01 18:25:53 -04:00
Timo
d306139047
Update README.md (#1174)
Changed DO and DON'T for bug repports to a link with the issue template.
2024-06-01 18:25:37 -04:00
Jobobby04
7e6811692e Fix WorkManager cancellation issues 2024-06-01 17:51:03 -04:00
renovate[bot]
8df0446020 chore(deps): update dependency gradle to v8.8 (#856)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 116579d38c08c203fe2c4996419e277c7bf9c165)
2024-06-01 17:40:26 -04:00
renovate[bot]
8ccf8fc74d fix(deps): update dependency androidx.test.ext:junit-ktx to v1.2.0-rc01 (#855)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 098f925519502a99aef9eb33c9b88b1280351a73)
2024-06-01 17:40:18 -04:00
Jobobby04
4deaa41c53 Cleanup some build warnings 2024-06-01 14:52:54 -04:00
renovate[bot]
c843789f66 fix(deps): update aboutlib.version to v11.2.1 (#846)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 9f5db70572cee99243c850d2da55fe0a10d52809)
2024-06-01 14:02:25 -04:00
renovate[bot]
78da81fa42 fix(deps): update dependency com.google.firebase:firebase-analytics to v22.0.1 (#848)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 1f286f1a357a6c0f8cf2a7274b11b175315de4ea)
2024-06-01 14:02:17 -04:00
renovate[bot]
4fc96f263d fix(deps): update dependency com.google.gms:google-services to v4.4.2 (#849)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 7ab7f5ac37e8c102ca259144f136616b59172e6d)
2024-06-01 14:02:02 -04:00
renovate[bot]
6a12b54ecb fix(deps): update dependency androidx.test.espresso:espresso-core to v3.6.0-rc01 (#851)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit e567250b17c231abee151541fea1f97b269b516a)
2024-06-01 14:01:52 -04:00
renovate[bot]
8ffcd5efec fix(deps): update dependency androidx.appcompat:appcompat to v1.7.0 (#845)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 095da924b9a1d724e6a228cb4abcc4dfe948db7d)
2024-06-01 14:01:44 -04:00
renovate[bot]
26121efeb4 fix(deps): update lifecycle.version to v2.8.1 (#844)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit b9da98b527e3d9ac56e263f7b595768239fa718e)
2024-06-01 14:01:36 -04:00
renovate[bot]
1ecf3a567b fix(deps): update paging.version to v3.3.0 (#810)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit af8696cb9060e652f41220ea4a6074568df8bc3d)
2024-06-01 14:01:28 -04:00
renovate[bot]
20fff5798d fix(deps): update dependency org.apache.commons:commons-compress to v1.26.2 (#826)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit de5a64aa73c8a2229fa87e9baba9981197474f51)
2024-06-01 14:01:20 -04:00
renovate[bot]
0ba580ba30 fix(deps): update aboutlib.version to v11.2.0 (#823)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 9b944092c75046b68ac38e2d9d3a5e49033d7588)
2024-06-01 14:01:10 -04:00
renovate[bot]
aaf28ee4f1 fix(deps): update dependency com.android.tools.build:gradle to v8.4.1 (#818)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 0cb1794a445c8c7f4e9c163bd850f1681cdbef6a)
2024-06-01 14:01:03 -04:00
renovate[bot]
8558c110a9 chore(deps): update kotlin and compose compiler (#800)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 2f243fae11e48799437b1672ec1a8571552caacb)

# Conflicts:
#	gradle/compose.versions.toml
2024-06-01 14:00:54 -04:00
renovate[bot]
3865583c28 fix(deps): update lifecycle.version to v2.8.0 (#809)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit d2e5c78074829ca7c7bace3e5bfee25ea430e44c)
2024-06-01 14:00:15 -04:00
renovate[bot]
b2cc61f6fd fix(deps): update dependency androidx.annotation:annotation to v1.8.0 (#808)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 5912d6b08f3624a385f820582e49f1dde1b55864)
2024-06-01 14:00:05 -04:00
renovate[bot]
47dd58de2a fix(deps): update dependency io.mockk:mockk to v1.13.11 (#803)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 99b550ae0d9eaf530d644f7755162d9705c302f4)

# Conflicts:
#	gradle/libs.versions.toml
2024-06-01 13:59:55 -04:00
renovate[bot]
67d42c9c2b fix(deps): update dependency androidx.test.ext:junit-ktx to v1.2.0-beta01 (#801)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 8d187f786594356dd47899dad660d602b52099ef)
2024-06-01 13:59:25 -04:00
renovate[bot]
b97f322d6f fix(deps): update dependency com.google.android.material:material to v1.12.0 (#754)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 653d5d3e252ff2508b100b0f291fdcfaf2a98097)
2024-06-01 13:59:17 -04:00
renovate[bot]
d8cc4f8b45 fix(deps): update dependency androidx.test.espresso:espresso-core to v3.6.0-beta01 (#797)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit ce497003e38d838e846b6e4ce88aafe4610d522b)
2024-06-01 13:57:49 -04:00
CrepeTF
f78752fbdf Update themes to follow new compose update changes (#766)
* Update Green Apple theme

* Add some Green Apple theme comments

* Update Lavender theme

* Update Midnight Dusk theme

* Update Nord theme

* Update Strawberry Daiquiri theme

* Update Tako theme

* Update Teal & Turquoise theme

* Update Lavender secondaryContainer and onSecondaryContainer colour

* Update M.Dusk secondaryContainer and onSecondaryContainer colour

* Update Tako secondaryContainer and onSecondaryContainer colour

* Comments

* Update Tidal Wave theme

* Update Yin Yang theme

* Update Yotsuba theme

* Fix navbar tinted background on pure black

* Add surfaceContainer levels to Lavender theme

* Resolve detekt issues

* Add surfaceContainer levels to Midnight Dusk theme

* Add surfaceContainer levels to Nord theme

* Add surfaceContainer levels to Tako theme

* Add surfaceContainer levels to Teal & Turquoise theme

* Add surfaceContainer levels to Tidal Wave theme

* Add surfaceContainer levels to Yin Yang theme

* Add surfaceContainer levels to Yotsuba theme

* Add dark theme surfaceContainer levels to Yotsuba theme

* surfaceContainer tweaks to Yotsuba theme

* surfaceContainer tweaks to Strawberry Daiquiri theme

* surfaceContainer tweaks to Nord theme

* surfaceContainer tweaks to Lavender theme

* Update Tachiyomi theme

* Update Pure Black theme

* Resolve detekt issues

* Oopsie

(cherry picked from commit 16392adcbba4027cbed0a44e2fc62df330af6385)
2024-06-01 13:57:37 -04:00
AwkwardPeak7
d968d58cd6 update r8 rules for MultipartBody.Builder in extensions (#783)
(cherry picked from commit f603db3f3fac72954997bfa0c2cd77a0b92cd7f0)
2024-06-01 13:57:27 -04:00
AntsyLich
54d5f9baaf Remove dependency on compose material 2 components
(cherry picked from commit fb9423028eb017c110cb805f2d0601e5b02e50f9)
2024-06-01 12:57:07 -04:00
FooIbar
c1bf53e28a Fix tap control area shifting after zooming out (#767)
(cherry picked from commit 8e9396a9cfe5f5e87e4e5f2093421a3fa24d43db)
2024-06-01 12:56:57 -04:00
AntsyLich
517fd3a8f4 Use new SurfaceContainer color roles
Non-dynamic themes need to be updated

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

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/reader/ReaderPageActionsDialog.kt
2024-06-01 12:56:48 -04:00
AntsyLich
089d1aba57 Fix search bar style
(cherry picked from commit ca7391bbf3d49428f6321aa6baa03b0d2b5abff9)
2024-06-01 12:55:18 -04:00
Jobobby04
46bf139f01 Possibly fix extension obsolete bug 2024-05-05 13:17:29 -04:00
Jobobby04
c3fb5c0bec Revert "Bump compose version"
This reverts commit 5550ddad4ef023b335024d9648a59c36ae242168.
2024-05-05 12:58:03 -04:00
Reagan
000a4ffc3f Change keyboard type in extension repo dialog (#764)
(cherry picked from commit 550f1197e818c35c7c05fd6184e69c7d29559e9f)
2024-05-05 12:57:45 -04:00
Jobobby04
7b0b879d65 Downgrade crashlytics plugin 2024-05-05 00:07:41 -04:00
Dexroneum
8a622f6c7d
[RU] Translations (#1161)
* [RU] Translations

* [RU] Deleted unused strings
2024-05-04 23:39:57 -04:00
Jobobby04
253060a3bc Minor cleanup 2024-05-04 23:15:17 -04:00
Jobobby04
b6b33e8c00 Get new page url on image fetch failure for EHentai 2024-05-04 23:13:52 -04:00
Jobobby04
2e4f811090 Add getImageUrl override to EHentai 2024-05-04 23:13:26 -04:00
Jobobby04
215a1908f7 Include lewd filter in filter highlight 2024-05-04 23:13:06 -04:00
Jobobby04
082acf000c Fix Local Manga details edit 2024-05-04 23:12:45 -04:00
Jobobby04
2d1240b274 Update dependencies and cleanup 2024-05-04 18:41:03 -04:00
Jobobby04
1e98709cc3 Revert "Fix badge count getting cut off on tab title"
This reverts commit f9148c0c5ee8c3d7eeb3b3397c195c80578e6b6b.
2024-05-04 18:12:54 -04:00
AntsyLich
5550ddad4e Bump compose version
Co-authored-by: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
(cherry picked from commit e473c7f09fc009161145aca94bd70027f042b0bf)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/components/GlobalSearchResultItems.kt
#	app/src/main/java/eu/kanade/presentation/manga/components/MangaInfoHeader.kt
2024-05-04 17:07:27 -04:00
AntsyLich
f9148c0c5e Fix badge count getting cut off on tab title
Fixes #335

(cherry picked from commit 263e467cdeb948b8f3679e2ea0282a291cf2f131)
2024-05-04 16:57:20 -04:00
Radon Rosborough
089e6268e7 Massively improve findFile performance (#728)
* Massively improve findFile performance

* Update libs.versions.toml

---------

Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit 7ec2108812fbe0483111dbe996e29e5a621b583a)
2024-05-04 16:56:45 -04:00
AntsyLich
712cd1493f Address firebase ktx module deprecation
(cherry picked from commit 28dca3b7b818ad095008e7cd49ec07a82b0ebcad)

# Conflicts:
#	gradle/libs.versions.toml
2024-05-04 16:52:36 -04:00
AntsyLich
bbc8adc3e8 Trust extension by repo (#570)
(cherry picked from commit 70cd688ac245a70a3146e2ac7374f24b0c3453ab)
2024-05-04 16:51:47 -04:00
AntsyLich
077b673c0a Fix some extension related issue and cleanups
- Extension being marked as not installed instead of untrusted after updating with private installer
- Extension update counter not updating due to extension being marked as untrusted
- Minimize `Key "extension-XXX-YYY" was already used` crash

(cherry picked from commit 21145144cdf550aa775047603e06e261951ebc42)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionManager.kt
2024-05-04 16:51:26 -04:00
renovate[bot]
49eacf5178 fix(deps): update leakcanary to v2.14 (#715)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit fa6dba6cc76f0b08cbc9bf222b0e087f4fb16d76)

# Conflicts:
#	gradle/libs.versions.toml
2024-05-04 16:01:19 -04:00
renovate[bot]
98d1dddf4a fix(deps): update dependency com.android.tools.build:gradle to v8.4.0 (#753)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 8a51d56c594e1f7ae4ebc01fc6a639292dde78bd)
2024-05-04 16:00:27 -04:00
renovate[bot]
37a616f3db fix(deps): update dependency androidx.test.espresso:espresso-core to v3.6.0-alpha04 (#749)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit a2f7d47a0a65bf88ac609b2227d440a7a2f841bf)
2024-05-04 16:00:14 -04:00
renovate[bot]
ad18696a1a fix(deps): update dependency androidx.core:core-ktx to v1.13.1 (#748)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit b720f34267e4111466cdabf3a298d006231e4b55)
2024-05-04 15:59:53 -04:00
renovate[bot]
34bb012a1c fix(deps): update dependency androidx.test.ext:junit-ktx to v1.2.0-alpha04 (#751)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit c6a1412f18cb16f89c4ddeadb3448c141a49072e)
2024-05-04 15:59:43 -04:00
renovate[bot]
08c4989aa3 fix(deps): update aboutlib.version to v11.1.4 (#744)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 6290cf222df922240575e2199459ab7b707d6ae2)

# Conflicts:
#	gradle/libs.versions.toml
2024-05-04 15:59:38 -04:00
FooIbar
14dae420f5 Log app crash exceptions in dumped crash logs (#742)
(cherry picked from commit a3d438e2f5b427eb8b4c391ab9fe10c5a83baf29)
2024-05-04 15:59:04 -04:00
w
65ed3c5ae6 Update subsampling-scale-image-view (#687)
Update libs.versions.toml

(cherry picked from commit 80461d883f7d6ca2203ae7455223ff49e8ef96ab)
2024-05-04 15:58:49 -04:00
FooIbar
5ae3508665 Use Coil pipeline instead of SSIV for image decode (#692)
(cherry picked from commit c3e7bb12f4cccf42dd3ea169111c771876e640fe)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/coil/TachiyomiImageDecoder.kt
2024-05-04 15:58:41 -04:00
MajorTanya
e32eb0e009 Add MyAnimeList issue autoclose (#703)
[skip ci] Add MyAnimeList issue autoclose

This rule is intended to automatically close issues that report
problems with linking MAL that would be solved with the standard
solution of updating & changing the default UA.

The RegEx might be too general, but there isn't any neat pattern in
the previously filed issues.

(cherry picked from commit 9a3ffe2ea6cbf7ef2c2966c304a54b715a5fa682)
2024-05-04 15:51:26 -04:00
renovate[bot]
e0812ab5c8 fix(deps): update dependency androidx.compose.compiler:compiler to v1.5.12 (#685)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 213effa169e28e144f3e323290d865b02d0bf94b)
2024-05-04 15:51:13 -04:00
renovate[bot]
df9f79c120 fix(deps): update dependency androidx.benchmark:benchmark-macro-junit4 to v1.2.4 (#684)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 25570147a1ca8ac374a75d7f29cf105bd686954b)
2024-05-04 15:51:04 -04:00
renovate[bot]
990eb33b98 fix(deps): update dependency androidx.activity:activity-compose to v1.9.0 (#689)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 2ad462b4d882c4a03359092515aa6b8d3cb4fd5d)
2024-05-04 15:50:50 -04:00
renovate[bot]
e1bab1172a fix(deps): update dependency androidx.core:core-ktx to v1.13.0 (#690)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 7fd8f653529b8e1488dd57c051000abf2a80ed12)
2024-05-04 15:50:41 -04:00
FooIbar
aeeff72bed Use Okio instead of java.io for image processing (#691)
(cherry picked from commit b152e3881bffd9050a8a0ed4030823886e3fe04f)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/App.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt
#	core/common/src/main/kotlin/tachiyomi/core/common/util/system/ImageUtil.kt
2024-05-04 15:50:20 -04:00
FooIbar
5895e78b39 Use m3 ripple and clean up interactionSource usage (#675)
Also remove a leftover of scoped storage adaptation.

(cherry picked from commit f27ca3b1b2f92258c213bca6b27d8eff4c7363ad)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/components/MangaBottomActionMenu.kt
2024-05-04 15:05:16 -04:00
FooIbar
b24719a3e9 Update compose bom and fix renovate config for it (#674)
(cherry picked from commit 843daa5304d0b1a93ba69f8cc69791e446a58596)

# Conflicts:
#	.github/renovate.json5
2024-05-04 15:04:40 -04:00
renovate[bot]
d551619d9d fix(deps): update dependency com.google.firebase:firebase-analytics-ktx to v21.6.2 (#656)
Update dependency com.google.firebase:firebase-analytics-ktx to v21.6.2

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit f080a4937e61d3dde5473876c34db8f16844e30c)

# Conflicts:
#	gradle/libs.versions.toml
2024-05-04 15:04:12 -04:00
renovate[bot]
06ad6c2e16 Update aboutlib.version to v11.1.3 (#654)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 4c43a0ef66e9c8a321fb745b860319aaa074c57f)

# Conflicts:
#	gradle/libs.versions.toml
2024-05-04 15:03:39 -04:00
renovate[bot]
df7e470e08 Update dependency com.android.tools.build:gradle to v8.3.2 (#655)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit ea0fe2414e1e30b6e82ddf65144035283b31a5c4)
2024-05-04 15:02:59 -04:00
Cologler
03f32ebffd
fix: check order before restore from backup (#1156) 2024-04-14 21:24:38 -04:00
KaiserBh
ed20d25452
feat: syncing etag and overall improvement. (#1155)
* chore: don't log the access token from google.

Signed-off-by: KaiserBh <kaiserbh@proton.me>

* chore: don't log the access token from google.

Signed-off-by: KaiserBh <kaiserbh@proton.me>

* chore: forgot to add sy stuff.

The customInfo and readEntries wasn't taken into account, so when it was disabled it will always sync it because it's true by default in BackupOptions.kt. Should be fixed and now it doesn't reset the check mark.

Signed-off-by: KaiserBh <kaiserbh@proton.me>

* fix: same device sync.

When same device is initiating the sync just update the remote that.

Signed-off-by: KaiserBh <kaiserbh@proton.me>

* refactor: throw early.

When there is network failure or any sort during downloading just throw exception and stop syncing.

Signed-off-by: KaiserBh <kaiserbh@proton.me>

* refactor(gdrive): stream the json.

People with over 3k library can't sync because we are hitting OOM ```java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: Failed to allocate a 370950192 byte allocation with 25165824 free bytes and 281MB until OOM, target footprint 333990992, growth limit 603979776```. This should fix that for them but only gdrive.

Signed-off-by: KaiserBh <kaiserbh@proton.me>

* feat: a demo for sync with new api

* refactor: perform early null checks

* feat: restore even if push failed

* feat: switch to protobuf

* chore: show error notification when sync fails.

Signed-off-by: KaiserBh <kaiserbh@proton.me>

* fix: update order by merge

* fix: call pushSyncData twice

---------

Signed-off-by: KaiserBh <kaiserbh@proton.me>
Co-authored-by: Cologler <skyoflw@gmail.com>
2024-04-14 19:50:48 -04:00
Shamicen
596a8d002f
Safer password handling (#1146)
* no longer convert passwords to string

* also clear backing array of outputStream

* use fill and small refactor
2024-04-14 19:48:32 -04:00
Dexroneum
206d824ed2
[RU] Translations (#1129)
* [RU] Translations

* [RU] Translated the remaining lines
2024-04-14 19:48:03 -04:00
Howard Wu
97ed4e55ad
Update Simplified Chinese Translation (#1126) 2024-04-14 19:47:39 -04:00
Jobobby04
739f7bc848 Move sync strings to SY files 2024-04-13 15:50:23 -04:00
AntsyLich
e866e60b19 Revert "Update Scaffold fork (#10143)" + Cleanup
Causes delay of one frame before actual contentPadding is measured

This reverts commit ea15bc782a2cd603c78de7567a59e973dd50fd7f.

Co-authored-by: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
(cherry picked from commit 56e66e041d22ebd680654df4aefa81578c0f5f11)
2024-04-13 12:46:19 -04:00
AntsyLich
f135daeca5 MangaCoverFetcher: Small cleanups
Co-authored-by: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
(cherry picked from commit 13656959ae0606736f6ca9eb62699dc23e467c2f)
2024-04-13 12:46:05 -04:00
AntsyLich
d80c19eb03 Remove unused imports
(cherry picked from commit 20e4cb26d6c264b13edb357ecfa25a6db21f19b8)
2024-04-13 12:42:52 -04:00
AntsyLich
2d47147172 Rework buildSrc and remove usage of subprojects
(cherry picked from commit e448e40406e8d9916120a278e42829a6f1b25a7a)

# Conflicts:
#	app/build.gradle.kts
#	buildSrc/src/main/kotlin/AndroidConfig.kt
#	i18n/build.gradle.kts
#	source-api/build.gradle.kts
2024-04-13 12:42:20 -04:00
AntsyLich
de3570107e Fix build time zone in about screen
And slight cleanup

(cherry picked from commit aed53d3bdc85ce0e899fbb90b9f9cad0f1b86480)
2024-04-13 12:15:20 -04:00
renovate[bot]
5480495619 fix(deps): update sqldelight to v2.0.2 (#544)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit d77f2f429d2603a5c2b805f2dc7255af41474cf8)
2024-04-13 11:59:22 -04:00
AntsyLich
694ef5f285 Disable mpp and agp compability warning
(cherry picked from commit c3fd2df6f55b70e49088f84209668c4530a9a9c6)
2024-04-13 11:59:14 -04:00
Weblate (bot)
472c97c580 Translations update from Hosted Weblate (#609)
* Translated using Weblate (Greek)

Currently translated at 99.8% (793 of 794 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/el/

* Translated using Weblate (Turkish)

Currently translated at 100.0% (18 of 18 strings)

Translation: Mihon/Mihon Plurals
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/tr/

* Translated using Weblate (German)

Currently translated at 100.0% (18 of 18 strings)

Translation: Mihon/Mihon Plurals
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/de/

* Translated using Weblate (Persian)

Currently translated at 84.7% (673 of 794 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/fa/

* Translated using Weblate (German)

Currently translated at 100.0% (794 of 794 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/de/

* Translated using Weblate (Greek)

Currently translated at 100.0% (794 of 794 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/el/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (794 of 794 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/pt_BR/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (18 of 18 strings)

Translation: Mihon/Mihon Plurals
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/pt_BR/

* Translated using Weblate (Galician)

Currently translated at 95.9% (762 of 794 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/gl/

* Translated using Weblate (Japanese)

Currently translated at 100.0% (18 of 18 strings)

Translation: Mihon/Mihon Plurals
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/ja/

* Translated using Weblate (Javanese)

Currently translated at 38.8% (7 of 18 strings)

Translation: Mihon/Mihon Plurals
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/jv/

* Translated using Weblate (Galician)

Currently translated at 96.5% (767 of 794 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/gl/

* Translated using Weblate (Galician)

Currently translated at 100.0% (18 of 18 strings)

Translation: Mihon/Mihon Plurals
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/gl/

* Update translation files

Updated by "Cleanup translation files" hook in Weblate.

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (793 of 793 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/es/

* Translated using Weblate (Croatian)

Currently translated at 100.0% (793 of 793 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/hr/

* Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (793 of 793 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/zh_Hant/

* Translated using Weblate (Russian)

Currently translated at 100.0% (795 of 795 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ru/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (795 of 795 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/es/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (795 of 795 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/hu/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (795 of 795 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/hu/

* Translated using Weblate (Russian)

Currently translated at 99.7% (796 of 798 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ru/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (798 of 798 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/es/

* Translated using Weblate (Filipino)

Currently translated at 100.0% (798 of 798 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/fil/

* Translated using Weblate (German)

Currently translated at 100.0% (798 of 798 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/de/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (798 of 798 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/zh_Hans/

* Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (798 of 798 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/zh_Hant/

* Translated using Weblate (Japanese)

Currently translated at 99.4% (794 of 798 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ja/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (798 of 798 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/hu/

* Translated using Weblate (Czech)

Currently translated at 99.8% (797 of 798 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/cs/

* Translated using Weblate (Italian)

Currently translated at 100.0% (798 of 798 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/it/

* Translated using Weblate (Nepali)

Currently translated at 100.0% (798 of 798 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ne/

* Translated using Weblate (Czech)

Currently translated at 100.0% (18 of 18 strings)

Translation: Mihon/Mihon Plurals
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/cs/

* Translated using Weblate (Italian)

Currently translated at 100.0% (18 of 18 strings)

Translation: Mihon/Mihon Plurals
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/it/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (803 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/es/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (803 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/hu/

* Translated using Weblate (Japanese)

Currently translated at 99.7% (801 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ja/

* Translated using Weblate (Russian)

Currently translated at 100.0% (803 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ru/

* Translated using Weblate (Filipino)

Currently translated at 100.0% (803 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/fil/

* Translated using Weblate (Japanese)

Currently translated at 99.7% (801 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ja/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (803 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/zh_Hans/

* Translated using Weblate (German)

Currently translated at 100.0% (803 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/de/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (803 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/hu/

* Translated using Weblate (Japanese)

Currently translated at 99.7% (801 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ja/

* Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (803 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/zh_Hant/

* Translated using Weblate (Amharic)

Currently translated at 34.3% (276 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/am/

* Translated using Weblate (Arabic)

Currently translated at 98.5% (791 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ar/

* Translated using Weblate (Belarusian)

Currently translated at 42.0% (338 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/be/

* Translated using Weblate (Bulgarian)

Currently translated at 79.8% (641 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/bg/

* Translated using Weblate (Bengali)

Currently translated at 79.2% (636 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/bn/

* Translated using Weblate (Catalan)

Currently translated at 98.5% (791 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ca/

* Translated using Weblate (Cebuano)

Currently translated at 55.0% (442 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ceb/

* Translated using Weblate (Czech)

Currently translated at 99.2% (797 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/cs/

* Translated using Weblate (Chuvash)

Currently translated at 74.5% (599 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/cv/

* Translated using Weblate (Danish)

Currently translated at 39.9% (321 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/da/

* Translated using Weblate (German)

Currently translated at 100.0% (803 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/de/

* Translated using Weblate (Greek)

Currently translated at 98.6% (792 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/el/

* Translated using Weblate (Esperanto)

Currently translated at 64.2% (516 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/eo/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (803 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/es/

* Translated using Weblate (Basque)

Currently translated at 74.4% (598 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/eu/

* Translated using Weblate (Persian)

Currently translated at 83.5% (671 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/fa/

* Translated using Weblate (Finnish)

Currently translated at 84.0% (675 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/fi/

* Translated using Weblate (Filipino)

Currently translated at 100.0% (803 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/fil/

* Translated using Weblate (French)

Currently translated at 98.5% (791 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/fr/

* Translated using Weblate (Galician)

Currently translated at 95.2% (765 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/gl/

* Translated using Weblate (Hebrew)

Currently translated at 89.7% (721 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/he/

* Translated using Weblate (Hindi)

Currently translated at 82.6% (664 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/hi/

* Translated using Weblate (Croatian)

Currently translated at 98.7% (793 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/hr/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (803 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/hu/

* Translated using Weblate (Indonesian)

Currently translated at 98.6% (792 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/id/

* Translated using Weblate (Italian)

Currently translated at 99.3% (798 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/it/

* Translated using Weblate (Japanese)

Currently translated at 99.7% (801 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ja/

* Translated using Weblate (Javanese)

Currently translated at 38.3% (308 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/jv/

* Translated using Weblate (Georgian)

Currently translated at 52.5% (422 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ka/

* Translated using Weblate (Kazakh)

Currently translated at 86.1% (692 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/kk/

* Translated using Weblate (Khmer (Central))

Currently translated at 26.7% (215 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/km/

* Translated using Weblate (Kannada)

Currently translated at 62.2% (500 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/kn/

* Translated using Weblate (Korean)

Currently translated at 98.5% (791 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ko/

* Translated using Weblate (Lithuanian)

Currently translated at 84.9% (682 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/lt/

* Translated using Weblate (Latvian)

Currently translated at 93.3% (750 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/lv/

* Translated using Weblate (Marathi)

Currently translated at 26.6% (214 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/mr/

* Translated using Weblate (Malay)

Currently translated at 98.5% (791 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ms/

* Translated using Weblate (Norwegian Bokmål)

Currently translated at 98.5% (791 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/nb_NO/

* Translated using Weblate (Nepali)

Currently translated at 99.3% (798 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ne/

* Translated using Weblate (Dutch)

Currently translated at 92.9% (746 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/nl/

* Translated using Weblate (Norwegian Nynorsk)

Currently translated at 33.6% (270 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/nn/

* Translated using Weblate (Polish)

Currently translated at 98.6% (792 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/pl/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 98.6% (792 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/pt_BR/

* Translated using Weblate (Portuguese)

Currently translated at 88.6% (712 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/pt/

* Translated using Weblate (Romanian)

Currently translated at 97.8% (786 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ro/

* Translated using Weblate (Russian)

Currently translated at 100.0% (803 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ru/

* Translated using Weblate (Sanskrit)

Currently translated at 71.3% (573 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/sa/

* Translated using Weblate (Yakut)

Currently translated at 51.3% (412 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/sah/

* Translated using Weblate (Sardinian)

Currently translated at 93.3% (750 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/sc/

* Translated using Weblate (Kurdish (Southern))

Currently translated at 29.8% (240 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/sdh/

* Translated using Weblate (Slovak)

Currently translated at 78.7% (632 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/sk/

* Translated using Weblate (Albanian)

Currently translated at 86.6% (696 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/sq/

* Translated using Weblate (Serbian)

Currently translated at 98.6% (792 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/sr/

* Translated using Weblate (Swedish)

Currently translated at 98.5% (791 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/sv/

* Translated using Weblate (Telugu)

Currently translated at 24.5% (197 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/te/

* Translated using Weblate (Thai)

Currently translated at 98.5% (791 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/th/

* Translated using Weblate (Turkish)

Currently translated at 98.5% (791 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/tr/

* Translated using Weblate (Ukrainian)

Currently translated at 98.5% (791 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/uk/

* Translated using Weblate (Uzbek)

Currently translated at 44.4% (357 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/uz/

* Translated using Weblate (Vietnamese)

Currently translated at 96.3% (774 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/vi/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (803 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/zh_Hans/

* Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (803 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/zh_Hant/

* Update translation files

Updated by "Remove blank strings" hook in Weblate.

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/

---------

Co-authored-by: Syrodil Eventalious <giannis.yalanskyi@gmail.com>
Co-authored-by: NukeSource <dede48076@gmail.com>
Co-authored-by: Lyfja <45209212+lyfja@users.noreply.github.com>
Co-authored-by: Arash <ara.khoram95@gmail.com>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Mr. Fakezay <fakezaydev@gmail.com>
Co-authored-by: kevans <albapazpi@gmail.com>
Co-authored-by: TheKingTermux <achmadmaulana0233@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Dexroneum <Rozhenkov69@gmail.com>
Co-authored-by: B4LiN7 <B4LiN7@users.noreply.hosted.weblate.org>
Co-authored-by: Infy's Tagalog Translations <ced.paltep10@gmail.com>
Co-authored-by: gekka <1778962971@qq.com>
Co-authored-by: akir45 <akkn0708@gmail.com>
Co-authored-by: Matyáš Caras <matyas@caras.cafe>
Co-authored-by: Federico Pierantoni <federico.pieranton@gmail.com>
Co-authored-by: FateXBlood <zecrofelix@gmail.com>
(cherry picked from commit 34bf5c6f87d74df2dcc6d0f23f5a73425d2fd6ef)
2024-04-13 11:59:05 -04:00
Weblate (bot)
8b098b38f8 Translations update from Hosted Weblate (#508)
* Translated using Weblate (Greek)

Currently translated at 99.8% (793 of 794 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/el/

* Translated using Weblate (Turkish)

Currently translated at 100.0% (18 of 18 strings)

Translation: Mihon/Mihon Plurals
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/tr/

* Translated using Weblate (German)

Currently translated at 100.0% (18 of 18 strings)

Translation: Mihon/Mihon Plurals
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/de/

* Translated using Weblate (Persian)

Currently translated at 84.7% (673 of 794 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/fa/

* Translated using Weblate (German)

Currently translated at 100.0% (794 of 794 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/de/

* Translated using Weblate (Greek)

Currently translated at 100.0% (794 of 794 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/el/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (794 of 794 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/pt_BR/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (18 of 18 strings)

Translation: Mihon/Mihon Plurals
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/pt_BR/

* Translated using Weblate (Galician)

Currently translated at 95.9% (762 of 794 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/gl/

* Translated using Weblate (Japanese)

Currently translated at 100.0% (18 of 18 strings)

Translation: Mihon/Mihon Plurals
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/ja/

* Translated using Weblate (Javanese)

Currently translated at 38.8% (7 of 18 strings)

Translation: Mihon/Mihon Plurals
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/jv/

* Translated using Weblate (Galician)

Currently translated at 96.5% (767 of 794 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/gl/

* Translated using Weblate (Galician)

Currently translated at 100.0% (18 of 18 strings)

Translation: Mihon/Mihon Plurals
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/gl/

* Update translation files

Updated by "Cleanup translation files" hook in Weblate.

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (793 of 793 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/es/

* Translated using Weblate (Croatian)

Currently translated at 100.0% (793 of 793 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/hr/

* Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (793 of 793 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/zh_Hant/

* Translated using Weblate (Russian)

Currently translated at 100.0% (795 of 795 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ru/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (795 of 795 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/es/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (795 of 795 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/hu/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (795 of 795 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/hu/

* Translated using Weblate (Russian)

Currently translated at 99.7% (796 of 798 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ru/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (798 of 798 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/es/

* Translated using Weblate (Filipino)

Currently translated at 100.0% (798 of 798 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/fil/

* Translated using Weblate (German)

Currently translated at 100.0% (798 of 798 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/de/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (798 of 798 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/zh_Hans/

* Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (798 of 798 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/zh_Hant/

* Translated using Weblate (Japanese)

Currently translated at 99.4% (794 of 798 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ja/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (798 of 798 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/hu/

* Translated using Weblate (Czech)

Currently translated at 99.8% (797 of 798 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/cs/

* Translated using Weblate (Italian)

Currently translated at 100.0% (798 of 798 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/it/

* Translated using Weblate (Nepali)

Currently translated at 100.0% (798 of 798 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ne/

* Translated using Weblate (Czech)

Currently translated at 100.0% (18 of 18 strings)

Translation: Mihon/Mihon Plurals
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/cs/

* Translated using Weblate (Italian)

Currently translated at 100.0% (18 of 18 strings)

Translation: Mihon/Mihon Plurals
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/it/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (803 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/es/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (803 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/hu/

* Translated using Weblate (Japanese)

Currently translated at 99.7% (801 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ja/

* Translated using Weblate (Russian)

Currently translated at 100.0% (803 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ru/

* Translated using Weblate (Filipino)

Currently translated at 100.0% (803 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/fil/

* Translated using Weblate (Japanese)

Currently translated at 99.7% (801 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ja/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (803 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/zh_Hans/

* Translated using Weblate (German)

Currently translated at 100.0% (803 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/de/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (803 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/hu/

* Translated using Weblate (Japanese)

Currently translated at 99.7% (801 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ja/

* Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (803 of 803 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/zh_Hant/

---------

Co-authored-by: Syrodil Eventalious <giannis.yalanskyi@gmail.com>
Co-authored-by: NukeSource <dede48076@gmail.com>
Co-authored-by: Lyfja <45209212+lyfja@users.noreply.github.com>
Co-authored-by: Arash <ara.khoram95@gmail.com>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Mr. Fakezay <fakezaydev@gmail.com>
Co-authored-by: kevans <albapazpi@gmail.com>
Co-authored-by: TheKingTermux <achmadmaulana0233@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Dexroneum <Rozhenkov69@gmail.com>
Co-authored-by: B4LiN7 <B4LiN7@users.noreply.hosted.weblate.org>
Co-authored-by: Infy's Tagalog Translations <ced.paltep10@gmail.com>
Co-authored-by: gekka <1778962971@qq.com>
Co-authored-by: akir45 <akkn0708@gmail.com>
Co-authored-by: Matyáš Caras <matyas@caras.cafe>
Co-authored-by: Federico Pierantoni <federico.pieranton@gmail.com>
Co-authored-by: FateXBlood <zecrofelix@gmail.com>
(cherry picked from commit 6abaa47f5beacdc36a40cec98e3d7f02ac77f320)

# Conflicts:
#	i18n/src/commonMain/resources/MR/gl/strings.xml
#	i18n/src/commonMain/resources/MR/hu/strings.xml
#	i18n/src/commonMain/resources/MR/tr/plurals.xml
#	i18n/src/commonMain/resources/MR/zh-rTW/strings.xml
2024-04-13 11:58:56 -04:00
Maddie Witman
5e0585d724 Moves upcoming requirement from existence to current day or later. (#606)
* Moves upcoming requirement from existence to current day or later.

* Suppress millis conversion warning

(cherry picked from commit c9fddf9e388cff5e4071a89719825dee466deaf4)
2024-04-13 11:56:15 -04:00
MajorTanya
3e438a9e87 Add ProGuard rule to keep mihon namespace classes (#605)
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit 555d2f834fb64df9a56fdf4f54d528c15fefa4cb)
2024-04-13 11:56:06 -04:00
Andreas
8046c1a540 Fix Migrator not doing work (#604)
(cherry picked from commit 6b3423a12b620dd2aae635ac4e859d00a4f62ceb)
2024-04-13 11:55:47 -04:00
renovate[bot]
1f3f6cd4df fix(deps): update detekt to v1.23.6 (#595)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 86fbd20665613cacb8d3c733aed9731792a07392)
2024-04-13 11:55:31 -04:00
renovate[bot]
a62a5ed650 fix(deps): update aboutlib.version to v11.1.1 (#592)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit f1660beafc8303ba8d7ebfd160029e869a077f69)

# Conflicts:
#	gradle/libs.versions.toml
2024-04-13 11:55:24 -04:00
Maddie Witman
a320903bc0 New Feature: Introduce Upcoming page to Mihon (#420)
* Work in progress upcoming feature

* Checkpointing WIP upcoming feature

* Functional Upcoming Screen

* Rename UpdateCalendar to UpdateUpcoming

* Converted Strings to resources

* Cleanup

* Fixed detekt issues

* Removed Link icon per @AntsyLich's suggestion.

* Detekt

* Fixed Calendar display on wide form factor devices

* Added Key to upcoming lazycolumn

* Updated tablet mode UI to support two column view

* Updated header creation logic

* Updated header creation logic... again

* Moved stray string to resources

* Fixed PR Comments and query refactor

* Tweaks to query, refactored to flow, comments on calendar

* Switched to Date Formatter

* Cleaned up date formatter

* More Refactor work

* Updated Calendar to support localized week formats

* Fixed year format

* Refactored Header animation

* Moved upcoming FAQ

* Completed YearMonth Migration

* Replaced currentYearMonth with delegate

* Even more cleanup

* cleaned up alignment modifiers

* Click Handler and other refactors

* Removed Wrapped Content Height/Size/extra clips

* Huge Refactor for CalendarDay

* Another cleanup attempt

* Migrated to new mihon.feature.* module pattern

* changed access modifier

* A Bunch of changes from the next round of reviews

* Cleanups

* Cleanup 2

---------

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

# Conflicts:
#	app/src/main/java/eu/kanade/domain/DomainModule.kt
#	gradle/libs.versions.toml
2024-03-28 17:35:51 -04:00
Andreas
a6c4f01c74 Migrator improvements (#588)
(cherry picked from commit 0265c16eb239518d52b7e9fb4200b5b003418d5d)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
2024-03-28 17:26:09 -04:00
Jobobby04
a657c65261 Reduce build warnings 2024-03-28 17:18:38 -04:00
Jobobby04
5455daf96b Fix build 2024-03-28 17:13:03 -04:00
Jobobby04
d40bc2b41b Update Dependencies 2024-03-28 16:58:20 -04:00
Jobobby04
527ca85c39 Update WebView to support lower minSDK 2024-03-28 16:57:12 -04:00
Maddie Witman
189714eaf1 Migrated from Accompanist Webview to KevinZou WebView (#569)
* Migrated from Accompanist Webview to KevinZou WebView to preempt deprecation

* Removed old webview from version library

(cherry picked from commit ba9cfd867c028551c0b0740922c5130b14455c9f)
2024-03-28 16:54:28 -04:00
Andreas
90d5104bdc Rewrite Migrations (#577)
* Rewrite Migrations

* Fix Detekt errors

* Do migrations synchronous

* Filter and sort migrations

* Review changes

* Review changes 2

* Fix Detekt errors

(cherry picked from commit 666d6aa117756f0a9a57b31f91b7acb0ee5d7409)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/Migrations.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
2024-03-28 16:53:08 -04:00
Jobobby04
ceff887a10 Fix build 2024-03-27 17:23:51 -04:00
Jobobby04
2197bd0451 Revert "Migrated from Accompanist Webview to KevinZou WebView (#569)"
This reverts commit 268b4831826df121f2b7fb7529ad367389bc731c.
2024-03-27 16:40:40 -04:00
AntsyLich
861a810961 Fix mishap in e020ae5ed558e80742ef0ad8bfa0f69af0959d5a
(cherry picked from commit 6965e59a643c67a2bf81b3c69ec70268e5da5797)
2024-03-27 16:28:52 -04:00
AntsyLich
81984c25df Fix more TypeReference issues and cleanup
(cherry picked from commit e020ae5ed558e80742ef0ad8bfa0f69af0959d5a)
2024-03-27 16:28:43 -04:00
MajorTanya
b21d685a37 Fix extension repo crash with TypeReference issue (#574)
Fix by @AntsyLich.

Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit 05071b420572a8fa93a55ab02c743c7da4fd3b3a)
2024-03-27 16:28:35 -04:00
MajorTanya
fb4d9209f8 Fix repo name used for URL instead of baseUrl (#572)
* Fix repo name used for URL instead of baseUrl

This applies to both the item being shown in the screen as well as the
"copy to clipboard" button. Before, copying a repo url would return
"The Repo Name/index.json.min". This PR fixes that.

* Correct Misunderstanding

Passing the whole ExtensionRepo data class through now, using the name
for display purposes and the baseUrl for copying the URL.

(cherry picked from commit da20d00481f112802aade5d63fc1eca15c5496ba)
2024-03-27 16:28:19 -04:00
MajorTanya
9ee0034c9a Refactor the ExtensionRepoService to use DTOs (#573)
* Refactor the ExtensionRepoService to use DTOs

Slightly refactored the `ExtensionRepoService` so it uses a DTO with
`parseAs` to avoid parsing the JSON response by hand.

The default Json instance Injekt provides here has
`ignoreUnknownKeys` enabled, so the `ExtensionRepoMetaDto` only
specifies the meta key of the response content.

The extension function `toExtensionRepo` allows for mapping the new
DTO to the `domain` `ExtensionRepo` data class.

* Implement feedback

- Removed SerialName of the ExtensionRepoMetaDto property and renamed
it `meta`, same as the incoming attribute.
- Added a more general catch clause that also logs the occurring
Exception

Detekt likes to complain about TooGenericExceptionCaught, hence the
Suppress annotation on the function.

(cherry picked from commit 8c437ceecf3c5d8d944a70439d3549e21d751736)
2024-03-27 16:28:09 -04:00
Maddie Witman
268b483182 Migrated from Accompanist Webview to KevinZou WebView (#569)
* Migrated from Accompanist Webview to KevinZou WebView to preempt deprecation

* Removed old webview from version library

(cherry picked from commit ba9cfd867c028551c0b0740922c5130b14455c9f)
2024-03-27 16:27:47 -04:00
Maddie Witman
2af6e7be32 Grab extension repo detail from repo.json and include in DB (#506)
* WIP Extension Repo DB Support

* Wired in to extension screen, browse settings screen

* Detekt changes

* Ui tweaks and open in browser

* Migrate ExtensionRepos on Update

* Migration Cleanup

* Slight cleanup / error handling

* Update ExtensionRepo from Repo.json during extension search.
Added Manual refresh in extension repos page.

* Split repo fetching into separate API module, major refactor work

* Removed development strings

* Moved migration to #3

* Fixed rebase

* Detekt changes

* Added Replace Repository Dialog

* Cleanup, removed platform specific code, PR comments

* Removed extra function, reverted small change

* Detekt cleanup

* Apply suggestions from code review

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

* Fixed error introduced in cleanup

* Tweak for multiline when

* Moved getCount() to flow

* changed getCount to non-suspend, used property delegation

* Apply suggestions from code review

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

* Fixed formatting with updated comment string

* Big wave of PR comments, renaming/other tweaks

* onOpenWebsite changes

* onOpenWebsite changes

* trying to make single line

* Renamed ExtensionRepoApi.kt to ExtensionRepoService.kt

---------

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

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/Migrations.kt
#	app/src/main/java/eu/kanade/tachiyomi/extension/api/ExtensionApi.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
#	data/src/main/sqldelight/tachiyomi/migrations/3.sqm
2024-03-27 16:27:24 -04:00
renovate[bot]
3ecf86ae35 fix(deps): update aboutlib.version to v11 (major) (#473)
* fix(deps): update aboutlib.version to v11

* Fix build

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit e75488f5d98fb600408d065d1c5060520a8921a4)

# Conflicts:
#	gradle/libs.versions.toml
2024-03-27 16:23:15 -04:00
renovate[bot]
41bb0e08ba chore(deps): update dependency gradle to v8.7 (#567)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 3838dbcf0805a9688ad6b0a03dc44f64de855e12)
2024-03-27 16:22:43 -04:00
renovate[bot]
0bb1eb2da1 chore(deps): update kotlin (#499)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit b3ca097e5a0a2feb582952f88a369f5a614c593f)
2024-03-27 16:22:34 -04:00
AntsyLich
919df9a7cf Add reference to compose compiler in compose.versions.toml so renovate can catch it
(cherry picked from commit 70c2443e82161378a3f653bac110767370b62c46)
2024-03-27 16:22:16 -04:00
Maddie Witman
2ea488bff5 Rework Duplicate Dialog and Allow Migration (#492)
* (Mostly) Working Manga screen migration via duplicate dialog

* Fully working migrate from Browse Search

* Small tweaks for Antsy

* Update app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt

* Update app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt

---------

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

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SourceSearchScreen.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/manga/MangaScreen.kt
2024-03-27 16:21:57 -04:00
FooIbar
ec30ccccc2 Fix webtoon last visible item position calculation (#562)
Covers the case when image height > screen height.

(cherry picked from commit 34930920a50be25ca05024200bf871512962e3d0)
2024-03-27 15:33:33 -04:00
renovate[bot]
780bdcbe55 fix(deps): update dependency com.google.firebase:firebase-analytics-ktx to v21.6.1 (#561)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 6682b5dd39ea46ecc57e040a558420d512893ed8)

# Conflicts:
#	gradle/libs.versions.toml
2024-03-27 15:33:26 -04:00
FooIbar
a90bc4c7fa Fix recycled item's height being 0 in webtoon mode (#563)
Which will prevent the new image from being decoded until it's visible.

(cherry picked from commit ef6cad58fe0eeb7bfec7e8df33ada87946fa85d3)
2024-03-27 15:32:25 -04:00
AntsyLich
5e421c6f0e Address detekt issues
(cherry picked from commit 7e9340aa7f1021eabb4ae01eb0f4cbdfb6cc0589)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/coil/TachiyomiImageDecoder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
2024-03-27 15:32:17 -04:00
w
742fdc19ca Update image-decoder, color management (#523)
* Update image-decoder, color management

* move display profile pref

* remove true color pref

* Move Display Profile settings to a new section

* Partially revert "remove true color pref"

This partially reverts commit e1a75816950e100936699279e1618adb2fa341aa.

* Tweak label

---------

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

# 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/ui/reader/ReaderActivity.kt
#	gradle/libs.versions.toml
2024-03-27 15:31:28 -04:00
renovate[bot]
74505565ef fix(deps): update dependency org.apache.commons:commons-compress to v1.26.1 (#502)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit a29870c01e3b79952b0882441e266009bf1119f2)
2024-03-27 15:28:21 -04:00
renovate[bot]
f041ed5b2a fix(deps): update dependency com.android.tools.build:gradle to v8.3.1 (#543)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 583aa430ba9e8e7454076afc049f812bd3df21df)
2024-03-27 15:28:04 -04:00
MajorTanya
8762b20ab6 Switch to seconds for DATE_MODIFIED of saved pages (#552)
While most Android skins are seemingly able to handle the millisecond
format, the documentation technically specifies seconds. This seems to
be causing issues on Samsung devices using the Samsung Gallery app,
which renders the millisecond timestamps as if they were second ones,
causing the dates to be set at some point in the year 56189.

This change should fix that issue on Samsung devices and have no real
impact on the rest.

(cherry picked from commit 0ea0138a73466af3d371a48e344753844e9bc3d8)
2024-03-27 15:27:54 -04:00
AntsyLich
5a71889679 Fix regression from coil3 migration
Fixes #495

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

# Conflicts:
#	core/common/src/main/kotlin/tachiyomi/core/common/util/system/ImageUtil.kt
2024-03-27 15:27:43 -04:00
renovate[bot]
a4983eb004 fix(deps): update dependency io.kotest:kotest-assertions-core to v5.8.1 (#528)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit ebee2751109daf7be86d93736806374d6255be7c)
2024-03-27 15:27:07 -04:00
renovate[bot]
818bc7f75a fix(deps): update dependency com.squareup.okio:okio to v3.9.0 (#529)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 015d9b3bd057fe218d5bab77fa0736be5488eb4d)
2024-03-27 15:26:52 -04:00
AntsyLich
7de6fa8c23 Disable SerialVersionUIDInSerializableClass detekt rule
(cherry picked from commit bcdf17fe27dfb140e120ef2223aceb79668b8c16)
2024-03-27 15:26:08 -04:00
Jobobby04
edca9039e5 Fix sync stalled 2024-03-25 18:32:27 -04:00
Jobobby04
fb1649125c Actually fix animated images 2024-03-18 09:43:14 -04:00
Jobobby04
0767526f18 Revert "Re-Add Animated Image Decoders to Coil"
This reverts commit 5d1b1408eb78d94912c36cfbe63ee7663f3c1bb4.
2024-03-18 09:42:22 -04:00
Jobobby04
5d1b1408eb Re-Add Animated Image Decoders to Coil 2024-03-17 23:17:27 -04:00
Jobobby04
2f54f00bf7 Revert "Minor fix for history url"
This reverts commit 28edaca869aed7eae231d04abc97f433b6465be3.
2024-03-17 20:08:03 -04:00
ɴᴇᴋᴏ
87feb58055
Add files via upload (#1120) 2024-03-17 19:57:33 -04:00
Jobobby04
28edaca869 Minor fix for history url 2024-03-17 19:56:06 -04:00
Jobobby04
d14f012bbb Update firebase 2024-03-17 19:53:23 -04:00
Jobobby04
adc6bbf54f Minor doc fix 2024-03-17 19:53:12 -04:00
Jobobby04
2b064baca1 Update baseline 2024-03-17 19:52:59 -04:00
Jobobby04
983a80ba42 History url is not globally unique 2024-03-17 19:52:38 -04:00
Fermín Cirella
911e959fcf
Add option to reset custom manga info (#1118)
* Add option to reset custom manga info

* Remove extra line

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

---------

Co-authored-by: jobobby04 <jobobby04@users.noreply.github.com>
2024-03-16 23:59:19 -04:00
KaiserBh
a425cae73b
fix: The trigger for library update wasn't working properly. (#1119)
Missed them, so it was always updating library without actually syncing even when the trigger was on.

Signed-off-by: KaiserBh <kaiserbh@proton.me>
2024-03-16 23:56:00 -04:00
Jobobby04
d12a9d329b [skip ci] Add instructions for supporting Cloud Sync Google Drive Impl 2024-03-16 15:59:00 -04:00
Jobobby04
9018757496 Oops 2024-03-16 13:47:55 -04:00
ɴᴇᴋᴏ
b0d91fa83f
Update zh-rTW (#1117)
* Update plurals.xml

* Update strings.xml

* Update plurals.xml

* Update strings.xml

* Update plurals.xml

* Update plurals.xml

* Update strings.xml

* Update plurals.xml

* plurals.xml

* plurals.xml

* Delete i18n/src/commonMain/resources/MR/zh-rTW/strings.xml

* Add files via upload
2024-03-16 13:46:27 -04:00
Jobobby04
1caa929aa0 Add preview prefix 2024-03-16 13:45:47 -04:00
Jobobby04
04e5be12e1 Write client_secrets.json on build 2024-03-16 13:37:41 -04:00
Jobobby04
1136644a57 Remove Client Secrets 2024-03-16 13:32:58 -04:00
Jobobby04
d70258b956 Cleanup sync code 2024-03-16 13:14:40 -04:00
Jobobby04
54cb379a50 Update Detekt baseline 2024-03-16 12:36:51 -04:00
Jobobby04
0e959c4594 Move strings to SY strings 2024-03-16 12:23:30 -04:00
Shamicen
6719f22eff
implement mihonapp/mihon#326 (#1104)
* implement mihonapp/mihon#326

Archives are now being read from channels

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

* disable parallelisms for loading into memory

* switched to mutex

* detekt changes

* more detekt baseline changes

---------

Co-authored-by: FooIbar <118464521+FooIbar@users.noreply.github.com>
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
2024-03-16 11:59:00 -04:00
Jobobby04
45711cd394 Update Client Secret 2024-03-16 11:55:48 -04:00
KaiserBh
334e9fb680
feat: add cross device sync (#1005)
* feat: add cross device sync.

* chore: add google api.

* chore: add SY specifics.

* feat: add backupSource, backupPref, and "SY" backupSavedSearches.

I forgot to add the data into the merging logic, So remote always have empty value :(. Better late than never.

* feat(sync): Allow to choose what to sync.

Various improvement and added the option to choose what they want to sync. Added sync library button to LibraryTab as well.

Signed-off-by: KaiserBh <kaiserbh@proton.me>

* oops.

Signed-off-by: KaiserBh <kaiserbh@proton.me>

* refactor: fix up the sync triggers, and update imports.

* refactor

* chore: review pointers.

* refactor: update imports

* refactor: add more error guard for gdrive.

Also changed it to be app specific, we don't want them to use sync data from SY or other forks as some of the model and backup is different. So if people using other forks they should use the same data and not mismatch.

* fix: conflict and refactor.

* refactor: update imports.

* chore: fix some of detekt error.

* refactor: add breaks and max retries.

I think we were reaching deadlock or infinite loop causing the sync to go forever.

* feat: db changes to accommodate new syncing logic.

Using timestamp to sync is a bit skewed due to system clock etc and therefore there was a lot of issues with it such as removing a manga that shouldn't have been removed. Marking chapters as unread even though it was marked as a read. Hopefully by using versioning system it should eliminate those issues.

* chore: add migrations

* chore: version and is_syncing fields.

* chore: add SY only stuff.

* fix: oops wrong index.

Signed-off-by: KaiserBh <kaiserbh@proton.me>

* chore: review pointers.

Signed-off-by: KaiserBh <kaiserbh@proton.me>

* chore: remove the option to reset timestamp

We don't need this anymore since we are utilizing versioning system.

Signed-off-by: KaiserBh <kaiserbh@proton.me>

* refactor: Forgot to use the new versioning system.

I forgot to cherry pick this from mihon branch.

* chore: remove isSyncing from Chapter/Manga model.

Signed-off-by: KaiserBh <kaiserbh@proton.me>

* chore: remove unused import.

Signed-off-by: KaiserBh <kaiserbh@proton.me>

* chore: remove isSyncing leftover.

Signed-off-by: KaiserBh <kaiserbh@proton.me>

* chore: remove isSyncing.

Signed-off-by: KaiserBh <kaiserbh@proton.me>

* refactor: make sure the manga version is bumped.

When there is changes in the chapters table such as reading or updating last read page we should bump the manga version. This way the manga is synced properly as in the History and last_read history is synced properly. This should fix the sorting issue.

Signed-off-by: KaiserBh <kaiserbh@proton.me>

---------

Signed-off-by: KaiserBh <kaiserbh@proton.me>
2024-03-16 11:53:20 -04:00
ɴᴇᴋᴏ
6e0bc981a6
Update README.md (#1113)
Tachi -> Mihon
2024-03-15 20:36:28 -04:00
Cuong M. Tran
b7e55bc9f8
Update detekt's baseline & run detekt for future build (#1106)
* Update detekt baseline from mihon

* Update detekt baseline to current code & enable gradle's detekt task for future build
2024-03-15 20:35:39 -04:00
Shamicen
a069e577ba
Change preferences containing passwords to appStateKeys (#1083)
* Change preferences containing passwords to appStateKeys

* Change versionCode to 65

* fix merge conflict and add instructions to get library back after migration
2024-03-15 20:28:37 -04:00
Jobobby04
0eb622643b Use github run_number to create tag 2024-03-15 20:18:44 -04:00
Jobobby04
d93d0eea89 Shorten Anilst UA(hopefully Cloudflare likes this one) 2024-03-15 20:14:37 -04:00
AntsyLich
82846205b2 Fix crash in track date selection dialog
Co-authored-by: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
(cherry picked from commit f08713587685ddb27cb8ce7184e2dd21ae7968ae)
2024-03-15 20:08:14 -04:00
AntsyLich
4a4fecb1e8 Bump default user agent
(cherry picked from commit f66f52c244b786ae09f8e4ae683575907068d15f)
2024-03-15 20:08:06 -04:00
renovate[bot]
ee6bc20f27 Update dependency io.nlopez.compose.rules:detekt to v0.3.12 (#500)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 0d6f426dbd8874c7861b6cc245f9e6ff43dbbe2c)
2024-03-15 20:07:56 -04:00
Weblate (bot)
446a5cd5b3 Translations update from Hosted Weblate (#445)
* Translated using Weblate (Esperanto)

Currently translated at 65.1% (517 of 794 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/eo/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (794 of 794 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/es/

* Translated using Weblate (Croatian)

Currently translated at 100.0% (794 of 794 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/hr/

* Translated using Weblate (Serbian)

Currently translated at 100.0% (794 of 794 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/sr/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (794 of 794 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/zh_Hans/

* Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (794 of 794 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/zh_Hant/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (18 of 18 strings)

Translation: Mihon/Mihon Plurals
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/es/

* Translated using Weblate (Croatian)

Currently translated at 100.0% (18 of 18 strings)

Translation: Mihon/Mihon Plurals
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/hr/

* Translated using Weblate (Serbian)

Currently translated at 100.0% (18 of 18 strings)

Translation: Mihon/Mihon Plurals
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/sr/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (18 of 18 strings)

Translation: Mihon/Mihon Plurals
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/zh_Hans/

* Translated using Weblate (Filipino)

Currently translated at 100.0% (794 of 794 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/fil/

* Translated using Weblate (Filipino)

Currently translated at 100.0% (18 of 18 strings)

Translation: Mihon/Mihon Plurals
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/fil/

* Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (18 of 18 strings)

Translation: Mihon/Mihon Plurals
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/zh_Hant/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (794 of 794 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/hu/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (18 of 18 strings)

Translation: Mihon/Mihon Plurals
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/hu/

* Translated using Weblate (Nepali)

Currently translated at 100.0% (794 of 794 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ne/

* Translated using Weblate (Polish)

Currently translated at 100.0% (794 of 794 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/pl/

* Translated using Weblate (Polish)

Currently translated at 100.0% (18 of 18 strings)

Translation: Mihon/Mihon Plurals
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/pl/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (794 of 794 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/hu/

* Translated using Weblate (Russian)

Currently translated at 100.0% (794 of 794 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ru/

* Translated using Weblate (Russian)

Currently translated at 100.0% (18 of 18 strings)

Translation: Mihon/Mihon Plurals
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/ru/

* Translated using Weblate (Indonesian)

Currently translated at 100.0% (794 of 794 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/id/

* Translated using Weblate (Japanese)

Currently translated at 100.0% (794 of 794 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ja/

* Translated using Weblate (Indonesian)

Currently translated at 100.0% (18 of 18 strings)

Translation: Mihon/Mihon Plurals
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/id/

* Translated using Weblate (Dutch)

Currently translated at 94.2% (748 of 794 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/nl/

* Translated using Weblate (Dutch)

Currently translated at 94.4% (17 of 18 strings)

Translation: Mihon/Mihon Plurals
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/nl/

* Translated using Weblate (German)

Currently translated at 100.0% (794 of 794 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/de/

---------

Co-authored-by: Radoŝ Porka <animatorzPolski@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: David Katrinka <davidkatrinka1995@gmail.com>
Co-authored-by: gekka <1778962971@qq.com>
Co-authored-by: ɴᴇᴋᴏ <s99095lkjjim@gmail.com>
Co-authored-by: Infy's Tagalog Translations <ced.paltep10@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: B4LiN7 <B4LiN7@users.noreply.hosted.weblate.org>
Co-authored-by: FateXBlood <zecrofelix@gmail.com>
Co-authored-by: Eryk Michalak <gnu.ewm@protonmail.com>
Co-authored-by: Dexroneum <Rozhenkov69@gmail.com>
Co-authored-by: TheKingTermux <achmadmaulana0233@gmail.com>
Co-authored-by: Tim Bolhoeve <bolhoevetim@gmail.com>
Co-authored-by: Lyfja <45209212+lyfja@users.noreply.github.com>
(cherry picked from commit edd7d0522c305a8aec8ab524214d3a26106dac31)

# Conflicts:
#	i18n/src/commonMain/resources/MR/hu/strings.xml
#	i18n/src/commonMain/resources/MR/sr/strings.xml
#	i18n/src/commonMain/resources/MR/zh-rTW/strings.xml
2024-03-15 20:07:49 -04:00
KaiserBh
cdb07c893b feat: db changes to accommodate new cross device syncing logic. (#450)
* feat: db changes to accommodate new syncing logic.

Using timestamp to sync is a bit skewed due to system clock etc and therefore there was a lot of issues with it such as removing a manga that shouldn't have been removed. Marking chapters as unread even though it was marked as a read. Hopefully by using versioning system it should eliminate those issues.

* chore: add new line.

* chore: remove isSyncing from Chapter/Manga model.

* chore: remove isSyncing leftover.

* chore: remove isSyncing.

* refactor: remove isSync guard.

Just use it directly to 1 now since we don't have the isSyncing field in Manga or Chapter.

* Lint and stuff

* Add missing ,

---------

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

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/create/creators/MangaBackupCreator.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupChapter.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupManga.kt
#	data/src/main/java/tachiyomi/data/chapter/ChapterRepositoryImpl.kt
#	data/src/main/sqldelight/tachiyomi/migrations/2.sqm
#	domain/src/main/java/tachiyomi/domain/manga/model/MangaUpdate.kt
2024-03-15 20:06:20 -04:00
Redjard
a4d88515fb Fix shizuku being buggy for multi user setups (#494)
* Fix #493

Fetch the current userid separately because shizuku always runs as the main user and would otherwise install and update for the main user

* Update app/src/main/java/eu/kanade/tachiyomi/extension/installer/ShizukuInstaller.kt

---------

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

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/extension/installer/ShizukuInstaller.kt
2024-03-15 19:55:36 -04:00
FooIbar
345d0821c6 Fix dual page split for local source (#485)
`InputStream.available()` is implementation-dependent, should never assume it will return the total number of bytes in the stream.

(cherry picked from commit d0e64d3a66d227ca61fc8d956b03cab5ac3b84f0)

# Conflicts:
#	core/common/src/main/kotlin/tachiyomi/core/common/util/system/ImageUtil.kt
2024-03-15 19:54:06 -04:00
az4521
a9fd1f8811 Update image-decoder (#466)
Use newer image-decoder lib

fixes crashing when trying to load corrupt images below 12 bytes in size

(cherry picked from commit 154f4d327caea9ceef6a53e739324ee0a9ed959d)

# Conflicts:
#	gradle/libs.versions.toml
2024-03-15 19:53:26 -04:00
Jobobby04
31e5ba4caf Fix multiple issues regarding sources loading too late 2024-03-15 19:51:56 -04:00
Jobobby04
202900edf0 Fix build error after Android Gradle 8.3 2024-03-03 22:39:58 -05:00
AntsyLich
f79959c7bc Fix ChapterDownloadIndicator
Co-authored-by: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
(cherry picked from commit d8b9a9f593911569ff2bceb49b4f020978d0d2e1)
2024-03-03 22:01:15 -05:00
AntsyLich
237d8d6b33 Small cleanup
(cherry picked from commit b7e091d5d039e00cababc7daf555280df6cf9c03)
2024-03-03 22:01:05 -05:00
renovate[bot]
117e0d5792 Update dependency com.android.tools.build:gradle to v8.3.0 (#471)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 31e052ac15679496f9f2c3882e53096119e0e6cf)
2024-03-03 22:00:56 -05:00
renovate[bot]
64bbe941a4 Update dependency io.mockk:mockk to v1.13.10 (#470)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 60480686daa9456c78d7cb45c5ad2e23644d1bd2)
2024-03-03 22:00:49 -05:00
Jobobby04
dcd44c42ed Merge branch 'release' 2024-03-02 15:39:33 -05:00
Jobobby04
6c563d7619 Fix for duplicate read 2024-03-02 15:38:32 -05:00
Jobobby04
97f22c500b 1.10.5 2024-03-02 15:38:05 -05:00
Jobobby04
9cbeccfa15 Fix for duplicate read 2024-03-02 15:34:28 -05:00
MajorTanya
86722a31d0 Fix DelayedTrackingUpdateJob spam on update errors (#411)
* Fix DelayedTrackingUpdateJob spam on update errors

DelayedTrackingUpdateJob would start spamming when it encountered an
error (e.g. a tracker has an issue) and never stop.
This seems to stem from a circular dependency between the Job's
`doWork` and TrackChapter's `await`.

TrackChapter sets up a completely new instance of the
DelayedTrackingUpdateJob if any Exception was thrown during the track
update.

This causes the Job to get replaced (as per the WorkManager's set
ExistingWorkPolicy).

Because of this, the guard clause at the start of doWork would never
trigger, as all instances of the Job would report being the 0th try
(because they were completely new instances).

This simple fix introduces a boolean `isRetry` parameter to
TrackChapter's await method, which is set to `false` by default.
DelayedTrackingUpdateJob however sets this parameter to `true`, which
means TrackChapter won't try to set up the Job again.

* Rename isRetry parameter to setupJobOnFailure

This also inverts the logic, so true & false were swapped.

(cherry picked from commit 617bf491eee1d1010dc23c3f6df5d148700feb44)
2024-03-02 15:32:56 -05:00
AntsyLich
589b33a673 Fix detekt issue
(cherry picked from commit 9254079957e383e4aa5c914ccd9705612e0892d0)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/track/myanimelist/MyAnimeListInterceptor.kt
2024-03-02 15:32:31 -05:00
AntsyLich
dae0348710 Don't add custom User Agent for MAL
Closes #298

(cherry picked from commit 7974a1fc0c2b0e237d5704a033a60ec0fd60cdbc)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/track/myanimelist/MyAnimeListInterceptor.kt
2024-03-02 15:32:29 -05:00
Jobobby04
a7f6155627 Ignore chapters with 0 or under chapter numbers
(cherry picked from commit d8082de1db35997874421e4dabcc53debea9dce7)
2024-03-02 15:31:38 -05:00
Jobobby04
7f5bc4a3e5 Use new gradle workflow 2024-03-02 15:28:40 -05:00
Jobobby04
ec32278f1a Throw IOException 2024-03-02 14:25:31 -05:00
AntsyLich
c02c5aa915 Revert changes to gradle.properties
(cherry picked from commit d6ba3c824972c8a2196516edd42e9e8be6385f36)
2024-03-02 14:24:34 -05:00
AntsyLich
f267f2ad5b detekt my beloved
(cherry picked from commit c56f4665ef0276c54f5abebd9ab93e2e283739a6)
2024-03-02 14:24:25 -05:00
renovate[bot]
03bc09c1aa Update dependency me.saket.swipe:swipe to v1.3.0 (#343)
* Update dependency me.saket.swipe:swipe to v1.3.0

* Update MangaChapterListItem.kt

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
Co-authored-by: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
(cherry picked from commit b51a0a38bd9849b573bc2de0d936d6ab2becb83c)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/components/MangaChapterListItem.kt
2024-03-02 14:24:16 -05:00
AntsyLich
c4df418081 Switch to Coil3
Co-authored-by: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
(cherry picked from commit f72b6e4d7c1f2f93d705402e4d80c94160bef54d)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/App.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/coil/TachiyomiImageDecoder.kt
2024-03-02 14:22:54 -05:00
AntsyLich
a9c79d5fb3 Remove custom Pager
Co-authored-by: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
(cherry picked from commit 84984ef7e1d7242924120cd2f171cb9dd75bc916)
2024-03-02 14:02:34 -05:00
AntsyLich
529100a947 Enable experimental Compose compiler optimization
Co-authored-by: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
(cherry picked from commit 9f48def1e2718abd5b4aad3cb6ee8af6b39e76cc)
2024-03-02 14:02:12 -05:00
AntsyLich
062f6d5aa0 ChapterDownloadIndicator: Remove composed modifier usage
Co-authored-by: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
(cherry picked from commit e83bfb0d3511f3c049d1dfe6ca13e74467655e08)
2024-03-02 14:01:43 -05:00
AntsyLich
deb0a95985 Upgrade Compose
(cherry picked from commit 0301362430af6f74678dcae801b70d6aeb371a56)
2024-03-02 14:01:34 -05:00
Shamicen
ca70f80900 Made some changes to ComicInfo metadata (#459)
* Made some changes to ComicInfo metadata

The web field now contains a " " separated list of source and tracker urls.
The translator field will now use the source name if the scanlator field is empty.

* lint

* use already existing source instance

* made translator not nullable

* implemented requested changes

created new Mihon exclusive ComicInfo source field  and populated it with SourceName

reverted previous changes to translator field

* Update core-metadata/src/main/java/tachiyomi/core/metadata/comicinfo/ComicInfo.kt

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

* Update app/src/main/java/eu/kanade/domain/manga/model/Manga.kt

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

* Update app/src/main/java/eu/kanade/domain/manga/model/Manga.kt

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

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

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

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

---------

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

# Conflicts:
#	app/src/main/java/eu/kanade/domain/manga/model/Manga.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt
#	core-metadata/src/main/java/tachiyomi/core/metadata/comicinfo/ComicInfo.kt
2024-03-02 14:01:12 -05:00
renovate[bot]
23e3ec20b6 Update Kotlin (#422)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 802a2c5c1ea73c79967fb5b535b6249506df1870)
2024-03-02 13:59:43 -05:00
renovate[bot]
32d97ed194 Update dependency io.coil-kt:coil-bom to v2.6.0 (#447)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit c1c174698525e982107cc955d8dff711c4498989)
2024-03-02 13:59:34 -05:00
renovate[bot]
167a4e9820 Update dependency org.junit.jupiter:junit-jupiter to v5.10.2 (#419)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 4fcbd80a8ec72f4113d0ee9d457c000dcd8e7440)
2024-03-02 13:59:25 -05:00
renovate[bot]
aef0b50663 Update dependency com.google.firebase:firebase-analytics-ktx to v21.5.1 (#417)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 16969193c718cc8e6cabb473ecb1d0d7bc02f33e)

# Conflicts:
#	gradle/libs.versions.toml
2024-03-02 13:59:16 -05:00
renovate[bot]
5b5e6c8f44 Update dependency androidx.test.uiautomator:uiautomator to v2.3.0 (#416)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 55637ddfe154c2ed60efb5d9d1466d2106c97f9f)
2024-03-02 13:58:48 -05:00
renovate[bot]
5dc96384bd Update detekt to v1.23.5 (#267)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit e50358dc4be7cbd866a79d052edc62689f0e4ca5)
2024-03-02 13:58:39 -05:00
AntsyLich
affdea3ec2 Fix detekt issue
(cherry picked from commit 9254079957e383e4aa5c914ccd9705612e0892d0)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/track/myanimelist/MyAnimeListInterceptor.kt
2024-03-02 13:57:49 -05:00
AntsyLich
1436d86c7e Don't add custom User Agent for MAL
Closes #298

(cherry picked from commit 7974a1fc0c2b0e237d5704a033a60ec0fd60cdbc)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/track/myanimelist/MyAnimeListInterceptor.kt
2024-03-02 13:56:42 -05:00
renovate[bot]
b7c9eaa981 Update dependency com.squareup.okio:okio to v3.8.0 (#423)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 1521c359412518731ef7338255cdd280321faa70)
2024-03-02 13:56:12 -05:00
Splintor
db99ab526a Allow disabling reader's zoom out (#302)
* Allow disabling reader's zoom out (#62)

* Renamed disable zoom out pref and string

* Zoom to default rate if the scale is inferior

* Fixed null value check and formatting

* Fixed detekt

(cherry picked from commit c15f3f2fd5b11cc9c2088ae2fa444f4fe35ea740)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReaderPreferences.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonFrame.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonRecyclerView.kt
2024-03-02 13:55:43 -05:00
renovate[bot]
133c34dee2 Update dependency com.google.gms:google-services to v4.4.1 (#418)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 21020e1797ae9c0373e5132e1dbcd9a64455c17f)
2024-03-02 13:48:11 -05:00
Weblate (bot)
775cf258ba Translations update from Hosted Weblate (#301)
* Translated using Weblate (Spanish)

Currently translated at 100.0% (793 of 793 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/es/

* Translated using Weblate (Indonesian)

Currently translated at 100.0% (793 of 793 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/id/

* Translated using Weblate (Chuvash)

Currently translated at 75.7% (601 of 793 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/cv/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (793 of 793 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/es/

* Translated using Weblate (Chuvash)

Currently translated at 100.0% (17 of 17 strings)

Translation: Mihon/Mihon Plurals
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/cv/

* Translated using Weblate (Esperanto)

Currently translated at 100.0% (17 of 17 strings)

Translation: Mihon/Mihon Plurals
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/eo/

* Translated using Weblate (Turkish)

Currently translated at 100.0% (793 of 793 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/tr/

* Translated using Weblate (Turkish)

Currently translated at 100.0% (17 of 17 strings)

Translation: Mihon/Mihon Plurals
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/tr/

* Translated using Weblate (Turkish)

Currently translated at 100.0% (793 of 793 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/tr/

* Translated using Weblate (Turkish)

Currently translated at 100.0% (793 of 793 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/tr/

* Translated using Weblate (Japanese)

Currently translated at 100.0% (793 of 793 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ja/

* Translated using Weblate (Polish)

Currently translated at 100.0% (793 of 793 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/pl/

* Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (793 of 793 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/zh_Hant/

* Translated using Weblate (Hungarian)

Currently translated at 97.3% (772 of 793 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/hu/

* Translated using Weblate (Hungarian)

Currently translated at 94.1% (16 of 17 strings)

Translation: Mihon/Mihon Plurals
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/hu/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (793 of 793 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/es/

* Translated using Weblate (Romanian)

Currently translated at 99.3% (788 of 793 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ro/

* Translated using Weblate (Romanian)

Currently translated at 100.0% (17 of 17 strings)

Translation: Mihon/Mihon Plurals
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/ro/

* Translated using Weblate (Ukrainian)

Currently translated at 100.0% (17 of 17 strings)

Translation: Mihon/Mihon Plurals
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/uk/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (793 of 793 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/es/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (793 of 793 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/es/

* Translated using Weblate (Nepali)

Currently translated at 100.0% (793 of 793 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ne/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (793 of 793 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/es/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (793 of 793 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/es/

* Translated using Weblate (French)

Currently translated at 100.0% (17 of 17 strings)

Translation: Mihon/Mihon Plurals
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/fr/

* Translated using Weblate (Esperanto)

Currently translated at 62.0% (492 of 793 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/eo/

* Translated using Weblate (Esperanto)

Currently translated at 100.0% (17 of 17 strings)

Translation: Mihon/Mihon Plurals
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/eo/

* Translated using Weblate (Esperanto)

Currently translated at 63.6% (505 of 793 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/eo/

---------

Co-authored-by: bapeey <90949336+bapeey@users.noreply.github.com>
Co-authored-by: Eji-san <ejierubani@gmail.com>
Co-authored-by: C201 <derasetad@gmail.com>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: Radoŝ Porka <animatorzPolski@gmail.com>
Co-authored-by: Deniz <denizgezgin365@gmail.com>
Co-authored-by: Uzuki Shimamura <hzy980512@126.com>
Co-authored-by: sebastians17 <sebastians117.ss@gmail.com>
Co-authored-by: ɴᴇᴋᴏ <s99095lkjjim@gmail.com>
Co-authored-by: B4LiN7 <B4LiN7@users.noreply.hosted.weblate.org>
Co-authored-by: Saft Octavian <saftoctavian@gmail.com>
Co-authored-by: Сергій <sergiy.goncharuk.1@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: FateXBlood <zecrofelix@gmail.com>
Co-authored-by: Naga <yz2000.pro@gmail.com>
(cherry picked from commit 7edecae57f77ece7a5a3b457620c61e225fdc906)
2024-03-02 13:48:00 -05:00
Maddie Witman
ed34807a58 Fix some issues from 7ff95e2 (#415)
* Fixed extra header introduced in 7ff95e2

* Removed parentheses to make detekt happy

* Updated relative date display for dates in the future

* Small cleanup for header creation logic

* replaced "and" with "&&" for better formatting

(cherry picked from commit 07f963d5ae16c3c8d7be025a7e9439ad2110ac71)
2024-03-02 13:47:43 -05:00
beerpsi
31acbbdcdc [ExtensionLoader] Prioritize extension classpath over app classpath (#433)
(cherry picked from commit ab02568ac6e9dabc7a41036bb3d8c77138125544)
2024-03-02 13:47:21 -05:00
MajorTanya
ef7708e324 Fix DelayedTrackingUpdateJob spam on update errors (#411)
* Fix DelayedTrackingUpdateJob spam on update errors

DelayedTrackingUpdateJob would start spamming when it encountered an
error (e.g. a tracker has an issue) and never stop.
This seems to stem from a circular dependency between the Job's
`doWork` and TrackChapter's `await`.

TrackChapter sets up a completely new instance of the
DelayedTrackingUpdateJob if any Exception was thrown during the track
update.

This causes the Job to get replaced (as per the WorkManager's set
ExistingWorkPolicy).

Because of this, the guard clause at the start of doWork would never
trigger, as all instances of the Job would report being the 0th try
(because they were completely new instances).

This simple fix introduces a boolean `isRetry` parameter to
TrackChapter's await method, which is set to `false` by default.
DelayedTrackingUpdateJob however sets this parameter to `true`, which
means TrackChapter won't try to set up the Job again.

* Rename isRetry parameter to setupJobOnFailure

This also inverts the logic, so true & false were swapped.

(cherry picked from commit 617bf491eee1d1010dc23c3f6df5d148700feb44)
2024-03-02 13:47:09 -05:00
MajorTanya
de353c3334 Address overridePendingTransition deprecation (#410)
This function is deprecated starting with API 34 "UpsideDownCake" and
should be replaced with `overrideActivityTransition`.

(cherry picked from commit 840b647b4b4e738fac546b7437dd5449679232a1)
2024-03-02 13:46:42 -05:00
AntsyLich
b47a317c48 Tweak detekt config
(cherry picked from commit 1b0bbb84401005801e61107a0c36443af691b8e6)
2024-03-02 13:44:22 -05:00
AntsyLich
2b163c91a9 Cleanup [BaseColorScheme.getColorScheme]
(cherry picked from commit 95d4df9ca80a88e87e633fc24c7fec677bc9d9b6)
2024-03-02 13:44:13 -05:00
AntsyLich
d380a078a2 Update gradle.properties
(cherry picked from commit fb86c470f6cfcb0b6c1bb7b2790366e0d0c0662e)
2024-03-02 13:43:09 -05:00
AntsyLich
556afacd13 Small cleanup in WorkerInfoScreen
(cherry picked from commit 5aec8f8018236a38106483da08f9cbc28261ac9b)
2024-03-02 13:42:56 -05:00
AntsyLich
598d622d0b Revert a mishap in 7ff95e21babda98dd1b479912278d6029cd15f0d
(cherry picked from commit e183cbb231c6d48a17c573dbd3f2c8ce04ff7031)
2024-03-02 13:42:37 -05:00
AntsyLich
3a1d0d65bf Ignore detekt [LongParameterList] for composables
(cherry picked from commit 6bdb37be65757ca903c5c2a249ca03331b04d673)
2024-03-02 13:41:52 -05:00
Jobobby04
cc7b8a9b69 Improve duplicate chapter set as read 2024-03-02 13:41:35 -05:00
Maddie Witman
6c6f09ac5a Refactor use of Java.util.date to Java.time.*, to fix localized date issues. (#402)
* Add support for localdate based relative times

* Update History Screen to use new localdate based relative times

* Update Updates Screen to use new localdate based relative times

* Cleaned up date util classes

* Updated build time display

* Code cleanup

* Fixed crash in settings

* Updated Preferences item

* Worker Info works

* Fixed Tracker date display

* Code changes to pass detekt

(cherry picked from commit 7ff95e21babda98dd1b479912278d6029cd15f0d)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/history/HistoryScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/updates/UpdatesScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/util/lang/DateExtensions.kt
2024-03-02 13:41:18 -05:00
MajorTanya
1fe309f363 Minor refactor of theming when expressions (#396)
* Minor refactor of theming when expressions

Avoids triggering detekt's CyclomaticComplexMethod warning because of
too many when branches, which would happen with one more theme being
added in these two locations.

In TachiyomiTheme, the Monet theme is separated because it requires
the current Compose context to function. The other themes do not and
are delegated to a Map.

* Implement requested changes

- moved themeResources out of the ThemingDelegate interface
- replaced single condition when with if expression

(cherry picked from commit 96c236e5c38248c875f2ac7596cd51845aa651ea)
2024-03-02 12:10:21 -05:00
renovate[bot]
3417fdb1a4 Update dependency androidx.test.ext:junit-ktx to v1.2.0-alpha03 (#340)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 72f3756a3b89de292d75d41fe6b5a59172039c45)
2024-03-02 12:10:13 -05:00
renovate[bot]
a6394672e7 Update dependency androidx.test.espresso:espresso-core to v3.6.0-alpha03 (#339)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 0780385d2ebc9caca0bda0151d828ea6e036c768)
2024-03-02 12:10:07 -05:00
renovate[bot]
1fc97e4b7a Update lifecycle.version to v2.7.0 (#268)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 31e9273b1ff4ecfd1992beaa8ad10fa27f726cc2)
2024-03-02 12:09:58 -05:00
renovate[bot]
fe853aa1c5 Update dependency com.github.requery:sqlite-android to v3.45.0 (#260)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 088e37b2d8d4d790e926eda34119377c2f94ccf6)

# Conflicts:
#	gradle/libs.versions.toml
2024-03-02 12:09:47 -05:00
renovate[bot]
9c3f805eab Update dependency io.github.fornewid:material-motion-compose-core to v1.2.0 (#257)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 5b88f1bd94ae3c696681fe34a22453575e747ff6)
2024-03-02 12:08:30 -05:00
renovate[bot]
410eda6d6c Update dependency androidx.benchmark:benchmark-macro-junit4 to v1.2.3 (#255)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 18beb20aac774a83d6cb13f6dc276c3683aaf9a2)
2024-03-02 12:08:21 -05:00
renovate[bot]
719c24fb38 Update dependency gradle to v8.6 (#341)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 9bff20cb1a0918d7789b281952624fed890fbab7)
2024-03-02 12:08:04 -05:00
Jobobby04
a7cb182bbe Cleanup 2024-03-02 12:01:49 -05:00
Fermín Cirella
dbb970d7b5
Make manga page preview row count configurable (#1087)
* Make manga page preview row count configurable

* Replace string with plural
2024-03-02 11:58:16 -05:00
Dexroneum
887a27cf3e
[RU] Translations (#1085) 2024-03-02 11:57:24 -05:00
Shamicen
eed8ffb9d4
fix password protect downloads and copying ComicInfo files in LocalSource (#1084)
* fix password protect downloads

* fixed copying of ComicInfo file in LocalSource.kt

* Return correct archive file

* Applied upstream fix

* Use tempFileManager instead of file path

* Use streams instead of files
2024-03-02 11:56:57 -05:00
Cuong M. Tran
dd412e33ad
Rename MangaDex's FollowStatus's property to better reflect its type (#1082) 2024-03-02 11:56:11 -05:00
ɴᴇᴋᴏ
94e5c33785
Update zh-rTW strings.xml (#1080)
* Update strings.xml

* Update new zh-rTW strings.xml

* Update strings.xml

https://github.com/jobobby04/TachiyomiSY/pull/1079#issue-2140674661
2024-03-02 11:55:47 -05:00
Luqman
6f3f109723
add mark read dupes on reading (#1079)
* Feature: mark read dupes

* dupe chapter reading add summary

* Update ReaderViewModel.kt

* Update i18n/src/commonMain/resources/MR/base/strings.xml

* Update app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt

---------

Co-authored-by: jobobby04 <jobobby04@users.noreply.github.com>
2024-03-02 11:55:09 -05:00
Jobobby04
d8082de1db Ignore chapters with 0 or under chapter numbers 2024-02-18 11:47:19 -05:00
Jobobby04
2daccb57b5 1.10.4 2024-02-17 18:58:06 -05:00
Jobobby04
e64bddf9d5 Fix crashes related to MangaCover 2024-02-17 18:55:03 -05:00
pabalaba
9f6f15f64d Update workflow dependencies (#310)
* feat: updated build_pull_request actions version

* feat: updated build_push actions version

* feat: updated issue_moderator action version

* feat: updated deprecated arguments in build_pull_request

* feat: updated deprecated arguments in build_push

* feat: removed explicit declaration of gradle version

(cherry picked from commit 170daf9fb2e566fea598eb5dc0cd710f979c7b7a)

# Conflicts:
#	.github/workflows/build_pull_request.yml
#	.github/workflows/build_push.yml
2024-02-17 18:50:58 -05:00
Jobobby04
ad28c9a482 1.10.3 2024-02-17 16:34:00 -05:00
Jobobby04
8404fb5738 Should fix password protect downloads 2024-02-17 16:14:10 -05:00
Jobobby04
75c057e83e Fix compile 2024-02-17 15:57:20 -05:00
ouovouo
d44e2df55e
update zh-rTW strings.xml (#1038) 2024-02-17 15:54:39 -05:00
Luqman
aebc15d4e4
Add Hide Feed tab toggle (#1058) 2024-02-17 15:50:38 -05:00
Luqman
c835140fe8
Add custom Thumbnail Url. Support backup & restore (#1059)
* Add custom thumbnail url. Support backup & restore

- add custom thumbnail url in edit info/custom
- include it in backup n restore

* increase chop char

* edit chop char again to match screenshoot

* tweak truncating middle part

* apply edited cover to history, updates , others

* simplify placeholder logic

---------

Co-authored-by: jobobby04 <jobobby04@users.noreply.github.com>
2024-02-17 15:50:00 -05:00
Luqman
f35031db7e
Fix blank box if empty (#1069) 2024-02-17 15:46:48 -05:00
Luqman
ca81f48c1c
add toggle to auto mark read dupe chapter (#1078)
* add toggle to auto mark read dupe chapter

https: //github.com/tachiyomiorg/tachiyomi/pull/9662
Co-Authored-By: Trace <49712094+traceltrc@users.noreply.github.com>

* Update LibraryUpdateJob.kt

---------

Co-authored-by: Trace <49712094+traceltrc@users.noreply.github.com>
2024-02-17 15:46:23 -05:00
AntsyLich
30dcc6801a Remove old ISSUE_TEMPLATE.md
(cherry picked from commit 1581b876cfc9d98620e164a48084be88c348457e)

# Conflicts:
#	.github/ISSUE_TEMPLATE.md
2024-02-17 15:23:44 -05:00
AntsyLich
46ba4ac182 Don't throw MALTokenExpired whenever we fail to refresh MAL token
Also cleanup

(cherry picked from commit 0f4de03d7a77b52490dc9a95e96a308b93b26e4f)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/track/myanimelist/MyAnimeListInterceptor.kt
2024-02-17 15:23:20 -05:00
AntsyLich
2c6a57ab39 [skip ci] Increase size of the message indicating which apk to download
(cherry picked from commit ddbe8efbc5cb0665be0775b128e70ace8cee2b12)

# Conflicts:
#	.github/workflows/build_push.yml
2024-02-17 15:17:45 -05:00
Weblate (bot)
79a3aedf5c Translations update from Hosted Weblate (#269)
* Translated using Weblate (Persian)

Currently translated at 84.8% (673 of 793 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/fa/

* Translated using Weblate (Finnish)

Currently translated at 85.3% (677 of 793 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/fi/

* Translated using Weblate (Chuvash)

Currently translated at 88.2% (15 of 17 strings)

Translation: Mihon/Mihon Plurals
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/cv/

---------

Co-authored-by: Arash <ara.khoram95@gmail.com>
Co-authored-by: A <ogloppi@mailbox.org>
Co-authored-by: C201 <derasetad@gmail.com>
(cherry picked from commit 63146e717ba2cf178b79ae3de4b9b15b0ecc788f)

# Conflicts:
#	i18n/src/commonMain/resources/MR/fi/strings.xml
2024-02-17 15:16:40 -05:00
AntsyLich
38fc1fe805 Lint
(cherry picked from commit b2d22f86c647e24eed6d9b19f36ac2c444525c87)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/manga/model/Manga.kt
2024-02-17 15:15:12 -05:00
AwkwardPeak7
5daf5e82f4 Fix new extension install not registering in app. (#275)
* Fix extension install not registering

* fix duplicate key compose error on extension update

* fix doubling of extension after update

* not needed

(cherry picked from commit 79f46b25f663c7f49fbd4e292f0f5f210e266dc9)
2024-02-17 15:14:33 -05:00
AntsyLich
dacfb8a740 Move :core to :core:common
(cherry picked from commit aa498360db90350f2642e6320dc55e7d474df1fd)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/domain/base/BasePreferences.kt
#	app/src/main/java/eu/kanade/domain/chapter/interactor/SetReadStatus.kt
#	app/src/main/java/eu/kanade/presentation/library/LibrarySettingsDialog.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsBrowseScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/App.kt
#	app/src/main/java/eu/kanade/tachiyomi/Migrations.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/create/BackupCreator.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/updater/AppUpdateChecker.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SourceSearchScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceFilterDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryTab.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/ChapterLoader.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/RarPageLoader.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/ZipPageLoader.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReaderPreferences.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerViewerAdapter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/stats/StatsScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/util/CrashLogUtil.kt
#	core/common/src/main/kotlin/eu/kanade/tachiyomi/util/storage/CbzCrypto.kt
#	data/src/main/java/tachiyomi/data/manga/MangaRepositoryImpl.kt
#	data/src/main/java/tachiyomi/data/source/SourcePagingSource.kt
#	domain/src/main/java/tachiyomi/domain/library/service/LibraryPreferences.kt
#	domain/src/main/java/tachiyomi/domain/manga/model/Manga.kt
#	settings.gradle.kts
#	source-api/src/commonMain/kotlin/eu/kanade/tachiyomi/source/online/HttpSource.kt
#	source-local/src/androidMain/kotlin/tachiyomi/source/local/image/LocalCoverManager.kt
2024-02-17 15:14:24 -05:00
AntsyLich
fec9f1f10c Address build warning in :i18n
And small cleanup

(cherry picked from commit 4811cf07cdbf052dc3ddd2916e56ed81b6dc652a)
2024-02-17 14:49:08 -05:00
MajorTanya
293fb7597c Add click-to-copy extension debug info (#271)
* Add click-to-copy extension debug info

Adds some debug info about an extension to the user's clipboard when
tapping the logo/name/package name area at the top of the details
screen. Modeled after the debug info from the About screen.

Closes #168.

* Fix linting failure

* Slight cleanup

* Address detekt

---------

Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit b71c793fad46b91309da5d505ff49f99847b4f68)
2024-02-17 14:48:17 -05:00
AntsyLich
0cf6a6ef2d Upgrade combose-bom to latest
(cherry picked from commit 47e542152788e587f5f77dea4b2676683f2fba47)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/components/MangaBottomActionMenu.kt
2024-02-17 14:48:08 -05:00
Theodoro Loureiro mota
4d44e093d5 Fix #197 - Scroll crashing (#272)
Updating compose bom.

(cherry picked from commit 5dc6501688d541da990eaa1f687d93dc9e18e20e)
2024-02-17 14:47:29 -05:00
Theodoro Loureiro mota
2c75649a3c Adding Detekt in the project (#216)
* Removing ktlint

* Removing compose lint

* Adding initial Detekt config

* Setting up detekt config

* Adding detekt baseline

* Fixing workflows

* Moving to a module based solution

* Adding new line

* Adding new line

* Updating baseline

* Addressing PR suggestions

* Regenerating baseline.xml

* Cleanup

---------

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

# Conflicts:
#	.github/workflows/build_pull_request.yml
#	.github/workflows/build_push.yml
2024-02-17 14:47:23 -05:00
renovate[bot]
1ca599a550 Update dependency com.android.tools.build:gradle to v8.2.2 (#256)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 4bcba0503ae36aa42384335333b814163c0ed0c8)
2024-02-17 14:45:24 -05:00
Jishnu M
dc7cd5b3c8 Change extension update error file name (#253)
(cherry picked from commit cf33f250ccfe4e1dde92b8942a5f282827d50fb7)
2024-02-17 14:45:14 -05:00
Theodoro Loureiro mota
67196fb7b6 Fixing bottom sheet UI bug in non-tablet devices (#182)
* replace the windowInsetsPadding for navigationBarsPadding + statusBarsPadding

* Setting decorFitsSystemWindows = true to fix ui bug on Android 11

(cherry picked from commit 915a9671514b25fdd62912a5154aca221470c8a7)
2024-02-17 14:44:57 -05:00
Soitora
9b8e81a063 Hide display cutout setting if fullscreen is off (#241)
- make it behave like the one on more -> setting -> reader

Co-authored-by: Riztard <16263232+Riztard@users.noreply.github.com>
(cherry picked from commit 9cc0c4e0359cf06ef6257fc289f05a6f4fb9cf6e)
2024-02-17 14:44:32 -05:00
AntsyLich
91b7f0c1d0 Make tracker use Mihon's client
(cherry picked from commit 8c910f2a2c27dc339a4b05f03be3386a3afa2194)
2024-01-28 17:33:46 -05:00
Weblate (bot)
32bcf49b97 [skip ci] Translations update from Hosted Weblate (#190)
* Translated using Weblate (Nepali)

Currently translated at 94.1% (747 of 793 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ne/

* Translated using Weblate (Italian)

Currently translated at 100.0% (793 of 793 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/it/

* Translated using Weblate (Japanese)

Currently translated at 100.0% (793 of 793 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ja/

* Translated using Weblate (Nepali)

Currently translated at 98.3% (780 of 793 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ne/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (793 of 793 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/zh_Hans/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (793 of 793 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/zh_Hans/

* Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (793 of 793 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/zh_Hant/

* Translated using Weblate (Nepali)

Currently translated at 100.0% (793 of 793 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ne/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (793 of 793 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/zh_Hans/

* Translated using Weblate (Polish)

Currently translated at 100.0% (793 of 793 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/pl/

* Translated using Weblate (Turkish)

Currently translated at 100.0% (793 of 793 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/tr/

* Translated using Weblate (Swedish)

Currently translated at 100.0% (793 of 793 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/sv/

* Translated using Weblate (German)

Currently translated at 100.0% (793 of 793 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/de/

* Translated using Weblate (Swedish)

Currently translated at 100.0% (793 of 793 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/sv/

* Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (793 of 793 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/zh_Hant/

* Translated using Weblate (Finnish)

Currently translated at 80.9% (642 of 793 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/fi/

* Translated using Weblate (Indonesian)

Currently translated at 100.0% (793 of 793 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/id/

* Translated using Weblate (Nepali)

Currently translated at 100.0% (793 of 793 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ne/

* Translated using Weblate (Arabic)

Currently translated at 100.0% (793 of 793 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/ar/

* Translated using Weblate (Persian)

Currently translated at 82.7% (656 of 793 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/fa/

* Translated using Weblate (Finnish)

Currently translated at 80.9% (642 of 793 strings)

Translation: Mihon/Mihon
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon/fi/

* Translated using Weblate (Arabic)

Currently translated at 100.0% (17 of 17 strings)

Translation: Mihon/Mihon Plurals
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/ar/

* Translated using Weblate (Chuvash)

Currently translated at 88.2% (15 of 17 strings)

Translation: Mihon/Mihon Plurals
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/cv/

* Translated using Weblate (Ukrainian)

Currently translated at 100.0% (17 of 17 strings)

Translation: Mihon/Mihon Plurals
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/uk/

---------

Co-authored-by: FateXBlood <zecrofelix@gmail.com>
Co-authored-by: Federico Pierantoni <federico.pieranton@gmail.com>
Co-authored-by: Zero O <godarms2010@live.com>
Co-authored-by: stevenlele <stevenlele@outlook.com>
Co-authored-by: Paweł Waresiak <pwaresia@redhat.com>
Co-authored-by: kret <cihanbeykoroglu@gmail.com>
Co-authored-by: bittin1ddc447d824349b2 <bittin@reimu.nl>
Co-authored-by: Lyfja <45209212+lyfja@users.noreply.github.com>
Co-authored-by: dan-malprod <diabolic0240@proton.me>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: A <ogloppi@mailbox.org>
Co-authored-by: Christian Elbrianno <crse@protonmail.ch>
Co-authored-by: abdelbasset jabrane <ribago9317@cubene.com>
Co-authored-by: Arash <ara.khoram95@gmail.com>
Co-authored-by: C201 <derasetad@gmail.com>
Co-authored-by: Сергій <sergiy.goncharuk.1@gmail.com>
(cherry picked from commit 8489b0dd8be7371b53367755a2785de2a881107d)
2024-01-28 17:29:09 -05:00
AntsyLich
6a9efe3a41 Lint
(cherry picked from commit 88ed634978948a48bc9b6eab9eaf0d41d45db62a)
2024-01-28 17:28:31 -05:00
AntsyLich
945d5ebf75 Refactor MAL code to not spam refresh token when it fails
(cherry picked from commit 32188f9f65009a18250674ef1bd6e57d351c1fba)
2024-01-28 17:28:17 -05:00
AntsyLich
d38b1d27d0 Update types of legacy tracker model to match to domain one (#245)
* `score` to Double

* `tracker_id` to Long

* `last_chapter_read` to Double

* `total_chapters` to Long

* `status` to Long

(cherry picked from commit 05efc4ebeb197cabd2bc494d36fbb27fea923292)
2024-01-28 17:27:08 -05:00
CodeSpoof
6ad618b494 [skip ci] Remove official extensions check from issue templates (#233)
* Update report_issue.yml

There are no official extensions anymore and the URL was for the tachiyomi repo anyway

* Update request_feature.yml

No more official extensions

(cherry picked from commit b8a9998bbd2b4f937095728c19e834122e580230)
2024-01-28 17:13:35 -05:00
Weblate (bot)
a63f7b4e62 Translations update from Hosted Weblate (#225)
* Translated using Weblate (Swedish)

Currently translated at 100.0% (17 of 17 strings)

Translation: Mihon/Mihon Plurals
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/sv/

* Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (17 of 17 strings)

Translation: Mihon/Mihon Plurals
Translate-URL: https://hosted.weblate.org/projects/mihon/mihon-plurals/zh_Hant/

---------

Co-authored-by: bittin1ddc447d824349b2 <bittin@reimu.nl>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
(cherry picked from commit d736bec00361c4192bddb8ec27908a5a833a00bf)
2024-01-28 17:12:25 -05:00
Secozzi
6e57a62e2a Fix refreshing from enhanced tracker (#219)
fix refreshing from enhanced tracker

(cherry picked from commit 348b23a9fd833d9040cfbdd60b11f9d5ce6e5fb7)
2024-01-28 17:12:06 -05:00
Theodoro Loureiro mota
100f16000e Fix #126: Inconsistent button height with some languages in "Data and storage" (#202)
* replace the windowInsetsPadding for navigationBarsPadding + statusBarsPadding

* Fixing bug in the MultiChoiceSegmentedButtonRow

* Rollback file

(cherry picked from commit 1dd130df9ee389fbacb200ee7a13b6d625b372fc)
2024-01-28 17:11:40 -05:00
Theodoro Loureiro mota
78c7facf6c Adding Type-safe project accessors (#194)
* replace the windowInsetsPadding for navigationBarsPadding + statusBarsPadding

* Enabling TYPESAFE_PROJECT_ACCESSORS

* Adding typesafe project accessors in the app module

* Adding typesafe project accessors in the core module

* Adding typesafe project accessors in the core-metadata module

* Adding typesafe project accessors in the data module

* Adding typesafe project accessors in the domain module

* Adding typesafe project accessors in the presentation-core module

* Adding typesafe project accessors in the presentation-widget module

* Adding typesafe project accessors in the source-local module

* Adding typesafe project accessors in the source-api module

* Rolling back

* Changing TYPESAFE_PROJECT_ACCESSORS line

* Removing extra spaces

(cherry picked from commit e17d87f35749715946a96dc0e654792227c6722d)
2024-01-28 17:11:26 -05:00
AntsyLich
b210491db5 Lint
(cherry picked from commit 58085336a5399a066b04baf679445bb0e047cc5d)
2024-01-28 14:16:17 -05:00
Jobobby04
ca944f3f38 Swap over to Mihon.app 2024-01-28 14:14:51 -05:00
AntsyLich
2eca6dc707 Use own client for trackers + custom user agents
Closes #114
Closes #143

Co-authored-by: Med <45147847+kitsumed@users.noreply.github.com>
(cherry picked from commit e3f33e24f5e928ac8a85d1f500fd42d4715fc6b5)
2024-01-28 14:14:24 -05:00
AntsyLich
90835256ff Translations (#189)
* Small fix on french translation. (#104)

Update fr/strings.xml

Remove mentions of "official" extensions repos. (On 18+ extensions warning)

Fixed a setting label who had the first letter in lowercase.

* Updated Turkish suffixes (#125)

Update strings.xml

* Fix zh-rTW Translation (#118)

fix zh-tw translate

* Update Filipino Plurals (#112)

Updated some Filipino Plurals to make sense grammatically

* Update Filipino Strings (#111)

Changed/updated a few grammatical strings for the Filipino Translation

---------

Co-authored-by: Med <45147847+kitsumed@users.noreply.github.com>
Co-authored-by: NukeSource <123626751+NukeSource@users.noreply.github.com>
Co-authored-by: ɴᴇᴋᴏ <111511925+NeKoOuO@users.noreply.github.com>
Co-authored-by: InfinityDouki56 <31158494+infyProductions@users.noreply.github.com>
(cherry picked from commit 9fd1419142647455e86851413353c97bb9491990)
2024-01-28 14:07:35 -05:00
AntsyLich
80351cd594 Fix issues when updating extensions
(cherry picked from commit cb068984303f811692531bf6f14902ae118d8ac7)
2024-01-28 14:06:22 -05:00
AntsyLich
7cdfa68d77 Remove usage of .not() where possible
(cherry picked from commit 39407407f282dbb7fa972b12053c26b3e3bd66d8)
2024-01-28 14:06:13 -05:00
AntsyLich
3f74a6d33f Fix faulty MangaUpdates score in db
Closes #117

(cherry picked from commit a024218410953a389b8af4880fa7ae6cc30124a2)
2024-01-28 14:04:54 -05:00
jobobby04
27d8896937 Backup and Restore Excluded scanlators (#166)
* Backup and Restore Excluded scanlators

* Improve performance

* This looks better

(cherry picked from commit e0deeb800890c5e3be67c4ebe32ebe34d97e0e25)
2024-01-28 14:01:41 -05:00
AntsyLich
7b92d06eee Fix "Flash on page change" gives black screen on page change
Fixes #108

(cherry picked from commit 38d6ab80ce868707829dbc81de4170afe3c2f2a5)
2024-01-28 13:59:56 -05:00
KaiserBh
cbfb433e55 refactor: db changes for syncing. (#113)
fix: sync marking chapter unread when we do library update before syncing.

So this should have been 0 on insert instead of the current time on insert. Essentially this issue arises: https://discord.com/channels/1099009852791083058/1099009853864812708/1190022356060614756

Signed-off-by: KaiserBh <kaiserbh@proton.me>
(cherry picked from commit e4a65656e7fd5807475323373b8337b1f53ff1f9)
2024-01-28 13:59:38 -05:00
Jobobby04
c3503dbd3c Remove funding 2024-01-17 23:37:25 -05:00
NeKo
7e151ddb83
Update strings.xml (#1021) 2024-01-17 23:29:49 -05:00
Howard Wu
2204435d29
zh-rCN translation updates (#1013)
Translation mistakes correction and missing translation additions
2024-01-17 23:29:30 -05:00
Jobobby04
c85d6ec1d0 v1.10.2 2024-01-17 23:28:39 -05:00
Jobobby04
9b9655df90 Update AboutScreen with new links 2024-01-17 23:28:24 -05:00
AntsyLich
7cc6b7147f Fix score issue with MangaUpdates
Also add custom user agent

Potentially fix #17

(cherry picked from commit 99fd2731f5d9d374700e89fa67d4d5bf611bbafa)
2024-01-17 23:19:44 -05:00
DavidK004
84e4a66b08 Fixed Serbian translation (#75)
(cherry picked from commit e34043f1feb03dab31f18bd8cd12bf37bcb7f56c)
2024-01-17 23:18:44 -05:00
Chris
ea9427026d Fix Indonesian translation (#68)
Fix minor Indonesian translation

(cherry picked from commit 0a2df21c5b5a16a63cd80ff3cd256eb0521450fb)
2024-01-17 23:18:17 -05:00
Dexroneum
c1af389eea
[RU] Translations (#998) 2024-01-13 21:14:07 -05:00
NeKo
0ee0df3471
Update zh-tw strings.xml (#999)
* Update strings.xml

Word precise

* Update strings.xml

Localization Some Terminology
Improvement Some Terminology
2024-01-13 21:14:00 -05:00
Jobobby04
0af70d23dd Release 1.10.1 2024-01-13 21:12:22 -05:00
Jobobby04
d741685836 Update Readme Screens 2024-01-13 20:58:22 -05:00
Jobobby04
f59b6e393e Put merge in overflow for now 2024-01-13 18:23:46 -05:00
Jobobby04
6632589027 Remove some links in About 2024-01-13 16:40:24 -05:00
Jobobby04
a009d5d080 Change support server 2024-01-13 16:39:52 -05:00
arkon
29bbf77e7c Install build-tools 29.0.3
(cherry picked from commit a9c7cbf2c43959ae7ad9df3baa2306a254dd57e3)
2024-01-13 14:18:06 -05:00
Weblate (bot)
5a4bb2c5d3 Translations update from Hosted Weblate (#10393)
Weblate translations

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/de/
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/ru/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/uk/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/tachiyomi-plurals-xml/bg/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/tachiyomi-plurals-xml/de/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/tachiyomi-plurals-xml/eo/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/tachiyomi-plurals-xml/fil/
Translation: Tachiyomi/Tachiyomi plurals.xml
Translation: Tachiyomi/Tachiyomi strings.xml

Co-authored-by: Boyan Alexiev <nneauu@gmail.com>
Co-authored-by: Denis \"Samilton <d.bogdan99@gmail.com>
Co-authored-by: Dexroneum <Rozhenkov69@gmail.com>
Co-authored-by: Eduard Ereza Martínez <eduard@ereza.cat>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Radoŝ Porka <animatorzPolski@gmail.com>
Co-authored-by: Shiratori <kuromaruhatake@gmail.com>
Co-authored-by: TheKingTermux <achmadmaulana0233@gmail.com>
(cherry picked from commit 899bd269567e5b2aa0c9e7ccded3cb49f151cc11)
2024-01-13 14:16:52 -05:00
arkon
e28878c5ee Better message for empty extensions list
(cherry picked from commit a37f3eb70922557cd0e4ed0c05d3563850b49757)
2024-01-13 00:18:51 -05:00
arkon
a80a765ee5 Update Compose compiler and Kotlin
(cherry picked from commit 9ae71dfe93291e6d170f5e6af994f2c52c4158a1)
2024-01-13 00:18:45 -05:00
arkon
a96079c14c Fixed tap controls not working when zoomed in (#10378)
Co-authored-by: Paloys <Paloys@users.noreply.github.com>
(cherry picked from commit c65a9aecf5ed228550fd994e62a16fc2300c344d)
2024-01-13 00:18:36 -05:00
Jobobby04
d99b3b1203 Revert "Add extension repo mentions to more places"
This reverts commit 8625e75a2bf6f70b9e261841dbb55151921190b1.
2024-01-13 00:18:20 -05:00
Jobobby04
ba2b85c3ee Revert "Actual right arrow"
This reverts commit 7934d4ee0140badefbc2fa51240e607deab52aa5.
2024-01-13 00:18:19 -05:00
arkon
320eb3f16a Minor extension repo enhancements
- Shortcut to settings from extensions tab
- Don't show error toast anymore if nothing's loaded
- Ability to copy extension repo URL to clipboard

(cherry picked from commit 02e50411de8e233dfd0f2bd9671f39a4e71d297c)
2024-01-13 00:17:07 -05:00
Weblate (bot)
5dced2d173 Translations update from Hosted Weblate (#10386)
Weblate translations

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/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/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/ne/
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/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/tr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/tachiyomi-plurals-xml/cs/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/tachiyomi-plurals-xml/de/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/tachiyomi-plurals-xml/el/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/tachiyomi-plurals-xml/hr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/tachiyomi-plurals-xml/ja/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/tachiyomi-plurals-xml/ms/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/tachiyomi-plurals-xml/ne/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/tachiyomi-plurals-xml/pt/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/tachiyomi-plurals-xml/zh_Hans/
Translation: Tachiyomi/Tachiyomi plurals.xml
Translation: Tachiyomi/Tachiyomi strings.xml

Co-authored-by: Alessandro Jean <14254807+alessandrojean@users.noreply.github.com>
Co-authored-by: Andreas E <andreas.everos@gmail.com>
Co-authored-by: CodeSpoof <nao.s_l_t_e_e_l@protonmail.com>
Co-authored-by: Crazyom <naxom@laposte.net>
Co-authored-by: Daedren <lord.raikon@gmail.com>
Co-authored-by: DarKCroX <DarKCroX@users.noreply.hosted.weblate.org>
Co-authored-by: Dexroneum <Rozhenkov69@gmail.com>
Co-authored-by: Gianluca Starke <gianlucastarke@gmail.com>
Co-authored-by: ID-86 <id86dev@gmail.com>
Co-authored-by: InfinityDouki56 <ced.paltep10@gmail.com>
Co-authored-by: Khori Hutama <khori.qq@gmail.com>
Co-authored-by: Kirito ._ <kiritokunn18@gmail.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Manjul Tamrakar <manjultamrakar4@gmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Paavalen Lingachetti <p.lingachetti@gmail.com>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Radoŝ Porka <animatorzPolski@gmail.com>
Co-authored-by: Sup Kelelawar <apkfile007@gmail.com>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: Uzuki Shimamura <hzy980512@126.com>
Co-authored-by: Zero O <godarms2010@live.com>
Co-authored-by: altinat <altinat@duck.com>
Co-authored-by: dan-malprod <diabolic0240@proton.me>
Co-authored-by: jinu147 <nesqea20@gmail.com>
Co-authored-by: orkan gökçe alaz aşina <examplehuman@outlook.com>
Co-authored-by: stevenlele <stevenlele@outlook.com>
(cherry picked from commit 6e822dfd5b12a1560bb79723008ed3146ce0bcc0)
2024-01-13 00:16:59 -05:00
Caleb Morris
09a18be5b9 [download-cache] Fixed init logic to skip when cache file is missing (#10362)
There are several possible causes of the cache file to not exist, including user
 action. By skipping these couple steps during initialization when the file is
 missing, a renew action is allowed to start and the cache will rebuild and
 hopefully work as expected.

Simple fix for #10360

(cherry picked from commit 7292dadd5fbbf9b394f047f2207f4de13c8229d0)
2024-01-13 00:16:51 -05:00
KaiserBh
f6407805d3 Use transaction on restore to go brr. (#10375)
refactor: use transaction to go brr.

This improve the restore speed on fresh db and non fresh db.

Signed-off-by: KaiserBh <kaiserbh@proton.me>
(cherry picked from commit b1067b942ef5c8d53e5ab838ef078789b9c0627a)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/restore/restorers/MangaRestorer.kt
2024-01-13 00:16:39 -05:00
stevenyomi
f24d50af44 Fix extension interceptors receiving compressed responses (#10388)
(cherry picked from commit d6c4af89c4a2df213f06ed4c3d714a2608117afb)
2024-01-13 00:15:15 -05:00
Caleb Morris
a13de19c81 Fixed dev UI preview (#10385)
The TachiyomiTheme introduced a dependency-injection construct that didn't
 exist at the time of rendering previews, so I've changed the preview function
 to use a preview version of the theme that uses declarative configuration
 over dependency injection

(cherry picked from commit cf6f7c521cde88f20c1eef3a6a63a2b73601523f)
2024-01-13 00:14:57 -05:00
Jobobby04
efb95864cd Fix Mangadex Auth not properly handling bad responses 2024-01-13 00:10:10 -05:00
Jobobby04
14da34de64 Remove ktlint check 2024-01-09 19:19:33 -05:00
Jobobby04
0b3ae3c829 Release 1.10.0 2024-01-09 19:10:09 -05:00
Jobobby04
7934d4ee01 Actual right arrow 2024-01-09 18:52:31 -05:00
Jobobby04
8625e75a2b Add extension repo mentions to more places 2024-01-09 18:52:29 -05:00
Jobobby04
c3fabce45a Fix build 2024-01-09 18:52:28 -05:00
arkon
727318355a Disable some non-ready stuff for stable build
(cherry picked from commit 68899aea617659a94639d6490cea77833f6eae34)
2024-01-09 18:52:26 -05:00
Weblate (bot)
6d9532de34 Translations update from Hosted Weblate (#10336)
Weblate translations

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/de/
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/fil/
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/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/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/tachiyomi-plurals-xml/ca/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/tachiyomi-plurals-xml/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/tachiyomi-plurals-xml/th/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/tachiyomi-plurals-xml/tr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/tachiyomi-plurals-xml/zh_Hans/
Translation: Tachiyomi/Tachiyomi plurals.xml
Translation: Tachiyomi/Tachiyomi strings.xml

Co-authored-by: Alessandro Jean <14254807+alessandrojean@users.noreply.github.com>
Co-authored-by: Dexroneum <Rozhenkov69@gmail.com>
Co-authored-by: Eduard Ereza Martínez <eduard@ereza.cat>
Co-authored-by: InfinityDouki56 <ced.paltep10@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: Radoŝ Porka <animatorzPolski@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 <altinat@duck.com>
Co-authored-by: bapeey <90949336+bapeey@users.noreply.github.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
(cherry picked from commit c3edf9b5d00817a1286b746de9db4946e7543ffb)
2024-01-09 18:52:25 -05:00
arkon
7863cbfdef [skip ci] update issue templates
(cherry picked from commit 97e04392d395d67234ea3ea6804cd9832061d9a3)
2024-01-09 18:52:23 -05:00
arkon
613c92c51e Move extension repos interactors to proper package
Also retain ordering of added repos.

(cherry picked from commit 3d178737b1e1c6531f9dbba5b2b5611eac901f90)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionManager.kt
2024-01-09 18:52:22 -05:00
arkon
8f8649c0c0 Remove built-in official extension repo support
(cherry picked from commit bf737cf95c65745b475330a1d90c0d0c0c9f1e80)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/ExtensionDetailsScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/extension/model/Extension.kt
#	data/src/main/java/tachiyomi/data/source/SourceRepositoryImpl.kt
2024-01-09 18:52:20 -05:00
Naputt1
66af8c80b6 fix Can't scroll down to the bottom of the webtoon on the last chapter (#10291)
(cherry picked from commit c91ec9a33bae624ba2ec121daac80edc586f61f0)
2024-01-09 18:52:19 -05:00
Caleb Morris
ffe9517027 [track-search] Added context menu for copy and open-in-web (#10352)
(cherry picked from commit a8040cb21a45bed3c9be85fab12149a1a734a7f7)
2024-01-09 18:52:17 -05:00
arkon
797c385502 Avoid floating point precision issues when converting scores
Fixes #10343
Maybe we'll finally migrate off of those legacy models some day...

(cherry picked from commit f60782f11fd03b302bb81387f24fd56795f3c6bf)
2024-01-09 18:52:16 -05:00
renovate[bot]
83d85cdd7c Update dependency io.mockk:mockk to v1.13.9 (#10349)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 7d6e1bdafc8043f4b8f5d91cd0f3d836a38e3025)
2024-01-09 18:52:14 -05:00
arkon
a8eeb0715c Do proper check for next chapter's download status when downloading ahead
Fixes #10151 (I think?)

(cherry picked from commit 5854ad97e0dbada0b75feda268bf4d57a7161d01)
2024-01-09 18:52:13 -05:00
arkon
a2e121aba1 Fix external repo info banner in ExtensionDetailsScreen
(cherry picked from commit 4b8fa059d5f9234176680d0c5c9e8e706ddd7e98)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/ExtensionDetailsScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/extension/model/Extension.kt
2024-01-09 18:52:12 -05:00
arkon
27d0ad11bd Add advanced setting to revoke all trusted unknown extensions
(cherry picked from commit 3dc2f9a711a732f53f6836a40215f293af8a3cb1)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt
2024-01-09 18:52:10 -05:00
arkon
190916d01a Trusting new extension shouldn't revoke other irrelevant extensions
(cherry picked from commit 8033a94ee203dc1c0bb717e5b01670fd30a7fd4d)
2024-01-09 18:52:09 -05:00
arkon
80d64bc031 Add filter library by customized update frequency
Supersedes #9619

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

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/LibrarySettingsDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
#	domain/src/main/java/tachiyomi/domain/library/service/LibraryPreferences.kt
2024-01-09 18:52:07 -05:00
arkon
ef443e63a8 Fix selecting custom fetch interval not persisting sometimes
(cherry picked from commit e6c6c32d811349a2524f8ffe5bfc4a0c2d7d9679)
2024-01-09 18:52:06 -05:00
Luqman
0a5bb1ec94 Add Nord Theme (#10308)
* Add Nord Theme

* update

* update error color

* update comment

(cherry picked from commit bce6af62fcbb20d521a137712cddc2e9bbaeaaf8)
2024-01-09 18:52:05 -05:00
Jobobby04
00599a8d33 Fix external repo click 2024-01-09 18:52:03 -05:00
arkon
56b565cc51 Allow permanently trusting unofficial extensions by version code + signature
Closes #10290

(cherry picked from commit 6510a9617a2b5b5389cb5776a2fb91019206f6fc)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/domain/source/service/SourcePreferences.kt
#	app/src/main/java/eu/kanade/tachiyomi/Migrations.kt
#	app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/extension/util/ExtensionLoader.kt
2024-01-09 18:52:02 -05:00
arkon
28ca7efdca Avoid jank in extensions list if install permissions already granted
(cherry picked from commit 14510f1d26653b7b4906f32c47a89f4902a176ca)
2024-01-09 18:52:00 -05:00
arkon
807af9a35d Allow deep linking to add external repo
(cherry picked from commit f115edf2eac125d0e6a0fdec79bd9d6627c3c53b)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
2024-01-09 18:51:59 -05:00
Weblate (bot)
1827b583eb Translations update from Hosted Weblate (#10294)
Weblate translations

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/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/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/tachiyomi-plurals-xml/fr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/tachiyomi-plurals-xml/id/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/tachiyomi-plurals-xml/ko/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/tachiyomi-plurals-xml/zh_Hans/
Translation: Tachiyomi/Tachiyomi plurals.xml
Translation: Tachiyomi/Tachiyomi strings.xml

Co-authored-by: Alessandro Jean <14254807+alessandrojean@users.noreply.github.com>
Co-authored-by: Dexroneum <Rozhenkov69@gmail.com>
Co-authored-by: InfinityDouki56 <ced.paltep10@gmail.com>
Co-authored-by: Luigi <luigi.joubert@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Matheus Victor Ramos dos Anjos <matheusvra@hotmail.com>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: Vetle Ledaal <vetle.ledaal@gmail.com>
Co-authored-by: Yefita <Yefita@users.noreply.hosted.weblate.org>
Co-authored-by: Zero O <godarms2010@live.com>
Co-authored-by: bapeey <90949336+bapeey@users.noreply.github.com>
Co-authored-by: moon <moononclouds@proton.me>
Co-authored-by: stevenlele <stevenlele@outlook.com>
(cherry picked from commit f3336fc5c3bab489fcc52435977b2376f5e42654)
2024-01-09 18:51:57 -05:00
arkon
c801aec27a Allow opening .tachibk files directly with app to restore
(cherry picked from commit 727289c8ebf504edbd1d330ac1ab9091908fc086)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
2024-01-09 18:51:56 -05:00
Jobobby04
d669a764a4 Build fixes 2024-01-09 18:51:54 -05:00
arkon
38907e81c8 Add link to storage FAQ in settings screen
(cherry picked from commit 9c91ddd4e3b27d42afac91efeae9e528798f114c)
2024-01-09 18:51:53 -05:00
arkon
bd96864895 Avoid hard crash if cached image file was already deleted
Closes #9720

(cherry picked from commit 3ea026e3116a77fd58bf656e1ecdb5e1ab6de28a)

# Conflicts:
#	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
2024-01-09 18:51:51 -05:00
arkon
3e561f7b67 Normalize some locale names
(cherry picked from commit 36f307e3bbf5a52277fba3033a08201cd37f779a)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/GlobalSearchScreen.kt
2024-01-09 18:51:50 -05:00
arkon
ff00c301e1 Show non-localized language names too in app language selection
(cherry picked from commit 89678ebb17ad62b3b0118e13d7ab431f5ead8c46)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAppearanceScreen.kt
2024-01-09 18:51:49 -05:00
arkon
e873557066 Fix RAR loading
Closes #10302

(cherry picked from commit 80b7d14af195147b52e38765fdb3adf4b9030dd4)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/RarPageLoader.kt
2024-01-09 18:51:47 -05:00
arkon
8adad251a0 Avoid showing WebView button in reader errors if page isn't actually from web
(cherry picked from commit bbd8098a61ca6ab79c4a37f0f529c5c01632835b)
2024-01-09 18:51:46 -05:00
arkon
828ffcaec2 Add link to storage guide during onboarding step
(cherry picked from commit f8ef0f143b148a207defc443549c29696d63418c)
2024-01-09 18:51:45 -05:00
arkon
f3535dcce8 Reword onboarding prompt for returning users
(cherry picked from commit a3ef3604ee916f02bb0889c52e0468cdbc10f5e6)
2024-01-09 18:51:43 -05:00
arkon
9ae3e844dd Bump minimum WebView version and default user agent string
(cherry picked from commit 7e053b586226dbf11946a949cf01b08500d0b5bd)
2024-01-09 18:51:42 -05:00
Weblate (bot)
08eefbc010 Translations update from Hosted Weblate (#10244)
Weblate translations

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/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/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/km/
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/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/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/tachiyomi-plurals-xml/be/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/tachiyomi-plurals-xml/es/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/tachiyomi-plurals-xml/pl/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/tachiyomi-plurals-xml/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/tachiyomi-plurals-xml/ru/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/tachiyomi-plurals-xml/zh_Hant/
Translation: Tachiyomi/Tachiyomi plurals.xml
Translation: Tachiyomi/Tachiyomi strings.xml

Co-authored-by: Alessandro Jean <14254807+alessandrojean@users.noreply.github.com>
Co-authored-by: Clément de La Bourdonnaye <cle.bourdonnaye@gmail.com>
Co-authored-by: Dexroneum <Rozhenkov69@gmail.com>
Co-authored-by: Dir Sulaiman <sulaiman.tsany@gmail.com>
Co-authored-by: Eduard Ereza Martínez <eduard@ereza.cat>
Co-authored-by: FateXBlood <zecrofelix@gmail.com>
Co-authored-by: Fuxing TAN <tfx1234567@gmail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Hasanur Rahman Biplob <hrbiplob10@gmail.com>
Co-authored-by: ID-86 <id86dev@gmail.com>
Co-authored-by: InfinityDouki56 <ced.paltep10@gmail.com>
Co-authored-by: ItsPoofy <tuanminh8688@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: Rotakna Oom <oomrotakna11@gmail.com>
Co-authored-by: Sertinel <cankalenderr@yandex.com>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: TheKingTermux <achmadmaulana0233@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: altinat <altinat@duck.com>
Co-authored-by: bapeey <90949336+bapeey@users.noreply.github.com>
Co-authored-by: bapeey <luisrleccar@hotmail.com>
Co-authored-by: bittin1ddc447d824349b2 <bittin@reimu.nl>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: inson1 <vaclav.svarc01@seznam.cz>
Co-authored-by: orkan gökçe alaz aşina <examplehuman@outlook.com>
Co-authored-by: sebastians17 <sebastians117.ss@gmail.com>
Co-authored-by: Макар Разин <makarrazin14@gmail.com>
(cherry picked from commit ac8ed3c02829da554ddfde5f9a68f834fffcbbcc)
2024-01-09 18:51:40 -05:00
arkon
ed88c76010 Bump dependencies
(cherry picked from commit 8321ff60005892e3ba333caafd1e88c1fb6d6660)
2024-01-09 18:51:39 -05:00
arkon
1ec0a22e37 Clean up external repos
- Accept full URL as input instead, which allows for non-GitHub
- Remove automatic CDN fallback in favor of adding that as an external repo if needed

(cherry picked from commit 9c899e97a97480545d022974ffd3ea1248634155)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsBrowseScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
2024-01-09 18:51:37 -05:00
arkon
aaeac1b10c Fix lint error
(cherry picked from commit 556f5a42a77fc355819919f91a9436902b25c789)
2024-01-09 18:51:36 -05:00
arkon
7e9199b3ef Disable customized fetch intervals for stable builds for now
Until some of the issues get ironed out.

(cherry picked from commit 850813820c44b1a15484ed9a39ec4feaf5f990d7)
2024-01-09 18:51:34 -05:00
arkon
cc1855e06b Revert "Implement predictive back animation (#10273)"
This reverts commit 9c120e623193271971448fb03665a73dff4f85cb.

Potentially too buggy for a stable release for now.

(cherry picked from commit dba5e6fbfdf65f0482f681b22defb759e9b32437)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/home/HomeScreen.kt
2024-01-09 18:51:33 -05:00
Jobobby04
ea03e28079 Fix firebase on dev builds 2024-01-09 18:51:32 -05:00
arkon
24a56a5529 Support external repos
Largely taken from SY.

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

# Conflicts:
#	app/src/main/java/eu/kanade/domain/source/interactor/CreateSourceRepo.kt
#	app/src/main/java/eu/kanade/presentation/browse/ExtensionDetailsScreen.kt
#	app/src/main/java/eu/kanade/presentation/category/SourceRepoScreen.kt
#	app/src/main/java/eu/kanade/presentation/category/components/CategoryDialogs.kt
#	app/src/main/java/eu/kanade/presentation/category/components/repo/SourceRepoContent.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsBrowseScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/extension/api/ExtensionGithubApi.kt
#	app/src/main/java/eu/kanade/tachiyomi/extension/model/Extension.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/category/CategoryScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
2024-01-09 18:51:30 -05:00
arkon
b677f81fb1 Change fetch interval action to show days until next expected update
(cherry picked from commit 32bed9b041d76a6bac699c56c78d1692b71dfc0b)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt
#	domain/src/main/java/tachiyomi/domain/manga/model/Manga.kt
2024-01-09 18:50:52 -05:00
arkon
cf5bb4dc9b Remove custom extension readme/changelog URLs
These were barely used/maintained, so just killing them.
Changelog menu item still exists to take you to the relevant git history.

(cherry picked from commit e0a0942015accc217a881739abf8df9d74eab6da)
2024-01-09 18:50:51 -05:00
arkon
103e13d914 Fix temp chapter files not being able to be created when reading
(cherry picked from commit 8409ebe4ebbde0957aec122e11acae65ebda78e2)
2024-01-09 18:50:49 -05:00
Jobobby04
59f8e98d69 A warning is enough, no need to reset on cold starts 2024-01-09 18:50:48 -05:00
arkon
07b0c59842 Force users to retrust unknown extensions on cold starts
(cherry picked from commit 493da5c3f471b53615e80411d942fc2c92a33ec5)
2024-01-09 18:50:46 -05:00
arkon
c8ca321be2 Remove tmp chapter files after exiting reader
(cherry picked from commit 4e221397ceaec334307546920b3e1168e56f5433)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/di/AppModule.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/ChapterLoader.kt
#	source-local/src/androidMain/kotlin/tachiyomi/source/local/LocalSource.kt
2024-01-09 18:50:45 -05:00
arkon
f2922e5f17 Update Mullvad DoH configuration
Closes #10282

(cherry picked from commit 8a7d6a328ae88cd0939892ec1c90fbbdc5eeacbd)
2024-01-09 18:50:44 -05:00
arkon
6398f92518 Fix next expected update being weird number sometimes
Occurs if manga.lastUpdate has never been set yet.

(cherry picked from commit 22589a9c3056312dcbd0dfca08b53987cbc4a73d)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/chapter/interactor/SyncChaptersWithSource.kt
2024-01-09 18:50:42 -05:00
arkon
98f4b7086a Defer ACRA reporting until device is idle/not low battery/on unmetered network
(cherry picked from commit ec478cbb1bc0a80c18957169cbcc13505d46f37d)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/tachiyomi/App.kt
2024-01-09 18:50:41 -05:00
arkon
d00ddac06f Fix extension settings icon trying to install update instead of opening details
(cherry picked from commit b5e3f429fc08e3743af57d7babc084525bf3cb59)
2024-01-09 18:50:39 -05:00
arkon
25e49a6b3d Try to show actual path in invalid location downloader notification
Instead of the class/hashCode, which doesn't mean much to a user.

(cherry picked from commit 83130f9bf964dfce512c77803f8b5bcfb90c8f08)
2024-01-09 18:50:38 -05:00
arkon
e90f656bb6 Prevent creating backups with no valid options selected
(cherry picked from commit 6f34c5e894beb2ac172d00c3d08a43e6388486b3)
2024-01-09 18:50:37 -05:00
Jobobby04
75f6b0eb40 Hopefully fixes crashlytics 2024-01-09 18:50:35 -05:00
Dexroneum
243f405c37
[RU] Translations fixes (#985) 2024-01-09 18:50:05 -05:00
Jobobby04
5065840731 Fix build 2023-12-31 16:31:30 -05:00
arkon
10b8924d43 Use Material3 version of AboutLibraries
(cherry picked from commit 74931fad861abf19f26b51d9395642b58ee34e12)
2023-12-31 15:09:08 -05:00
arkon
f27b8b2ded Don't use reflection for handling backup options as boolean array
Wasn't working correctly in release build, _probably_ because of R8 despite kotlin-reflect
shipping with Proguard rules and us already keeping all Tachiyomi classes.

(cherry picked from commit 6ab8e1e73dbcc65d693dd2ed2680c950139dadde)
2023-12-31 12:53:30 -05:00
arkon
0432f4105e Dedupe common LazyColumn with action at bottom layout
(cherry picked from commit 1cdaa761b7b7d08eaf2f1d829de1c998e75c7c2c)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/advanced/ClearDatabaseScreen.kt
2023-12-31 02:01:54 -05:00
renovate[bot]
9a32b209b9 Update dependency org.jsoup:jsoup to v1.17.2 (#10277)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 901b77f55c6a6fc819505ce77fee9caff4881c16)
2023-12-31 02:01:28 -05:00
arkon
15d21c1151 Show next expected update in interval dialog
Related: #9793
(cherry picked from commit 54f4711f7bf0f96492b49c6c9d5c6f05eaee7b59)
2023-12-31 02:01:19 -05:00
arkon
b72214b922 Misc refactoring
- Abstract away relative date string building
- Dedupe large update warning logic

(cherry picked from commit 3d0d5c047228f13d8a6a7d90400f4d67f2817f24)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt
#	app/src/main/java/eu/kanade/presentation/updates/UpdatesScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.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/java/eu/kanade/tachiyomi/ui/updates/UpdatesTab.kt
2023-12-31 02:01:04 -05:00
Jobobby04
55115d2eb6 Fix local source update manga info 2023-12-30 18:46:25 -05:00
arkon
acd0ca99ed Allow creating backups without library entries
- In case you want a backup of just settings?
- Also disable backup options if dependent option is disabled (and fix being able to toggle disabled items)
- Also fix crash in RestoreBackupScreen due to attempt to parcelize Uri
- Make restore validation message a bit nicer

(cherry picked from commit f0a0ecfd4a5c8ee85fdcf7e92dc9a0079ef40cde)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/restore/RestoreOptions.kt
2023-12-30 18:15:30 -05:00
arkon
a2d202a2cf Shorten restore warning message a bit
(cherry picked from commit f3b7eaf4a37f047abd6523b9c8ff1da73fd0ef46)
2023-12-30 18:13:51 -05:00
arkon
4bcbddf3b2 Allow partial restores (library/settings)
Closes #3136

(cherry picked from commit 5bba7af24aa0b8c5d66baa1f26a8427ceec8a4ae)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsDataScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/restore/RestoreOptions.kt
#	core/build.gradle.kts
2023-12-30 18:13:43 -05:00
arkon
b3f0b898b2 Filter out empty source preferences when creating backups
(cherry picked from commit 32c3269291cd31f7a69a6d0c073b52223fa3e918)
2023-12-30 18:08:08 -05:00
arkon
54b9b4f548 Clean up create backup UI
(cherry picked from commit a1e84911be14d353056cc63dc79c341c06c27079)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/create/BackupOptions.kt
2023-12-30 18:07:57 -05:00
arkon
d13f08ca7a Minor cleanup/address lint warnings
(cherry picked from commit 6bb77bcf1aabfcad2c4a9dd73854f3fcc6c52c89)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/components/MangaBottomActionMenu.kt
#	app/src/main/java/eu/kanade/presentation/manga/components/MangaInfoHeader.kt
#	app/src/main/java/eu/kanade/presentation/reader/appbars/ReaderAppBars.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateDialog.kt
2023-12-30 18:06:11 -05:00
arkon
18d7c2312c Add ability to create manual backups with private preferences too
(cherry picked from commit ccec5c3efeea699124d4bb7448d6fe9718cb883f)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/data/CreateBackupScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/create/BackupOptions.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/restore/RestoreOptions.kt
2023-12-30 17:57:39 -05:00
arkon
e1afceb769 Refactor backup option flags to normal data class of booleans
(cherry picked from commit 8735836498f46f7b6dc35ff62ffb595e097d568e)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/data/CreateBackupScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/create/BackupCreateFlags.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/create/BackupCreator.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/create/creators/MangaBackupCreator.kt
2023-12-30 17:55:10 -05:00
arkon
c496371553 Minor exception message cleanup
(cherry picked from commit 8b65fd57519faa8119fca97febf90c5e8590c4a6)
2023-12-30 16:37:47 -05:00
arkon
fe53d7b7fb Don't make install permission required during onboarding
Closes #10257

We show a warning banner in the extensions list and also rely on the system
alert popup if someone attempts to install without the permission already
granted.

(cherry picked from commit f0710df35696c1f6cf7bb5371dfd6ad91d53fae1)
2023-12-30 16:37:37 -05:00
arkon
ab371a6e50 Hide private installer option for stable builds
(cherry picked from commit 3afcee81f454174aec110a585dba9692f2ac6175)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt
2023-12-30 16:37:26 -05:00
Ivan Iskandar
d6640bb5dd Implement predictive back animation (#10273)
For home screen tabs, Navigator screens and most dialogs

(cherry picked from commit 9c120e623193271971448fb03665a73dff4f85cb)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/home/HomeScreen.kt
2023-12-30 16:35:59 -05:00
Jobobby04
0c1db9b554 Data object 2023-12-28 14:50:51 -05:00
Jobobby04
834bc28726 Fix double pages not showing in default reading mode 2023-12-28 13:40:38 -05:00
Jobobby04
509f3bc910 Fix protobuf scheme export 2023-12-27 16:38:09 -05:00
Daniel
4c71e46ecc
Center the Exh Utils (#978)
* Update ExhUtils.kt

* Remove import
2023-12-27 16:32:25 -05:00
Jobobby04
25f94e4500 Fix merged manga chapters and merged manga filtered scanlators 2023-12-27 16:30:56 -05:00
arkon
d82b2919f8 Move backup models back to main app module
I didn't realize the package name change would break compatibility with forks
that still have the old package names...

(cherry picked from commit 4b208fc7ce95fb3b3746446da54351bcead0533c)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/create/BackupCreator.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/create/creators/MangaBackupCreator.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupFlatMetadata.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupMergedMangaReference.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupSavedSearch.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/models/metadata/BackupSearchMetadata.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/models/metadata/BackupSearchTag.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/models/metadata/BackupSearchTitle.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/restore/BackupRestorer.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/restore/restorers/MangaRestorer.kt
2023-12-27 13:59:15 -05:00
arkon
653a1f8f14 Allow deleting downloaded chapters even if source isn't available
Fixes #9160

(cherry picked from commit a9b0ac43c490eff063c8b3c8173a90184409ab69)
2023-12-27 13:48:36 -05:00
arkon
71faf85edd Always show chapter download indicators
- Local chapters are just always "downloaded", but you can't delete them from the app
- Unavailable sources show proper state so long as it's stubbed with the name still, but
  you can't download anything new

(cherry picked from commit fca4f251227f983d8313eda546f35644692f39cb)
2023-12-27 13:48:04 -05:00
arkon
4de946ad8e Remove skipped updates notification
Seems to cause more confusion than it's worth.
Will update the UI for the library update skip options to better
explain what they're for later.

(cherry picked from commit bfb0d31ff61a6609cdf8ca421d08cbb4236fc5af)
2023-12-27 13:47:55 -05:00
arkon
1ddcbea113 Simplify storage usage bar UI implementation
(cherry picked from commit 8939274b5cbef7cd8e0c0c0e771f1ae54025baf3)
2023-12-27 13:47:45 -05:00
arkon
f5c5c6ef0d Update Coil
(cherry picked from commit 087da2b2f3f6ca333aa0534b56ab059294f34f9e)
2023-12-27 13:47:37 -05:00
Jobobby04
b1bbfd5c89 Update EhTags 2023-12-27 13:09:23 -05:00
Jobobby04
22d8711cee Minor cleanup 2023-12-27 13:09:22 -05:00
plum7x
526ee7dda9
Update zh-rTW translation (#983)
* Update plurals.xml

* Update strings.xml
2023-12-25 20:10:37 -05:00
arkon
1b22be1da8 Tweak page flashing
Closes #10269, maybe. I don't really have something to test with.

(cherry picked from commit 4571dc6b5694d8a32446da2cc9bb131a7175c93e)
2023-12-25 19:59:09 -05:00
arkon
0c8268fe7b Clean up storage usage info
- Show bar representation of used/total space
- Handle all mounted storages
- Also included a bunch of unrelated immutables changes, sorry

(cherry picked from commit f31bc47757b3792f92c2c8721739b5e2d91b825d)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsDataScreen.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsLibraryScreen.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsReaderScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/cache/ChapterCache.kt
2023-12-25 19:58:59 -05:00
arkon
25ab1ed7b8 Fix read duration statistic getting inflated when restoring history
(cherry picked from commit 950b4a6c907262e80aaf423d523af518b790cd32)
2023-12-25 19:47:29 -05:00
arkon
4003263828 Address some build warnings
(cherry picked from commit 2d7650537db907a4129f4a07db15950339b319e9)

# Conflicts:
#	README.md
#	app/src/main/java/eu/kanade/presentation/category/components/CategoryDialogs.kt
#	source-api/src/commonMain/kotlin/eu/kanade/tachiyomi/source/model/SManga.kt
2023-12-25 19:47:20 -05:00
arkon
fa11413e90 Avoid crashing if loading non-read-only private extension
Fixes #10252

(cherry picked from commit 80d6d412f379ef9796b7274c13c1c03883c800d3)
2023-12-25 19:39:38 -05:00
arkon
d215944722 Ensure sufficiently long prefix when creating temp file
Fixes #10265

(cherry picked from commit 446b146f953b41a304840453ef6f1f015c75f082)
2023-12-25 19:39:29 -05:00
arkon
0dc3b37e70 Minor tracking cleanups
(cherry picked from commit 6887d98f15b4b9a84230217800fba2d4ae5b186a)

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

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/create/BackupCreator.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/create/creators/MangaBackupCreator.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/restore/BackupRestorer.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/restore/restorers/MangaRestorer.kt
#	app/src/main/java/eu/kanade/tachiyomi/di/AppModule.kt
#	domain/src/main/java/tachiyomi/domain/backup/model/Backup.kt
#	domain/src/main/java/tachiyomi/domain/backup/model/BackupFlatMetadata.kt
#	domain/src/main/java/tachiyomi/domain/backup/model/BackupManga.kt
#	domain/src/main/java/tachiyomi/domain/backup/model/BackupMergedMangaReference.kt
#	domain/src/main/java/tachiyomi/domain/backup/model/BackupSavedSearch.kt
#	domain/src/main/java/tachiyomi/domain/backup/model/metadata/BackupSearchMetadata.kt
#	domain/src/main/java/tachiyomi/domain/backup/model/metadata/BackupSearchTag.kt
#	domain/src/main/java/tachiyomi/domain/backup/model/metadata/BackupSearchTitle.kt
2023-12-25 19:33:22 -05:00
arkon
2238b123f9 Split up BackupCreator into smaller classes
(cherry picked from commit 1a559124eb9e029a6146bf2660cbd508941c20d4)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/create/BackupCreator.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/restore/BackupRestorer.kt
2023-12-24 17:11:04 -05:00
arkon
18e63cafa0 Don't include settings as defaults when manually creating backup
(cherry picked from commit 54ba1d719e0f03db34e0d0df6c136c638c083d4f)
2023-12-24 17:00:34 -05:00
arkon
6fee96a40b Highlight restore backup setting when navigating from onboarding step
(cherry picked from commit 93cbeca5c0dbcf919bca84d7881888883e16b744)
2023-12-24 16:59:44 -05:00
Jobobby04
565f2b532a Fix sharp corners on page previews 2023-12-24 16:58:17 -05:00
Jobobby04
59ee8bd8f9 Fix release build 2023-12-24 16:11:01 -05:00
Jobobby04
c6e44104c6 Fix NPE 2023-12-24 16:10:44 -05:00
Jobobby04
66a14d99c5 Fix pre-migration resetting the order 2023-12-24 15:49:48 -05:00
Jobobby04
cbb743f995 Improve page previews 2023-12-24 15:18:15 -05:00
Jobobby04
c36d2794bb Minor cleanup 2023-12-24 14:39:39 -05:00
arkon
7f89587889 Don't use localized numbers for downloaded image filenames
Probably fixes #10258

(cherry picked from commit 19f0175a56b00afd772d5d0c4909c49371a59bbe)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt
#	core/src/main/java/tachiyomi/core/util/system/ImageUtil.kt
2023-12-24 14:13:22 -05:00
arkon
bb33624fb7 Whoops, accidentally made the create backup button unusable before
(cherry picked from commit bf3899d04a50b77ad05e79b3317ac23ca2581183)
2023-12-24 14:12:04 -05:00
arkon
d8eb507ad7 Janky workaround for Moko escaped quotes issue
Related: https://github.com/icerockdev/moko-resources/issues/337
(cherry picked from commit dcf03794965cc29029e7783ee95cc56540c76ab5)
2023-12-24 14:11:54 -05:00
arkon
a9462bbfcb Initial move of restore backup into a separate screen
(cherry picked from commit 9f90ee358b8bee6713ef679aef7893f44fcc8f28)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsDataScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/restore/BackupRestorer.kt
2023-12-24 14:11:47 -05:00
arkon
af1bfa5888 Show MIUI warning more prominently in CreateBackupScreen
(cherry picked from commit 565317d99c1a7c9b0d3bd650adeb420fd8cd9cf4)
2023-12-24 14:10:07 -05:00
arkon
711ca69876 Foundations for partial restores
Related to #3136

(cherry picked from commit 83a67feb48c4e40994a334520c907f71d2fbf75e)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/restore/BackupRestorer.kt
2023-12-24 14:09:59 -05:00
arkon
abf1cdb31b Update Compose compiler
(cherry picked from commit a51108cbe8d86976ecf8f7e6c7fcf7f5b6f65380)
2023-12-24 14:06:04 -05:00
arkon
311ffd6c7c Use smaller window to calculate fetch interval if there's less total chapters
This is sort of a workaround for sources that tend to only give you the first few and
most recent few chapters, which would have been 28 day intervals before due to
the big gap in the middle.

(cherry picked from commit b9fd416fc665fdb07c11ebeb13e3dbf918dfe479)
2023-12-24 14:05:56 -05:00
arkon
e400232072 Prevent backing out from initial onboarding
(cherry picked from commit c10cd6c808786e896d16a82fce63b565c4e425af)
2023-12-24 14:05:46 -05:00
arkon
35e55b1517 Bump to latest NDK LTS
(cherry picked from commit c62cd6e997cb426ce8875a5f43ebeaa183bca7a5)
2023-12-24 14:05:38 -05:00
renovate[bot]
11420ef158 Update okhttp monorepo to v5.0.0-alpha.12 (#10245)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 7ae17e6aaccadfe01652ff54ca7c06cf756f0292)
2023-12-24 14:05:29 -05:00
arkon
52f52f257e Bump NDK
Just using the same version as J2K for now, we can probably go higher though.

(cherry picked from commit f20980b4c9c455703c80b120a39063e1e9a3df0a)
2023-12-24 14:05:21 -05:00
Weblate (bot)
39b497adaf Translations update from Hosted Weblate (#10238)
Weblate translations

Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/es/
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/sq/
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_Hant/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/tachiyomi-plurals-xml/vi/
Translation: Tachiyomi/Tachiyomi plurals.xml
Translation: Tachiyomi/Tachiyomi strings.xml

Co-authored-by: Alessandro Jean <14254807+alessandrojean@users.noreply.github.com>
Co-authored-by: DatTran MLL <tranthanhdat1142003@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Uzuki Shimamura <hzy980512@126.com>
Co-authored-by: bapeey <luisrleccar@hotmail.com>
Co-authored-by: bittin1ddc447d824349b2 <bittin@reimu.nl>
Co-authored-by: lisienskenderi <lisienskenderi@hotmail.com>
(cherry picked from commit 3847d4f4cfc94476a3d2233443a778367f929693)
2023-12-24 14:05:01 -05:00
Ivan Iskandar
278f99f1d7 DownloadJob: Network check changes (#10242)
Mostly pulled from WorkManager

(cherry picked from commit f9b57800b1e457c625e99ed9ba0d58fff2d95ef0)
2023-12-24 14:04:40 -05:00
Ivan Iskandar
c6eda810d3 PackageInstallerInstaller: Fix intent used for install session (#10240)
Use explicit intent as it's a requirement when targeting v34+

(cherry picked from commit 387159b5af1f8eed50f7ab565a13fd689f037e7e)
2023-12-24 14:04:29 -05:00
Ivan Iskandar
b53cbd7d05 MangaScreenModel: Start downloads in IO dispatcher (#10241)
(cherry picked from commit 09531e7f5a33508afb4a53542ce7b0f601be8826)
2023-12-24 14:04:19 -05:00
renovate[bot]
d6b314473d Update dependency com.squareup.okio:okio to v3.7.0 (#10239)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit c6356fe4b2283667fff7c59a7d35ccac78b5e2c2)
2023-12-24 14:04:07 -05:00
arkon
fb2e9d9af5 Migrate BuildConfig to Gradle Build Files
(cherry picked from commit ff3bc66055b05ed508181c41a20cc5146fbe7a39)
2023-12-24 14:03:55 -05:00
Ivan Iskandar
821a48e4d1 Target Android 14 (SDK 34) and add permission onboarding step
(cherry picked from commit 9e0068715f3ba3d1627c4b7539b90fb782f8122f)
(cherry picked from commit 13b3bec8ad2a5b883cbe5ec99da531fbaba7f50b)
2023-12-24 14:03:44 -05:00
arkon
c3f5a5d7e0 Set foreground service type for ExtensionInstallService
(cherry picked from commit 8aaf8df7080c232e3bb7966a88f608a4e176a525)
2023-12-24 14:03:34 -05:00
arkon
0dfe2f84f3 Target Android 12L (SDK 32)
(cherry picked from commit c00f05a1c1f8bce83df7a9b216d2c3026c16b147)
2023-12-24 14:03:24 -05:00
arkon
cf34c2dec5 Set foreground service types for remaining jobs
(cherry picked from commit db3ddf07eedbd82b7a446573fff2d5ed9595631f)
2023-12-24 14:03:10 -05:00
arkon
c9fa0ce395 Split restoring logic into smaller classes
(cherry picked from commit cd16522805eedc73fa3ab0f8db5ee403162a020c)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/create/BackupCreator.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/restore/MangaRestorer.kt
2023-12-24 14:02:52 -05:00
arkon
98900bc960 Clean up history restoring
(cherry picked from commit 5fec881387d1d4b5dda19b4a58e103bf60ef4a59)
2023-12-24 13:36:55 -05:00
arkon
dd40dbe171 Workaround for broken nav bar icon colors
(cherry picked from commit 3ac68e810d1d5a4a7d40b2be4a846fad96d42735)
2023-12-24 13:36:46 -05:00
Weblate (bot)
9af648fc51 Translations update from Hosted Weblate (#10222)
Weblate translations

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/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/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/sv/
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/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/tachiyomi-plurals-xml/bn/
Translation: Tachiyomi/Tachiyomi plurals.xml
Translation: Tachiyomi/Tachiyomi strings.xml

Co-authored-by: Alessandro Jean <14254807+alessandrojean@users.noreply.github.com>
Co-authored-by: Ali-98 <ahj696@hotmail.com>
Co-authored-by: Dexroneum <Rozhenkov69@gmail.com>
Co-authored-by: Eduard Ereza Martínez <eduard@ereza.cat>
Co-authored-by: Hasanur Rahman Biplob <hrbiplob100@gmail.com>
Co-authored-by: InfinityDouki56 <ced.paltep10@gmail.com>
Co-authored-by: Jakob Holkestad Molnes <Jakob.Holkestad.Molnes@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: Pierre Kim <admin@manateeshome.com>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Uzuki Shimamura <hzy980512@126.com>
Co-authored-by: bapeey <luisrleccar@hotmail.com>
Co-authored-by: bittin1ddc447d824349b2 <bittin@reimu.nl>
(cherry picked from commit e6fe5c827ca62be7ca1607d8db923d0cf802cd8a)
2023-12-24 13:36:31 -05:00
Ivan Iskandar
4c634910f7 Refactor onboarding steps
(cherry picked from commit 2ca3ab077192a7e5e2e7a5fb00c303a5a633372e)
(cherry picked from commit 65e1e2cf4f76b48575fe33dd0848b38720a55744)
2023-12-24 13:36:03 -05:00
arkon
b9fb77aeb1 Avoid crashing in SourcePreferencesFragment if source can't be loaded
Should probably wait for sources to definitely be loaded first, but that's
sort of a bigger change and needs to be lifecycle-aware.

(cherry picked from commit e36a2c68f112f98155f5eea859a59a13cc22e168)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/details/SourcePreferencesScreen.kt
2023-12-24 13:35:52 -05:00
arkon
7de2e72228 Bump dependencies
(cherry picked from commit add9357257b1e56c4f79554b4ea5cb60e8cfce56)
2023-12-24 13:34:12 -05:00
arkon
2db5aa53ea Skip updating unchanged chapters and tracks when restoring backup
(cherry picked from commit ad3d915fc56ecb8328861fdc2bf9e5f5c2aadbe3)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupRestorer.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupManga.kt
2023-12-24 13:33:47 -05:00
arkon
b0d7a611f7 Fix download indexing with changed storage locations
Fixes #10218

(cherry picked from commit 36f400d54281dd697f1492befc8241eaf31e31ab)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsDataScreen.kt
2023-12-24 13:29:46 -05:00
arkon
50505574e8 Remove redundant job setup calls in migrations
We always set them up earlier in the migrations anyway.

(cherry picked from commit dd1a19745a0a9df3814f22dd597585e44d3cba35)
2023-12-24 13:28:05 -05:00
arkon
9eb99fb10f Clean up manga restoring logic
Some behavior changes:
- It prioritizes new entries, then anything more recently updated
- It copies the more recently updated entry's metadata (description, thumbnail, etc.)

(cherry picked from commit 58daedc89ee18d04e7af5bab12629680dba4096c)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupRestorer.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/model/SMangaExtensions.kt
2023-12-24 13:25:45 -05:00
arkon
6f82c9c867 Proper check for when to navigate to tracker settings from tracking action
(cherry picked from commit d20a8fcf134a02735102010c5d10d1a4455ab8d6)
2023-12-24 13:17:19 -05:00
arkon
c0e1fccf81 Clean up some text alpha modifiers
(cherry picked from commit e56bf82c319f63ff2bdbabf68647a243bcd451d0)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/components/MangaToolbar.kt
2023-12-24 13:17:04 -05:00
arkon
3ba70183ec Clean up category restoring logic
(cherry picked from commit 0f9895eec8f5808210f291d1e0ef5cc9f73ccb44)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupRestorer.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupCategory.kt
2023-12-24 13:16:22 -05:00
Jobobby04
581e2851bc Build fixes 2023-12-24 13:12:25 -05:00
arkon
5792623204 Add ability to open available extension websites in WebView 2023-12-24 13:12:24 -05:00
arkon
619a05bac4 Avoid starting restore job if already running
We already check in the settings screen where it's triggered, but who knows.
Also addressing some errors for method calls that require SDK 26+ (but don't
fail the build, somehow?).

(cherry picked from commit 1ef01b53f2e740b493e5a94cd4ac011ab25b3ace)
2023-12-24 12:53:42 -05:00
arkon
669cd40134 Remove action to delete saved image in notification
Can just open it and delete from whatever gallery app the user has which has way
more functionality.

Closes #8327

(cherry picked from commit 720169dce3b78e3c761e2c80c1fc6f6fab67b791)
2023-12-24 12:53:31 -05:00
arkon
22e6a1673c Fix settings screen crashing when saving state
(cherry picked from commit 0d09039e5f0eb5d295c699ca4e6f160d7549e771)
2023-12-24 12:53:22 -05:00
arkon
17b0185a2b Onboarding screen tweaks
- Opposite transition when going back a step
- Don't allow skipping (I don't want to deal with an unset storage location in other places)

(cherry picked from commit cc56fde9fe6408e5dca4c752acc2ba6478291cce)
2023-12-24 12:53:13 -05:00
arkon
7b3418acd0 Always show trackers action in MangaScreen
Goes to tracker settings to log in if none are set up.

(cherry picked from commit 3a0b3de1754452cc0e10426c79820baa74d30b63)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/more/MoreTab.kt
2023-12-24 12:53:05 -05:00
arkon
58ed15207e Fix next local chapter not being indicated as downloaded in transition
(cherry picked from commit 47e544b710c1d9337a52dd8fbd5401903a14059a)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/components/MangaInfoHeader.kt
2023-12-24 12:51:10 -05:00
arkon
711c786401 Minor cleanup/docs
(cherry picked from commit 44d6c4fe440b6a44de3fa90a99b01652660188f3)
2023-12-24 12:50:31 -05:00
arkon
c42fe376d7 Upgrade Voyager
(cherry picked from commit e5693ed6689840e50da9d40af36539fe8611e858)
2023-12-24 12:50:23 -05:00
Weblate (bot)
b5f6cd8b45 Translations update from Hosted Weblate (#10204)
Weblate translations

Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/
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/ja/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/lv/
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/tachiyomi-plurals-xml/ro/
Translation: Tachiyomi/Tachiyomi plurals.xml
Translation: Tachiyomi/Tachiyomi strings.xml

Co-authored-by: Alessandro Jean <14254807+alessandrojean@users.noreply.github.com>
Co-authored-by: Arash <ara.khoram95@gmail.com>
Co-authored-by: Druvvaldis <druvvaldisr@gmail.com>
Co-authored-by: InfinityDouki56 <ced.paltep10@gmail.com>
Co-authored-by: Saft Octavian <saftoctavian@gmail.com>
Co-authored-by: TheKingTermux <achmadmaulana0233@gmail.com>
(cherry picked from commit 8c21aa86e95c509c257a696c2f7959187e5e2681)
2023-12-24 12:50:12 -05:00
arkon
314eb0a02e More onboarding screen additions 2: Electric Boogaloo
(cherry picked from commit f7c5b4243533374f6751055fd4bc037e022db8a8)

# Conflicts:
#	app/build.gradle.kts
2023-12-24 12:49:54 -05:00
arkon
40f8910cbe More onboarding screen additions
(cherry picked from commit e3404cd3d3c096e33c534143b24dbdce5b6e9bf9)
2023-12-24 12:48:48 -05:00
arkon
d71b1219b4 Add basic onboarding screen (#10199)
(cherry picked from commit 8b57169e924aa75a7cb9b49bb3bbce5e83a087da)

# 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
2023-12-24 12:48:37 -05:00
arkon
364e4fe41b Migrate to some newer date/time APIs
(cherry picked from commit ab9a26f6bd2855d13ff663cf52dfe4ecb01fda1d)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt
#	domain/src/main/java/tachiyomi/domain/updates/interactor/GetUpdates.kt
2023-12-24 12:47:39 -05:00
Ivan Iskandar
0aad7fc006 Downloader: Don't queue chapters on GlobalScope (#10217)
This fixes auto-download on library update not working on certain cases.

(cherry picked from commit 8779b263ab8cc2315005fb7228e7ee41429ddaf8)
2023-12-24 12:45:25 -05:00
arkon
9671c456d5 Bump dependencies
(cherry picked from commit 3135db4bb28d46bd9d09b80cf17b94b999b99153)
2023-12-24 12:45:15 -05:00
arkon
751d22977f Show average scores in tracker search results
Closes #8280

(cherry picked from commit 734cb0be6eeeb484d367ba1cfdbf8cd0076157d3)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/track/kitsu/KitsuApi.kt
2023-12-24 12:45:04 -05:00
arkon
c588922b0b Fix sharing saved pages from notification
Related to #8327
Deleting doesn't seem to do anything still, but at least doesn't throw an exception.

Also removed behavior of dismissing notification after sharing/deleting pages/backups
in case you want to do something again afterwards. Users can manually dismiss the
notification whenever they want.

(cherry picked from commit 1f259f92986c3e4c86d6068eec257f6bd32f69b4)
2023-12-24 12:44:19 -05:00
arkon
d6ab0143d9 Minor cleanup
(cherry picked from commit 427fbfdf5e58478bd9b6d35e3137f2a22db9fd96)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
2023-12-24 12:44:07 -05:00
arkon
66a04c4757 Try to fall back to showing URI for storage location if concrete file path isn't available
Closes #9977

(cherry picked from commit 0c860c0fe99f2a9b18065e36a35cc46fad265da6)
2023-12-24 12:43:05 -05:00
arkon
e4c229aa3b Migrate ReaderColorFilterView to Compose
(cherry picked from commit 5b2a099203cae59d266a3d417f128b36ddad9858)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReaderPreferences.kt
2023-12-24 12:42:49 -05:00
arkon
3a75f7718a Force recreate download index cache on upgrade
Fixes #10187

(cherry picked from commit ccadfc8fe53ff1b8ab66b0e91a4fa5a21481bcda)

# Conflicts:
#	app/build.gradle.kts
2023-12-24 12:27:35 -05:00
arkon
fc5021c79d Clean up startDownloadNow function a bit
Fixes #9330, I think. If it was even still an issue.

(cherry picked from commit 3aead3a2a924ae080b8fa5dbfdef15b91010d2c9)
2023-12-24 12:25:56 -05:00
arkon
4537a5e469 Remove storage permission check when manually creating backups
Co-authored-by: jmir1 <jmir1@users.noreply.github.com>
(cherry picked from commit 6a48fed17060dabf38ab1a5f0d5cce2c5c979097)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupCreator.kt
2023-12-24 12:25:48 -05:00
renovate[bot]
deddf720bb Update dependency com.android.tools.build:gradle to v8.2.0 (#10212)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit ea1684133b155f44afbf31709be1df364a238735)
2023-12-24 12:17:25 -05:00
arkon
f4afb690c0 Handle content URIs for covers
Co-authored-by: jmir1 <jmir1@users.noreply.github.com>
(cherry picked from commit e5263d0345c059d9c11bed7d711f03b31bb2ad34)
2023-12-24 12:16:56 -05:00
Ivan Iskandar
80e88d8383 Move workers to foreground service context a bit more safely (#10202)
The system will crash the app if the worker that calls setForeground() finished
before the service runner be able to call Service.startForeground(). This edge
case is not handled by WorkManager and there is no way to check if the required
calls are done.

So here we suspend the worker by an arbitrary duration assuming the transition
to foreground service is done by then.

(cherry picked from commit 24e1b4034efe24cc042404e2237f01ca1f2cd9b3)
2023-12-24 12:16:46 -05:00
Weblate (bot)
5de540ec68 Translations update from Hosted Weblate (#10148)
Weblate translations

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/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/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/ja/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/jv/
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/th/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/tr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/tachiyomi-plurals-xml/ca/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/tachiyomi-plurals-xml/es/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/tachiyomi-plurals-xml/fa/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/tachiyomi-plurals-xml/hu/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/tachiyomi-plurals-xml/ja/
Translation: Tachiyomi/Tachiyomi plurals.xml
Translation: Tachiyomi/Tachiyomi strings.xml

Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <14254807+alessandrojean@users.noreply.github.com>
Co-authored-by: Ali Aljishi <ahj696@hotmail.com>
Co-authored-by: Arash <ara.khoram95@gmail.com>
Co-authored-by: CR0YD <98400750+CR0YD@users.noreply.github.com>
Co-authored-by: Dexroneum <Rozhenkov69@gmail.com>
Co-authored-by: Eduard Ereza Martínez <eduard@ereza.cat>
Co-authored-by: FaCsaba <csab.faz.2@gmail.com>
Co-authored-by: InfinityDouki56 <ced.paltep10@gmail.com>
Co-authored-by: La prière <lapriere@users.noreply.hosted.weblate.org>
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: 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: Vetle Ledaal <vetle.ledaal@gmail.com>
Co-authored-by: Xavier Giguère (bebewold) <bebewold@gmail.com>
Co-authored-by: aa aa <lpodlewski76@gmail.com>
Co-authored-by: altinat <altinat@duck.com>
Co-authored-by: bittin1ddc447d824349b2 <bittin@reimu.nl>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: orkan gökçe alaz aşina <examplehuman@outlook.com>
(cherry picked from commit dfa5c229b35e6ea70244f88192a308c37d3caff2)
2023-12-24 12:16:36 -05:00
arkon
f5cda51334 Revert overridePendingTransition refactorings
(cherry picked from commit 87be54aa4aed257dfe060c0a9ee7072fece848bb)
2023-12-24 12:16:21 -05:00
arkon
d1c8c2d18e Set foreground service types for library update jobs
(cherry picked from commit 82d9ae31bdde0abaefeb78995d60b6c6b22e6052)
2023-12-24 12:15:48 -05:00
Ivan Iskandar
2387db1972 PullRefresh: Invoke callback only when initiated by user (#10201)
(cherry picked from commit e5518b76152044b164fbbd30812993de581f6735)
2023-12-24 12:15:37 -05:00
Ivan Iskandar
2e5c31f3d6 Define storage permission in manifest (#10200)
Mainly for migration process and to avoid breakage on users who doesn't
change their granular storage prefs.

(cherry picked from commit e5a22eafe72b701ed277d937a5c0f25d84a5eb25)
2023-12-24 12:15:19 -05:00
arkon
4a6693124e Bump dependencies
(cherry picked from commit 7a52afd223332819d462365138f65ad8bcd8b3d9)
2023-12-24 12:15:04 -05:00
arkon
39af800143 Replace ReaderOrientation icon resources
(cherry picked from commit 296201d6b7a14427014c24801fec2d931b2860e5)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/reader/appbars/BottomReaderBar.kt
2023-12-24 12:14:47 -05:00
arkon
040f4f0ba9 Remove unused resources
(cherry picked from commit 162b6397050e1577c113a88e7b7cfe9f98e6a45c)

# Conflicts:
#	app/src/main/res/values-sw720dp/dimens.xml
2023-12-24 12:11:58 -05:00
Jobobby04
14cfc38724 Address some warnings 2023-12-24 12:01:28 -05:00
arkon
209da5eb04 Bump dependencies
(cherry picked from commit 5dda32bb8143abe4e495fb7a5693299ac9f4da41)

# Conflicts:
#	.github/workflows/build_pull_request.yml
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/MigrationFlags.kt
2023-12-24 11:54:51 -05:00
Ivan Iskandar
fcb230df45 Migrate downloader service to WorkManager (#10190)
(cherry picked from commit 8ce8b600922410a4eb64da35a1850840a2f28669)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadService.kt
2023-12-24 11:53:10 -05:00
Ivan Iskandar
35d4a154b4 HomeScreen: Add static key for TabNavigator (#10191)
Fixes incorrect tab selection after process death

(cherry picked from commit 8ff2c01bf28d9d645796b7e616d3ab5c6f85a86c)
2023-12-24 11:52:30 -05:00
arkon
865ec2e47b Target SDK 30
Need to convert some services into WorkManager jobs before going to 31 and higher.

(cherry picked from commit e22eebfd02e28eb260273d987d60c216aa4a2100)
2023-12-24 11:47:09 -05:00
arkon
ab63f6036c Remove storage permissions
Requires adjusting some file reading to first copy to a temporary file
in cache that we have permissions to read from. This is only applicable for things
like ZIP files where we need an actual File rather than just some Android content
URI shenanigans.

(cherry picked from commit 4fcdde4913df28bbd678ae1be4a2971ed77179d3)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/RarPageLoader.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/ZipPageLoader.kt
#	source-local/src/androidMain/kotlin/tachiyomi/source/local/LocalSource.kt
2023-12-24 11:46:47 -05:00
Jobobby04
7e6d1196ac Use StorageManager for Exh logs 2023-12-23 23:41:24 -05:00
arkon
44fb882654 Ignore casing when looking for some files/folders
(cherry picked from commit e41668862f6d3362d7de030692d052ae653364e3)
2023-12-23 23:30:37 -05:00
arkon
c2d2295149 Update UniFile
Which has more correct nullability for some methods and case insensitivity for listFiles where possible.

(cherry picked from commit a74a689c9048cc67f4854678fbfefa361631a5e7)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt
#	source-local/src/androidMain/kotlin/tachiyomi/source/local/image/LocalCoverManager.kt
2023-12-23 23:30:24 -05:00
arkon
2bb0ee9543 Differ extra attempts to load local series' covers until chapter loading
(cherry picked from commit 82bdf634194734851c429d60b68f9ce7c7e51d91)

# Conflicts:
#	source-local/src/androidMain/kotlin/tachiyomi/source/local/LocalSource.kt
#	source-local/src/androidMain/kotlin/tachiyomi/source/local/image/LocalCoverManager.kt
2023-12-23 23:26:44 -05:00
arkon
22cc0de7cd Adjust stats overview icons
Closes #9865
Still sort of weird, but the icons are now always aligned.

(cherry picked from commit 9ce0bc6b5fbdf8b8008adb1feae21b8346223453)
2023-12-23 23:23:59 -05:00
arkon
ab57dd7def Actually use configured storage location for local source
Fixes #10178

(cherry picked from commit 27c4db752ce599a99876021c1019cfb549153a30)

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

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/RarPageLoader.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/ZipPageLoader.kt
#	core/src/main/java/tachiyomi/core/util/system/ImageUtil.kt
#	source-local/src/androidMain/kotlin/tachiyomi/source/local/LocalSource.kt
#	source-local/src/androidMain/kotlin/tachiyomi/source/local/image/LocalCoverManager.kt
#	source-local/src/commonMain/kotlin/tachiyomi/source/local/image/LocalCoverManager.kt
2023-12-23 23:22:07 -05:00
arkon
bda2ef3eee Add extensions for handling UniFile name/file extensions
(cherry picked from commit 46aeab9a7ac6fd5c45d426e3a733d716dcb1d25f)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadCache.kt
2023-12-23 22:53:21 -05:00
arkon
b23e269ac6 Move automatic backups from /backup/automatic to /autobackup
Removes the need to try to create child folders, which simplifies things.

(cherry picked from commit f365b53a0fbfb6f4147c688416e101aee9bae7fc)
2023-12-23 22:52:05 -05:00
Saud-97
b037ca7e24 Anilist decode item description HTML (#10181)
(cherry picked from commit d4dfa9a2c2a6e627256e99efb08e150a6d234964)
2023-12-23 22:51:52 -05:00
arkon
8f4ce62cc9 Use unified storage location for local source
(cherry picked from commit cf9e60fd92b3cea9ab4a48a3b8f62329df388e8d)

# Conflicts:
#	source-local/src/androidMain/kotlin/tachiyomi/source/local/LocalSource.kt
2023-12-23 22:51:41 -05:00
arkon
420d047254 Minor download location cleanup
(cherry picked from commit 21ae04d25d0997319b0742627ba441dfee92cc95)
2023-12-23 22:50:17 -05:00
arkon
8a24a8b705 Bump dependencies
(cherry picked from commit f1778ac5b4160a6965ae1a5f2e420f8b5e11fafb)
2023-12-23 22:50:08 -05:00
AntsyLich
afa5683d72 Library update notification changes (#10175)
Don't round up notification percentage. Why show 100% when stuff is still updating.

Show same notification when hide notification content is enabled. Just exclude manga titles.

(cherry picked from commit ba10093ddca8d409e43f26a80ea1f485b7767a6c)
2023-12-23 22:49:53 -05:00
arkon
759a3d8d18 Avoid crashing if storage directory can't be read
e.g. when first launching and there's no storage permissions yet.

(cherry picked from commit a5c946969839c8662172ea0709aebb488d3e2bbb)
2023-12-23 22:49:39 -05:00
Ivan Iskandar
c541789136 Change default PTR colors (#10174)
(cherry picked from commit 75314c78e01b4e93b719b2984078d558bf855745)
2023-12-23 22:49:30 -05:00
Ivan Iskandar
be438da158 Fix PTR initial refreshing state (#10173)
(cherry picked from commit 53edae1b6b466ef145d97b616a06534d09c2a35c)
2023-12-23 22:49:21 -05:00
Ivan Iskandar
ee722a7276 Fix PTR extra offset calculation (#10172)
(cherry picked from commit 356fc5b524f2da6957ad9bb198d15082dda8b14f)
2023-12-23 22:49:12 -05:00
arkon
102551b995 Call WheelPicker onSelectionChanged with initial value
Fixes #10157

We realistically only ever use the picker in contexts where we later
confirm or cancel with the selected value, so this is fine. If the caller
wants to ignore the initial value, they can always check if it's distinct
before/after there.

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

# Conflicts:
#	app/build.gradle.kts
2023-12-23 22:48:49 -05:00
Ivan Iskandar
e47941ae70 Migrate to M3 pull-to-refresh (#10164)
(cherry picked from commit d59cb9c1e3119b300fb4f0568ac5c77e5addaf47)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/components/LibraryTabs.kt
#	app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt
2023-12-23 22:47:12 -05:00
AntsyLich
0851ee98bd MangaScreen: Fix close in action mode exists from screen (#10160)
* MangaScreen: Fix close in action mode exists from screen

* L

(cherry picked from commit 300660492271752a3f75da4f158bd9b8e049a45b)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt
2023-12-23 22:45:38 -05:00
arkon
59c5484a15 Use unified storage location for automatic backups
(cherry picked from commit 1fbf8ca0790bcf2177e6f8850b51b9fb43c66d6e)
2023-12-23 22:44:53 -05:00
arkon
a37da0d1b7 Add unified storage location setting
Currently only using it as a replacement for the downloads location.

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

(cherry picked from commit e3b70ca08d1c5a09a448891ff66102fd696d7098)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupCreator.kt
2023-12-23 22:44:08 -05:00
arkon
4737526067 Use custom threshold for what's consider a low RAM device
(cherry picked from commit 8857b7e0c1a908c1853742b05d7aca7c63880dc9)
2023-12-23 22:43:33 -05:00
arkon
d01518500f Add "Rotate wide pages to fit" for webtoon reader too
Closes #1977

(cherry picked from commit 4a7c20f5a088be75e2a7644d6268f9e21a98d147)
2023-12-23 22:43:24 -05:00
arkon
90ae501cdc Fix searchbar style
Also address some Compose lint warnings.

(cherry picked from commit 29368fc95312c3a68c039b2f896742002caeb953)
2023-12-23 22:43:07 -05:00
arkon
d300e83520 Slightly shrink continue reading button size
(cherry picked from commit 0696e4bce0e61c69e76bc8e02b49ad40ecf53996)
2023-12-23 22:42:54 -05:00
Ivan Iskandar
8a68bfc2ce Migrate XML themes to Compose (#10152)
(cherry picked from commit 255ed50685845e1a43ee4b86cdfd2484942b1368)
2023-12-23 22:42:42 -05:00
arkon
77a8702db6 Suppress build warnings from MPP modules
(cherry picked from commit 00afee83b843edddf754b0dbd9ad30e5a887ae3e)
2023-12-23 22:42:21 -05:00
Jobobby04
16d433973c Finish migration to moko resources 2023-12-23 22:40:54 -05:00
arkon
82098460ff Replace remaining Android-specific strings
Also renaming the helper composables so it's a bit easier to find/replace everything
in forks.

(cherry picked from commit 0d1bced1226878336f8156671ae0c224c02f2604)

# 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/SourcesScreen.kt
#	app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceToolbar.kt
#	app/src/main/java/eu/kanade/presentation/category/components/CategoryDialogs.kt
#	app/src/main/java/eu/kanade/presentation/library/LibrarySettingsDialog.kt
#	app/src/main/java/eu/kanade/presentation/manga/components/MangaBottomActionMenu.kt
#	app/src/main/java/eu/kanade/presentation/manga/components/MangaDialogs.kt
#	app/src/main/java/eu/kanade/presentation/more/MoreScreen.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsBrowseScreen.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsLibraryScreen.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsMainScreen.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsReaderScreen.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsSecurityScreen.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/about/AboutScreen.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/advanced/ClearDatabaseScreen.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/data/CreateBackupScreen.kt
#	app/src/main/java/eu/kanade/presentation/reader/ReaderPageActionsDialog.kt
#	app/src/main/java/eu/kanade/presentation/reader/appbars/BottomReaderBar.kt
#	app/src/main/java/eu/kanade/presentation/reader/appbars/ReaderAppBars.kt
#	app/src/main/java/eu/kanade/presentation/reader/components/ChapterNavigator.kt
#	app/src/main/java/eu/kanade/presentation/reader/settings/GeneralSettingsPage.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/LibraryUpdateJob.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateNotifier.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/BrowseTab.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/migration/sources/MigrateSourceTab.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/SourceFilterDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/history/HistoryTab.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/ChapterLoader.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/stats/StatsScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/updates/UpdatesTab.kt
2023-12-23 20:31:05 -05:00
arkon
1eccf9fad8 Migrate to multiplatform string resources (#10147)
* Migrate to multiplatform string resources

* Move plurals translations into separate files

* Fix lint check on generated files

(cherry picked from commit 46e734fc8eefb8c06a880194e702559ca3fa769d)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/BrowseSourceScreen.kt
#	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/SourcesScreen.kt
#	app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceDialogs.kt
#	app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceToolbar.kt
#	app/src/main/java/eu/kanade/presentation/category/components/CategoryDialogs.kt
#	app/src/main/java/eu/kanade/presentation/library/LibrarySettingsDialog.kt
#	app/src/main/java/eu/kanade/presentation/manga/components/MangaBottomActionMenu.kt
#	app/src/main/java/eu/kanade/presentation/manga/components/MangaDialogs.kt
#	app/src/main/java/eu/kanade/presentation/more/MoreScreen.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsBrowseScreen.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsLibraryScreen.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsMainScreen.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsReaderScreen.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsSecurityScreen.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/about/AboutScreen.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/advanced/ClearDatabaseScreen.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/data/CreateBackupScreen.kt
#	app/src/main/java/eu/kanade/presentation/reader/ReaderPageActionsDialog.kt
#	app/src/main/java/eu/kanade/presentation/reader/appbars/BottomReaderBar.kt
#	app/src/main/java/eu/kanade/presentation/reader/appbars/ReaderAppBars.kt
#	app/src/main/java/eu/kanade/presentation/reader/components/ChapterNavigator.kt
#	app/src/main/java/eu/kanade/presentation/reader/settings/GeneralSettingsPage.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/LibraryUpdateJob.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateNotifier.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/BrowseTab.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/MigrationFlags.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/manga/MigrateMangaScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SourceSearchScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/sources/MigrateSourceTab.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/SourceFilterDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/history/HistoryTab.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/ChapterLoader.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReaderPreferences.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/stats/StatsScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/updates/UpdatesTab.kt
#	build.gradle.kts
#	i18n/build.gradle.kts
#	i18n/src/commonMain/resources/MR/base/strings_sy.xml
#	i18n/src/commonMain/resources/MR/fr/strings_sy.xml
#	i18n/src/commonMain/resources/MR/in/strings_sy.xml
#	i18n/src/commonMain/resources/MR/pt-rBR/strings_sy.xml
#	i18n/src/commonMain/resources/MR/ru/strings_sy.xml
#	i18n/src/commonMain/resources/MR/zh-rCN/strings_sy.xml
#	i18n/src/commonMain/resources/MR/zh-rTW/strings_sy.xml
2023-12-23 20:28:29 -05:00
Weblate (bot)
120ac6dbda Translations update from Hosted Weblate (#10135)
Weblate translations

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/lv/
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/sv/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/tr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/uk/
Translation: Tachiyomi/Tachiyomi 0.x

Co-authored-by: Dexroneum <Rozhenkov69@gmail.com>
Co-authored-by: Druvvaldis <druvvaldisr@gmail.com>
Co-authored-by: Eduard Ereza Martínez <eduard@ereza.cat>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Matyáš Caras <contact@hernikplays.cz>
Co-authored-by: Osyx <ofalkman@gmail.com>
Co-authored-by: Rostyslav Haitkulov <info@ubilling.net.ua>
Co-authored-by: alex <hdhdhfhfbbffhhfhfjfjf@gmail.com>
Co-authored-by: f0roots <f0rootss@gmail.com>
Co-authored-by: orkan gökçe alaz aşina <examplehuman@outlook.com>
Co-authored-by: symegac <97731141+symegac@users.noreply.github.com>
(cherry picked from commit c39ae21f4ad5dbace4ca727b65fb2261dc7613d8)
2023-12-23 19:26:10 -05:00
Ivan Iskandar
adfaa75ae9 Remove animateItemPlacement modifier usage (#10146)
(cherry picked from commit 69aa13bc5655813f1366b2020343091c8d2da009)
2023-12-23 19:25:53 -05:00
Jobobby04
8effc7eb05 Fix build 2023-12-23 19:25:12 -05:00
arkon
91d45cc8b9 Address more Compose lint warnings
(cherry picked from commit 2c032ff70d607f0e0197091e53763491775a0ab3)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/MigrateSourceScreen.kt
#	app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceToolbar.kt
#	app/src/main/java/eu/kanade/presentation/library/LibrarySettingsDialog.kt
#	app/src/main/java/eu/kanade/presentation/library/components/LibraryToolbar.kt
#	app/src/main/java/eu/kanade/presentation/manga/components/MangaToolbar.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsMainScreen.kt
#	app/src/main/java/eu/kanade/presentation/reader/appbars/ReaderAppBars.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/BrowseTab.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/sources/MigrateSourceTab.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesTab.kt
2023-12-23 19:24:57 -05:00
arkon
adb53a9a45 Migrate to standard M3 TabIndicator
(cherry picked from commit 0af4703b78007b117a233c03b9f5e9be2b8e3ab0)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/components/LibraryTabs.kt
2023-12-23 18:59:15 -05:00
Ivan Iskandar
412a5295c6 Update Scaffold fork (#10143)
https://android-review.googlesource.com/c/platform/frameworks/support/+/2690433
(cherry picked from commit ea15bc782a2cd603c78de7567a59e973dd50fd7f)
2023-12-23 18:58:43 -05:00
Ivan Iskandar
97f33888d2 Migrate deprecated progress indicator components (#10142)
(cherry picked from commit 9ec0f73e8778f18001704a6da3a1ac184027efb9)
2023-12-23 18:58:16 -05:00
Ivan Iskandar
4660e2cf8f Migrate deprecated tooltip components (#10141)
(cherry picked from commit f9fb034330d6e5c4f0cf9232649aa9a548e9e443)
2023-12-23 18:58:06 -05:00
arkon
25b496ae14 Bump dependencies
(cherry picked from commit 6eb5a25ea1eb8d20b6532013d6562a38c0efbf8b)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/BrowseSourceScreen.kt
#	app/src/main/java/eu/kanade/presentation/library/components/LibraryTabs.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SourceSearchScreen.kt
2023-12-23 18:57:50 -05:00
Eduard Ereza Martínez
edbcfaac68 Fix Catalan plurals manually (#10133)
Co-authored-by: arkon <arkon@users.noreply.github.com>
(cherry picked from commit 45d8411f98d831cd8c734089ea20a6ef06ef948f)
2023-12-23 18:55:13 -05:00
Weblate (bot)
1b771ce960 Translations update from Hosted Weblate (#10102)
Weblate translations

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/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/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/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: Alessandro Jean <14254807+alessandrojean@users.noreply.github.com>
Co-authored-by: Ali Aljishi <ahj696@hotmail.com>
Co-authored-by: Dexroneum <Rozhenkov69@gmail.com>
Co-authored-by: Eduard Ereza Martínez <eduard@ereza.cat>
Co-authored-by: Hiroshi <borlonjhayron1119@gmail.com>
Co-authored-by: InfinityDouki56 <ced.paltep10@gmail.com>
Co-authored-by: La prière <lapriere@users.noreply.hosted.weblate.org>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Pitpe11 <giorgos2550@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 <altinat@duck.com>
Co-authored-by: bapeey <luisrleccar@hotmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: orkan gökçe alaz aşina <examplehuman@outlook.com>
Co-authored-by: winver <kirillstuzhuk@gmail.com>
(cherry picked from commit d9e2317e62236119b62b3aa5c83d0fa7bc3e12fe)
2023-12-23 18:54:53 -05:00
arkon
5dd041d470 Use immutable collections in more places
(cherry picked from commit 336221a972187c8e35d733d2f9d1d1a99e7b6f1b)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/BrowseSourceScreen.kt
#	app/src/main/java/eu/kanade/presentation/browse/SourcesScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesScreenModel.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/updates/UpdatesScreenModel.kt
2023-12-23 18:54:37 -05:00
renovate[bot]
9c5124799c Update voyager to v1.0.0-rc10 (#10127)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit dd998be1e762b0cc4774ca0efbbccbf9d6e4ca9c)
2023-12-23 18:36:55 -05:00
arkon
b5e1db1973 Use immutable collections in presentation-widget module
(cherry picked from commit 3c3b09209c7ea5729c29b9c3ad414c09b2bb9636)
2023-12-23 18:36:41 -05:00
arkon
5d565f436f Minor cleanup
(cherry picked from commit 4a6571d310ecf2bf77e86a303f1788aaaab3df25)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/di/AppModule.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/SourceExtensions.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/model/SMangaExtensions.kt
2023-12-23 18:36:30 -05:00
Jobobby04
19746904e1 Some linting 2023-12-23 18:23:58 -05:00
arkon
9ab01ec20c Add Compose lint checks
Still need to address most of them though.

(cherry picked from commit cb67f1de526e6120db363f67035966f365467912)

# Conflicts:
#	presentation-core/src/main/java/tachiyomi/presentation/core/components/CollapsibleBox.kt
2023-12-23 18:13:09 -05:00
arkon
c058c23c86 Fix EmptyScreen kaomoji looking broken for RTL locales
(cherry picked from commit 402e2c47fb549f98392b7155a6beed5a53b73f97)
2023-12-23 18:12:06 -05:00
Jobobby04
86837a6c47 Hopefully fix crash with page previews 2023-12-23 18:11:43 -05:00
arkon
f59036a082 Update to Compose Compiler 1.5.4 and Kotlin 1.9.20
(cherry picked from commit 58b2895ec910ecd6557cf7d6fb27fbb4bccecda1)

# Conflicts:
#	gradle/compose.versions.toml
2023-12-23 17:52:14 -05:00
arkon
28b980641c Convert create backup dialog to a screen
Allows us more flexibility in adding more options/explanations in the future.

(cherry picked from commit 00b2853d3daaa49a2b3bcada1596e094e8da5156)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsDataScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupConst.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupCreator.kt
2023-12-23 17:51:38 -05:00
Jobobby04
506c6fd463 Trim scanlator in the db 2023-12-23 17:44:10 -05:00
AntsyLich
8434d36498 ScanlatorFilterDialog: Fix crash when no scanlator (#10111)
(cherry picked from commit d7442d771b92b4d1b1c0c762ea6473cb58ece544)
2023-12-23 17:43:18 -05:00
renovate[bot]
ab22dd242b Update voyager to v1.0.0-rc09 (#10110)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 8f22480ec9f1fa69777e9326879490aa33225ed5)
2023-12-23 17:43:09 -05:00
renovate[bot]
5dc32f694d Update dependency org.junit.jupiter:junit-jupiter to v5.10.1 (#10109)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 9d974273afa1b086af214c20c372541347aed651)
2023-12-23 17:43:02 -05:00
arkon
07af2920ff Group mode dialogs together in bottom reader bar
(cherry picked from commit 3a8aa3e8cd7b725ee73b7fe67d0b1c3111af977b)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/reader/appbars/BottomReaderBar.kt
2023-12-23 17:42:51 -05:00
arkon
4687f81c42 Add separate default/apply buttons to reading mode/orientation selection dialogs
Related to #3453

(cherry picked from commit 9e67abcc8a1e7ca90c0a92acc563e998a7a99886)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/reader/appbars/ReaderAppBars.kt
2023-12-23 17:41:21 -05:00
AntsyLich
e368116a30 Trim Chapter scanlator value (#10108)
(cherry picked from commit d0bcd30909adaaf086e0bd5b0e8231561c4b9e0e)
2023-12-23 17:39:29 -05:00
AntsyLich
c8909961c0 Implement scanlator filter (#8803)
* Implement scanlator filter

* Visual improvement to scanlator filter dialog

* Review changes + Bug fixes

Backup not containing filtered chapters and similar issue fix

* Review Changes + Fix SQL query

* Lint mamma mia

(cherry picked from commit b97aa235480e35b5514b7b1489b9d4413cea66d9)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/presentation/manga/ChapterSettingsDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupCreator.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt
#	data/src/main/java/tachiyomi/data/chapter/ChapterRepositoryImpl.kt
#	data/src/main/sqldelight/tachiyomi/migrations/23.sqm
#	data/src/main/sqldelight/tachiyomi/migrations/26.sqm
#	domain/src/main/java/tachiyomi/domain/history/interactor/GetNextChapters.kt
2023-12-23 17:38:22 -05:00
arkon
94fa45597d Replace custom preview annotation
(cherry picked from commit e6ca54fd04668fde5ae12429101a13dc1f03b99e)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/widget/TextPreferenceWidget.kt
#	app/src/main/java/eu/kanade/presentation/reader/PageIndicatorText.kt
2023-11-05 17:38:54 -05:00
arkon
e7aa8c31f1 Clean up reading mode / orientation enum classes
Categorizing the reading modes so we can implement a better
selection UI.

(cherry picked from commit 4502902fb0df21f637c905dc5c4c36625dedc710)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/manga/model/Manga.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsReaderScreen.kt
#	app/src/main/java/eu/kanade/presentation/reader/appbars/BottomReaderBar.kt
#	app/src/main/java/eu/kanade/presentation/reader/appbars/ReaderAppBars.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt
2023-11-05 17:36:37 -05:00
Ivan Iskandar
44bda0a611 MangaScreen: Adjust "missing chapter count" item list styling (#10105)
Text style to labelMedium and set secondary alpha to the whole row

(cherry picked from commit 5f34539525f93a92ca80f3b1fb9e71953b6758a1)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt
2023-11-05 17:29:37 -05:00
arkon
d9a6a7be50 Restrict line length with ktlint
(cherry picked from commit 1d144e67678a99ec7198e5efcb1410b5da4bc42e)

# Conflicts:
#	.editorconfig
#	app/src/main/java/eu/kanade/domain/chapter/model/ChapterFilter.kt
#	app/src/main/java/eu/kanade/presentation/reader/appbars/ReaderAppBars.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/ChapterLoader.kt
#	source-local/src/androidMain/kotlin/tachiyomi/source/local/LocalSource.kt
2023-11-05 17:28:46 -05:00
arkon
0a9f15d74c Postpone Android 8 requirement
(cherry picked from commit 4f3a0b352397bc6184962e0664d26731ffdd27f8)
2023-11-05 16:54:49 -05:00
arkon
ad1afdc529 Minor cleanup
(cherry picked from commit 056dbaefda791b53240265c8e9562a01f17118c4)
2023-11-05 16:54:32 -05:00
arkon
bd165456ae Show EOL message if update check no-ops due to unsupported Android version
(cherry picked from commit 3a15c6b8438d1a740af0d6ffdec72347eec8cb83)
2023-11-05 16:54:23 -05:00
arkon
0232a65a26 No-op app update checks for Android < 8
This effectively makes it the last release for the older Android versions.

(cherry picked from commit db20d04c4b628a76dfdf7ce5e715ec2cf13de79a)
2023-11-05 16:54:14 -05:00
arkon
aaea2b1720 Ensure page indicator texts are centered
Maybe fixes #9976

(cherry picked from commit 4146c4c31d069ce9fb7ab36d72f1f8fa2be1e050)
2023-11-05 16:53:18 -05:00
arkon
3dc895778f Move tracker binding logic to interactor
(cherry picked from commit 69223df27c198550a7c43dc1af4c65f85bcb395b)
2023-11-05 16:53:07 -05:00
arkon
f3fc4c7be1 Revert "Always save pages/covers in subfolders"
This reverts commit 8568d5d6c3ceae0084a350906b330f23dab571e1.

Closes #10052

(cherry picked from commit 4b225a4ff155dc019cf4db00b59d449e0db521ab)
2023-11-05 16:52:57 -05:00
Weblate (bot)
d597268be0 Translations update from Hosted Weblate (#10089)
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/fil/
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/ne/
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/th/
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: Alessandro Jean <14254807+alessandrojean@users.noreply.github.com>
Co-authored-by: Ali Aljishi <ahj696@hotmail.com>
Co-authored-by: Blue <bluestuffish@gmail.com>
Co-authored-by: Dexroneum <Rozhenkov69@gmail.com>
Co-authored-by: FateXBlood <zecrofelix@gmail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: Hiroshi <borlonjhayron1119@gmail.com>
Co-authored-by: InfinityDouki56 <ced.paltep10@gmail.com>
Co-authored-by: La prière <lapriere@users.noreply.hosted.weblate.org>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Uzuki Shimamura <hzy980512@126.com>
Co-authored-by: Zero O <godarms2010@live.com>
Co-authored-by: abc0922001 <abc0922001@hotmail.com>
Co-authored-by: altinat <altinat@duck.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: winver <kirillstuzhuk@gmail.com>
(cherry picked from commit 4a2ee0b5963953e24b9370fe2b867271e5f74f39)
2023-11-05 16:52:45 -05:00
arkon
91e6f7f79b Bump dependencies
(cherry picked from commit 8644d90bd4572330e720c1eb8b64e3f323bbd709)
2023-11-05 16:52:34 -05:00
Ota
8496856941 New alphabetical chapter sort (#10073)
* added alphabetical chapter sorting

* Deleted sort_by_alphabet and re-utilized action_sort_alpha

* Accidentally deleted wrong string. Now solved

* Accidentally deleted wrong string. Now solved

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

* Alphabetical sorting now uses Collator

* Clean up repeated Collator instances

---------

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

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

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/LibrarySettingsDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
#	domain/src/main/java/tachiyomi/domain/library/model/LibrarySortMode.kt
#	domain/src/main/java/tachiyomi/domain/track/interactor/GetTracksPerManga.kt
2023-11-05 16:51:09 -05:00
arkon
43c5585f7e Maybe fix foreign key error during some backup restores
(cherry picked from commit aca36f962516f04bbbac67c9bf54723a13076c1c)
2023-11-05 16:38:27 -05:00
arkon
65b085ad23 Bump dependencies
(cherry picked from commit d5e8c38075aeb062d82b72c915c6c484386f91ed)
2023-11-05 16:38:18 -05:00
AntsyLich
35d8c75aa0 Show missing chapter count between two chapters in chapter list (#10096)
* Show missing chapter count between two chapters in chapter list

Closes #8460

* Fix crash

* Lint

* Review changes

* Lint

(cherry picked from commit 6d538db5f2afc45976a65ae5d202a490d2e08352)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/chapter/model/ChapterFilter.kt
#	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/util/chapter/ChapterGetNextUnread.kt
2023-11-05 16:38:06 -05:00
Eshlender
aa2afd1402 Text on tabs Overflow Ellipsis (#10095)
* Update TabbedDialog to TabbedScreen

* clean

(cherry picked from commit b3d7c9247530c0522033b4a9130d252bcbf50163)

# Conflicts:
#	presentation-core/src/main/java/tachiyomi/presentation/core/components/material/Tabs.kt
2023-11-05 16:30:02 -05:00
Eshlender
3dd8aeafe5 Combining manga information into a function (#10093)
* Combining manga information into a function

* clean space

* indexes

* context

* clean

* textAlign for Tablet Mode

(cherry picked from commit d862d83511d6bc7dee53609bcac77c20b01bc795)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/components/MangaInfoHeader.kt
2023-11-05 16:29:34 -05:00
Howard Wu
9d2cf4fd60 buildDir deprecated, use layout.buildDirectory instead (#10097)
gradle/gradle#20210
gradle/gradle#24820

(cherry picked from commit 8a1625ec7906a3f396d0f217cd8c168f539b5167)
2023-11-05 16:28:42 -05:00
arkon
6eac922cbf Use same icon as chapter list items to indicate downloaded chapter in reader transitions
(cherry picked from commit 2ee895ee3c09004666652181fedd653f4aeeb90f)
2023-11-05 16:28:31 -05:00
arkon
57bb12440a Handle Brotli-compressed responses
(cherry picked from commit 7cf2ce29947e96a2eac011e48a92e1029e344831)
2023-11-05 16:28:22 -05:00
arkon
cde00282c1 Add basic storage usage info to "Data and storage" settings screen
(cherry picked from commit cb8ea5eab0ec68ea02e8dc98c0a52771c460d5ab)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsDataScreen.kt
2023-11-05 16:28:14 -05:00
Jobobby04
1202409b25 Merge branch 'release'
# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/presentation/webview/WebViewScreenContent.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/LocalSource.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/online/all/EHentai.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
#	app/src/main/java/exh/EXHMigrations.kt
#	app/src/main/java/exh/debug/DebugFunctions.kt
2023-10-29 19:03:29 -04:00
Jobobby04
caaa7a53bc Fix release migrations 2023-10-29 18:55:21 -04:00
Jobobby04
2f9cba87b5 Release v1.9.4 2023-10-29 18:45:34 -04:00
Jobobby04
6ba8318b8a Fix page previews cache
(cherry picked from commit d600ddc11ad496ab5c8b879b18e6bb1187a05799)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
#	app/src/main/java/exh/EXHMigrations.kt
#	app/src/main/java/exh/debug/DebugFunctions.kt
2023-10-29 18:44:01 -04:00
Jobobby04
7565e51f95 Fix page previews after E-H update
(cherry picked from commit d45563e58d7f5f8f50046e0dbb8dc2e147ac0789)
2023-10-29 18:26:42 -04:00
Jobobby04
230aec370c Fix import of reader preferences in reader
(cherry picked from commit 90281affc4bcd12c07cb036f948497002f78c197)
2023-10-29 18:26:35 -04:00
Jobobby04
0d894d5977 Fix crash on Chinese
(cherry picked from commit 729e13cc1a090d73f0ae5f7f4b77d910fdb0d8a0)
2023-10-29 18:26:24 -04:00
Luqman
099758f02d Fix Mangadex recommendation (#951)
* Fix Md recs

Disable Md recs if delegated setting is disabled

* Revert "Fix Md recs"

This reverts commit 7dbfa662be2665aa97664720df42e2562bc4adb0.

* Rerun

This reverts commit 971315278b92bcabfbf6b5610cb1c63e281bc172.

(cherry picked from commit 6baa24273a098f492a11efe29e93ef3f64cfd951)
2023-10-29 18:25:43 -04:00
AntsyLich
e0480ce8c3 pain (#968)
(cherry picked from commit 8fc04d8cc6ff7cf0135b9facbb57072614a2f9b2)
2023-10-29 18:25:23 -04:00
Jobobby04
4cab34e06c Use readableAt
(cherry picked from commit d37463cf0f091ade15fa80c7b75fe378a45eee61)
2023-10-29 18:23:41 -04:00
arkon
3aefee3ce0 Update website links
(cherry picked from commit ccc9a5a052b133174f8ba361490386ff0361283e)
(cherry picked from commit bc5ba6092b3ec2f2cd5eae5a5a80fec7bf23f414)

# Conflicts:
#	CONTRIBUTING.md
#	app/src/main/java/eu/kanade/presentation/more/MoreScreen.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/AboutScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateNotifier.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/updater/AppUpdateNotifier.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/LocalSource.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/details/ExtensionDetailsScreenModel.kt
2023-10-29 18:22:46 -04:00
arkon
f645440c12 Update default user agent string
(cherry picked from commit 092d930175e7a9a6e1bb73f8d97948903db06d67)
(cherry picked from commit f25b70cdef339b4bdf90006eff9a75be7a46fd0a)

# Conflicts:
#	core/src/main/java/eu/kanade/tachiyomi/network/NetworkPreferences.kt
2023-10-29 18:20:37 -04:00
arkon
72ac3c275c Avoid opening blobs as webpages
Fixes #10060

(cherry picked from commit 548f7f415a28529522f5aef0d53546e8bc68957e)
(cherry picked from commit 7ccb8eaaf24d5621f831826afd56210c6d93f2c7)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/webview/WebViewScreenContent.kt
2023-10-29 18:19:32 -04:00
Vlasov Roman
d14cf0ccea Change Shikimori domain from ".me" to ".one" (#10027)
(cherry picked from commit 8f3681d79f1624a092e5c356c9459897f4220c29)
(cherry picked from commit 2ba546009637f2a8a58fc59805a9ddac659abee8)
2023-10-29 18:17:25 -04:00
arkon
c2963709cd Use consistent extension icon URLs
Better caching between versions.

(cherry picked from commit 30f845139d76762798e2cdec7804a38806c3eeca)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/extension/api/ExtensionGithubApi.kt
(cherry picked from commit 01e0c3c0401daec57e565b5bf5341e45f78c98d5)
2023-10-29 18:17:06 -04:00
Luqman
6baa24273a
Fix Mangadex recommendation (#951)
* Fix Md recs

Disable Md recs if delegated setting is disabled

* Revert "Fix Md recs"

This reverts commit 7dbfa662be2665aa97664720df42e2562bc4adb0.

* Rerun

This reverts commit 971315278b92bcabfbf6b5610cb1c63e281bc172.
2023-10-29 18:13:52 -04:00
Luqman
674d95b783
Shorter Chapter List in Reader (#955) 2023-10-29 18:13:25 -04:00
NeKo
df546fd065
Add Chinese translation (#960)
* Add Chinese translation

chinese translation updates fork zh-rCN

* Tranditional Chinese Update strings_sy.xml

Added translate//
 <!-- Actions -->

<!-- Entry Type -->

<!-- Preferences -->

<!-- Subsections -->

<!-- About -->

<!-- EH Settings 1 -->

* CHT Fix Update strings_sy.xml

FIX
<!-- EH Settings 1 -->

* CHT Fix Update strings_sy.xml

small fix
2023-10-29 18:12:42 -04:00
AntsyLich
8fc04d8cc6
pain (#968) 2023-10-29 18:12:04 -04:00
Shamicen
d502ebc275
Fixed avif/encrypted thumbnails not loading (#966)
* Fixed avif/encrypted thumbnails not loading

* used new input stream instead of byteArray
2023-10-29 18:11:16 -04:00
Jobobby04
bfe824af18 Minor cleanup 2023-10-29 15:50:24 -04:00
arkon
20e9ea7725 Don't include "app state" preferences in backups
(cherry picked from commit ce7bf396ebc0b85d0e857c55b27cb5eab2ad9d5b)

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

(cherry picked from commit 1aa5222c99f50543c47d5f3bd4bb892e16e31efb)
2023-10-29 13:52:59 -04:00
arkon
32c98b9c50 Abstract out library last updated timespan text
So we can reuse it for showing last automatic backup time.

(cherry picked from commit 298c49f3ab7000ed0457aa177bba9a98072b1339)
2023-10-29 13:52:45 -04:00
arkon
dfb3e2da8e Clean up chapter restoring logic a bit
(cherry picked from commit ce5e10be955d8166f53de8118f8f12e76546b5ea)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt
#	domain/src/main/java/tachiyomi/domain/history/interactor/GetNextChapters.kt
2023-10-29 13:52:28 -04:00
arkon
c99e4cc94b Make scrollbar slightly chonkier
Closes #9728

(cherry picked from commit 64ad25d1b5cd68457d36fda67d96f99812a53528)
2023-10-29 12:58:15 -04:00
arkon
5f7d56b6d2 Try to ensure that reader page error message is removed if image is loaded
Maybe fixes #5687

(cherry picked from commit 4868dd2d03214d0b1307cb42abd3e0a4cb5e85c6)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt
2023-10-29 12:58:07 -04:00
arkon
ee212460b3 Add option to flash white screen on page change in reader for e-ink displays
Closes #2123

(cherry picked from commit 443d56f69bc1df515ed2edcd5b2936ed8710fb71)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsReaderScreen.kt
#	app/src/main/java/eu/kanade/presentation/reader/settings/GeneralSettingsPage.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
2023-10-29 12:57:02 -04:00
Eshlender
6fa77fe894 Add icons for author and artist in MangaInfoHeader (#10079)
* Mark author and artist

* overall style

* Clean up spacing

---------

Co-authored-by: arkon <eugcheung94@gmail.com>
(cherry picked from commit 7457a18aee15ce7b2afd01fc5bc33f08baa2f6f1)
2023-10-29 12:55:34 -04:00
Weblate (bot)
89a019eaff Translations update from Hosted Weblate (#10043)
Weblate translations

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/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/ko/
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/zh_Hans/
Translation: Tachiyomi/Tachiyomi 0.x

Co-authored-by: Ahmed Sameh <as562384@gmail.com>
Co-authored-by: Alessandro Jean <14254807+alessandrojean@users.noreply.github.com>
Co-authored-by: Ali Aljishi <ahj696@hotmail.com>
Co-authored-by: Bicycle <evocatorediboscopietra@gmail.com>
Co-authored-by: Dexroneum <Rozhenkov69@gmail.com>
Co-authored-by: Eduard Ereza Martínez <eduard@ereza.cat>
Co-authored-by: InfinityDouki56 <ced.paltep10@gmail.com>
Co-authored-by: Jueon Park <bluegbgb@gmail.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Saft Octavian <saftoctavian@gmail.com>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: TheKingTermux <achmadmaulana0233@gmail.com>
Co-authored-by: Zero O <godarms2010@live.com>
Co-authored-by: altinat <altinat@duck.com>
Co-authored-by: bapeey <luisrleccar@hotmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: orkan gökçe alaz aşina <examplehuman@outlook.com>
(cherry picked from commit d80ba2e807ae6701f7bcd40036c37b5b521b017f)
2023-10-29 12:55:26 -04:00
arkon
80a07631bf Add ability to reset chapter flags to defaults
Closes #10063

(cherry picked from commit 118d3b7fcc5cf8a27e52ff690cb3ecd28860c10c)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/ChapterSettingsDialog.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt
#	data/src/main/sqldelight/tachiyomi/data/mangas.sq
2023-10-29 12:55:08 -04:00
arkon
47f9bf08cc Replace AppUpdateService with a WorkManager job
Fixes #7773

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

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/updater/AppUpdateService.kt
2023-10-29 12:47:28 -04:00
arkon
20352e3f10 Rename "Backup and restore" settings screen to "Data and storage"
We can house more things in here in the future, like:
- A unified storage location setting (with scoped storage)
- Sync
- Disk usage info

(cherry picked from commit c46c39d4aea887503838cc832822047f3a41018a)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt
2023-10-29 12:46:31 -04:00
AntsyLich
2e2f5264e5 Yeet app update download progress notification on complete (#10071)
(cherry picked from commit 17b90d2491c63a43dba147e93d4e6d0ea54984fd)
2023-10-29 12:43:48 -04:00
arkon
927f6105bf Set saved image date modified value to current time
Fixes #10070

(cherry picked from commit 9ecec5d468629f647f7c6370c78983d5bcf5b670)
2023-10-29 12:43:34 -04:00
Seishirou101
1d6266c578 Add info about problematic extensions to debug logs (#10059)
* add ext info to crashlog

* add unofficial to crashlog too

* update to have header include unofficial too

* after ktlintFormat

* Clean up debug info output

---------

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

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/util/CrashLogUtil.kt
2023-10-29 12:43:21 -04:00
arkon
fd02759a56 Handle reader app bar insets in Compose
(cherry picked from commit 8057f067b964835897a2365cee0307cfdc1472f6)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/reader/appbars/ReaderAppBars.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
2023-10-29 12:41:16 -04:00
arkon
7ccb8eaaf2 Avoid opening blobs as webpages
Fixes #10060

(cherry picked from commit 548f7f415a28529522f5aef0d53546e8bc68957e)
2023-10-29 12:37:45 -04:00
arkon
d949e738f0 Migrate reader low brightness overlay to Compose
(cherry picked from commit d9c0b1ce7d1739da3945622f2d18b171a471fc2e)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/reader/appbars/ReaderAppBars.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt
2023-10-29 12:37:30 -04:00
arkon
ae6586be2b Add Compose previews for reading and orientation mode dialogs
(cherry picked from commit 0a0b6861190b087776e60e8e20b5cb21d7e2a855)
2023-10-29 12:35:31 -04:00
arkon
f25b70cdef Update default user agent string
(cherry picked from commit 092d930175e7a9a6e1bb73f8d97948903db06d67)
2023-10-29 12:35:15 -04:00
Caleb Morris
88efcb5c01 Detached permission request from DiskUtil (#10051)
Being an extension on the DiskUtil couples to a class at a different abstraction
 layer without really needing to. Created PermissionRequestHelper as a place to
 put similar requests if needed in the future.

(cherry picked from commit 3b7ed9bc6d99c9822f3051f3696fb8359b4a8f8a)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/BrowseTab.kt
2023-10-29 12:34:05 -04:00
Jobobby04
1a3371352c Fix build 2023-10-29 12:32:58 -04:00
arkon
59a6fd7dca Update Voyager
(cherry picked from commit 012854dd1e13eedecd92419fd6a4d1d5cc900462)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/BrowseSourceScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibrarySettingsScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/stats/StatsScreenModel.kt
2023-10-29 12:32:40 -04:00
Caleb Morris
41920d9e75 [dev QoL] Added AndroidStudio previews for [presentation.track] namespace (#10022)
* Created DummyTracker for use in tests and presentation previews

* Added previews for TrackerSearch

* Added previews for TrackLogoIcon

* Added preview for TrackInfoDialogSelector

* Added previews for TrackInfoDialogHome

(cherry picked from commit 6d1e520c6c5c3860bbd588677bb4a05ab06fe830)
2023-10-29 11:51:34 -04:00
Gabriel Donadel Dall'Agnol
5a647b30f0 Fix README.md typo (#10047)
(cherry picked from commit dcc3141080aca6cfe70b21c5c6ed34b2e343fa97)

# Conflicts:
#	README.md
2023-10-29 11:51:26 -04:00
arkon
ca5e58332f Minor cleanup to ResolvableSource
(cherry picked from commit 732659847571359624ee48b17c3c268a5c7d7fb2)
2023-10-29 11:50:39 -04:00
renovate[bot]
795723f436 Update dependency ch.acra:acra-http to v5.11.3 (#10046)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit fcba2306e9d15aa4e00e67bde493fd7aa3f79d9f)
2023-10-29 11:50:31 -04:00
Joshua Owolabi
325a471359 Allow extensions to open manga or chapter by URL (#9996)
* open manga and chapter using URL

* removing unnnecessary logs

* Resolving comments

* Resolving comments

(cherry picked from commit f84868a2641578b7e07719d8f580e4668804fd50)
2023-10-29 11:50:20 -04:00
Caleb Morris
48ef273fb2 Changed data-mappers to use function format (#10045)
The lambda-format was really confusing to read and keep which anonymous data
 item was corresponding to which field. Now it's directly inspectable in the IDE

(cherry picked from commit 15423bfc8476179dff20ed49e5aa92a5387061ff)

# Conflicts:
#	data/src/main/java/tachiyomi/data/chapter/ChapterRepositoryImpl.kt
#	data/src/main/java/tachiyomi/data/manga/MangaMapper.kt
#	data/src/main/java/tachiyomi/data/manga/MangaRepositoryImpl.kt
#	data/src/main/java/tachiyomi/data/updates/UpdatesMapper.kt
#	data/src/main/java/tachiyomi/data/updates/UpdatesRepositoryImpl.kt
2023-10-29 11:50:07 -04:00
arkon
b131e1ca1f Update jsoup
(cherry picked from commit 19965e0bdbe0ce3717451d402b7cac3a5a6ed6b2)
2023-10-29 11:11:09 -04:00
Caleb Morris
eee1f34ed2 Decoupled Tracker Interface (#10042)
Split out Tracker to interface and created simple dummy instance for previews

(cherry picked from commit 3a35c13575330e755a81aa550e76c115f69a649a)
2023-10-29 11:10:53 -04:00
arkon
d3ad5d6890 Refresh tracks before updating progress
Closes #1652

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

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

(cherry picked from commit 489d22720a4343f198c81fe10f69d5b212bfc41a)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt
2023-10-29 11:08:08 -04:00
Weblate (bot)
d770d4c049 Translations update from Hosted Weblate (#9992)
Weblate translations

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/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/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/
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/sv/
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: Alessandro Jean <14254807+alessandrojean@users.noreply.github.com>
Co-authored-by: Ali Aljishi <ahj696@hotmail.com>
Co-authored-by: C201 <derasetad@gmail.com>
Co-authored-by: Dexroneum <Rozhenkov69@gmail.com>
Co-authored-by: Diego D <papitas30gameryt@gmail.com>
Co-authored-by: Eduard Ereza Martínez <eduard@ereza.cat>
Co-authored-by: Esttven <m4ttesteban@gmail.com>
Co-authored-by: FateXBlood <zecrofelix@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: ItsPoofy <tuanminh8688@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: Maristella Kalil Victoriano Silva <maris.victoriano@gmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
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: Vetle Ledaal <vetle.ledaal@gmail.com>
Co-authored-by: abc0922001 <abc0922001@hotmail.com>
Co-authored-by: altinat <altinat@duck.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: zhongfly <icesshadows@gmail.com>
(cherry picked from commit e1b3345b9414e918d7bb2e99ecc47c77d2bcef79)
2023-10-29 11:06:46 -04:00
Jobobby04
a4ff56e6eb Build fixes 2023-10-29 11:06:23 -04:00
arkon
ada9239c11 Consistent labeled checkbox composable
(cherry picked from commit c53172265b4dfba380a096c8d9107358515bf0e1)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateDialog.kt
2023-10-29 11:06:14 -04:00
arkon
19e37454c6 Make text clickable when removing item from tracker
(cherry picked from commit 8626a55fe4ee2fa5f61e6d4a2a8e0c7e3752cd25)
2023-10-29 10:41:00 -04:00
arkon
4385d3c21a Bump dependencies
(cherry picked from commit 1302461518702b00af0cc920c389adef3cf1694a)
2023-10-29 10:40:45 -04:00
Vlasov Roman
2ba5460096 Change Shikimori domain from ".me" to ".one" (#10027)
(cherry picked from commit 8f3681d79f1624a092e5c356c9459897f4220c29)
2023-10-29 10:40:12 -04:00
arkon
0614a9a0dd Update background job preferences once settings are restored
Co-authored-by: Jays2Kings <Jays2Kings@users.noreply.github.com>
(cherry picked from commit c4ce3dd46fe3ebf9b33b256106b8690e5543ddb8)
2023-10-29 10:39:27 -04:00
arkon
ff4c11bab0 Change crash log info to just have actual WebView version
(cherry picked from commit 22df12a680174890fe8f3559218b1819e37bf2f6)
2023-10-29 10:39:20 -04:00
arkon
07f34281c7 Show an error if backup file URI isn't returned to app when attempting restore
Related to #10028

(cherry picked from commit e572abb041cc0c410842fda1ed703f1b80a94d96)
2023-10-29 10:39:09 -04:00
Ivan Iskandar
ab04d07b3f ExtensionLoader: Fix incorrect ext file deletion (#10026)
Ref c492efcb31775a65464cf68b4a249bc5bb8e6016

(cherry picked from commit ea99d77fda239c54d029223150f20cd69f9665c3)
2023-10-29 10:38:58 -04:00
Prasidh Gopal Anchan
0dbac06dd5 Fix checkboxes not working after scrolling in filter sheet (#10023)
Fixed an issue where CheckBox was not being checked after scrolling in the Filter tab

(cherry picked from commit 2bf77f1d814b411f8bd50bffcbca82b88064a2b0)
2023-10-29 10:38:34 -04:00
arkon
9584d95638 Add haptics to SliderItem
(cherry picked from commit f79f0a7e97a6a754a5fbe621faeda6d0e62993f8)
2023-10-29 10:38:24 -04:00
arkon
54caea4daa Minor cleanup
(cherry picked from commit 82a9d36df7c8a22c7dbd7762ecc38dbdacd2626e)

# Conflicts:
#	.github/renovate.json5
#	app/.gitignore
2023-10-29 10:38:15 -04:00
Caleb Morris
80844883ee [dev QoL] Added AndroidStudio previews for [presentation.history] namespace (#10012)
* Added display preview for HistoryDialogs

* Added preview with provider for each branch for HistoryItem

* Added previews for HistoryScreen

Created in-memory preferences construct for when its needed at top-level injection

* Fixed ktlint violations

(cherry picked from commit 447bcb28efa890ea1ebd73183b9ae25e8150be39)
2023-10-29 10:37:16 -04:00
arkon
a264bb35d4 Bump dependencies
(cherry picked from commit 0be7ac5871a717e97195b7cfc1051fdbcced1e94)
2023-10-29 10:36:56 -04:00
arkon
3842056d9c Migrate top reader app bar to Compose
(cherry picked from commit d18022c25990f1961fef77eabb3924c68f283250)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/reader/appbars/BottomReaderBar.kt
#	app/src/main/java/eu/kanade/presentation/reader/appbars/ReaderAppBars.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/widget/listener/SimpleAnimationListener.kt
#	app/src/main/res/anim/enter_from_top.xml
#	app/src/main/res/anim/exit_to_top.xml
#	app/src/main/res/layout/reader_activity.xml
#	app/src/main/res/menu/reader.xml
2023-10-29 00:06:12 -04:00
arkon
868a27110a Remove remaining usages of platform-provided strings
(cherry picked from commit 5619a4c0d995774a4ba4e4030f639a62a708b771)
2023-10-28 15:30:56 -04:00
arkon
6b34266032 Add info about formatting task in CONTRIBUTING.md [skip ci]
(cherry picked from commit 8a7bbfddda232a86e7a9051466782539d3a6acd0)
2023-10-28 15:26:54 -04:00
Ivan Iskandar
70ac8ea629 MangaSummary: Refactor to not use SubcomposeLayout (#10008)
(cherry picked from commit 0026f96fadbe029e8419985e69fb63bd2fe16d7f)
2023-10-28 15:26:27 -04:00
Ivan Iskandar
fdc7deb985 ExtensionLoader: Set read-only to private extension files (#10007)
(cherry picked from commit c492efcb31775a65464cf68b4a249bc5bb8e6016)
2023-10-28 15:26:18 -04:00
arkon
0fa0384f3d Tweak Cloudflare help message in WebView screen
Catches pages like what Shinigami is currently showing.
Also adjusts the banner to make it look more like part of the top AppBar so it
looks less like part of the webpage.

(cherry picked from commit c386d375dee2a846dd59395e6eda3a07311ed3d5)
2023-10-28 15:26:07 -04:00
arkon
f55f49b2c8 Use AppBar abstraction in more places
(cherry picked from commit 540fb1bb7c36fda0b6c070caacd8fb2a4176ddc0)
2023-10-28 15:25:12 -04:00
arkon
40b93cc26c Minor cleanup
(cherry picked from commit 81448f5d01ba6c6fb69de10118519c1036c46965)
2023-10-28 15:25:00 -04:00
arkon
7693076c89 Refactor reader bottom bar to presentation package
(cherry picked from commit 7c012010558d5e7a2ea32a8aaef3c908fdc52799)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
#	app/src/main/res/layout/reader_activity.xml
2023-10-28 15:23:53 -04:00
arkon
6e3dc97458 Use relative touch positions for reader tap events
Fixes #10004

(cherry picked from commit 90d3dd22426bbf1b398026a28e4cb4d552e6f435)
2023-10-27 19:58:04 -04:00
Jobobby04
16c524d81e Fix build 2023-10-27 19:57:54 -04:00
arkon
e427dc2d1c Use Compose to animate bottom reader menu bars
(cherry picked from commit 97b4d1f13de194163d7dc13a0d73d023109bc8c2)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
#	app/src/main/res/anim/enter_from_bottom.xml
#	app/src/main/res/anim/exit_to_bottom.xml
2023-10-27 19:57:44 -04:00
arkon
abd97efe85 Automatically convert details.json to ComicInfo.xml for local series
Originally contributed as #9603
I ended up coming back to this since it seems like a reasonable way to migrate
users in the short-medium term. We'll remove this in a later release.

Co-authored-by: Shamicen <Shamicen@users.noreply.github.com>
(cherry picked from commit 79b37df647049df90921cae1fabdca2312404784)
2023-10-27 19:42:07 -04:00
arkon
7990e6a7de Remove duplicated logic for binding enhanced trackers
(cherry picked from commit b7d282235dd233aac3bbdba3c9cfe7cac877b2e1)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
2023-10-27 19:41:57 -04:00
Pauline
9f325ea106 Add button to reorder categories alphabetically (#9369)
Closes #6459

Co-authored-by: arkon <arkon@users.noreply.github.com>
(cherry picked from commit 77ebc362f6d6b765ed2de6d1be18a969df4ca1f3)
2023-10-27 19:41:13 -04:00
arkon
5e2700d420 Always save pages/covers in subfolders
Ensures that pages and covers are grouped together.

(cherry picked from commit 8568d5d6c3ceae0084a350906b330f23dab571e1)
2023-10-27 19:41:04 -04:00
arkon
a39d4c8b83 Account for skipped entries when showing large updates warning
Closes #6159

(cherry picked from commit 7ed99fbbd61bd6748573b1c5463f3c552de8832d)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt
2023-10-27 19:40:53 -04:00
Jobobby04
21d898f92f Remove beta webtoon viewer split page
This had a bunch of issues around split pages not showing up properly so things
end up appearing to be missing while reading.
It'd be more worthwhile redoing the reader viewers than trying to get this to work
properly. It'd be better to just enable the split pages on download instead.

Closes #8433

(cherry picked from commit 94cba9324c872b1f0caa3f4d385266f190a9b114)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsReaderScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReaderPreferences.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonPageHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonViewer.kt
#	core/src/main/java/tachiyomi/core/util/system/ImageUtil.kt
2023-10-27 19:39:49 -04:00
arkon
d179893834 Move backup restoring functions from BackupManager to BackupRestorer
(cherry picked from commit 6dab94a9371ad3eac0488c5f105e8e38c6c4e232)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupRestorer.kt
2023-10-27 17:40:38 -04:00
arkon
b9fe9f7f52 Add source preferences to backups
Closes #1857

Co-authored-by: jmir1 <jmir1@users.noreply.github.com>
(cherry picked from commit 0f42b9f1544b188362d1c0046c8ff853827ed270)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsBackupScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupConst.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/models/Backup.kt
2023-10-27 17:28:14 -04:00
arkon
92daa4ea28 Exclude tracker credentials in backups
(cherry picked from commit 730f3a6e5209197c7a026c36371545d5aef85851)

# Conflicts:
#	app/build.gradle.kts
2023-10-27 17:25:23 -04:00
arkon
b97dbca402 Add app settings to backups
This should be compatible with Aniyomi's implementation.
Related to #1857

Co-authored-by: jmir1 <jmir1@users.noreply.github.com>
(cherry picked from commit 72024aa44af1622fd148b859c8cea0c3404dc370)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsBackupScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupConst.kt
#	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
2023-10-27 17:23:40 -04:00
renovate[bot]
0bcc1a7b81 Update dependency com.google.android.material:material to v1.10.0 (#9991)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 9c688b08c0fd3b501dbf0e0f35b3b0fdb301052f)
2023-10-27 17:19:04 -04:00
renovate[bot]
00985ba632 Update dependency androidx.benchmark:benchmark-macro-junit4 to v1.2.0-rc02 (#9990)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit c66a4fa7a72215a39fc783914c26f7db1de37a6e)
2023-10-27 17:18:56 -04:00
arkon
757dff0c94 Specify broadcast receiver export flags
Really only useful once we target Android 14, but doesn't hurt to do it now.

(cherry picked from commit e47f4cc177485b36cde7f97c54a35ca6540c62ec)
2023-10-27 17:18:47 -04:00
Weblate (bot)
4bdf4b90e1 Translations update from Hosted Weblate (#9957)
Weblate translations

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/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/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/th/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/uk/
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 <14254807+alessandrojean@users.noreply.github.com>
Co-authored-by: Ali Aljishi <ahj696@hotmail.com>
Co-authored-by: Dan <jonweblin2205@protonmail.com>
Co-authored-by: Dexroneum <Rozhenkov69@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: InfinityDouki56 <ced.paltep10@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: Milan Šalka <salka.milan@googlemail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
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: Yesaya Kefin Irli <yesaya.kevin99@gmail.com>
Co-authored-by: abc0922001 <abc0922001@hotmail.com>
Co-authored-by: altinat <altinat@duck.com>
Co-authored-by: bapeey <luisrleccar@hotmail.com>
(cherry picked from commit 6462472d16801fdb8dd32967907ac87f8b99a8a0)
2023-10-27 17:18:37 -04:00
LooKeR
1aa2ad1e9c Reduce recomposition of MangaHeader (#9985)
* Reduce recomposition of MangaHeader

* Reuse `Modifier` for `Tags`

Reference:
https://developer.android.com/jetpack/compose/modifiers#reusing-modifiers

* Don't recalculate Read State on recomposition

* Fix Linting issue

* Optimize chapter state calculations

(cherry picked from commit 78aa50bb350b0142a3e0407b3d2f6084b9c1a835)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt
#	app/src/main/java/eu/kanade/presentation/manga/components/MangaInfoHeader.kt
2023-10-27 17:18:20 -04:00
arkon
c2488c41a2 Update social media icons
(cherry picked from commit 7f0f67d75249033451f9e0fc841de6359ec28b69)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/about/AboutScreen.kt
2023-10-27 17:16:51 -04:00
arkon
9b4d0d372b Bump dependencies
(cherry picked from commit df332860b8fa1a4f873a7fa1d08c45e71cfb12ed)
2023-10-27 17:16:13 -04:00
Jobobby04
d600ddc11a Fix page previews cache 2023-10-27 17:14:38 -04:00
Jobobby04
d45563e58d Fix page previews after E-H update 2023-10-27 17:13:54 -04:00
Jobobby04
90281affc4 Fix import of reader preferences in reader 2023-10-27 17:13:27 -04:00
Jobobby04
729e13cc1a Fix crash on Chinese 2023-10-27 17:12:46 -04:00
Jobobby04
d37463cf0f Use readableAt 2023-10-01 16:48:58 -04:00
Jobobby04
b3ab8895e3 Attempt to fix image decoder issue 2023-10-01 16:39:00 -04:00
renovate[bot]
947efe58a5 Update aboutlib.version to v10.9.1 (#9971)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 8a8afa46e91bfb156c58f9008ba871156bf353f9)
2023-10-01 16:36:46 -04:00
Ivan Iskandar
68ac8108a6 Add project icon (#9972)
(cherry picked from commit 509bee056313c7ea4d127da72aa242ec221a25d4)
2023-10-01 16:36:37 -04:00
arkon
6f1ad9960b Rename new method in ConfigurableSource to get preferences
Maybe fixes #9969

(cherry picked from commit afb1ee2200053f3ea0603f7db2283043792fb974)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/details/SourcePreferencesScreen.kt
2023-10-01 16:36:28 -04:00
arkon
fd8beebc5f Update SSIV and image-decoder, except with partially revert to non-broken HEIF/AVIF support
(cherry picked from commit 66a938779df1e1400125b987c23c29ac411dda6d)

# Conflicts:
#	gradle/libs.versions.toml
2023-10-01 16:35:16 -04:00
arkon
045a8bb08c Update SSIV and image-decoder
Includes updated libwebp for CVE-2023-5129

(cherry picked from commit ed506f84951677a5772e06720fc5cf1442a99b9b)

# Conflicts:
#	gradle/libs.versions.toml
2023-10-01 16:34:56 -04:00
arkon
c24cdb598e Tracker-related cleanup
(cherry picked from commit c8e226acb2ef460f78a298ef44412bb5b2915daf)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/track/interactor/TrackChapter.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/track/TrackerManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/stats/StatsScreenModel.kt
2023-10-01 16:34:14 -04:00
arkon
e2348638f0 Bring back relative timestamp translations
(cherry picked from commit 86edce0d8705beb4f7f750a0c6f5fa4b353ec3c0)
2023-10-01 16:07:24 -04:00
Weblate (bot)
72de2c3b8c Translations update from Hosted Weblate (#9919)
Weblate translations

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/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/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/nb_NO/
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/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_Hant/
Translation: Tachiyomi/Tachiyomi 0.x

Co-authored-by: Alessandro Jean <14254807+alessandrojean@users.noreply.github.com>
Co-authored-by: Ali Aljishi <ahj696@hotmail.com>
Co-authored-by: C201 <derasetad@gmail.com>
Co-authored-by: Dan <jonweblin2205@protonmail.com>
Co-authored-by: Dexroneum <Rozhenkov69@gmail.com>
Co-authored-by: Eduard Ereza Martínez <eduard@ereza.cat>
Co-authored-by: FateXBlood <zecrofelix@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: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Paavalen Lingachetti <p.lingachetti@gmail.com>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Shjosan <shjosan@kakmix.co>
Co-authored-by: Uzuki Shimamura <hzy980512@126.com>
Co-authored-by: Vetle Ledaal <vetle.ledaal@gmail.com>
Co-authored-by: abc0922001 <abc0922001@hotmail.com>
Co-authored-by: altinat <altinat@duck.com>
Co-authored-by: orkan gökçe alaz aşina <examplehuman@outlook.com>
Co-authored-by: sarami <ppp821203@gmail.com>
(cherry picked from commit 4e69bf993a7addb93a0987ae0e037f1e1f7e127a)
2023-10-01 16:07:15 -04:00
arkon
b5b947400b Bring back simplified relative timestamp setting
Except now it's just an on/off toggle for relative up to a week.

(cherry picked from commit 56d2464870cbd59f1e67dab7cf2a359bddfa0f41)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt
#	app/src/main/java/eu/kanade/presentation/updates/UpdatesScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/updates/UpdatesScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/updates/UpdatesTab.kt
2023-10-01 16:07:05 -04:00
arkon
35eb6c7ebe Bump dependencies
(cherry picked from commit 5de72b7d32676fe3d0e9ce2176fe48e29a9f859c)
2023-10-01 16:04:38 -04:00
arkon
c3df5563cc Add WebView-based user agent string to debug info
Could probably use this when choosing a user agent later on.

(cherry picked from commit de92b1351f10f9211830358bd225bb768131d6b4)
2023-10-01 16:04:26 -04:00
arkon
ab1b931dcc Fix duplicate files being created when saving pages on Android 10+ with separate folders setting enabled
Fixes #9943

(cherry picked from commit 77a8a4229c9fbf1b601a448dc919f3c5daa94985)
2023-10-01 16:04:15 -04:00
arkon
be8df884d5 Fix hide entries in library setting causing browse to not load
Fixes #9924

(cherry picked from commit d4290f6f596dcafbe354eec51875680eb854d179)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt
2023-10-01 16:04:04 -04:00
arkon
326cd14db4 Consistently use absolute date strings everywhere
Closes #9781

(cherry picked from commit b08d604d2a8ae09e623a4375a75cbc844d26a0fa)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/updates/UpdatesScreenModel.kt
2023-10-01 16:02:28 -04:00
arkon
972ada85ac Clean up fetch interval tests a bit
Also limit the dates we look at to most recent 10 distinct dates only. Closes #9930

(cherry picked from commit 6663abebaf69241741d0702331857951834ba806)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupRestorer.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt
2023-10-01 16:01:16 -04:00
arkon
47cf4c135d Fix track search item not filling width if content is too short
(cherry picked from commit e5f83d0c6e0a0e55d35dd3a32e71817447824df0)
2023-10-01 16:00:00 -04:00
renovate[bot]
48ddc4855b Update dependency io.github.fornewid:material-motion-compose-core to v1.0.7 (#9938)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 3ad7add3b5c523085a13e8528aa527a7b26c5f59)
2023-10-01 15:59:24 -04:00
renovate[bot]
668db87249 Update dependency com.google.gms:google-services to v4.4.0 (#9940)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 66aacade9a2f6c8f28fe62286f83f997c767b1f0)
2023-10-01 15:59:12 -04:00
renovate[bot]
6c215fcaad Update xml.serialization.version to v0.86.2 (#9939)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit fe3a710ed0615ac0dd3598c36d91b020f1e173aa)
2023-10-01 15:59:02 -04:00
arkon
fe9f022363 Fix cut off labels in reader sheet toggles
(cherry picked from commit f9754f4f587449f6d9c3a31a99b5c39269d561ac)
2023-10-01 15:58:53 -04:00
arkon
4b3efac857 Tweak reading mode and orientation sheet designs
(cherry picked from commit 8824c7dbe392d586b24234f8e4c0a1c944a77328)
2023-10-01 15:58:42 -04:00
arkon
bc5ba6092b Update website links
(cherry picked from commit ccc9a5a052b133174f8ba361490386ff0361283e)
2023-10-01 15:58:33 -04:00
Soitora
4cf8652b09 Change website URLs to reflect changes (#9916)
Change website URLs

(cherry picked from commit f5e0cee36cae3aed564b89a31317eb99026e4090)

# Conflicts:
#	.github/workflows/issue_moderator.yml
#	README.md
2023-10-01 15:58:27 -04:00
Weblate (bot)
6cdb34681c Translations update from Hosted Weblate (#9904)
Weblate translations

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/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/lv/
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_BR/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ru/
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_Hant/
Translation: Tachiyomi/Tachiyomi 0.x

Co-authored-by: Alessandro Jean <14254807+alessandrojean@users.noreply.github.com>
Co-authored-by: Ali Aljishi <ahj696@hotmail.com>
Co-authored-by: Astrid <github@astrid.exposed>
Co-authored-by: C201 <derasetad@gmail.com>
Co-authored-by: Clxff H3r4ld0 <123844876+clxf12@users.noreply.github.com>
Co-authored-by: DarKCroX <DarKCroX@users.noreply.hosted.weblate.org>
Co-authored-by: Dexroneum <Rozhenkov69@gmail.com>
Co-authored-by: Druvvaldis <druvvaldisr@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: InfinityDouki56 <ced.paltep10@gmail.com>
Co-authored-by: Jozef Hollý <j2.00ghz@gmail.com>
Co-authored-by: Karuto <nguyenthaison609@outlook.com>
Co-authored-by: Luna Jernberg <droidbittin@gmail.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Paavalen Lingachetti <p.lingachetti@gmail.com>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Stefan Rackov <stfnrckv@pm.me>
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: abc0922001 <abc0922001@hotmail.com>
Co-authored-by: altinat <altinat@duck.com>
Co-authored-by: orkan gökçe alaz aşina <examplehuman@outlook.com>
Co-authored-by: sebastians17 <sebastians117.ss@gmail.com>
(cherry picked from commit 36f1e0e47648ca8745ee5f80b54b432a82dc0edf)
2023-10-01 15:57:09 -04:00
arkon
2055aca01d Update to Kotlin 1.9.10
(cherry picked from commit 2dd2db72258f3a3d4e649ce2fcc2aee7aed951b6)

# Conflicts:
#	gradle/compose.versions.toml
2023-10-01 15:56:58 -04:00
Joshua
2afeaa84ea [Download Queue] Move series to bottom (#9918)
Added item in download queue page to move series to bottom

(cherry picked from commit 3d0e750519e851abbae193c2c78500ba897bf800)
2023-10-01 15:56:19 -04:00
Jobobby04
32a938e6d4 Update usages 2023-10-01 15:56:07 -04:00
Jobobby04
68fdd471ac Fix build 2023-10-01 15:46:16 -04:00
arkon
f4e92e4a56 Add more replacement suspend functions for source APIs
These are basically 1-to-1 replacements for the existing RxJava APIs.
This will make the initial migration off of RxJava simpler. We'll
revisit the actual call flows in followup versions of the API.

(cherry picked from commit 26c5d761da4ba577481f41e63f03952b8a6c323f)

# Conflicts:
#	data/src/main/java/tachiyomi/data/source/SourcePagingSource.kt
#	source-api/src/commonMain/kotlin/eu/kanade/tachiyomi/source/online/HttpSource.kt
#	source-api/src/commonMain/kotlin/eu/kanade/tachiyomi/source/online/HttpSourceFetcher.kt
2023-10-01 15:44:50 -04:00
arkon
e12f01ccdc Remove old FastScroller
Not sure if this will return to the download queue screen, you really
shouldn't be downloading a ton of stuff at once anyway?

(cherry picked from commit 1668be85875522721ee971afac4b46aa7da343c6)

# Conflicts:
#	app/src/main/res/values/styles.xml
2023-10-01 15:04:02 -04:00
arkon
4b0470e51a Bump dependencies
(cherry picked from commit 86a3fc77c62421060a6b3278902ebf770b327a9e)

# Conflicts:
#	.github/workflows/build_pull_request.yml
2023-10-01 14:58:43 -04:00
arkon
12774c54ee Change backup file names
We use the application ID now to ensure uniqueness if the same folder is selected
between different app versions/forks. This will make more sense once storage
settings are unified to a single location.

Also changes the file extension while we're at it so people stop accidentally
ungzipping it.

(cherry picked from commit cc018cee182f880ebfe07e45809a98d0f6d73220)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/models/Backup.kt
2023-10-01 14:57:41 -04:00
Jobobby04
ebcd7e8e27 Fix scanlator filter toolbar tint 2023-09-04 12:39:51 -04:00
Jobobby04
4a00ef32fd Fix read status in reader chapter list 2023-09-04 12:31:46 -04:00
renovate[bot]
60ef3f92b7 Update dependency io.kotest:kotest-assertions-core to v5.7.1 (#9905)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit d9d143e6be35dc1845dc4e23b40c26df6309b8f9)
2023-09-04 12:18:05 -04:00
arkon
0346a4d6b0 Minor updates
(cherry picked from commit 3f0db60a999cb30ff249ae4cc6a720c2a49c319a)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupManager.kt
2023-09-04 12:17:45 -04:00
arkon
cdfaf28910 Use app name in biometric unlock dialog
Mostly for forks to show the right name.

(cherry picked from commit 87f3d4bd054d9442fb7af9204bda70a85a43b626)
2023-09-04 12:16:06 -04:00
renovate[bot]
b81e1203c9 Update dependency io.kotest:kotest-assertions-core to v5.7.0 (#9901)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 5c3d655d9eed42f3a2f6e9e4ea8e232ed7b0df56)
2023-09-04 12:15:55 -04:00
renovate[bot]
2f4f98f302 Update dependency ch.acra:acra-http to v5.11.2 (#9900)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 66b175a3c8c0bfb339a4101baed3882ba8b22097)
2023-09-04 12:15:45 -04:00
Weblate (bot)
cdc65b5bd6 Translations update from Hosted Weblate (#9860)
Weblate translations

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/es_419/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/he/
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/ne/
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/sv/
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: Alessandro Jean <14254807+alessandrojean@users.noreply.github.com>
Co-authored-by: Ali Aljishi <ahj696@hotmail.com>
Co-authored-by: Astrid <github@astrid.exposed>
Co-authored-by: DarKCroX <DarKCroX@users.noreply.hosted.weblate.org>
Co-authored-by: DatTran MLL <tranthanhdat1142003@gmail.com>
Co-authored-by: Dexroneum <Rozhenkov69@gmail.com>
Co-authored-by: FateXBlood <zecrofelix@gmail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: ID-86 <id86dev@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: Pitpe11 <giorgos2550@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: bapeey <luisrleccar@hotmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: rzvsrh <rzvsrh333@gmail.com>
Co-authored-by: stevenlele <stevenlele@outlook.com>
(cherry picked from commit 3cd3f45c8a47790edb3dd687942dd1539efe27c7)
2023-09-04 12:15:38 -04:00
Ivan Iskandar
32b97eb206 "Updates" widget for Galaxy Z Flip5 cover screen (#9892)
(cherry picked from commit 816d7815e94f8b1286e17b1459c3a01a9aba7369)
2023-09-04 12:15:26 -04:00
arkon
d8158af43a Switch to different ktlint plugin
Should be better at incremental builds.
To format, run `./gradlew ktlintFormat`.

(cherry picked from commit d29b7c4e5735dc137d578d3bcb3da1f0a02573e8)

# Conflicts:
#	buildSrc/src/main/kotlin/tachiyomi.lint.gradle.kts
#	data/src/main/java/tachiyomi/data/manga/MangaMapper.kt
#	domain/src/main/java/tachiyomi/domain/library/model/LibrarySortMode.kt
#	domain/src/main/java/tachiyomi/domain/library/service/LibraryPreferences.kt
#	domain/src/main/java/tachiyomi/domain/release/interactor/GetApplicationRelease.kt
#	presentation-core/src/main/java/tachiyomi/presentation/core/components/CollapsibleBox.kt
2023-09-04 12:15:09 -04:00
arkon
e0a16abb37 Bump dependencies
(cherry picked from commit 772db515934b79ef407b4213087c15035588d9ad)

# Conflicts:
#	gradle/libs.versions.toml
2023-09-04 11:58:32 -04:00
arkon
511979045f Limit amount of updates loaded for widget
Probably fixes #9868

(cherry picked from commit 87530f506e16db3d5c9ed89740c324ebd464117f)

# Conflicts:
#	domain/src/main/java/tachiyomi/domain/updates/interactor/GetUpdates.kt
2023-09-04 11:57:28 -04:00
arkon
e776d455f5 Refactor some tracking-related logic
(cherry picked from commit 98d6ce2eaf2c1e85f4763dd37303155d1fc6690d)

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

# Conflicts:
#	app/src/main/java/eu/kanade/domain/track/interactor/TrackChapter.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt
2023-09-04 11:35:19 -04:00
arkon
270ff9064a Add more user-friendly network-related exception messages
(cherry picked from commit 6922792ad110ce9194aa963674bbf2c5c1351ea1)
2023-09-03 23:36:28 -04:00
Mekanik
bef7a42da5 Make some error messages localizable (#9811)
* Make error message of 3 exceptions localizable.

* Revert unnecessary file handle exception change.

(cherry picked from commit 8f395d98e7be976263d2ee9b7559c2638d57b47e)
2023-09-03 23:36:09 -04:00
arkon
d098abc7e1 Use default non-final resource IDs behavior
(cherry picked from commit f32243899df8ac7d903defae2060db9c484a5193)
2023-09-03 23:33:13 -04:00
arkon
baa8658183 Remove unused rxandroid dependency
(cherry picked from commit 13dc54df707623c914cd7cda2f2f781515f92eb3)
2023-09-03 23:32:59 -04:00
arkon
347f98b392 Add ResolvableSource interface for potentially opening entries directly based on some URI via a share intent
Implemented as an intermediate step in the existing Global Search share intent workflow.
If any source manages to resolve the URI (e.g., a URL, a slug, etc.), the resolved SManga entry
is directly opened. If nothing gets resolved, continue to a Global Search.

(cherry picked from commit 6d9a8a30e974574b8d92ba478333e6f62b0de2e2)
2023-09-03 23:32:42 -04:00
arkon
1786b43378 Revert Compose upgrade
Caused weird rendering issues in MangaScreen

(cherry picked from commit 2bf263e30157e4c5ec39aadf16d08738326c2ac9)
2023-09-03 23:31:40 -04:00
arkon
72e1e3bda6 Better ignore irrelevant files when indexing downloads
(cherry picked from commit c06beac6601f583965656602023c839de7ade998)
2023-09-03 23:30:22 -04:00
arkon
105a971a4c Don't run automatic backup or library update jobs if battery is low
(cherry picked from commit 74f74eef56ce83b52cd7969f705e370c7977af87)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt
2023-09-03 23:30:10 -04:00
arkon
8f07b7ab5b Bump dependencies
(cherry picked from commit 3aafec482c05495a4cfa34e278de78adf69e2445)
2023-09-03 23:05:53 -04:00
Alessandro Jean
5661ee3ea5 Replace mentions with links to profiles in the release information (#9859)
Replace mentions with links in the release information.

(cherry picked from commit ed80ac3154625d52238ef3cbc295044fadb8ed70)
2023-09-03 23:05:38 -04:00
Alessandro Jean
3b31442a8f Only set the dialog title if not already set in the extension (#9858)
Only set the dialog title if not already set in the extension.

(cherry picked from commit eeeaae4570833e9b94e8fbef13bb5055f518c38f)
2023-09-03 23:05:21 -04:00
arkon
3df6435f4b Add documentation for HttpException
Corresponds with https://github.com/tachiyomiorg/extensions-lib/pull/12

(cherry picked from commit d1c956401cfc8c0dcce68a2134ae97927ac2c678)
2023-09-03 23:05:12 -04:00
arkon
5d1f33af3c Upgrade to Gradle 8.3
(cherry picked from commit 1be7949275a11549883c89b32e2e56c1002cb8d1)
2023-09-03 23:05:02 -04:00
Weblate (bot)
0dde8fd59f Translations update from Hosted Weblate (#9808)
Weblate translations

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/eu/
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/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/ne/
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/sa/
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/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: 2227975312 <2227975312@qq.com>
Co-authored-by: Alessandro Jean <14254807+alessandrojean@users.noreply.github.com>
Co-authored-by: Ali Aljishi <ahj696@hotmail.com>
Co-authored-by: Astrid <github@astrid.exposed>
Co-authored-by: Bashmak <mrwho.vz@gmail.com>
Co-authored-by: C201 <derasetad@gmail.com>
Co-authored-by: Dan <jonweblin2205@protonmail.com>
Co-authored-by: Dexroneum <Rozhenkov69@gmail.com>
Co-authored-by: Eduard Ereza Martínez <eduard@ereza.cat>
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: ID-86 <id86dev@gmail.com>
Co-authored-by: InfinityDouki56 <ced.paltep10@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: Milo Ivir <mail@milotype.de>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Reza Almanda <rezaalmanda27@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: altinat <altinat@duck.com>
Co-authored-by: arkon <eugcheung94@gmail.com>
Co-authored-by: f0roots <f0rootss@gmail.com>
Co-authored-by: torchlight <sima142222@gmail.com>
Co-authored-by: xconkhi9x <bighih2@gmail.com>
(cherry picked from commit 5572b28d017631ded23f95cbd5842d90ca50af04)
2023-09-03 23:04:52 -04:00
arkon
42c404a0cc Minor cleanup
(cherry picked from commit 4e68b628811dee26a5aba023183af619df5c3e99)
2023-09-03 23:04:38 -04:00
arkon
93364cf589 Upgrade to AGP 8.1.0
(cherry picked from commit 4e31e6a2faf40ac2833607979afe4999d3d82c8a)

# Conflicts:
#	gradle.properties
2023-09-03 23:04:28 -04:00
arkon
e9958b3ea7 Bump dependencies
(cherry picked from commit bc692ebfc6e9a6af9f8f5411452497e5edc4bdea)

# Conflicts:
#	gradle/compose.versions.toml
2023-09-03 23:03:55 -04:00
Jobobby04
119d3ef56e Revert "Update Compose"
This reverts commit 4b4e432ef6416f964a4344ebea4034d65fa6401a.
2023-08-13 15:11:07 -04:00
Jobobby04
28f7e03cab Fix updates query 2023-08-13 15:07:14 -04:00
Jobobby04
4743276b20 Update baseline profile 2023-08-13 14:31:05 -04:00
Jobobby04
b717c14cdc Fix tag borders 2023-08-13 12:56:33 -04:00
Jobobby04
e7db248f36 Hide cleanup downloaded chapters for now 2023-08-13 12:43:06 -04:00
Alessandro Jean
a74ecd5c41 Make source ID generation function reusable to extensions (#9836)
* Make source ID generation function reusable to extensions.

* Add parameters and return documentation.

(cherry picked from commit 3411ac40c014c0b95a105b00f87432e0ea77ff14)
2023-08-13 12:27:00 -04:00
arkon
13b2da80ac Set tracker finished date when manually updating to last chapter
Closes #9834
Individual tracker implementations already handle setting it too on update.

(cherry picked from commit 8a6a104987738c7251097f172d24aa7235a86e96)
2023-08-13 12:26:43 -04:00
arkon
4b4e432ef6 Update Compose
Also remove workaround for preventing keyboard showing up for SelectItems.

(cherry picked from commit efa7a3a167219e9e23ee9b29d9cabe3ca8eb088a)
2023-08-13 12:26:31 -04:00
arkon
8aed8fa741 Bump dependencies
(cherry picked from commit 67bc81ebde511cdecdbad4be4e8b3e03350462e8)
2023-08-13 12:21:13 -04:00
arkon
ea6e0097c1 Clean up SetFetchIntervalTest
(cherry picked from commit 0a3ce8ebe45d7615311f2f99b8e59ea8490411d4)
2023-08-13 12:20:59 -04:00
arkon
71e0a02003 Minor reader cleanup
(cherry picked from commit 3ebf39bd55cffbf5dc4bfe1c39e91aa22fa93777)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
#	app/src/main/res/values/arrays.xml
2023-08-13 12:20:49 -04:00
Mekanik
fa80257af8 Fix missing inversion in tap zones help overlay. (#9812)
(cherry picked from commit 26b3eb696c95b6363176e77effdd38089af5c19e)
2023-08-13 12:07:34 -04:00
Ivan Iskandar
632ac0ebb2 Add private extension install method (#9710)
* Add private extension install method

Private extensions are put inside private data directory of the running app, so
this kind of extensions can only be used by the running app and not shared with
other apps.

One limitation of private extension is the lack of deeplink handlers (if there's
any) since the extension APK is not installed to the system.

When both kinds of extensions are installed with a same package name, shared
extension (the one installed to the system) will be used unless the version
codes are different. In that case the one with higher version code will be used.

* update

(cherry picked from commit 627f07408e0fe62ab89dcd8881275141591b328d)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/extension/model/Extension.kt
2023-08-13 12:07:25 -04:00
arkon
b1f17b0d49 Bump dependencies
(cherry picked from commit 7146913c7184819417d86e6cd83aaab85bd6a798)
2023-08-13 12:06:15 -04:00
arkon
39e82ba873 Consider local manga as downloaded when filtering in reader
Fixes #9801

(cherry picked from commit 39c6bcccd8e4e687c0864b212437a387e69cf2f3)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/util/chapter/ChapterFilterDownloaded.kt
2023-08-13 12:06:00 -04:00
Weblate (bot)
348eb95d1b Translations update from Hosted Weblate (#9775)
Weblate translations

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/es/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fil/
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/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/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: Alessandro Jean <14254807+alessandrojean@users.noreply.github.com>
Co-authored-by: Dexroneum <Rozhenkov69@gmail.com>
Co-authored-by: FateXBlood <zecrofelix@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: Jendrej <ejjendrej@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: Reza Almanda <rezaalmanda27@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: Uzuki Shimamura <hzy980512@126.com>
Co-authored-by: Vetle Ledaal <vetle.ledaal@gmail.com>
Co-authored-by: abc0922001 <abc0922001@hotmail.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 cb4b8ac0dc35cb11044786737a9bf2ae86ce2430)
2023-08-13 12:05:05 -04:00
Ivan Iskandar
ac5569929d ReaderViewModel: Fix saved state (#9807)
Also save page index

(cherry picked from commit af0fdfa3b7e859db54154473a8cd4c7b50121ca7)
2023-08-13 12:04:36 -04:00
Quang Kieu
9e7748c84b [Hotfix] Fix bug of not fetch update if manual library refresh as fetch period have lower limit (#9806)
Fix bug of not fetch update if manual library refresh, no auto

If somehow manga missed check period, we would not give new next update cycle and it would forever left behind

(cherry picked from commit d874f20362217bf1752b16f513143f1f83972f69)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt
2023-08-13 12:04:26 -04:00
Jobobby04
c20ea36f50 Fix double page mark as read 2023-08-13 12:03:27 -04:00
arkon
ebb690cbe7 Migrate bottom reader menu to Compose
(cherry picked from commit 8680accd8e6f458a662dd5454bbcdcde482ce0a7)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
#	app/src/main/res/layout/reader_activity.xml
2023-08-13 11:58:35 -04:00
arkon
eb8685fa7e Migrate reader shortcut menus to Compose
Contents' UIs should probably be improved, but that can happen separately.

(cherry picked from commit 73080902885c9d219f5534002ccf5d16a07a678f)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt
2023-08-12 16:50:46 -04:00
arkon
095c5f829e Remove unnecessary profileable flag in manifest
(cherry picked from commit 400ca48456c3aad6572aaa1893ba11466bbad6f5)

# Conflicts:
#	app/src/main/baseline-prof.txt
2023-08-12 16:47:46 -04:00
Alessandro Jean
abca69a078 Add support to kotlin.time APIs in the rate limit interceptor (#9797)
* Add support to kotlin.time APIs in the rate limit interceptor.

* Add a missing line break in the doc.

* Move the specific host to the same file.

* Add kotlin.time rule to Proguard and remove specific host rule.

* Mark the old version as deprecated and address review.

* Remove unused import.

* Remove yet another unused import.

(cherry picked from commit 9b6567f5e4bfa4b8a4845400216551fd28545094)
2023-08-12 16:47:11 -04:00
arkon
c9a38ea872 Drop support for extension-lib 1.3
(cherry picked from commit 7798186c32d4ce9353dfd59b9d63ee092fec4768)
2023-08-12 16:47:00 -04:00
arkon
95c8ae8cad Combine tracking OAuth login activities
(cherry picked from commit 9dc66c7c8d6280afecc01e64ca24a3899a36105e)
2023-08-12 16:46:31 -04:00
arkon
c67580ed83 Dismiss extension update notification if all updates installed
(cherry picked from commit 10b0ef9b6dbe94b80e9cfcaf244883a99b42737f)
2023-08-12 16:46:20 -04:00
arkon
50f59befb4 More refactoring of expected next update logic
(cherry picked from commit 81cd765543bbb5901e11a12921adaea99c51810c)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsLibraryScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
2023-08-12 16:46:05 -04:00
arkon
83aed3d322 Refactor some Screens to be classes
Not really much point in keeping these as singletons.
Hopefully allows for these to be GC-ed after closing them.

(cherry picked from commit c9a1bd86b58ce4a41bfc0eeb527cac9d30802353)
2023-08-12 16:40:01 -04:00
Alessandro Jean
e0176261ed Show ellipsis in longer OSS library names (#9780)
Show ellipsis in longer OSS library names.

(cherry picked from commit dfbbbadfacc63b2555353a266df596d1230b3553)
2023-08-12 16:39:54 -04:00
arkon
c682308927 Minor cleanup
(cherry picked from commit 0f21d16263b1532953dea61ce1169e0e2a403569)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsLibraryScreen.kt
2023-08-12 16:39:42 -04:00
arkon
589dddcc4a Update benchmarking dependencies
(cherry picked from commit 5718983f417f1fe3eec9b484951e3277ac241370)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/baseline-prof.txt
#	gradle/androidx.versions.toml
#	macrobenchmark/src/main/java/tachiyomi/macrobenchmark/BaselineProfileGenerator.kt
2023-08-12 16:38:32 -04:00
arkon
1213264951 Fix unit tests
(cherry picked from commit 59f7d2273f7be0a03c0a685f4db13b3ab98119c3)
2023-08-12 15:48:51 -04:00
arkon
873742f6f4 Remove need for SQLDelight primitive adapters
(cherry picked from commit cd91ea9b7723eec378bbbefd916d3da6407d685e)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/tachiyomi/AppModule.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupManager.kt
#	data/src/main/java/tachiyomi/data/manga/MangaRepositoryImpl.kt
#	domain/src/main/java/tachiyomi/domain/history/model/HistoryWithRelations.kt
2023-08-12 15:48:39 -04:00
arkon
af41e65b3d Upgrade to SQLDelight 2
(cherry picked from commit 6a558ad119ff35336c2141deefc5da4b49cf4553)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/tachiyomi/AppModule.kt
#	data/src/main/java/tachiyomi/data/manga/MangaMapper.kt
#	data/src/main/java/tachiyomi/data/manga/MangaRepositoryImpl.kt
#	data/src/main/sqldelight/tachiyomi/data/mangas.sq
2023-08-12 15:28:23 -04:00
Hosted Weblate
bc898118b8 Weblate translations
Co-authored-by: Alessandro Jean <14254807+alessandrojean@users.noreply.github.com>
Co-authored-by: Ali Aljishi <ahj696@hotmail.com>
Co-authored-by: Dan <jonweblin2205@protonmail.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: FateXBlood <zecrofelix@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: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Muhammad Abdul Aziz Al-Ghofari <muhammadabdulazizalghofari@gmail.com>
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: Vetle Ledaal <vetle.ledaal@gmail.com>
Co-authored-by: abc0922001 <abc0922001@hotmail.com>
Co-authored-by: altinat <altinat@duck.com>
Co-authored-by: bapeey <luisrleccar@hotmail.com>
Co-authored-by: expertjun <jtrobin@naver.com>
Co-authored-by: hankskyjames777 <iamjuanz30312@gmail.com>
Co-authored-by: jinu147 <nesqea20@gmail.com>
Co-authored-by: orkan gökçe alaz aşina <examplehuman@outlook.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/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/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/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/pt_BR/
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
(cherry picked from commit f5936e9456803b91201437efda07431716f4ea07)
2023-08-12 14:58:13 -04:00
Weblate (bot)
ef1ddd6581 Translations update from Hosted Weblate (#9713)
Weblate translations

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/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/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/pt_BR/
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: Alessandro Jean <14254807+alessandrojean@users.noreply.github.com>
Co-authored-by: Ali Aljishi <ahj696@hotmail.com>
Co-authored-by: Dan <jonweblin2205@protonmail.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: FateXBlood <zecrofelix@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: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Muhammad Abdul Aziz Al-Ghofari <muhammadabdulazizalghofari@gmail.com>
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: Vetle Ledaal <vetle.ledaal@gmail.com>
Co-authored-by: abc0922001 <abc0922001@hotmail.com>
Co-authored-by: altinat <altinat@duck.com>
Co-authored-by: bapeey <luisrleccar@hotmail.com>
Co-authored-by: expertjun <jtrobin@naver.com>
Co-authored-by: hankskyjames777 <iamjuanz30312@gmail.com>
Co-authored-by: jinu147 <nesqea20@gmail.com>
Co-authored-by: orkan gökçe alaz aşina <examplehuman@outlook.com>
Co-authored-by: stevenlele <stevenlele@outlook.com>
(cherry picked from commit 9df351da0a2e2262d332d61bca296babd4e91bb8)
2023-08-12 14:57:33 -04:00
arkon
5de1bf0bdc Subscribe to download queue state changes in UpdatesScreen
(cherry picked from commit 90325d48aa85a3860e108ef85b50a24ace6e09c3)
2023-08-12 14:57:22 -04:00
stevenyomi
90e63363c2 Don't show future timestamps as Recently (#9773)
(cherry picked from commit e2abf283feb40ade318815e7359ae7c2b385562a)
2023-08-12 14:57:12 -04:00
arkon
8bf75e1d20 Avoid badly wrapped buttons in DuplicateMangaDialog
Fixes #9767

(cherry picked from commit db788d519de65fab1dd73f02cf05688714fbccb5)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateDialog.kt
2023-08-12 14:56:56 -04:00
arkon
3a2ae59860 Show feedback message when downloads index manually invalidated
Closes #9768

(cherry picked from commit f3e9d5f346d5151f373f7dde2da6d484e1f7ca57)
2023-08-12 14:56:26 -04:00
arkon
9760cb101d Avoid showing duplicate entry dialog for same entry
Fixes #9772

(cherry picked from commit fd30c0adcdfc0efc0aae9e5401843439f2622070)
2023-08-12 14:56:15 -04:00
arkon
cc297da44a Cleanup related to fetch interval display
(cherry picked from commit 3ad4f1114adc88189032e4face152db9ed89df55)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupRestorer.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
2023-08-12 14:56:04 -04:00
arkon
781ec229b7 Remove relative timestamps setting
(cherry picked from commit fe90546821092ce8916445ce515ba51404617d62)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt
#	app/src/main/java/eu/kanade/presentation/updates/UpdatesScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/updates/UpdatesScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/updates/UpdatesTab.kt
2023-08-12 14:49:02 -04:00
arkon
1abbda5f0b Minor cleanup
(cherry picked from commit 3892c4caac18c0203a3906545bc4cdd1687f0919)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAppearanceScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt
2023-08-12 14:47:41 -04:00
Quang Kieu
78e3330215 Update Manga in Expected Period (#5734)
* Add Predict Interval Test

* Get mangas next update and interval in library update

* Get next update and interval in backup restore

* Display and set intervals, nextUpdate in Manga Info

* Move logic function to MangeScreen and InfoHeader

Update per suggestion

---------

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

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/components/MangaDialogs.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupRestorer.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
2023-08-12 14:44:43 -04:00
arkon
e1b834072c Show help banner when Cloudflare captcha page is shown in WebView
(cherry picked from commit 6d69caf59e277a2185c1a851ffad8a00a4a93a30)
2023-08-12 14:30:10 -04:00
arkon
3d236419a2 Better handle saving animated drawables
(cherry picked from commit cdc1c5efa3b92a0fe43651cc043175f33397611b)
2023-08-12 14:29:15 -04:00
arkon
d5b665bccf Don't attempt to show non-bitmap image in notification when saving
Fixes #9758

(cherry picked from commit 77bfd0c0999573315af7d29268e69e918bbfb009)
2023-08-12 14:29:06 -04:00
arkon
12b2d368ab Allow more flexible custom preference composables
(cherry picked from commit 8ff0c9d61a1d5b1cc08a3615ef4bfa3d1f04a5d2)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/PreferenceItem.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/PreferenceModel.kt
2023-08-12 14:28:55 -04:00
arkon
2e9c265a45 Bump dependencies
(cherry picked from commit b6620434b3e1899dfd789594b8ca9dcddc43902f)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceFilterDialog.kt
2023-08-12 14:12:52 -04:00
arkon
ae8b478f51 Minor cleanup
(cherry picked from commit abae9bf37dea6bfb351c8b93fe00998c053dba34)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/SourcesScreen.kt
#	app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/manga/MigrateMangaScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateSearchScreenDialogScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/sources/MigrateSourceTab.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesFilterScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/updates/UpdatesScreenModel.kt
#	domain/src/main/java/tachiyomi/domain/category/interactor/CreateCategoryWithName.kt
2023-08-12 14:12:07 -04:00
arkon
984bc0b94c Refactor duplicate chapter number formatters
(cherry picked from commit 2556e9f08c768c02a581b5c147d7ea476ff42889)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
2023-08-12 13:55:19 -04:00
renovate[bot]
71c16e1da1 Update richtext to v0.17.0 (#9748)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 7aa172c5124c398bc3232ae4f32bbdd2fca162e1)
2023-08-12 13:53:53 -04:00
renovate[bot]
c2a23f0bc4 Update dependency org.junit.jupiter:junit-jupiter to v5.10.0 (#9749)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 81cf232bcb633a80a253d78d88ed3a1a7c4e1b0c)
2023-08-12 13:53:45 -04:00
Jobobby04
2485d70d69 Fix build 2023-08-12 13:53:33 -04:00
arkon
ccf4b90bff Remove some uses of color resources
(cherry picked from commit ee26d6dffd8c77115683ea242c3ab729c70f7ea6)

# Conflicts:
#	app/src/main/res/drawable/ic_tachi.xml
#	presentation-core/src/main/res/values/colors.xml
2023-08-12 13:53:17 -04:00
KaiserBh
f0777ac2f7 Refactor backup and restore to support cross device sync. (#9699)
* refactor: backup and restore to support cross device sync.

* chore: Updated string resources

* refactor: change function name.

* refactor: Use URI SyncHolder.kt not needed anymore.

(cherry picked from commit 7b2764e8f70ff4564fb744f48c1c53692f55f289)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupRestorer.kt
2023-08-12 13:36:24 -04:00
arkon
dd60d31b5f Use previously updated track item when binding start date
Fixes #9743

(cherry picked from commit 46e3b9e40d43b12241ad0cd0ec8fef51cf93d350)
2023-08-12 13:35:04 -04:00
arkon
a447b011d0 Clean up preference extensions/items a bit
(cherry picked from commit cf14831fbe6d3b6b07d0fe185194d27d6ac6ae17)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/PreferenceItem.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt
#	app/src/main/java/eu/kanade/presentation/reader/settings/GeneralSettingsPage.kt
#	app/src/main/java/eu/kanade/presentation/reader/settings/ReadingModePage.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibrarySettingsScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/HttpPageLoader.kt
2023-08-12 13:34:39 -04:00
arkon
e9b15ce4a4 Avoid triggering new search for same query in global search
(cherry picked from commit 7a4680603db7d80cd8a52ce83e7a8e2eef317d29)
2023-08-12 13:21:04 -04:00
arkon
3d6fc7b713 Bump dependencies
(cherry picked from commit 99f12b1fbf950596a5ba13b78fd856bbac5082ad)

# Conflicts:
#	gradle/libs.versions.toml
2023-08-12 13:20:53 -04:00
Ivan Iskandar
43ce2f0daf Don't require deeplink ext target to be pinned (#9740)
(cherry picked from commit 5c73045aa48e5c6866f392d317283c2db6f8cd75)
2023-08-12 13:20:18 -04:00
arkon
db2cf166b7 Bump dependencies
(cherry picked from commit ac306547a0ccd28f45882cba8e3b0138f6d6aedc)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt
#	domain/src/main/java/tachiyomi/domain/category/interactor/CreateCategoryWithName.kt
#	gradle/libs.versions.toml
2023-08-12 13:19:48 -04:00
arkon
c061aabfc6 Use correct sources when triggering new global search
Actually fixes #9724

(cherry picked from commit 3f868c0435009f6c36fe4e91f93c5480e8486685)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateSearchScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/globalsearch/SearchScreenModel.kt
2023-08-12 13:02:11 -04:00
arkon
18b2d575c5 Increase max lines for title in global search to 3
Closes #9729

(cherry picked from commit 262ce3473fb35d31bb8fe9defe069a2111a17438)
2023-08-12 12:59:06 -04:00
arkon
b97a75b763 Remove fast scrollbar from some unnecessary places
(cherry picked from commit 43b9b104f5a1a35adc830117d1a2d9966c880887)
2023-08-12 12:58:57 -04:00
arkon
f6f00cf351 Trigger new search on source filter change
Fixes #9724
Could be cleaned more though.

(cherry picked from commit c7f0a54a375380a8b6bd100c712acb2e01c11ac3)
2023-08-12 12:58:45 -04:00
arkon
7b763712f5 Dedupe SearchScreenModels
(cherry picked from commit ca789dca0ee5d24f9fc363be8daaf170f04054a9)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateSearchScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateSearchScreenModel.kt
2023-08-12 12:58:28 -04:00
arkon
2a5c869b1a Minor refactoring
(cherry picked from commit ef7b285151f83b8ef679786417b82ca3227dab35)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupConst.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/cache/ChapterCache.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/MigrateSearchScreenModel.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
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/globalsearch/GlobalSearchScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/globalsearch/SearchScreenModel.kt
2023-08-12 12:51:34 -04:00
arkon
996d47e094 Replicate global search filters to migrate screen
Still needs better refactoring to dedupe all of this stuff though...

(cherry picked from commit dd3ca0c131f4251302e0852265893f68c142f6a4)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateSearchScreenModel.kt
2023-08-12 12:26:24 -04:00
arkon
522b1aea21 Dedupe Global/MigrateSearchContent composables
(cherry picked from commit 8b46e8edad90a60dcc2ecb8f331c2d1674595ff6)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateSearchScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/globalsearch/SearchScreenModel.kt
2023-08-12 12:23:53 -04:00
arkon
01e0c3c040 Use consistent extension icon URLs
Better caching between versions.

(cherry picked from commit 30f845139d76762798e2cdec7804a38806c3eeca)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/extension/api/ExtensionGithubApi.kt
2023-08-12 12:21:44 -04:00
arkon
1da31e622f Set start date when tracker is bound if any chapters are already read
Closes #6734

(cherry picked from commit 818471b7e137a15dce48352f686db24b117414ea)
2023-08-12 12:20:28 -04:00
arkon
d95d4a87cd Constrain reader sheet to max 75% of height
(cherry picked from commit a3a3f44056fbcacd3a9b7e68bf7643099d18f0bf)
2023-08-12 12:20:19 -04:00
arkon
1fa687f7ac Replace reader sheet dropdowns with chips
(cherry picked from commit 22c6dbda3f55d864665228b43954b8decb5dda1f)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/LibrarySettingsDialog.kt
#	app/src/main/java/eu/kanade/presentation/reader/settings/ReadingModePage.kt
2023-08-12 12:20:07 -04:00
arkon
9a9675c16b Use Material3 chips
(cherry picked from commit 34f7caa0fc4a0d9b4fcc4dfd69dc9cb52f11bf38)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/components/MangaInfoHeader.kt
2023-08-12 12:15:44 -04:00
Jobobby04
d6d5703e39 Stop merging onto itself 2023-08-12 12:08:59 -04:00
arkon
198955fd5d Don't update chapter progress if current page is errored
Closes #5355

(cherry picked from commit 01553b1ed8aaf01c96908356d7d384457d4227d9)
2023-08-12 12:08:38 -04:00
renovate[bot]
5e08f16fc2 Update dependency gradle to v8.2.1 (#9723)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit a24afa9a7676354f2e26a67a366397c3cadb274a)
2023-08-12 12:08:28 -04:00
Jobobby04
56219fcd1f Minor cleanup 2023-07-21 22:24:13 -04:00
Jobobby04
2ac4966c5d Fix issue with loading library after restoring backups 2023-07-21 22:24:01 -04:00
Jobobby04
9c34323c9d Merged manga play button fix 2023-07-21 22:18:00 -04:00
Jobobby04
70bbede29e Fix fresh database installs 2023-07-19 22:02:06 -04:00
AntsyLich
26dfe4d07d Finish up reader reading mode settings compose migration (#9721)
(cherry picked from commit ec08ba05fcc6cb2c77ae64016b9eafc2125733ba)
2023-07-15 20:26:07 -04:00
arkon
c93edec2fa Replace library sheet display modes with FlowRow of Chips
(cherry picked from commit 30bea8b753fbc40b1c889bdc180cb99f643f89e8)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/LibrarySettingsDialog.kt
2023-07-15 20:09:26 -04:00
arkon
8b090bca49 Replace some reader sheet settings with FlowRow of Chips
(cherry picked from commit 09e4b5a9cd753a7a3a64fa8d3a868ac68dfa767f)
2023-07-15 20:08:54 -04:00
arkon
917434a838 Fix window undimming when reader custom filter settings are open
(cherry picked from commit 5467104b955fc854285f22f9be56083a1d503144)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
#	core/src/main/java/eu/kanade/tachiyomi/network/NetworkHelper.kt
2023-07-15 20:08:24 -04:00
arkon
8062cb8f6f Clean up NetworkHelper
(cherry picked from commit e0733c1a4cef28cf413ca79597ba5ad739b5328a)

# Conflicts:
#	core/src/main/java/eu/kanade/tachiyomi/network/NetworkHelper.kt
2023-07-15 20:06:37 -04:00
arkon
ef343107fe Use segmented buttons for reader background setting in sheet
(cherry picked from commit 1cf7f9be54fda2385953f7b2dd91191bc01b21ba)
2023-07-15 19:58:24 -04:00
arkon
deb8fe183c Implement showing selected per-series reader settings
(cherry picked from commit fb99577836955bde8d13d79492a20d835cf288c0)
2023-07-15 19:58:11 -04:00
arkon
b5681f0051 Remove legacy settings sheet
The per-series settings aren't quite functional yet, but they're also
accessible outside of the sheet.

(cherry picked from commit 28131ac1357e1134d75c02e2a3bb5e3161a3ecfe)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/reader/settings/ReadingModePage.kt
#	app/src/main/res/layout/reader_activity.xml
#	app/src/main/res/values/attrs.xml
#	app/src/main/res/values/themes.xml
2023-07-15 19:57:59 -04:00
Jobobby04
cd4c217a7f Use a compose Adaptive Sheet for pre-migration sheet 2023-07-15 19:53:14 -04:00
Jobobby04
c8c9e79a3e Fix compile 2023-07-15 19:25:23 -04:00
arkon
07d0ceb140 Move all pager/webtoon reader setting to Compose sheet
(cherry picked from commit e40b8d537c2727a9867fedf8971afd01237a661f)

# 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
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReaderSettingsSheet.kt
#	app/src/main/res/layout/reader_pager_settings.xml
2023-07-15 19:25:07 -04:00
arkon
efb0d003f8 Tweak global search source filtering
Pinned only setting is removed in favor of the UI in the global search screen itself, which defaults to pinned only.
This needs more UX improvements, but I'm not really sure what it should be like right now.

(cherry picked from commit 12e7ee9d0caaa56d551908d179788fa637768397)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateSearchScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/globalsearch/GlobalSearchScreenModel.kt
2023-07-15 19:05:59 -04:00
arkon
bb4bf27db0 Mark some state data classes as immutable
(cherry picked from commit 54733e6ceb541d314687f46f5a01cf2f08dec89e)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt
2023-07-15 19:04:18 -04:00
arkon
c8d2646a34 Handle Cloudflare in default network client and deprecate cloudflareClient
(cherry picked from commit 22e8050fff273a189d2fdfae6e66ec622f04f1dd)

# Conflicts:
#	core/src/main/java/eu/kanade/tachiyomi/network/NetworkHelper.kt
2023-07-15 19:03:39 -04:00
arkon
28001588b6 Address some build warnings
(cherry picked from commit a629db2884c19a0910eacfe0bc5bde33e838e15b)
2023-07-15 19:02:13 -04:00
zaghdaneh
56f05a55e4 Add filters to Global search (#9691)
* add pinned and available filter chips to global search

* split filter predicate into seperate function

* change the global search available filter to has Results

* reordering of imports

(cherry picked from commit cbcec8c4d9d6f08ecb6ab50eff9aa51d4a3728a0)
2023-07-15 19:02:04 -04:00
arkon
05a4376636 Remove bad translations
(cherry picked from commit 2f05f7b91fdc783d0691a9a1fd9dcddb0ac61cc0)
2023-07-15 19:01:56 -04:00
Weblate (bot)
1503b2ef79 Translations update from Hosted Weblate (#9684)
Weblate translations

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/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/mr/
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/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: Aditya Kadam <akxyz911@gmail.com>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: Ali Aljishi <ahj696@hotmail.com>
Co-authored-by: Clxff H3r4ld0 <123844876+clxf12@users.noreply.github.com>
Co-authored-by: Dan <jonweblin2205@protonmail.com>
Co-authored-by: DarKCroX <DarKCroX@users.noreply.hosted.weblate.org>
Co-authored-by: DevByte <yeiser192@gmail.com>
Co-authored-by: Dexroneum <Rozhenkov69@gmail.com>
Co-authored-by: Eduard Ereza Martínez <eduard@ereza.cat>
Co-authored-by: Eric SHI <eric@ericshi.com>
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: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: abc0922001 <abc0922001@hotmail.com>
Co-authored-by: bapeey <luisrleccar@hotmail.com>
Co-authored-by: jinu147 <nesqea20@gmail.com>
Co-authored-by: poonkje <aaron.knoop@live.nl>
Co-authored-by: stevenlele <stevenlele@outlook.com>
(cherry picked from commit a3a9699e8a6b8446ef155913811489c720d27925)
2023-07-15 19:01:48 -04:00
arkon
4a4c7f9003 Prevent keyboard when using SelectItem in filters
Closes #9703

(cherry picked from commit f01a312c235e23eac4d02c7a5f701a42e72069b1)
2023-07-15 19:01:26 -04:00
zaghdaneh
ba8ac27c70 Fix to multiple chapter download incorrect state (#9707)
add subscription to download manager queue state flow

(cherry picked from commit 0fffde50fffd6a774a64634bb60ad0e08f469719)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
2023-07-15 19:01:17 -04:00
arkon
d2bd0055e0 Use system APIs to localize percentage numbers
(cherry picked from commit 8775596a822e8de217a07ed82d1ac49e552607d1)
2023-07-15 19:00:32 -04:00
arkon
0877853ea9 Move boolean reading mode prefs to Compose sheet
Also allow webtoon side padding to be any amount between 0 - 25%.

(cherry picked from commit 2f0133986a60fbd4218e32fce19df6171bad4e71)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReaderSettingsSheet.kt
#	app/src/main/res/layout/reader_pager_settings.xml
#	app/src/main/res/layout/reader_webtoon_settings.xml
2023-07-15 19:00:21 -04:00
AntsyLich
66f298e1ab Change the wording to "Retry" when page fails to load. (#9701)
(cherry picked from commit 3bd2cad45f028cb0c9b4492049d8b7b2a222cc79)
2023-07-15 18:48:26 -04:00
AntsyLich
2732961f31 Actually retry when a page fails to load in Browse screen (#9700)
(cherry picked from commit 48f7a2de41ed8d107967618f44ccf4eafe58dd5c)
2023-07-15 18:48:16 -04:00
arkon
9455051a67 Fix swipe action preference labels
(cherry picked from commit 3aa6e7ae0e83a93e5c17b7b1f6afd149fbffd67f)
2023-07-15 18:48:04 -04:00
Jobobby04
e7f48aa73f Fixed compile 2023-07-15 18:47:57 -04:00
arkon
4d346ee8d9 Remove unused tabbed sheet layouts/classes
(cherry picked from commit 813d7e49cd8f8811d38c16781b706d866584f96a)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReaderReadingModeSettings.kt
2023-07-15 18:47:36 -04:00
arkon
23ad8d13c9 Initial migration of general reader settings to Compose
(cherry picked from commit 710ebfb7a5e3b57a59103a50da462be1259f0d3b)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReaderGeneralSettings.kt
#	app/src/main/res/layout/reader_activity.xml
#	app/src/main/res/layout/reader_general_settings.xml
2023-07-15 18:32:46 -04:00
arkon
662609cd20 Move SettingsItems composables to presentation-core
(cherry picked from commit 87bdee59908c73f340c892e43b522727e07b33d2)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/LibrarySettingsDialog.kt
#	app/src/main/java/eu/kanade/presentation/manga/ChapterSettingsDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceFilterDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
#	domain/src/main/java/tachiyomi/domain/library/service/LibraryPreferences.kt
#	domain/src/main/java/tachiyomi/domain/manga/model/Manga.kt
#	presentation-core/src/main/java/tachiyomi/presentation/core/components/SettingsItems.kt
2023-07-15 18:24:00 -04:00
arkon
16edec18f2 Refactor chapter tracking logic
Could probably call this if we ever make it update tracking on manually
marking chapters as read.

(cherry picked from commit efabe801be56476bf9ee536747f39ab8d486ca12)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt
2023-07-15 17:58:40 -04:00
Jobobby04
16944a6857 Fixed compile 2023-07-15 17:57:07 -04:00
arkon
a79a7541dc Set proper defaults for new table columns
(cherry picked from commit 9a817e49bed34e11e6b24b48d738d14583440fae)

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

* feat: create triggers, account for new installs.

* feat: update mappers to include the new field.

* feat: update backupManga and backupChapter.

Include the new fields to be backed up as well.

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

* feat: version bump.

* chore: revert and refactor.

* chore: forgot to lower case the field name.

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

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

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

* chore: remove redundant triggers.

* fix: build error, accidentally removed insert.

* fix: build error, accidentally removed insert.

* refactor: review pointer, make fields not null.

(cherry picked from commit a577f5534f31086174b1cc851d8b489d69f557e8)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupManga.kt
#	data/src/main/java/tachiyomi/data/manga/MangaMapper.kt
#	data/src/main/sqldelight/tachiyomi/data/mangas.sq
#	data/src/main/sqldelight/tachiyomi/migrations/25.sqm
#	domain/src/main/java/tachiyomi/domain/manga/model/Manga.kt
2023-07-15 17:55:20 -04:00
renovate[bot]
bf4464deac Update aboutlib.version to v10.8.2 (#9689)
Update dependency com.mikepenz.aboutlibraries.plugin:aboutlibraries-plugin to v10.8.2

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit d0f52ea93de86ff136ecd92895da45d0134fd3c7)
2023-07-15 17:40:13 -04:00
arkon
756901455d Bump dependencies
(cherry picked from commit 6063efd101f6a79e4404fffbd9a63a1d1c72de78)
2023-07-15 17:39:59 -04:00
Ivan Iskandar
f7299c0c6e Remove scrollable animation workaround (#9690)
Reverts ba93060e591fccf3c85995b50f496bc937ae8ae4
Related https://android-review.googlesource.com/c/platform/frameworks/support/+/2239762

(cherry picked from commit 0759936226ca3fbc09be17d8bc779ffa1beb676d)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceList.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsMainScreen.kt
2023-07-15 17:39:09 -04:00
arkon
05a88dd6de Handle chapter read status in correct order
Fixes #9687

(cherry picked from commit 1e3d9a00f2366919430a8077ad79808c8514d793)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt
2023-07-15 17:35:12 -04:00
renovate[bot]
9a90a00651 Update aboutlib.version to v10.8.1 (#9685)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 7c62453280e775809031744518d4a22201237f5d)
2023-07-15 17:34:31 -04:00
arkon
9bacd14f4d Refactor reader progress/history logic
(cherry picked from commit 226272f686ccf4dea1cc4e81b0c305749d888231)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt
2023-07-15 17:34:23 -04:00
arkon
e1fc81cc66 Fix download ahead
Fixes #9669

(cherry picked from commit 16cbcecd99c24f87b087dc7d02b8ccc93f1f1251)
2023-07-15 17:22:21 -04:00
arkon
4916d4d367 Minor reorganization
(cherry picked from commit b008223661fe74cad382b1c89d4b66f7ec0baee4)
2023-07-15 17:21:49 -04:00
arkon
af5c4f8a61 Allow download ahead even if entry isn't favorited
(cherry picked from commit f8cf3db4a456462a80ecc252e8655f6b5c66c4d4)
2023-07-15 17:21:40 -04:00
arkon
8d300e3efd Tweak chapter swipe directions and icon color
(cherry picked from commit 8cc42bce5a37c256edbddd4a618787dfec9c2118)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt
2023-07-15 17:21:31 -04:00
Weblate (bot)
444fcc5c3c Translations update from Hosted Weblate (#9671)
Weblate translations

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/fil/
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/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/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@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: Efe Devirgen <efedevirgen@gmail.com>
Co-authored-by: FateXBlood <zecrofelix@gmail.com>
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: Nick Mariño <nickaidan19@gmail.com>
Co-authored-by: Om Mishra <projectrexaofficial@gmail.com>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: stevenlele <stevenlele@outlook.com>
(cherry picked from commit 67c6dbea0d25e82a38a501fa5d1366d1a64804cc)
2023-07-15 17:20:37 -04:00
arkon
d53c1d3aba Upgrade Okio
(cherry picked from commit db3343757770f8008151607f6731775b348cd6b7)
2023-07-15 17:18:27 -04:00
Ivan Iskandar
51acb2ad9f MangaChapterListItem: Replace swipe action method (#9682)
Using swipe (the library) and added haptic feedback

(cherry picked from commit 8287c9d1935ac16980f9dd0ac4e0284775554a74)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/presentation/manga/components/MangaChapterListItem.kt
2023-07-15 17:18:17 -04:00
arkon
9ffb274bb8 Fix up icon direction when RTL
(cherry picked from commit d32409bd6e68a3d5e32a69eb1b3afbb407741a00)
2023-07-15 17:16:39 -04:00
arkon
647f6e7721 Adjust manga FAB to only say "Start" if there's no unread chapters in unfiltered list
Closes #9479

(cherry picked from commit cf3f2d0380e5ab70211e6aab3f45bc81da43fcf4)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt
2023-07-15 17:16:31 -04:00
arkon
e26360186a Change auto clear cache to occur on app launch instead
Fixes #9564

Avoids the issue of clearing the cache when the app is backgrounded despite being in the reader.
We could do a job on idle, but we'd still need to be careful around whether the reader is active,
so this is just simpler considering it's a separate activity.

(cherry picked from commit 53c6230afebe8e8cddca216f281fdec70e450a33)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
2023-07-15 17:15:53 -04:00
Semen
5a8f583c08 Add function to delete downloaded chapters when migrating manga (#9621)
add function to delete downloaded chapters when migrating manga and getFlagsFromPositions fix

(cherry picked from commit 4882896f4d65acabb82771699906b797b3de7662)

# Conflicts:
#	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
2023-07-15 17:14:52 -04:00
Jobobby04
eade3c372c Fix ExceptionInInitializerException 2023-07-15 17:09:04 -04:00
renovate[bot]
f003c95eab Update xml.serialization.version to v0.86.1 (#9674)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 4d67066de3c9dd77b6452c7bd67a2197a55aab6a)

# Conflicts:
#	gradle/kotlinx.versions.toml
2023-07-15 16:36:41 -04:00
arkon
7911e39fef Save reader progress on every page change
Fixes #9668
Could probably refactor this a bit more, but the reader view model stuff is a mess in general anyway.

(cherry picked from commit 6fe5e6e21bfaef2f03ecca3659e03835fc354602)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt
2023-07-15 16:36:12 -04:00
arkon
d67da8fd6f Configure external-files-path for files provider
Maybe fixes #9660. Why do Chinese companies insist on breaking things?

(cherry picked from commit 8c5496b53feeb06d2b74bf77feebe6788a84a7bb)
2023-07-15 16:34:41 -04:00
arkon
5176de0c55 Upgrade to Kotlin 1.8.22
(cherry picked from commit 235a587e427adca893a4cbfd483b2e712a667af8)

# Conflicts:
#	gradle/kotlinx.versions.toml
2023-07-15 16:34:34 -04:00
arkon
d8c3952790 Remove some dead code
(cherry picked from commit 3125d7870699ccca8371023c7cb1eb040a590a7e)
2023-07-15 16:33:52 -04:00
arkon
51752f497f Remove usage of savedInstanceState for storing reader menu visibility state
(cherry picked from commit bb8f3c63f1e5aade89ea3375c559c0e5dbef46ef)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerViewer.kt
2023-07-15 16:27:56 -04:00
Weblate (bot)
d2017081e2 Translations update from Hosted Weblate (#9617)
Weblate translations

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/eo/
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/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/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: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: Ali Aljishi <ahj696@hotmail.com>
Co-authored-by: Clxff H3r4ld0 <123844876+clxf12@users.noreply.github.com>
Co-authored-by: Dan <jonweblin2205@protonmail.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: FateXBlood <zecrofelix@gmail.com>
Co-authored-by: Flamm <robindevaux25@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: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Malê Mairu <kalog89639@anwarb.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Uzuki Shimamura <hzy980512@126.com>
Co-authored-by: altinat <altinat@duck.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: orkan gökçe alaz aşina <examplehuman@outlook.com>
Co-authored-by: stevenlele <stevenlele@outlook.com>
(cherry picked from commit 20faaaa908af4171e6a22b556ff130c475cdcb17)
2023-07-15 15:52:48 -04:00
arkon
d09bbe1db3 Fix crash when tapping reader in long strip mode before RecyclerView is created
(cherry picked from commit 44cc6f11c7be087042878f7e8850b4f4f5e318be)
2023-07-15 15:52:27 -04:00
arkon
cdd05c0996 Replace deprecated ProgressDialog
Fixes #8223

(cherry picked from commit bae391c2c16899f5f3c04b833b1d0eb12d6b94df)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt
2023-07-15 15:52:19 -04:00
arkon
0eee1f1c3b Accept third party cookies in WebView instances
May help with Cloudflare.

(cherry picked from commit 0ac5f3b93c9cd396f86c3989a1a77adcdae3ec12)
2023-07-15 15:47:38 -04:00
arkon
f81f995127 Address some deprecation warnings
(cherry picked from commit b79ef5dc79b12a3e47ea7c06bd16d2957422a8fd)
2023-07-15 15:47:28 -04:00
arkon
f1e6569cbe Bump dependencies
(cherry picked from commit 7d26ca046f250cab39edde9e26b6b6a0f3422949)
2023-07-15 15:47:18 -04:00
LagradOst
fe768f7036 Fixed scrolling on the background using long strip (#9654)
Update WebtoonFrame.kt

(cherry picked from commit d99f4697e892db70e765da9789f3ceba25aa7d46)
2023-07-15 15:46:59 -04:00
stevenyomi
ed64e296af Browse Source: clear search query when changing listing (#9652)
(cherry picked from commit bb3fdef40bebae7fcb3defe089c65008542bddbd)
2023-07-15 15:46:47 -04:00
Alessandro Jean
137a205f4b Show a progress indicator while checking for updates in the about screen (#9641)
* Show a progress indicator while checking for updates.

* Remove a unused import.

* Remove the initial toast.

(cherry picked from commit 2a7cca6ea43f88e10db313f3361184d90ae80c4c)
2023-07-15 15:46:38 -04:00
Alessandro Jean
adccbbb166 Show open source library license in a custom screen (#9645)
Show open source library license in a custom screen.

(cherry picked from commit 6ed27488462822d3141545dbbad7163e5d2597fa)
2023-07-15 15:46:29 -04:00
Ivan Iskandar
53fb54127b AdaptiveSheet: Migrate deprecated swipeable (#9642)
(cherry picked from commit 7c90fe0f7d9667809d80fdb3c547a19620ce5f31)
2023-07-15 15:46:20 -04:00
Alessandro Jean
a93e6c78b1 Make source preferences' titles multiline (#9644)
Make source preferences' titles multiline.

(cherry picked from commit 8a5e443ca5d4785773e8c87b5841a6509cf873c7)
2023-07-15 15:46:13 -04:00
arkon
2d7ea8e4e8 Use same icons as action bar in swipe actions
(cherry picked from commit a07e0df815bf1d2c21da71d547df6136d7d8b1ec)
2023-07-15 15:46:01 -04:00
arkon
efd90aea0f Retry LibraryUpdateJob later if Wi-Fi condition not met
(cherry picked from commit 88e9fefa59b3f7f77ab3ddcab1b039f81534c83e)
2023-07-15 15:45:54 -04:00
arkon
3acb0f0dbd Retry DelayedTrackingUpdateJob up to 3 times if all items not updated
(cherry picked from commit c0fd47b0668224eddc8fbddb6df394a7193e70e2)
2023-07-15 15:45:44 -04:00
Denny Rodrigues do Carmo
65676730fc Fix download ahead while reading functionality (#9640)
Correct condition for downloading next chapter

(cherry picked from commit ee684cbef52a0f9ec9873d9e9d854d95bad5df66)
2023-07-15 15:45:37 -04:00
renovate[bot]
d4a2992ac1 Update aboutlib.version to v10.8.0 (#9637)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 1f618d6634bd286cd5f0dad729b281d541e4e927)
2023-07-15 15:45:24 -04:00
Dexroneum
b74d5143e8
[RU] Translations (#888) 2023-06-24 18:54:24 -04:00
Howard Wu
6dc9ffd80b
zh-rCN translation updates (#892) 2023-06-24 18:54:07 -04:00
arkon
8cfe7f953d Don't affect reader toolbars/sheets when using custom brightness
Closes #8444
You should be able to tap to bring up the menus even if the brightness is too low.

(cherry picked from commit 7d4af1f8cceae5a05bf2f375ef96c69f34a08cfb)

# Conflicts:
#	app/src/main/res/layout/reader_activity.xml
2023-06-24 15:44:35 -04:00
arkon
eb298df72c Migrate ReaderColorFilterSettings to Compose
It'll eventually be a tab with the other settings again once the other tabs are also
migrated over so it's just a single Compose sheet.

(cherry picked from commit fe82cdb9c85274e0c9b904ec6b37fac97d01ea37)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/PreferenceItem.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReaderColorFilterSettings.kt
#	app/src/main/res/layout/reader_activity.xml
2023-06-24 15:43:30 -04:00
arkon
832e765a22 Refactor grid size slider composable for reuse
(cherry picked from commit b354e37cc34e1b713a0d19818fd030294985f109)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/LibrarySettingsDialog.kt
2023-06-24 15:33:23 -04:00
arkon
f3d47eaaa3 Use our own translation for "OK"
I missed this in the PR that it came with, but I guess it'll be useful if we go multiplatform.

(cherry picked from commit f344831d5877d1d0a7772b00f498ddfb6e86da04)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
2023-06-24 15:32:08 -04:00
Semen
51fadb611e Trackers empty scores start starts from middle (#9624)
* Trackers empty scores start starts from middle

* Trackers empty scores start starts from middle

* Trackers empty scores start starts from middle

(cherry picked from commit 2eca8511cbcb9633649535d29cc0b06db9e2fe48)
2023-06-24 15:27:17 -04:00
arkon
273951188c Migrate ReaderPageSheet to Compose
(cherry picked from commit f2b0d74b4cd6740b708e587f18c6cc798287dbe8)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPageSheet.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt
#	app/src/main/res/layout/reader_page_sheet.xml
2023-06-24 15:26:45 -04:00
arkon
43a920bbb9 Minor cleanup
(cherry picked from commit 42bc2b07ce1f0b4cfbfe3045cddc9c1fcca8f519)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/cache/ChapterCache.kt
2023-06-24 14:25:45 -04:00
arkon
843febd0ff Bump default user agent string
(cherry picked from commit e2d6269a3871a938b33412e50003377914882276)
2023-06-24 14:21:21 -04:00
Shamicen
350c9f325a Better handle decimal chapter numbers and add categories in ComicInfo.xml files (#9604)
* Serialize whole chapter numbers without decimal point and add library categories to genre

* added Tachiyomi specific ComicInfo Category field

* lint

* implemented requested changes

(cherry picked from commit fcfa62f220d1bdf1736d5230bfcc0b22117e4c2c)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/manga/model/Manga.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt
#	core-metadata/src/main/java/tachiyomi/core/metadata/comicinfo/ComicInfo.kt
2023-06-24 14:21:09 -04:00
Ivan Iskandar
434b8d3ae8 composed Modifier changes (#9631)
Referring at the examples and other internal usages, the
resulting stateful Modifier should be separated from
all the previous Modifier chain.

(cherry picked from commit 25b0458930b3de21340cdc201e7e5e46501dbda1)
2023-06-24 14:19:43 -04:00
Ivan Iskandar
9f1b349960 Use lite compose-ui-tooling module on release builds (#9630)
The size reduction is minuscule but it's there.

(cherry picked from commit 6808fbbb21acaac4e866b5023146a97b86a9d68e)
2023-06-24 14:19:35 -04:00
zaghdaneh
7e82f21308 Remove manga from trackers (#9535)
* Dialog for service tracker removal added, anilist query prepared

* added API delete requests for Mal and Kitsu

* implement and fix tracker delete for anilist, shikimori, mangaupdates

* implement and test mal delete request

* Update to dialog text to reflect current tracker

* finish kitsu api request and block bangumi tracker removal

* Change delete flag into interface, localise strings, clean up logs

* Add shikimori delete compatibility for already existing entries

* update track delete dialog prompt to include checkbox, update strings

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

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

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

---------

Co-authored-by: unknown <zaghdane@fireflow.de>
Co-authored-by: arkon <arkon@users.noreply.github.com>
Co-authored-by: stevenyomi <95685115+stevenyomi@users.noreply.github.com>
(cherry picked from commit b36b3bfcabd4a33826b455e1cdfc06fde110a452)
2023-06-24 14:19:23 -04:00
arkon
89ba9c490d Update Guava
(cherry picked from commit 7f0ed58b5401251c93b7edd9569a44ca044118db)

# Conflicts:
#	.github/renovate.json
2023-06-24 14:19:11 -04:00
Ivan Iskandar
ec1e83a21b Update core-splashscreen (#9629)
(cherry picked from commit b4393ff741793ba84f92956899df0c429b907b0e)

# Conflicts:
#	.github/renovate.json
2023-06-24 14:18:37 -04:00
Ivan Iskandar
d00bf25149 Update Compose BOM v2023.06.00-alpha01 (#9628)
(cherry picked from commit b8af1621b52e3c2a47d9ed4f40051413e51b238b)
2023-06-24 14:18:13 -04:00
Ivan Iskandar
c0088f9e5e Update Paging and match version (#9626)
(cherry picked from commit 4a75f82a6fc10341e951e56ad8ce4fb4072c5d63)
2023-06-24 14:18:04 -04:00
Ivan Iskandar
13f49234dc Bump compile SDK version 34 (#9625)
(cherry picked from commit 740e370465444beaa52af7aae9016c9cf67cd066)
2023-06-24 14:17:56 -04:00
renovate[bot]
6c2287f5b2 Update dependency ch.acra:acra-http to v5.10.1 (#9614)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 245985bf42867cb1841432f316d954a0a2e49b52)
2023-06-24 14:17:46 -04:00
renovate[bot]
922e94ad00 Update dependency io.github.fornewid:material-motion-compose-core to v1.0.3 (#9613)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 344f5afd505d652fb17578fb95d6c2f16631ebab)
2023-06-24 14:17:36 -04:00
Weblate (bot)
287a2fb544 Translations update from Hosted Weblate (#9579)
Weblate translations

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/fil/
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/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/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: Adhwa King Dota <stevetom506@gmail.com>
Co-authored-by: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: Ali Aljishi <ahj696@hotmail.com>
Co-authored-by: Clxff H3r4ld0 <123844876+clxf12@users.noreply.github.com>
Co-authored-by: Dan <jonweblin2205@protonmail.com>
Co-authored-by: DarKCroX <DarKCroX@users.noreply.hosted.weblate.org>
Co-authored-by: Deniz <denizgezgin365@gmail.com>
Co-authored-by: Dexroneum <Rozhenkov69@gmail.com>
Co-authored-by: Efe Devirgen <efedevirgen@gmail.com>
Co-authored-by: FateXBlood <zecrofelix@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: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Piotr <growgra@gmail.com>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: altinat <altinat@duck.com>
Co-authored-by: jinu147 <nesqea20@gmail.com>
Co-authored-by: sebastians17 <sebastians117.ss@gmail.com>
Co-authored-by: stevenlele <stevenlele@outlook.com>
Co-authored-by: sunfkny <1198355143@qq.com>
Co-authored-by: 朔夜月 <a03175ii0@gmail.com>
(cherry picked from commit 1c6e5605f9b6377b9a35c69d5267ea6d95e878c4)
2023-06-24 14:17:19 -04:00
arkon
2f360a3fd7 Avoid crash when trying to open random entry but categories are still loading
Fixes #9610

(cherry picked from commit 0871208023b46452fbf26f9baebea82cecb33f39)
2023-06-24 14:16:59 -04:00
arkon
bf0dee8d03 Blur manga info header image
Similar to J2K. This only applies on Android 12+.

(cherry picked from commit ee95c1439f8c47d912c88bd9ebb442e64a89f8ff)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateDialog.kt
2023-06-24 14:16:49 -04:00
arkon
1c090ad621 Don't update last page read/read state of chapter if Incognito Mode is enabled
Actually closes #7228, which I forgot was about history more than trackers.

(cherry picked from commit e323f3c25a22ba7b9b831f17064ee7196b5ce951)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt
2023-06-24 14:16:14 -04:00
arkon
1976d9d6da Don't update trackers after reading a chapter if Incognito Mode is enabled
Closes #7228

(cherry picked from commit 9766399539c70db3f89bddeb67c69cf09e7b70ae)
2023-06-24 14:13:17 -04:00
AntsyLich
3abec5dd6f Increase update screen limit to 500 (#9599)
(cherry picked from commit fc4fd487f9a6489cbc4691f22da9b240b8b6358c)

# Conflicts:
#	domain/src/main/java/tachiyomi/domain/updates/interactor/GetUpdates.kt
2023-06-24 14:13:08 -04:00
Jobobby04
bc816d7b49 Fix downloaded merged chapters in reader 2023-06-24 14:12:32 -04:00
Simon
e2840b6b9d Filter out non-downloaded chapters in reader when Downloaded Only is enabled (#9568)
* FIxed Issue #5463 - DownloadedOnly Bug

* Changes according to Feedback

* Changes according to Feedback

---------

Co-authored-by: AlphiGhost <71730726+AlphiGhost@users.noreply.github.com>
(cherry picked from commit dddba7bb6f1fdea7c853d07a3c8f0ad7c99a12d5)
2023-06-24 14:03:30 -04:00
Ivan Iskandar
a9e7619e48 MangaChapterListItem: Increase swipe action touch slop (#9598)
(cherry picked from commit 9ec8d770eaa364972b6a114fb788391db4e70806)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/components/MangaChapterListItem.kt
2023-06-24 14:03:21 -04:00
Two-Ai
a87a35ec73 Cleanup MangaScreenModel successState usage (#9582)
* Refactor updateSuccessState

- Convert to inline function
- Use when for type safety if we add other MangaScreenState types

* Replace equivalent expressions with updateSuccessState

* Replace safe cast in MangaScreen

(cherry picked from commit cf777d989339a5190966b537aa493c5984d36a93)
2023-06-24 14:02:20 -04:00
arkon
ecdb4ed01c Fix LibraryFlagsTest
Forgot to update these after LibraryDisplayMode was made to not be a flag.

(cherry picked from commit 0d9f8e8743b1a03f30a8a3050b9a896f337ba25f)
2023-06-24 14:02:11 -04:00
arkon
805a88df25 Add share menu item in reader
Closes #9510

(cherry picked from commit 841f80f935225bdb7ee7e400d2b2aa8176c5e4c5)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
#	app/src/main/res/menu/reader.xml
2023-06-24 13:43:29 -04:00
arkon
40353c6dc9 Directly track current WebView URL instead of relying on state
State approach doesn't work well for client-side routed apps like MangaDex.

Fixes #9576

(cherry picked from commit 39a7356ed15b111fd940fc4bb8059f7130a1542e)
2023-06-24 12:25:53 -04:00
arkon
bda6f7e041 Bump dependencies
(cherry picked from commit 438054a0ec9e39f9c0e7023199013262e8f99ff2)
2023-06-24 12:25:43 -04:00
arkon
c99986f4f5 Remove General settings section
(cherry picked from commit 34b9c82cd0ca07ded2cd079a9cc18229a02a9a81)

# 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/SettingsGeneralScreen.kt
2023-06-24 12:25:21 -04:00
arkon
23170b6f03 Remove per-category display mode
There seems to be little value in this feature, and juggling flag masks is annoying.
Per-category sorting is still a thing, but could be refactored away from the flag in the feature.

(cherry picked from commit 405a75438a61770a12292cc87c0fa36e16668124)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/LibrarySettingsDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryTab.kt
#	domain/src/main/java/tachiyomi/domain/category/interactor/SetDisplayModeForCategory.kt
#	domain/src/main/java/tachiyomi/domain/category/interactor/SetSortModeForCategory.kt
2023-06-24 12:10:45 -04:00
Ivan Iskandar
ff9b7a1325 ReaderProgressIndicator: Convert to Compose (#9574)
(cherry picked from commit 39e456846094abd623f84d642721a2d97bd803a4)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
2023-06-24 11:23:55 -04:00
Weblate (bot)
724b3c4e75 Translations update from Hosted Weblate (#9531)
Weblate translations

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/fil/
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/ko/
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/th/
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: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: Ali Aljishi <ahj696@hotmail.com>
Co-authored-by: AntonP <tony.pug.stark@gmail.com>
Co-authored-by: Christian Elbrianno <crse@protonmail.ch>
Co-authored-by: Clxff H3r4ld0 <123844876+clxf12@users.noreply.github.com>
Co-authored-by: Dan <denqwerta@gmail.com>
Co-authored-by: Danel Dave Barbuco <barbucodanel@gmail.com>
Co-authored-by: DatTran MLL <tranthanhdat1142003@gmail.com>
Co-authored-by: Dexroneum <Rozhenkov69@gmail.com>
Co-authored-by: Eduard Ereza Martínez <eduard@ereza.cat>
Co-authored-by: FateXBlood <zecrofelix@gmail.com>
Co-authored-by: Ferran <ferrancette@gmail.com>
Co-authored-by: Giorgio Sanna <sannagiorgio1997@gmail.com>
Co-authored-by: ID-86 <id86dev@gmail.com>
Co-authored-by: Igor <zerrxs@gmail.com>
Co-authored-by: Izxmi <heltherrivas05@gmail.com>
Co-authored-by: Leonardo Falcoski <leonardo.falcoski@gmail.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
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: altinat <altinat@duck.com>
Co-authored-by: stevenlele <stevenlele@outlook.com>
(cherry picked from commit 0d96791a84ac28cbd94218a23c78d41cd4efb62a)
2023-06-24 11:22:37 -04:00
arkon
b0b02e24c5 Hide release period update restriction in non-dev builds until ready
(cherry picked from commit 531e1c62bb8ba62f3fe84efce60210b5b5560368)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsLibraryScreen.kt
2023-06-24 11:22:24 -04:00
arkon
b42f1f2df8 Bump dependencies
(cherry picked from commit 1a1f16f44aba242a52aed628ddd38bc2793ca406)

# Conflicts:
#	gradle/kotlinx.versions.toml
2023-06-24 11:21:58 -04:00
arkon
7c9398f9d5 Address minor build warnings
(cherry picked from commit 431f8772f8ad2f30d71bb6565ec2644e4e56c691)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupRestorer.kt
2023-06-24 11:21:18 -04:00
arkon
dbe2d1a11f Fix misleading release grace period "Default" options
(cherry picked from commit 8a5382042c58cfb54b206700fd6c4889fd278570)
2023-06-24 11:20:24 -04:00
arkon
8877ddb015 Remove confirm exit option
Redundant with predictive back, but also just sort of pointless since it doesn't help
with any sort of app state retention.

(cherry picked from commit 8f4bc71cf7b99fe0b0d2ea68dfca0140477686cc)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsGeneralScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
2023-06-24 11:20:13 -04:00
Two-Ai
728c715bf4 Replace RxJava in extension installer (#9556)
* Replace RxJava in extension installer

Replace common downloadsRelay with Map of individual StateFlows

* Drop RxRelay dependency

* Simplify updateAllExtensions

* Simplify addDownloadState/removeDownloadState

Use immutable Map functions instead of converting to MutableMap

(cherry picked from commit 0ac38297f4bdeb83b2d9c8919b89520e9722f35e)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionManager.kt
2023-06-24 11:17:45 -04:00
arkon
a90eb778d8 Limit updates to 250 most recent chapters
Still limits to things within the past 3 months though.

Closes #9554

(cherry picked from commit 4c65c2311e09bf5dcb77327c415a6fddd12123c5)

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

* Add functions to calculate nextUpdate

* update per review

* Move more into SetMangaUpdateInterval, keep wrapper

(cherry picked from commit c90f3449108a8362fea1ee9070979b5a14be9be5)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsLibraryScreen.kt
#	domain/src/main/java/tachiyomi/domain/library/service/LibraryPreferences.kt
2023-06-24 10:45:01 -04:00
Ivan Iskandar
aafb685bf5 Update Glance v1.0.0-beta01 (#9551)
(cherry picked from commit a458bd9fdb1750bde246df438d13dfa1d79185be)
2023-06-24 10:43:49 -04:00
arkon
38abea0513 Set reader chapter name to marquee if too long
Closes #7159

(cherry picked from commit ed5a56be60d144c917b7b09bf183c688e6d54b06)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
2023-06-24 10:43:42 -04:00
arkon
de0d6f647b Slightly tweak MangaScreen refresh indicator
Related to #7813. It still starts below the status bar, but it looks a bit less weird.

(cherry picked from commit 899fe57f154c01d9dab46863641d1094267c991d)
2023-06-24 10:42:51 -04:00
arkon
aa938445f0 Add debug screen to copy backup file schema
Closes #8544

(cherry picked from commit bac42edabba421d80dd650c5e1781b64c262ed0e)
2023-06-24 10:42:43 -04:00
arkon
3167128e30 Fix bookmarked chapters being deleted after manually marked as read
Fixes #9520

(cherry picked from commit 8735f3566ff1b7945ba062d098302875fdf8eeab)
2023-06-24 10:42:34 -04:00
arkon
88d4087642 Fix some crashes
(cherry picked from commit 46efd4c13430881d8593d4fc3cb899dfd3deacdd)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/webview/WebViewScreenContent.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonPageHolder.kt
2023-06-24 10:42:27 -04:00
arkon
491cfafddb Use primitive state holders
(cherry picked from commit dfd38db7e33bd708ccb688f3fe02d4e0105083f2)
2023-06-24 10:40:44 -04:00
Ivan Iskandar
2a921d008e Bump Compose BOM version 2023.04.00-beta01.1 (#9548)
(cherry picked from commit 0189fc1f6677bf7b203609cc4f76fdf61a84b757)
2023-06-24 10:40:37 -04:00
arkon
43ddcf8d2c Simplify chapter item composable a bit
Closes #9442 because I just removed the rounding entirely...

(cherry picked from commit 929a881943bd0a08b2209ee478be1fcd6539de7b)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/components/MangaChapterListItem.kt
2023-06-24 10:40:24 -04:00
arkon
479ab126c2 Minor cleanup and remove unused dependencies
(cherry picked from commit 152fdec855cccfb479af8f74f1d4099be0ac399c)
2023-06-24 10:39:23 -04:00
Artemis-CtrlAltDel
5b110cec23 fix: grid size slider (#9542)
(cherry picked from commit 9c07451d957761b387663caef8b0f46746aa98e1)
2023-06-24 10:39:16 -04:00
arkon
6d5087b638 Remove redundant inset handling in AdaptiveSheet
The Dialog is handling it anyway, so this doesn't really do anything useful.
We might need to add this back if Dialog actually handles edge-to-edge properly.

(cherry picked from commit e3b27209246c60e2de7033976573681352fee7f9)
2023-06-24 10:39:07 -04:00
Two-Ai
81b752eb76 Replace RxJava in Downloader (#9256)
* Rename removeFromQueueByPredicate to removeFromQueueIf

Follow-up to PR comment in #9511

* Make Download hashCode stable

Mutating pages would previously change the Download hashCode, which
breaks HashMap lookups.

* Convert Donwloader subscription to coroutine

Replace downloadsRelay with activeDownloadsFlow. Instead of managing
a PublishRelay independent from the queue, derive a Flow of active
downloads directly from the queue StateFlow. (This will allow
updating the queue without pausing the downloader, to be done in a
follow-up PR.)

When a download completes successfully, the downloads is removed from
queueState. This updates activeDownloadsFlow and causes the
downloaderJob start the download job for the next active download.

When a download fails, the download is left in the queue, so
queueState is not modified. To make activeDownloadsFlow update
without a change to queueState, use transformLatest and use the
Download statusFlows to suspend until a download reaches the ERROR
state.

To avoid stopping and starting downloads every time
activeDownloadsFlow emits a new value, maintain a map of current
download Jobs and only start/stop jobs in the difference between
downloadJobs and activeDownloads. To make sure all child download
jobs are cancelled when the top-level downloader job is cancelled,
use supervisorScope.

* Remove obsolete main thread references in Downloader

Thread safety of the queue state used to be guaranteed by running all
queue mutation on the main thread, but this has not been true for
some time. Since the queue state is now backed by a StateFlow,
queueState can be safely updated by any thread.

(cherry picked from commit 3ae1e37c40fcfa43798377d2d9b8af58ec4498db)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt
2023-06-24 10:38:59 -04:00
arkon
273670bfc7 Bump dependencies
(cherry picked from commit d8998aacb4ac51caa4fbe35c6dfee05d84558e51)
2023-06-24 10:38:16 -04:00
arkon
31d92823cb Update minimum WebView version
(cherry picked from commit efdff9a21a83cbdb5b32c40be3da015fdf159fdc)
2023-06-24 10:38:07 -04:00
arkon
acfdad6e87 Update default user agent string
(cherry picked from commit 1824adb2edb044171828c2f25e28ef5a368decd1)
2023-06-24 10:38:00 -04:00
renovate[bot]
ae2c9a754a Update dependency com.github.requery:sqlite-android to v3.42.0 (#9530)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 38445673f344beb9e1b1eb5b3663912d14a5408a)

# Conflicts:
#	gradle/libs.versions.toml
2023-06-24 10:37:49 -04:00
Jobobby04
c95d6e79f4 Fix blank library categories when using source categories 2023-06-24 10:37:13 -04:00
Jobobby04
3912757758 Fix build 2023-06-24 10:34:46 -04:00
arkon
3c741c13a4 Upgrade Compose
Co-authored-by: ivaniskandar <ivaniskandar@users.noreply.github.com>
(cherry picked from commit 5a9889b562583c0112b90e1c5b2622336965963d)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/components/LibraryContent.kt
2023-06-24 10:34:23 -04:00
arkon
077c327595 Replace Cascade with our own somewhat janky implementation
(cherry picked from commit 5ca7c39751c29e396f59e66addcfb482bcae6e7d)
2023-06-24 09:55:29 -04:00
arkon
f8053f5b5d Use AppBarActions in more places
(cherry picked from commit 44609c494c11c1b5112b6edec1898cd5d171fa11)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/components/LibraryToolbar.kt
#	app/src/main/java/eu/kanade/presentation/manga/components/MangaToolbar.kt
2023-06-24 09:55:15 -04:00
renovate[bot]
9bf549a313 Update dependency com.github.requery:sqlite-android to v3.41.2 (#9526)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 0810d3db691f7b80f54b4ff3bd04d0fb24aa764a)

# Conflicts:
#	gradle/libs.versions.toml
2023-06-24 09:45:25 -04:00
renovate[bot]
6b866303ce Update leakcanary to v2.11 (#9527)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit d4fb9995ef7459f50eae7c0d446346d42ef94aa1)
2023-06-24 09:44:52 -04:00
Jobobby04
21a4a93523 Add Exhentai source icon 2023-05-22 19:38:02 -04:00
Weblate (bot)
ee47d74b5e Translations update from Hosted Weblate (#9501)
Weblate translations

Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/de/
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/ne/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/pt/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sr/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/zh_Hant/
Translation: Tachiyomi/Tachiyomi 0.x

Co-authored-by: FateXBlood <zecrofelix@gmail.com>
Co-authored-by: Filipe Mota (BlackSpirits) <blackspirits@gmail.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Pipixel_06 <nico.berard@outlook.com>
Co-authored-by: kevans <albapazpi@gmail.com>
Co-authored-by: torchlight <sima142222@gmail.com>
(cherry picked from commit 22a43725833804805055e3460bb3a87f3983d533)
2023-05-20 19:24:38 -04:00
arkon
6b1bcb1511 Enable predictive back gesture for Android 13 (behind developer option)/14+
(cherry picked from commit a4d86a2e1e525dce9fb12f323b7013394639b577)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
2023-05-20 19:24:29 -04:00
Shamicen
f00e10bda0 Populate the ComicInfo Number field with chapter numbers (#9514)
* Populate the ComicInfo Number field

* added negative number check

(cherry picked from commit b8716ff6fed7fefccd03554337d0ce882f64bed2)
2023-05-20 19:23:55 -04:00
Ivan Iskandar
bdf871292b DownloadCache: Fix freezing on initial loading of cache file (#9523)
(cherry picked from commit 73118d4af7f1d5ad4e7ea60d6bf183d778e6350a)
2023-05-20 19:23:47 -04:00
Two-Ai
b14293c025 Minor Downloader cleanup (#9511)
* Inline completeDownload

* Consolidate queueState updates in removeFromQueue

* Inline post-download steps into downloadChapter

(cherry picked from commit c27bf4e86643b6540791d010a756935fd66d1804)
2023-05-20 19:23:37 -04:00
Shamicen
7b0b7dd062 bump xmlutil (#9505)
fixes broken surrogate pairs

(cherry picked from commit f50f5c4b545700f1d7dfbeb8636d9a46db648000)

# Conflicts:
#	gradle/kotlinx.versions.toml
2023-05-20 19:23:31 -04:00
Jobobby04
fda392a4d5 Handle page quota 2023-05-14 13:42:33 -04:00
Shamicen
d28670a24c
fixed encrypted sql database gets overwritten on sql-schema change (#887)
fix from:
jobobby04
2023-05-14 13:29:26 -04:00
arkon
ac9048db46 Avoid attempts to renaming download dirs if name hasn't actually changed
Maybe fixes #9503

(cherry picked from commit fb38d307750a849e7c941c164a3c223d69f2cd14)
2023-05-14 13:27:17 -04:00
Jobobby04
f37b661307 Build fix 2023-05-14 00:04:37 -04:00
Weblate (bot)
471322771a Translations update from Hosted Weblate (#9463)
Weblate translations

Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/bn/
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/gl/
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/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: FateXBlood <zecrofelix@gmail.com>
Co-authored-by: Gab Albatros <2lj.fzb@gmail.com>
Co-authored-by: InfinityDouki56 <ced.paltep10@gmail.com>
Co-authored-by: Johnathan Illian <johnathanillian77@gmail.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: NGB-Was-Taken <myalternate34@gmail.com>
Co-authored-by: Pipixel_06 <nico.berard@outlook.com>
Co-authored-by: Ramim Hasan <ramimhasan.dev@gmail.com>
Co-authored-by: kevans <albapazpi@gmail.com>
Co-authored-by: orkan gökçe alaz aşina <examplehuman@outlook.com>
Co-authored-by: sebastians17 <sebastians117.ss@gmail.com>
Co-authored-by: stevenlele <stevenlele@outlook.com>
(cherry picked from commit a3a9c8ac8e2d60606f41c00f4009424b351399b0)
2023-05-14 00:00:18 -04:00
arkon
c78a5efc4b Revert "Bump to somewhat newer version of Compose BOM"
This reverts commit ce81b76150006b9b23ad5424d49c3de36fb8c090.
Fixes crashes when opening menus. Cascade doesn't have an update
to fix this yet.

(cherry picked from commit b4bb8556751353c06531b55f3b052217254314c0)
2023-05-14 00:00:08 -04:00
Ivan Iskandar
539e2f5d57 Fix navigation backstack (#9497)
Partial revert of dbbf6c5de08b8204ede371e25c1c722d9968ae4c

(cherry picked from commit 6263a527772f4cce8b3b164b87d7b526773ad7ad)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateSearchScreen.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/BrowseSourceScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/category/CategoryScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/home/HomeScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt
2023-05-13 14:26:59 -04:00
Jobobby04
190c87f7f3 Use AppBarActions 2023-05-13 14:02:24 -04:00
Ivan Iskandar
7ea6f685bf Replace our custom Pager (#9494)
Turns out that changing the pagerSnapDistance
is enough to achieve the same result.

(cherry picked from commit 96defd6b054101c540dc62907e43f4aa5db1ef6c)
2023-05-13 13:35:43 -04:00
Ivan Iskandar
beb62884d0 Upgrade Kotlin 1.8.21 (#9495)
(cherry picked from commit 8df9bce1b4ab2e38f1e1180093c51d7fe6ce4405)

# Conflicts:
#	gradle/kotlinx.versions.toml
2023-05-13 13:35:37 -04:00
arkon
37ddaa6dd7 Use AppBarActions in more places
Related to #8270

(cherry picked from commit bcd90be5254fbb3bbf0878a321d89620beb71707)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/debug/WorkerInfoScreen.kt
2023-05-13 13:34:49 -04:00
arkon
d3e406fce0 Add tooltips for AppBarActions
Partially addresses #8270. A bunch of Scaffolds aren't using this helper.

(cherry picked from commit 22afae44493e93c55aa4b1bf3c889703d796aef5)
2023-05-13 13:34:10 -04:00
arkon
7eaed00cd3 Fix missing appbar when statistics are loading
(cherry picked from commit 8fae92034e1e43560f254b2563acbfa9106702cf)
2023-05-13 13:34:00 -04:00
arkon
e783649ee8 Bump to somewhat newer version of Compose BOM
(cherry picked from commit ce81b76150006b9b23ad5424d49c3de36fb8c090)
2023-05-13 13:33:38 -04:00
AntsyLich
cda8514b9b Delay automatic backup when restoring (#9492)
(cherry picked from commit f70d5ea97698bc3708c035dc3e4d7a1e894cd765)
2023-05-13 13:33:32 -04:00
arkon
280f5ce12a Switch back to upstream version of Voyager
(cherry picked from commit dbbf6c5de08b8204ede371e25c1c722d9968ae4c)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateSearchScreen.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/BrowseSourceScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/category/CategoryScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/home/HomeScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt
2023-05-13 13:33:19 -04:00
arkon
9b9251cba4 Bump dependencies
(cherry picked from commit 2379df7e6025f880bc656d0cc34c3beab7625e32)
2023-05-13 13:15:36 -04:00
renovate[bot]
46c909a2f4 Update dependency org.jetbrains.kotlinx:kotlinx-coroutines-bom to v1.7.0 (#9469)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit e3ce3ff4184382aa9fb9c77e042949851fab8d51)
2023-05-13 13:15:26 -04:00
FlaminSarge
11030ba1ec Fix StubSource param order to match previous SourceData order (#9485)
SourceData was replaced with direct StubSource usage but the param order was changed without changing the usage; fixing the param order as such.

(cherry picked from commit 4395202703cb2dbe861a189395c99b210d627ac7)
2023-05-13 13:15:15 -04:00
Jobobby04
8c78ae48c1 Actually fix favorite entry parent versions 2023-05-13 12:06:02 -04:00
Jobobby04
912d2ecd62 Drop FOREIGN KEY for eh_favorites 2023-05-13 00:03:35 -04:00
Dexroneum
164db54acd
[RU] Translations (#878) 2023-05-12 22:52:34 -04:00
Shamicen
6071acd3df
Make comic book archive caching optional instead of rolling it back completely (#883)
* Make comic book archive caching optional and fix cbz archives not opening for some users

* corrected placement of // SY <--
2023-05-12 22:52:17 -04:00
Shamicen
be6bbb8e9b
use zip4j only for encrypted downloads (#882)
* use zip4j only for encrypted downloads

* only set charset on SDK >= 24
2023-05-12 22:51:56 -04:00
Shamicen
291734a406
Implemented local cover encryption (#881)
* Implemented local cover encryption and made coil capable of reading encrypted cover archives

* add check that the file is not an image before determining that it is a zip file
2023-05-12 22:51:37 -04:00
Jobobby04
282a0c4e16 Add favorite entry alternative handling, allowing parennt versions to take priority for favorites sync 2023-05-12 22:50:23 -04:00
Jobobby04
e9a3463455 Allow user to read all read manga stats 2023-05-10 17:30:52 -04:00
Jobobby04
197f729023 Fix namespace alignment 2023-05-10 17:29:26 -04:00
Jobobby04
6433b5a212 Cleanup favorites sync status 2023-05-09 22:14:23 -04:00
Jobobby04
8d83384fb7 See if this fixes focus bug with auto complete tags 2023-05-09 21:53:49 -04:00
Jobobby04
2ed07181b5 Fix gallery adder trying 3 times even if there are no errors 2023-05-09 21:53:30 -04:00
Jobobby04
45f839c5e1 Lint 2023-05-09 21:53:06 -04:00
Ivan Iskandar
de9000306b ChapterNavigator: Fix rounding error when changing page with slider (#9477)
ChapterNavigator: Fix rounding error when changing page from slider
(cherry picked from commit 84acae27b71fe7549a992d214631292929d4c6aa)
2023-05-08 23:14:31 -04:00
arkon
57d41b6682 Don't compute key for browse list based on manga ID, which may be repeated
Fixes #9473

(cherry picked from commit 71f6e07e71a0ba6e6499512e3dd719a60f5d7314)

# 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
2023-05-08 23:14:30 -04:00
arkon
98e94ef7ae Just extract everything in zips to a directory
Issues:
- Apache implementation relies on methods unavailable on lower Android API levels
- Using input stream implementation doesn't seem to read some files properly, but using
  ZipFile implementation still requires reading the entire thing into memory

(cherry picked from commit 6f59c6c6bb12f1ef123abd418001c7a86d43ef7a)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/ZipPageLoader.kt
2023-05-08 23:14:29 -04:00
Ivan Iskandar
ce4f2e83b0 Chapter transition tweaks (#9470)
* Chapter transition tweaks

* Chapter transition cleanups

(cherry picked from commit d36cf5ce159adea6b4da8a5351c4a9f732e07590)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/reader/ChapterTransition.kt
2023-05-08 23:14:01 -04:00
renovate[bot]
8757acdad3 Update dependency io.github.fornewid:material-motion-compose-core to v0.12.2 (#9467)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 332d9ff61bed8d3f00ce4fc5fcfa9aa10a225f67)
2023-05-08 23:14:00 -04:00
renovate[bot]
a97a64d650 Update dependency com.google.android.material:material to v1.9.0 (#9468)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 7bb1ccf6f72b5ba11afe25ef893d6d1bfc1be120)
2023-05-08 23:13:59 -04:00
arkon
67d352300b Address minor build warnings
(cherry picked from commit b051e37ab7adca209809dcd4f4be66d6c86f237d)
2023-05-08 23:13:58 -04:00
Jobobby04
1f84918749 Retry a few times if a favorites sync entry times out 2023-05-08 23:13:57 -04:00
Jobobby04
efbdab973e Fix accidentally unused string 2023-05-08 23:13:56 -04:00
Shamicen
492fa6eaaa
fix ZipPageLoader not working for encrypted cbz archives (#877) 2023-05-06 22:23:56 -04:00
Jobobby04
f42a8ea37a Fix encrypted backup guide 2023-05-06 21:23:30 -04:00
Jobobby04
e7d083f119 Thank you Pringle for the working build 2023-05-06 20:56:33 -04:00
Jobobby04
f2aa09039f Add suggested rules 2023-05-06 20:05:43 -04:00
Jobobby04
3a5e23550f Always retry when its a NPE 2023-05-06 18:58:06 -04:00
Jobobby04
f1bb886737 Don't crash if last loaded url is null 2023-05-06 18:53:54 -04:00
Jobobby04
9d17b47bdb Fix source feed crash on non-catalogue sources 2023-05-06 18:49:22 -04:00
Jobobby04
c8446b8d65 Improve SourcePreferences error 2023-05-06 18:42:25 -04:00
Jobobby04
3dd86c3f77 Move encrypt database setting and add a warning 2023-05-06 18:37:35 -04:00
Jobobby04
28ffdd53a0 Improve subtitle handling 2023-05-06 18:25:19 -04:00
arkon
bc1dc90963 Fix filter FAB not working in migrate screen
I feel like this needs to be aligned with the browse screen/deduped somehow, but that can happen separately.

Fixes #9444

(cherry picked from commit 1b25290d399037fe2d9744a899f86ca128699f8e)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SourceSearchScreen.kt
2023-05-06 18:03:20 -04:00
arkon
1234081cef Allow scrolling in restore confirmation dialog
Fixes #9460

(cherry picked from commit 2f5eb73d294fc99c3d8a5ace9812e90a3cb1c2d0)
2023-05-06 17:59:25 -04:00
Ivan Iskandar
c2e35a7806 ChapterNavigator: Always show buttons and fix steps visual (#9461)
(cherry picked from commit f0dd33ee4cf0a355eb9729d723ca78c80340973a)
2023-05-06 17:56:50 -04:00
Weblate (bot)
02bc69fc22 Translations update from Hosted Weblate (#9341)
Weblate translations

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/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/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/km/
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/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/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: Ali Aljishi <ahj696@hotmail.com>
Co-authored-by: BaHu <hunfire100@gmail.com>
Co-authored-by: C201 <derasetad@gmail.com>
Co-authored-by: Cedric Anders <anders.cedric@gmail.com>
Co-authored-by: Clxff Heraldo <123844876+clxf12@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: Evgeniy Khramov <thejenjagamertjg@gmail.com>
Co-authored-by: FateXBlood <zecrofelix@gmail.com>
Co-authored-by: Gab Albatros <2lj.fzb@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: InfinityDouki56 <ced.paltep10@gmail.com>
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: Milo Ivir <mail@milotype.de>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Qurban Aqayev <aqayev10.qa@gmail.com>
Co-authored-by: Sertinel <cankalenderr@yandex.com>
Co-authored-by: Shafkat Hasan <shafkathasan2@gmail.com>
Co-authored-by: Slyizs Áron <asdagf47@gmail.com>
Co-authored-by: Sup Kelelawar <apkfile007@gmail.com>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: The Kiwy <tttthekiwy@gmail.com>
Co-authored-by: TheKingTermux <achmadmaulana0233@gmail.com>
Co-authored-by: Tolorin <TolorinGT099@gmail.com>
Co-authored-by: Uzuki Shimamura <hzy980512@126.com>
Co-authored-by: Vetle Ledaal <vetle.ledaal@gmail.com>
Co-authored-by: abc0922001 <abc0922001@hotmail.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: john mactavish <Soap8750@gmail.com>
Co-authored-by: orkan gökçe alaz aşina <examplehuman@outlook.com>
Co-authored-by: sebastians17 <sebastians117.ss@gmail.com>
Co-authored-by: stevenlele <stevenlele@outlook.com>
Co-authored-by: Äljan Sayat <form7040@gmail.com>
(cherry picked from commit e15b945e16aba1dcef5d52046cf08f9f5233cb59)
2023-05-06 17:51:20 -04:00
renovate[bot]
918dab041b Update dependency org.jsoup:jsoup to v1.16.1 (#9427)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 5c7d88c2ed7c4d1b953965a1a1d4eb661ec91614)
2023-05-06 17:44:44 -04:00
Two-Ai
60cf10ff2e Fix delay between URL fetch and image download (#9452)
Fetch each source image URL immediately before downloading each image
instead of fetching all URLs and then downloading all images.

Source image URLs may change, so the downloader may fail if there is
too long a delay between fetching the image URL and downloading the
image.

(cherry picked from commit bbe0ab1dd0b51bcb91ff0a7f78555b078d73201e)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt
2023-05-06 17:44:36 -04:00
Two-Ai
20ee365bdc Ensure final download status is always set (#9453)
(cherry picked from commit cb2d43c0d15b6d16b5a8522388f1cedf2fc29a16)
2023-05-06 17:43:27 -04:00
Ivan Iskandar
277c19eb36 ChapterNavigator: Fix haptic feedback (#9458)
(cherry picked from commit fce9cb820cdcba79f568e79ecb4005b512cf1d78)
2023-05-06 17:43:04 -04:00
Ivan Iskandar
8b62c58c56 ChapterNavigator: Fix background color (#9450)
(cherry picked from commit 08e4863d9467be1525e9b937ac00fde1ecd29218)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/reader/ChapterNavigator.kt
2023-05-06 17:41:55 -04:00
arkon
2d013c551d Migrate reader slider and next/prev buttons to Compose
(cherry picked from commit 9a10656bf07a7dd35400fa6e42dd0e4889ddb177)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonViewer.kt
#	app/src/main/res/layout/reader_activity.xml
2023-05-06 17:40:42 -04:00
arkon
c320daf832 Migrate PageIndicatorTextView to Compose
Probably closes #7798

(cherry picked from commit 3c79777e66d701958c2a20dfb5ccbdfef6e5c294)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt
2023-05-06 14:28:35 -04:00
arkon
18f65d4ca4 Fix language in source filter list jumping to top incorrectly
Fixes #9068

(cherry picked from commit f5ad95d78a857c226d53e010e52e8563ecd38f0d)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/SourcesFilterScreen.kt
2023-05-06 14:03:39 -04:00
arkon
4baa396aa6 Get current track services when composing LibrarySettingsDialog
Fixes #9431

(cherry picked from commit 14c465d36f8265cb545405de867c4581468ecdc8)
2023-05-06 14:01:42 -04:00
arkon
1e8dcd53ea Bump AGP for Android Studio Flamingo 2022.2.1 Patch 1
(cherry picked from commit 921a988c4ac69f0c7f45b5b7d41a4287c6565a47)
2023-05-06 14:01:30 -04:00
arkon
4bb617d7ef Bump dependencies
(cherry picked from commit 99378ddf2001ad5b3fab85893a7d59a5415c4a4c)

# 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
2023-05-06 14:01:16 -04:00
arkon
782b6dec02 Try Apache implementation of ZipFile instead
Docs: https://commons.apache.org/proper/commons-compress/
Related StackOverflow post: https://stackoverflow.com/a/54236244/4421500

Related to #9438

(cherry picked from commit c623258e8c289ecebb2a673fd118686ab56bd0bd)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/ZipPageLoader.kt
2023-05-06 13:49:49 -04:00
Houssein Zaghdane
fe0f9f053b fix to multiple "add to library" toasts bug when adding a new series (#9433)
fix to multiple "add to library" toasts bug (#9177)

Co-authored-by: Houssein Zaghdane <zaghdane@fireflow.de>
(cherry picked from commit 6ce42dc1676fe0a2e553edbc004c05eb3fd5df45)
2023-05-06 13:31:09 -04:00
Jobobby04
c7a180984e Fix build 2023-05-06 13:30:55 -04:00
Andreas
054aa7c4d8 Remove SourceData and use StubSource directly for database (#9429)
(cherry picked from commit f63573f25fe5361c9c1a49a77b2c371e68072736)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/extension/model/Extension.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/AndroidSourceManager.kt
2023-05-06 13:30:39 -04:00
renovate[bot]
71d2f35caf Update dependency io.github.fornewid:material-motion-compose-core to v0.12.1 (#9426)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit b328f0e3449c939c101a1720288586013f6f1016)
2023-05-06 13:13:51 -04:00
Andreas
01ef35af3a Move GitHub Release/App Update logic to data (#9422)
* Move GitHub Release/App Update logic to data

* Add tests for GetApplicationRelease

* Review changes

(cherry picked from commit 02864ebd60ac9eb974a1b54b06368d20b0ca3ce5)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/AboutScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/updater/AppUpdateChecker.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/updater/GithubRelease.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
2023-05-06 13:12:02 -04:00
renovate[bot]
8c568340ff Update dependency org.junit.jupiter:junit-jupiter to v5.9.3 (#9424)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit eed91f636081b1be2c29702ca437ce4bb7210fce)
2023-05-06 12:50:39 -04:00
arkon
aac766be3b Downgrade back down to Kotlin 1.8.10
Some people are having issues building the project in Android Studio. Invalidating/clearing the cache works for me,
but doesn't seem to work for others.

Potential tracking issue: https://youtrack.jetbrains.com/issue/KT-57605

(cherry picked from commit f317193becb5646b3b7eca794311745cc2ba29e0)

# Conflicts:
#	gradle/kotlinx.versions.toml
2023-05-06 12:50:22 -04:00
arkon
88404bfb28 Fix manga chapter flags not working
The new column is appended to the end, so ordering does matter here.

(cherry picked from commit f459515dd7bcecbd5dffef135c17f921c93efd52)

# Conflicts:
#	data/src/main/java/tachiyomi/data/manga/MangaMapper.kt
#	data/src/main/sqldelight/tachiyomi/data/mangas.sq
2023-05-06 12:49:38 -04:00
arkon
2cbd57db40 Process chapter duplicates after sorting
Closes #9255, sort of. The example is a bad edge case though, where chapter numbers are repeated across versions,
so realistically only the first 113 will appear but the later 113(s) won't despite being "different". Those realistically
should be in different manga entries, not all mixed together, so this is just a crappy source.

(cherry picked from commit 9339ea41962c5a8d8317eb973b25b7dc39b15843)
2023-05-06 12:48:17 -04:00
AntsyLich
eef061485e Avoid potential crash when opening library settings sheet 2.0 (#9419)
Avoid potential crash when opening library settings sheet  2.0

Previous one had issues

(cherry picked from commit 6bdc1b676e5ca4c3c8255ced835aa7d6bf7999d5)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryTab.kt
2023-05-06 12:48:07 -04:00
Andreas
70805d67f9 Add slider for changing columns (#9421)
- It changes the columns based on the current orientation

(cherry picked from commit 7451c13edd8486dd690bf7a2a55c3372b26061c4)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/LibrarySettingsDialog.kt
2023-05-06 12:47:12 -04:00
arkon
c0bd3c8627 extension-lib 1.5: Add AppInfo#getSupportedImageMimeTypes()
(cherry picked from commit ccd4143d9dc839f9246b405e98f5bad1770ba302)
2023-05-06 12:45:18 -04:00
AntsyLich
3d6a7509ce Add an icon to "Item Per Row" on library sheet (#9414)
Also cleanup `SettingsItems.kt`

(cherry picked from commit c21813a8b5fa58412e88b5ece494598840e9ce71)

# Conflicts:
#	presentation-core/src/main/java/tachiyomi/presentation/core/components/SettingsItems.kt
2023-05-06 12:45:08 -04:00
stevenyomi
0d5ac5f886 Fix exception formatter's format (#9413)
(cherry picked from commit 058ee4c86b15a7d4a11b9e4fb934e69a7c2ac19c)
2023-05-06 12:44:37 -04:00
arkon
67f50e667f Remove "when tapping" from "Pan wide images" setting
Closes #9343

(cherry picked from commit ea6e5eebacc9f736518ad181c3556f628f95dbac)
2023-05-06 12:44:14 -04:00
arkon
25c57c1fb2 Fix disable source option not appearing
(cherry picked from commit 9cc25ff3456a639514e66581792ab6b0c04855d7)
2023-05-06 12:44:06 -04:00
arkon
35abcf89e5 Consolidate exception message formatting
Closes #9408

(cherry picked from commit c9805b8612cbcba9c2b017ff67333c6c08ea32ba)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
2023-05-06 12:43:59 -04:00
Quang Kieu
ccdaeada29 Add interval data layer (#9398)
* Update Manga classes for fetch interval data

* Update per review

bump version

---------

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

# Conflicts:
#	app/build.gradle.kts
#	data/src/main/java/tachiyomi/data/manga/MangaMapper.kt
#	data/src/main/sqldelight/tachiyomi/data/mangas.sq
#	data/src/main/sqldelight/tachiyomi/migrations/24.sqm
2023-05-06 12:43:26 -04:00
arkon
73b7c8d12d Minor cleanup
(cherry picked from commit 392c3492b3e0e7c48837c5eda5e3f2e88c844aec)
2023-05-06 12:36:51 -04:00
arkon
38cf7d5300 Reword chapter swipe action preference labels
(cherry picked from commit f7cd3929a36ab3423f91ab8e1856fef49cce9e2e)
2023-05-06 12:36:34 -04:00
arkon
4ade0b3ed4 Handle archives with nested directories properly
Closes #9389

(cherry picked from commit 20bec66a9de5ae34dd437714ff5f80801e2e92b8)
2023-05-06 12:35:28 -04:00
Ken Swenson
72a20eca12 Double tap zoom toggle (#9384)
* Double tap zoom toggle

Implements a toggle that allows users to disable double tap zoom including QuickScaling for webtoons. Partially resolves #4145

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

---------

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

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsReaderScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReaderReadingModeSettings.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonFrame.kt
#	app/src/main/res/layout/reader_webtoon_settings.xml
2023-05-06 12:35:15 -04:00
d-najd
bb2ffc2dbe Add swipe actions for chapters (#9304)
* added chapter swipe

* Rework corner animtion

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

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

* Replace LTR/RTL with Start/End layout

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

* Getting rid of the swipe threshold setting

* adding disabled option, renaming stuff, other stuff?

* Getting rid of the snackbar

* Getting rid of unecessary strings

* changing enum names as requested

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

* Replacing error with download icon and action

* backup

* minor cleanup

* fixing an nasty edge case

* fixing mistakes in the previous conflict

* space

* fixing bug

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

* fixing lint errors

* fixing lints (hopefully)

* Added "swipe disabled" to the list of actions

* Replacing string value and moving value as requested

* replacing rest of the strings with generic ones

---------

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

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt
#	app/src/main/java/eu/kanade/presentation/manga/components/MangaChapterListItem.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsLibraryScreen.kt
#	domain/src/main/java/tachiyomi/domain/library/service/LibraryPreferences.kt
2023-05-06 12:33:27 -04:00
Tooster
cadc6469ef Fix misused string key in library context menu (#9388)
The "update global" action used key which led to translation issues in Polish.

(cherry picked from commit ef3d2c14b470c17d240e7522e04b251fccbc3b9a)
2023-05-06 12:24:05 -04:00
arkon
20d35268b1 Load ZIP file contents to cache (#9381)
* Extract downloaded archives to tmp folder when loading for viewing

* Generate sequence of entries from ZipInputStream instead of loading entire ZipFile

(cherry picked from commit 44619febd333f4e662cdbf149ae0741a43ebd27b)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/ZipPageLoader.kt
2023-05-06 12:23:42 -04:00
arkon
cf752a0d88 Maybe fix Firebase crashes
See https://github.com/firebase/firebase-android-sdk/issues/3507

(cherry picked from commit c48accb3572d79c772875436939f7141cf5f9423)

# Conflicts:
#	app/proguard-rules.pro
2023-05-06 11:24:25 -04:00
arkon
864de368ee Make loader implementation classes internal
(cherry picked from commit 418e6a8b3ac23c235e392fe64314a2e4994e209b)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/HttpPageLoader.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/ZipPageLoader.kt
2023-05-06 11:23:59 -04:00
arkon
351331a525 Minor cleanup
(cherry picked from commit 67b4e53a58209a42d03fcc00e3b7191f955bf257)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupManga.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
2023-05-06 11:21:11 -04:00
renovate[bot]
793234760f Update dependency io.github.fornewid:material-motion-compose-core to v0.11.3 (#9379)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit d62d94f587b801a1f0eadac2f6e98d36f8d9fa93)
2023-05-06 11:19:58 -04:00
arkon
a51660de2e Fix missing type info in release builds
(cherry picked from commit 265934d77aa514b8611d248b22f302082881aa02)
2023-05-06 11:19:31 -04:00
arkon
b44175eb50 Fix missing type info in release builds
(cherry picked from commit 2a218cca9007e6d96a59a8f64588fe8f1ee0cd75)
2023-05-06 11:19:18 -04:00
arkon
f44e94f514 Hide beta split tall images setting from reader setting sheet for release builds
Closes #9358

(cherry picked from commit e23cc8f83ad00ad45b709a40b7c3ca90a86477f1)

# Conflicts:
#	app/build.gradle.kts
2023-05-06 11:18:57 -04:00
arkon
713c44d520 Use Compose for reader transition chapter info (#9373)
(cherry picked from commit 0b125b7106570841a100b6a4b504533386315bbe)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/ReaderTransitionView.kt
2023-05-06 11:17:43 -04:00
renovate[bot]
e9dfcd8b38 Update dependency gradle to v8.1.1 (#9376)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 320587e36e19a4100ba1d7e22d55cd592ae9cd9b)
2023-05-06 11:15:20 -04:00
arkon
1e41f752fa Consolidate missing chapters functions to domain module and add tests
(cherry picked from commit 26f39955958bb27758de6572d2276deefb363971)
2023-05-06 11:15:14 -04:00
arkon
c7f38a1d25 Minor JavaDoc updates
(cherry picked from commit 94c94b2d883c103822d8a30288b6ab419a380506)
2023-05-06 11:15:04 -04:00
Pauline
23a452f839 Fallback chapter name if it ends up as blank (#9220)
* change the directory's name for a download when the chapter's name is only composed of numbers or is blank

* maj in case the chapter name is blank or empty

* clean code

(cherry picked from commit 41cc1fe7237a52c830e87c8261254b7f59922a6b)
2023-05-06 11:14:55 -04:00
arkon
d0810c90f5 Bump dependencies
(cherry picked from commit 03a344e9c1e52df4b8026e0e858bbf8fd83bfd2b)
2023-05-06 11:14:31 -04:00
arkon
3467d0d485 Bump dependencies
(cherry picked from commit ba30dfe7e2e0f86472864016da435b8c65b2d15f)

# Conflicts:
#	gradle/kotlinx.versions.toml
2023-05-06 11:14:21 -04:00
arkon
a35011d8f3 Remove abstract TabeedBottomSheetDialog class
(cherry picked from commit add228407f2fea4f2762e5c06ce18b2b457ca30e)
2023-05-06 11:13:28 -04:00
Ivan Iskandar
b96cbf7cb2 Add more info to debug screen (#9357)
* App version
* WebView version
* ART profile status
* Device model
* Android version

(cherry picked from commit 2c6e02506363496a183f2ecb7b50382a1544e94e)
2023-05-06 11:13:18 -04:00
arkon
d09471f0c4 Upgrade to AGP 8.0.0 (#9351)
(cherry picked from commit 97e6f1ea9a4b31d9b2cee0ffc4f032f3ba6d6bc7)

# Conflicts:
#	.github/workflows/build_pull_request.yml
2023-05-06 11:13:07 -04:00
renovate[bot]
f9039d9a8c Update dependency gradle to v8.1 (#9345)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 7e56cba060becf083b568be2bc5e5fec354f25a1)
2023-05-06 11:10:41 -04:00
renovate[bot]
db2d430d87 Update dependency com.google.firebase:firebase-analytics-ktx to v21.2.2 (#9344)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit dc569fb20af98c47bd9562830836bfaba49c68b1)
2023-05-06 11:10:12 -04:00
Shamicen
88f076afd4
Encrypted CBZ archives (#846)
* Initial Implementation of encrypted CBZ archives

* changed a preference key to correct Syntax, changed a function name and changed ComicInfo padding length

* Update app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsSecurityScreen.kt

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

* Update app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsSecurityScreen.kt

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

* add necessary imports

* fix indentation after merge conflict

* Update app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsSecurityScreen.kt

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

* fix indentation and add imports

* collect preferences as states

* test if password is correct in ZipPageLoader

* added withIOContext to function call

* added encryption type preference

* implemented database encryption

* added proguard rules for sqlcipher and generate padding length with SecureRandom

---------

Co-authored-by: jobobby04 <jobobby04@users.noreply.github.com>
2023-05-06 11:06:54 -04:00
Jobobby04
514e061dd9 Make sure migrations are applied if they are migrating to the previews 2023-04-18 17:32:26 -04:00
Jobobby04
6ce5e35704 Merge branch 'release'
# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/tachiyomi/data/database/models/MangaImpl.kt
2023-04-18 17:31:42 -04:00
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
e6fb7e890a Make sure migrations are applied if they are migrating to the previews 2023-04-17 17:30:08 -04:00
Jobobby04
26cb348661 Merge branch 'release'
# Conflicts:
#	app/build.gradle.kts
2023-04-17 17:29:20 -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 d94270ce320ff58e1ef0721288644a76935f9e51)
2023-04-17 17:12:28 -04:00
Jobobby04
64cdf0d158 Make sure migrations are applied if they are migrating to the previews 2023-04-16 17:42:16 -04:00
Jobobby04
641cc942cb Merge remote-tracking branch 'origin/release'
# Conflicts:
#	app/build.gradle.kts
#	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/App.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/AndroidSourceManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/advanced/process/MigrationListScreen.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/main/MainActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt
#	app/src/main/java/exh/recs/RecommendsScreenModel.kt
#	core/src/main/java/eu/kanade/tachiyomi/network/interceptor/UncaughtExceptionInterceptor.kt
#	domain/src/main/java/tachiyomi/domain/updates/interactor/GetUpdates.kt
2023-04-16 17:41:19 -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 b5fb64b70e7c24951e53d516c7910690ced244e6)

# 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 ed233a1a77ac3f7710b3c9b6414d048d014d8da5)
2023-04-16 17:13:36 -04:00
Jobobby04
b5fb64b70e Directly use shortcuts and update google services and firebase 2023-04-16 17:13:00 -04:00
Jobobby04
ed233a1a77 Should fix mangadex tracking crashes 2023-04-16 16:34:53 -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 af3a036e80ba492180d2f2a16af7fffeb6f3fb09)

# 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 b26749d61c779b186d5d5c6df7dffb9dff21ea19)
2023-04-16 15:17:07 -04:00
Jobobby04
ca423ba13e Improve migration copy and migrate functions
(cherry picked from commit 4212d155ce78bd2d6690305f65c673e5e99fe364)

# 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 d8c2baa135b8cdcac0c00e9b03beeecc132167d6)
2023-04-16 15:16:24 -04:00
Jobobby04
af3a036e80 Fixes for categories index 2023-04-16 14:17:55 -04:00
Jobobby04
b26749d61c Improve history migration 2023-04-16 14:12:48 -04:00
Jobobby04
4212d155ce Improve migration copy and migrate functions 2023-04-16 14:07:47 -04:00
Jobobby04
d8c2baa135 Fixes to center margin option 2023-04-16 13:10:43 -04:00
Shamicen
212c1d3287 Bump xmlutil (#839)
Bump xmlutil to version 0.85.0

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

* Return as before

(cherry picked from commit af9717686e910dd0e628cd43438862d4a139bef7)
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 0e618db668365d48bc235dccef3fff85534d2829)
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 c8c2d29f88fbdfd91761a2ce4e570560f220899c)
2023-04-16 12:42:29 -04:00
Howard Wu
5ab038cbf4 Update zh-rCN translation (#809)
(cherry picked from commit e8f95502112f5eb058e0d9ae5fc329f2e769dbd7)
2023-04-16 12:42:15 -04:00
Jobobby04
f40fb30af9 Refactor data saver
(cherry picked from commit 36381aca338c47f91b0eba72c5463f20e34fc817)
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 ae712527f333577fb2bbc178c5d915e6e6ae3916)
2023-04-16 12:41:19 -04:00
Daniel
43b3abf43b Smooth Automatic Scrolling for Webtoon (#777)
(cherry picked from commit 82f0e5bc01e93baa1cd81f9c898d15d51e3faa1b)
2023-04-16 12:41:05 -04:00
Jobobby04
c7433287c6 Add Data saver to MangaPlus
(cherry picked from commit 7155b2be10817749fbdbc88c06a1b68788b72b3c)
2023-04-16 12:40:06 -04:00
Jobobby04
3698b23523 Fix manga plus chapters
(cherry picked from commit d013578fb5d5ef6e796810869a90a7989caf51b2)
2023-04-16 12:40:01 -04:00
Jobobby04
787690c9bd Cleanup
(cherry picked from commit 81283dc5cfdf1c7623bcf480aad4e1645c0854fc)

# 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 28fe7fec0658b5b4f4b51802ed99121c9ddf194e)

# 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 d81a01aa1d102e450d97b03c8458a1b696d2cbb9)
2023-04-16 12:37:34 -04:00
Jobobby04
06e4429b92 Use current filters and toolbar query for saved searches
(cherry picked from commit fea36ad1381914a51b335eced2027eead5fe16a2)
2023-04-16 12:37:20 -04:00
Jobobby04
82c2d06d3f Drop queries if they direct to latest or popular
(cherry picked from commit 8f97dd7fb8314d2bf9895125806333ee0ce0b75b)
2023-04-16 12:36:13 -04:00
Jobobby04
37a4e2d72d Retry a few times if library or updates crash
(cherry picked from commit 5abab75d268a756c4eee2f7aa66f83ff46de447f)
2023-04-16 12:36:05 -04:00
Jobobby04
428fa17bfc Fix categories dialog showing group by categories
(cherry picked from commit afab9c236dda0eb3cc9892a4943c8c02bac46b75)
2023-04-16 12:35:54 -04:00
Jobobby04
b6baac90dc Fix library sort not using tag sort
(cherry picked from commit 259a487dc042825fa6ed3f3bc3a4ced6a191cf50)
2023-04-16 12:35:46 -04:00
Jobobby04
f6a6dcb540 Make sure the navigator disposes after migration
(cherry picked from commit 9bde4b8b33064aa1332bb94866ada07e19d4d0b6)
2023-04-16 12:35:39 -04:00
Jobobby04
8ec0bb9c8f Fix smart search not allowing you to back-out
(cherry picked from commit 76d852313d14536ac08487105104ab3b9a98d106)
2023-04-16 12:35:31 -04:00
Jobobby04
6ed4b79746 Guard from NaN crashes in batch add
(cherry picked from commit 28f3c4f4c696700ed516b3e7acc3299be1dc7d1d)
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 520846c75eae53d4adda8b593246d0478555d222)
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 3041200d7bbbc4e8899cb7cee388574521325904)
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 99546688dca3bd01029752d4ecc353fb0deaef96)
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 4f984cef5f28f98ba60efb6cb84b5eaecb2d77ca)
2023-04-16 12:32:11 -04:00
arkon
7a631de9e7 Fix Spanish (Latin America) being missing from in-app language selection
(cherry picked from commit 290efb0283145d81290972991047064c1d905c9c)
(cherry picked from commit e3a5860c1a00e856e61cbeab8c3dd4033beec276)
2023-04-16 12:32:03 -04:00
arkon
6ab803fc99 Bump subsampling-scale-image-view
(cherry picked from commit e5e18c2030f26e89aedd5536d21ab915ccdbb26a)
(cherry picked from commit 53ff9a5cc8dcd6953d601219164ff3b4b257406a)
2023-04-16 12:31:56 -04:00
arkon
639a2a9c38 Show proper string in manga detail screen for SourceNotInstalledException
(cherry picked from commit 14d1bcacc9cba0e14cdf90a7972bf85660465c0b)

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

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

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

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

(cherry picked from commit 779df32e98f2a020ca6a4f79c0748dd9f5b16873)
(cherry picked from commit acef44f55cd276ede9e5435ab9ed96062c526a79)
2023-04-16 12:30:46 -04:00
arkon
feec105ebd Fix occasional crash when opening library settings sheet
See https://stackoverflow.com/questions/47648689/sealed-classs-objects-mysteriously-becoming-null-when-referenced-by-other-compa

(cherry picked from commit c0e2eb211daefe47803d93161f896c6d5011a0ff)
(cherry picked from commit 5077000f52534f3d65a91ad373837fe5c7859485)
2023-04-16 12:30:34 -04:00
arkon
699ccad088 Avoid crash when loading invalid extension package
(cherry picked from commit 3d7c136320da3b5842a51d7dbb9e82cf74144f3f)

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

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

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

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/BrowseSourceScreen.kt
#	app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceToolbar.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt
(cherry picked from commit ab19d5c62a74d353961b3f554f82a2b6864bdbf0)
2023-04-16 12:29:00 -04:00
arkon
130ce513fd Move reader preloading to IO scope
Maybe fixes #8440

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

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

(cherry picked from commit 23432e44050cd8638f070745edf77be75aeffe21)
(cherry picked from commit 255eda6d8eff79efca2e892efea89e40be58a79f)
2023-04-16 12:28:15 -04:00
Ivan Iskandar
5384fd2d0f Scaffold: Fix snackbar bottom inset (#9052)
(cherry picked from commit 34a586ce48d6c10ac9eadb697b955ba336044bc2)
(cherry picked from commit b9a7a7388c4b2bd57072ca1204b193a6f22b090a)
2023-04-16 12:28:06 -04:00
Ivan Iskandar
40c819ffef Remove FAB extra padding in DownloadQueueScreen (#9053)
(cherry picked from commit ad762f8303f2cc37bd2b78fc366b01b80bbc012b)
(cherry picked from commit e925d7a603a66829e7c27b682a61c9606c526cc3)
2023-04-16 12:27:57 -04:00
0x7673
39ee73edeb Fix crash in library when selected category is deleted (#9044)
(cherry picked from commit 13bb45b4bee6e31685d47a4157e10bcedf111bf0)
(cherry picked from commit f54e5515acec41ffb5aa0e3239ef050e110a8cc8)
2023-04-16 12:27:46 -04:00
Jobobby04
7155b2be10 Add Data saver to MangaPlus 2023-04-15 23:22:04 -04:00
arkon
4f134f90ce Move library columns settings to library sheet
Closes #3969. Dialog-ception.

(cherry picked from commit c6ac9927985bc33a63f49e3280dc63f9f7e8d5de)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/LibrarySettingsDialog.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsLibraryScreen.kt
2023-04-15 23:19:38 -04:00
arkon
d94e12f000 Rename reading modes
Closes #9339

(cherry picked from commit 8a18e10cc2b0fb3ed03bb05c3a53ceb6867d0a75)
2023-04-15 23:07:08 -04:00
arkon
b7cddae0af Use Kotest matchers in other test classes
(cherry picked from commit d6b9711e454f7f1725feb6e764c56327d1da8e06)
2023-04-15 23:06:52 -04:00
arkon
4d1244daef Add tests for MissingChapters function
(cherry picked from commit 8ab7e632936a008d31a87acd335fbd5fb21d818b)

# Conflicts:
#	domain/build.gradle.kts
2023-04-15 23:06:45 -04:00
arkon
18546e0410 Move worker info screen into debug info menu
No need to translate anything for debug info. Dunno what else will end up in that menu in the future.

(cherry picked from commit 4bcd6238293e0583cdcc082711128358c5ae2069)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt
2023-04-15 23:06:04 -04:00
Weblate (bot)
1f7cdc7dbe Translations update from Hosted Weblate (#9290)
Weblate translations

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/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/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/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/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/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: Ali Aljishi <ahj696@hotmail.com>
Co-authored-by: Clxff Heraldo <123844876+clxf12@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: FateXBlood <zecrofelix@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: InfinityDouki56 <ced.paltep10@gmail.com>
Co-authored-by: ItsPoofy <tuanminh8688@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: Ric <rikku.debec@gmail.com>
Co-authored-by: Sertinel <cankalenderr@yandex.com>
Co-authored-by: Shjosan <shjosan@kakmix.co>
Co-authored-by: Swyter <swyterzone@gmail.com>
Co-authored-by: Temuri Doghonadze <temuri.doghonadze@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: edgolron <edgolron@tutanota.com>
Co-authored-by: jinu147 <nesqea20@gmail.com>
Co-authored-by: komeil Parseh <ahmdparsh129@gmail.com>
Co-authored-by: love CiCi <lll090407@gmail.com>
Co-authored-by: stevenlele <stevenlele@outlook.com>
(cherry picked from commit 18acf66cb85504da5d498a31189bcdae6aa54be7)
2023-04-15 23:04:52 -04:00
Trace
f5abcbb8bb fix: skip duplicate chapters on download ahead if option to skip duplicates is enabled (#9334)
* fix: skip duplicate chapters on download ahead if option is enabled

* fix: Use a function to filter duplicates

(cherry picked from commit 4816b4b53afa6db5dfaa2b023a4896e31425f97c)
2023-04-15 23:04:45 -04:00
Ivan Iskandar
0724536b2a WheelPicker: Add manual input (#9338)
(cherry picked from commit 60d86508600736099f389035d3ebef591a36fd14)
2023-04-15 23:04:39 -04:00
renovate[bot]
6832989958 Update dependency io.github.fornewid:material-motion-compose-core to v0.11.2 (#9310)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit bfb7b5afd5ea0310c681bee6108a7a5c36f715d6)
2023-04-15 23:04:29 -04:00
Ivan Iskandar
17de9bce9a WheelPicker: Add haptic feedback (#9322)
(cherry picked from commit a2627d70afabecc95b7be824dd027e8d9d530e57)
2023-04-15 23:04:21 -04:00
0x7673
dcd403d0a2 Remove horizontal padding of actions row in empty screen (#9332)
(cherry picked from commit 6662a97b2f928d608cc7a90b18bbb972ea829add)
2023-04-15 23:04:14 -04:00
Eshlender
99546688dc Update track domain shikimori.me (#9333)
shikimori.me

(cherry picked from commit 564a0980b99183bb2b73999c17a4c6603c008f05)
2023-04-15 23:04:04 -04:00
Jobobby04
d013578fb5 Fix manga plus chapters 2023-04-15 23:03:07 -04:00
Jobobby04
81283dc5cf Cleanup 2023-04-15 23:03:06 -04:00
Shamicen
928c2a069e
Bump xmlutil (#839)
Bump xmlutil to version 0.85.0
2023-04-09 20:54:57 -04:00
simakover
3d7b8cd551
fix to cryllic letter filtering (#837) 2023-04-09 20:54:39 -04:00
Howard Wu
0e618db668
Update zh-rCN translation (#831)
* Update zh-rCN translation

* Update strings_sy.xml
2023-04-09 20:54:15 -04:00
Jobobby04
28fe7fec06 Fix issues with feed reloading all the time 2023-04-09 20:46:47 -04:00
renovate[bot]
d532ea8137 Update aboutlib_version to v10.6.2 (#9309)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit e3fbd2688048a4503f5a393d46580ae627d372d3)
2023-04-09 18:52:33 -04:00
Ivan Iskandar
8ea4298f13 GlobalSearchScreen: Skip result screen when using search intent (#9299)
(cherry picked from commit c1e23ec18e54a53d1f027f66e71822a99602f603)
2023-04-09 18:52:24 -04:00
arkon
4f984cef5f Save current chapter progress when navigating to adjacent chapters
Fixes #9295

(cherry picked from commit 776d36caf11cf29287e4cb86a6e64574a296f89c)
2023-04-09 18:51:57 -04:00
Ivan Iskandar
3468944cca SearchToolbar: Check initial search query to open keyboard by default (#9297)
(cherry picked from commit 182e642cfce2da5578b02b83c2b52f21d1a8485c)
2023-04-09 18:51:50 -04:00
arkon
cf00ca90ef Bump dependencies
(cherry picked from commit 88bf1a706bcf43cfac33e252c1bd1f648497ee7c)
2023-04-09 18:51:42 -04:00
arkon
a3648d5606 Fix automatic backups not working
Apparently they die if you rename a worker class.

(cherry picked from commit d25ba23079e72d1cff05bfcd00b5f9830a086821)

# Conflicts:
#	app/build.gradle.kts
2023-04-09 18:51:32 -04:00
arkon
7c58cb85ef Remove crash log notification in favor of sharing directly
(cherry picked from commit 75460e01c80a75d604ae4323c14ffe73252efa9e)
2023-04-09 18:50:31 -04:00
renovate[bot]
ef13aa918e Update dependency com.android.tools:desugar_jdk_libs to v2.0.3 (#9287)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit c9bd3a5314a85a991a509a82e05a1937fc04105e)
2023-04-09 18:50:24 -04:00
arkon
2d20bc848f [skip ci] Update issue-moderator-action
(cherry picked from commit 7c6a5dc43b00d0ec7272c351467b1c01f94a69d9)
2023-04-09 18:50:14 -04:00
RS156
527a7b40e5 Make center zoom start vertically centered too (#8849)
Update ReaderPageImageView.kt

"true center" Zoom start position #8747.
Changed zoom position to get true center value.

(cherry picked from commit 274218cf228f5dfade2a11f053bb4fe1a7d11ed8)
2023-04-09 18:50:03 -04:00
Weblate (bot)
a3626eba24 Translations update from Hosted Weblate (#9237)
Weblate translations

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/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/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/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ne/
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/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: Ali Aljishi <ahj696@hotmail.com>
Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
Co-authored-by: C201 <derasetad@gmail.com>
Co-authored-by: Christian Elbrianno <crse@protonmail.ch>
Co-authored-by: Clxff Heraldo <123844876+clxf12@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: Druvvaldis <druvvaldisr@gmail.com>
Co-authored-by: Eduard Ereza Martínez <eduard@ereza.cat>
Co-authored-by: Erik Johannessen <erikjohannessen8@gmail.com>
Co-authored-by: FateXBlood <zecrofelix@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: 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: Ric <rikku.debec@gmail.com>
Co-authored-by: Ricardo <contatorms7@tutamail.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: kevans <albapazpi@gmail.com>
Co-authored-by: staxhinho <staxhinho@gmail.com>
Co-authored-by: stevenlele <stevenlele@outlook.com>
(cherry picked from commit c7d65095656f2d731f7041b028722d8b68a846a7)
2023-04-09 18:49:55 -04:00
arkon
0b72722afa Sample updates to scrollbars
(cherry picked from commit bc0b9e536a2c4a7059809dd8c1f31b0dce7f10bd)
2023-04-09 18:49:44 -04:00
Ivan Iskandar
7a1026dd06 Adjust SearchToolbar soft keyboard behavior (#9282)
* Show soft keyboard when the text field is composed (a redo)
* Clear focus on text field when soft keyboard is hidden
* Request focus on text field and show soft keyboard
when clear button is clicked

(cherry picked from commit 7a1b599462498f6be8faf08cbd2814a04863f3ef)
2023-04-09 18:49:37 -04:00
arkon
279bddee29 Ensure EmptyScreen is scrollable
Also fix padding for loading/empty states in BrowseSourceScreen

(cherry picked from commit 1dd62af188b49586413ad41857be456c856c17dd)
2023-04-09 18:49:30 -04:00
Ivan Iskandar
4e1f74d24b AdaptiveSheet: Wrap inside Dialog (#9279)
Because of Compose issue, the style of the sheet surface is adjusted as
a workaround

Ref https://issuetracker.google.com/issues/246909281

(cherry picked from commit 6f1099b7103ab7838e999e787f4e81344978a091)
2023-04-09 18:49:22 -04:00
arkon
691d08ab6e Make pin source icon lighter
Closes #9274

(cherry picked from commit be8e2f119f1289f5a96cab4720c22ace6f0fb59e)
2023-04-09 18:49:11 -04:00
arkon
dde1bff9ff Use IO dispatcher for some screen model work
Not sure if this is an ideal approach. If it is, we could migrate more usages to this.

(cherry picked from commit 18f9e5ba6b080a74805db553e22f15412ddeab12)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt
2023-04-09 18:49:02 -04:00
arkon
f909cfe0ce Remove unnecessary withIOContext
(cherry picked from commit d1bf8570797c891876b0c5fa2d9c210dc883f8a7)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt
2023-04-09 18:47:36 -04:00
arkon
166461e20f Don't unnecessarily wrap IOExceptions in UncaughtExceptionInterceptor
(cherry picked from commit 1814b3b22c3c24f781493228d85b9eb33be4cacb)
2023-04-09 18:46:17 -04:00
arkon
9ddd17496b Refactor away some unnecessary lambda expressions
(cherry picked from commit be54b8862e53af94f08549cbfae0afb2cc4c2f3e)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreen.kt
2023-04-09 18:46:06 -04:00
arkon
016ca790e0 Don't attempt to initialize manga details from BrowseSource or Search screens
This was effectively DDoSing sources as it does a request for every entry to get the details (primarily a cover image).
The expectation now is that users have to open individual entries to load the details/cover if needed.
This isn't necessary for most sources, which are able to provide covers as part of the listing normally.

(cherry picked from commit 1a61130f0b46addef036687b6c98f930e13147f8)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt
2023-04-09 18:43:25 -04:00
arkon
57d9ebb0b3 Restore POST_NOTIFICATIONS permission check for SDK 33+
Although we don't even target it yet and don't prompt for it but whatever, less work in the future.

(cherry picked from commit 1de4bc95865a5eb6491db79c413d98e05e8545e3)
2023-04-09 18:38:15 -04:00
arkon
86651ccf5e Skip POST_NOTIFICATIONS permission check for now
Fixes #9265

(cherry picked from commit 198604227788444f374b8702076b95fb593c8657)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/App.kt
2023-04-09 18:38:04 -04:00
arkon
9c8c04c34d Subscribe to changes to manga in BrowseSourceScreen
Fixes #9235

(cherry picked from commit e932983494d34d87824dba5313a01337ac75742f)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt
2023-04-09 18:36:37 -04:00
Two-Ai
2815068a00 Cleanup Preference.asHotFlow() (#9257)
* Drop duplicate initial call in Preference.asHotFlow

Preference.changes() always starts by returning the current value of
the preference, so asHotFlow calls block twice on the initial value.

Possible breaking change: As implemented, asHotFlow ran block(get())
before returning the flow. After this change, the first call to block
will run within the flow collection. This might cause concurrency
issues if the flow collection is late to execute.

* Inline Preference.asHotFlow

The Preference.changes().onEach().launchIn() pattern is used widely,
so the asHotFlow extension method is redundant.

(cherry picked from commit 35d381144d010be47566ee480c311c3d13952822)
2023-04-09 18:33:32 -04:00
stevenyomi
519abe90fc Simplify code in missing chapters warning (#9263)
(cherry picked from commit 0bcc22822d75e074e18387dc62b73ffa89c429d2)
2023-04-09 18:15:32 -04:00
arkon
77dc09ff21 Adjust missing chapters UI
(cherry picked from commit 1ff78173f71f838e57052557eb9e1c6fe3a402f1)
2023-04-09 18:15:24 -04:00
arkon
fe301dfd8b Bump dependencies
(cherry picked from commit ee45f461936d7c4b065a704d3cfb365556b24903)
2023-04-09 18:15:14 -04:00
arkon
e3a5860c1a Fix Spanish (Latin America) being missing from in-app language selection
(cherry picked from commit 290efb0283145d81290972991047064c1d905c9c)
2023-04-09 18:15:03 -04:00
arkon
0b37ce8baf Add TODO to default to 32-bit color at some point
Originally proposed in #8959

(cherry picked from commit 8d7a7919a9bc4b3e2242486c16d0c8b947e8ab64)
2023-04-09 18:14:55 -04:00
arkon
880b06dd3b Add "Rotate wide pages to fit" setting for paged reader
Originally authored in #7983

Co-authored-by: timothyng-164 <timothyng-164@users.noreply.github.com>
(cherry picked from commit 953720472fe64ef488ecae7ae7fea453b8c7c68b)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReaderReadingModeSettings.kt
#	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/res/layout/reader_pager_settings.xml
2023-04-09 18:14:48 -04:00
Felix Kaiser
be17682e3c Added missing chapters count in MangaInfoHeader (#9184)
* Added missing chapters count in MangaInfoHeader

* Added "Might be missing chapters"

* Added missing chapters to MangaAndSourceTitlesLarge function

* Removed comments

* Reworked getMissingChapters to countMissingChapters, moved -1 check

* Attempting detecting sub-chapters

* Moved MissingChapters to ChapterHeader; Adapted design to fit in

* Fixed block comment in one-line-element

* Fixed critical missing-chapter counting bug

* Undid unintentional & unnecessary changes

* Moved & refactored countMissingChapters

* Fixed import order; Mapping chapter object to chapterNumber

* Optimized "No (valid) chapters" detection

---------

Co-authored-by: arkon <arkon@users.noreply.github.com>
(cherry picked from commit f94d902bb6bca5eb37683f0be8e4c92f859fe2cf)
2023-04-09 18:11:10 -04:00
arkon
0382362390 Bump Compose dependencies
(cherry picked from commit da25322572f4994148a040f223b03787256cdcb6)
2023-04-09 18:11:03 -04:00
arkon
cad8fe1fa0 Bump dependencies
(cherry picked from commit cb4699a5bb1e940292db57c738ae26ceb612f5bb)
2023-04-09 18:10:55 -04:00
arkon
be388753a1 Rename Complications -> Overlay
(cherry picked from commit 2e5efadf424541d58eed79da13f0a9a1bc3c0e1f)
2023-04-09 18:10:38 -04:00
arkon
53ff9a5cc8 Bump subsampling-scale-image-view
(cherry picked from commit e5e18c2030f26e89aedd5536d21ab915ccdbb26a)
2023-04-09 18:10:29 -04:00
Howard Wu
c8c2d29f88
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
2023-03-20 20:04:37 -04:00
Jobobby04
d81a01aa1d Make statistics not required for MangaDex 2023-03-20 19:35:27 -04:00
Jobobby04
3d856ca357 Minor cleanup 2023-03-20 19:33:38 -04:00
arkon
b483bd0729 Revert "Always attempt to split tall images when downloading"
This partially reverts commit 2769525b2c12547b8dc29b1209ea3bc5d22f1e3f.

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

(cherry picked from commit ac0596a53d74561ad5174db1938c16049a65dd18)
2023-03-20 19:00:27 -04:00
arkon
2a708e8b68 Always attempt to split tall images when downloading
(cherry picked from commit 2769525b2c12547b8dc29b1209ea3bc5d22f1e3f)
2023-03-20 19:00:20 -04:00
arkon
3185ae78c6 Move isLocal extension functions to LocalSource
(cherry picked from commit 7ec5a51eb858c0f585bfe1a2662cf203495d40ef)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/source/interactor/GetEnabledSources.kt
2023-03-20 19:00:06 -04:00
arkon
42146b6d1e Misc cleanup
(cherry picked from commit 3cca4602829fd706c5b850bcf45d472ee95b2a38)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/source/SourceExtensions.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/MangaScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReaderPreferences.kt
2023-03-20 18:57:43 -04:00
arkon
5eb852c111 Split up ContextExtensions into smaller files
(cherry picked from commit d703fb79462574c96c5c429c83d0c3d44de99082)
2023-03-20 18:45:54 -04:00
arkon
10c3d3b150 Clean up WorkManager usages a bit
(cherry picked from commit 859601a46e5d32cd14979177832edaf342615e19)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt
2023-03-20 18:45:18 -04:00
arkon
15d52784f8 Convert BackupRestoreService to a WorkManager job
Co-authored-by: Jays2Kings <Jays2Kings@users.noreply.github.com>
(cherry picked from commit cdc160afc2e3bb615fe35c8d7261a3bc16f61996)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupRestorer.kt
2023-03-20 18:42:05 -04:00
arkon
85af8ea517 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
2023-03-20 18:32:48 -04:00
arkon
d91d53557a Set default automatic library updates to off
(cherry picked from commit abd23b68266a296c9698ba89f0cb665bbe9a799d)
2023-03-20 18:31:42 -04:00
arkon
d80d06a2d5 Simplify some of the notification builders
(cherry picked from commit 7d8a865cac18ca307ef89768950a0835ebbb6f05)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/App.kt
2023-03-20 18:31:30 -04:00
Andreas
0f3bb9f7d7 Migrate things to use newer data models (#9239)
* Remove old database models from Coil

* Remove old database models from TrackInfoDialogHome

* Remove old database models from Backup Manager

(cherry picked from commit dfdb688b437c38954b1072b7a1df15921a437868)

# 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/BackupManga.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/models/Manga.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/models/MangaImpl.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/model/SMangaExtensions.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
2023-03-20 18:27:59 -04:00
renovate[bot]
95f770b39e Update dependency com.github.requery:sqlite-android to v3.41.1 (#9233)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit c955ac6a66690adef75d41ffa6dac68bd9d2e764)
2023-03-20 18:02:39 -04:00
arkon
118bdd05f7 Re-enable ComicInfo.xml generation on download
Closes #8537

(cherry picked from commit f3ca4e76a8ee10560897e8718267b208ae2cb3c2)
2023-03-20 18:02:28 -04:00
arkon
8d0c9969b0 Clean up library display settings tab a bit
(cherry picked from commit 843e748de3d8d4afff7b7b6baa47193e4138191f)
2023-03-20 18:02:15 -04:00
Weblate (bot)
2b6da6ae69 Translations update from Hosted Weblate (#9178)
Weblate translations

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/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/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/kk/
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/sc/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/sq/
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_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: Alex Georgiou <alexandrosgeorgiou35@gmail.com>
Co-authored-by: Clxff Heraldo <123844876+clxf12@users.noreply.github.com>
Co-authored-by: Denis Çerri <deniscerri3@gmail.com>
Co-authored-by: FateXBlood <zecrofelix@gmail.com>
Co-authored-by: InfinityDouki56 <ced.paltep10@gmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Piny <weaamadel77@gmail.com>
Co-authored-by: Shjosan <shjosan@kakmix.co>
Co-authored-by: Timo <timovdvenne@gmail.com>
Co-authored-by: Xnethers <z44440000z@gmail.com>
Co-authored-by: altinat <altinat@duck.com>
Co-authored-by: bertklaps <bert.klaps@intel.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: niisshhaanntt <nishant_bodkhe@yahoo.com>
Co-authored-by: ssantos <ssantos@web.de>
(cherry picked from commit d160cfaa0e290d283547418c82fa07a983cadc48)
2023-03-20 18:02:05 -04:00
Alexandr Kozlinskiy
075190feb5 BrowseSource: do networkToLocal and initializeManga inside flow (#9217)
* do networkToLocal and initializeManga inside flow

* remove BrowseSourceScreenModel.GetManga

(cherry picked from commit 81af97df77666ff5f43abc7c46a7caffe9c91a02)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt
2023-03-20 18:01:35 -04:00
Ivan Iskandar
7e81fa6723 Adjust tab indicator visual (#9219)
Now behaves like the non-compose indicator by showing the swipe progress too

(cherry picked from commit 18e55aa25fe7ea63e66a99d1373fbdb449a358d7)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/components/LibraryTabs.kt
#	presentation-core/src/main/java/tachiyomi/presentation/core/components/material/Tabs.kt
2023-03-20 17:54:33 -04:00
Ivan Iskandar
9798289270 Initialize download index disk cache (#9179)
(cherry picked from commit 4d3e13b0d13a902f0755714e0f56d284acad5a5f)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadCache.kt
2023-03-20 17:52:46 -04:00
Jobobby04
fea36ad138 Use current filters and toolbar query for saved searches 2023-03-20 17:45:12 -04:00
Jobobby04
5893350f43 Fix Saved Search issues 2023-03-20 17:45:11 -04:00
Jobobby04
16bbfcd086 Move FilterSerializer to source-api 2023-03-20 17:45:10 -04:00
Dexroneum
af9717686e
[RU] Translations (#822)
* [RU] Translations

* Return as before
2023-03-16 20:21:25 -04:00
Jobobby04
a92392231c Move some things to the domain module 2023-03-16 20:18:41 -04:00
Jobobby04
42a93fca5c Fix saved search sometimes using a blank query 2023-03-16 19:17:23 -04:00
Jobobby04
8f97dd7fb8 Drop queries if they direct to latest or popular 2023-03-16 18:33:30 -04:00
Jobobby04
5abab75d26 Retry a few times if library or updates crash 2023-03-16 18:23:20 -04:00
Jobobby04
afab9c236d Fix categories dialog showing group by categories 2023-03-16 18:10:48 -04:00
Jobobby04
259a487dc0 Fix library sort not using tag sort 2023-03-16 18:00:02 -04:00
Jobobby04
9bde4b8b33 Make sure the navigator disposes after migration 2023-03-16 17:52:29 -04:00
Jobobby04
76d852313d Fix smart search not allowing you to back-out 2023-03-16 17:44:13 -04:00
Jobobby04
28f3c4f4c6 Guard from NaN crashes in batch add 2023-03-16 17:30:28 -04:00
Jobobby04
d94270ce32 Don't optimize out serializers 2023-03-16 17:22:52 -04:00
Jobobby04
7ec6f7febe Revert serialization updates due to crashes 2023-03-15 21:23:00 -04:00
Jobobby04
04dc4ef66a The crash is fixed somehow 2023-03-15 19:01:44 -04:00
Jobobby04
d400ddc0a5 Revert "Remove suffix (#810)"
This reverts commit 978a814815772d21bd95f138786914f6525e112d.

Going to just change the build system to output a new name format so that all the time doesnt go to waste
2023-03-15 18:22:28 -04:00
Jobobby04
7e075b9a5c Minor cleanup 2023-03-15 18:18:27 -04:00
Jobobby04
36381aca33 Refactor data saver 2023-03-15 18:18:14 -04:00
Wisest_wizard
ae712527f3
Use wsrv.nl service (#778)
* Add wsrv.nl datasaver service

* Add code comments
2023-03-15 17:44:57 -04:00
Daniel
82f0e5bc01
Smooth Automatic Scrolling for Webtoon (#777) 2023-03-15 17:42:25 -04:00
Jays2Kings
520846c75e
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
2023-03-15 17:40:52 -04:00
Howard Wu
e8f9550211
Update zh-rCN translation (#809) 2023-03-15 17:40:08 -04:00
Howard Wu
978a814815
Remove suffix (#810)
TachiyomiSY's APK didn't have this suffix.
The code now causes the corresponding architecture impossible to find, which leads to downloading the APK for arm64 when updating from x86_64.
2023-03-15 17:31:28 -04:00
arkon
5b7cbd66c4 Bump dependencies
(cherry picked from commit a335b4ee9e089abe36c064f68873c6e59b088d19)
2023-03-15 17:17:28 -04:00
arkon
5269ad3b87 Refactor tracker status string mappings
Should fix #9195

(cherry picked from commit 47a2d066821d0f65680255f5ce6442fd0af55382)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/track/TrackManager.kt
2023-03-15 00:45:23 -04:00
Ivan Iskandar
98e4ca4804 Revert "Fix banners-related issues" (#9186)
Revert "Fix banners-related issues (#9143)"

This reverts commit 63048d2f0b57477aecb4fd91f1f8c20a66ec9e18.

(cherry picked from commit c0f94ae8afaacd218f05e72d1d30c9d15f1eb09e)
2023-03-15 00:25:07 -04:00
arkon
0cd1c65045 Bump dependencies
(cherry picked from commit ed32a511e7d3b6d0ffb33c66b437f56ad2474428)
2023-03-15 00:24:58 -04:00
Ivan Iskandar
95821e43ea Bump compose-bom version 2023.02.00-rc02 (#9185)
(cherry picked from commit 17ed4873e86330abc6c37480555152dc453eb5fa)
2023-03-15 00:24:29 -04:00
arkon
d71dbdd2f8 Remove download all chapters menu item
Users can still select all the chapters (long press + select all) to download them.

(cherry picked from commit 09acc534835d6aa664b037b54401a817ed44fb45)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/LibrarySettingsDialog.kt
2023-03-15 00:24:22 -04:00
arkon
6fbf250796 Move more things to domain/data modules
(cherry picked from commit bebd4be43d73617de2cfbc1ff4289e81f535a8e6)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsGeneralScreen.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsLibraryScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/AppModule.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/home/HomeScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt
#	data/src/main/java/tachiyomi/data/source/EHentaiPagingSource.kt
#	data/src/main/java/tachiyomi/data/source/SourcePagingSource.kt
#	domain/build.gradle.kts
#	domain/src/main/java/tachiyomi/domain/category/interactor/SetDisplayModeForCategory.kt
#	domain/src/main/java/tachiyomi/domain/category/interactor/SetSortModeForCategory.kt
#	domain/src/main/java/tachiyomi/domain/history/interactor/GetHistoryByMangaId.kt
#	domain/src/main/java/tachiyomi/domain/library/service/LibraryPreferences.kt
2023-03-15 00:23:28 -04:00
arkon
f930f63670 Use stricter visibility for composables where possible
(cherry picked from commit 9b77759f2496ef98c10b7dd7cf385b7be75313ef)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/category/components/CategoryDialogs.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreen.kt
2023-03-14 23:50:25 -04:00
arkon
9b1f9c9635 Add dot beside unread chapter names
Closes #4261
Also includes changes that might help with #9043

(cherry picked from commit e458de5e9c845ac5a278aec397b7a0cdbd4f94ed)
2023-03-14 23:37:21 -04:00
arkon
534705a217 Remove some app translations that have low completion rates
(cherry picked from commit 737a303df7ddeb29829edbd348297f910690caca)
2023-03-14 23:37:07 -04:00
Weblate (bot)
3ee9c048b8 Translations update from Hosted Weblate (#9148)
Weblate translations

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/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/ml/
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/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/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: Alessandro Jean <alessandrojean@gmail.com>
Co-authored-by: C201 <derasetad@gmail.com>
Co-authored-by: DIO Brando <babhiram131@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: FateXBlood <zecrofelix@gmail.com>
Co-authored-by: Felipe Nogueira <contato.fnog@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: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: Mamon Asad <mmamonasad@gmail.com>
Co-authored-by: Matteo Mercurio <mercurio.matteo27@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: TheKingTermux <achmadmaulana0233@gmail.com>
Co-authored-by: Vetle Ledaal <vetle.ledaal@gmail.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 477dd379811504477880e8412fd3b63ae3ac025e)
2023-03-14 23:36:56 -04:00
arkon
bbb18319c2 Use Compose icons instead of drawables
Using:
- https://github.com/DevSrSouza/compose-icons
- https://github.com/DevSrSouza/compose-icons/blob/master/simple-icons/DOCUMENTATION.md

(cherry picked from commit e917349bb7e1fb37b5cf58a130a33d13e1872093)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/AboutScreen.kt
2023-03-14 23:36:39 -04:00
arkon
e4ad723606 Refactor SourceManager/StubSource to domain module
(cherry picked from commit ad4912803bda73e0f1d5e2e0246561a508e72fd7)

# Conflicts:
#	app/src/main/java/eu/kanade/data/source/SourceRepositoryImpl.kt
#	app/src/main/java/eu/kanade/presentation/browse/BrowseSourceScreen.kt
#	app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/AppModule.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/AndroidSourceManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/details/SourcePreferencesScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/ChapterLoader.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/updates/UpdatesScreenModel.kt
2023-03-14 23:35:34 -04:00
arkon
0c037cb89d Move some preferences into domain module
(cherry picked from commit f96f0c58890c0cdc7c2f8142c42db2dbc8fdcbb2)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/chapter/interactor/SetReadStatus.kt
#	app/src/main/java/eu/kanade/tachiyomi/AppModule.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt
2023-03-14 23:14:51 -04:00
Jobobby04
e18729c6b0 Fix build 2023-03-14 23:05:26 -04:00
arkon
e582f7998c Move sourceMapper to data module
(cherry picked from commit 2b9acadc5b7e418f41fa6f93a29a005d671598ee)

# Conflicts:
#	app/src/main/java/eu/kanade/data/source/SourceRepositoryImpl.kt
2023-03-14 23:05:14 -04:00
arkon
ef00925ddd Show proper message when doing global update
Fixes #9170

(cherry picked from commit 9caa0d147b9d993daf173dbd7d756ab3372943bc)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryTab.kt
2023-03-14 22:56:16 -04:00
arkon
c481d5c575 Bump default user agent string and minimum WebView version
(cherry picked from commit c6e5f8abd9e0e2096d3a8ad17a370107e20cc288)
2023-03-14 22:55:05 -04:00
Andreas
8ad53c45e0 Convert source modules to Kotlin Multiplatform (#9172)
Use KMP in source modules

Use KMP in source-api

Expect LocalSource

(cherry picked from commit 1abf01c4a030b089e6300cb284cc93f7ed323a22)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/AppModule.kt
#	source-api/build.gradle.kts
#	source-api/src/commonMain/kotlin/eu/kanade/tachiyomi/source/PagePreviewSource.kt
#	source-api/src/commonMain/kotlin/eu/kanade/tachiyomi/source/online/FollowsSource.kt
#	source-api/src/commonMain/kotlin/eu/kanade/tachiyomi/source/online/LoginSource.kt
#	source-api/src/commonMain/kotlin/eu/kanade/tachiyomi/source/online/MetadataSource.kt
#	source-api/src/commonMain/kotlin/eu/kanade/tachiyomi/source/online/NamespaceSource.kt
#	source-api/src/commonMain/kotlin/eu/kanade/tachiyomi/source/online/RandomMangaSource.kt
#	source-api/src/commonMain/kotlin/eu/kanade/tachiyomi/source/online/UrlImportableSource.kt
2023-03-14 22:54:50 -04:00
Two-Ai
0d3bbe4271 Inline DownloadQueue into Downloader (#9159)
* Move statusFlow and progressFlow to DownloadManager

* Inline DownloadQueue into Downloader

* Move reorderQueue implementation to Downloader

(cherry picked from commit b41565f8794e3865ceae914bd00b500dbd2abacf)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/download/model/DownloadQueue.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
2023-03-14 22:41:11 -04:00
arkon
16a23f89a5 Add explicit overflow menu options to refresh library category and manga chapters list
Jetpack Compose treats mouse input differently than just mimicking a touch input, so dragging doesn't actually
invoke the pull to refresh. If that changes in the future, we could consider removing these.

Doesn't seem too necessary for the extensions list, so I skipped that.

Closes #8455

(cherry picked from commit f03a83413689923633c8ebe5634b34c566733961)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/components/MangaToolbar.kt
2023-03-14 22:27:19 -04:00
arkon
9baa52db00 Use queued last chapter read number when performing delayed tracker update
Fixes #8876

(cherry picked from commit f7f2072621bbcaf4ddbe07f746a5cf78490c95c9)
2023-03-14 22:24:05 -04:00
arkon
899f0ae86f Minor refactoring
(cherry picked from commit 5b2e937d5fdeadc8a9a994b99b3f6b7a277f2513)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/source/model/SourcePagingSourceType.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt
2023-03-14 22:23:54 -04:00
Andreas
b5b5dd0e81 Move Local Source to separate module (#9152)
* Move Local Source to separate module

* Review changes

(cherry picked from commit f27dc19b378f2f38ed2885f40d93f6d8817ef584)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/source/interactor/GetEnabledSources.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/source/SourceManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SourceSearchScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/ChapterLoader.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt
#	core/src/main/java/tachiyomi/core/util/system/ImageUtil.kt
#	source-local/src/main/java/tachiyomi/source/local/LocalSource.kt
2023-03-14 22:10:00 -04:00
arkon
2b96fa46ba Add menu shortcut to source settings in BrowseSourceScreen
Adapted from TachiyomiSY.

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

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceToolbar.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreen.kt
2023-03-14 21:33:13 -04:00
Two-Ai
f8dc4f25d1 Move all DownloadService.stop calls to Downloader (#9146)
Downloader.stop is now the sole responsible for stopping the
DownloadService. This will help cleanly removing
DownloadService.stop when migrating to coroutines.

(cherry picked from commit 0505906e7a554abe6bbbc2c1cd4a6bfaa9407bf6)
2023-03-14 21:28:32 -04:00
arkon
897d019f0b Avoid crashing in SourcePreferencesScreen if source can't be loaded
(cherry picked from commit 4efca047658761e54cc7574a6e33ed681de3f40a)
2023-03-14 21:28:24 -04:00
arkon
e9083fc571 Avoid crash in DeleteLibraryMangaDialog
No clue why it ever gets a -1 index though.

(cherry picked from commit b12c7cf9633a9fc3a728a0ef44b5d50d621a7595)
2023-03-14 21:28:15 -04:00
arkon
88aa796f2f Close source filter dialog when filtering
(cherry picked from commit 487622c592bf8bb859e3e1afacbd29243733c4b9)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceFilterDialog.kt
2023-03-14 21:28:06 -04:00
arkon
3041200d7b Avoid uncaught exceptions from OkHttp interceptors crashing entire app
(cherry picked from commit 26d422b0aeaee2d0a7957f0f8d955e045dde1a34)
2023-03-14 21:26:52 -04:00
Weblate (bot)
c53ac56ade Translations update from Hosted Weblate (#9107)
Weblate translations

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/es_419/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/fil/
Translate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ko/
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/sq/
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: Amjad Ali <playeroid96@gmail.com>
Co-authored-by: FateXBlood <zecrofelix@gmail.com>
Co-authored-by: Geovani Amaral <geovani.af4@gmail.com>
Co-authored-by: InfinityDouki56 <ced.paltep10@gmail.com>
Co-authored-by: Juan <benitesjn@gmail.com>
Co-authored-by: Lzmxya <lzmxya@gmail.com>
Co-authored-by: MedRAM <mohammad7ram@users.noreply.hosted.weblate.org>
Co-authored-by: gnu-ewm <gnu.ewm@protonmail.com>
Co-authored-by: jinu147 <nesqea20@gmail.com>
Co-authored-by: seew3l <luisrleccar@hotmail.com>
Co-authored-by: stevenlele <stevenlele@outlook.com>
Co-authored-by: whales <mololet277@aosod.com>
Co-authored-by: 朔夜月 <a03175ii0@gmail.com>
(cherry picked from commit 79a7b688376996c0ded4e1637a74f89a75868f9c)
2023-03-14 21:26:42 -04:00
Ivan Iskandar
87788a49d7 Fix banners-related issues (#9143)
This is most likely Compose issue so these changes will
be reevaluated when new Compose ver is out.

(cherry picked from commit 63048d2f0b57477aecb4fd91f1f8c20a66ec9e18)
2023-03-14 21:26:29 -04:00
Two-Ai
b842d48512 Misc Downloader state cleanup (#9145)
* Replace Downloader CompositeSubscription with nullable Subscription

* Derive Downloader.isRunning from subscription

Also simplify usages of isRunning

* Move DownloadNotifier.paused to Downloader.isPaused

* Remove unused DownloadNotifier.errorThrown

(cherry picked from commit 79662a58665e50d99d408e2be30d3af02053b5ca)
2023-03-14 21:26:20 -04:00
Two-Ai
b6afd8df46 Simplify filter logic (#9141)
* Remove unnecessary else branch

* Add TriStateFilter applyFilter

* Simplify filterFnTracking filter logic

(cherry picked from commit ed6809fa2835831b8d5739d195eff1dbf74df801)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/chapter/model/ChapterFilter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
2023-03-14 21:26:12 -04:00
Two-Ai
b9a18d2c73 Make DownloadManager the sole entry point for DownloadService (#9140)
* Rename functions for DownloadService internal use

* Call DownloadService.start via DownloadManager

* Inline DownloadService.stop into pauseDownloads

* Inline DownloadService.stop into clearQueue

NotificationReceiver will now also stop the DownloadService when
receiving ACTION_CLEAR_DOWNLOADS.

* Provide DownloadService.isRunning via DownloadManager

(cherry picked from commit 86b9262a7ef6c4e97f248bdf417b0e06503fefac)
2023-03-14 21:20:07 -04:00
arkon
51f655e9d5 Migrate TriState usages to TriStateFilter enum
(cherry picked from commit 7ec87e76db55766e02c28eb732cf18ba4c413b18)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/domain/library/service/LibraryPreferences.kt
#	app/src/main/java/eu/kanade/presentation/library/LibrarySettingsDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceFilterDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
2023-03-14 21:19:56 -04:00
arkon
8e1c68ee5c Bump dependencies
(cherry picked from commit a0e76d2fd951be5bd6dfc5e64ede030cf2220e28)
2023-03-14 20:48:22 -04:00
Ivan Iskandar
fd95de016d TrackDateSelectorScreen: Use M3 date picker (#9138)
(cherry picked from commit ec3ce74af8d6f16b58b368e78acf72f929f3f9e6)
2023-03-14 20:48:01 -04:00
Two-Ai
028a539fc0 Remove redundant Downloader isNotification argument (#9139)
DownloadQueue.clear() already sets QUEUE downloads to NOT_DOWNLOADED.

(cherry picked from commit 83a4e3409536a9264cf9074cf64480ee43fb5274)
2023-03-14 20:47:49 -04:00
arkon
8bccdc4325 Remove some unused resources
(cherry picked from commit 84a0044d512aacc99f9cd847e5e019fedb2b4ecf)

# Conflicts:
#	app/src/main/res/layout/common_spinner_item.xml
2023-03-14 20:47:35 -04:00
arkon
314a740906 Migrate source filter sheet to Compose (#9135)
(cherry picked from commit 92132c59f5417ef81a7bbba6849be849282fc25e)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/components/SettingsItems.kt
#	app/src/main/java/eu/kanade/presentation/library/LibrarySettingsDialog.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/BrowseSourceScreen.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
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/filter/GroupItem.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/filter/SectionItems.kt
#	app/src/main/java/eu/kanade/tachiyomi/widget/SimpleNavigationView.kt
#	app/src/main/java/eu/kanade/tachiyomi/widget/listener/IgnoreFirstSpinnerListener.kt
#	app/src/main/res/drawable/empty_drawable_32dp.xml
#	app/src/main/res/drawable/ic_check_box_24dp.xml
#	app/src/main/res/drawable/ic_check_box_outline_blank_24dp.xml
#	app/src/main/res/drawable/ic_check_box_x_24dp.xml
#	app/src/main/res/layout/navigation_view_checkbox.xml
#	app/src/main/res/layout/navigation_view_checkedtext.xml
#	app/src/main/res/layout/navigation_view_group.xml
#	app/src/main/res/layout/navigation_view_radio.xml
#	app/src/main/res/layout/navigation_view_spinner.xml
#	app/src/main/res/layout/navigation_view_text.xml
#	app/src/main/res/layout/source_filter_sheet.xml
2023-03-14 20:38:57 -04:00
Ivan Iskandar
1a5bf9f763 Bump compose-bom version 2023.02.00-beta02 (#9137)
(cherry picked from commit 36ae3883323d2a141a562cf401da3475f5c7e222)
2023-03-05 19:53:15 -05:00
arkon
563063a6fd Fix per-category sort/display affecting the wrong category
(cherry picked from commit bd47eafeecc837f833a0c370372dd6d5edb62130)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibrarySettingsScreenModel.kt
2023-03-05 19:53:02 -05:00
arkon
654e894aee Bump dependencies
(cherry picked from commit 9432d2d06a817cc22fe147b0d3f33f156de09840)
2023-03-05 19:47:47 -05:00
Two-Ai
87107fcc94 Convert downloadChapter to suspend function (#9127)
1:1 translation from the RxJava implementation, should match the
previous behavior.

Dropped the return value from functions of the form
```
fun foo(t: T, ...): Observable<T>
```
where the Observable produced the original argument `t`.
The caller already has the result if necessary.

While this conversion is not flow-based overall, some sections use
flows to use the flatMapMerge and retryWhen operators.

Removed RetryWithDelay as it was only used here.

Inlined fetchAllImageUrlsFromPageList instead of converting it to a
suspending equivalent. fetchAllImageUrlsFromPageList is no longer
used in the app, but was not removed as it is part of source-api.
(However, it does not seem to be used exposed in extensions-lib or
used in tachiyomi-extensions.)

runBlocking is used as a temporary stop-gap.

(cherry picked from commit fa61c8fe6fb4966f5d23f643759f0e4229b8f016)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt
2023-03-05 19:47:32 -05:00
arkon
798de2d71b Consolidate all theme colors to presentation-core module
(cherry picked from commit 92bd98e45f4132d3f0eb937d39c5df5d43a772a7)
2023-03-05 19:41:46 -05:00
arkon
61eb128f3b Move CheckboxState to core module
(cherry picked from commit fd7c993b0bfb897ea0770c91e4594367ae9c2316)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
2023-03-05 19:41:36 -05:00
Two-Ai
acef44f55c 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)
2023-03-05 19:03:13 -05:00
arkon
5427b0e02d Fix package names
(cherry picked from commit f4e843f114ce04b744a74e108ab697adde09ff8f)
2023-03-05 19:03:03 -05:00
Jobobby04
778c50753a Minor fix with grouping in library sheet 2023-03-05 19:02:39 -05:00
arkon
5077000f52 Fix occasional crash when opening library settings sheet
See https://stackoverflow.com/questions/47648689/sealed-classs-objects-mysteriously-becoming-null-when-referenced-by-other-compa

(cherry picked from commit c0e2eb211daefe47803d93161f896c6d5011a0ff)
2023-03-05 18:59:10 -05:00
arkon
d2ccd2fd93 Fix height shift when scrolling through themes
(cherry picked from commit 0bd56ab77cb654f016f6ed6c52dd7afd7cd72836)
2023-03-05 18:59:01 -05:00
Ivan Iskandar
a57a813953 Use Compose Foundation's flow layout (#9123)
(cherry picked from commit 6b03dca5f47947a8fe1dd7989b19ff5d23030c2e)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/components/MangaInfoHeader.kt
2023-03-05 18:58:44 -05:00
Ivan Iskandar
fe088b279e Add minLines to comfortable grid item title (#9122)
(cherry picked from commit bd7b21337ca9bee98877cae298784401a4a4e7b7)
2023-03-05 18:49:29 -05:00
Ivan Iskandar
c787ccb84d Use non-stable Compose BOM (#9120)
(cherry picked from commit 60a3ba5a5c1d09e3c3cb56f808a95b239cb0624e)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/components/MangaInfoHeader.kt
2023-03-05 18:49:18 -05:00
arkon
eceff666ec [skip ci] add link to FAQ in issue templates
(cherry picked from commit 7c2eb0b881762f692770146952e829a12a6c82bb)
2023-03-05 18:34:17 -05:00
arkon
6563490513 Remove dependency injection from core module and data module from presentation-widget module
Includes side effects:
- No longer need to restart app for user agent string change to take effect
- parseAs extension function requires a Json instance in the calling context, which doesn't necessarily need to be the default one provided by Injekt

(cherry picked from commit 93523ef50b80ef294866bfb0da54e236cdf2d9f6)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/updater/AppUpdateChecker.kt
#	app/src/main/java/eu/kanade/tachiyomi/extension/api/ExtensionGithubApi.kt
#	core/src/main/java/eu/kanade/tachiyomi/network/NetworkHelper.kt
#	core/src/main/java/eu/kanade/tachiyomi/network/OkHttpExtensions.kt
#	domain/build.gradle.kts
#	source-api/build.gradle.kts
2023-03-05 18:33:57 -05:00
arkon
2e1c83442e Move more components to presentation-core module
(cherry picked from commit 10d734950659ce5e6ede82a98b89be107912f927)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/manga/MigrationMangaScreen.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/MigrateSearchScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SourceSearchScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/category/CategoryScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/home/HomeScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryTab.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt
2023-03-05 18:00:20 -05:00
arkon
85224c368d Avoid crash when loading invalid extension package
(cherry picked from commit 3d7c136320da3b5842a51d7dbb9e82cf74144f3f)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/extension/util/ExtensionLoader.kt
2023-03-05 17:48:11 -05:00
arkon
2e4bd7c089 Avoid crashes if headers can't be built for usage in WebView
(cherry picked from commit ec49411bee9d7099e13685a02d54edabed863557)
2023-03-05 17:44:50 -05:00
arkon
5f9743223d Use unique keys for all screens to avoid crashes
Fixes #9008
Fixes #9110

(cherry picked from commit 3f7911235c595fe6925e8e22c0c64a368700066e)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/manga/MigrationMangaScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateSearchScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/home/HomeScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt
2023-03-05 17:44:35 -05:00
arkon
3257366ec0 Migrate library settings sheet to Compose
(cherry picked from commit 727399611ddff3530d66ad7a758f357f95053b92)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/library/service/LibraryPreferences.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/main/MainActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/widget/ExtendedNavigationView.kt
2023-03-05 17:37:46 -05:00
renovate[bot]
e910fa3f70 Update dependency gradle to v8.0.1 (#9108)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 94232a493796f302a70511d0528d6be6767a81c3)
2023-03-05 16:53:38 -05:00
arkon
935b6576d0 Minor settings sheet cleanup
(cherry picked from commit 07fdb74fbc9ae2afa67e427bb4a94860c7a2d8e6)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/library/service/LibraryPreferences.kt
#	app/src/main/java/eu/kanade/presentation/manga/ChapterSettingsDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibrarySettingsSheet.kt
2023-03-05 16:53:29 -05:00
arkon
669e88f34b Remove unnecessary usages of NotificationManagerCompat to actually create notifications
(cherry picked from commit d400ac2a49001b207741ab30e328259a1e77de4c)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/App.kt
2023-03-05 16:45:18 -05:00
arkon
586068d720 Move more components
(cherry picked from commit dd71c76a8f0b760ec806e71be77998bbc2da61a3)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreen.kt
2023-03-05 16:44:36 -05:00
arkon
4db8fa8f12 Move more components to presentation-core module
(cherry picked from commit 58a0add4f6bd8a5ab1006755035ff1b102355d4a)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/ExtensionsScreen.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/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
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryTab.kt
2023-03-05 16:37:21 -05:00
arkon
60741e1b3b Move more components to presentation-core module
(cherry picked from commit bfe143015a810fc42c1284ef03fbf57ff1a02395)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/ExtensionsScreen.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/MigrateDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/category/CategoryScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/home/HomeScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt
2023-03-05 16:14:29 -05:00
arkon
148268571e Start moving some Compose components to presentation-core module
(cherry picked from commit e3cf8632305283468a5e8366a257d6d6880ca1a6)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/ExtensionsScreen.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsMainScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/details/SourcePreferencesScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SourceSearchScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryTab.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
2023-03-05 16:03:12 -05:00
arkon
efca899165 Move chapter utils to domain module
(cherry picked from commit ee818bc7c543e8f4b799f18b989817906ac195ab)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/chapter/interactor/SyncChaptersWithSource.kt
#	app/src/main/java/eu/kanade/domain/chapter/model/ChapterFilter.kt
#	app/src/main/java/eu/kanade/domain/history/interactor/GetNextChapters.kt
2023-03-05 15:12:20 -05:00
Jobobby04
70b83e1061 Minor cleanup 2023-03-05 15:05:54 -05:00
arkon
259b8f383f Move more things to domain module
(cherry picked from commit f816196df29ee9744e93470df48b2f7f24ae18f7)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/history/interactor/GetNextChapters.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/MigrationFlags.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt
2023-03-05 15:05:35 -05:00
arkon
169be9b615 Bump dependencies
(cherry picked from commit 753bf7de5d1fea4c139912a6801d94422db7c8c6)
2023-03-05 14:34:13 -05:00
arkon
5a635af208 Only show unread entries in widget
Closes #9083

(cherry picked from commit 3634b52e3a2c6ede24af8074988373383dc68fae)
2023-03-05 14:33:56 -05:00
Weblate (bot)
3ddc3ecde0 Translations update from Hosted Weblate (#9035)
Weblate translations

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/ceb/
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/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/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/km/
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/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/te/
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: 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: Blue <bluestuffish@gmail.com>
Co-authored-by: C201 <derasetad@gmail.com>
Co-authored-by: Cliff Heraldo <123844876+clxf12@users.noreply.github.com>
Co-authored-by: Dan <denqwerta@gmail.com>
Co-authored-by: Daniel JB <daniel.jb.1911@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: FateXBlood <zecrofelix@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: Iftikhar Mahmud <iftikhar.mahmud4@gmail.com>
Co-authored-by: InfinityDouki56 <ced.paltep10@gmail.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Kanishka Parankusham <kanishka7878@gmail.com>
Co-authored-by: Lyfja <yassinelaoud@gmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: NanoWarrior <jagadeeshvarma.b@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: P6N7L <nichitapospai@gmail.com>
Co-authored-by: PSxUchiha <priyanshusharma1803@outlook.com>
Co-authored-by: PedroJLR <jacobnchrono@gmail.com>
Co-authored-by: Pitpe11 <giorgos2550@gmail.com>
Co-authored-by: Shippo <Shipox@users.noreply.hosted.weblate.org>
Co-authored-by: Soroush <skaveh1384@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: Walter Alonso <waljoalbri@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: beerpsi <lacvtg.a1.2023@gmail.com>
Co-authored-by: jinu147 <nesqea20@gmail.com>
Co-authored-by: saurus <sokphanun@gmail.com>
Co-authored-by: seew3l <luisrleccar@hotmail.com>
Co-authored-by: shadowzephyr <shadowzephyr88@gmail.com>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: stevenlele <stevenlele@outlook.com>
(cherry picked from commit ef863335e61195c76c28ee16c04958000e325691)
2023-03-05 14:33:43 -05:00
arkon
366219d7f5 Avoid crashing if getChapterUrl is not implemented
Fixes #9105

(cherry picked from commit ceaf579cb0b4b0ecdf2e56f245a2fad2b6ed2e85)
2023-03-05 14:33:25 -05:00
arkon
268f542bbb Remove unused Rx/Coroutines converters
(cherry picked from commit b49280e347d857c7f1dd17805f601ed2766e650e)
2023-03-05 14:33:04 -05:00
Ivan Iskandar
a163223d83 MainActivity: Avoid navigator-related crash when handling onNewIntent (#9104)
(cherry picked from commit d3dadf71e8d7d029fdb87b44217e001f95f21c1a)
2023-03-05 14:29:31 -05:00
Two-Ai
725a66f078 Remove RxJava in PageHolder (#9103)
Inline readImageHeaderSubscription in PageHolder

Inline readImageHeaderSubscription in PagerPageHolder and
WebtoonPageHolder by converting setImage() into a suspend function.
The image processing runs in the loadPageAndProcessStatus
continuation.

Use suspendCancellableCoroutine as a substitute for doOnUnsubscribe
in WebtoonPageHolder.
Closing openStream after the frame.setImage but before the PageHolder
is recycled causes the page display to fail for reasons that are not
currently understood.

Remove subscription handling from WebtoonViewer/WebtoonBaseHolder as
it is no longer used.

(cherry picked from commit ffa8c8fd0746863e08b839f9d91102fe6d5d7887)

# Conflicts:
#	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
2023-03-05 14:29:06 -05:00
arkon
ab19d5c62a 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
2023-02-26 21:49:11 -05:00
Two-Ai
288fe0d888 Simplify PageHolder load Job (#9086)
Inline statusJob into loadJob, using supervisorScope to load the page
and track status changes in parallel.
- supervisorScope does not complete until both the child loadPage
  coroutine and statusFlow.collectLatest have completed.
- Cancelling supervisorScope cancels the child loadPage coroutine and
  statusFlow.collectLatest.
- Use supervisorScope instead of coroutineScope to let status
  collection continue if loadPage fails.

Inline progressJob into loadJob, using collectLatest's cancellation
to avoid cancelling the progressFlow collection explicitly.
- collectLatest cancels the previous action block when the flow
  emits a new value. This means the DOWNLOAD_IMAGE
  progressFlow.collectLatest gets automatically cancelled when
  statusFlow emits a new state.

Convert launchLoadJob to suspend function, move job launch to caller,
and rename as loadPageAndProcessStatus.

(cherry picked from commit 4635e58405eedce0b49fc69f7ccb190a7c600da9)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt
2023-02-26 21:37:26 -05:00
0x7673
57113014ec Add copy tags to clipboard feature (#9063)
(cherry picked from commit d02b0ca2db744b0eca48dfca86811d653fd3bdaf)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt
#	app/src/main/java/eu/kanade/presentation/manga/components/MangaInfoHeader.kt
2023-02-26 21:28:58 -05:00
arkon
829452bc03 Don't apply Wi-Fi network restriction for manual library update jobs
Fixes #9074

(cherry picked from commit 4d607c4aed126ef5ab02c48ad5e7fcbda9b92864)
2023-02-26 21:09:22 -05:00
Ivan Iskandar
fccea2d92a Rework on the wheel picker (#8559)
* Rework the wheel picker

doesn't need for the animation to stop to change the value

* fix

---------

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

# Conflicts:
#	.github/renovate.json
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsLibraryScreen.kt
2023-02-26 21:09:14 -05:00
arkon
cf22ed24ad Remove background extensions updates check
Same reasoning as removing app update check. It gets kicked off in the foreground now too.

(cherry picked from commit 2970eca9e4b56ede7549eb6d49841b7011fe0741)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsBrowseScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
2023-02-26 21:08:36 -05:00
arkon
a275a102e9 Remove background app update check
We already check in the foreground. If the app isn't being foregrounded at all, then there isn't much
point in checking for an update.

(cherry picked from commit 42954609b94e13d8fadbf1f3769e9f32fa9e8447)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/tachiyomi/data/updater/AppUpdateJob.kt
2023-02-26 21:05:06 -05:00
arkon
8fc9e77b77 Add option to hide entries already in library when browsing sources
Closes #2941

(cherry picked from commit 6348cbaeb7dc786309c1ed811ff23114583144a8)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/source/service/SourcePreferences.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt
2023-02-26 21:03:40 -05:00
arkon
9872ee7ab9 Open global search when Browse is tapped twice
Closes #3925

(cherry picked from commit a7cb33d8c9d84e41977b488d4b7a54afc48cb61f)
2023-02-26 20:59:13 -05:00
stevenyomi
1569c3bb50 Add note to migration copy string (#9075)
(cherry picked from commit ec46b2281bb4ddbdc5a0a34d72c21ed76c4a522e)
2023-02-26 20:59:02 -05:00
arkon
2736f4491a Replace Local and In Library badge text with icons
Fixes #5725

(cherry picked from commit 3a2dc46ff0b42d42f93b0dd7267d526e7bb8b30a)
2023-02-26 20:58:53 -05:00
arkon
ab8c8db6ac Move reader preloading to IO scope
Maybe fixes #8440

(cherry picked from commit e052bdef96c133b92dfad214c2b05ab03d4c5866)
2023-02-26 20:58:45 -05:00
arkon
b42c5b58ea Avoid preload download check if chapter is already loaded or loading
Maybe fixes #8953, #9060

(cherry picked from commit d522d6d545bfbd4e4f8f60975bddcd5f6bcc69ac)
2023-02-26 20:58:36 -05:00
Two-Ai
6955819888 Clean up LibraryItem (#9072)
* Move LibraryItem vars to constructor vals

* Convert LibraryItem to data class

Remove redundant equals and hashCode

* Remove unused LibraryItem.displayMode

* Simplify LibraryItem.matches()

* Align types in LibraryItem and LibraryBadges

* fixup! Simplify LibraryItem.matches()

(cherry picked from commit 7b118eba22b6c9caccf09cbd53f846869d5c6f2a)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryItem.kt
2023-02-26 20:58:27 -05:00
arkon
5d0543d0aa Replace custom download amount with next 25
Simplifies things and maybe discourages whacky downloading behavior?
Users can still range select in the chapters list to download custom amounts.

(cherry picked from commit f6e6a7ddf1d32a55da81344b1ae360e16e5560e4)

# Conflicts:
#	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/MangaScreenModel.kt
2023-02-26 20:57:35 -05:00
arkon
1acfac0aa2 Update Cascade
Also clean up kotlinx.serialization versioning

(cherry picked from commit 5ce64ac7ff05984d55a23f5c4edbde57ebc601f8)
2023-02-26 20:56:06 -05:00
Ivan Iskandar
2023acf319 MangaCoverDialog: Disable memory cache (#9066)
(cherry picked from commit 1671a56f42c4bb1de3482c2ff264593531e5d39d)
2023-02-26 20:55:28 -05:00
arkon
776bd6c27d Bump dependencies
Fixes #8168, I think.

(cherry picked from commit ab6dfe9e256dafc9085617aba0a094462eef1337)
2023-02-26 20:55:04 -05:00
arkon
b75a8fc146 Clean up chapter item composables a bit
Might help with #9043?

(cherry picked from commit bff98ca76830accfe462d011d42040ae6c1876e8)
2023-02-26 20:54:17 -05:00
arkon
ce273e3199 Rename Security settings to Security and privacy
Closes #9049

(cherry picked from commit 32b9b261f06ce85a474457a33ef755c66f643dee)
2023-02-26 20:53:36 -05:00
arkon
255eda6d8e Prioritize finding selected chapter when deduping reader chapters
Fixes #9054

(cherry picked from commit 23432e44050cd8638f070745edf77be75aeffe21)
2023-02-26 20:53:13 -05:00
Ivan Iskandar
b9a7a7388c Scaffold: Fix snackbar bottom inset (#9052)
(cherry picked from commit 34a586ce48d6c10ac9eadb697b955ba336044bc2)
2023-02-26 20:53:00 -05:00
Ivan Iskandar
e925d7a603 Remove FAB extra padding in DownloadQueueScreen (#9053)
(cherry picked from commit ad762f8303f2cc37bd2b78fc366b01b80bbc012b)
2023-02-26 20:51:30 -05:00
Ivan Iskandar
4f4205230f Fully utilize WorkManager for library updates (#9007)
No more trampolining, and stuff.

It's pretty much straight copy-paste from the service, with
some changes related to cancellation handling. Manual updates
will also runs with workman job so auto update work
scheduling need some adjustments too.

Bumped version code to re-enqueue auto update job with the
new spec.

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

# Conflicts:
#	app/build.gradle.kts
#	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/ui/library/LibraryTab.kt
2023-02-26 20:50:47 -05:00
0x7673
f54e5515ac Fix crash in library when selected category is deleted (#9044)
(cherry picked from commit 13bb45b4bee6e31685d47a4157e10bcedf111bf0)
2023-02-26 20:14:56 -05:00
Two-Ai
0339001451 Replace RxJava in DownloadQueue (#9016)
* Misc cleanup

- Replace !List.isEmpty with List.isNotEmpty
- Remove redundant case in MoreScreenModel
- Drop no-op StateFlow.catch
  - From lint warning:
> SharedFlow never completes, so this operator typically has not
> effect, it can only catch exceptions from 'onSubscribe' operator

* Convert DownloadQueue queue to MutableStateFlow

Replace delegation to a MutableList with an internal
MutableStateFlow<List>.

In order to avoid modifying every usage of the queue as a list, add
passthrough functions for the currently used list functions. This
should be later refactored, possibly by inlining DownloadQueue
into Downloader.

DownloadQueue.updates was a SharedFlow which updated every time a
change was made to the queue. This is now equivalent to the queue
StateFlow.

Simultaneous assignments to _state.value could cause concurrency
issues. To avoid this, always modify the queue using _state.update.

* Add Download.statusFlow/progressFlow

progressFlow is based on the DownloadQueueScreenModel implementation
rather than the DownloadQueue implementation.

* Reimplement DownloadQueue.statusFlow/progressFlow

Use StateFlow<List<T>>.flatMapLatest() and List<Flow<T>>.merge() to
replicate the effect of PublishSubject.

Use drop(1) to avoid re-emitting the state of each download each time
the merged flow is recreated.

* fixup! Reimplement DownloadQueue.statusFlow/progressFlow

(cherry picked from commit bd2cb97179de60dded147f1ec9cdb55f70f28e74)
2023-02-26 20:14:36 -05:00
stevenyomi
bbbd34a8de Tweak Response.parseAs() to utilize intrinsics (#9047)
(cherry picked from commit 0d8f1c8560c5d65712d1656856ab33b6de0adb09)

# Conflicts:
#	core/src/main/java/eu/kanade/tachiyomi/network/OkHttpExtensions.kt
2023-02-26 20:14:24 -05: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 acb8ab15b2e73ba2f161eb201e93ba3a36df2867.

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

This reverts commit 30ac94181b2c410aedead964a815b080ef3e62ee.

* 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 db3c98fe729ef6b00beba8d605bc002a7b8d1712)
2022-12-25 20:46:28 -05:00
arkon
bf628d878d Increase max library column size back to 10
Fixes #8798

(cherry picked from commit f401574f5abb6946da375a08e2bb7ed6487fb4fe)
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 376bbeb724ca6cb7de53213c478d1750d99c8d2a.

* Properly fix issue 8720

(cherry picked from commit 3251fb36c8f3b12c7ae06ec18fd591eced9e17f6)
2022-12-24 16:35:11 -05:00
Ivan Iskandar
55e525b175 TrackDateRemoverScreen: Fix pop behavior after confirming removal (#8792)
(cherry picked from commit 94a410f50fc8a50ac499d31b7b3423372a6fb2ac)
2022-12-24 16:35:04 -05:00
arkon
ee1b3f6bec Update baseline profile
(cherry picked from commit a14c01c1dea274ba2f71dd8f99254acbf860b957)
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 ca3b948628cf34f2e22f5334164fc61b1a87a3ba)

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

# 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 8e1b5b4803b0da76f0ed5091d3fb1b6c3b2359f5)
2022-12-20 15:44:43 -05:00
Ivan Iskandar
82fdbad6bf Update WorkManager (#8772)
(cherry picked from commit 8552838bdae29b6b6001b5efd958dd00fcdf7443)

# 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 dac04f29295cb030d9d222ab29595c6225ed005f)
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 817e144ff697b4c6760c0101a6995d7030eb48a0)

# 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 9d2d78ae5b659b257f2d565b7e20465eaf011200)
2022-12-17 23:17:20 -05:00
stevenyomi
91f6abec98 Fix snackbar blocking refreshing state in MangaScreen (#8759)
(cherry picked from commit c44db54d9f729f94c53ccf690cb86e8bac332189)

# 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 376bbeb724ca6cb7de53213c478d1750d99c8d2a)
2022-12-17 23:13:55 -05:00
arkon
b364ffdeea Minor cleanup
(cherry picked from commit 0e2bdb7863c25f6f980e59c09d95d4687bf112d5)

# 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 235bc7745734fdda4cbcfe42452d611e8fa6693c)
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 593172f891667c1510d1812917cad93bfa362363)

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

# 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 5f4825465e5764ddf9742eb71a833274ef9bfcc7)
2022-12-16 01:02:06 -05:00
arkon
7f1d8f51c5 Sort global search source results properly
Fixes #8741

(cherry picked from commit bc6a12a4f7788de2b41eca291a82a79b55ec75e8)

# 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 90db3acefd6290310c8cf8bab2563b3413a8cf4a)
2022-12-16 00:57:40 -05:00
arkon
33b054edfa Fix crash if tapping title when opening reader directly
(cherry picked from commit 2f2f59279d828ee689a477104079618d6436827e)

# 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 4992f87cb185cfac90aa86f4c4aeb2d0a0385c18)

# 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 7608cb0da37840c33fb8eac04dd1808cb58b2327)
2022-12-16 00:49:37 -05:00
arkon
635b112452 Convert download cache/queue flows into SharedFlows
Fixes #8727

(cherry picked from commit 9dd9e741f34aeb49a15a939ec7f8495a992d8bf8)
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 171db639ffc8e79aac8d8d8e6a354f8d703a387c)
2022-12-16 00:49:14 -05:00
arkon
e5ad53e1d3 Remove unused resources
(cherry picked from commit 3ede42252ce98346a7fd14d6b2ec12d4579e850b)
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 a94ca175e283a3e96cef49b163dad1a30d2a5d70)
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 3749cee28f269aabe5ea18ffb62483a28d0c75e7)

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

# 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 820ed6a46880af1e9390706dc9915f3c7d385c60)

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

# 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 8937e22ce4769818c1908b1ad60914553d1e42e2)
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 82a3a98a5ae7153d5edb2bcef7a13d7474e24e03)

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

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

# 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 1009e15aa61f3a717d0fec8a6d7c2d57aacdd4e1)

# 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 01c6e46a711c3d5b7bf41ad92b8a977f88b44357)

# 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 ed5e013874ad5bff00a5544e7f8b62c8ca7b1764)
2022-12-15 22:05:16 -05:00
arkon
16879e02e8 Disable Jetifier
(cherry picked from commit f8e4153dbfc06e1cc75b7665a179ff013bea61e7)

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

# 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 e748d91d4a45f6b54c1e3c7df8b859d3a08fed2b)
2022-12-15 21:30:14 -05:00
stevenyomi
c94505d289 Migrate Accompanist SwipeRefresh to Compose PullRefresh (#8106)
(cherry picked from commit 2c4ddca38eef8ea3bc7aad290223ebe0e93dbca2)
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 6ca32710be5bfed851ab695a0d9438c7ab609b24)

# 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 f05e251991c0f89c9f275acc4d6c29a4fc856913)
2022-12-15 21:08:31 -05:00
arkon
c81da465f6 Avoid some crashes
(cherry picked from commit a3f3f9d5626c120619e0f4cc7c2d82045e065201)

# 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 410fcb73c502f3c71b90250f1bfcd343626dea35)
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 b6d6de6b9f80798c5b363f7e361de073db4a6d55)
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 09cebf20f3ee150629fe3c62d3974180fec6f8a2)

# 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 a8c732d67bc4565792f0b28efcde101210885323)
2022-12-05 17:19:39 -05:00
arkon
afec4f43eb Minor cleanup
(cherry picked from commit c88b79fa178adb49814bc118a1657fa93665a5fd)

# 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 3f9820ac797090185bd73de7a217561a5914a21d)
2022-12-05 13:46:35 -05:00
Ivan Iskandar
acb251cc96 Fix ANR when opening from notification/widget (#8683)
(cherry picked from commit c288e6b8face1f02e18a1a1a4f2dde4d48a2e576)
2022-12-05 13:45:58 -05:00
Ivan Iskandar
f14bb4c736 Change source preference theming fix (#8679)
(cherry picked from commit 8945ef88809d3d87ebbd9c12ade89a3ee9266fef)
2022-12-05 13:45:48 -05:00
arkon
c93a696344 Hide webtoon reader scrollbars
Fixes #8676

(cherry picked from commit 99a717f84914d9bcd512359fc5f9c74fa07f08e4)
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 4622b18c9960e9ca618cbdcba98920350358781c)
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 4f5270cb7debf3a523f9a4aa5bb7c8c62b05be7d)
2022-12-04 15:46:52 -05:00
arkon
2fa43ba2c0 Truncate long nav bar/rail items
Fixes #8670

(cherry picked from commit 719d42795602b6da795f52e9871706c5931c6295)
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 d7a21771a5ee01993e48f903316ac0ff699ee66f)
2022-12-04 15:46:36 -05:00
Ivan Iskandar
5298ddb70f Fix appbar back button in Settings screen (#8674)
(cherry picked from commit be854b3e90c345db589cde30daaa839c0a21c129)
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 47f079891fe666e2a2c7d91fe1f7fc49981a78f9)

# 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 696dc59ea5ebacb5c4fc36b04f3d4125d91385a7)

# 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 5f6666a438a3a58088765aa3813a49f14afcb72c)
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 f284a656d706f4d2cbedbc7d986ed109358b060a)
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 1c3d566f8d033296e1f6f07a7593af10c09b61fb)
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 373463e99509eb976fc9a861a460a965b5a7314a)
2022-12-03 17:35:43 -05:00
Ivan Iskandar
b89c2f76a1 Fix BrowseSourceScreen list/grid unnecessary reloads (#8661)
(cherry picked from commit 7be9b49143d4634478e42e245f927226ea762237)

# 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 1a70ebe7eaeed9665cedf3a7dc2dd583af05031d)
2022-12-03 15:17:49 -05:00
arkon
35152e4e75 Replace RxJava in ReaderChapter and reader transitions
(cherry picked from commit beda99bbe02aefde7a24c2109ae0784a78514e34)
2022-12-03 15:07:15 -05:00
arkon
632cbd2b0d Replace some usages of RxJava in reader
(cherry picked from commit bb1e7816e156caea72a333f16d3d9cef61e0c8cc)

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

# 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 3d66eaea8373b6ab5d8e8423be227e0452cb0743)

# 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 5313a5d5d246bde7df78d43e6704c5a3d5140c23)

# 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 5b189a909b06156c5bbbb7b8d7570ee27c16bdf6)

# 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 75a687138dd5f3b761255740254b11093d664638)
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 ba91b483a03ab24907574c392cf008395ca4e628)

# 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 3a8b5e1b5e0a9fdd8b6fd10a23508fb92baf77e2)
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 94d1b68598692cc0ef981e2dfbf12303fa962f63)

# 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 8eda4df71f3e4ad5ff0f812b695a0164cc1828cd)
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 8ad933786377f761bd90d3f8d93d646a213a3f25)
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 cd13e187cf673f91aaeab6a7143b190544226227)

# 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 bcc21e55bd226811ba14fbc6c1009a91f5c891fc)
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 5fbecfd7b747b3961699fe63eb9264eac495794b)

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

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
2022-11-28 22:27:31 -05:00
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 5076ab3049a67570a173926aa4752934a28f50f1)
2022-11-28 22:22:32 -05:00
arkon
7f97754bfe Minor global search UI tweaks
(cherry picked from commit 44366ac0580d3e51c03cbed8530e48ebe37f2e1f)

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

# 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 fe6aa4358fccf369412bb898c0dcbe747dc4bac8)
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 f99b62a069e8e987318a0144090560795d59e3ff)

# 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 ac1bed38f93e6b8e51b6f8cc2dae97c7ccb5f9b6)
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 217b03a292457b648ab8abd7c2d264382ddb3023)

# 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 28bceffc6fa0d0626a364d46b13c382e44cce13d)
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 09266a155ce582efe3ad0e4d911a70495c727cec)

# 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 3d7591fecae47c75e6e4bc78b53ac02811620d92)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/MoreScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/more/MoreScreen.kt
2022-11-28 16:10:04 -05:00
Ivan Iskandar
9384d45282 Use Voyager on Library tab (#8620)
(cherry picked from commit e14909fff40360bec99acfb80ac7c1100c62ceb9)

# 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 fe579c4865a4ca040bf4654306618507bb669bae)
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 37118088d44d6597e7a3c01687d8570fe4bb3c4f)
2022-11-26 13:51:01 -05:00
arkon
44c324f145 Use Voyager between more screens
(cherry picked from commit 5c9e9bd2c4647da189d7313f2ee206541e65f409)

# 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 db35ba53b193eb16b8ace646b9e96b62979351ab)
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 758d223776fca7f1c938ace0521c968a10f8603f)
2022-11-26 13:45:31 -05:00
AntsyLich
c7b7cb4d1e Add "jitpack" maven repo to pluginMangment (#8617)
(cherry picked from commit 21a9bf2463bb5eef8e7ebda193830420af7ace07)
2022-11-26 13:45:22 -05:00
arkon
9fb68b28f2 Fix Kavita interceptor crashing app + minor cleanup
(cherry picked from commit a54d9912d0eb2c0677a8ca1b759bad65c6141f51)
2022-11-26 13:45:14 -05:00
arkon
0b7861e794 Explicitly add READ_APP_SPECIFIC_LOCALES permission
Some devices are throwing a SecurityException (calling getApplicationLocales) for some reason.

(cherry picked from commit 7e74949d38a8ea43120e672c61556419157a4af1)
2022-11-26 13:45:07 -05:00
Andreas
fe15c0d603 Use Voyager on Migrate Manga screen (#8611)
(cherry picked from commit a8c578096346b873610159e684f858c3a7c65e6d)

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

# 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 0347d3970a31d072fe58186b7dd35c1aed1c9270)
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 acc2312384c6f7e1062e4194ed71bd85d844083a)
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 7d34ff214cad896abc2a834300d632ddce0a732f)

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

# 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 5c37347cecc99582752ee500171e8480008c836e)

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

# 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 2a2c6cee5f3a4d02aa2bfcd4ea0cfb316e3ceb90)
2022-11-24 16:21:23 -05:00
Andreas
ed59ba07c1 Remove unused resources (#8578)
(cherry picked from commit 7dff3cc6cbca10e46cbbb54829aa09b80aeaaa66)
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 8c1171a72256f76972e787d53e182869df2a87d4)

# 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 2c850d0e33e82b9dd6b155ec9e8bf2eb1c716496)
2022-11-24 16:06:28 -05:00
Andreas
2e24ae62a4 Use Voyager on Extension Details screen (#8576)
(cherry picked from commit f1b85ff39d13aa81a835a97efb7a70c3d877e115)

# 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 b7fa25777d6972d85d9f47926db9c0984e1d2ecc)
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 2d86f69caa79b17b000ec1139a4283f8e9d1db35)
2022-11-24 15:47:54 -05:00
arkon
4f8d2f3fd7 Use current timezone when setting tracker dates
Fixes #8553

(cherry picked from commit e22896a9569b3dc8d8bc087a4765f8de2391a69b)
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 be5802e47335cded38af67979e45f060e3779595)
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 434c90d37893b2e7119ad3f78968105674258cfb)
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 eb6ba96b573a43e171c181f83919f8e16f97ce8d)

# 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 f52785cbbd

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

# 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 6ad6dae1910ee0971f4bd6fa09e8a8fd9e78bea2)
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 3f34fa1f588d3b9a0562415d907e4ca6e01f7715)

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

# 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 a8e45beb5107b3089c9f183444ce51712a1f8b5f)
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 ba2a528886c6ae29d0f46070df736497921346e3)
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 d60367768b44ccd97722e68f7fbef6206aeceea9)
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 cac80daa714a8dc3906954b514cd6e3baa140aa1)

# 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 db6528d3fa1919893ed4360b4f198809a294829f)
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 f5873d70c640b9deb53a9a62281403b9a657e644)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadPendingDeleter.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadProvider.kt
2022-11-16 13:56:21 -05:00
arkon
1202c36a98 Retain previous selected state when updating list states
Fixes #8417

(cherry picked from commit 10e349f76ee1f9bcde5e3502bcd45270d5cd496b)

# 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 b1ccebf329e9a9d77894b9d4ff06aeb9d7317acf)
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 3407eb84c5d4bbb7e5cf71e43fca58d1f297ac53)
2022-11-16 13:33:27 -05:00
arkon
4e5d1e9759 Clean up ComicInfo stuff a bit more
(cherry picked from commit 6017229d1b5b4b5ae7ca1b2c68292c2acf1c82a6)
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 4f00af3173b9f114c8eb3d4356f50b0bef1bf874)
2022-11-16 13:33:08 -05:00
arkon
e1e10b9217 Reword more references to "manga" in strings
(cherry picked from commit afa0a0a0e25bbe5daa3843d9f992b97764debaf0)
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 92b039fac7b2a74aa15380a171b2f2b73dc47371)

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

# 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 3061f198e9dc381e6294e05447b9798dcea885e4)

# 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 6fc1f4fc21cc45f99e4faee52702abd4def4c2ae)

# 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 9da232dcd88421a86312b2c5237107f73b20a4a1)

# 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 acd43005dff055564dd6526eaa3f32347408be5c)
2022-11-16 13:25:21 -05:00
arkon
df63f3e698 Bump test dependencies
(cherry picked from commit c31cf2a03a70a3714946090d278d5c89352f7a8c)
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 51c964de3aa370545899c7c3b38b3287cea13d1c)

# 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 dad24e785bae669d7a4104cb62f6153cde792637)
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 d8725c7b7f8490929c3abbbe67a9d39f61185a7f)
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 262f8449b4369fde42cbd15d2a768e54461e84af)
2022-11-16 13:23:15 -05:00
Andreas
27c93d18eb Use Voyager on Source Filter screen (#8511)
(cherry picked from commit bdf035d60a039ac6aa38f3978691079082ff8e12)

# 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 02708787483b6dee9d42e39c984ed8c4beaacb40)
2022-11-11 19:27:51 -05:00
arkon
4560dedf1c Clean up ComicInfo stuff a bit
(cherry picked from commit 6ada3c90ff4729f703fb35338f72694e88f06aca)

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

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

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

* Improvements suggested by @ghostbear

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

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

* remove empty line after resolving merge conflict

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

* some changes to comments and variable names

* Revert leftover changes to archiveChapter() function

* minor cleanup

* Changed Chapter to SChapter

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

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt
2022-11-11 19:26:33 -05:00
arkon
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 a8eebd824a50d4676cc31aec51ede94009b82851)

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

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadManager.kt
2022-11-11 14:47:07 -05:00
arkon
7578b4d6fc Migrate to more domain model usages
(cherry picked from commit c6c4c1c393aa8f7fe702ce7da9d7d04e0ad9005b)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourcePresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
2022-11-11 14:36:15 -05:00
arkon
564cc5144f Minor cleanup
(cherry picked from commit 811931ccc0f21b0fd88c56b8567358982c48c31e)

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

* Review changes + lint

(cherry picked from commit 08d5633d81633ab09f09f1ecedd331f12fa8a889)

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

# 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 11ed47397d6922e0f34ebb6ac8057bb87b46d165)
2022-11-11 14:04:56 -05:00
AntsyLich
b144593129 Fix clearing database freezes the app (#8492)
(cherry picked from commit 6ce54eb845d5333cc3fc202f59585816b61b29da)

# 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 d0236aaecff466541f9e08f38ca30d751fb87d3d)
2022-11-11 13:55:43 -05:00
arkon
24e5100e7e Bump dependencies
(cherry picked from commit 00059848b487bab648b533dc0e0282e5800040ac)
2022-11-11 13:55:34 -05:00
arkon
2ba4135e38 Use toShareIntent in WebViewActivity
(cherry picked from commit e45f6d0c92a5cbcd973b3f86b024fb090f701eb8)
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 18ccde082d5529766ad1297f9850752508805156)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/ChaptersSettingsSheet.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/track/TrackAdapter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/track/TrackHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/track/TrackSearchAdapter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/track/TrackSearchDialog.kt
#	app/src/main/res/layout/track_chapters_dialog.xml
#	app/src/main/res/layout/track_controller.xml
#	app/src/main/res/layout/track_item.xml
#	app/src/main/res/layout/track_score_dialog.xml
#	app/src/main/res/layout/track_search_dialog.xml
#	app/src/main/res/layout/track_search_item.xml
2022-11-11 13:55:01 -05:00
arkon
5be39961c3 Don't use default Lenovo "browser" handler
(cherry picked from commit 21bc0f1952759ea2fd3086d376327f70eacf0dfe)
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 a37be747e95225e243ca4c221093e8d0e3982dd4)
2022-11-11 11:08:04 -05:00
Ivan Iskandar
5b88385ccc Voyager on History tab (#8481)
(cherry picked from commit bc3bb82651e85a8b0584a645e0fa07ab97ab1767)
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 ba00d9e5d2c00b9cf415932bb2821bf9914fe248)

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

# 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 9c9357639a1aa20f5dcafad9586b89ba57b31a13)
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 3733871d2fbdcc5a33b4840f3405f0e005c6f091)
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 54471a014fa152e41dad92b0a192bde90d8baded)
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 8749be518f8fb7f278f35f110df6c1d5b4b2508e)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/DomainModule.kt
#	app/src/main/java/eu/kanade/domain/history/interactor/GetNextUnreadChapters.kt
#	app/src/main/java/eu/kanade/domain/history/interactor/RemoveHistory.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
2022-11-10 22:37:36 -05:00
Alessandro Jean
461b4a77b4 Retry the MAL request if the token is expired (#8437)
Retry the MAL request if the token expired.

(cherry picked from commit 6d880c938a32cf0723d37fcd708bc69f42be8af9)
2022-11-10 22:16:49 -05:00
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 34aa4eb291747ccb268c28f5060481706d6c4915)

# 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 280b0f42db2cc8c21ac046b11717cac6975746ca)
2022-11-10 22:15:54 -05:00
arkon
a549189839 Bump default user agent string
(cherry picked from commit 65387d0089b4a197590c3af2951bef0feba0b469)
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 d41c103a72678211de20bbbad4d7db7f46091b93)
2022-11-10 22:12:01 -05:00
arkon
3b5248e1ba Add pseudolocales to dev builds
(cherry picked from commit 0b93b9e059d68496d333b46c5dc57fccef041398)
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 ea3f933e959f6bbb1875c5e02c870e7fb89a0a38)
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 1a25cea0d665aefdc422ffe074d50c4a72fc0fe8.

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

* e

* .

* suggestion changes

(cherry picked from commit 37ff3b49203ed760703779fe7bf51705d40c3478)

# 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 608dfc5a8805319b9f237cdb050f9e6f1450c768.
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 1e93d785e5d547d0a0b4e7df2ddf68d233aedc7d)
2022-11-02 13:00:38 -04:00
AntsyLich
d526179bcc Center extension name in ExtensionDetailsScreen (#8407)
(cherry picked from commit 999bd4efee29cce007aa762340c65c32759b52f4)
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 dd6c9ce2feee28b5535e864f27bbc088ac009a99)
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 7446b28ff1e774559ff8485842af2d32f7bb58e5)
2022-11-01 13:38:05 -04:00
zbue
41f99fe3ec Perform haptic feedback where appropriate (#8378)
(cherry picked from commit 38c6702b8f88c4e9b0920804df769b86aafd336f)
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 afcf4b298863ae0537c8b32420bf75670be94dd2)
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 ebb96a6ff46230686fa260e96917bdb7de3ec288)
2022-11-01 13:37:22 -04:00
AntsyLich
762f383fb6 Set softWrap to true again for Pill text (#8391)
(cherry picked from commit 8b0affe9bd15d05b0aad7033d0069d17fb478852)
2022-11-01 13:37:09 -04:00
AntsyLich
9cc5831689 Tweak how getChapterUrl works (#8392)
(cherry picked from commit 1a25cea0d665aefdc422ffe074d50c4a72fc0fe8)
2022-11-01 13:36:54 -04:00
AntsyLich
55918ddb15 Reword "title"/"titles -> "entry"/"entries" (#8390)
(cherry picked from commit 2ecbcdf4bd9763c928ee93c104cd3bddcc450923)
2022-11-01 13:36:46 -04:00
arkon
bd94751e73 Fix crash in ReaderReadingModeSettings when reverse portrait orientation is set
(cherry picked from commit 642b392d44328f09783d34769d4d2f3596156da3)
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 8dce7b3e9eee1ea3d4a279e2d2e4ea9d600279a8)
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 33e90d64497f920be825b803e1342a2e6c937111)

# 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 50b17d5d3416e5c44a4a98f93e9710769e74aa51)

# 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 7818885406d2e6f82ba84c506d562edc170ce6ff)
2022-11-01 12:33:55 -04:00
arkon
db890c33f7 Use BOM for kotlinx.coroutines dependencies
(cherry picked from commit 26af7ccc772a4f9ea004481a7cdcc7abb2d60145)
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 5d1f79012e63403ac37309dd958244108e28a1a5)

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

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.kt
2022-11-01 12:32:13 -04:00
arkon
f9b49aa7f6 Add warning about F-Droid build support in More screen
(cherry picked from commit 725fcbba0e45488c8553f2a5a88fbdfb2a63982c)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/ExtensionDetailsScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/updater/AppUpdateChecker.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/more/MoreController.kt
2022-11-01 12:24:45 -04:00
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 bdeb209d43e6c9ba5d6e1a10b25118084a9dd997)
2022-11-01 12:17:37 -04:00
stevenyomi
e8e7ff55c0 Refactor search toolbar and fix browse source (#8360)
(cherry picked from commit a078f1ab1bd288d604edd8b8a21dcf2e88f47065)

# 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 86c3d8c06469245d061ddaaa86da5793f48e8787)
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 156191af4454d756e51e331f67cba7e19efbbb38)

# 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 57bba9e5ab626b38fb3154fdfd67516b8b029915)
2022-11-01 12:00:25 -04:00
arkon
3be06eacaa Remove redundant preference composables
(cherry picked from commit dd1923fe88bbb1e7f838d560806598a4ba2174f8)

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

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

# 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 11cc789e3618a8f9296ca2040bf455393b677705)
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 16f9fb2f40e0569c5c22de4a062cd890b4b64d4e)
2022-11-01 11:23:54 -04:00
Ivan Iskandar
86afa2ee6a MoreScreen: Add navbar padding (#8349)
(cherry picked from commit 6bfaa85e845189da9462f2f3512ab7eee26747af)
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 8f43fb9530dacf1d438fc993080747e17aea185a)
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 04d2a3399b4c1e708e8da2a7bf7bfd0ec4ecb77a)
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 054bf8ec5d358e26dc761ebd4358167ffe99487d)
2022-11-01 11:23:19 -04:00
arkon
963d09d270 Add more context to obsolete extension warning
(cherry picked from commit 8417f5a63c6965ebd1794a308815fcbeb210e004)

# 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 26b46cace02d3a39c0ae4dfa4e1ffad97549de00)

# 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 0849111247d28fa5a74abe6759c992097bfa7109)

# 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 f9c25b350ed1eb5cb418e804a829f40ecfb0af2e)
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 f38130d086562daa8a95b864bd0b923e4a12bbc3)
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 4b60138d41ea33e5e4c3defb0dc626b599216f3f)

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

(cherry picked from commit fde7bfa3d17ce2e02df5625836eb739aeaab7863)
2022-10-29 18:46:08 -04:00
arkon
5e3c9fcf50 Make Compose DropdownMenu overlap the trigger
Closes #8329

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

(cherry picked from commit 224f29077d37ca72c5a9f01649998c80d7bafedd)
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 e1ab1fdb656bea90bdf6990523c857e0434fbc0c)

# 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 3e86cb094b90a29d5e4ddf7a4c72ccf96c66fee3)

# 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 9fbd3fe33f57412838291be54f477e22254dcbb7)
2022-10-29 18:29:18 -04:00
stevenyomi
d8b27a4f43 Reorder parameters of JSON parsing method (#8321)
(cherry picked from commit 073e9f94ff06a538c4aa06aa3db0ac1a6cf5be5b)

# 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 64c0d9506db5a1d18f744a9a1489261c86be1f21)
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 f638092ab9affa5c5e39cb430a0d1637347b27ee)
2022-10-29 18:27:22 -04:00
arkon
94c0b0a36e Avoid concurrency crashes in SourceManager
(cherry picked from commit d0c4463ab372460ce6f16ec09ea975448423ed66)

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

# 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 5efb31bd7105975ef531aaebbb70e3f409378663)

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

# 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 e49781de7aab0834f217743e3f65e3a5e948e720)
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 37cb4ec0c22d9b020afa473e593a074e2b8d5694)
2022-10-29 18:24:17 -04:00
arkon
e1f841e78a Use MaterialTheme.shapes in more places
(cherry picked from commit 401134fa8ed0e0134e166e2c5f78de09d744a553)
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 87391832bafff1e9f90fdfe064725fe8d1ec0184)

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

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
2022-10-29 18:03:08 -04:00
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 37b7efbc87c45c421974394ee36f86f5cd6e0492)

# 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 6e4a30e59352517346eb0f622424390a52fb95c0)
2022-10-29 17:27:32 -04:00
arkon
e4fd48c4d0 Update baseline profile
(cherry picked from commit 0288abb66e21110c5b144c7258014899442dd06a)
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 d869a13ef95c1633afe5fb959a282c4cea79dbe3)
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 ccdfc37c97af9a76c15443209b4b2578826c1397)
2022-10-29 17:27:00 -04:00
AntsyLich
d0d689b1df Center the Text inside Pill (#8304)
(cherry picked from commit 37c55abc2ac464675c278bb9bc7abeced189b834)
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 c50b1a5c66256ab003a224d50caa317c53479397)

# 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 187e9f94aa0ddeef6ad542b2c231b917071eead4)
2022-10-29 17:25:36 -04:00
arkon
5ec56b66a4 Show file URI when invalid backup file is selected
(cherry picked from commit 1704dc062d9f610ff1787260516893e697773108)
2022-10-29 17:25:28 -04:00
AntsyLich
47564449a6 Cleanup history repository (#8297)
* Cleanup history repository

* Lint

(cherry picked from commit 0657a5292404e9bc79a847faa244d9b2552f5bfa)

# Conflicts:
#	app/src/main/java/eu/kanade/data/history/HistoryRepositoryImpl.kt
#	app/src/main/java/eu/kanade/domain/history/repository/HistoryRepository.kt
2022-10-29 17:25:15 -04:00
arkon
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 ccc4144f3cc2264c3ae75d492983e9577f352af1)

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

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourcePresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/globalsearch/GlobalSearchPresenter.kt
2022-10-29 17:22:24 -04:00
Ivan Iskandar
9b28b65e62 Use new Compose BOM 2022.10.00 (#8295)
(cherry picked from commit 5b3f9e082e715fe4227b0a0405e823a43f6abe34)
2022-10-26 23:38:56 -04:00
arkon
71eefc3c9e Avoid some crashes
(cherry picked from commit ca065169002475cc92b7736d02340127a5e419bd)

# Conflicts:
#	app/src/main/java/eu/kanade/data/manga/MangaRepositoryImpl.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadCache.kt
2022-10-26 23:38:49 -04:00
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 3fb42b6ce944d5a2ec9b0cc1c7f6a157807cf596)
2022-10-26 23:37:47 -04:00
AntsyLich
c48dd63019 Rework library selection (#8290)
(cherry picked from commit 2cbe946e7e9eae14c035001c9e4eb970ede229a4)
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 3b5b9a1ae5803466e9b18846aae6fcd16bf8a637)
2022-10-26 23:37:16 -04:00
AntsyLich
e0c83b018b Show LibraryScreen toolbar early to match other main screens (#8285)
(cherry picked from commit a834ff3a4428497d458399a1ed04b0424f21be64)

# 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 82b552ac9a4a8764f8ccf1d75c628310c020440d)
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 9792a6cb780d0db3a962fdf2e60ef028b3ceb07f)

# 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 f30150c0f08e89cdd240520f77f0bd547a0de4f6)
2022-10-22 21:46:19 -04:00
arkon
6d46283aee Use kotlin.time extensions in some more places
(cherry picked from commit 5c868d784679b55e413366c5d4bdea75253bf8f4)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
2022-10-22 21:46:13 -04:00
arkon
f367a121ac Explicitly remove com.google.android.gms.permission.AD_ID permission
(cherry picked from commit 39e41510d0152db8b50a5c5e58b547dab65652d3)
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 78b76a186c306903aaac45626f8a609b3dde59a8)
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 6e04822f5e2f0985a98a86c814099b0cf85cb7f8)

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

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
2022-10-22 21:34:32 -04:00
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 bd285920cdd8d21727cb85f9c9ed8380dc6518e6)
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 fb04401460e5a8418737f3f3cdd556e9061c35d4)
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 2ab744c525e2c6c94bcac7d4cc3848830a50c991)

# 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 4a244a598bd8caceaab76ae2c851d8e8ef04ed21)
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 d0bff298b7df3524f76434a3636bc196627cb613)
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 152eb5b95196a32ed120f4a57996c1958294bf7f)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
2022-10-22 20:56:53 -04:00
stevenyomi
46fe5dfd4f Tweak tablet UI mode setting (#8262)
(cherry picked from commit d558f9e1d6bcc8eb8f69359e6e7516f7ea24a408)

# 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 b3557e844c016f095764e72fca8d01657e1d4028)
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 9c8ccb8e0ea8a5a2a7cfb21ef322c49603809e1b)

# 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 4138a17e29348c7057ae885a0b8d9d5c3f29cc07)
2022-10-22 20:32:07 -04:00
arkon
26be340cd0 Avoid crashing during eager WebView init
(cherry picked from commit fbda243c0d8477da18c39a12327e1b98d57093fe)
2022-10-22 20:31:57 -04:00
arkon
d0f3bd077c Avoid some IndexOutOfBoundsExceptions
(cherry picked from commit eb742b29f8b75eb900cf47f6178053dcf68f74bc)
2022-10-22 20:31:48 -04:00
arkon
08c6876742 Prevent invalid user agent header values from being set
(cherry picked from commit d2e62ffb199d515b588b4899f7e53ed00bc47819)
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 2921be620a2cc2bd3a7be84aaa6d6136c651367c)
2022-10-22 20:29:40 -04:00
arkon
3cfb5a7f1c Disable autocomplete on tracker login password field
(cherry picked from commit c61a51438d039bbb79c09ca9af8b0d2a67135264)
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 7e40680af02505f82fa3655d2d693092c6bd43a1)

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

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

# Conflicts:
#	app/src/main/java/eu/kanade/domain/chapter/interactor/SyncChaptersWithSource.kt
#	app/src/main/java/eu/kanade/tachiyomi/AppModule.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/ChapterLoader.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/DownloadPageLoader.kt
2022-10-22 20:16:12 -04:00
arkon
1c6f09e5c7 Allow disabling automatic backups for whatever reason
(cherry picked from commit 2cf1009f709fb725becc2ea82964652b79997268)
2022-10-22 20:11:47 -04:00
arkon
5ff3c39d68 Defer library download counts if not needed
(cherry picked from commit 93827aba34e98c6f70397d0e767580f3aaf5136b)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadCache.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
2022-10-22 20:11:36 -04:00
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 3318314c4a48cd303d2fe22a3e722b0c138fc1df)
2022-10-22 20:03:40 -04:00
AntsyLich
b5f3114cb4 Hide reader "Split tall images" option in release build (#8235)
(cherry picked from commit 44cabf2f0b9db3ae60d5739676fb8777c474ea6b)

# 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 a8ca7b690fe56f8588d3fff9dbfef95062e6442f)
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 824d5e22bc35a9b511929be21ffbc85b734e5fcd)

# 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 7a360779b38aadf04c0234663c8ef215a0c25de5)
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 4b5f965ceae62d9a62d3b1f89d7986ec76111cff)
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 d03cbbe0cdc699ad15618a326c91e811f5c2e385)

# 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 84bcd8d1d228e9687f4542e429407c74e73684bd)
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 6756bfab7592bdbc424aa4a478769728cf991a54)
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 8d97b980e354d50a7682e87677ef336833b760fe)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/data/manga/MangaMapper.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
#	app/src/main/sqldelight/migrations/22.sqm
#	app/src/main/sqldelight/view/libraryView.sq
2022-10-18 17:51:34 -04:00
stevenyomi
a31e8282cb Clean up OkHttp methods and parse from Okio directly (#8238)
(cherry picked from commit 2d19729869d1c88a46c0d1a4582d29a80d7ab9cb)

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

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

# 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 9c4051a5bac47b6048b1bbb9fdff763360d6fe42)
2022-10-18 16:52:30 -04:00
Andreas
2f748b025a Tweak Crash activity (#8229)
- Scroll entire content body
- Edge2Edge

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

# 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 4f91d8076556c5747f4250d33dd0a888323ec12a)
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 4178f945c9b6bcae9323c02534d7e620136a4e76)

# 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 558aad1a7170a71c454ce7c056b98f446a6eea95)

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

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

# 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 e4292719d3b3d3dff6d0f80ca59fa250d33d2180)
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 69cdba71eb842865586309d8549de78480cdbe0e)

# 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 570fec6ea622a7deae44668f4d9c3317699de2aa.

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

# 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 6635dd2990851d830e83a628b7e62091bd20cb43)

# 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 27e52563051832ff1f71219df89c8f5e742925ec)
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 b6dbf6363365bfb7edc79992887d53eb8d736cd6)
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 551e6a8b622f43b73057f626c19cb9ba5d98f7dd)
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 7da32750b260153ef51854e85b3d430141b0a3f0)
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 a2b21e5ad6fffea279e096250a0daa8a24a27955)
2022-10-16 22:00:34 -04:00
arkon
fb675a82cc Tweak source view type menu radio icon to match stable
(cherry picked from commit dbd93cf5d1f853988f408f5e45bb7a71e0d2f9ed)
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 c2eaf1c86bff1ab9072f79dc3ee7b80df1480805)

# 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 890f1a3c7b0f2ceefa86a77cb40c11567e2b5a46)

# 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 3fdcd636d75e3862e75779077faef3d70365bcf6)

# 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 3d7e44726d799294e808ce44fa1f0c8e5ff42e7a)

# 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 147455f99c6ebcfbd09ff91cbc4cb52ffbbae0ba)
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 b25ca7617dea67010b0cb55170ae9dd77aa4dc24)

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

# Conflicts:
#	app/src/main/java/eu/kanade/domain/chapter/interactor/SetReadStatus.kt
#	app/src/main/java/eu/kanade/domain/manga/repository/MangaRepository.kt
#	app/src/main/java/eu/kanade/presentation/library/LibraryScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/SourceExtensions.kt
2022-10-15 12:09:35 -04:00
arkon
7da8484d81 Attempt to avoid duplicate update rows
Related to #7713

(cherry picked from commit 7e92921f84905fefa46a9514c096593520c52076)

# 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 e1adb89ff8ed1759fcab08ed70b596b41bf3c88c)
2022-10-15 12:09:33 -04:00
stevenyomi
754df5babb Fix empty screen font style (#8197)
(cherry picked from commit 4e544005fed41d7f817bd6903d6cb03ad4df9f0b)
2022-10-15 12:09:33 -04:00
arkon
969719acaa Update to AGP 7.3.1
(cherry picked from commit 31bc2c44200e7cb7e3ffab7aeac3aa99fe0122a5)
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 02b3718aa1b998079b5da53fe3535ec02fcfdc2d)
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 26a42ba9c01c670f60bedfca41bd72c99aa2a278)

# 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 b1e104319f90678bc7ed501797d9d7d5b98902b5)
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 a3afb3553990a6a0faac8999c867b3ddefd5b101)
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 fba244423f451ef0b715702454ec242a5b73ec1b)
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 8500add09f475093e4e861f42508496e0f1fd68c)

# 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 23bfa1f18f615ba39be42f62cd7b337a6c51bc8e)
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 b4f2da12ea58b2f386f4d49356074c0a38351083)
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 b84a31ba9259ae1cd903bcec4f6339fc88d44831)
2022-10-15 12:09:24 -04:00
arkon
f71f9dbb93 Document copied M3 component customizations
(cherry picked from commit d0950cb02687ad99a1f7947b136419ee27ca5b7d)

# 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 404f53b16b59b3882069c5c8f3b20890a85ccd0d)
2022-10-15 12:09:23 -04:00
zbue
86b333384f RemoveMangaDialog: Show manga title in dialog message (#8163)
(cherry picked from commit 737d0fb8f3d87ab7a9d5ff4319d629dbe5213b96)
2022-10-15 12:09:22 -04:00
arkon
ae7c720d6c Fix linting error
(cherry picked from commit b95a30e424c180c654b27f8bc6e432629415731a)
2022-10-15 12:09:21 -04:00
arkon
74e4bf2d4d Bump Compose Material3 dependencies
(cherry picked from commit 0d9c1e6e9c8e3bde2cb0733768af444a86a04514)
2022-10-15 12:09:21 -04:00
arkon
35758adb8e Clean up download state logic in MorePresenter
(cherry picked from commit 3bfbd58402bcb24e1f24bb5c2d88389767cab2d9)

# 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 bd9a08c73dd145bc560f3526a0f51663d307259a)
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 41dc41f2852bc7f977cf77a9264ed41c68f13b96)
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 50f959e5f41fa5d4117e821fb82db761cfdcf33f)
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 4b4be58d0d2cac6636858d57119e0657b1b56f59)

# 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 4bba7a8bab9db84edda517e9b377f510540ae243)
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 60bcebe4d17730e5abb0a409a06af2d6853c61ad)
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 cf6407c4d414a34949c3b97a451b14585db852df)

# 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 5f8252447f2fad47285c26c0705b7903c1a2f996)
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 dcd5541e964b94f0dab9bb86fe207ec41b249296)

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

# Conflicts:
#	core/build.gradle.kts
2022-10-08 18:04:37 -04:00
arkon
48b9135056 Reword some reader settings
(cherry picked from commit caf9219d99c8f46a2c7371e7c4f0cfbba7f546d9)
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 3b623964421b6bc196bcf751f920975c47884326)

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

# 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 b8fa326c21a3f05ae09e173038e5dc366395ab40)
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 1cf1b34e7f32d71e3508f81e8348ff522d389109)
2022-10-08 17:35:10 -04:00
stevenyomi
17111a4d02 LocaleHelper: use argument for a when expression (#8131)
(cherry picked from commit ff4fb83bff8f271220decb061405937230e0b18f)
2022-10-08 17:35:02 -04:00
renovate[bot]
f8bb98f642 Update coil_version to v2.2.2
(cherry picked from commit e24501da091d8d70e0db6445d0fac221fae9a84a)
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 0ca14c61c256af770fe31c0d0cc8b7111f4b988b)
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 a5a70defc83eb08ef4f941f908a6e7c558253571)
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 de23226591376e998e4ff1ff7b2d4c2a0a805b09)

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

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

# 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 98c459a6b69a26338d310afe7f2629fa939d6f89)
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 00f442b77ee6b04a486f842bdad83487efb349d5)
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 42b0e3e4389b78556ccf34b93edc7d454de5881e)
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 8d1f99a48084566a81807a1877c3b92e53c97036)
2022-10-01 18:32:45 -04:00
arkon
1fa371b8e4 Remove obscure/barely translated locales
(cherry picked from commit bef8342aa51db77752bab8ff5e75c47e4ba03746)
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 2131294b228108dc1c96a4b299fd5cdd1c01103f)
2022-10-01 18:32:30 -04:00
AntsyLich
e704b2bde4 Remove mangaChapterMapper (#8124)
Was used by updates screen previously

(cherry picked from commit 5c22cbf28e86079994874b08cd4bdfb1bff2b0d9)

# 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 6ac17363ed68487b2262308ee9d671ad301f2754)

# 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 58c47c4c50936f061e65434f60af56a92a51dfb2)

# 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 80b2ebc45b5f04bcd832ed2497d3f2f6ea4adf10)
2022-10-01 18:06:30 -04:00
AntsyLich
5002bafa22 Fix total item count in library app bar (#8117)
(cherry picked from commit ef2c9460b5dc15bb9af6a430fa0a93765debcef4)
2022-10-01 18:06:14 -04:00
AntsyLich
54dcb640bb Improve DelayedTrackerStore (#8109)
* Improve DelayedTrackerStore

* Review changes

(cherry picked from commit ad84a8c3e9bd56025ab59beb5c024a7b7d6e2b35)
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 8b9a06e298d682ad3417d725068ec88537e0b12f)
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 6b1d597d34f903fabfc65ac9cd6bd561fc38f505)
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 5a37f2398a45949bb327a61210ab46d5207d09cb)
2022-10-01 18:02:18 -04:00
Ivan Iskandar
ca36adca29 manga-refresh-state (#8090)
(cherry picked from commit 98a4f6cccb85d39fb37c95aa99da71bb7abfd134)

# 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 633bd6eb462ee187fb3c1d6c3f8f025cb0f9eedc)
2022-10-01 17:40:08 -04:00
Ivan Iskandar
b1b05fa313 Fix missing focus when single TextField shown (#8098)
(cherry picked from commit f19c288bec5c441170ff4a959f9aaa5fb0e0aea7)

# 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 e2ce3f68bf2446682ebbe1438f413369d620c8bf)
2022-10-01 17:39:07 -04:00
arkon
b92f913f8e Use more unique item keys
Should make stacktraces more distinguishable.

(cherry picked from commit e90b39b29dc114af84aed284aa8201d97d7ba775)

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

# 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 869396b1a4187c539c60d294a795718222ca8054)
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 7f9222f7b7a104f7df523aac2bff593c0f94f195)
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 a35f94789257cdbfdbe1603df3314b8684ebf7b0)
2022-09-25 21:13:09 -04:00
arkon
1e9dca95cb Fix date added when adding from browse source
Fixes #8059

(cherry picked from commit ec272f6c4ee9731dac5f6639c02c07fedd523698)
2022-09-25 21:13:01 -04:00
arkon
74953850b8 Bump minimum WebView version and default user agent string
(cherry picked from commit f0af3858e83b3b03258c198a51900fa67baf1521)
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 db91d04e82a5fef55b94624daf3271c9df7655ea)

# 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 9859b38f327ae51c7f109de22a9a19e761055592)
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 0190c36d20a0ef070fad8a6ab55906c25390144c)

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

# 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 29fa93e829ca7f9c3a28c58f3de146bc2bd15aad)

# 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 0fabe4bd013a1980b0fa3e70306e851acd1b5bc3)
2022-09-25 19:19:31 -04:00
Ivan Iskandar
fc8b15916a DownloadController: Fix first active download status not updating (#8069)
(cherry picked from commit f98b4f4e39514a48aab34ef4afee675bbd5bd6ac)
2022-09-24 23:26:20 -04:00
arkon
46bdc0c0ad Enable Gradle parallel mode
(cherry picked from commit b8c125764519882cb5bd9c3ffb0edf5cd00b3344)

# 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 467ceacb17770399fd1f276aebe887bafb516f49)
2022-09-24 23:25:14 -04:00
arkon
c34108b19d Bump dependencies
(cherry picked from commit 2d22baba6221bd6709d8915a9869abc5ac0bc624)
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 750f90614dde4b05cb4cfb718c7489f3f3a0e7e1)
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 d28ded45257bb970bc5933acb5a29bc28c713af0)
2022-09-24 23:24:48 -04:00
stevenyomi
5da4353730 Improve chapter recognition (#8050)
(cherry picked from commit 4b4a138eee71cfe6385085bc6795ea731f7e8c85)
2022-09-24 23:24:39 -04:00
Andreas
02a154bb85 Move chapter preferences from PreferencesHelper to LibraryPrefrences (#8061)
(cherry picked from commit b5dca2eb09c008563e6e977fb3379fb7548d1144)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/domain/library/service/LibraryPreferences.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt
2022-09-24 23:24:28 -04:00
Ivan Iskandar
35b71e2ceb Adjust source-api R8 rules (#8064)
(cherry picked from commit 747cbd24cb93a11ea15b4c43d3118e226848744f)
2022-09-24 23:14:22 -04:00
Andreas
1d9237d3ee Clear search query before popping controller when navigating up (#8055)
(cherry picked from commit d3520419d49f4c283b96de23fa12ac68b3f2db60)
2022-09-24 23:14:06 -04:00
Andreas
e5b99c0147 Recreate reader settings when opening sheet (#8054)
(cherry picked from commit acb8ab15b2e73ba2f161eb201e93ba3a36df2867)
2022-09-24 23:13:59 -04:00
Andreas
34735166ec Split backup preferences from PreferencesHelper (#8051)
(cherry picked from commit 5cdcc1679f2eb8a79586bf407d4d2f6fc60c2c49)

# 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 b37b3767f3c55a74bede78d11300249ab419a4c7)
2022-09-22 12:48:23 -04:00
arkon
27e494e8b7 Replace deprecated SmallTopAppBar
(cherry picked from commit 2d56ad1ad975b709c68609ac3486bf9aa0c5bedb)
2022-09-22 12:47:53 -04:00
arkon
260e3919ca Bump dependencies
(cherry picked from commit 5d3bc7245e533303a536692a15084fac50ea40c6)
2022-09-22 12:47:44 -04:00
Andreas
416db76218 Split download preferences from PreferencesHelper (#8048)
(cherry picked from commit e82963c9ef15416f6bf818c4043cf802c3033105)

# 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 ec34977a64ae21c5dfe5533064882554ba964d44)
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 2ced56e490ecd175b9575eda6514a933f2893a72)

# 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 e568951396220b95447a025615a4b57b273f8864)
2022-09-21 11:47:02 -04:00
Andreas
bcc3a40b36 Split reader preferences from PreferencesHelper (#8042)
(cherry picked from commit e275897bf9f3def5ccf17978d64b2969c8c85de7)

# 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 2b089648a34c7b193f307647be67a057ca9196bb)

# 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 c2a831dded39c7ed4fab90647d2056aa557d7e05)
2022-09-20 16:17:33 -04:00
Andreas
b7363706d7 Split library preferences from PreferencesHelper (#8036)
(cherry picked from commit c740558327f0f40f1b58d04ca5d5baed9285f048)

# 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 0e3176a77c925bb7f9d9f87bf68476563f9b9e9e)
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 f85cbb158257f61d70b79e230671e3fa252a32c5)
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 0225711f6f91417af0ae41d42f81c70c86a572ab)
2022-09-20 11:08:23 -04:00
arkon
966bd31d61 Catch error properly when app update check fails (fixes #8019)
(cherry picked from commit 7ec822503a50700153840d34095ac994415bcac2)
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 83871fc013d6ab8b44d64cf8ff3ce2ef27d61946)

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

# 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 877ae041a419be60d2f094130cf58096dc7f0120)
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 1395343f116bfbc9c3ee04eed372299ea36aa22d)
2022-09-18 13:08:31 -04:00
Andreas
5d1dfb5290 Split source preferences from PreferencesHelper (#8029)
(cherry picked from commit 30b3b2d3ffd5d90aee293e9ae22b3cb2a4924c2b)

# 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 0086743a5311c22fb8c07f596ab5de384862a68a)

# 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 bc8c45832edbe32a3540db50471b49b1e1df9ef1)
2022-09-18 11:50:21 -04:00
Ivan Iskandar
01710d7b78 Upgrade AGP 7.3.0 (#8016)
(cherry picked from commit 4a3070265a76d1a236abbcd5682ae753c31cffc8)

# 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 f54adb49a1af381798a8d65db3d82cc92e221139)
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 86fe85079413f8ed6e1109b46e6131a9b788b988)

# 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 30ac94181b2c410aedead964a815b080ef3e62ee)
2022-09-15 23:11:50 -04:00
AntsyLich
830722c4d3 Fix missing condition on getLibrary sql query (#8006)
(cherry picked from commit 48d3d454c00effa56c031d53a5f132338b5dce7b)
2022-09-15 23:11:40 -04:00
Ivan Iskandar
897651a75a Fix derivedStateOf errors (#8008)
(cherry picked from commit 6865c21c75b67708b26cc78d68747945ea206641)

# 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 82cd31649334164d9fadc14e5f4fb313a339dacd)
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 7270c48f26bf61780aca5f588c742839fd3e9c2f)
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 c51e83c048b9575b322690fdadddba0001690d4d)
2022-09-11 19:49:32 -04:00
stevenyomi
4bab900459 Prevent okhttp from caching covers and chapter images (#7967)
(cherry picked from commit 52fa28c16a4f9771dd4214aed1772fde1185d93a)

# 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 935c8e7d827ebf1db624c7d26ab7310d312b590c)
2022-09-11 19:47:38 -04:00
arkon
81a4f16a34 Add some padding to tab indicators
(cherry picked from commit 19be0d68b6c560d0969b6c4e069f88ea380c95fd)
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 f9bbbce466310147927ffb7317f432e2f3fc478a)

# 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 0215b66098ec1fae2c1f9f845345c6bc67cb812d)
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 cd3cb72b65d2f5f6ec038eb319717e21e3a1731e)

# 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 5b474e96b75e76de26e2df08ee574f53772fcef3)
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 9ce1d71a45ed676c362e7b650ddeee3fe88b3f96)
2022-09-10 14:21:35 -04:00
arkon
a80730748e Remove unused resources
(cherry picked from commit 28594bba2c7ffc71bad3164640d04b612b1a6920)
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 d5c207d8a3fae9aa42f39a008454696e2d8b2e06)

# Conflicts:
#	.gitignore
2022-09-10 14:20:44 -04:00
AntsyLich
10f351de66 Cleanup logic of onStripSplit in WebtoonPageHolder 2 (#7976)
(cherry picked from commit 56826fb4771488ce5759828137355432b24455cc)
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 171d7f2b8ce62fe9deb1bea060d369ae852eedb0)
2022-09-10 14:18:59 -04:00
Andreas
7cc59fa1dd Revert removing Fullscreen theme (#7974)
- Is still used by TachiyomiFullscreenDialog

(cherry picked from commit 5ec5829e7766f485767643f5cc07c55619e07161)
2022-09-10 14:18:49 -04:00
arkon
23a7001f6d Remove unused resources
(cherry picked from commit 448978ac8a51be1b0f87a13717908c8316b43292)
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 fb9791f5976b9a877adeb656e2decfc4d77420ff)

# 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 07d1b9f3bac5df3c469601b8d08ed024b5e607ec)

# 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 6b91f6545704ba6facace7b1d0cdd129ab132f71)
2022-09-10 11:11:03 -04:00
AntsyLich
0e2dba8cd4 LocalSource: Create cover file if it doesn't exist (#7954)
(cherry picked from commit 0c7b1bda7f3e9bf3b017b734f64f3ad4b093c22a)
2022-09-10 11:10:53 -04:00
Ivan Iskandar
4a46117ba7 WebViewScreen: Use Scaffold (#7958)
(cherry picked from commit 032b377de71d4ac4a50fbf30db82b00e13155d03)
2022-09-10 11:10:45 -04:00
arkon
4a2822bd2c Bump default user agent string
(cherry picked from commit 26d8e47bb9ca51418d46eb90b12d660823febf33)

# 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 970ff7841ef1a8164ed9b6758da7ac755290e832)
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 3f6283726002ef4b8da828c54cce45c5b5148097)
2022-09-10 11:09:54 -04:00
AntsyLich
cb0bd82170 Webtoon Split: Improve performance (#7947)
(cherry picked from commit d55c854ebf671a7a50c57a6f8a41d9429b2a5d57)
2022-09-10 11:09:29 -04:00
Andreas
138fc03d1b Fix Filter not being applied in Browse Source (#7945)
(cherry picked from commit 6b2b21edfa63f01b956ec27386b0c729be2e6d18)

# 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 99270e370e1aba37c3ab5d8954363dd335ca0353)

# 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 c7d09d098ab2603e13f048e83528ace5505e662c)
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 21804bfc45b05c67fe6198cd0452cd67b05bc3e8)

# 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 38950f7bc8b10ccf86995ebacc83f86ca1a6958e)
2022-09-03 19:45:47 -04:00
arkon
da69f7876d Fix missing downloaded only/incognito banners in Browse
(cherry picked from commit bbf5c86b4699703048fb95f4c7922a9c147e164d)

# 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 3fa68ed2171ae930f8d5070123483e2e6c4cfb4c)
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 cc6aef693e1a15f695ffa7eebd968004a6557010)

# Conflicts:
#	app/src/main/java/eu/kanade/data/source/SourceRepositoryImpl.kt
#	app/src/main/java/eu/kanade/presentation/browse/BrowseLatestScreen.kt
#	app/src/main/java/eu/kanade/presentation/browse/BrowseSourceScreen.kt
#	app/src/main/java/eu/kanade/presentation/browse/SourceSearchScreen.kt
#	app/src/main/java/eu/kanade/presentation/browse/SourcesScreen.kt
#	app/src/main/java/eu/kanade/presentation/browse/components/BrowseLatestToolbar.kt
#	app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceComfortableGrid.kt
#	app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceToolbar.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SourceSearchController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesTab.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowsePagingSource.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourcePresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/latest/LatestUpdatesController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/latest/LatestUpdatesPresenter.kt
2022-09-03 19:43:55 -04:00
AntsyLich
3ba39f6557 Remove download source folder when empty (#7928)
(cherry picked from commit 5a320d87e80e84814e92c1f727201eaadaff294e)
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 da95ecb6869314f35eb73c6d9245b4e0d127f22d)

# 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 774a87a42ac0ad0410fe50272da9121796c1c95d)

# 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 ff4a217730217ce5720f7a81017054ddfa917928)
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 a43754e1a67beb24810ee67a10989c882cd28e56)
2022-09-03 18:29:00 -04:00
arkon
0f702d52a2 Fix webtoon viewer pages not loading
Partial revert of fddca151823d066cad7f12da2e0b8d1c65f2b9d1

(cherry picked from commit 8ef200861cbc9c0332fedf4622ee7cf9394230a8)

# 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 ddd180e56aef69380b1da3137dca8aed590b68e1)
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 30b86e530b5e44c95415beaba5ec2747a73a66be)
2022-09-03 18:27:42 -04:00
Andreas
e009398c0f Resolve review comments for BrowseSourceScreens (#7912)
(cherry picked from commit 2f26982e346d65de82d0809d7262a17f737d9eb2)

# 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 504844a892635fe9554a3eb907ad328b94ffab29)

# 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 4c1da1bd1daa9ce51778546021de727c17ef65ba)
2022-09-03 17:55:00 -04:00
arkon
946432abca Clean up interceptors a bit
(cherry picked from commit dc62d0ea8bf0a09303c30cd48d48cb1787f78da4)
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 fddca151823d066cad7f12da2e0b8d1c65f2b9d1)

# 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 81f49f34efe046bbf7cd63cbda1fea1521434a4d)
2022-09-03 17:53:44 -04:00
arkon
9318b0d803 Minor cleanup
(cherry picked from commit c39a1b7867976bddc85d3bfbffeeb717b8bf4501)

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

# 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 bb54a81ef0a017b387e3e901233fd11a77638fd8)
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 d85af2fec624aabfd9f2b2c829e8ea02dee09ad0)
2022-08-31 19:01:43 -04:00
arkon
7c6ab4edcf Implement nicer UI for migrate list sorting
(cherry picked from commit 90c08303fa484ca241d3c87dcc2e55f423328815)

# 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 92e83f702c775d5ab5a0b4248995308155150811)

# 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 084e6a964ee2f2a8499b861e5e3e58938ddab6e9)

# 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 532f662b057d269893d84967f9a8fd361e6bfb85)
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 53f5ea7fe9e0a918a0970c88521ba978c0def012)

# 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 fc6946ed61361cfca026a28d13a00d8b39acb3f0)
2022-08-31 11:17:20 -04:00
arkon
588d11c14f Convert settings main and search views to full Compose
(cherry picked from commit f5c7aa1142eec366092722d6301af939f19ae970)

# 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 761635b572f4cffa0c4979df32635bba91c0b6cb)
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 488d8ab8cfbee2cab6121154b546f4764852f088)
2022-08-29 18:49:01 -04:00
arkon
f5fd4526d3 Remove some usages of global scope
(cherry picked from commit 8efb20439a3d06766f257227f68bf1b762f9c432)
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 43c195e14a13aff9a3d2552f4f4a08ecee2d0b63)
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 8a3a7418d055b500517ef6c9c5623328ae01bc10)

# 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 32190b6cacee819036245b2a39d1068a0b0c10ac)
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 880407442c598d1b63db8be43f4848550dc17ff1)

# 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 3b34a878a75ca75e651e3e296f36cdc74659dad1)
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 b79340989f39a5d58e69617ce7d2470d45d38474)
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 0e526c36bed52670237165c2e870b154966661b6)
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 a83d29f0581e10b464106fa179663b77fd8c51bb)

# 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 be7108a2ee341d9f8f16d5489bb6a5a63195264f)
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 8e9b1124cdc325dfb1c3225642db2598a3221840)
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 1948d55d5da404c47ef5a390e14e0e0c54e3fe36)
2022-08-27 20:50:53 -04:00
Andreas
4ae581f6c9 Fix issue with removing categories from manga for ChangeCategoryDialog (#7874)
(cherry picked from commit 9c49a5ed22e9c501cea7d8020b90f9dd11ca4ee5)
2022-08-27 20:50:44 -04:00
Andreas
436bd3187d Fix issue with input for DownloadCustomChaptersDialog (#7873)
(cherry picked from commit 0bb20a92af348ae3fea3f6271999b51fd19a2ff1)
2022-08-27 20:50:36 -04:00
arkon
bda100f574 Fix checkbox selection when tapping text in Compose dialogs
(cherry picked from commit cd82c88b9aa8f344d8ee9938eeae8a6293d5f231)
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 8d40e20b7de49056940a6f07378778934724534a)
2022-08-27 20:50:16 -04:00
arkon
8a4099a5dd Minor cleanup
(cherry picked from commit 31b62b27791cc3135f46bc660bc3d223b02f93e2)
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 88b56121a34e613f103bbbfb77c8e66e86f825f6)

# 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 d6c0a5ef8b503e9ac3ba169664c9df3bc6122382)
2022-08-27 20:40:09 -04:00
arkon
cc1e47eb30 Bump dependencies
(cherry picked from commit 5732fc61e8f3bfe9836d5f34530021a1af0589bd)
2022-08-27 20:39:49 -04:00
Ivan Iskandar
66cb3c03b8 Bump Compose M3 to 1.0.0-beta01 (#7867)
(cherry picked from commit 655fa25b511a423bc17f1f88282150e335df0cd9)

# 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 aab5f083dbae25380b97c7407309beb90a64d845)
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 03b9950fa15974f1a599a96c26177a612bed5c9d)

# 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 2453d1a8861d61b03dce398fad169e556551b400)

# 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 4b9a6541d13de64d0a9b85e1afb4e143492cb5fe)
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 a70b8486468ce8b57ae7a7ddc3ac845337789d45)
2022-08-27 19:48:27 -04:00
Andreas
77245074e8 Add DelicateCoroutinesApi to GlobalScope extension functions (#7848)
(cherry picked from commit ce44c0615ba6efad0d78182885f7c80e02e8a09e)
2022-08-27 19:48:18 -04:00
nzoba
7949865484 Download ahead (#7226)
(cherry picked from commit f207e8772299b55ffc08aa62d06fae8acd23a06d)
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 63477937015275a0a538f3312c0acc4364938184.
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 2e81e1b7d8cc16e49339500a798d94172f274045)
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 605c3de150c91fa7aa7aae9b4cfaf2e07caf730b)
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 7aa073ddca913c408acb206058f17021a6d097fd)
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 4b0f54966653c0a313d60cfe0d13d12b2c12ec79)
2022-08-22 12:38:39 -04:00
stevenyomi
90db474512 DownloadProvider: Remove duplicate in valid chapter dir name list (#7826)
(cherry picked from commit 40749dc76709a1792fb01f90fa9a03da03e7e0b7)
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 3599d53c61dee40e61615dc5424738d2f5779155)
2022-08-22 12:38:21 -04:00
stevenyomi
3ca2174c65 NetworkHelper: log real requests and responses (#7820)
(cherry picked from commit 2156844b87ba0fea303ba6dc160da61cf7d9dc95)
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 763288ab137505813f951bb02ca3ba9c1590dbc4)

# 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 6d6c38ecafc076098c98d0e12b0fbc7cf1c538e4)
2022-08-19 19:51:44 -04:00
arkon
556432eb0d Don't allow setting blank user agent string
(cherry picked from commit 3760b310df8701f929d4ca4acbe7facfa97a2220)
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 47b56644dee9a097cfce384ca030ddb75ddadfe5)
2022-08-19 19:51:28 -04:00
arkon
114ed8836b Simplify split tall images preference wording
(cherry picked from commit 301cae13f009bbd1be8816b2d8045282bb4d9d64)
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 324ae3fcfb022730604ab661c5b56510472ae718)
2022-08-19 19:51:05 -04:00
stevenyomi
39e0d7f4e8 Remove 1.x source models (#7781)
(cherry picked from commit e36e9d9d5c1b2a7b55f28f2bf0ef064880cbac8f)

# 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 4228bbb88efc1a2ff62c52d3bf5724150800e39e)
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 09abfc7843ef69d65cb4f1a3459ff8ee2718e4f7)

# 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 1f34f5277c9500e6a3a8069738a0eeeaf8c49ef5)

# 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 80b4b7bee6ad14a4eb7c83f1358a3e15150a7a43)

# 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 1f9f9662bc5abe75f24dae30d48e843005d86394)

# 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 97656935a25c3f4d9f0a870404131d6c135f4207)
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 2d690a09b37a55e87ce4365102ee818c5d9d1ba0)

# 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 7497e029799e455eb2c25b3afdfc5bd1db7202d7)
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 f34dc3be908540111eacd3aa5baae526162e0f0c)
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 65261356ebfd26a34ac71421e13cd6948b6df777)
2022-08-14 16:05:52 -04:00
Andreas
5baddd8a74 Add task to generate locales_config.xml (#7754)
(cherry picked from commit 4291cc8eb1f4385528afcc9cab2592c8b3afa44a)

# 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 9dbc1aa7a3165c420d3aa7826a345ab44d4199e4)
2022-08-14 16:04:29 -04:00
Ivan Iskandar
aad81d9c79 Use application context to create toast (#7756)
(cherry picked from commit b0520df1dd4ff169f03b744954e181df94459efe)
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 1f79444a531d0f4ec93cc953f3d82ea3c1094471)

# 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 240d821a58de7ac7e186c18db7542ea5efc31d8a)
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 05f2f79e0dee56220951ff19c0c0e4ac6d735f3d)
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 f1afeac0bcd3904c323e24d67dd945c85c666f92)
(cherry picked from commit 431c04e54f4acd1c660e83c27886c38955b67871)
2022-08-13 15:46:05 -04:00
Jobobby04
2b9d564841 Minor improvements for delegated source id lists
(cherry picked from commit 1d593de65440ddb531ee0421d17c6033a52dd5bb)
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 4aa5c6107ca28bde042095b53f6639aa4444c977)
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 f1afeac0bcd3904c323e24d67dd945c85c666f92)
(cherry picked from commit afd1c3b49155e68011f24593a2663c285d6c4e66)
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 e7695aef78c92c10e5bae953b24a19e67ac156af)
(cherry picked from commit 25e007504188463b6e11f1a8b85d2990afef6e75)
2022-08-13 15:31:46 -04:00
arkon
85bd12e731 Actually compare chapter numbers as numbers when sorting (fixes #7247)
(cherry picked from commit da8669c826e6575a76751842bda3da59dc2f07c7)
(cherry picked from commit 4b7b710b7cc2e3526de176eb0eb72d763b32bcd7)

# 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 6db2becd3023046558c1100a6658a8a76eac1148)

# 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 7892cc1519ef0ecf0dc0b519a0df8806eba05e99)
(cherry picked from commit 0b7d0f7f6727e46e21bd01c4a25968096108e8fd)
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 531546790853dd9adb91777de8d9560a610c4838)
(cherry picked from commit af1ee662eda12d96f27e2f06af9f168f86cdee4c)
2022-08-13 15:29:28 -04:00
stevenyomi
71db4eebea Filter out empty genres before saving manga to database (#7655)
(cherry picked from commit 4efb736e56dd1e9f6438502dac915467f5b64f03)

# 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 702fdb054a0a30f4bbd9e43c211d978d297871e9)
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 58acf0a8aa3aa37b5d9c63d99987a05ee2f8790f)

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

# 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 b563e85c3b744595272718f7e82e3272e2a7c57b)
(cherry picked from commit b729b7f0aa11780ada0a7056c153f8c6ef67d864)
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 d6977e5676377f6090c0e0b4eb15fd043fa01e11)

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

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

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

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/App.kt
(cherry picked from commit 09e5bcaec1916f4a2e846fc622749b092b10e994)
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 3547d0142f96c44da7fe1ee5bd6424fea679efa6)
(cherry picked from commit d734993349196ee7fb5303cc73aaff8de0f9a3fd)
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 b635f02d93502f1021f0fe87533dfd96d052ed2f)

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

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/source/online/HttpSource.kt
(cherry picked from commit bcf93989877ecf0d09f4a3d28584c107aacf9393)
2022-08-13 15:21:47 -04:00
arkon
a126180ca3 Replace deprecated ACTION_MEDIA_SCANNER_SCAN_FILE intent
(cherry picked from commit 0b4f3f553263281333c6475cdd1a9aea414ce877)
(cherry picked from commit c7e44aa22f61e70afb278e00b3e751bf42ec9847)
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 d977b89af1f2a8850437ebd978535fc3fbfd257e

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

# 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 72aba18dab4f21e8f2c569a1321bdccdf062039a)
2022-08-13 15:21:04 -04:00
arkon
2ecd2bce51 Bump dependencies + compile SDK to 33 + linting
(cherry picked from commit 3966a917ee76f007e581cf5c94a48d29090ef2c6)

# 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 be33a57d43ac7803cbec168c69108c05653fc520)
2022-08-13 15:19:06 -04:00
arkon
422721bb64 Update chapter recognition and related tests
Includes 3e07100dc2725cb2d42050571232dd5d485b4de5

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

# 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 34ac39e7e5e4d8846a55b396ac02d0758f1c0561)

# 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 5f378e28b63e9d606fa3be1acf6650b93ff86daa)
2022-08-13 15:02:16 -04:00
Ivan Iskandar
b86a549624 UpdatesScreen: Fix inset related issue (#7741)
(cherry picked from commit 4ebceac07f83270df81daff99c2f0d360cca37ef)
2022-08-13 15:02:08 -04:00
Ivan Iskandar
cda5730202 MangaFullCoverDialog: Use the new image picker when available (#7740)
(cherry picked from commit aab5a5689250d44913ac3fe2f1a50a3af95b1296)
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 83129385e2fcb60273b0162ab034a02440cc4350)
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 1474c8ffb337f824bc7f30f1f0f3e70e27205254)
2022-08-13 15:01:25 -04:00
Ivan Iskandar
c0761e8b19 MainActivity: Fix crash on back pressed (#7731)
(cherry picked from commit 441e7bf8b13d320b39a03d998d76fd5096ac9e60)
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 71fc5d6d35b0b10917f3db80b236b35fbbdaab3a)
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 ff996d282a2aeb1fcd593bf38400e94453fd2e9b)
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 11f640cfee427b8912cdc43fc3efc61e0f774aa7)

# 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 1cbe225a94ab83aa7345017c1d5385bf0f1e430a)
2022-08-13 14:50:16 -04:00
arkon
2999190fad Address misc. build warnings
(cherry picked from commit d6f1534ee8c95c7dc450f1cb86d378007e3bf53b)

# 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 24e64f52e2bae4a727647c85fde3004846496108)
2022-08-13 14:33:55 -04:00
arkon
4e4e369188 Fix crash when setting cover errors (closes #7714)
(cherry picked from commit e511f24979b0f40c545345ed151d3557644f79c6)

# 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 22e83f408bc6c19457cc8a03ed7f02d69e9308c7)
2022-08-13 14:31:30 -04:00
Andreas
d157115c80 Fake library loading (#7717)
(cherry picked from commit ec96a81735ee5761eb6c84d15de53e37ece9fdb2)

# 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 7892cc1519ef0ecf0dc0b519a0df8806eba05e99)
2022-08-13 14:30:41 -04:00
Ivan Iskandar
f99635bb3a MangaPresenter: Fix incorrect range selection (#7709)
(cherry picked from commit f7b11f2ce92627cbea713c200ed23ec596499d4f)
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 b4e15263db3d00326abe5886fffb3608c9a85c47)

# 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 96c3116af6db8eded246b5e464e74ac3f0ca47ef)
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 7845f9430ec15b25efc0ee212142795b7b34025f)
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 16abfeeff0eb482482fb60ac8ab6d01d75942531)
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 3bc6b1e202f8344356720467c60da19239e22ebc)

# 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 3c2e237d633e33990f2de44cfb69bbd773004c13)

# 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 7701672d7af9f07cbdc7159d109e806ba215fd94)
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 2993e3f0f2ccb3919d6a454fcac0afd2936c1ada)
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 688cc64dffa8cdf1241d3b4e2467b5e8c8529800)

# 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 9f0052eceb8bdbe9ca1ea18a2aac18a4718387bf)

# 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 19eb4aaac9b198d92274da6df9e139ecc287a3a6)
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 a2bb81b7db457c3927eaa1f03416a9b07985842b)

# 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 5e68fe4fe92dfe281662fce84195288c743f5cb7)
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 914831d51fbb915aea5cbb409b1da552862c380c)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/full/FullBackupManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/full/models/BackupCategory.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/models/Category.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/models/CategoryImpl.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibrarySettingsSheet.kt
#	app/src/main/sqldelight/migrations/19.sqm
2022-08-05 14:48:37 -04:00
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 531546790853dd9adb91777de8d9560a610c4838)
2022-08-05 13:08:12 -04:00
arkon
44ce0eaad0 Bump AGP and Compose compiler dependencies
(cherry picked from commit 807987f0d37bb99bf256bb3d642e5f1c89a13a17)
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 73901f50c0aee1cb82695642af72ff6ac7bc232d.

* ExtensionPresenter: Explicitly set refreshing status

* Scope coroutines job to presenter

* cleanup

* fix toast

(cherry picked from commit b3426f37e7d36be653363338288f74e2ae252a78)

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

# 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 3d4e56948d86d10ecd227fb59b92da069f37a89f)
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 737cf9898db0f3e89752b82753c7fe2a88d7fef9)
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 322f3a07e8b49d76bbbcf5178be6aa7a1f91e25b)
2022-07-31 18:20:49 -04:00
Andreas
970e3e3880 Fix null pointer exception on Extension Detail screen (#7666)
(cherry picked from commit 6c7b3d78118c9c01aa51fc3c663c5a12c8f986dd)
2022-07-31 18:20:28 -04:00
arkon
559073d958 Minor gradle cleanup
(cherry picked from commit bfd22f8f2dd48ffd3098c9b52ebf6f003bbe5a7e)
2022-07-31 11:57:27 -04:00
arkon
26da2504df Remove unused viewstatepageradapter dependency
(cherry picked from commit 2ca62c4edaaa121dc674ab8a5e5d5f1516d84faa)

# 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 a2d53c439eaf678bc1a116034928e0e4b60ee134)
2022-07-31 11:52:16 -04:00
Ivan Iskandar
46cbcfc82e Glance widget for Updates (#7581)
* glance

* glance2

(cherry picked from commit 29e1976b90c5dfdc7cd649740d475d86c321f573)

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

# 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 58acf0a8aa3aa37b5d9c63d99987a05ee2f8790f)

# 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 9f5f101858b55624340999db9ad07e018662f6c0)

# 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 2a875fe9b8d1e57dcf1e06804d452f6c56b8c089)
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 bb5a5ea25f4f06679c87b633ab76ececc1a1fb47)
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 039fe4a618cd3029acebd10a0222affd9272a2a6)

# 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 0c9c4c0347e779ffc2718711b164ec6196a2a22f)
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 819577a15d86d34a2c89896cfd6776a8388c4a5c)
2022-07-30 12:40:31 -04:00
MatchaSoba
b729b7f0aa Fix logic for searchWithGenre (#7559)
(cherry picked from commit b563e85c3b744595272718f7e82e3272e2a7c57b)
2022-07-30 12:40:15 -04:00
Andreas
153730447d Use Compose on Clear Database screen (#7639)
(cherry picked from commit 99ac30e59f191bbe3b2e570b4c2e6ec389d64cf2)

# 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 4774deb1efe023ecff4fd41708dd224edc216c0b)
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 d49ec41f3a68574601d5d773382045fdbc6624d8)

# 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 f90e1b935cf2714025facb5d08aa52e9d827e74b)
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 db93d1da76ba453e5b499bab0d2482728014786f)

# 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 7d74b174e024f2dee84debec1a9826b942e093e4)
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 e513487caac5ef8d7e1b5a60db60291ee8ec5cba)
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 483b204fb5b6790fb6fe59ffd80345cd484ca241)

# 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 56028aff5546222da2f03af2f84d8660917b828e)
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 7336714306d24cd28d257a819307f1f95d6c71f3)
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 8bde35298f69ceb2c4ae40a8f05f0b8394894220)
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 3fe5e53b2546559a91b3373c7bd6329bae7634ab)
2022-07-28 09:09:44 -04:00
Ivan Iskandar
9db6d65957 Retain backstack views by default (#7621)
(cherry picked from commit dcafdac036155df76d1f8b013ca1d08634fd57c2)

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

# 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 5bb1133f0f3a114d5ac06565abcdb965f8d1c28d)
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 2b96709799c14372e11f6de50167fac642a7dbc4)
2022-07-26 10:59:57 -04:00
Ivan Iskandar
1e07cb0682 BrowseSourceController: Fix broken page after opening manga (#7608)
Probably related to 788583e66f6ad355f65f5bd2db303faa85163c5c

(cherry picked from commit 1c8da5fa974b4cfd0fd762b0b1c2a07622ac7662)

# 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 73901f50c0aee1cb82695642af72ff6ac7bc232d)
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 76057b84b2d9ae01ad553a720aadb8114732dfab)
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 164de67a56095335119b63b3b17abab5007703f8)
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 aeffb5eeb806be8530aec7707d9075e48a75c9e3)
2022-07-24 15:28:05 -04:00
Andreas
013f7ec4f2 Fix toolbar having bottom padding in portrait (#7601)
(cherry picked from commit 6f947775307296974b9a109578dd895d34179758)
2022-07-24 10:38:41 -04:00
Ivan Iskandar
e6ab9e3815 Fix unnecessary recompose when calling LazyListState.isScrolledToEnd (#7598)
(cherry picked from commit 2e15be59af23de2302d7ccebd7ccea31d4f98da3)
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 bc1f6ba5177735e76b2b42f7884edfbe8f30006e)

# 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 59f8c1a2880b1d35e870ea0bca2bc7a9cfc48592)
2022-07-24 10:02:08 -04:00
arkon
22b627ea8d Set splash screen ready state for history and updates pages
(cherry picked from commit cd9487f94cac610cdeb31dcd9139f6cc9dc7026c)
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 978489fadef98a05da6dbab49e6cb5b19cdb123d)
2022-07-24 00:20:43 -04:00
arkon
a39f2626d9 Fix padding in history screen
(cherry picked from commit 07c9af49012f13bf9a5790a130c4fbf501666b83)
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 d6977e5676377f6090c0e0b4eb15fd043fa01e11)

# 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 a84305438853cafa9aff194b89fa221603f2f743)
2022-07-24 00:19:04 -04:00
arkon
c25b3857c9 Bump to Kotlin 1.7.10
(cherry picked from commit 098a7d1deb301c18c1d160ca6ef97f1987544585)
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 9ef0af00697850b35ee45f1a6f14aeb50837e17c)
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 c751851941796ae7fa10f9dfba9b75396bbbf692)
2022-07-24 00:18:39 -04:00
Andreas
bc1eb0cb30 Cleanup Library after Compose changes (#7584)
(cherry picked from commit 9f2ddaadde0326fb0fcf1ce91a2affc7f4af42c2)

# 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 fc328e141c4d131633f0c308b488d10ddaa7d618)
2022-07-24 00:09:10 -04:00
arkon
2f7fda2523 Remove unused menus and drawables
(cherry picked from commit 0e19c245e9aaeb2da88722e7f5816cfddece8777)

# 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 27bac4fffb782119dc7964f43dbd13dc1c7d3f82)

# 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 4bf4b167a54791d0f5a7710ebe15473b8de9dd5c)
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 2b8d1bcc02994e75e1479b037ef50eb84ae674d7)

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

# 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 8ea05e852efd621ee987c7e45d6db64a083eeffd)

# 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 3547d0142f96c44da7fe1ee5bd6424fea679efa6)
2022-07-20 11:33:27 -04:00
arkon
ac4befdb51 Migrate More screen to full Compose
(cherry picked from commit 4d9d587366018e6e794322e2a644712f241cda08)

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

# 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 00519e3b933b66bb764f1f58f79fb781b0cb092a)

# 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 473dc688f0bbb9732e3d75d137bc7025418d9bcf)
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 b635f02d93502f1021f0fe87533dfd96d052ed2f)

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

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/recent/updates/UpdatesPresenter.kt
#	app/src/main/sqldelight/migrations/18.sqm
2022-07-19 12:37:26 -04:00
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 cbfe9c30bb2970ad911ce35cf1d14bc044225e30)

# 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 459b369feb8569ddd7484267f4fd5f94285e480d)
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 3192d478371bd0c913020cd6262021f12b074827)
2022-07-16 20:48:44 -04:00
arkon
879999e69e Fix library column setting jumping in
(cherry picked from commit f6f5b6aeaba6825974f4b05d279fab54a2633d76)

# 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 1b2c12385feaa8bc7e32b724289323e5d3e9499e)
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 80c7a453286f296ae4d5d3531c805e63db9ca424)

# 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 2096df301d55ed446db21d0d2881e9d273674fae)

# 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 0b78028cf660e2f576ee30f8315b657eca1f39cd)

# 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 46ac9fe9701009077fa3edefb0ef0c5faa65f2bc)

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

# 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 9ebeff04e6b9beb518d40b94cd92405b06383370)
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 fa73e2403b79deca40590d8f4fa15f00a70e316e)

# 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 35ec5936587799f33a264f57729cb4b75c5a0f72)

# 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 905c96922bc7059e99c4c7bd89775747d02028a9)

# 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 018ca71336c893f64e0d0653b48b3d5f39b88d63)

# 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 383f7089c4c3cb4f9fd406209a8df411bf559e68)
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 a21aa8125e63b9e0d4377aa9c97d6614ee4acf7f)
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 83e193f1ab2798936aba59482ecab67600574583)
2022-07-16 16:48:03 -04:00
arkon
12e4dc81d7 Bump dependencies
(cherry picked from commit e5eadb0261a8b40f09d73b01fb9d7b338edcb8f0)
2022-07-16 16:47:51 -04:00
arkon
bcf9398987 Make default user agent string configurable
(cherry picked from commit 4ee1d72b6f8278d84da6f75d218a51261d175e18)

# 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 902bb35ba7f56f06660985dda0f7f8abf41ee669)
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 4de4992e4eba8f8d508341907225d4ecc55073b8)

# 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 1a17f87945a2cd8cf25c6368db8eccfba6328b9e)
2022-07-13 11:41:01 -04:00
Jobobby04
cedbbb05e4 Only enable autoscroll when app is active
(cherry picked from commit ac586560f0ce17a4e81c3c5dfe31888a180cb7e7)
2022-07-13 11:40:52 -04:00
Jobobby04
84d22c11ee Use image decoder for double pages
(cherry picked from commit 4ddc696fb5aa662a9831048a502d416085ce2566)

# 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 27733aba02896502835200a327f0481960de101d)
2022-07-13 11:39:42 -04:00
Jobobby04
e5fd460bb0 Minor cleanup of metadata
(cherry picked from commit 5b7539ac3eae805e262f86750268fb7a164a70b7)
2022-07-13 11:37:35 -04:00
Jobobby04
6d3095b503 Improve migration sheet layout
(cherry picked from commit fef7808bb47b19aac8cad832daac0883de78f41d)
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 5ea03fad8793a810514b41fe8308f89b25368c4d)

# 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 ed39b61ee9bb9ccec7edc8be82005e9ac95d5e22)
2022-07-13 11:36:43 -04:00
Jobobby04
f7e5df2b6d Fix auto-downloading for merged manga
(cherry picked from commit 8f868c0813a9a5e7af64760f22e849cb344a4f89)

# Conflicts:
#	app/src/main/sqldelight/data/merged.sq
2022-07-13 11:35:50 -04:00
Jobobby04
c58554ec75 Minor cleanup
(cherry picked from commit b71b9ab5518d9c8b3ec4c24b791ed35f1a44e8e0)
2022-07-13 11:34:51 -04:00
Jobobby04
cdf2cf8a2d Fix mangadex blocked uploaders
(cherry picked from commit f0f8a2a0a29d79f3695cb5823bf5183be381a325)
2022-07-13 11:34:01 -04:00
Jobobby04
0922d3c288 Fix on hiatus status category
(cherry picked from commit 0df61a9f28acffad5b48f64f5e648462ac718f92)
2022-07-13 11:33:52 -04:00
Jobobby04
505a8288be Merged source stop ddos
(cherry picked from commit 0c7ceb059e24ec6711b9d2ecec1296d56f120c7b)
2022-07-13 11:33:42 -04:00
Jobobby04
b3baaa18d2 Use a file suppress deprecation
(cherry picked from commit 1eafc6ebd8c00f727e96ceb59737ae003fce6e5f)
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 c51e8c7ab4ee57ab78e86a4c3021ff637490f647)
2022-07-13 11:30:23 -04:00
Jobobby04
5bf4d5e434 Update tag action, fix preview changelog
(cherry picked from commit f03711e2f77f96ec58d15b0d8438424832c55761)
2022-07-13 11:29:58 -04:00
arkon
45569947c4 Bump dependencies
(cherry picked from commit 1dc4a52f61661ff271ad2e0485399991e35f9dc8)

# 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 7d3fe0ed4374880765fe9dadbd5f6c842e41cc6b)
(cherry picked from commit d71bf4e6bc6789706351e14264377123cfef0402)
2022-07-13 11:20:39 -04:00
arkon
cc499a7c07 Add MIME type mapping for image/jxl (fixes #7117)
(cherry picked from commit 591df8abccba95031a670b1ef761fb522b0c0517)

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

# 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 46734c525ff6f893096ed16c23e0266b61e61b57)
(cherry picked from commit adae68a294edcda0fb0606f4bdf4169683d1da77)
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 284445c364baa47c4f29a524c3e00f1e18360abb)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/extension/api/ExtensionGithubApi.kt
(cherry picked from commit ef20995e7d1ff8b37b7adeb6caf86420bcf600ae)
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 5b8cd68cf355a15e5d5789280524d08b4c922f23)
(cherry picked from commit af82ef436b29b4f96ef0e9ff914862e8426f9886)
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 ad106bd8842dfc9c047c0412b92a0cb1dc1aba1a)
(cherry picked from commit bd6f778de2a8790988e35c2bf1ee45e1d898852f)
2022-07-13 11:19:26 -04:00
arkon
c6896d87d6 Use primary color for excluded tristate filter icon (fixes #7360)
(cherry picked from commit 3ca1ce463696e2e8eabf63c1e729dbdd2ffe1f71)
(cherry picked from commit d2e40a0749b5055d82b66693d41b6f0268adb6ff)
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 470a5764417ccd63a274ccea0e483a12ec1adbda)
(cherry picked from commit 1e53ad97db7ed91d54d872de0330b1cd6cb8bd4c)
2022-07-13 11:19:12 -04:00
arkon
1ed182853a Fix accented UI elements in library sheet being different colors
(cherry picked from commit cd5bcc36734e0959569be6dd5ecd3b3813863207)
(cherry picked from commit eefdeb3c3f5546fdeb63bdbbeafcf704d45086f6)
2022-07-13 11:19:01 -04:00
arkon
1ef9717443 Fix wrapped long page numbers in reader (closes #7300)
(cherry picked from commit 6bc484617ee382b1ac8262e75671e535647d3bc4)
(cherry picked from commit 5edb36ea752144be59ae682dcaa03798290bf91a)
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 40f5d26945a61de0a6bea27bcee53e7b536174c6)
(cherry picked from commit adbf52a347477884771d676dd7299375ae97ace1)
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 18ea6c4f655cfde314eb6b6d8061af313ba3f78b)
(cherry picked from commit d957f2fa8b0d4cad77dc3e42582f800f4d4e30b5)
2022-07-13 11:18:33 -04:00
kasperskier
acc4d4a320 ChapterSourceSync: set default timestamp to max timestamp (#7197)
(cherry picked from commit dd5da56695d8787ce5cf154b5d83aafaadf49def)
(cherry picked from commit 1d00dee9b7c349e365370fe20fda9e7cbce0b1f2)
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 63238b388d1af3a0036f1d9a43cb4d2e87aabf5e)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsLibraryController.kt
(cherry picked from commit dd8dc8fbe9ae1fdc6b6dbcaad91a77366ee21c64)
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 ad17eb138609d684fd5929c3cb7dc644e3a3ec95)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/source/LocalSource.kt
(cherry picked from commit 6fd79f4838d289ef213cd547c38b2b6770df73b3)
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 6580f5771f634b0e2c25f8cd42fa1596b2ea4e1c)
(cherry picked from commit c0362faaf8965005a04c5fdbf1692865b6a83be4)
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 b21bcc2d45859ea86d6042b5df9d7c6f30d259cc)
(cherry picked from commit 31ac3aece298da961fd64709291af8a6f317397c)
2022-07-13 11:17:47 -04:00
kasperskier
9820e1097d Change jsDelivr CDN URL to Fastly (#7156)
(cherry picked from commit 7b242bf11833ebd6dda34df295dfa7cd45cb88d0)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/extension/api/ExtensionGithubApi.kt
(cherry picked from commit bbdbaa1de68a9fb4f071727962b97fd5177092fc)
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 24bb2f02dce135e0ceb2856618ecfc0e30dce875

(cherry picked from commit d61bfd7cafa09ff6c5f159c945984f2e8d9904b9)

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

# 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 f1ab34e27cbd8f26f87e34238af0863d4650b960)
(cherry picked from commit 93226248865ea8d32324189cd5a25afc4e717739)
2022-07-13 11:13:28 -04:00
CVIUS
3ec11cb81f Fix category tabs incorrect scroll position (#7120)
(cherry picked from commit 6d655ff7574c0c51c41cfc6b3abed57fb2115acc)
(cherry picked from commit 58db04d8ddf5d10c00dbf06c27f09d44321f4c09)
2022-07-13 11:13:19 -04:00
nzoba
960d67ec26 Add switch to DownloadPageLoader when chapter is downloaded (#7119)
(cherry picked from commit 63627c81ebd6b3a9b1ee017f385a72b6fc8c8a49)
(cherry picked from commit f7a57d2ddd1bdc51ec97078617a89b5ecbe2225f)
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 b26daf8824e09922f063db6d6410b78d6281957b)
(cherry picked from commit 054e6b839ed4277e66fc5351f46d08652bdfd610)
2022-07-13 11:12:59 -04:00
Jobobby04
a575770be0 Update build workflow actions
(cherry picked from commit c1c934011f79fd61d691792289d5e7a47986fbca)
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 e7ed130f2a4fcd7452737476189687fbd130c80d)
(cherry picked from commit 81bdc190755a5a49a6e49a89ef3962f9ecf5c0d0)
2022-07-13 11:12:36 -04:00
CVIUS
e7cd7c06fa Use theme primary color for slider track (#7102)
(cherry picked from commit bc053580ad21669cf507dea1aa14a8dd5cb59ef6)
(cherry picked from commit ea9ea11eaf8a3e0613c101b0d9324ea6700a234e)
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 11c01235ac32c8fd3de864c37cab82367b4a9e41)
(cherry picked from commit 1269d71d1a608515c4243226bc2bbd53f6cab8dd)
2022-07-13 11:12:16 -04:00
arkon
dfa9b7462f Rename "navigation layout" to "tap zones"
(cherry picked from commit c49d862fc58fb4a750ee6de006054823f94e3263)
(cherry picked from commit ec9d55e9e8ec1cd6d1f7f639faff66c8c3ecf93a)
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 f966940d1544cef96cc2ba6c6d884cacfa55e085)
2022-07-13 11:11:58 -04:00
FourTOne5
b8e0b86df8 Add -r flag to ShizukuInstaller createCommand (#7080)
(cherry picked from commit 3865384cccfd4fc2a9a458f01dafada808dd35d7)
2022-07-13 11:11:48 -04:00
arkon
c48f4770ee Fix Android 13 icon sizing
(cherry picked from commit 3a4f107ab7d811071faf0ed6d55a5a3f7e86aab9)

# 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 70698e64940eb01032e948245a01c4191ccd60f0)
(cherry picked from commit b846bc2044c0ea2f7f8a7c2186e875744ecf579c)
2022-07-13 11:09:50 -04:00
FourTOne5
9da8a09cb4 Download new chapters when only excluded categories is selected (#6984)
(cherry picked from commit 06bec0ad54954e0a0c76949206814747df5a8370)
(cherry picked from commit 7ed22e5d9027be54bdd480aa3785adb19c8a8b80)
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 91ed3a4a5facaaa335d4408e7c5342dcca430f47)
(cherry picked from commit da739dfc077d98be66ca140c2bb492e576bf300c)
2022-07-13 11:09:32 -04:00
arkon
ff9fbc5265 Fix update warning notifications being cut off (fixes #6983)
(cherry picked from commit 20145f7a12c5f14a27ab01f16ceee3cfca77fdab)
(cherry picked from commit 92af7291d54e20d98f9d9cc1c8f61f8c7a6ec7b6)
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 883945e3e8b4c3fe5ec1bb151c247db7404b037c)
(cherry picked from commit f22ff7d3f06b722b153ffb02b6e4dde3dc92c897)
2022-07-13 11:09:14 -04:00
arkon
77ebecd87d Add battery not low restriction for global updates (closes #6980)
(cherry picked from commit 3feea7114614726cd0f5b87729a6c6195d180949)
(cherry picked from commit 4804dcf644695406465d39a1b6d4518afe7c5ce0)
2022-07-13 11:08:56 -04:00
ItsLogic
518f2c1faa Fix chapter transition setting for one page chapters (#6998)
(cherry picked from commit 5e32b8e49fc7879559366357743bc450099453ca)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerViewer.kt
(cherry picked from commit 6df5497dc60498abe5ed67b830a7cca78212086c)
2022-07-13 11:08:37 -04:00
arkon
33f4c0ad08 Delete entire app_webview folder when clearing WebView data
(cherry picked from commit 6e95fde4ece64e5959c04bb4b7fb69299ef37ca5)
(cherry picked from commit 1d0520e71646beb89ec228608a9ca9c0b78b324c)
2022-07-13 11:08:28 -04:00
arkon
8d0bfcd55e Move clear webview data action to network group
(cherry picked from commit bf0bb5aa88f91b0567cf9de085a35d660e7e41a1)
(cherry picked from commit 93b7881505de293bc676f20f5894107c3f3b99af)
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 386b8945c8380c63a4e8f935dfe6ef1baab4774b)
2022-07-13 09:57:39 -04:00
Trevor Paley
bb7dd4e2f6 Fix bug in default category downloading logic (#7525)
(cherry picked from commit 86a018ebad5f43c691c688fd87528738de09d684)
2022-07-13 09:57:26 -04:00
Ivan Iskandar
c77b69ed10 Fix scroll animation when system animation is disabled (#7509)
(cherry picked from commit ba93060e591fccf3c85995b50f496bc937ae8ae4)
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 788583e66f6ad355f65f5bd2db303faa85163c5c)

# 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 cbcab5a545369bc06933bdf4c9f2b6289df1f4ca)
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 634ee86bbd022612d6fe69baf522b4a2223b506f)
2022-07-11 11:36:39 -04:00
AntsyLich
26632905b5 ExtensionManger: Fix unofficial extension has update (#7503)
(cherry picked from commit 64f60c36e61ea186e246370634835abc6b7c9b0c)
2022-07-11 11:36:30 -04:00
arkon
a66abf82d8 Replace deprecated ACTION_MEDIA_SCANNER_SCAN_FILE intent
(cherry picked from commit 0b4f3f553263281333c6475cdd1a9aea414ce877)
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 d977b89af1f2a8850437ebd978535fc3fbfd257e)
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 487ce37d915e07e54fe9381bb33d4e6bbf260102)
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 1551891c15eb5d323cb1d425794876a753316091)

# 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 b15073fd6124747c1e64cffc5e758c94cf6a6b7a)
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 e56f6c10177949c88e61d13e95b23545bef06641)
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 34906a74253e7463ac23ea96496c59198884e0be)

# 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 86bacbe586bfe5567b1d52eb8d7b7f23724a17d5)

# Conflicts:
#	app/src/main/java/eu/kanade/data/category/CategoryRepositoryImpl.kt
#	app/src/main/java/eu/kanade/domain/category/interactor/InsertCategory.kt
#	app/src/main/java/eu/kanade/domain/category/repository/CategoryRepository.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/category/CategoryAdapter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/category/CategoryHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/category/CategoryItem.kt
#	app/src/main/res/layout/categories_item.xml
2022-07-10 21:27:27 -04:00
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 14a08f0668dae961ae9ba4e0523d08522d890a24)
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 9385b86ecb92bd91e5ad65d0eed2580b6b4c6973)
2022-07-09 19:58:23 -04:00
arkon
72aba18dab Use Material3 switches in XML layouts
(cherry picked from commit da7a64b40dda3368565b329e519da3283c797131)

# 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 5159eabc5dfd77dd7e4a480c1982bd1d2e5fbb92)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
2022-07-08 22:29:34 -04:00
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 9357af2bcfe95f588497dc3394ac67ead1e189cb)
2022-07-08 21:54:02 -04:00
AntsyLich
4f136ca63b Fix auto downloader for "Default" category (#7476)
(cherry picked from commit 038532897bea53d2cd248baf91e9c365acc3e491)
2022-07-08 21:53:37 -04:00
Ivan Iskandar
f1729a1a26 Fix broken downloaded chapter (#7460)
(cherry picked from commit 325a5e37aac77ab305d21ecfe5ce63705a243047)
2022-07-08 21:53:27 -04:00
arkon
d71bf4e6bc Update default user agent string
(cherry picked from commit 7d3fe0ed4374880765fe9dadbd5f6c842e41cc6b)
2022-07-08 21:53:18 -04:00
AntsyLich
3cf809870b ChapterDownloadIndicator: Ensure uniform hit area (#7453)
(cherry picked from commit eef95cef336f805881b124dd2c5f465c3fd73bc6)
2022-07-08 21:53:08 -04:00
arkon
bbdab4a703 Add MIME type mapping for image/jxl (fixes #7117)
(cherry picked from commit 591df8abccba95031a670b1ef761fb522b0c0517)

# 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 46734c525ff6f893096ed16c23e0266b61e61b57)
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 a3378e6080418e6ba9bab4d027d7f06373556217)

# 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 3791d8254034ffcab94ddd65ec290c28384e6526)

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

# 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 069bd90c0f76d21bc6d99a51644926876415c113)

# 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 68697e59d71d9875d8a8b8aaaf65e77a084e0b8a)

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

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

# 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 17951cfd68159d083df54c3e03094d8d66fe02ec)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/DomainModule.kt
#	app/src/main/java/eu/kanade/domain/manga/repository/MangaRepository.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/DatabaseHelper.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/DbExtensions.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/DbProvider.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/mappers/ChapterTypeMapping.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/mappers/MangaCategoryTypeMapping.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/mappers/MangaTypeMapping.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/queries/MangaQueries.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/queries/RawQueries.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/resolvers/ChapterProgressPutResolver.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/resolvers/LibraryMangaGetResolver.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/resolvers/MangaFlagsPutResolver.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/tables/CategoryTable.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/tables/ChapterTable.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/tables/MangaCategoryTable.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/tables/MangaTable.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourcePresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.kt
2022-07-03 15:58:26 -04:00
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 851a5ab7e432260938f8cee23f2cb3ce31f40229)
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 74c5b294840cf1036a8f393092fde7830b5de7de)
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 20453dc08f600bdfa7cd92d4298d74fca5c1db95)
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 9e3b454b1b79a7725b3d3be4c85c1655ad80e18d)

# 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 29633b64aa1b3d87392362f31f4fc250d930722b)

# 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 76c0ead1db3a93f859f00ce6bff69f38b8699bd6)

# 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 2674570792a275abaee7a6ec1ae947d94f69a634)

# 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 5d77ee37d2e66dc39e2eee0efba90872818259d8)
2022-07-02 19:42:26 -04:00
arkon
85898df703 More SQLDelight migrations
(cherry picked from commit 21771e62aa0dc7e1393b27ea8eb146de277cebd9)

# 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 05085fe57fe4c3ada497f93b8cd282a5009cdbbb)

# 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 ff32ab09fbc32eff33cb378d6e1b1aa0d9ef8e1a)
2022-07-02 13:44:21 -04:00
AntsyLich
5f55a0afbb Reimplement chapter download indicator longpress (#7412)
(cherry picked from commit deaded5af2da6645d7f320471d5f73c0ffed3edf)

# 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 f3c50ee9a36c0bb7b047cf36b47ac6fdda509840)
2022-07-02 13:43:14 -04:00
Ivan Iskandar
4854fcfccf MangaScreen: Hide scroller when appbar is expanded (#7426)
(cherry picked from commit 3072296919089546016de10c274de1a10b0b7234)
2022-07-02 13:42:48 -04:00
Andreas
42ecd912e8 Use SQLDelight on Updates screen (#7423)
(cherry picked from commit 1f10b79ee800fba42aa588cb094d3d280c264245)

# 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 b9e108eb4d7e93deb6bc8bd6ed32220c780d2576)
2022-07-02 13:23:22 -04:00
arkon
a9edf7f62c Downgrade to Compose 1.2.0-rc03
(cherry picked from commit f26cfa58e475bd61b4ebbae645376978f252b592)
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 e1525a5125f83fb419d5e5f05834cffcbcd7fa07)

# 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 388dc2f10301c8dd128b493ad876467fca1b38c3)
2022-07-02 13:03:00 -04:00
arkon
858c3b5a0a Bump dependencies
(cherry picked from commit 7e4c45858f6fd2309f8ca07e1e4c4798ab87b764)

# 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 d476431707e97174b6aa82f474bb76c5b7f2ffe7)
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 284445c364baa47c4f29a524c3e00f1e18360abb)

# 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 08d1ecfba7e8b41b1ea159057314619d91428da2)
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 0969226fd371851849bf4bfb3eeb44ede9a6b8ad)
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 0c856438fa86296ecc70f8422740d64f18a9b716)
2022-06-28 10:03:53 -04:00
Ivan Iskandar
d81fc7f1c0 Improve history screen scrolling perf (#7399)
(cherry picked from commit e44bb309965e63174b89b9e5e527ad9a60d5184f)
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 7440086ef1bd63d499945afe1722d6648ab514ac)
2022-06-27 13:00:09 -04:00
AntsyLich
257001d4a6 Sort Manga by title in MigrationMangaScreeen (#7392)
(cherry picked from commit ef3acb8c430f88664dbc3895e666e76836ad163d)
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 5b8cd68cf355a15e5d5789280524d08b4c922f23)
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 53decfd47b2fba53cebcaa2350fb8cf6a2385e9f)

# 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 65264e3ef56b3327d0f0d2f6f5250d79e6e7555f)

# 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 4ca0fc7a4d2232ef9a48890b42cd1bd27450b585)
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 7b294478e497116ecaa25b2ee9ce17cd541dd7fa)
2022-06-26 16:50:50 -04:00
AntsyLich
6f407f6e0a Use sqldelight for direct db calls in MangaPresenter (#7366)
(cherry picked from commit 04f0ca78469573707e14742226fd8f14445853d4)

# 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 61a44101a273598ec43168be9fbf00247facef58)
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 924dfa19cffed109db8d039cecfa430165abc45e)
2022-06-26 13:55:38 -04:00
Ivan Iskandar
4eb45d0ade VerticalFastScroller: Fix incorrect touch target (#7384)
(cherry picked from commit 9ff6ae81bdcb7ce8d1a180f86fad8870324bcf1e)
2022-06-26 13:55:29 -04:00
Ivan Iskandar
42c8b47f04 Fix chapter number display style (#7383)
(cherry picked from commit c33e5c8a1704c8c1a66aa90f6dd934cd5d064c88)
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 6129bbc9ab9ac493a40e4b7f928f8271c191ae2d)
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 ad106bd8842dfc9c047c0412b92a0cb1dc1aba1a)
2022-06-26 11:30:47 -04:00
arkon
24252c388a Fix manga info header using wrong text color (fixes #7368)
(cherry picked from commit 37fe25ac06ff58d9d91f619bfb13cd516b369a90)

# 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 0e0c1dcdc5f42b0a63d5b865c9aba29db4ab18a6)

# 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 c9770eea2fcc7006e5bed71802f05b97f01b1921)
2022-06-26 11:10:03 -04:00
arkon
b889a3482e Avoid overflow in extension screen items (fixes #6972)
(cherry picked from commit 80d2d9d2581df56286b990f167ad34cbe00a8627)

# 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 3ca1ce463696e2e8eabf63c1e729dbdd2ffe1f71)
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 8ec91cddab1b77baa631500d6878e60df8c8d13d)

# 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 33a778873af0eb52528a29f741fa59b530679c64)

# 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 470a5764417ccd63a274ccea0e483a12ec1adbda)
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 cf7ca5bd28da6fe79b322e3c07cc9fc41c16b77e)
2022-06-25 11:34:56 -04:00
Ivan Iskandar
dfe32071e2 ChapterDownloadView: Convert to compose (#7354)
(cherry picked from commit a77bce7b3735811002be3e80b95dae892029d0f5)
2022-06-25 11:34:47 -04:00
arkon
e8bcf390b1 Bump dependencies
(cherry picked from commit 8e985eb0db0f7064800cc4ca1fa3e7530ade60f0)
2022-06-25 11:34:37 -04:00
arkon
c48318df73 Fix crashes from KTX extension changes
(cherry picked from commit 915e38f636e2fba9ae53ee8d87026ea1e0edacf3)

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

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

# 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 cd5bcc36734e0959569be6dd5ecd3b3813863207)
2022-06-25 11:23:50 -04:00
arkon
e0cfaa707e Minor cleanup
(cherry picked from commit 254f021903030551d781223089d64a74fe130197)
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 8fedd2d5f13e56115bdf46a9a38e0ae750681488)

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

# 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 68c47a323879a794c9fc87903233fd418fe2edab)
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 e6447727319ae45d7ce9c9303893ae055ee3c4a7)
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 11f1482818d70e6b00bcfd267ab70418e3350e83)

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

# 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 005b9b595cfe41484eea94998d2f3c9918759a94)

# 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 e6a9d0b090e6f89669587cfa7b71b275d7796bff)
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 82879a129e12509223a05230ebeb884f103d0745)

# 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 9f66c85281e02eb6a73034d79a3441c98803ffd6)

# 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 3fd9e021fa84557fc1681685ee1a3e8b6678e7ba)
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 4c3af7bf36380ae036b996faf7bdbbc13d0ae297)
2022-06-18 19:37:47 -04:00
Ivan Iskandar
4a23c3b105 Convert edit cover function to suspend function (#7330)
(cherry picked from commit 28e7009b4982fb846296a9e0973f4e84f6f46b25)

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

# 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 1b804e61cb2b38d7194b058b4152b14607b5e443)

# 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 02eb3cb6b5613bdc683d341b23e8be119338b570)
2022-06-18 19:10:38 -04:00
Andreas
cad93ce77e Fix History not being added when restoring backup (#7324)
(cherry picked from commit c5d84b4f2408b043b7a74ac2a263e0564f2e4b5a)
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 ae88252cb189283a87c3294c0b6c4bb28064b0f6)
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 3c3d787a2be41de3f1c0f3e1f38d1e4152f7b7ac)
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 4ef337f1e92fcdbded2de57c8f248b60d7795649)
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 017f6b22f02ef06cd5a3d521715c32c5e3b2b0e6)

# 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 602168bc48bb512c5c5bca5d0e47b62bb2d20026)
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
4dea924337

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 fdf384b8092d09f0a4e68c5688f9c1c1e94c80d0)
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 284880d096d1a4e4f746cc49de945f3186207285)
2022-06-16 12:03:32 -04:00
arkon
d7919c531a Make Compose overflow menu feel slightly more like XML version
(cherry picked from commit a446b37c1f09c5be4c8693895814921c802479c5)
2022-06-16 12:03:24 -04:00
arkon
fd52425d1f Bump dependencies
(cherry picked from commit ad75d137b0604cedf753d90437720c1409fe66fe)
2022-06-16 12:03:17 -04:00
arkon
7e8228137c Minor cleanup
(cherry picked from commit d2f4c43526769ff8928d273d2e95e29fc5688bbc)
2022-06-16 12:03:03 -04:00
arkon
5edb36ea75 Fix wrapped long page numbers in reader (closes #7300)
(cherry picked from commit 6bc484617ee382b1ac8262e75671e535647d3bc4)
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 9d5b7de1d89a353d0bf73ce6befd9f5667d94d17)

# 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 a01c370d6335c19f608f5216ad0772e49310b098)
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 fd5da2de3ab294988e8408077977f776cca5299a)

# 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 3c9f96d6218ea856db578b121ebb9de80679fb15)
2022-06-13 12:04:24 -04:00
AntsyLich
240d5a7c52 Add date_upload to toDbChapter() (#7297)
(cherry picked from commit 693cc103ea5e9fed3045d3d20778866a0041d944)
2022-06-12 12:47:38 -04:00
arkon
ed27491ba9 Minor cleanup
(cherry picked from commit 5ccde61ae1c6f557233dc48d57ad4a953aace6ec)

# 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 e7695aef78c92c10e5bae953b24a19e67ac156af)
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 b96686e6ad0b46a586958179e8cbb1d6a9182323)

# 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 5bb78eb77f2f68c40079548d5fe3b75a11f2bf71)

# 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 5fbf454652a52567d9c4e2d0bb19eb7b08b1721e)
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 d098eca69d0abc1c68e88811a13bad35c750f387)

# 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 120943a8b37eaf847ca1073676a8293288c28e12)

# 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 1e64542f143366cb53e979da7dbe65fa04e1de36)

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

# 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 349e6ca98f9400a0126a46fd509ecc91b7481eb8)
2022-06-11 12:01:34 -04:00
arkon
4b7b710b7c Actually compare chapter numbers as numbers when sorting (fixes #7247)
(cherry picked from commit da8669c826e6575a76751842bda3da59dc2f07c7)
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 59837bbb903dcfc2cf824972977b6247c713507b)
2022-06-11 12:01:19 -04:00
Rohit Mane
105bbdb4dd Update ChapterSourceSync.kt (#7271)
(cherry picked from commit 20c14a0a005fabb2d95311c70f218fd13c5942c8)
2022-06-11 12:01:07 -04:00
AntsyLich
1ad8893148 Make ChapterRecognition return the result (#7279)
(cherry picked from commit 06fdfcdb23a47e5d98935509c979da4ee80a044f)

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

# 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 40f5d26945a61de0a6bea27bcee53e7b536174c6)
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 18ea6c4f655cfde314eb6b6d8061af313ba3f78b)
2022-06-11 11:58:13 -04:00
AntsyLich
75641213ef Tweak extension details screen (#7257)
(cherry picked from commit 7a661747c58c300433fe631659ad1b11b1edd865)
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 177a642afcf3da2b585d67da55fede8e0fe6d384)
2022-06-11 11:58:00 -04:00
Andreas
76f5625948 Use Requery to enhance SQLite (#7260)
(cherry picked from commit 161c8bcf9e4d2604ddf99645045b74908ec9b0a2)

# 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 e3f8aedd5a4c22ded32b7f50e6a3a1b5c68011ae)
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 7fdbf40cd23132915bd90cf623e4a69fb560dd26)

# 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 5ea03fad8793a810514b41fe8308f89b25368c4d)

# 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 dd5da56695d8787ce5cf154b5d83aafaadf49def)
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 0e1e57c1c38e6db6b76f16849cdef3eaba66864d)
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 b80a992fdb33da62cca7d31ebec7368102e08bda)
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 a3a85ea49f927311b943f5fe32977ec0e948989b)
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 4560033e66bac13859af6aff5816925a4181a376)
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 d1be221d7aaa811e50417235021c7e038704d276)

# 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 cd0294b1b697b5dedb79374a1007ad81d90781c9)
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 0dbe82c781daf8cd0cae1f7328d9529cde14dfd2)
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 ad9ef81a771b3828a028833a037d0e03ee10eeed)
2022-05-29 18:43:44 -04:00
Andreas
8f9aefe1b7 Make Storio follow new database table structure (#7217)
(cherry picked from commit b36ca92dd936af1928e032712632d68a03024b03)
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 c8468c29f1b65ce5e3a3680b3f095cf003d2f89d)
2022-05-29 18:43:19 -04:00
arkon
2b766863f5 Minor cleanups
(cherry picked from commit 3c40010afffa807017f0b56634d8c5323154b4e4)

# 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 63238b388d1af3a0036f1d9a43cb4d2e87aabf5e)

# 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 809da49301cceacd433f38354fb04fc616efcc5f)

# 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 6b14f38cfa476be3bfa27c545a5e65f82acda933)
2022-05-29 18:26:44 -04:00
arkon
3a489da679 Downgrade R8 to avoid extension issues
(cherry picked from commit e1e1c20dbe3d49ca3175e5f6ed8c5e16a84b16ba)

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

# Conflicts:
#	build.gradle.kts
2022-05-29 18:25:00 -04:00
arkon
a3d7c50246 Mention MangaUpdates in README
(cherry picked from commit f7881651c57bdadf4237f924d9d462115b353c6e)
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 241c4ad85766338d33e12c43302abf678b23f532)
2022-05-29 18:23:57 -04:00
arkon
c4dfbd4768 Minor cleanup
(cherry picked from commit 87661eb85a54fc938defe4f5e1d046b34585f08b)

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

# 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 0c631a499025aee66354caec690b68cea4dedfdc)

# 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 9b0d85bf6c9cf1a6b476be477255f52ac07195c4)
2022-05-24 19:47:10 -04:00
Ivan Iskandar
f1bd5f4c95 Add scrollbar indicator to LazyColumn (#7164)
(cherry picked from commit 3b2362c784a334161cffb734c46588ee87307950)

# 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 aa2370b381894b24a1a84aa8a7819b5e4e6a62c7)
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 3e07100dc2725cb2d42050571232dd5d485b4de5)
2022-05-24 19:46:15 -04:00
arkon
e2ddcdf655 Bump dependencies
(cherry picked from commit 1949fb1abe276a6e0085c2783bf52ddffd8816e1)
2022-05-24 19:46:05 -04:00
FourTOne5
52f32d27e8 Fix LogPriority in HistoryRepositoryImpl (#7173)
(cherry picked from commit 28be423e65e76243012c7825ca2a4fce5270b092)
2022-05-24 19:45:54 -04:00
arkon
cf980adb8e Minor cleanup
(cherry picked from commit 9a75232ca40e8f6f3dd6a6f73cc0c2f3912e3ced)

# 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 64da16f58fa1a4196d9bb03674b8e9c3ccf4ca46)
2022-05-24 19:31:56 -04:00
FourTOne5
dc70fdac43 Migrate extensions language filter screen to compose (#7169)
(cherry picked from commit fd9510e18fe9e9d42631c40bcaf254453604337b)
2022-05-24 19:31:41 -04:00
Andreas
47c9b3208a Make extension list update when languages changes (#7168)
(cherry picked from commit 2761d27aaacce1d454955c1391bffc779b58d2f3)
2022-05-24 19:31:23 -04:00
arkon
22c0b9cf02 Bump dependencies
(cherry picked from commit f4e344f686fc1dab18aaa08d6986c9e4f04cb309)
2022-05-24 19:30:43 -04:00
arkon
755b54cb4d Convert ic_untrusted_source icons to WEBP
(cherry picked from commit 395a840fc40e34652759fd7f7d768e86fdc4f899)
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 6580f5771f634b0e2c25f8cd42fa1596b2ea4e1c)
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 b21bcc2d45859ea86d6042b5df9d7c6f30d259cc)
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 4481c54376fbdedc26e29a7942cd8752567ef4a3)
2022-05-24 19:29:56 -04:00
kasperskier
bbdbaa1de6 Change jsDelivr CDN URL to Fastly (#7156)
(cherry picked from commit 7b242bf11833ebd6dda34df295dfa7cd45cb88d0)

# 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 f2a478288ac884ee9229fb17174d1e5db7249437)
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 01e04e31bf63a9fed18d214f0d12b4c45c72f948)

# 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 cbc114608b76a083b4db8f66abde456a32b61638)
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 24bb2f02dce135e0ceb2856618ecfc0e30dce875

(cherry picked from commit d61bfd7cafa09ff6c5f159c945984f2e8d9904b9)

# 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 13943f77f7c06d7978165a1d9ba139e72dfed853)

# 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 1c94ecdcdf1306950f58dcae1f72940f7d92c515)
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 fb83a07f843e8cec2dc935f1b4eed6351aff672b)
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 3e2d7d76b9b0fb1156d4dfaa01f4176d801089ce)

# 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 7a0915964ab85aeabde25a7d87e535ec97478380)
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 aef97c5563471fbc33f36e078ea6e51dd657f5ae)
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 4c9331c4e94d384393708eb6751b918bb31c5d06)

# 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 6fb5552d574fbc505752c57259ada0d270d52d3b)
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 bdb55ef8817557e1d4bb4eda1120949ef42a8b54)

# 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 628a3bc16c6f059757bc0e1502708f5a2d56732b)
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 c77396dbdbc5d43d6cf174b4eb8cbe0393cfbd20)
2022-05-14 19:48:07 -04:00
CVIUS
eebeeb092d Add long click action on chapter download button (#7125)
(cherry picked from commit 5002692bda658354f1df6285cade002b29747d59)
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 71bb8ed975bcf790d170310121afbfe94228dbb1)
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 6d011ebe32561214001089794ff70bb0be9dde66)
2022-05-14 10:50:12 -04:00
CVIUS
9322624886 Save reader progress when activity is paused (#7121)
(cherry picked from commit f1ab34e27cbd8f26f87e34238af0863d4650b960)
2022-05-14 10:50:02 -04:00
CVIUS
58db04d8dd Fix category tabs incorrect scroll position (#7120)
(cherry picked from commit 6d655ff7574c0c51c41cfc6b3abed57fb2115acc)
2022-05-14 10:49:55 -04:00
nzoba
f7a57d2ddd Add switch to DownloadPageLoader when chapter is downloaded (#7119)
(cherry picked from commit 63627c81ebd6b3a9b1ee017f385a72b6fc8c8a49)
2022-05-14 10:49:46 -04:00
arkon
0bb16937c7 Update reset viewer flags strings
(cherry picked from commit 5dc688dc2e581ff0098f9012a3922de2ef85d2f3)

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

# 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 f1afeac0bcd3904c323e24d67dd945c85c666f92)
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 f75d63274089c5a0cfe0e1afde8703017b521870)
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 b26daf8824e09922f063db6d6410b78d6281957b)
2022-05-14 10:47:54 -04:00
arkon
6d1dcf0deb Update Compose
Fixes #7004

(cherry picked from commit 393fc146303c3dc6185842e4158c3bd3f006017b)
2022-05-14 10:47:43 -04:00
arkon
61ff7f8b21 Minor cleanup
(cherry picked from commit c7707dc50edb817652d4e850f4f0806ab05307df)

# Conflicts:
#	.github/renovate.json
2022-05-14 10:47:25 -04:00
arkon
409162d3d7 Bump dependencies
(cherry picked from commit 37199a10bf13ef838bfa839da384969101a32f40)
2022-05-14 10:46:51 -04:00
arkon
393d7a1174 Address some build warnings
(cherry picked from commit b950370f12680e4113c1f736e656181fdf306579)
2022-05-14 10:46:37 -04:00
arkon
93fd043b6a Minor dependency updates
(cherry picked from commit cd8392bae20c88daf59759020c588aadecd72ff2)
2022-05-14 10:45:38 -04:00
arkon
24c5563a02 Update linter
(cherry picked from commit ae7df4fb7fa4fc996ba26a9f6dbbb6b5277a939b)

# 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 cf024b0e61ab5f85bd1ebad735cfa4a434478df0)
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 d3f9232a3fa50e02af110b5320b4fcf4bcccb3cd)
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 9f655e0d41a690752ac440d9bc8fb56188d4ef0c)

# 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 e7ed130f2a4fcd7452737476189687fbd130c80d)
2022-05-14 10:38:37 -04:00
arkon
aecb2e92dd Extract add duplicate manga dialog into a controller
(cherry picked from commit e421eb61bc7b4bcaf10b7e165358de83d2bfe368)
2022-05-14 10:36:48 -04:00
CVIUS
ea9ea11eaf Use theme primary color for slider track (#7102)
(cherry picked from commit bc053580ad21669cf507dea1aa14a8dd5cb59ef6)
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 11c01235ac32c8fd3de864c37cab82367b4a9e41)
2022-05-14 10:36:23 -04:00
arkon
ec9d55e9e8 Rename "navigation layout" to "tap zones"
(cherry picked from commit c49d862fc58fb4a750ee6de006054823f94e3263)
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 6993e88265c3a759916e5e9677cdf28351ca85d2)

# 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 681e9396b3f9baf9c6f0e66f596830c662dbadb9)

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

# 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 5bd5b215430c6d19c1e4314bdaf4264eb43e9d29)
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 aec980662f0159f1341392c62b8b7dba3466d835)

# 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 aef1dc6eaffd96a5ea14cf897f78b9f26db48167)
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 bd45bf7407716bceec5cc226d3680676bb211fea)

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

# 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 609f552c8d2b3a33473322a268ba61edf4eba94d)

# 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 5763201307551bcd6a1f25ca81c8125f6f434c0a)
2022-05-01 16:55:55 -04:00
arkon
03b03ba342 Update navigation bar padding in Compose screens
(cherry picked from commit dee783079363acef241e574bc9c5600bc8f27bf3)

# 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 23f8f35354b30aded0749222234f76a4f9eaab5c)

# 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 cccd09fb5cb88a2b5f44dd104929431afa96d2a5)
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 bf6d59cd21e6c2436ceefa3de5343e56640f9073)

# 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 6ef6eab994b33770234f488b4060c197bb260a8b)
2022-05-01 15:36:36 -04:00
arkon
12a0e40ca5 Use Compose for OAuth login loading indicator
(cherry picked from commit ccff333123d9f446d4456f8d43fa0472fb82c488)

# 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 891406cc7fbf9b449f306222e16b041b9ba8a96c)

# 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 8798c295e6e9c531c3fa7bb4c72c065dd013d630)
2022-05-01 14:59:58 -04:00
arkon
15f7a4ee3f Fix crashing in Android 13 Beta 1
(cherry picked from commit 7abb40789776d1cf088bc959df3404769594f1ab)
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 78207d48ba8032103925cc13ed0f180b0a554ede)
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 70698e64940eb01032e948245a01c4191ccd60f0)
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 adf02e53fd2da2c889a409a144cf1c81bde7f6f3)
2022-05-01 14:59:20 -04:00
arkon
ffd5055369 Remove unused drawables
(cherry picked from commit 259c370eb9bbfe5136e5c2698dc9ed56386ca2ef)
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 7261fcccda0c0e044ec1cef61ac317574c695768)

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

# 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 2752540330433907196360600f86748bc394d9d0)
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 0b77b78f6a360d759241ac42b1dcf0fe66b27d50)

# 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 06bec0ad54954e0a0c76949206814747df5a8370)
2022-05-01 14:20:00 -04:00
arkon
9007b5de95 Add Plumber to handle some system leaks automatically
(cherry picked from commit f1126c55ca1bb0ae4fac941656d893776dedb912)

# 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 2caf220b184d9ee5916ad205b5609da116a9409f)

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

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

# 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 7773deabc03eb106798aed113341acf66a5f6a77)

# 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 91ed3a4a5facaaa335d4408e7c5342dcca430f47)
2022-05-01 14:09:08 -04:00
arkon
92af7291d5 Fix update warning notifications being cut off (fixes #6983)
(cherry picked from commit 20145f7a12c5f14a27ab01f16ceee3cfca77fdab)
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 883945e3e8b4c3fe5ec1bb151c247db7404b037c)
2022-05-01 14:08:50 -04:00
arkon
4804dcf644 Add battery not low restriction for global updates (closes #6980)
(cherry picked from commit 3feea7114614726cd0f5b87729a6c6195d180949)
2022-05-01 14:08:42 -04:00
ItsLogic
6df5497dc6 Fix chapter transition setting for one page chapters (#6998)
(cherry picked from commit 5e32b8e49fc7879559366357743bc450099453ca)

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

# 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 0ec9496d26e2904a46c744c8a979a0947d38518e)

# 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 29a0989f2889d3361f583285091878c9b4570a52)

# 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 558b18899cca41992d6077484ed430972cda35fc)
2022-05-01 11:02:00 -04:00
arkon
1d0520e716 Delete entire app_webview folder when clearing WebView data
(cherry picked from commit 6e95fde4ece64e5959c04bb4b7fb69299ef37ca5)
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 e691e17efc0a6c857a925bf4077f0eb3541d570b)

# 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 80ea14bf7fd6c5862e96e5b94e2fa2714b98d559)
2022-04-23 20:13:20 -04:00
arkon
ec689889f3 Migrate More screen to Compose (#6990)
(cherry picked from commit c25cffafc60d206329dfcc9a30141b15d874cb3a)

# 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 8933b41937940d53274839695c8cb04f881a8e95)
2022-04-23 14:28:25 -04:00
arkon
b8b26c3531 Clean up repetitive controller transactions
(cherry picked from commit 7e2f1d729f3876515342d6e7d25cf4df1005d711)

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

# 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 070abd79ce4e6004b5484a3f91a9c4527bd42bcd)
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 2d01933c288f30e596a76763cc7bf93dd0c5c5c6)
2022-04-23 11:07:13 -04:00
arkon
93b7881505 Move clear webview data action to network group
(cherry picked from commit bf0bb5aa88f91b0567cf9de085a35d660e7e41a1)
2022-04-23 11:07:04 -04:00
arkon
707e99551d Migrate open source licenses screen to Compose
(cherry picked from commit 1b4d9fc4e94eaa9d2575ffcf04811f8a23915b44)

# 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 6a0b523e86d0c6f4c517236d4b18b7d0d6e9fcbe.
2022-04-22 19:40:09 -04:00
2641 changed files with 238739 additions and 148274 deletions

View File

@ -1,5 +1,40 @@
root = true
[*]
charset = utf-8
indent_size = 2
indent_style = space
insert_final_newline = true
trim_trailing_whitespace = true
[*.{xml,sq,sqm}]
indent_size = 4
# noinspection EditorConfigKeyCorrectness
[*.{kt,kts}]
indent_size=4
insert_final_newline=true
ij_kotlin_allow_trailing_comma=true
ij_kotlin_allow_trailing_comma_on_call_site=true
indent_size = 4
max_line_length = 120
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
ktlint_code_style = intellij_idea
ktlint_function_naming_ignore_when_annotated_with = Composable
ktlint_standard_class-signature = disabled
ktlint_standard_discouraged-comment-location = disabled
ktlint_standard_function-expression-body = disabled
ktlint_standard_function-signature = disabled
# SY
ktlint_standard_filename = disabled
ktlint_standard_argument-list-wrapping = disabled
ktlint_standard_function-naming = disabled
ktlint_standard_property-naming = disabled
ktlint_standard_multiline-expression-wrapping = disabled
ktlint_standard_string-template-indent = disabled
ktlint_standard_comment-wrapping = disabled
ktlint_standard_max-line-length = disabled
ktlint_standard_type-argument-comment = disabled
ktlint_standard_value-argument-comment = disabled
ktlint_standard_value-parameter-comment = disabled

1
.github/FUNDING.yml vendored
View File

@ -1 +0,0 @@
ko_fi: inorichi

View File

@ -1,34 +0,0 @@
**PLEASE READ THIS**
I acknowledge that:
- I have updated:
- To the latest version of the app (stable is v1.8.3)
- 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
## Issue/Request
?
## Other details
Additional details and attachments.
If you're experiencing crashes, share the crash logs from More → Settings → Advanced → Dump crash logs.

View File

@ -1,11 +1,8 @@
blank_issues_enabled: false
contact_links:
- 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/
- name: ❌ Help with Extensions
url: https://mihon.app/docs/faq/browse/extensions
about: For extension-related questions/issues
- name: 🖥️ Mihon website
url: https://mihon.app/
about: Guides, troubleshooting, and answers to common questions

View File

@ -1,5 +1,5 @@
name: 🐞 Issue report
description: Report an issue in Tachiyomi
description: Report an issue in TachiyomiSY
labels: [Bug]
body:
@ -43,17 +43,17 @@ body:
attributes:
label: Crash logs
description: |
If you're experiencing crashes, share the crash logs from **More → Settings → Advanced** then press **Dump crash logs**.
If you're experiencing crashes, if possible, go to the app's **More → Settings → Advanced** page, press **Dump crash logs** and share the crash logs here.
placeholder: |
You can paste the crash logs in pure text or upload it as an attachment.
You can upload the crash log file as an attachment, or paste the crash logs in plain text if needed.
- type: input
id: tachiyomi-version
id: tachiyomisy-version
attributes:
label: Tachiyomi version
description: You can find your Tachiyomi version in **More → About**.
label: TachiyomiSY version
description: You can find your TachiyomiSY version in **More → About**.
placeholder: |
Example: "1.8.3"
Example: "1.12.0"
validations:
required: true
@ -63,7 +63,7 @@ body:
label: Android version
description: You can find this somewhere in your Android settings.
placeholder: |
Example: "Android 11"
Example: "Android 14"
validations:
required: true
@ -73,7 +73,7 @@ body:
label: Device
description: List your device and model.
placeholder: |
Example: "Google Pixel 5"
Example: "Google Pixel 8"
validations:
required: true
@ -90,17 +90,15 @@ body:
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 issue.
- 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).
- label: I have gone through the [FAQ](https://mihon.app/docs/faq/general) and [troubleshooting guide](https://mihon.app/docs/guides/troubleshooting/).
required: true
- label: I have tried the [troubleshooting guide](https://tachiyomi.org/help/guides/troubleshooting/).
- label: I have updated the app to version **[1.12.0](https://github.com/jobobby04/tachiyomisy/releases/latest)**.
required: true
- label: I have updated the app to version **[1.8.3](https://github.com/jobobby04/tachiyomisy/releases/latest)**.
- label: I have filled out all of the requested information in this form, including specific version numbers.
required: true
- label: I have updated all installed extensions.
required: true
- label: I will fill out all of the requested information in this form.
- label: I understand that **Mihon does not have or fix any extensions**, and I **will not receive help** for any issues related to sources or extensions.
required: true

View File

@ -1,5 +1,5 @@
name: ⭐ Feature request
description: Suggest a feature to improve Tachiyomi
description: Suggest a feature to improve TachiyomiSY
labels: [Feature request]
body:
@ -7,7 +7,7 @@ body:
id: feature-description
attributes:
label: Describe your suggested feature
description: How can Tachiyomi be improved?
description: How can TachiyomiSY be improved?
placeholder: |
Example:
"It should work like this..."
@ -27,13 +27,11 @@ body:
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 issue.
- 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.8.3](https://github.com/jobobby04/tachiyomisy/releases/latest)**.
- label: I have updated the app to version **[1.12.0](https://github.com/jobobby04/tachiyomisy/releases/latest)**.
required: true
- label: I will fill out all of the requested information in this form.
required: true

Binary file not shown.

Before

Width:  |  Height:  |  Size: 489 KiB

After

Width:  |  Height:  |  Size: 713 KiB

7
.github/renovate.json5 vendored Normal file
View File

@ -0,0 +1,7 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": ["config:base"],
"labels": ["Dependencies"],
"includePaths": [".github/workflows/*", "gradle/sy.versions.toml"],
"semanticCommits": "disabled"
}

View File

@ -1,5 +0,0 @@
org.gradle.daemon=false
org.gradle.jvmargs=-Xmx5120m
org.gradle.workers.max=2
kotlin.incremental=false

View File

@ -1,42 +0,0 @@
name: Remote Dispatch Action Initiator
on:
push:
branches:
- 'master'
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
preview:
name: Build app preview
needs: check_wrapper
runs-on: ubuntu-latest
steps:
- name: Clone repo
uses: actions/checkout@v2
- name: TAG - Bump version and push tag
uses: anothrNick/github-tag-action@1.17.2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
WITH_V: true
RELEASE_BRANCHES: master
DEFAULT_BUMP: patch
- name: PING - Dispatch initiating repository event
run: |
curl -X POST https://api.github.com/repos/jobobby04/TachiyomiSYPreview/dispatches \
-H 'Accept: application/vnd.github.everest-preview+json' \
-u ${{ secrets.ACCESS_TOKEN }} \
--data '{"event_type": "ping", "client_payload": { "repository": "'"$GITHUB_REPOSITORY"'" }}'

View File

@ -1,87 +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
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 11
uses: actions/setup-java@v1
with:
java-version: 11
- 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: gradle/gradle-command-action@v2
with:
arguments: assembleStandardRelease --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: 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

View File

@ -1,49 +1,33 @@
name: CI
on: [pull_request]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
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
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
uses: actions/checkout@v4
- name: Set up JDK 11
uses: actions/setup-java@v1
- name: Set up JDK
uses: actions/setup-java@v4
with:
java-version: 11
java-version: 17
distribution: temurin
- name: Copy CI gradle.properties
run: |
mkdir -p ~/.gradle
cp .github/runner-files/ci-gradle.properties ~/.gradle/gradle.properties
- name: Set up gradle
uses: gradle/actions/setup-gradle@v4
- name: Build app
uses: gradle/gradle-command-action@v2
with:
arguments: assembleDevDebug
run: ./gradlew spotlessCheck assembleDevDebug
- name: Upload APK
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
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

121
.github/workflows/build_push.yml vendored Normal file
View File

@ -0,0 +1,121 @@
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@v4
- name: Setup Android SDK
run: |
${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin/sdkmanager "build-tools;29.0.3"
- name: Set up JDK
uses: actions/setup-java@v4
with:
java-version: 17
distribution: temurin
- name: Set up gradle
uses: gradle/actions/setup-gradle@v4
# SY -->
- name: Write google-services.json
uses: DamianReeves/write-file-action@v1.3
with:
path: app/google-services.json
contents: ${{ secrets.GOOGLE_SERVICES_TEXT }}
write-mode: overwrite
- name: Write client_secrets.json
uses: DamianReeves/write-file-action@v1.3
with:
path: app/src/main/assets/client_secrets.json
contents: ${{ secrets.CLIENT_SECRETS_TEXT }}
write-mode: overwrite
# SY <--
- name: Check code format
run: ./gradlew spotlessCheck
- name: Build app
run: ./gradlew assembleStandardRelease
- name: Run unit tests
run: ./gradlew testReleaseUnitTest testStandardReleaseUnitTest
- 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 }}
env:
BUILD_TOOLS_VERSION: '35.0.1'
- 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
mv 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
mv 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
mv 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
mv 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@v2
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 }} |
## If you are unsure which version to choose then go with TachiyomiSY.apk
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 }}

View File

@ -0,0 +1,39 @@
name: Remote Dispatch Action Initiator
on:
push:
branches:
- 'preview'
jobs:
trigger_preview_build:
name: Trigger preview build
runs-on: ubuntu-latest
steps:
- name: Clone repo
uses: actions/checkout@v4
- name: Set up JDK
uses: actions/setup-java@v4
with:
java-version: 17
distribution: temurin
- name: Set up gradle
uses: gradle/actions/setup-gradle@v4
- name: Create Tag
run: |
git tag "preview-${{ github.run_number }}"
git push origin "preview-${{ github.run_number }}"
- name: PING - Dispatch initiating repository event
run: |
curl -X POST https://api.github.com/repos/jobobby04/TachiyomiSYPreview/dispatches \
-H 'Accept: application/vnd.github.everest-preview+json' \
-u ${{ secrets.ACCESS_TOKEN }} \
--data '{"event_type": "ping", "client_payload": { "repository": "'"$GITHUB_REPOSITORY"'" }}'
- name: Run unit tests
run: ./gradlew testDebugUnitTest testDevDebugUnitTest

View File

@ -11,9 +11,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Moderate issues
uses: tachiyomiorg/issue-moderator-action@v1
uses: tachiyomiorg/issue-moderator-action@v2.6.1
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
duplicate-label: Duplicate
auto-close-rules: |
[
{
@ -31,5 +33,19 @@ jobs:
"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"
},
{
"type": "both",
"regex": ".*(?:fail(?:ed|ure|s)?|can\\s*(?:no|')?t|(?:not|un).*able|(?<!n[o']?t )blocked by|error) (?:to )?(?:get past|by ?pass|penetrate)?.*cloud ?fl?are.*",
"ignoreCase": true,
"labels": ["Cloudflare protected"],
"message": "Refer to the **Solving Cloudflare issues** section at https://mihon.app/docs/guides/troubleshooting/#cloudflare. If it doesn't work, migrate to other sources or wait until they lower their protection."
},
{
"type": "both",
"regex": "^.*(myanimelist|mal).*$",
"ignoreCase": true,
"message": "For issues with linking MyAnimeList, please follow these steps:\n1. Update Mihon to version 0.16.4 or newer\n2. Change your default User-Agent (`More → Settings → Advanced → Default user agent string`)\n3. Close and restart Mihon\n4. Attempt to link MyAnimeList again\n\nIf you had MyAnimeList linked before, try to unlink it first before trying these steps."
}
]
auto-close-ignore-label: do-not-autoclose

View File

@ -1,19 +0,0 @@
name: Lock threads
on:
# Daily
schedule:
- cron: '0 0 * * *'
# Manual trigger
workflow_dispatch:
inputs:
jobs:
lock:
runs-on: ubuntu-latest
steps:
- uses: dessant/lock-threads@v3
with:
github-token: ${{ github.token }}
issue-inactive-days: '2'
pr-inactive-days: '2'

26
.github/workflows/pr_label.yml vendored Normal file
View File

@ -0,0 +1,26 @@
name: Label PRs
on:
pull_request:
types: [opened]
jobs:
label_pr:
runs-on: ubuntu-latest
steps:
- name: Check PR and Add Label
uses: actions/github-script@v7
with:
script: |
const prAuthor = context.payload.pull_request.user.login;
if (prAuthor === 'weblate') {
const labels = ['Translations'];
await github.issues.addLabels({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.payload.pull_request.number,
labels: labels
});
}

41
.gitignore vendored
View File

@ -1,23 +1,24 @@
# Build files
.gradle
/local.properties
/.idea/workspace.xml
.DS_Store
.idea/
*iml
.kotlin
build
# IDE files
*.iml
/mainframer
/.mainframer
# Built files
*/build
/build
*.apk
app/**/output.json
# Hebrew assets are copied on build
app/src/main/res/values-iw/
TODO.md
CHANGELOG.md
.idea/*
!.idea/icon.png
/captures
build.sh
# Configuration files
local.properties
# macOS specific files
.DS_Store
# SY ignores
google-services.json
/app/src/main/assets/client_secrets.json
*.apk
# Custom ignores
/keys

BIN
.idea/icon.png generated Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

@ -60,7 +60,7 @@ representative at an online or offline event.
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community moderators responsible for enforcement at
the [Tachiyomi Discord server](https://discord.gg/tachiyomi).
the [Mihon Discord server](https://discord.gg/mihon).
All complaints will be reviewed and investigated promptly and fairly.
All community moderators are obligated to respect the privacy and security of the

View File

@ -1,4 +1,4 @@
Looking to report an issue/bug or make a feature request? Please refer to the [README file](https://github.com/tachiyomiorg/tachiyomi#issues-feature-requests-and-contributing).
Looking to report an issue/bug or make a feature request? Please refer to the [README file](/README.md#issues-feature-requests-and-contributing).
---
@ -9,7 +9,7 @@ Thanks for your interest in contributing to Tachiyomi!
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/jobobby04/TachiyomiSY/issues), please comment on it so others are aware.
You do not need to ask for permission nor an assignment.
## Prerequisites
@ -26,25 +26,39 @@ Before you start, please note that the ability to use following technologies is
## Getting help
- Join [the Discord server](https://discord.gg/tachiyomi) for online help and to ask questions while developing.
- Join [the Discord server](https://discord.gg/mihon) for online help and to ask questions while developing.
# Translations
Translations are done externally via Weblate. See [our website](https://tachiyomi.org/help/contribution/#translation) for more details.
Translations are done externally via Weblate. See [our website](https://mihon.app/docs/contribute#translation) for more details.
# Forks
Forks are allowed so long as they abide by [the project's LICENSE](https://github.com/tachiyomiorg/tachiyomi/blob/master/LICENSE).
Forks are allowed so long as they abide by [the project's LICENSE](/LICENSE).
When creating a fork, remember to:
- To avoid confusion with the main app:
- Change the app name
- 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/AppUpdateChecker.kt)
- Change or disable the [app update checker](/app/src/main/java/eu/kanade/tachiyomi/data/updater/AppUpdateChecker.kt)
- To avoid installation conflicts:
- 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:
- If you want to use Firebase analytics, replace [`google-services.json`](https://github.com/tachiyomiorg/tachiyomi/blob/master/app/src/standard/google-services.json) with your own
- If you want to use ACRA crash reporting, replace the `ACRA_URI` endpoint in [`build.gradle.kts`](https://github.com/tachiyomiorg/tachiyomi/blob/master/app/build.gradle.kts) with your own
- Change the `applicationId` in [`build.gradle.kts`](/app/build.gradle.kts)
### Supporting Cloud Sync - Google Drive Implementation
1. Go to [Google Cloud Console](https://console.cloud.google.com)
2. Create a new project
3. Go to API & Services -> Library -> Google Drive API and click enable
4. Go to API & Services -> Oauth consent screen
5. Create it, fill in the app name, user support email, and developer contact information
6. In the next screen, click add or remove scopes, and add the `.../auth/drive.appdata` and `.../auth/drive.file` scopes
7. Don't add any test users and go back to the dashboard
8. Click publish
9. Go to API & Services -> Credentials
10. Click Create credentials -> Oauth client ID
11. Select Android, give it a name, and set `eu.kanade.google.oauth` as the package name
12. To get the SHA-1 key, run `keytool -printcert -jarfile app-standard-universal-release.apk` on your apk, and copy the listed SHA-1
13. Expand advanced settings, and enable Custom URL scheme
14. After that just download the json, name it to `client_secrets.json` and put it in `app/src/main/assets/`

View File

@ -1,20 +1,25 @@
| Preview Builds | Release Builds | Tachiyomi Support Server |
| Preview Builds | Release Builds | Mihon Support Server |
|-------|----------|----------|
| [![Preview](https://github.com/jobobby04/TachiyomiSYPreview/workflows/Remote%20Dispatch%20Build%20App/badge.svg)](https://github.com/jobobby04/TachiyomiSYPreview/releases) | [![stable release](https://img.shields.io/github/release/jobobby04/tachiyomisy.svg?maxAge=3600&label=download)](https://github.com/jobobby04/tachiyomisy/releases/latest) | [![Discord](https://img.shields.io/discord/349436576037732353.svg?label=discord&labelColor=7289da&color=2c2f33&style=flat)](https://discord.gg/tachiyomi) |
| [![Preview](https://github.com/jobobby04/TachiyomiSYPreview/workflows/Remote%20Dispatch%20Build%20App/badge.svg)](https://github.com/jobobby04/TachiyomiSYPreview/releases) | [![stable release](https://img.shields.io/github/release/jobobby04/tachiyomisy.svg?maxAge=3600&label=download)](https://github.com/jobobby04/tachiyomisy/releases/latest) | [![Discord](https://img.shields.io/discord/1195734228319617024.svg?label=discord&labelColor=7289da&color=2c2f33&style=flat)](https://discord.gg/mihon) |
# ![app icon](./.github/readme-images/app-icon.png)TachiyomiSY
Tachiyomi is a free and open source manga reader for Android 6.0 and above. This version of Tachiyomi, TachiyomiSY was based off TachiyomiAZ. This version is meant to push forward in the ways of usability and features. TachiyomiSY tries to push forward where it can, but staying in a place where it can easily grab updates and features from the main app, it tries to make new features, or take features from other forks like J2K and Neko.
Mihon is a free and open source manga reader for Android 6.0 and above. This version of Mihon, TachiyomiSY was based off TachiyomiAZ. This version is meant to push forward in the ways of usability and features. TachiyomiSY tries to push forward where it can, but staying in a place where it can easily grab updates and features from the main app, it tries to make new features, or take features from other forks like J2K and Neko.
![screenshots of app](./.github/readme-images/screens.png)
## Features
Features of Tachiyomi(original) include:
Features of SY-Plus include:
* Automatically trust extensions
* Removal of rate limits
* Re addition of more frequent library update timers
Features of Mihon(original) include:
* Online reading from a variety of sources
* Local reading of downloaded content
* A configurable reader with multiple viewers, reading directions and other settings.
* Tracker support: [MyAnimeList](https://myanimelist.net/), [AniList](https://anilist.co/), [Kitsu](https://kitsu.io/), [Shikimori](https://shikimori.one), and [Bangumi](https://bgm.tv/)
* Tracker support: [MyAnimeList](https://myanimelist.net/), [AniList](https://anilist.co/), [Kitsu](https://kitsu.app/), [MangaUpdates](https://mangaupdates.com), [Shikimori](https://shikimori.one), and [Bangumi](https://bgm.tv/) support
* Categories to organize your library
* Light and dark themes
* Schedule updating your library for new chapters
@ -42,7 +47,6 @@ Features of TachiyomiSY include:
* Page preload customization
* Customize image cache size
* Batch import of custom sources and featured extensions
* Automatic CAPTCHA solving
* Advanced source settings page, searching, enable/disable all
* Click tag for local search, long click tag for global search
* Merge multiple of the same manga from different sources
@ -58,11 +62,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:
* 8Muses (EroMuse)
* HBrowse
* HentaiCafe (inside Foolside)
* Hitomi.la
* Mangadex
* NHentai
* PervEden (EN and IT)
* Puruin
* Tsumino
@ -71,30 +72,37 @@ Get the app from our [releases page](https://github.com/jobobby04/tachiyomisy/re
If you want to try new features before they get to the stable release, you can download the preview version [here](https://github.com/jobobby04/tachiyomisypreview/releases).
## Translation
Feel free to translate the project on [Weblate](https://hosted.weblate.org/projects/mihon/tachiyomisy/)
<details><summary>Translation Progress</summary>
<a href="https://hosted.weblate.org/engage/mihon/">
<img src="https://hosted.weblate.org/widgets/mihon/-/tachiyomisy/multi-auto.svg" alt="Translation status" />
</a>
</details>
## Issues, Feature Requests and Contributing
Please make sure to read the full guidelines. Your issue may be closed without warning if you do not.
<details><summary>Issues</summary>
1. **Before reporting a new issue, take a look at the [FAQ](https://tachiyomi.org/help/faq/), the [changelog](https://github.com/jobobby04/tachiyomisy/releases) and the already opened [issues](https://github.com/jobobby04/tachiyomisy/issues).**
2. If you are unsure, ask here: [![Discord](https://img.shields.io/discord/349436576037732353.svg)](https://discord.gg/tachiyomi)
1. **Before reporting a new issue, take a look at the [FAQ](https://mihon.app/docs/faq/general), the [changelog](https://github.com/jobobby04/tachiyomisy/releases) and the already opened [issues](https://github.com/jobobby04/tachiyomisy/issues).**
2. If you are unsure, ask here: [![Discord](https://img.shields.io/discord/1195734228319617024.svg)](https://discord.gg/mihon)
</details>
<details><summary>Bugs</summary>
* Include version (More → About → Version)
* 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
* If not latest, try updating, it may have already been solved
* Preview version is equal to the number of commits as seen on the main page
* Include steps to reproduce (if not obvious from description)
* Include screenshot (if needed)
* If it could be device-dependent, try reproducing on another device (if possible)
* Don't group unrelated requests into one issue
DO: https://github.com/tachiyomiorg/tachiyomi/issues/24 https://github.com/tachiyomiorg/tachiyomi/issues/71
DON'T: https://github.com/tachiyomiorg/tachiyomi/issues/75
Use the [issue forms](https://github.com/jobobby04/TachiyomiSY/issues/new/choose) to submit a bug.
</details>
@ -103,7 +111,7 @@ DON'T: https://github.com/tachiyomiorg/tachiyomi/issues/75
* Write a detailed issue, explaining what it should do or how. Avoid writing just "like X app does"
* Include screenshot (if needed)
Source requests should be created at https://github.com/tachiyomiorg/tachiyomi-extensions, they do not belong in this repository.
Source requests are not accepted.
</details>
<details><summary>Contributing</summary>
@ -118,5 +126,5 @@ See [CODE_OF_CONDUCT.md](./CODE_OF_CONDUCT.md).
## FAQ
[See our website.](https://tachiyomi.org/)
You can also reach out to us on [Discord](https://discord.gg/tachiyomi).
[See our website.](https://mihon.app/)
You can also reach out to us on [Discord](https://discord.gg/mihon).

6
app/.gitignore vendored
View File

@ -1,6 +0,0 @@
/build
*iml
*.iml
custom.gradle
google-services.json
output.json

View File

@ -1,63 +1,96 @@
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
@file:Suppress("ChromeOsAbiSupport")
import mihon.buildlogic.getBuildTime
import mihon.buildlogic.getCommitCount
import mihon.buildlogic.getGitSha
plugins {
id("com.android.application")
id("com.mikepenz.aboutlibraries.plugin")
kotlin("android")
id("mihon.android.application")
id("mihon.android.application.compose")
kotlin("plugin.parcelize")
kotlin("plugin.serialization")
id("com.github.zellius.shortcut-helper")
// id("com.github.zellius.shortcut-helper")
alias(libs.plugins.aboutLibraries)
id("com.github.ben-manes.versions")
}
if (gradle.startParameter.taskRequests.toString().contains("Standard")) {
apply<com.google.gms.googleservices.GoogleServicesPlugin>()
// Firebase Crashlytics
apply(plugin = "com.google.firebase.crashlytics")
pluginManager.apply {
apply(libs.plugins.google.services.get().pluginId)
apply(libs.plugins.firebase.crashlytics.get().pluginId)
}
}
shortcutHelper.setFilePath("./shortcuts.xml")
// shortcutHelper.setFilePath("./shortcuts.xml")
val supportedAbis = setOf("armeabi-v7a", "arm64-v8a", "x86", "x86_64")
android {
compileSdk = AndroidConfig.compileSdk
ndkVersion = AndroidConfig.ndk
namespace = "eu.kanade.tachiyomi"
defaultConfig {
applicationId = "eu.kanade.tachiyomi.sy"
minSdk = AndroidConfig.minSdk
targetSdk = AndroidConfig.targetSdk
versionCode = 34
versionName = "1.8.3"
versionCode = 75
versionName = "1.12.0"
buildConfigField("String", "COMMIT_COUNT", "\"${getCommitCount()}\"")
buildConfigField("String", "COMMIT_SHA", "\"${getGitSha()}\"")
buildConfigField("String", "BUILD_TIME", "\"${getBuildTime()}\"")
buildConfigField("String", "BUILD_TIME", "\"${getBuildTime(useLastCommitTime = false)}\"")
buildConfigField("boolean", "INCLUDE_UPDATER", "false")
ndk {
abiFilters += setOf("armeabi-v7a", "arm64-v8a", "x86")
abiFilters += supportedAbis
}
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}
splits {
abi {
isEnable = true
reset()
include(*supportedAbis.toTypedArray())
isUniversalApk = true
}
}
buildTypes {
named("debug") {
versionNameSuffix = "-${getCommitCount()}"
applicationIdSuffix = ".debug"
isPseudoLocalesEnabled = true
}
create("releaseTest") {
applicationIdSuffix = ".rt"
//isMinifyEnabled = true
//isShrinkResources = true
// isMinifyEnabled = true
// isShrinkResources = true
setProguardFiles(listOf(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro"))
matchingFallbacks.add("release")
}
named("release") {
isMinifyEnabled = true
isShrinkResources = true
setProguardFiles(listOf(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro"))
buildConfigField("String", "BUILD_TIME", "\"${getBuildTime(useLastCommitTime = true)}\"")
}
create("benchmark") {
initWith(getByName("release"))
signingConfig = signingConfigs.getByName("debug")
matchingFallbacks.add("release")
isDebuggable = false
isProfileable = true
versionNameSuffix = "-benchmark"
applicationIdSuffix = ".benchmark"
}
}
flavorDimensions += "default"
sourceSets {
getByName("benchmark").res.srcDirs("src/debug/res")
}
flavorDimensions.add("default")
productFlavors {
create("standard") {
@ -68,22 +101,25 @@ android {
dimension = "default"
}
create("dev") {
resourceConfigurations.addAll(listOf("en", "xxhdpi"))
dimension = "default"
}
}
packagingOptions {
resources.excludes.addAll(listOf(
"META-INF/DEPENDENCIES",
"LICENSE.txt",
"META-INF/LICENSE",
"META-INF/LICENSE.txt",
"META-INF/README.md",
"META-INF/NOTICE",
"META-INF/*.kotlin_module",
"META-INF/*.version",
))
packaging {
resources.excludes.addAll(
listOf(
"kotlin-tooling-metadata.json",
"META-INF/DEPENDENCIES",
"LICENSE.txt",
"META-INF/LICENSE",
"META-INF/**/LICENSE.txt",
"META-INF/*.properties",
"META-INF/**/*.properties",
"META-INF/README.md",
"META-INF/NOTICE",
"META-INF/*.version",
),
)
}
dependenciesInfo {
@ -92,6 +128,7 @@ android {
buildFeatures {
viewBinding = true
buildConfig = true
// Disable some unused things
aidl = false
@ -100,188 +137,189 @@ android {
}
lint {
disable.addAll(listOf("MissingTranslation", "ExtraTranslation"))
abortOnError = false
checkReleaseBuilds = false
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = JavaVersion.VERSION_1_8.toString()
kotlin {
compilerOptions {
freeCompilerArgs.addAll(
"-opt-in=androidx.compose.animation.ExperimentalAnimationApi",
"-opt-in=androidx.compose.animation.graphics.ExperimentalAnimationGraphicsApi",
"-opt-in=androidx.compose.foundation.ExperimentalFoundationApi",
"-opt-in=androidx.compose.foundation.layout.ExperimentalLayoutApi",
"-opt-in=androidx.compose.material3.ExperimentalMaterial3Api",
"-opt-in=androidx.compose.ui.ExperimentalComposeUiApi",
"-opt-in=coil3.annotation.ExperimentalCoilApi",
"-opt-in=kotlinx.coroutines.ExperimentalCoroutinesApi",
"-opt-in=kotlinx.coroutines.FlowPreview",
"-opt-in=kotlinx.coroutines.InternalCoroutinesApi",
"-opt-in=kotlinx.serialization.ExperimentalSerializationApi",
)
}
}
dependencies {
implementation(projects.i18n)
// SY -->
implementation(projects.i18nSy)
// SY <--
implementation(projects.core.common)
implementation(projects.coreMetadata)
implementation(projects.sourceApi)
implementation(projects.sourceLocal)
implementation(projects.data)
implementation(projects.domain)
implementation(projects.presentationCore)
implementation(projects.presentationWidget)
// Compose
implementation(compose.activity)
implementation(compose.foundation)
implementation(compose.material3.core)
implementation(compose.material.icons)
implementation(compose.animation)
implementation(compose.animation.graphics)
debugImplementation(compose.ui.tooling)
implementation(compose.ui.tooling.preview)
implementation(compose.ui.util)
implementation(androidx.interpolator)
implementation(androidx.paging.runtime)
implementation(androidx.paging.compose)
implementation(libs.bundles.sqlite)
// SY -->
implementation(sylibs.sqlcipher)
// SY <--
implementation(kotlinx.reflect)
implementation(kotlinx.immutables)
implementation(platform(kotlinx.coroutines.bom))
implementation(kotlinx.bundles.coroutines)
// Source models and interfaces from Tachiyomi 1.x
implementation(libs.tachiyomi.api)
// AndroidX libraries
implementation(androidx.annotation)
implementation(androidx.appcompat)
implementation(androidx.biometricktx)
implementation(androidx.constraintlayout)
implementation(androidx.coordinatorlayout)
implementation(androidx.corektx)
implementation(androidx.splashscreen)
implementation(androidx.recyclerview)
implementation(androidx.swiperefreshlayout)
implementation(androidx.viewpager)
implementation(androidx.profileinstaller)
implementation(androidx.bundles.lifecycle)
// Job scheduling
implementation(androidx.bundles.workmanager)
implementation(androidx.workmanager)
// RX
implementation(libs.bundles.reactivex)
implementation(libs.flowreactivenetwork)
// RxJava
implementation(libs.rxjava)
// Network client
// Networking
implementation(libs.bundles.okhttp)
implementation(libs.okio)
implementation(libs.conscrypt.android) // TLS 1.3 support for Android < 10
// TLS 1.3 support for Android < 10
implementation(libs.conscrypt.android)
// Data serialization (JSON, protobuf)
// Data serialization (JSON, protobuf, xml)
implementation(kotlinx.bundles.serialization)
// JavaScript engine
implementation(libs.bundles.js.engine)
// HTML parser
implementation(libs.jsoup)
// Disk
implementation(libs.disklrucache)
implementation(libs.unifile)
implementation(libs.junrar)
// Database
implementation(libs.bundles.sqlite)
implementation("com.github.inorichi.storio:storio-common:8be19de@aar")
implementation("com.github.inorichi.storio:storio-sqlite:8be19de@aar")
// Preferences
implementation(libs.preferencektx)
implementation(libs.flowpreferences)
// Model View Presenter
implementation(libs.bundles.nucleus)
// Dependency injection
implementation(libs.injekt.core)
implementation(libs.injekt)
// Image loading
implementation(platform(libs.coil.bom))
implementation(libs.bundles.coil)
implementation(libs.subsamplingscaleimageview) {
exclude(module = "image-decoder")
}
implementation(libs.image.decoder)
// Sort
implementation(libs.natural.comparator)
// UI libraries
implementation(libs.material)
implementation(libs.androidprocessbutton)
implementation(libs.flexible.adapter.core)
implementation(libs.flexible.adapter.ui)
implementation(libs.viewstatepageradapter)
implementation(libs.photoview)
implementation(libs.directionalviewpager) {
exclude(group = "androidx.viewpager", module = "viewpager")
}
implementation(libs.insetter)
implementation(libs.markwon)
// Conductor
implementation(libs.bundles.conductor)
// FlowBinding
implementation(libs.bundles.flowbinding)
implementation(libs.richeditor.compose)
implementation(libs.aboutLibraries.compose)
implementation(libs.bundles.voyager)
implementation(libs.compose.materialmotion)
implementation(libs.swipe)
implementation(libs.compose.webview)
implementation(libs.compose.grid)
implementation(libs.reorderable)
implementation(libs.bundles.markdown)
// Logging
implementation(libs.logcat)
// Crash reports/analytics
// implementation(libs.acra.http)
// "standardImplementation"(libs.firebase.analytics)
// Licenses
implementation(libs.aboutlibraries.core)
// "standardImplementation"(platform(libs.firebase.bom))
// "standardImplementation"(libs.firebase.analytics)
// "standardImplementation"(libs.firebase.crashlytics)
// Shizuku
implementation(libs.bundles.shizuku)
// Tests
testImplementation(libs.junit)
testImplementation(libs.assertj.core)
testImplementation(libs.mockito.core)
testImplementation(libs.bundles.robolectric)
testImplementation(libs.bundles.test)
// For detecting memory leaks; see https://square.github.io/leakcanary/
// debugImplementation(libs.leakcanary.android)
implementation(libs.leakcanary.plumber)
testImplementation(kotlinx.coroutines.test)
// SY -->
// Changelog
implementation(sylibs.changelog)
// Text distance (EH)
implementation (sylibs.simularity)
implementation(sylibs.simularity)
// Firebase (EH)
implementation(sylibs.firebase.analytics)
implementation(sylibs.firebase.crashlytics.ktx)
implementation(platform(libs.firebase.bom))
implementation(libs.firebase.analytics)
implementation(libs.firebase.crashlytics)
// Better logging (EH)
implementation(sylibs.xlog)
// Debug utils (EH)
debugImplementation(sylibs.debugOverlay.standard)
"releaseTestImplementation"(sylibs.debugOverlay.noop)
releaseImplementation(sylibs.debugOverlay.noop)
testImplementation(sylibs.debugOverlay.noop)
// RatingBar (SY)
implementation(sylibs.ratingbar)
implementation(sylibs.composeRatingbar)
// Google drive
implementation(sylibs.google.api.services.drive)
implementation(sylibs.google.api.client.oauth)
// Koin
implementation(sylibs.koin.core)
implementation(sylibs.koin.android)
// ZXing Android Embedded
implementation(sylibs.zxing.android.embedded)
}
tasks {
// See https://kotlinlang.org/docs/reference/experimental.html#experimental-status-of-experimental-api(-markers)
withType<KotlinCompile> {
kotlinOptions.freeCompilerArgs += listOf(
"-Xopt-in=kotlin.Experimental",
"-Xopt-in=kotlin.RequiresOptIn",
"-Xopt-in=kotlin.ExperimentalStdlibApi",
"-Xopt-in=kotlinx.coroutines.FlowPreview",
"-Xopt-in=kotlinx.coroutines.ExperimentalCoroutinesApi",
"-Xopt-in=kotlinx.coroutines.InternalCoroutinesApi",
"-Xopt-in=kotlinx.serialization.ExperimentalSerializationApi",
"-Xopt-in=coil.annotation.ExperimentalCoilApi",
"-Xopt-in=kotlin.time.ExperimentalTime",
)
}
// Duplicating Hebrew string assets due to some locale code issues on different devices
val copyHebrewStrings = task("copyHebrewStrings", type = Copy::class) {
from("./src/main/res/values-he")
into("./src/main/res/values-iw")
include("**/*")
}
preBuild {
dependsOn(formatKotlin, copyHebrewStrings)
androidComponents {
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")
}
}

View File

@ -1,5 +1,6 @@
-allowaccessmodification
-dontusemixedcaseclassnames
-ignorewarnings
-verbose
-keepattributes *Annotation*
@ -14,7 +15,7 @@
}
-keepclassmembers class * implements android.os.Parcelable {
public static final ** CREATOR;
public static final ** CREATOR;
}
-keep class androidx.annotation.Keep

188
app/proguard-rules.pro vendored
View File

@ -1,38 +1,59 @@
-dontobfuscate
# Extensions may require methods unused in the core app
-dontwarn eu.kanade.tachiyomi.**
-keep class eu.kanade.tachiyomi.** { public protected private *; }
-keep,allowoptimization class eu.kanade.**
-keep,allowoptimization class tachiyomi.**
-keep,allowoptimization class mihon.**
-keep class org.jsoup.** { *; }
-keep class kotlin.** { *; }
-keep class okhttp3.** { *; }
-keep class com.google.gson.** { *; }
-keep class com.github.salomonbrys.kotson.** { *; }
-keep class com.squareup.duktape.** { *; }
# Keep common dependencies used in extensions
-keep,allowoptimization class androidx.preference.** { public protected *; }
-keep,allowoptimization class kotlin.** { public protected *; }
-keep,allowoptimization class kotlinx.coroutines.** { public protected *; }
-keep,allowoptimization class kotlinx.serialization.** { public protected *; }
-keep,allowoptimization class kotlin.time.** { public protected *; }
-keep,allowoptimization class okhttp3.** { public protected *; }
-keep,allowoptimization class okio.** { public protected *; }
-keep,allowoptimization class org.jsoup.** { public protected *; }
-keep,allowoptimization class rx.** { public protected *; }
-keep,allowoptimization class app.cash.quickjs.** { public protected *; }
-keep,allowoptimization class uy.kohesive.injekt.** { public protected *; }
# === Keep EH classes
-keep class exh.** { *; }
-keep class xyz.nulldev.** { *; }
# From extensions-lib
-keep,allowoptimization class eu.kanade.tachiyomi.network.interceptor.RateLimitInterceptorKt { public protected *; }
-keep,allowoptimization class eu.kanade.tachiyomi.network.interceptor.SpecificHostRateLimitInterceptorKt { public protected *; }
-keep,allowoptimization class eu.kanade.tachiyomi.network.NetworkHelper { public protected *; }
-keep,allowoptimization class eu.kanade.tachiyomi.network.OkHttpExtensionsKt { public protected *; }
-keep,allowoptimization class eu.kanade.tachiyomi.network.RequestsKt { public protected *; }
-keep,allowoptimization class eu.kanade.tachiyomi.AppInfo { public protected *; }
# === Keep RxAndroid, https://github.com/ReactiveX/RxAndroid/issues/350
-keep class rx.android.** { *; }
# Debug functions
-keep,allowoptimization class exh.debug.DebugFunctions { public *; }
# Design library
-dontwarn com.google.android.material.**
-keep class com.google.android.material.** { *; }
-keep interface com.google.android.material.** { *; }
-keep public class com.google.android.material.R$* { *; }
##---------------Begin: proguard configuration for RxJava 1.x ----------
-dontwarn sun.misc.**
-keep class com.hippo.image.** { *; }
-keep interface com.hippo.image.** { *; }
-keepclassmembers class * extends nucleus.presenter.Presenter {
<init>();
-keepclassmembers class rx.internal.util.unsafe.*ArrayQueue*Field* {
long producerIndex;
long consumerIndex;
}
# 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 okhttp ----------
-keepclasseswithmembers class okhttp3.MultipartBody$Builder { *; }
##---------------End: proguard configuration for okhttp ----------
##---------------Begin: proguard configuration for kotlinx.serialization ----------
-keepattributes *Annotation*, InnerClasses
-dontnote kotlinx.serialization.AnnotationsKt # core serialization annotations
-dontnote kotlinx.serialization.** # core serialization annotations
# kotlinx-serialization-json specific. Add this if you have java.lang.NoClassDefFoundError kotlinx.serialization.json.JsonObjectSerializer
-keepclassmembers class kotlinx.serialization.json.** {
@ -42,11 +63,19 @@
kotlinx.serialization.KSerializer serializer(...);
}
-keep,includedescriptorclasses class eu.kanade.tachiyomi.**$$serializer { *; }
-keepclassmembers class eu.kanade.tachiyomi.** {
-keep,includedescriptorclasses class eu.kanade.**$$serializer { *; }
-keepclassmembers class eu.kanade.** {
*** 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(...);
}
@ -67,26 +96,11 @@
kotlinx.serialization.KSerializer serializer(...);
}
# Keep extension's common dependencies
-keep,allowoptimization class eu.kanade.tachiyomi.** { public protected *; }
-keep,allowoptimization class androidx.preference.** { *; }
-keep,allowoptimization class kotlin.** { public protected *; }
-keep,allowoptimization class kotlinx.coroutines.** { 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 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 app.cash.quickjs.** { public protected *; }
-keep,allowoptimization class uy.kohesive.injekt.** { public protected *; }
-keep,allowoptimization class kotlinx.serialization.** { public protected *; }
# RxJava 1.1.0
-dontwarn sun.misc.**
-dontnote rx.internal.util.PlatformDependent
-keep class kotlinx.serialization.**
-keepclassmembers class kotlinx.serialization.** {
<methods>;
}
##---------------End: proguard configuration for kotlinx.serialization ----------
# === Reactive network: https://github.com/pwittchen/ReactiveNetwork/tree/v0.12.4#proguard-configuration
-dontwarn com.github.pwittchen.reactivenetwork.library.rx2.ReactiveNetwork
@ -107,23 +121,44 @@
# === Okio: https://github.com/square/okio/tree/9b8545e7fa267c9d89753283990f24a35cd69cd6#proguard
-dontwarn okio.**
# == Nucleus
-keepclassmembers class * extends nucleus.presenter.Presenter {
<init>();
}
# === Keep RxAndroid, https://github.com/ReactiveX/RxAndroid/issues/350
-keep class rx.android.** { *; }
# TODO Changeloglib? Does it need proguard?
# XmlUtil
-keep public enum nl.adaptivity.xmlutil.EventType { *; }
# Firebase
-keep class com.google.firebase.installations.** { *; }
-keep interface com.google.firebase.installations.** { *; }
# Google Drive
-keep class com.google.api.services.** { *; }
# Google OAuth
-keep class com.google.api.client.** { *; }
# SY -->
# SqlCipher
-keepclassmembers class net.zetetic.database.sqlcipher.SQLiteCustomFunction { *; }
-keepclassmembers class net.zetetic.database.sqlcipher.SQLiteConnection { *; }
-keepclassmembers class net.zetetic.database.sqlcipher.SQLiteGlobal { *; }
-keepclassmembers class net.zetetic.database.sqlcipher.SQLiteDebug { *; }
-keepclassmembers class net.zetetic.database.sqlcipher.SQLiteDebug$* { *; }
# SY <--
# Design library
-dontwarn com.google.android.material.**
-keep class com.google.android.material.** { *; }
-keep interface com.google.android.material.** { *; }
-keep public class com.google.android.material.R$* { *; }
-keep class com.hippo.image.** { *; }
-keep interface com.hippo.image.** { *; }
# === Injekt
## From original config: "Attempt to fix: java.lang.NoClassDefFoundError: uy.kohesive.injekt.registry.default.DefaultRegistrar$NOKEY$1"
-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
-dontwarn com.google.auto.value.AutoValue
@ -229,3 +264,38 @@
-keep class com.google.apphosting.api.ApiProxy {
static *** getCurrentEnvironment (...);
}
# R8 full mode
-keepattributes Signature
-keep,allowoptimization class kotlin.coroutines.Continuation
-keep,allowoptimization class * extends uy.kohesive.injekt.api.TypeReference
-keep,allowoptimization public class io.requery.android.database.sqlite.SQLiteConnection { *; }
# Keep apache http client
-keep class org.apache.http.** { *; }
# Suggested rules
-dontwarn com.oracle.svm.core.annotate.AutomaticFeature
-dontwarn com.oracle.svm.core.annotate.Delete
-dontwarn com.oracle.svm.core.annotate.Substitute
-dontwarn com.oracle.svm.core.annotate.TargetClass
-dontwarn com.oracle.svm.core.configure.ResourcesRegistry
-dontwarn org.graalvm.nativeimage.ImageSingletons
-dontwarn org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess
-dontwarn org.graalvm.nativeimage.hosted.Feature
-dontwarn org.slf4j.impl.StaticLoggerBinder
-dontwarn java.lang.Module
-dontwarn org.graalvm.nativeimage.hosted.RuntimeResourceAccess
-dontwarn org.jspecify.annotations.NullMarked
-dontwarn javax.naming.InvalidNameException
-dontwarn javax.naming.NamingException
-dontwarn javax.naming.directory.Attribute
-dontwarn javax.naming.directory.Attributes
-dontwarn javax.naming.ldap.LdapName
-dontwarn javax.naming.ldap.Rdn
-dontwarn org.ietf.jgss.GSSContext
-dontwarn org.ietf.jgss.GSSCredential
-dontwarn org.ietf.jgss.GSSException
-dontwarn org.ietf.jgss.GSSManager
-dontwarn org.ietf.jgss.GSSName
-dontwarn org.ietf.jgss.Oid

View File

@ -2,4 +2,5 @@
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/ic_launcher_background"/>
<foreground android:drawable="@drawable/ic_launcher_foreground"/>
</adaptive-icon>
<monochrome android:drawable="@drawable/ic_tachi_monochrome_launcher" />
</adaptive-icon>

View File

@ -3,4 +3,4 @@
<background android:drawable="@color/ic_launcher_background"/>
<foreground android:drawable="@drawable/ic_launcher_foreground"/>
<monochrome android:drawable="@drawable/ic_tachi_monochrome_launcher" />
</adaptive-icon>
</adaptive-icon>

View File

@ -0,0 +1,11 @@
package mihon.core.firebase
import android.content.Context
object FirebaseConfig {
fun init(context: Context) = Unit
fun setAnalyticsEnabled(enabled: Boolean) = Unit
fun setCrashlyticsEnabled(enabled: Boolean) = Unit
}

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="eu.kanade.tachiyomi">
xmlns:tools="http://schemas.android.com/tools">
<!-- Internet -->
<uses-permission android:name="android.permission.INTERNET" />
@ -8,7 +8,9 @@
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<!-- Storage -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
tools:ignore="ScopedStorage" />
<!-- For background jobs -->
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
@ -21,41 +23,116 @@
<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+ -->
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />
<uses-permission
android:name="android.permission.QUERY_ALL_PACKAGES"
tools:ignore="QueryAllPackagesPermission" />
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
<uses-permission
android:name="android.permission.READ_APP_SPECIFIC_LOCALES"
tools:ignore="ProtectedPermissions" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_DATA_SYNC" />
<!-- Remove unnecessary permissions from Firebase dependency -->
<uses-permission
android:name="com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE"
tools:node="remove" />
<uses-permission
android:name="com.google.android.gms.permission.AD_ID"
tools:node="remove" />
<uses-permission
android:name="android.permission.ACCESS_ADSERVICES_ATTRIBUTION"
tools:node="remove" />
<uses-permission
android:name="android.permission.ACCESS_ADSERVICES_AD_ID"
tools:node="remove" />
<application
android:name=".App"
android:allowBackup="false"
android:enableOnBackInvokedCallback="true"
android:hardwareAccelerated="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:largeHeap="true"
android:localeConfig="@xml/locales_config"
android:networkSecurityConfig="@xml/network_security_config"
android:preserveLegacyExternalStorage="true"
android:requestLegacyExternalStorage="true"
android:roundIcon="@mipmap/ic_launcher_round"
android:theme="@style/Theme.Tachiyomi"
android:supportsRtl="true"
android:networkSecurityConfig="@xml/network_security_config">
android:theme="@style/Theme.Tachiyomi">
<activity
android:name=".ui.main.MainActivity"
android:exported="true"
android:launchMode="singleTop"
android:theme="@style/Theme.Tachiyomi.SplashScreen"
android:exported="true">
android:theme="@style/Theme.Tachiyomi.SplashScreen">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<!-- Deep link to add repos -->
<intent-filter android:label="@string/action_add_repo">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="tachiyomi" />
<data android:host="add-repo" />
</intent-filter>
<!-- Open backup files -->
<intent-filter android:label="@string/pref_restore_backup">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="file" />
<data android:scheme="content" />
<data android:host="*" />
<data android:mimeType="*/*" />
<!--
Work around Android's ugly primitive PatternMatcher
implementation that can't cope with finding a . early in
the path unless it's explicitly matched.
See https://stackoverflow.com/a/31028507
-->
<data android:pathPattern=".*\\.tachibk" />
<data android:pathPattern=".*\\..*\\.tachibk" />
<data android:pathPattern=".*\\..*\\..*\\.tachibk" />
<data android:pathPattern=".*\\..*\\..*\\..*\\.tachibk" />
<data android:pathPattern=".*\\..*\\..*\\..*\\..*\\.tachibk" />
<data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\.tachibk" />
<data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\.tachibk" />
</intent-filter>
<!--suppress AndroidDomInspection -->
<meta-data
android:name="android.app.shortcuts"
android:resource="@xml/shortcuts" />
</activity>
<activity
android:name=".ui.main.DeepLinkActivity"
android:name=".crash.CrashActivity"
android:exported="false"
android:process=":error_handler" />
<activity
android:name=".ui.deeplink.DeepLinkActivity"
android:exported="true"
android:label="@string/action_search"
android:launchMode="singleTask"
android:theme="@android:style/Theme.NoDisplay"
android:label="@string/action_global_search"
android:exported="true">
android:theme="@android:style/Theme.NoDisplay">
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
<action android:name="com.google.android.gms.actions.SEARCH_ACTION" />
@ -79,20 +156,21 @@
<activity
android:name=".ui.reader.ReaderActivity"
android:launchMode="singleTask"
android:exported="false">
android:exported="false"
android:launchMode="singleTask">
<intent-filter>
<action android:name="com.samsung.android.support.REMOTE_ACTION" />
</intent-filter>
<meta-data android:name="com.samsung.android.support.REMOTE_ACTION"
android:resource="@xml/s_pen_actions"/>
<meta-data
android:name="com.samsung.android.support.REMOTE_ACTION"
android:resource="@xml/s_pen_actions" />
</activity>
<activity
android:name=".ui.security.UnlockActivity"
android:theme="@style/Theme.Tachiyomi"
android:exported="false" />
android:exported="false"
android:theme="@style/Theme.Tachiyomi" />
<activity
android:name=".ui.webview.WebViewActivity"
@ -101,27 +179,30 @@
<activity
android:name=".extension.util.ExtensionInstallActivity"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:exported="false" />
android:exported="false"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
<activity
android:name=".ui.setting.track.AnilistLoginActivity"
android:label="Anilist"
android:exported="true">
android:name=".ui.setting.track.TrackLoginActivity"
android:exported="true"
android:label="@string/track_activity_name">
<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="anilist-auth"
android:scheme="tachiyomi" />
<data android:scheme="mihon" />
<data android:host="anilist-auth" />
<data android:host="bangumi-auth" />
<data android:host="myanimelist-auth" />
<data android:host="shikimori-auth" />
</intent-filter>
</activity>
<activity
android:name=".ui.setting.track.MyAnimeListLoginActivity"
android:label="MyAnimeList"
android:name=".ui.setting.track.GoogleDriveLoginActivity"
android:label="GoogleDrive"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
@ -130,38 +211,7 @@
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="myanimelist-auth"
android:scheme="tachiyomi" />
</intent-filter>
</activity>
<activity
android:name=".ui.setting.track.ShikimoriLoginActivity"
android:label="Shikimori"
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="shikimori-auth"
android:scheme="tachiyomi" />
</intent-filter>
</activity>
<activity
android:name=".ui.setting.track.BangumiLoginActivity"
android:label="Bangumi"
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="bangumi-auth"
android:scheme="tachiyomi" />
android:scheme="eu.kanade.google.oauth" />
</intent-filter>
</activity>
@ -175,23 +225,23 @@
android:exported="false" />
<service
android:name=".data.library.LibraryUpdateService"
android:exported="false" />
android:name=".extension.util.ExtensionInstallService"
android:exported="false"
android:foregroundServiceType="shortService" />
<service
android:name=".data.download.DownloadService"
android:exported="false" />
android:name="androidx.appcompat.app.AppLocalesMetadataHolderService"
android:enabled="false"
android:exported="false">
<meta-data
android:name="autoStoreLocales"
android:value="true" />
</service>
<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" />
android:name="androidx.work.impl.foreground.SystemForegroundService"
android:foregroundServiceType="dataSync"
tools:node="merge" />
<provider
android:name="androidx.core.content.FileProvider"
@ -206,16 +256,31 @@
<provider
android:name="rikka.shizuku.ShizukuProvider"
android:authorities="${applicationId}.shizuku"
android:multiprocess="false"
android:enabled="true"
android:exported="true"
android:multiprocess="false"
android:permission="android.permission.INTERACT_ACROSS_USERS_FULL" />
<meta-data android:name="android.webkit.WebView.EnableSafeBrowsing"
<meta-data
android:name="android.webkit.WebView.EnableSafeBrowsing"
android:value="false" />
<meta-data android:name="android.webkit.WebView.MetricsOptOut"
<meta-data
android:name="android.webkit.WebView.MetricsOptOut"
android:value="true" />
<!-- Disable for manual opt-in -->
<meta-data
android:name="firebase_analytics_collection_enabled"
android:value="false" />
<meta-data
android:name="firebase_crashlytics_collection_enabled"
android:value="false" />
<!-- Disable advertising ID collection for Firebase -->
<meta-data
android:name="google_analytics_adid_collection_enabled"
android:value="false" />
<!-- EH -->
<activity
android:name="exh.ui.intercept.InterceptActivity"
@ -268,21 +333,6 @@
<data android:pathPattern="/g/..*" />
</intent-filter>
<!-- Perv Eden -->
<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="perveden.com" />
<data android:host="www.perveden.com" />
<data android:pathPattern="/.*/.*-manga/.*" />
</intent-filter>
<!-- Tsumino -->
<intent-filter>
<action android:name="android.intent.action.VIEW" />
@ -299,22 +349,6 @@
<data android:pathPattern="/Read/View/..*" />
<data android:pathPattern="/Book/Info/..*" />
</intent-filter>
<!-- Hitomi.la -->
<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="hitomi.la" />
<data android:host="www.hitomi.la" />
<data android:pathPattern="/reader/..*" />
<data android:pathPattern="/galleries/..*" />
</intent-filter>
<!-- Pururin -->
<intent-filter>
<action android:name="android.intent.action.VIEW" />
@ -325,7 +359,7 @@
<data android:scheme="https" />
<data android:scheme="http" />
<data android:host="pururin.io" />
<data android:host="pururin.me" />
<data android:pathPattern="/gallery/..*" />
</intent-filter>
@ -363,10 +397,29 @@
<data android:pathPattern="/chapter/..*" />
</intent-filter>
</activity>
<activity
android:name="exh.ui.captcha.BrowserActionActivity"
android:theme="@style/Theme.Tachiyomi"
android:exported="false"/>
android:name="exh.md.MangaDexLoginActivity"
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>
<activity
android:name="com.journeyapps.barcodescanner.CaptureActivity"
tools:remove="screenOrientation" />
</application>
<uses-sdk tools:overrideLibrary="rikka.shizuku.api"
tools:ignore="ManifestOrder" />
</manifest>

33495
app/src/main/baseline-prof.txt Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,10 @@
package eu.kanade.core.preference
import androidx.compose.ui.state.ToggleableState
import tachiyomi.core.common.preference.CheckboxState
fun <T> CheckboxState.TriState<T>.asToggleableState() = when (this) {
is CheckboxState.TriState.Exclude -> ToggleableState.Indeterminate
is CheckboxState.TriState.Include -> ToggleableState.On
is CheckboxState.TriState.None -> ToggleableState.Off
}

View File

@ -0,0 +1,38 @@
package eu.kanade.core.preference
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.common.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
}
}
fun <T> Preference<T>.asState(scope: CoroutineScope) = PreferenceMutableState(this, scope)

View File

@ -0,0 +1,99 @@
package eu.kanade.core.util
import androidx.compose.ui.util.fastFilter
import androidx.compose.ui.util.fastForEach
import kotlin.contracts.ExperimentalContracts
import kotlin.contracts.contract
fun <T : R, R : Any> List<T>.insertSeparators(
generator: (before: T?, after: 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)
val after = getOrNull(i + 1)
val separator = generator.invoke(before, after)
separator?.let(newList::add)
}
return newList
}
/**
* Similar to [eu.kanade.core.util.insertSeparators] but iterates from last to first element
*/
fun <T : R, R : Any> List<T>.insertSeparatorsReversed(
generator: (before: T?, after: T?) -> R?,
): List<R> {
if (isEmpty()) return emptyList()
val newList = mutableListOf<R>()
for (i in size downTo 0) {
val after = getOrNull(i)
after?.let(newList::add)
val before = getOrNull(i - 1)
val separator = generator.invoke(before, after)
separator?.let(newList::add)
}
return newList.asReversed()
}
fun <E> HashSet<E>.addOrRemove(value: E, shouldAdd: Boolean) {
if (shouldAdd) {
add(value)
} else {
remove(value)
}
}
/**
* 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) }
return fastFilter { !predicate(it) }
}
/**
* 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
}

View File

@ -0,0 +1,200 @@
package eu.kanade.domain
import eu.kanade.domain.chapter.interactor.GetAvailableScanlators
import eu.kanade.domain.chapter.interactor.SetReadStatus
import eu.kanade.domain.chapter.interactor.SyncChaptersWithSource
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.extension.interactor.TrustExtension
import eu.kanade.domain.manga.interactor.GetExcludedScanlators
import eu.kanade.domain.manga.interactor.SetExcludedScanlators
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.GetIncognitoState
import eu.kanade.domain.source.interactor.GetLanguagesWithSources
import eu.kanade.domain.source.interactor.GetSourcesWithFavoriteCount
import eu.kanade.domain.source.interactor.SetMigrateSorting
import eu.kanade.domain.source.interactor.ToggleIncognito
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.track.interactor.AddTracks
import eu.kanade.domain.track.interactor.RefreshTracks
import eu.kanade.domain.track.interactor.SyncChapterProgressWithTrack
import eu.kanade.domain.track.interactor.TrackChapter
import eu.kanade.tachiyomi.di.InjektModule
import eu.kanade.tachiyomi.di.addFactory
import eu.kanade.tachiyomi.di.addSingletonFactory
import mihon.data.repository.ExtensionRepoRepositoryImpl
import mihon.domain.chapter.interactor.FilterChaptersForDownload
import mihon.domain.extensionrepo.interactor.CreateExtensionRepo
import mihon.domain.extensionrepo.interactor.DeleteExtensionRepo
import mihon.domain.extensionrepo.interactor.GetExtensionRepo
import mihon.domain.extensionrepo.interactor.GetExtensionRepoCount
import mihon.domain.extensionrepo.interactor.ReplaceExtensionRepo
import mihon.domain.extensionrepo.interactor.UpdateExtensionRepo
import mihon.domain.extensionrepo.repository.ExtensionRepoRepository
import mihon.domain.extensionrepo.service.ExtensionRepoService
import mihon.domain.upcoming.interactor.GetUpcomingManga
import tachiyomi.data.category.CategoryRepositoryImpl
import tachiyomi.data.chapter.ChapterRepositoryImpl
import tachiyomi.data.history.HistoryRepositoryImpl
import tachiyomi.data.manga.MangaRepositoryImpl
import tachiyomi.data.release.ReleaseServiceImpl
import tachiyomi.data.source.SourceRepositoryImpl
import tachiyomi.data.source.StubSourceRepositoryImpl
import tachiyomi.data.track.TrackRepositoryImpl
import tachiyomi.data.updates.UpdatesRepositoryImpl
import tachiyomi.domain.category.interactor.CreateCategoryWithName
import tachiyomi.domain.category.interactor.DeleteCategory
import tachiyomi.domain.category.interactor.GetCategories
import tachiyomi.domain.category.interactor.RenameCategory
import tachiyomi.domain.category.interactor.ReorderCategory
import tachiyomi.domain.category.interactor.ResetCategoryFlags
import tachiyomi.domain.category.interactor.SetDisplayMode
import tachiyomi.domain.category.interactor.SetMangaCategories
import tachiyomi.domain.category.interactor.SetSortModeForCategory
import tachiyomi.domain.category.interactor.UpdateCategory
import tachiyomi.domain.category.repository.CategoryRepository
import tachiyomi.domain.chapter.interactor.GetChapter
import tachiyomi.domain.chapter.interactor.GetChapterByUrlAndMangaId
import tachiyomi.domain.chapter.interactor.GetChaptersByMangaId
import tachiyomi.domain.chapter.interactor.SetMangaDefaultChapterFlags
import tachiyomi.domain.chapter.interactor.ShouldUpdateDbChapter
import tachiyomi.domain.chapter.interactor.UpdateChapter
import tachiyomi.domain.chapter.repository.ChapterRepository
import tachiyomi.domain.history.interactor.GetHistory
import tachiyomi.domain.history.interactor.GetNextChapters
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.interactor.FetchInterval
import tachiyomi.domain.manga.interactor.GetDuplicateLibraryManga
import tachiyomi.domain.manga.interactor.GetFavorites
import tachiyomi.domain.manga.interactor.GetLibraryManga
import tachiyomi.domain.manga.interactor.GetManga
import tachiyomi.domain.manga.interactor.GetMangaByUrlAndSourceId
import tachiyomi.domain.manga.interactor.GetMangaWithChapters
import tachiyomi.domain.manga.interactor.NetworkToLocalManga
import tachiyomi.domain.manga.interactor.ResetViewerFlags
import tachiyomi.domain.manga.interactor.SetMangaChapterFlags
import tachiyomi.domain.manga.interactor.UpdateMangaNotes
import tachiyomi.domain.manga.repository.MangaRepository
import tachiyomi.domain.release.interactor.GetApplicationRelease
import tachiyomi.domain.release.service.ReleaseService
import tachiyomi.domain.source.interactor.GetRemoteManga
import tachiyomi.domain.source.interactor.GetSourcesWithNonLibraryManga
import tachiyomi.domain.source.repository.SourceRepository
import tachiyomi.domain.source.repository.StubSourceRepository
import tachiyomi.domain.track.interactor.DeleteTrack
import tachiyomi.domain.track.interactor.GetTracks
import tachiyomi.domain.track.interactor.GetTracksPerManga
import tachiyomi.domain.track.interactor.InsertTrack
import tachiyomi.domain.track.repository.TrackRepository
import tachiyomi.domain.updates.interactor.GetUpdates
import tachiyomi.domain.updates.repository.UpdatesRepository
import uy.kohesive.injekt.api.InjektRegistrar
class DomainModule : InjektModule {
override fun InjektRegistrar.registerInjectables() {
addSingletonFactory<CategoryRepository> { CategoryRepositoryImpl(get()) }
addFactory { GetCategories(get()) }
addFactory { ResetCategoryFlags(get(), get()) }
addFactory { SetDisplayMode(get()) }
addFactory { SetSortModeForCategory(get(), get()) }
addFactory { CreateCategoryWithName(get(), get()) }
addFactory { RenameCategory(get()) }
addFactory { ReorderCategory(get()) }
addFactory { UpdateCategory(get()) }
addFactory { DeleteCategory(get(), get(), get()) }
addSingletonFactory<MangaRepository> { MangaRepositoryImpl(get()) }
addFactory { GetDuplicateLibraryManga(get()) }
addFactory { GetFavorites(get()) }
addFactory { GetLibraryManga(get()) }
addFactory { GetMangaWithChapters(get(), get()) }
addFactory { GetMangaByUrlAndSourceId(get()) }
addFactory { GetManga(get()) }
addFactory { GetNextChapters(get(), get(), get(), get()) }
addFactory { GetUpcomingManga(get()) }
addFactory { ResetViewerFlags(get()) }
addFactory { SetMangaChapterFlags(get()) }
addFactory { FetchInterval(get()) }
addFactory { SetMangaDefaultChapterFlags(get(), get(), get()) }
addFactory { SetMangaViewerFlags(get()) }
addFactory { NetworkToLocalManga(get()) }
addFactory { UpdateManga(get(), get()) }
addFactory { UpdateMangaNotes(get()) }
addFactory { SetMangaCategories(get()) }
addFactory { GetExcludedScanlators(get()) }
addFactory { SetExcludedScanlators(get()) }
addSingletonFactory<ReleaseService> { ReleaseServiceImpl(get(), get()) }
addFactory { GetApplicationRelease(get(), get()) }
addSingletonFactory<TrackRepository> { TrackRepositoryImpl(get()) }
addFactory { TrackChapter(get(), get(), get(), get()) }
addFactory { AddTracks(get(), get(), get(), get()) }
addFactory { RefreshTracks(get(), get(), get(), get()) }
addFactory { DeleteTrack(get()) }
addFactory { GetTracksPerManga(get(), get()) }
addFactory { GetTracks(get()) }
addFactory { InsertTrack(get()) }
addFactory { SyncChapterProgressWithTrack(get(), get(), get()) }
addSingletonFactory<ChapterRepository> { ChapterRepositoryImpl(get()) }
addFactory { GetChapter(get()) }
addFactory { GetChaptersByMangaId(get()) }
addFactory { GetChapterByUrlAndMangaId(get()) }
addFactory { UpdateChapter(get()) }
addFactory { SetReadStatus(get(), get(), get(), get(), get()) }
addFactory { ShouldUpdateDbChapter() }
addFactory { SyncChaptersWithSource(get(), get(), get(), get(), get(), get(), get(), get(), get()) }
addFactory { GetAvailableScanlators(get()) }
addFactory { FilterChaptersForDownload(get(), get(), 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<StubSourceRepository> { StubSourceRepositoryImpl(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()) }
addFactory { TrustExtension(get(), get()) }
addSingletonFactory<ExtensionRepoRepository> { ExtensionRepoRepositoryImpl(get()) }
addFactory { ExtensionRepoService(get(), get()) }
addFactory { GetExtensionRepo(get()) }
addFactory { GetExtensionRepoCount(get()) }
addFactory { CreateExtensionRepo(get(), get()) }
addFactory { DeleteExtensionRepo(get()) }
addFactory { ReplaceExtensionRepo(get()) }
addFactory { UpdateExtensionRepo(get(), get()) }
addFactory { ToggleIncognito(get()) }
addFactory { GetIncognitoState(get(), get(), get()) }
}
}

View File

@ -0,0 +1,156 @@
package eu.kanade.domain
import android.app.Application
import eu.kanade.domain.manga.interactor.CreateSortTag
import eu.kanade.domain.manga.interactor.DeleteSortTag
import eu.kanade.domain.manga.interactor.GetPagePreviews
import eu.kanade.domain.manga.interactor.GetSortTag
import eu.kanade.domain.manga.interactor.ReorderSortTag
import eu.kanade.domain.source.interactor.CreateSourceCategory
import eu.kanade.domain.source.interactor.DeleteSourceCategory
import eu.kanade.domain.source.interactor.GetExhSavedSearch
import eu.kanade.domain.source.interactor.GetShowLatest
import eu.kanade.domain.source.interactor.GetSourceCategories
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.di.InjektModule
import eu.kanade.tachiyomi.di.addFactory
import eu.kanade.tachiyomi.di.addSingletonFactory
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.chapter.interactor.DeleteChapters
import tachiyomi.domain.chapter.interactor.GetChapterByUrl
import tachiyomi.domain.chapter.interactor.GetMergedChaptersByMangaId
import tachiyomi.domain.manga.interactor.DeleteByMergeId
import tachiyomi.domain.manga.interactor.DeleteFavoriteEntries
import tachiyomi.domain.manga.interactor.DeleteMangaById
import tachiyomi.domain.manga.interactor.DeleteMergeById
import tachiyomi.domain.manga.interactor.GetAllManga
import tachiyomi.domain.manga.interactor.GetCustomMangaInfo
import tachiyomi.domain.manga.interactor.GetExhFavoriteMangaWithMetadata
import tachiyomi.domain.manga.interactor.GetFavoriteEntries
import tachiyomi.domain.manga.interactor.GetFlatMetadataById
import tachiyomi.domain.manga.interactor.GetIdsOfFavoriteMangaWithMetadata
import tachiyomi.domain.manga.interactor.GetManga
import tachiyomi.domain.manga.interactor.GetMangaBySource
import tachiyomi.domain.manga.interactor.GetMergedManga
import tachiyomi.domain.manga.interactor.GetMergedMangaById
import tachiyomi.domain.manga.interactor.GetMergedMangaForDownloading
import tachiyomi.domain.manga.interactor.GetMergedReferencesById
import tachiyomi.domain.manga.interactor.GetReadMangaNotInLibraryView
import tachiyomi.domain.manga.interactor.GetSearchMetadata
import tachiyomi.domain.manga.interactor.GetSearchTags
import tachiyomi.domain.manga.interactor.GetSearchTitles
import tachiyomi.domain.manga.interactor.InsertFavoriteEntries
import tachiyomi.domain.manga.interactor.InsertFavoriteEntryAlternative
import tachiyomi.domain.manga.interactor.InsertFlatMetadata
import tachiyomi.domain.manga.interactor.InsertMergedReference
import tachiyomi.domain.manga.interactor.SetCustomMangaInfo
import tachiyomi.domain.manga.interactor.UpdateMergedSettings
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.interactor.CountFeedSavedSearchBySourceId
import tachiyomi.domain.source.interactor.CountFeedSavedSearchGlobal
import tachiyomi.domain.source.interactor.DeleteFeedSavedSearchById
import tachiyomi.domain.source.interactor.DeleteSavedSearchById
import tachiyomi.domain.source.interactor.GetFeedSavedSearchBySourceId
import tachiyomi.domain.source.interactor.GetFeedSavedSearchGlobal
import tachiyomi.domain.source.interactor.GetSavedSearchById
import tachiyomi.domain.source.interactor.GetSavedSearchBySourceId
import tachiyomi.domain.source.interactor.GetSavedSearchBySourceIdFeed
import tachiyomi.domain.source.interactor.GetSavedSearchGlobalFeed
import tachiyomi.domain.source.interactor.InsertFeedSavedSearch
import tachiyomi.domain.source.interactor.InsertSavedSearch
import tachiyomi.domain.source.repository.FeedSavedSearchRepository
import tachiyomi.domain.source.repository.SavedSearchRepository
import tachiyomi.domain.track.interactor.IsTrackUnfollowed
import uy.kohesive.injekt.api.InjektRegistrar
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 { GetAllManga(get()) }
addFactory { GetMangaBySource(get()) }
addFactory { DeleteChapters(get()) }
addFactory { DeleteMangaById(get()) }
addFactory { FilterSerializer() }
addFactory { GetChapterByUrl(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() }
addFactory { IsTrackUnfollowed() }
addFactory { GetReadMangaNotInLibraryView(get()) }
// 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 { GetMergedChaptersByMangaId(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()) }
addFactory { InsertFavoriteEntryAlternative(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()) }
}
}

View File

@ -0,0 +1,38 @@
package eu.kanade.domain.base
import android.content.Context
import dev.icerock.moko.resources.StringResource
import eu.kanade.tachiyomi.util.system.GLUtil
import tachiyomi.core.common.preference.Preference
import tachiyomi.core.common.preference.PreferenceStore
import tachiyomi.i18n.MR
class BasePreferences(
val context: Context,
private val preferenceStore: PreferenceStore,
) {
fun downloadedOnly() = preferenceStore.getBoolean(
Preference.appStateKey("pref_downloaded_only"),
false,
)
fun incognitoMode() = preferenceStore.getBoolean(Preference.appStateKey("incognito_mode"), false)
fun extensionInstaller() = ExtensionInstallerPreference(context, preferenceStore)
fun shownOnboardingFlow() = preferenceStore.getBoolean(Preference.appStateKey("onboarding_complete"), false)
enum class ExtensionInstaller(val titleRes: StringResource, val requiresSystemPermission: Boolean) {
LEGACY(MR.strings.ext_installer_legacy, true),
PACKAGEINSTALLER(MR.strings.ext_installer_packageinstaller, true),
SHIZUKU(MR.strings.ext_installer_shizuku, false),
PRIVATE(MR.strings.ext_installer_private, false),
}
fun displayProfile() = preferenceStore.getString("pref_display_profile_key", "")
fun hardwareBitmapThreshold() = preferenceStore.getInt("pref_hardware_bitmap_threshold", GLUtil.SAFE_TEXTURE_LIMIT)
fun alwaysDecodeLongStripWithSSIV() = preferenceStore.getBoolean("pref_always_decode_long_strip_with_ssiv", false)
}

View File

@ -0,0 +1,68 @@
package eu.kanade.domain.base
import android.content.Context
import eu.kanade.domain.base.BasePreferences.ExtensionInstaller
import eu.kanade.tachiyomi.util.system.hasMiuiPackageInstaller
import eu.kanade.tachiyomi.util.system.isShizukuInstalled
import kotlinx.coroutines.CoroutineScope
import tachiyomi.core.common.preference.Preference
import tachiyomi.core.common.preference.PreferenceStore
import tachiyomi.core.common.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.entries.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)
}

View File

@ -0,0 +1,36 @@
package eu.kanade.domain.chapter.interactor
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.map
import tachiyomi.domain.chapter.repository.ChapterRepository
class GetAvailableScanlators(
private val repository: ChapterRepository,
) {
private fun List<String>.cleanupAvailableScanlators(): Set<String> {
return mapNotNull { it.ifBlank { null } }.toSet()
}
suspend fun await(mangaId: Long): Set<String> {
return repository.getScanlatorsByMangaId(mangaId)
.cleanupAvailableScanlators()
}
fun subscribe(mangaId: Long): Flow<Set<String>> {
return repository.getScanlatorsByMangaIdAsFlow(mangaId)
.map { it.cleanupAvailableScanlators() }
}
// SY -->
suspend fun awaitMerge(mangaId: Long): Set<String> {
return repository.getScanlatorsByMergeId(mangaId)
.cleanupAvailableScanlators()
}
fun subscribeMerge(mangaId: Long): Flow<Set<String>> {
return repository.getScanlatorsByMergeIdAsFlow(mangaId)
.map { it.cleanupAvailableScanlators() }
}
// SY <--
}

View File

@ -0,0 +1,99 @@
package eu.kanade.domain.chapter.interactor
import eu.kanade.domain.download.interactor.DeleteDownload
import exh.source.MERGED_SOURCE_ID
import logcat.LogPriority
import tachiyomi.core.common.util.lang.withNonCancellableContext
import tachiyomi.core.common.util.system.logcat
import tachiyomi.domain.chapter.interactor.GetMergedChaptersByMangaId
import tachiyomi.domain.chapter.model.Chapter
import tachiyomi.domain.chapter.model.ChapterUpdate
import tachiyomi.domain.chapter.repository.ChapterRepository
import tachiyomi.domain.download.service.DownloadPreferences
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 getMergedChaptersByMangaId: GetMergedChaptersByMangaId,
// 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 = getMergedChaptersByMangaId
.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 interface Result {
data object Success : Result
data object NoChapters : Result
data class InternalError(val error: Throwable) : Result
}
}

View File

@ -0,0 +1,248 @@
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.GetExcludedScanlators
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.model.SChapter
import eu.kanade.tachiyomi.source.online.HttpSource
import exh.source.isEhBasedManga
import tachiyomi.data.chapter.ChapterSanitizer
import tachiyomi.domain.chapter.interactor.GetChaptersByMangaId
import tachiyomi.domain.chapter.interactor.ShouldUpdateDbChapter
import tachiyomi.domain.chapter.interactor.UpdateChapter
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.chapter.service.ChapterRecognition
import tachiyomi.domain.library.service.LibraryPreferences
import tachiyomi.domain.manga.model.Manga
import tachiyomi.source.local.isLocal
import java.lang.Long.max
import java.time.ZonedDateTime
import java.util.TreeSet
class SyncChaptersWithSource(
private val downloadManager: DownloadManager,
private val downloadProvider: DownloadProvider,
private val chapterRepository: ChapterRepository,
private val shouldUpdateDbChapter: ShouldUpdateDbChapter,
private val updateManga: UpdateManga,
private val updateChapter: UpdateChapter,
private val getChaptersByMangaId: GetChaptersByMangaId,
private val getExcludedScanlators: GetExcludedScanlators,
private val libraryPreferences: LibraryPreferences,
) {
/**
* 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,
manualFetch: Boolean = false,
fetchWindow: Pair<Long, Long> = Pair(0, 0),
): List<Chapter> {
if (rawSourceChapters.isEmpty() && !source.isLocal()) {
throw NoChaptersException()
}
val now = ZonedDateTime.now()
val nowMillis = now.toInstant().toEpochMilli()
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())
}
val dbChapters = getChaptersByMangaId.await(manga.id)
val newChapters = mutableListOf<Chapter>()
val updatedChapters = mutableListOf<Chapter>()
val removedChapters = dbChapters.filterNot { dbChapter ->
sourceChapters.any { sourceChapter ->
dbChapter.url == sourceChapter.url
}
}
// Used to not set upload date of older chapters
// to a higher value than newer chapters
var maxSeenUploadDate = 0L
for (sourceChapter in sourceChapters) {
var chapter = sourceChapter
// Update metadata from source if necessary.
if (source is HttpSource) {
val sChapter = chapter.toSChapter()
source.prepareNewChapter(sChapter, manga.toSManga())
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) nowMillis else maxSeenUploadDate
chapter.copy(dateUpload = altDateUpload)
} else {
maxSeenUploadDate = max(maxSeenUploadDate, sourceChapter.dateUpload)
chapter
}
newChapters.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)
}
updatedChapters.add(toChangeChapter)
}
}
}
// Return if there's nothing to add, delete, or update to avoid unnecessary db transactions.
if (newChapters.isEmpty() && removedChapters.isEmpty() && updatedChapters.isEmpty()) {
if (manualFetch || manga.fetchInterval == 0 || manga.nextUpdate < fetchWindow.first) {
updateManga.awaitUpdateFetchInterval(
manga,
now,
fetchWindow,
)
}
return emptyList()
}
val changedOrDuplicateReadUrls = mutableSetOf<String>()
val deletedChapterNumbers = TreeSet<Double>()
val deletedReadChapterNumbers = TreeSet<Double>()
val deletedBookmarkedChapterNumbers = TreeSet<Double>()
val readChapterNumbers = dbChapters
.asSequence()
.filter { it.read && it.isRecognizedNumber }
.map { it.chapterNumber }
.toSet()
removedChapters.forEach { chapter ->
if (chapter.read) deletedReadChapterNumbers.add(chapter.chapterNumber)
if (chapter.bookmark) deletedBookmarkedChapterNumbers.add(chapter.chapterNumber)
deletedChapterNumbers.add(chapter.chapterNumber)
}
val deletedChapterNumberDateFetchMap = removedChapters.sortedByDescending { it.dateFetch }
.associate { it.chapterNumber to it.dateFetch }
val markDuplicateAsRead = libraryPreferences.markDuplicateReadChapterAsRead().get()
.contains(LibraryPreferences.MARK_DUPLICATE_CHAPTER_READ_NEW)
// 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 = newChapters.size
var updatedToAdd = newChapters.map { toAddItem ->
var chapter = toAddItem.copy(dateFetch = nowMillis + itemCount--)
if (chapter.chapterNumber in readChapterNumbers && markDuplicateAsRead) {
changedOrDuplicateReadUrls.add(chapter.url)
chapter = chapter.copy(read = true)
}
if (!chapter.isRecognizedNumber || 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)
}
changedOrDuplicateReadUrls.add(chapter.url)
chapter
}
// --> EXH (carry over reading progress)
if (manga.isEhBasedManga()) {
val finalAdded = updatedToAdd.filterNot { it.url in changedOrDuplicateReadUrls }
if (finalAdded.isNotEmpty()) {
val max = dbChapters.maxOfOrNull { it.lastPageRead }
if (max != null && max > 0) {
updatedToAdd = updatedToAdd.map {
if (it.url !in changedOrDuplicateReadUrls) {
it.copy(lastPageRead = max)
} else {
it
}
}
}
}
}
// <-- EXH
if (removedChapters.isNotEmpty()) {
val toDeleteIds = removedChapters.map { it.id }
chapterRepository.removeChaptersWithIds(toDeleteIds)
}
if (updatedToAdd.isNotEmpty()) {
updatedToAdd = chapterRepository.addAll(updatedToAdd)
}
if (updatedChapters.isNotEmpty()) {
val chapterUpdates = updatedChapters.map { it.toChapterUpdate() }
updateChapter.awaitAll(chapterUpdates)
}
updateManga.awaitUpdateFetchInterval(manga, now, fetchWindow)
// 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 excludedScanlators = getExcludedScanlators.await(manga.id).toHashSet()
return updatedToAdd.filterNot { it.url in changedOrDuplicateReadUrls || it.scanlator in excludedScanlators }
}
}

View File

@ -0,0 +1,43 @@
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.toFloat()
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.toDouble(),
scanlator = sChapter.scanlator?.ifBlank { null }?.trim(),
)
}
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.toFloat()
it.source_order = sourceOrder.toInt()
it.last_modified = lastModifiedAt
}

View File

@ -0,0 +1,60 @@
package eu.kanade.domain.chapter.model
import eu.kanade.domain.manga.model.downloadedFilter
import eu.kanade.tachiyomi.data.download.DownloadManager
import eu.kanade.tachiyomi.ui.manga.ChapterList
import tachiyomi.domain.chapter.model.Chapter
import tachiyomi.domain.chapter.service.getChapterSort
import tachiyomi.domain.manga.model.Manga
import tachiyomi.domain.manga.model.applyFilter
import tachiyomi.source.local.isLocal
/**
* 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, /* SY --> */
mergedManga: Map<Long, Manga>, /* SY <-- */
): List<Chapter> {
val isLocalManga = manga.isLocal()
val unreadFilter = manga.unreadFilter
val downloadedFilter = manga.downloadedFilter
val bookmarkedFilter = manga.bookmarkedFilter
return filter { chapter -> applyFilter(unreadFilter) { !chapter.read } }
.filter { chapter -> applyFilter(bookmarkedFilter) { chapter.bookmark } }
.filter { chapter ->
// SY -->
@Suppress("NAME_SHADOWING")
val manga = mergedManga.getOrElse(chapter.mangaId) { manga }
// SY <--
applyFilter(downloadedFilter) {
val downloaded = downloadManager.isChapterDownloaded(
chapter.name,
chapter.scanlator,
/* SY --> */ manga.ogTitle /* SY <-- */,
manga.source,
)
downloaded || isLocalManga
}
}
.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<ChapterList.Item>.applyFilters(manga: Manga): Sequence<ChapterList.Item> {
val isLocalManga = manga.isLocal()
val unreadFilter = manga.unreadFilter
val downloadedFilter = manga.downloadedFilter
val bookmarkedFilter = manga.bookmarkedFilter
return asSequence()
.filter { (chapter) -> applyFilter(unreadFilter) { !chapter.read } }
.filter { (chapter) -> applyFilter(bookmarkedFilter) { chapter.bookmark } }
.filter { applyFilter(downloadedFilter) { it.isDownloaded || isLocalManga } }
.sortedWith { (chapter1), (chapter2) -> getChapterSort(manga).invoke(chapter1, chapter2) }
}

View File

@ -0,0 +1,19 @@
package eu.kanade.domain.download.interactor
import eu.kanade.tachiyomi.data.download.DownloadManager
import tachiyomi.core.common.util.lang.withNonCancellableContext
import tachiyomi.domain.chapter.model.Chapter
import tachiyomi.domain.manga.model.Manga
import tachiyomi.domain.source.service.SourceManager
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)
}
}
}

View File

@ -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),
)
}
}
}

View File

@ -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,
)
}
}
}
}
data class ExtensionSourceItem(
val source: Source,
val enabled: Boolean,
val labelAsName: Boolean,
)

View File

@ -0,0 +1,61 @@
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,
) { enabledLanguages, _installed, _untrusted, _available ->
val (updates, installed) = _installed
.filter { (showNsfwSources || !it.isNsfw) }
.sortedWith(
compareBy<Extension.Installed> {
!it.isObsolete /* SY --> */ && !it.isRedundant /* 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)
}
.flatMap { ext ->
if (ext.sources.isEmpty()) {
return@flatMap if (ext.lang in enabledLanguages) listOf(ext) else emptyList()
}
ext.sources.filter { it.lang in enabledLanguages }
.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)
}
}
}

View File

@ -0,0 +1,32 @@
package eu.kanade.domain.extension.interactor
import android.content.pm.PackageInfo
import androidx.core.content.pm.PackageInfoCompat
import eu.kanade.domain.source.service.SourcePreferences
import mihon.domain.extensionrepo.repository.ExtensionRepoRepository
import tachiyomi.core.common.preference.getAndSet
class TrustExtension(
private val extensionRepoRepository: ExtensionRepoRepository,
private val preferences: SourcePreferences,
) {
suspend fun isTrusted(pkgInfo: PackageInfo, fingerprints: List<String>): Boolean {
val trustedFingerprints = extensionRepoRepository.getAll().map { it.signingKeyFingerprint }.toHashSet()
val key = "${pkgInfo.packageName}:${PackageInfoCompat.getLongVersionCode(pkgInfo)}:${fingerprints.last()}"
return trustedFingerprints.any { fingerprints.contains(it) } || key in preferences.trustedExtensions().get()
}
fun trust(pkgName: String, versionCode: Long, signatureHash: String) {
preferences.trustedExtensions().getAndSet { exts ->
// Remove previously trusted versions
val removed = exts.filterNot { it.startsWith("$pkgName:") }.toMutableSet()
removed.also { it += "$pkgName:$versionCode:$signatureHash" }
}
}
fun revokeAll() {
preferences.trustedExtensions().delete()
}
}

View File

@ -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>,
)

View File

@ -0,0 +1,40 @@
package eu.kanade.domain.manga.interactor
import tachiyomi.core.common.preference.plusAssign
import tachiyomi.domain.library.service.LibraryPreferences
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 {
data object TagExists : Result()
data 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()}"
}
}

View File

@ -0,0 +1,17 @@
package eu.kanade.domain.manga.interactor
import tachiyomi.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(),
)
}
}

View File

@ -0,0 +1,24 @@
package eu.kanade.domain.manga.interactor
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.map
import tachiyomi.data.DatabaseHandler
class GetExcludedScanlators(
private val handler: DatabaseHandler,
) {
suspend fun await(mangaId: Long): Set<String> {
return handler.awaitList {
excluded_scanlatorsQueries.getExcludedScanlatorsByMangaId(mangaId)
}
.toSet()
}
fun subscribe(mangaId: Long): Flow<Set<String>> {
return handler.subscribeToList {
excluded_scanlatorsQueries.getExcludedScanlatorsByMangaId(mangaId)
}
.map { it.toSet() }
}
}

View File

@ -0,0 +1,52 @@
package eu.kanade.domain.manga.interactor
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.chapter.interactor.GetChaptersByMangaId
import tachiyomi.domain.manga.model.Manga
class GetPagePreviews(
private val pagePreviewCache: PagePreviewCache,
private val getChaptersByMangaId: GetChaptersByMangaId,
) {
suspend fun await(manga: Manga, source: Source, page: Int): Result {
@Suppress("NAME_SHADOWING")
val source = source.getMainSource<PagePreviewSource>() ?: return Result.Unused
val chapters = getChaptersByMangaId.await(manga.id).sortedByDescending { it.sourceOrder }
val chapterIds = chapters.map { it.id }
return try {
val pagePreviews = try {
pagePreviewCache.getPageListFromCache(manga, chapterIds, page)
} catch (_: 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 {
data object Unused : Result()
data class Success(
val pagePreviews: List<PagePreview>,
val hasNextPage: Boolean,
val pageCount: Int?,
) : Result()
data class Error(val error: Throwable) : Result()
}
}

View File

@ -0,0 +1,29 @@
package eu.kanade.domain.manga.interactor
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.map
import tachiyomi.domain.library.service.LibraryPreferences
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 }
}
}

View File

@ -0,0 +1,40 @@
package eu.kanade.domain.manga.interactor
import tachiyomi.domain.library.service.LibraryPreferences
class ReorderSortTag(
private val preferences: LibraryPreferences,
private val getSortTag: GetSortTag,
) {
fun await(tag: String, newPosition: Int): Result {
val tags = getSortTag.await()
val currentIndex = tags.indexOfFirst { it == tag }
if (currentIndex == -1) {
return Result.InternalError
}
if (currentIndex == newPosition) {
return Result.Unchanged
}
val reorderedTags = tags.toMutableList()
val reorderedTag = reorderedTags.removeAt(currentIndex)
reorderedTags.add(newPosition, reorderedTag)
preferences.sortTagsForLibrary().set(
reorderedTags.mapIndexed { index, s ->
CreateSortTag.encodeTag(index, s)
}.toSet(),
)
return Result.Success
}
sealed class Result {
data object Success : Result()
data object Unchanged : Result()
data object InternalError : Result()
}
}

View File

@ -0,0 +1,22 @@
package eu.kanade.domain.manga.interactor
import tachiyomi.data.DatabaseHandler
class SetExcludedScanlators(
private val handler: DatabaseHandler,
) {
suspend fun await(mangaId: Long, excludedScanlators: Set<String>) {
handler.await(inTransaction = true) {
val currentExcluded = handler.awaitList {
excluded_scanlatorsQueries.getExcludedScanlatorsByMangaId(mangaId)
}.toSet()
val toAdd = excludedScanlators.minus(currentExcluded)
for (scanlator in toAdd) {
excluded_scanlatorsQueries.insert(mangaId, scanlator)
}
val toRemove = currentExcluded.minus(excludedScanlators)
excluded_scanlatorsQueries.remove(mangaId, toRemove)
}
}
}

View File

@ -0,0 +1,35 @@
package eu.kanade.domain.manga.interactor
import eu.kanade.tachiyomi.ui.reader.setting.ReaderOrientation
import eu.kanade.tachiyomi.ui.reader.setting.ReadingMode
import tachiyomi.domain.manga.model.MangaUpdate
import tachiyomi.domain.manga.repository.MangaRepository
class SetMangaViewerFlags(
private val mangaRepository: MangaRepository,
) {
suspend fun awaitSetReadingMode(id: Long, flag: Long) {
val manga = mangaRepository.getMangaById(id)
mangaRepository.update(
MangaUpdate(
id = id,
viewerFlags = manga.viewerFlags.setFlag(flag, ReadingMode.MASK.toLong()),
),
)
}
suspend fun awaitSetOrientation(id: Long, flag: Long) {
val manga = mangaRepository.getMangaById(id)
mangaRepository.update(
MangaUpdate(
id = id,
viewerFlags = manga.viewerFlags.setFlag(flag, ReaderOrientation.MASK.toLong()),
),
)
}
private fun Long.setFlag(flag: Long, mask: Long): Long {
return this and mask.inv() or (flag and mask)
}
}

View File

@ -0,0 +1,119 @@
package eu.kanade.domain.manga.interactor
import eu.kanade.domain.manga.model.hasCustomCover
import eu.kanade.tachiyomi.data.cache.CoverCache
import eu.kanade.tachiyomi.data.download.DownloadManager
import eu.kanade.tachiyomi.source.model.SManga
import tachiyomi.domain.library.service.LibraryPreferences
import tachiyomi.domain.manga.interactor.FetchInterval
import tachiyomi.domain.manga.model.Manga
import tachiyomi.domain.manga.model.MangaUpdate
import tachiyomi.domain.manga.repository.MangaRepository
import tachiyomi.source.local.isLocal
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import java.time.Instant
import java.time.ZonedDateTime
class UpdateManga(
private val mangaRepository: MangaRepository,
private val fetchInterval: FetchInterval,
) {
suspend fun await(mangaUpdate: MangaUpdate): Boolean {
return mangaRepository.update(mangaUpdate)
}
suspend fun awaitAll(mangaUpdates: List<MangaUpdate>): Boolean {
return mangaRepository.updateAll(mangaUpdates)
}
suspend fun awaitUpdateFromSource(
localManga: Manga,
remoteManga: SManga,
manualFetch: Boolean,
coverCache: CoverCache = Injekt.get(),
libraryPreferences: LibraryPreferences = Injekt.get(),
downloadManager: DownloadManager = Injekt.get(),
): Boolean {
val remoteTitle = try {
remoteManga.title
} catch (_: UninitializedPropertyAccessException) {
""
}
// if the manga isn't a favorite (or 'update titles' preference is enabled), set its title from source and update in db
val title =
if (remoteTitle.isNotEmpty() && (!localManga.favorite || libraryPreferences.updateMangaTitles().get())) {
remoteTitle
} else {
null
}
val coverLastModified =
when {
// Never refresh covers if the url is empty to avoid "losing" existing covers
remoteManga.thumbnail_url.isNullOrEmpty() -> null
!manualFetch && localManga.thumbnailUrl == remoteManga.thumbnail_url -> null
localManga.isLocal() -> Instant.now().toEpochMilli()
localManga.hasCustomCover(coverCache) -> {
coverCache.deleteFromCache(localManga, false)
null
}
else -> {
coverCache.deleteFromCache(localManga, false)
Instant.now().toEpochMilli()
}
}
val thumbnailUrl = remoteManga.thumbnail_url?.takeIf { it.isNotEmpty() }
val success = mangaRepository.update(
MangaUpdate(
id = localManga.id,
title = title,
coverLastModified = coverLastModified,
author = remoteManga.author,
artist = remoteManga.artist,
description = remoteManga.description,
genre = remoteManga.getGenres(),
thumbnailUrl = thumbnailUrl,
status = remoteManga.status.toLong(),
updateStrategy = remoteManga.update_strategy,
initialized = true,
),
)
if (success && title != null) {
downloadManager.renameManga(localManga, title)
}
return success
}
suspend fun awaitUpdateFetchInterval(
manga: Manga,
dateTime: ZonedDateTime = ZonedDateTime.now(),
window: Pair<Long, Long> = fetchInterval.getWindow(dateTime),
): Boolean {
return mangaRepository.update(
fetchInterval.toMangaUpdate(manga, dateTime, window),
)
}
suspend fun awaitUpdateLastUpdate(mangaId: Long): Boolean {
return mangaRepository.update(MangaUpdate(id = mangaId, lastUpdate = Instant.now().toEpochMilli()))
}
suspend fun awaitUpdateCoverLastModified(mangaId: Long): Boolean {
return mangaRepository.update(MangaUpdate(id = mangaId, coverLastModified = Instant.now().toEpochMilli()))
}
suspend fun awaitUpdateFavorite(mangaId: Long, favorite: Boolean): Boolean {
val dateAdded = when (favorite) {
true -> Instant.now().toEpochMilli()
false -> 0
}
return mangaRepository.update(
MangaUpdate(id = mangaId, favorite = favorite, dateAdded = dateAdded),
)
}
}

View File

@ -0,0 +1,123 @@
package eu.kanade.domain.manga.model
import eu.kanade.domain.base.BasePreferences
import eu.kanade.tachiyomi.data.cache.CoverCache
import eu.kanade.tachiyomi.source.model.SManga
import eu.kanade.tachiyomi.ui.reader.setting.ReaderOrientation
import eu.kanade.tachiyomi.ui.reader.setting.ReadingMode
import eu.kanade.tachiyomi.util.storage.CbzCrypto
import tachiyomi.core.common.preference.TriState
import tachiyomi.core.metadata.comicinfo.ComicInfo
import tachiyomi.core.metadata.comicinfo.ComicInfoPublishingStatus
import tachiyomi.domain.chapter.model.Chapter
import tachiyomi.domain.manga.model.Manga
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
// TODO: move these into the domain model
val Manga.readingMode: Long
get() = viewerFlags and ReadingMode.MASK.toLong()
val Manga.readerOrientation: Long
get() = viewerFlags and ReaderOrientation.MASK.toLong()
val Manga.downloadedFilter: TriState
get() {
if (Injekt.get<BasePreferences>().downloadedOnly().get()) return TriState.ENABLED_IS
return when (downloadedFilterRaw) {
Manga.CHAPTER_SHOW_DOWNLOADED -> TriState.ENABLED_IS
Manga.CHAPTER_SHOW_NOT_DOWNLOADED -> TriState.ENABLED_NOT
else -> TriState.DISABLED
}
}
fun Manga.chaptersFiltered(): Boolean {
return unreadFilter != TriState.DISABLED ||
downloadedFilter != TriState.DISABLED ||
bookmarkedFilter != TriState.DISABLED
}
fun Manga.toSManga(): SManga = SManga.create().also {
it.url = url
// SY -->
it.title = ogTitle
it.artist = ogArtist
it.author = ogAuthor
it.description = ogDescription
it.genre = ogGenre.orEmpty().joinToString()
it.status = ogStatus.toInt()
// SY <--
it.thumbnail_url = thumbnailUrl
it.initialized = initialized
}
fun Manga.copyFrom(other: SManga): Manga {
// SY -->
val author = other.author ?: ogAuthor
val artist = other.artist ?: ogArtist
val thumbnailUrl = other.thumbnail_url ?: ogThumbnailUrl
val description = other.description ?: ogDescription
val genres = if (other.genre != null) {
other.getGenres()
} else {
ogGenre
}
// SY <--
return this.copy(
// SY -->
ogAuthor = author,
ogArtist = artist,
ogThumbnailUrl = thumbnailUrl,
ogDescription = description,
ogGenre = genres,
// SY <--
// SY -->
ogStatus = other.status.toLong(),
// SY <--
updateStrategy = other.update_strategy,
initialized = other.initialized && initialized,
)
}
fun Manga.hasCustomCover(coverCache: CoverCache = Injekt.get()): Boolean {
return coverCache.getCustomCoverFile(id).exists()
}
/**
* Creates a ComicInfo instance based on the manga and chapter metadata.
*/
fun getComicInfo(
manga: Manga,
chapter: Chapter,
urls: List<String>,
categories: List<String>?,
sourceName: String,
) = ComicInfo(
title = ComicInfo.Title(chapter.name),
series = ComicInfo.Series(manga.title),
number = chapter.chapterNumber.takeIf { it >= 0 }?.let {
if ((it.rem(1) == 0.0)) {
ComicInfo.Number(it.toInt().toString())
} else {
ComicInfo.Number(it.toString())
}
},
web = ComicInfo.Web(urls.joinToString(" ")),
summary = manga.description?.let { ComicInfo.Summary(it) },
writer = manga.author?.let { ComicInfo.Writer(it) },
penciller = manga.artist?.let { ComicInfo.Penciller(it) },
translator = chapter.scanlator?.let { ComicInfo.Translator(it) },
genre = manga.genre?.let { ComicInfo.Genre(it.joinToString()) },
publishingStatus = ComicInfo.PublishingStatusTachiyomi(
ComicInfoPublishingStatus.toComicInfoValue(manga.status),
),
categories = categories?.let { ComicInfo.CategoriesTachiyomi(it.joinToString()) },
source = ComicInfo.SourceMihon(sourceName),
// SY -->
padding = CbzCrypto.createComicInfoPadding()?.let { ComicInfo.PaddingTachiyomiSY(it) },
// SY <--
inker = null,
colorist = null,
letterer = null,
coverArtist = null,
tags = null,
)

View File

@ -0,0 +1,22 @@
package eu.kanade.domain.manga.model
import eu.kanade.tachiyomi.source.PagePreviewInfo
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.asStateFlow
import kotlinx.serialization.Serializable
import kotlinx.serialization.Transient
@Serializable
data class PagePreview(
val index: Int,
val imageUrl: String,
val source: Long,
) {
@Transient
private val _progress: MutableStateFlow<Int> = MutableStateFlow(-1)
@Transient
val progress = _progress.asStateFlow()
fun getPagePreviewInfo() = PagePreviewInfo(index, imageUrl, _progress)
}

View File

@ -0,0 +1,23 @@
package eu.kanade.domain.source.interactor
import eu.kanade.domain.source.service.SourcePreferences
import tachiyomi.core.common.preference.plusAssign
class CreateSourceCategory(private val preferences: SourcePreferences) {
fun await(category: String): Result {
if (category.contains("|")) {
return Result.InvalidName
}
// Create category.
preferences.sourcesTabCategories() += category
return Result.Success
}
sealed class Result {
data object InvalidName : Result()
data object Success : Result()
}
}

View File

@ -0,0 +1,15 @@
package eu.kanade.domain.source.interactor
import eu.kanade.domain.source.service.SourcePreferences
import tachiyomi.core.common.preference.getAndSet
import tachiyomi.core.common.preference.minusAssign
class DeleteSourceCategory(private val preferences: SourcePreferences) {
fun await(category: String) {
preferences.sourcesTabSourcesInCategories().getAndSet { sourcesInCategories ->
sourcesInCategories.filterNot { it.substringAfter("|") == category }.toSet()
}
preferences.sourcesTabCategories() -= category
}
}

View File

@ -0,0 +1,83 @@
package eu.kanade.domain.source.interactor
import eu.kanade.domain.source.service.SourcePreferences
import exh.source.BlacklistedSources
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.combine
import kotlinx.coroutines.flow.distinctUntilChanged
import tachiyomi.domain.source.model.Pin
import tachiyomi.domain.source.model.Pins
import tachiyomi.domain.source.model.Source
import tachiyomi.domain.source.repository.SourceRepository
import tachiyomi.source.local.isLocal
class GetEnabledSources(
private val repository: SourceRepository,
private val preferences: SourcePreferences,
) {
fun subscribe(): Flow<List<Source>> {
return combine(
preferences.pinnedSources().changes(),
combine(
preferences.enabledLanguages().changes(),
preferences.disabledSources().changes(),
preferences.lastUsedSource().changes(),
) { a, b, c -> Triple(a, b, c) },
// SY -->
combine(
preferences.dataSaverExcludedSources().changes(),
preferences.sourcesTabSourcesInCategories().changes(),
preferences.sourcesTabCategoriesFilter().changes(),
) { a, b, c -> Triple(a, b, c) },
// SY <--
repository.getSources(),
) {
pinnedSourceIds,
(enabledLanguages, disabledSources, lastUsedSource),
(excludedFromDataSaver, sourcesInCategories, sourceCategoriesFilter),
sources,
->
val sourcesAndCategories = sourcesInCategories.map {
it.split('|').let { (source, test) -> source.toLong() to test }
}
val sourcesInSourceCategories = sourcesAndCategories.map { it.first }
sources
.filter { it.lang in enabledLanguages || it.isLocal() }
.filterNot { it.id.toString() in disabledSources || it.id in BlacklistedSources.HIDDEN_SOURCES }
.sortedWith(compareBy(String.CASE_INSENSITIVE_ORDER) { it.name })
.flatMap {
val flag = if ("${it.id}" in pinnedSourceIds) Pins.pinned else Pins.unpinned
// SY -->
val categories = sourcesAndCategories.filter { (id) -> id == it.id }
.map(Pair<*, String>::second)
.toSet()
// SY <--
val source = it.copy(
pin = flag,
isExcludedFromDataSaver = it.id.toString() in excludedFromDataSaver,
categories = categories,
)
val toFlatten = mutableListOf(source)
if (source.id == lastUsedSource) {
toFlatten.add(source.copy(isUsedLast = true, pin = source.pin - Pin.Actual))
}
// SY -->
categories.forEach { category ->
toFlatten.add(source.copy(category = category, pin = source.pin - Pin.Actual))
}
if (
sourceCategoriesFilter &&
Pin.Actual !in toFlatten[0].pin &&
source.id in sourcesInSourceCategories
) {
toFlatten.removeAt(0)
}
// SY <--
toFlatten
}
}
.distinctUntilChanged()
}
}

View File

@ -0,0 +1,73 @@
package eu.kanade.domain.source.interactor
import eu.kanade.tachiyomi.source.model.FilterList
import exh.log.xLogE
import exh.util.nullIfBlank
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.flowOn
import kotlinx.coroutines.flow.map
import kotlinx.serialization.decodeFromString
import kotlinx.serialization.json.Json
import kotlinx.serialization.json.JsonArray
import tachiyomi.core.common.util.lang.withIOContext
import tachiyomi.domain.source.interactor.GetSavedSearchById
import tachiyomi.domain.source.interactor.GetSavedSearchBySourceId
import tachiyomi.domain.source.model.EXHSavedSearch
import tachiyomi.domain.source.model.SavedSearch
import xyz.nulldev.ts.api.http.serializer.FilterSerializer
class GetExhSavedSearch(
private val getSavedSearchById: GetSavedSearchById,
private val getSavedSearchBySourceId: GetSavedSearchBySourceId,
private val filterSerializer: FilterSerializer,
) {
suspend fun awaitOne(savedSearchId: Long, getFilterList: () -> FilterList): EXHSavedSearch? {
val search = getSavedSearchById.awaitOrNull(savedSearchId) ?: return null
return withIOContext { loadSearch(search, getFilterList) }
}
suspend fun await(sourceId: Long, getFilterList: () -> FilterList): List<EXHSavedSearch> {
return withIOContext { loadSearches(getSavedSearchBySourceId.await(sourceId), getFilterList) }
}
fun subscribe(sourceId: Long, getFilterList: () -> FilterList): Flow<List<EXHSavedSearch>> {
return getSavedSearchBySourceId.subscribe(sourceId)
.map { loadSearches(it, getFilterList) }
.flowOn(Dispatchers.IO)
}
private fun loadSearches(searches: List<SavedSearch>, getFilterList: () -> FilterList): List<EXHSavedSearch> {
return searches.map { loadSearch(it, getFilterList) }
}
private fun loadSearch(search: SavedSearch, getFilterList: () -> FilterList): EXHSavedSearch {
val filters = getFilters(search.filtersJson)
return EXHSavedSearch(
id = search.id,
name = search.name,
query = search.query?.nullIfBlank(),
filterList = filters?.let { deserializeFilters(it, getFilterList) },
)
}
private fun getFilters(filtersJson: String?): JsonArray? {
return runCatching {
filtersJson?.let { Json.decodeFromString<JsonArray>(it) }
}.onFailure {
xLogE("Failed to load saved search!", it)
}.getOrNull()
}
private fun deserializeFilters(filters: JsonArray, getFilterList: () -> FilterList): FilterList? {
return runCatching {
val originalFilters = getFilterList()
filterSerializer.deserialize(originalFilters, filters)
originalFilters
}.onFailure {
xLogE("Failed to load saved search!", it)
}.getOrNull()
}
}

View File

@ -0,0 +1,35 @@
package eu.kanade.domain.source.interactor
import eu.kanade.domain.base.BasePreferences
import eu.kanade.domain.source.service.SourcePreferences
import eu.kanade.tachiyomi.extension.ExtensionManager
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.combine
import kotlinx.coroutines.flow.distinctUntilChanged
class GetIncognitoState(
private val basePreferences: BasePreferences,
private val sourcePreferences: SourcePreferences,
private val extensionManager: ExtensionManager,
) {
fun await(sourceId: Long?): Boolean {
if (basePreferences.incognitoMode().get()) return true
if (sourceId == null) return false
val extensionPackage = extensionManager.getExtensionPackage(sourceId) ?: return false
return extensionPackage in sourcePreferences.incognitoExtensions().get()
}
fun subscribe(sourceId: Long?): Flow<Boolean> {
if (sourceId == null) return basePreferences.incognitoMode().changes()
return combine(
basePreferences.incognitoMode().changes(),
sourcePreferences.incognitoExtensions().changes(),
extensionManager.getExtensionPackageAsFlow(sourceId),
) { incognito, incognitoExtensions, extensionPackage ->
incognito || (extensionPackage in incognitoExtensions)
}
.distinctUntilChanged()
}
}

View File

@ -0,0 +1,35 @@
package eu.kanade.domain.source.interactor
import eu.kanade.domain.source.service.SourcePreferences
import eu.kanade.tachiyomi.util.system.LocaleHelper
import exh.source.BlacklistedSources
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.combine
import tachiyomi.domain.source.model.Source
import tachiyomi.domain.source.repository.SourceRepository
import java.util.SortedMap
class GetLanguagesWithSources(
private val repository: SourceRepository,
private val preferences: SourcePreferences,
) {
fun subscribe(): Flow<SortedMap<String, List<Source>>> {
return combine(
preferences.enabledLanguages().changes(),
preferences.disabledSources().changes(),
repository.getOnlineSources(),
) { enabledLanguage, disabledSource, onlineSources ->
val sortedSources = onlineSources.filterNot { it.id in BlacklistedSources.HIDDEN_SOURCES }.sortedWith(
compareBy<Source> { it.id.toString() in disabledSource }
.thenBy(String.CASE_INSENSITIVE_ORDER) { it.name },
)
sortedSources
.groupBy { it.lang }
.toSortedMap(
compareBy<String> { it !in enabledLanguage }.then(LocaleHelper.comparator),
)
}
}
}

View File

@ -0,0 +1,17 @@
package eu.kanade.domain.source.interactor
import eu.kanade.domain.ui.UiPreferences
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.map
class GetShowLatest(
private val preferences: UiPreferences,
) {
fun subscribe(hasSmartSearchConfig: Boolean): Flow<Boolean> {
return preferences.useNewSourceNavigation().changes()
.map {
!hasSmartSearchConfig && !it
}
}
}

View File

@ -0,0 +1,14 @@
package eu.kanade.domain.source.interactor
import eu.kanade.domain.source.service.SourcePreferences
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.map
class GetSourceCategories(
private val preferences: SourcePreferences,
) {
fun subscribe(): Flow<List<String>> {
return preferences.sourcesTabCategories().changes().map { it.sortedWith(String.CASE_INSENSITIVE_ORDER) }
}
}

View File

@ -0,0 +1,57 @@
package eu.kanade.domain.source.interactor
import eu.kanade.domain.source.service.SourcePreferences
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.combine
import tachiyomi.core.common.util.lang.compareToWithCollator
import tachiyomi.domain.source.model.Source
import tachiyomi.domain.source.repository.SourceRepository
import tachiyomi.source.local.isLocal
import java.util.Collections
class GetSourcesWithFavoriteCount(
private val repository: SourceRepository,
private val preferences: SourcePreferences,
) {
fun subscribe(): Flow<List<Pair<Source, Long>>> {
return combine(
preferences.migrationSortingDirection().changes(),
preferences.migrationSortingMode().changes(),
repository.getSourcesWithFavoriteCount(),
) { direction, mode, list ->
list
.filterNot { it.first.isLocal() }
.sortedWith(sortFn(direction, mode))
}
}
private fun sortFn(
direction: SetMigrateSorting.Direction,
sorting: SetMigrateSorting.Mode,
): java.util.Comparator<Pair<Source, Long>> {
val sortFn: (Pair<Source, Long>, Pair<Source, Long>) -> Int = { a, b ->
when (sorting) {
SetMigrateSorting.Mode.ALPHABETICAL -> {
when {
a.first.isStub && !b.first.isStub -> -1
b.first.isStub && !a.first.isStub -> 1
else -> a.first.name.lowercase().compareToWithCollator(b.first.name.lowercase())
}
}
SetMigrateSorting.Mode.TOTAL -> {
when {
a.first.isStub && !b.first.isStub -> -1
b.first.isStub && !a.first.isStub -> 1
else -> a.second.compareTo(b.second)
}
}
}
}
return when (direction) {
SetMigrateSorting.Direction.ASCENDING -> Comparator(sortFn)
SetMigrateSorting.Direction.DESCENDING -> Collections.reverseOrder(sortFn)
}
}
}

View File

@ -0,0 +1,33 @@
package eu.kanade.domain.source.interactor
import eu.kanade.domain.source.service.SourcePreferences
import tachiyomi.core.common.preference.getAndSet
class RenameSourceCategory(
private val preferences: SourcePreferences,
private val createSourceCategory: CreateSourceCategory,
) {
fun await(categoryOld: String, categoryNew: String): CreateSourceCategory.Result {
when (val result = createSourceCategory.await(categoryNew)) {
CreateSourceCategory.Result.InvalidName -> return result
CreateSourceCategory.Result.Success -> {}
}
preferences.sourcesTabSourcesInCategories().getAndSet { sourcesInCategories ->
sourcesInCategories.map {
val index = it.indexOf('|')
if (index != -1 && it.substring(index + 1) == categoryOld) {
it.substring(0, index + 1) + categoryNew
} else {
it
}
}.toSet()
}
preferences.sourcesTabCategories().getAndSet {
it.minus(categoryOld).plus(categoryNew)
}
return CreateSourceCategory.Result.Success
}
}

View File

@ -0,0 +1,23 @@
package eu.kanade.domain.source.interactor
import eu.kanade.domain.source.service.SourcePreferences
class SetMigrateSorting(
private val preferences: SourcePreferences,
) {
fun await(mode: Mode, direction: Direction) {
preferences.migrationSortingMode().set(mode)
preferences.migrationSortingDirection().set(direction)
}
enum class Mode {
ALPHABETICAL,
TOTAL,
}
enum class Direction {
ASCENDING,
DESCENDING,
}
}

View File

@ -0,0 +1,23 @@
package eu.kanade.domain.source.interactor
import eu.kanade.domain.source.service.SourcePreferences
import tachiyomi.core.common.preference.getAndSet
import tachiyomi.domain.source.model.Source
class SetSourceCategories(
private val preferences: SourcePreferences,
) {
fun await(source: Source, sourceCategories: List<String>) {
val sourceIdString = source.id.toString()
preferences.sourcesTabSourcesInCategories().getAndSet { sourcesInCategories ->
val currentSourceCategories = sourcesInCategories.filterNot {
it.substringBefore('|') == sourceIdString
}
val newSourceCategories = currentSourceCategories + sourceCategories.map {
"$sourceIdString|$it"
}
newSourceCategories.toSet()
}
}
}

View File

@ -0,0 +1,20 @@
package eu.kanade.domain.source.interactor
import eu.kanade.domain.source.service.SourcePreferences
import tachiyomi.core.common.preference.getAndSet
import tachiyomi.domain.source.model.Source
class ToggleExcludeFromDataSaver(
private val preferences: SourcePreferences,
) {
fun await(source: Source) {
preferences.dataSaverExcludedSources().getAndSet {
if (source.id.toString() in it) {
it - source.id.toString()
} else {
it + source.id.toString()
}
}
}
}

View File

@ -0,0 +1,14 @@
package eu.kanade.domain.source.interactor
import eu.kanade.domain.source.service.SourcePreferences
import tachiyomi.core.common.preference.getAndSet
class ToggleIncognito(
private val preferences: SourcePreferences,
) {
fun await(extensions: String, enable: Boolean) {
preferences.incognitoExtensions().getAndSet {
if (enable) it.plus(extensions) else it.minus(extensions)
}
}
}

View File

@ -0,0 +1,16 @@
package eu.kanade.domain.source.interactor
import eu.kanade.domain.source.service.SourcePreferences
import tachiyomi.core.common.preference.getAndSet
class ToggleLanguage(
val preferences: SourcePreferences,
) {
fun await(language: String) {
val isEnabled = language in preferences.enabledLanguages().get()
preferences.enabledLanguages().getAndSet { enabled ->
if (isEnabled) enabled.minus(language) else enabled.plus(language)
}
}
}

View File

@ -0,0 +1,31 @@
package eu.kanade.domain.source.interactor
import eu.kanade.domain.source.service.SourcePreferences
import tachiyomi.core.common.preference.getAndSet
import tachiyomi.domain.source.model.Source
class ToggleSource(
private val preferences: SourcePreferences,
) {
fun await(source: Source, enable: Boolean = isEnabled(source.id)) {
await(source.id, enable)
}
fun await(sourceId: Long, enable: Boolean = isEnabled(sourceId)) {
preferences.disabledSources().getAndSet { disabled ->
if (enable) disabled.minus("$sourceId") else disabled.plus("$sourceId")
}
}
fun await(sourceIds: List<Long>, enable: Boolean) {
val transformedSourceIds = sourceIds.map { it.toString() }
preferences.disabledSources().getAndSet { disabled ->
if (enable) disabled.minus(transformedSourceIds) else disabled.plus(transformedSourceIds)
}
}
private fun isEnabled(sourceId: Long): Boolean {
return sourceId.toString() in preferences.disabledSources().get()
}
}

View File

@ -0,0 +1,17 @@
package eu.kanade.domain.source.interactor
import eu.kanade.domain.source.service.SourcePreferences
import tachiyomi.core.common.preference.getAndSet
import tachiyomi.domain.source.model.Source
class ToggleSourcePin(
private val preferences: SourcePreferences,
) {
fun await(source: Source) {
val isPinned = source.id.toString() in preferences.pinnedSources().get()
preferences.pinnedSources().getAndSet { pinned ->
if (isPinned) pinned.minus("${source.id}") else pinned.plus("${source.id}")
}
}
}

View File

@ -0,0 +1,16 @@
package eu.kanade.domain.source.model
import androidx.compose.ui.graphics.ImageBitmap
import androidx.compose.ui.graphics.asImageBitmap
import androidx.core.graphics.drawable.toBitmap
import eu.kanade.tachiyomi.extension.ExtensionManager
import tachiyomi.domain.source.model.Source
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
val Source.icon: ImageBitmap?
get() {
return Injekt.get<ExtensionManager>().getAppIconForSource(id)
?.toBitmap()
?.asImageBitmap()
}

View File

@ -0,0 +1,119 @@
package eu.kanade.domain.source.service
import eu.kanade.domain.source.interactor.SetMigrateSorting
import eu.kanade.tachiyomi.util.system.LocaleHelper
import tachiyomi.core.common.preference.Preference
import tachiyomi.core.common.preference.PreferenceStore
import tachiyomi.core.common.preference.getEnum
import tachiyomi.domain.library.model.LibraryDisplayMode
class SourcePreferences(
private val preferenceStore: PreferenceStore,
) {
fun sourceDisplayMode() = preferenceStore.getObject(
"pref_display_mode_catalogue",
LibraryDisplayMode.default,
LibraryDisplayMode.Serializer::serialize,
LibraryDisplayMode.Serializer::deserialize,
)
fun enabledLanguages() = preferenceStore.getStringSet("source_languages", LocaleHelper.getDefaultEnabledLanguages())
fun disabledSources() = preferenceStore.getStringSet("hidden_catalogues", emptySet())
fun incognitoExtensions() = preferenceStore.getStringSet("incognito_extensions", emptySet())
fun pinnedSources() = preferenceStore.getStringSet("pinned_catalogues", emptySet())
fun lastUsedSource() = preferenceStore.getLong(
Preference.appStateKey("last_catalogue_source"),
-1,
)
fun showNsfwSource() = preferenceStore.getBoolean("show_nsfw_source", true)
fun migrationSortingMode() = preferenceStore.getEnum("pref_migration_sorting", SetMigrateSorting.Mode.ALPHABETICAL)
fun migrationSortingDirection() = preferenceStore.getEnum(
"pref_migration_direction",
SetMigrateSorting.Direction.ASCENDING,
)
fun hideInLibraryItems() = preferenceStore.getBoolean("browse_hide_in_library_items", false)
fun extensionRepos() = preferenceStore.getStringSet("extension_repos", emptySet())
fun extensionUpdatesCount() = preferenceStore.getInt("ext_updates_count", 0)
fun trustedExtensions() = preferenceStore.getStringSet(
Preference.appStateKey("trusted_extensions"),
emptySet(),
)
fun globalSearchFilterState() = preferenceStore.getBoolean(
Preference.appStateKey("has_filters_toggle_state"),
false,
)
// SY -->
fun enableSourceBlacklist() = preferenceStore.getBoolean("eh_enable_source_blacklist", true)
fun sourcesTabCategories() = preferenceStore.getStringSet("sources_tab_categories", mutableSetOf())
fun sourcesTabCategoriesFilter() = preferenceStore.getBoolean("sources_tab_categories_filter", false)
fun sourcesTabSourcesInCategories() = preferenceStore.getStringSet("sources_tab_source_categories", mutableSetOf())
fun dataSaver() = preferenceStore.getEnum("data_saver", DataSaver.NONE)
fun dataSaverIgnoreJpeg() = preferenceStore.getBoolean("ignore_jpeg", false)
fun dataSaverIgnoreGif() = preferenceStore.getBoolean("ignore_gif", true)
fun dataSaverImageQuality() = preferenceStore.getInt("data_saver_image_quality", 80)
fun dataSaverImageFormatJpeg() = preferenceStore.getBoolean("data_saver_image_format_jpeg", false)
fun dataSaverServer() = preferenceStore.getString("data_saver_server", "")
fun dataSaverColorBW() = preferenceStore.getBoolean("data_saver_color_bw", false)
fun dataSaverExcludedSources() = preferenceStore.getStringSet("data_saver_excluded", emptySet())
fun dataSaverDownloader() = preferenceStore.getBoolean("data_saver_downloader", true)
enum class DataSaver {
NONE,
BANDWIDTH_HERO,
WSRV_NL,
}
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(Preference.appStateKey("skip_pre_migration"), false)
fun hideNotFoundMigration() = preferenceStore.getBoolean("hide_not_found_migration", false)
fun showOnlyUpdatesMigration() = preferenceStore.getBoolean("show_only_updates_migration", false)
fun allowLocalSourceHiddenFolders() = preferenceStore.getBoolean("allow_local_source_hidden_folders", false)
fun preferredMangaDexId() = preferenceStore.getString("preferred_mangaDex_id", "0")
fun mangadexSyncToLibraryIndexes() = preferenceStore.getStringSet(
"pref_mangadex_sync_to_library_indexes",
emptySet(),
)
fun recommendationSearchFlags() = preferenceStore.getInt("rec_search_flags", Int.MAX_VALUE)
// SY <--
}

View File

@ -0,0 +1,105 @@
package eu.kanade.domain.sync
import eu.kanade.domain.sync.models.SyncSettings
import eu.kanade.tachiyomi.data.sync.models.SyncTriggerOptions
import tachiyomi.core.common.preference.Preference
import tachiyomi.core.common.preference.PreferenceStore
import java.util.UUID
class SyncPreferences(
private val preferenceStore: PreferenceStore,
) {
fun clientHost() = preferenceStore.getString("sync_client_host", "https://sync.tachiyomi.org")
fun clientAPIKey() = preferenceStore.getString("sync_client_api_key", "")
fun lastSyncTimestamp() = preferenceStore.getLong(Preference.appStateKey("last_sync_timestamp"), 0L)
fun lastSyncEtag() = preferenceStore.getString("sync_etag", "")
fun syncInterval() = preferenceStore.getInt("sync_interval", 0)
fun syncService() = preferenceStore.getInt("sync_service", 0)
fun googleDriveAccessToken() = preferenceStore.getString(
Preference.appStateKey("google_drive_access_token"),
"",
)
fun googleDriveRefreshToken() = preferenceStore.getString(
Preference.appStateKey("google_drive_refresh_token"),
"",
)
fun uniqueDeviceID(): String {
val uniqueIDPreference = preferenceStore.getString(Preference.appStateKey("unique_device_id"), "")
// Retrieve the current value of the preference
var uniqueID = uniqueIDPreference.get()
if (uniqueID.isBlank()) {
uniqueID = UUID.randomUUID().toString()
uniqueIDPreference.set(uniqueID)
}
return uniqueID
}
fun isSyncEnabled(): Boolean {
return syncService().get() != 0
}
fun getSyncSettings(): SyncSettings {
return SyncSettings(
libraryEntries = preferenceStore.getBoolean("library_entries", true).get(),
categories = preferenceStore.getBoolean("categories", true).get(),
chapters = preferenceStore.getBoolean("chapters", true).get(),
tracking = preferenceStore.getBoolean("tracking", true).get(),
history = preferenceStore.getBoolean("history", true).get(),
appSettings = preferenceStore.getBoolean("appSettings", true).get(),
extensionRepoSettings = preferenceStore.getBoolean("extensionRepoSettings", true).get(),
sourceSettings = preferenceStore.getBoolean("sourceSettings", true).get(),
privateSettings = preferenceStore.getBoolean("privateSettings", true).get(),
// SY -->
customInfo = preferenceStore.getBoolean("customInfo", true).get(),
readEntries = preferenceStore.getBoolean("readEntries", true).get(),
savedSearches = preferenceStore.getBoolean("savedSearches", true).get(),
// SY <--
)
}
fun setSyncSettings(syncSettings: SyncSettings) {
preferenceStore.getBoolean("library_entries", true).set(syncSettings.libraryEntries)
preferenceStore.getBoolean("categories", true).set(syncSettings.categories)
preferenceStore.getBoolean("chapters", true).set(syncSettings.chapters)
preferenceStore.getBoolean("tracking", true).set(syncSettings.tracking)
preferenceStore.getBoolean("history", true).set(syncSettings.history)
preferenceStore.getBoolean("appSettings", true).set(syncSettings.appSettings)
preferenceStore.getBoolean("extensionRepoSettings", true).set(syncSettings.extensionRepoSettings)
preferenceStore.getBoolean("sourceSettings", true).set(syncSettings.sourceSettings)
preferenceStore.getBoolean("privateSettings", true).set(syncSettings.privateSettings)
// SY -->
preferenceStore.getBoolean("customInfo", true).set(syncSettings.customInfo)
preferenceStore.getBoolean("readEntries", true).set(syncSettings.readEntries)
preferenceStore.getBoolean("savedSearches", true).set(syncSettings.savedSearches)
// SY <--
}
fun getSyncTriggerOptions(): SyncTriggerOptions {
return SyncTriggerOptions(
syncOnChapterRead = preferenceStore.getBoolean("sync_on_chapter_read", false).get(),
syncOnChapterOpen = preferenceStore.getBoolean("sync_on_chapter_open", false).get(),
syncOnAppStart = preferenceStore.getBoolean("sync_on_app_start", false).get(),
syncOnAppResume = preferenceStore.getBoolean("sync_on_app_resume", false).get(),
)
}
fun setSyncTriggerOptions(syncTriggerOptions: SyncTriggerOptions) {
preferenceStore.getBoolean("sync_on_chapter_read", false)
.set(syncTriggerOptions.syncOnChapterRead)
preferenceStore.getBoolean("sync_on_chapter_open", false)
.set(syncTriggerOptions.syncOnChapterOpen)
preferenceStore.getBoolean("sync_on_app_start", false)
.set(syncTriggerOptions.syncOnAppStart)
preferenceStore.getBoolean("sync_on_app_resume", false)
.set(syncTriggerOptions.syncOnAppResume)
}
}

View File

@ -0,0 +1,19 @@
package eu.kanade.domain.sync.models
data class SyncSettings(
val libraryEntries: Boolean = true,
val categories: Boolean = true,
val chapters: Boolean = true,
val tracking: Boolean = true,
val history: Boolean = true,
val appSettings: Boolean = true,
val extensionRepoSettings: Boolean = true,
val sourceSettings: Boolean = true,
val privateSettings: Boolean = false,
// SY -->
val customInfo: Boolean = true,
val readEntries: Boolean = true,
val savedSearches: Boolean = true,
// SY <--
)

View File

@ -0,0 +1,107 @@
package eu.kanade.domain.track.interactor
import eu.kanade.domain.track.model.toDbTrack
import eu.kanade.domain.track.model.toDomainTrack
import eu.kanade.tachiyomi.data.database.models.Track
import eu.kanade.tachiyomi.data.track.EnhancedTracker
import eu.kanade.tachiyomi.data.track.Tracker
import eu.kanade.tachiyomi.data.track.TrackerManager
import eu.kanade.tachiyomi.source.Source
import eu.kanade.tachiyomi.util.lang.convertEpochMillisZone
import logcat.LogPriority
import tachiyomi.core.common.util.lang.withIOContext
import tachiyomi.core.common.util.lang.withNonCancellableContext
import tachiyomi.core.common.util.system.logcat
import tachiyomi.domain.chapter.interactor.GetChaptersByMangaId
import tachiyomi.domain.history.interactor.GetHistory
import tachiyomi.domain.manga.model.Manga
import tachiyomi.domain.track.interactor.InsertTrack
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import java.time.ZoneOffset
class AddTracks(
private val insertTrack: InsertTrack,
private val syncChapterProgressWithTrack: SyncChapterProgressWithTrack,
private val getChaptersByMangaId: GetChaptersByMangaId,
private val trackerManager: TrackerManager,
) {
// TODO: update all trackers based on common data
suspend fun bind(tracker: Tracker, item: Track, mangaId: Long) = withNonCancellableContext {
withIOContext {
val allChapters = getChaptersByMangaId.await(mangaId)
val hasReadChapters = allChapters.any { it.read }
tracker.bind(item, hasReadChapters)
var track = item.toDomainTrack(idRequired = false) ?: return@withIOContext
insertTrack.await(track)
// TODO: merge into [SyncChapterProgressWithTrack]?
// Update chapter progress if newer chapters marked read locally
if (hasReadChapters) {
val latestLocalReadChapterNumber = allChapters
.sortedBy { it.chapterNumber }
.takeWhile { it.read }
.lastOrNull()
?.chapterNumber ?: -1.0
if (latestLocalReadChapterNumber > track.lastChapterRead) {
track = track.copy(
lastChapterRead = latestLocalReadChapterNumber,
)
tracker.setRemoteLastChapterRead(track.toDbTrack(), latestLocalReadChapterNumber.toInt())
}
if (track.startDate <= 0) {
val firstReadChapterDate = Injekt.get<GetHistory>().await(mangaId)
.sortedBy { it.readAt }
.firstOrNull()
?.readAt
firstReadChapterDate?.let {
val startDate = firstReadChapterDate.time.convertEpochMillisZone(
ZoneOffset.systemDefault(),
ZoneOffset.UTC,
)
track = track.copy(
startDate = startDate,
)
tracker.setRemoteStartDate(track.toDbTrack(), startDate)
}
}
}
syncChapterProgressWithTrack.await(mangaId, track, tracker)
}
}
suspend fun bindEnhancedTrackers(manga: Manga, source: Source) = withNonCancellableContext {
withIOContext {
trackerManager.loggedInTrackers()
.filterIsInstance<EnhancedTracker>()
.filter { it.accept(source) }
.forEach { service ->
try {
service.match(manga)?.let { track ->
track.manga_id = manga.id
(service as Tracker).bind(track)
insertTrack.await(track.toDomainTrack(idRequired = false)!!)
syncChapterProgressWithTrack.await(
manga.id,
track.toDomainTrack(idRequired = false)!!,
service,
)
}
} catch (e: Exception) {
logcat(
LogPriority.WARN,
e,
) { "Could not match manga: ${manga.title} with service $service" }
}
}
}
}
}

View File

@ -0,0 +1,46 @@
package eu.kanade.domain.track.interactor
import eu.kanade.domain.track.model.toDbTrack
import eu.kanade.domain.track.model.toDomainTrack
import eu.kanade.tachiyomi.data.track.Tracker
import eu.kanade.tachiyomi.data.track.TrackerManager
import kotlinx.coroutines.async
import kotlinx.coroutines.awaitAll
import kotlinx.coroutines.supervisorScope
import tachiyomi.domain.track.interactor.GetTracks
import tachiyomi.domain.track.interactor.InsertTrack
class RefreshTracks(
private val getTracks: GetTracks,
private val trackerManager: TrackerManager,
private val insertTrack: InsertTrack,
private val syncChapterProgressWithTrack: SyncChapterProgressWithTrack,
) {
/**
* Fetches updated tracking data from all logged in trackers.
*
* @return Failed updates.
*/
suspend fun await(mangaId: Long): List<Pair<Tracker?, Throwable>> {
return supervisorScope {
return@supervisorScope getTracks.await(mangaId)
.map { it to trackerManager.get(it.trackerId) }
.filter { (_, service) -> service?.isLoggedIn == true }
.map { (track, service) ->
async {
return@async try {
val updatedTrack = service!!.refresh(track.toDbTrack()).toDomainTrack()!!
insertTrack.await(updatedTrack)
syncChapterProgressWithTrack.await(mangaId, updatedTrack, service)
null
} catch (e: Throwable) {
service to e
}
}
}
.awaitAll()
.filterNotNull()
}
}
}

View File

@ -0,0 +1,51 @@
package eu.kanade.domain.track.interactor
import eu.kanade.domain.track.model.toDbTrack
import eu.kanade.tachiyomi.data.track.EnhancedTracker
import eu.kanade.tachiyomi.data.track.Tracker
import logcat.LogPriority
import tachiyomi.core.common.util.system.logcat
import tachiyomi.domain.chapter.interactor.GetChaptersByMangaId
import tachiyomi.domain.chapter.interactor.UpdateChapter
import tachiyomi.domain.chapter.model.toChapterUpdate
import tachiyomi.domain.track.interactor.InsertTrack
import tachiyomi.domain.track.model.Track
import kotlin.math.max
class SyncChapterProgressWithTrack(
private val updateChapter: UpdateChapter,
private val insertTrack: InsertTrack,
private val getChaptersByMangaId: GetChaptersByMangaId,
) {
suspend fun await(
mangaId: Long,
remoteTrack: Track,
tracker: Tracker,
) {
if (tracker !is EnhancedTracker) {
return
}
val sortedChapters = getChaptersByMangaId.await(mangaId)
.sortedBy { it.chapterNumber }
.filter { it.isRecognizedNumber }
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 lastRead = max(remoteTrack.lastChapterRead, localLastRead.toDouble())
val updatedTrack = remoteTrack.copy(lastChapterRead = lastRead)
try {
tracker.update(updatedTrack.toDbTrack())
updateChapter.awaitAll(chapterUpdates)
insertTrack.await(updatedTrack)
} catch (e: Throwable) {
logcat(LogPriority.WARN, e)
}
}
}

View File

@ -0,0 +1,66 @@
package eu.kanade.domain.track.interactor
import android.content.Context
import eu.kanade.domain.track.model.toDbTrack
import eu.kanade.domain.track.model.toDomainTrack
import eu.kanade.domain.track.service.DelayedTrackingUpdateJob
import eu.kanade.domain.track.store.DelayedTrackingStore
import eu.kanade.tachiyomi.data.track.TrackerManager
import eu.kanade.tachiyomi.data.track.mdlist.MdList
import exh.md.utils.FollowStatus
import kotlinx.coroutines.async
import kotlinx.coroutines.awaitAll
import logcat.LogPriority
import tachiyomi.core.common.util.lang.withNonCancellableContext
import tachiyomi.core.common.util.system.logcat
import tachiyomi.domain.track.interactor.GetTracks
import tachiyomi.domain.track.interactor.InsertTrack
class TrackChapter(
private val getTracks: GetTracks,
private val trackerManager: TrackerManager,
private val insertTrack: InsertTrack,
private val delayedTrackingStore: DelayedTrackingStore,
) {
suspend fun await(context: Context, mangaId: Long, chapterNumber: Double, setupJobOnFailure: Boolean = true) {
withNonCancellableContext {
val tracks = getTracks.await(mangaId)
if (tracks.isEmpty()) return@withNonCancellableContext
tracks.mapNotNull { track ->
val service = trackerManager.get(track.trackerId)
if (
service == null ||
!service.isLoggedIn ||
chapterNumber <= track.lastChapterRead /* SY --> */ ||
(service is MdList && track.status == FollowStatus.UNFOLLOWED.long)/* SY <-- */
) {
return@mapNotNull null
}
async {
runCatching {
try {
val updatedTrack = service.refresh(track.toDbTrack())
.toDomainTrack(idRequired = true)!!
.copy(lastChapterRead = chapterNumber)
service.update(updatedTrack.toDbTrack(), true)
insertTrack.await(updatedTrack)
delayedTrackingStore.remove(track.id)
} catch (e: Exception) {
delayedTrackingStore.add(track.id, chapterNumber)
if (setupJobOnFailure) {
DelayedTrackingUpdateJob.setupTask(context)
}
throw e
}
}
}
}
.awaitAll()
.mapNotNull { it.exceptionOrNull() }
.forEach { logcat(LogPriority.WARN, it) }
}
}
}

View File

@ -0,0 +1,10 @@
package eu.kanade.domain.track.model
import dev.icerock.moko.resources.StringResource
import tachiyomi.i18n.MR
enum class AutoTrackState(val titleRes: StringResource) {
ALWAYS(MR.strings.lock_always),
ASK(MR.strings.default_category_summary),
NEVER(MR.strings.lock_never),
}

View File

@ -0,0 +1,51 @@
package eu.kanade.domain.track.model
import tachiyomi.domain.track.model.Track
import eu.kanade.tachiyomi.data.database.models.Track as DbTrack
fun Track.copyPersonalFrom(other: Track): Track {
return this.copy(
lastChapterRead = other.lastChapterRead,
score = other.score,
status = other.status,
startDate = other.startDate,
finishDate = other.finishDate,
private = other.private,
)
}
fun Track.toDbTrack(): DbTrack = DbTrack.create(trackerId).also {
it.id = id
it.manga_id = mangaId
it.remote_id = remoteId
it.library_id = libraryId
it.title = title
it.last_chapter_read = lastChapterRead
it.total_chapters = totalChapters
it.status = status
it.score = score
it.tracking_url = remoteUrl
it.started_reading_date = startDate
it.finished_reading_date = finishDate
it.private = private
}
fun DbTrack.toDomainTrack(idRequired: Boolean = true): Track? {
val trackId = id ?: if (!idRequired) -1 else return null
return Track(
id = trackId,
mangaId = manga_id,
trackerId = tracker_id,
remoteId = remote_id,
libraryId = library_id,
title = title,
lastChapterRead = last_chapter_read,
totalChapters = total_chapters,
status = status,
score = score,
remoteUrl = tracking_url,
startDate = started_reading_date,
finishDate = finished_reading_date,
private = private,
)
}

View File

@ -0,0 +1,72 @@
package eu.kanade.domain.track.service
import android.content.Context
import androidx.work.BackoffPolicy
import androidx.work.Constraints
import androidx.work.CoroutineWorker
import androidx.work.ExistingWorkPolicy
import androidx.work.NetworkType
import androidx.work.OneTimeWorkRequestBuilder
import androidx.work.WorkerParameters
import eu.kanade.domain.track.interactor.TrackChapter
import eu.kanade.domain.track.store.DelayedTrackingStore
import eu.kanade.tachiyomi.util.system.workManager
import logcat.LogPriority
import tachiyomi.core.common.util.lang.withIOContext
import tachiyomi.core.common.util.system.logcat
import tachiyomi.domain.track.interactor.GetTracks
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import java.util.concurrent.TimeUnit
class DelayedTrackingUpdateJob(private val context: Context, workerParams: WorkerParameters) :
CoroutineWorker(context, workerParams) {
override suspend fun doWork(): Result {
if (runAttemptCount > 3) {
return Result.failure()
}
val getTracks = Injekt.get<GetTracks>()
val trackChapter = Injekt.get<TrackChapter>()
val delayedTrackingStore = Injekt.get<DelayedTrackingStore>()
withIOContext {
delayedTrackingStore.getItems()
.mapNotNull {
val track = getTracks.awaitOne(it.trackId)
if (track == null) {
delayedTrackingStore.remove(it.trackId)
}
track?.copy(lastChapterRead = it.lastChapterRead.toDouble())
}
.forEach { track ->
logcat(LogPriority.DEBUG) {
"Updating delayed track item: ${track.mangaId}, last chapter read: ${track.lastChapterRead}"
}
trackChapter.await(context, track.mangaId, track.lastChapterRead, setupJobOnFailure = false)
}
}
return if (delayedTrackingStore.getItems().isEmpty()) Result.success() else Result.retry()
}
companion object {
private const val TAG = "DelayedTrackingUpdate"
fun setupTask(context: Context) {
val constraints = Constraints(
requiredNetworkType = NetworkType.CONNECTED,
)
val request = OneTimeWorkRequestBuilder<DelayedTrackingUpdateJob>()
.setConstraints(constraints)
.setBackoffCriteria(BackoffPolicy.EXPONENTIAL, 5, TimeUnit.MINUTES)
.addTag(TAG)
.build()
context.workManager.enqueueUniqueWork(TAG, ExistingWorkPolicy.REPLACE, request)
}
}
}

View File

@ -0,0 +1,52 @@
package eu.kanade.domain.track.service
import eu.kanade.domain.track.model.AutoTrackState
import eu.kanade.tachiyomi.data.track.Tracker
import eu.kanade.tachiyomi.data.track.anilist.Anilist
import tachiyomi.core.common.preference.Preference
import tachiyomi.core.common.preference.PreferenceStore
import tachiyomi.core.common.preference.getEnum
class TrackPreferences(
private val preferenceStore: PreferenceStore,
) {
fun trackUsername(tracker: Tracker) = preferenceStore.getString(
Preference.privateKey("pref_mangasync_username_${tracker.id}"),
"",
)
fun trackPassword(tracker: Tracker) = preferenceStore.getString(
Preference.privateKey("pref_mangasync_password_${tracker.id}"),
"",
)
fun trackAuthExpired(tracker: Tracker) = preferenceStore.getBoolean(
Preference.privateKey("pref_tracker_auth_expired_${tracker.id}"),
false,
)
fun setCredentials(tracker: Tracker, username: String, password: String) {
trackUsername(tracker).set(username)
trackPassword(tracker).set(password)
trackAuthExpired(tracker).set(false)
}
fun trackToken(tracker: Tracker) = preferenceStore.getString(Preference.privateKey("track_token_${tracker.id}"), "")
fun anilistScoreType() = preferenceStore.getString("anilist_score_type", Anilist.POINT_10)
fun autoUpdateTrack() = preferenceStore.getBoolean("pref_auto_update_manga_sync_key", true)
fun autoUpdateTrackOnMarkRead() = preferenceStore.getEnum(
"pref_auto_update_manga_on_mark_read",
AutoTrackState.ALWAYS,
)
// SY -->
fun resolveUsingSourceMetadata() = preferenceStore.getBoolean(
"pref_resolve_using_source_metadata_key",
true,
)
// SY <--
}

View File

@ -0,0 +1,44 @@
package eu.kanade.domain.track.store
import android.content.Context
import androidx.core.content.edit
import logcat.LogPriority
import tachiyomi.core.common.util.system.logcat
class DelayedTrackingStore(context: Context) {
/**
* Preference file where queued tracking updates are stored.
*/
private val preferences = context.getSharedPreferences("tracking_queue", Context.MODE_PRIVATE)
fun add(trackId: Long, lastChapterRead: Double) {
val previousLastChapterRead = preferences.getFloat(trackId.toString(), 0f)
if (lastChapterRead > previousLastChapterRead) {
logcat(LogPriority.DEBUG) { "Queuing track item: $trackId, last chapter read: $lastChapterRead" }
preferences.edit {
putFloat(trackId.toString(), lastChapterRead.toFloat())
}
}
}
fun remove(trackId: Long) {
preferences.edit {
remove(trackId.toString())
}
}
fun getItems(): List<DelayedTrackingItem> {
return preferences.all.mapNotNull {
DelayedTrackingItem(
trackId = it.key.toLong(),
lastChapterRead = it.value.toString().toFloat(),
)
}
}
data class DelayedTrackingItem(
val trackId: Long,
val lastChapterRead: Float,
)
}

View File

@ -0,0 +1,75 @@
package eu.kanade.domain.ui
import android.os.Build
import eu.kanade.domain.ui.model.AppTheme
import eu.kanade.domain.ui.model.TabletUiMode
import eu.kanade.domain.ui.model.ThemeMode
import eu.kanade.tachiyomi.util.system.DeviceUtil
import eu.kanade.tachiyomi.util.system.isDynamicColorAvailable
import tachiyomi.core.common.preference.PreferenceStore
import tachiyomi.core.common.preference.getEnum
import java.time.format.DateTimeFormatter
import java.time.format.FormatStyle
import java.util.Locale
class UiPreferences(
private val preferenceStore: PreferenceStore,
) {
fun themeMode() = preferenceStore.getEnum(
"pref_theme_mode_key",
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
ThemeMode.SYSTEM
} else {
ThemeMode.LIGHT
},
)
fun appTheme() = preferenceStore.getEnum(
"pref_app_theme",
if (DeviceUtil.isDynamicColorAvailable) {
AppTheme.MONET
} else {
AppTheme.DEFAULT
},
)
fun themeDarkAmoled() = preferenceStore.getBoolean("pref_theme_dark_amoled_key", false)
fun relativeTime() = preferenceStore.getBoolean("relative_time_v2", true)
fun dateFormat() = preferenceStore.getString("app_date_format", "")
fun tabletUiMode() = preferenceStore.getEnum("tablet_ui_mode", TabletUiMode.AUTOMATIC)
// SY -->
fun expandFilters() = preferenceStore.getBoolean("eh_expand_filters", false)
fun hideFeedTab() = preferenceStore.getBoolean("hide_latest_tab", false)
fun feedTabInFront() = preferenceStore.getBoolean("latest_tab_position", false)
fun recommendsInOverflow() = preferenceStore.getBoolean("recommends_in_overflow", false)
fun mergeInOverflow() = preferenceStore.getBoolean("merge_in_overflow", true)
fun previewsRowCount() = preferenceStore.getInt("pref_previews_row_count", 4)
fun useNewSourceNavigation() = preferenceStore.getBoolean("use_new_source_navigation", true)
fun bottomBarLabels() = preferenceStore.getBoolean("pref_show_bottom_bar_labels", true)
fun showNavUpdates() = preferenceStore.getBoolean("pref_show_updates_button", true)
fun showNavHistory() = preferenceStore.getBoolean("pref_show_history_button", true)
// SY <--
companion object {
fun dateFormat(format: String): DateTimeFormatter = when (format) {
"" -> DateTimeFormatter.ofLocalizedDate(FormatStyle.SHORT)
else -> DateTimeFormatter.ofPattern(format, Locale.getDefault())
}
}
}

View File

@ -0,0 +1,29 @@
package eu.kanade.domain.ui.model
import dev.icerock.moko.resources.StringResource
import tachiyomi.i18n.MR
enum class AppTheme(val titleRes: StringResource?) {
DEFAULT(MR.strings.label_default),
MONET(MR.strings.theme_monet),
GREEN_APPLE(MR.strings.theme_greenapple),
LAVENDER(MR.strings.theme_lavender),
MIDNIGHT_DUSK(MR.strings.theme_midnightdusk),
NORD(MR.strings.theme_nord),
STRAWBERRY_DAIQUIRI(MR.strings.theme_strawberrydaiquiri),
TAKO(MR.strings.theme_tako),
TEALTURQUOISE(MR.strings.theme_tealturquoise),
TIDAL_WAVE(MR.strings.theme_tidalwave),
YINYANG(MR.strings.theme_yinyang),
YOTSUBA(MR.strings.theme_yotsuba),
MONOCHROME(MR.strings.theme_monochrome),
// Deprecated
DARK_BLUE(null),
HOT_PINK(null),
BLUE(null),
// SY -->
PURE_RED(null),
// SY <--
}

View File

@ -0,0 +1,11 @@
package eu.kanade.domain.ui.model
import dev.icerock.moko.resources.StringResource
import tachiyomi.i18n.MR
enum class TabletUiMode(val titleRes: StringResource) {
AUTOMATIC(MR.strings.automatic_background),
ALWAYS(MR.strings.lock_always),
LANDSCAPE(MR.strings.landscape),
NEVER(MR.strings.lock_never),
}

View File

@ -0,0 +1,19 @@
package eu.kanade.domain.ui.model
import androidx.appcompat.app.AppCompatDelegate
enum class ThemeMode {
LIGHT,
DARK,
SYSTEM,
}
fun setAppCompatDelegateThemeMode(themeMode: ThemeMode) {
AppCompatDelegate.setDefaultNightMode(
when (themeMode) {
ThemeMode.LIGHT -> AppCompatDelegate.MODE_NIGHT_NO
ThemeMode.DARK -> AppCompatDelegate.MODE_NIGHT_YES
ThemeMode.SYSTEM -> AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM
},
)
}

View File

@ -0,0 +1,200 @@
package eu.kanade.presentation.browse
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.lazy.grid.GridCells
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.automirrored.outlined.HelpOutline
import androidx.compose.material.icons.outlined.Public
import androidx.compose.material.icons.outlined.Refresh
import androidx.compose.material3.SnackbarDuration
import androidx.compose.material3.SnackbarHostState
import androidx.compose.material3.SnackbarResult
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalContext
import androidx.paging.LoadState
import androidx.paging.compose.LazyPagingItems
import eu.kanade.presentation.browse.components.BrowseSourceComfortableGrid
import eu.kanade.presentation.browse.components.BrowseSourceCompactGrid
import eu.kanade.presentation.browse.components.BrowseSourceEHentaiList
import eu.kanade.presentation.browse.components.BrowseSourceList
import eu.kanade.presentation.components.AppBar
import eu.kanade.presentation.util.formattedMessage
import eu.kanade.tachiyomi.source.Source
import exh.metadata.metadata.RaisedSearchMetadata
import exh.source.isEhBasedSource
import kotlinx.collections.immutable.persistentListOf
import kotlinx.collections.immutable.toImmutableList
import kotlinx.coroutines.flow.StateFlow
import tachiyomi.core.common.i18n.stringResource
import tachiyomi.domain.library.model.LibraryDisplayMode
import tachiyomi.domain.manga.model.Manga
import tachiyomi.domain.source.model.StubSource
import tachiyomi.i18n.MR
import tachiyomi.presentation.core.components.material.Scaffold
import tachiyomi.presentation.core.i18n.stringResource
import tachiyomi.presentation.core.screens.EmptyScreen
import tachiyomi.presentation.core.screens.EmptyScreenAction
import tachiyomi.presentation.core.screens.LoadingScreen
import tachiyomi.source.local.LocalSource
@Composable
fun BrowseSourceContent(
source: Source?,
mangaList: LazyPagingItems<StateFlow</* SY --> */Pair<Manga, RaisedSearchMetadata?>/* SY <-- */>>,
columns: GridCells,
// SY -->
ehentaiBrowseDisplayMode: Boolean,
// SY <--
displayMode: LibraryDisplayMode,
snackbarHostState: SnackbarHostState,
contentPadding: PaddingValues,
// SY -->
onWebViewClick: (() -> Unit)?,
onHelpClick: (() -> Unit)?,
onLocalSourceHelpClick: (() -> Unit)?,
// SY <--
onMangaClick: (Manga) -> Unit,
onMangaLongClick: (Manga) -> Unit,
) {
val context = LocalContext.current
val errorState = mangaList.loadState.refresh.takeIf { it is LoadState.Error }
?: mangaList.loadState.append.takeIf { it is LoadState.Error }
val getErrorMessage: (LoadState.Error) -> String = { state ->
with(context) { state.error.formattedMessage }
}
LaunchedEffect(errorState) {
if (mangaList.itemCount > 0 && errorState != null && errorState is LoadState.Error) {
val result = snackbarHostState.showSnackbar(
message = getErrorMessage(errorState),
actionLabel = context.stringResource(MR.strings.action_retry),
duration = SnackbarDuration.Indefinite,
)
when (result) {
SnackbarResult.Dismissed -> snackbarHostState.currentSnackbarData?.dismiss()
SnackbarResult.ActionPerformed -> mangaList.retry()
}
}
}
if (mangaList.itemCount == 0 && mangaList.loadState.refresh is LoadState.Loading) {
LoadingScreen(Modifier.padding(contentPadding))
return
}
if (mangaList.itemCount == 0) {
EmptyScreen(
modifier = Modifier.padding(contentPadding),
message = when (errorState) {
is LoadState.Error -> getErrorMessage(errorState)
else -> stringResource(MR.strings.no_results_found)
},
actions = if (source is LocalSource /* SY --> */ && onLocalSourceHelpClick != null /* SY <-- */) {
persistentListOf(
EmptyScreenAction(
stringRes = MR.strings.local_source_help_guide,
icon = Icons.AutoMirrored.Outlined.HelpOutline,
onClick = onLocalSourceHelpClick,
),
)
} else {
listOfNotNull(
EmptyScreenAction(
stringRes = MR.strings.action_retry,
icon = Icons.Outlined.Refresh,
onClick = mangaList::refresh,
),
// SY -->
if (onWebViewClick != null) {
EmptyScreenAction(
stringRes = MR.strings.action_open_in_web_view,
icon = Icons.Outlined.Public,
onClick = onWebViewClick,
)
} else {
null
},
if (onHelpClick != null) {
EmptyScreenAction(
stringRes = MR.strings.label_help,
icon = Icons.AutoMirrored.Outlined.HelpOutline,
onClick = onHelpClick,
)
} else {
null
},
// SY <--
).toImmutableList()
},
)
return
}
// SY -->
if (source?.isEhBasedSource() == true && ehentaiBrowseDisplayMode) {
BrowseSourceEHentaiList(
mangaList = mangaList,
contentPadding = contentPadding,
onMangaClick = onMangaClick,
onMangaLongClick = onMangaLongClick,
)
return
}
// SY <--
when (displayMode) {
LibraryDisplayMode.ComfortableGrid -> {
BrowseSourceComfortableGrid(
mangaList = mangaList,
columns = columns,
contentPadding = contentPadding,
onMangaClick = onMangaClick,
onMangaLongClick = onMangaLongClick,
)
}
LibraryDisplayMode.List -> {
BrowseSourceList(
mangaList = mangaList,
contentPadding = contentPadding,
onMangaClick = onMangaClick,
onMangaLongClick = onMangaLongClick,
)
}
LibraryDisplayMode.CompactGrid, LibraryDisplayMode.CoverOnlyGrid -> {
BrowseSourceCompactGrid(
mangaList = mangaList,
columns = columns,
contentPadding = contentPadding,
onMangaClick = onMangaClick,
onMangaLongClick = onMangaLongClick,
)
}
}
}
@Composable
internal fun MissingSourceScreen(
source: StubSource,
navigateUp: () -> Unit,
) {
Scaffold(
topBar = { scrollBehavior ->
AppBar(
title = source.name,
navigateUp = navigateUp,
scrollBehavior = scrollBehavior,
)
},
) { paddingValues ->
EmptyScreen(
message = stringResource(MR.strings.source_not_installed, source.toString()),
modifier = Modifier.padding(paddingValues),
)
}
}

View File

@ -0,0 +1,31 @@
package eu.kanade.presentation.browse
import androidx.compose.material3.SnackbarHost
import androidx.compose.material3.SnackbarHostState
import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
import eu.kanade.presentation.components.AppBar
import eu.kanade.presentation.components.AppBarActions
import eu.kanade.presentation.components.TabContent
import tachiyomi.presentation.core.components.material.Scaffold
import tachiyomi.presentation.core.i18n.stringResource
@Composable
fun BrowseTabWrapper(tab: TabContent, onBackPressed: (() -> Unit)? = null) {
val snackbarHostState = remember { SnackbarHostState() }
Scaffold(
topBar = { scrollBehavior ->
AppBar(
title = stringResource(tab.titleRes),
actions = {
AppBarActions(tab.actions)
},
navigateUp = onBackPressed,
scrollBehavior = scrollBehavior,
)
},
snackbarHost = { SnackbarHost(hostState = snackbarHostState) },
) { paddingValues ->
tab.content(paddingValues, snackbarHostState)
}
}

View File

@ -0,0 +1,479 @@
package eu.kanade.presentation.browse
import android.content.Intent
import android.net.Uri
import android.provider.Settings
import android.util.DisplayMetrics
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.lazy.items
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.automirrored.outlined.Launch
import androidx.compose.material.icons.outlined.Settings
import androidx.compose.material3.AlertDialog
import androidx.compose.material3.Button
import androidx.compose.material3.HorizontalDivider
import androidx.compose.material3.Icon
import androidx.compose.material3.IconButton
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.OutlinedButton
import androidx.compose.material3.Switch
import androidx.compose.material3.Text
import androidx.compose.material3.TextButton
import androidx.compose.material3.VerticalDivider
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.platform.LocalUriHandler
import androidx.compose.ui.res.vectorResource
import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
import eu.kanade.domain.extension.interactor.ExtensionSourceItem
import eu.kanade.presentation.browse.components.ExtensionIcon
import eu.kanade.presentation.components.AppBar
import eu.kanade.presentation.components.AppBarActions
import eu.kanade.presentation.components.WarningBanner
import eu.kanade.presentation.more.settings.widget.TextPreferenceWidget
import eu.kanade.presentation.more.settings.widget.TrailingWidgetBuffer
import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.extension.model.Extension
import eu.kanade.tachiyomi.source.ConfigurableSource
import eu.kanade.tachiyomi.ui.browse.extension.details.ExtensionDetailsScreenModel
import eu.kanade.tachiyomi.util.system.LocaleHelper
import eu.kanade.tachiyomi.util.system.copyToClipboard
import kotlinx.collections.immutable.ImmutableList
import kotlinx.collections.immutable.persistentListOf
import tachiyomi.i18n.MR
import tachiyomi.i18n.sy.SYMR
import tachiyomi.presentation.core.components.ScrollbarLazyColumn
import tachiyomi.presentation.core.components.material.Scaffold
import tachiyomi.presentation.core.components.material.padding
import tachiyomi.presentation.core.i18n.stringResource
import tachiyomi.presentation.core.screens.EmptyScreen
@Composable
fun ExtensionDetailsScreen(
navigateUp: () -> Unit,
state: ExtensionDetailsScreenModel.State,
onClickSourcePreferences: (sourceId: Long) -> Unit,
onClickEnableAll: () -> Unit,
onClickDisableAll: () -> Unit,
onClickClearCookies: () -> Unit,
onClickUninstall: () -> Unit,
onClickSource: (sourceId: Long) -> Unit,
onClickIncognito: (Boolean) -> Unit,
) {
val uriHandler = LocalUriHandler.current
val url = remember(state.extension) {
val regex = """https://raw.githubusercontent.com/(.+?)/(.+?)/.+""".toRegex()
regex.find(state.extension?.repoUrl.orEmpty())
?.let {
val (user, repo) = it.destructured
"https://github.com/$user/$repo"
}
?: state.extension?.repoUrl
}
Scaffold(
topBar = { scrollBehavior ->
AppBar(
title = stringResource(MR.strings.label_extension_info),
navigateUp = navigateUp,
actions = {
AppBarActions(
actions = persistentListOf<AppBar.AppBarAction>().builder()
.apply {
if (url != null) {
add(
AppBar.Action(
title = stringResource(MR.strings.action_open_repo),
icon = Icons.AutoMirrored.Outlined.Launch,
onClick = {
uriHandler.openUri(url)
},
),
)
}
addAll(
listOf(
AppBar.OverflowAction(
title = stringResource(MR.strings.action_enable_all),
onClick = onClickEnableAll,
),
AppBar.OverflowAction(
title = stringResource(MR.strings.action_disable_all),
onClick = onClickDisableAll,
),
AppBar.OverflowAction(
title = stringResource(MR.strings.pref_clear_cookies),
onClick = onClickClearCookies,
),
),
)
}
.build(),
)
},
scrollBehavior = scrollBehavior,
)
},
) { paddingValues ->
if (state.extension == null) {
EmptyScreen(
MR.strings.empty_screen,
modifier = Modifier.padding(paddingValues),
)
return@Scaffold
}
ExtensionDetails(
contentPadding = paddingValues,
extension = state.extension,
sources = state.sources,
incognitoMode = state.isIncognito,
onClickSourcePreferences = onClickSourcePreferences,
onClickUninstall = onClickUninstall,
onClickSource = onClickSource,
onClickIncognito = onClickIncognito,
)
}
}
@Composable
private fun ExtensionDetails(
contentPadding: PaddingValues,
extension: Extension.Installed,
sources: ImmutableList<ExtensionSourceItem>,
incognitoMode: Boolean,
onClickSourcePreferences: (sourceId: Long) -> Unit,
onClickUninstall: () -> Unit,
onClickSource: (sourceId: Long) -> Unit,
onClickIncognito: (Boolean) -> Unit,
) {
val context = LocalContext.current
var showNsfwWarning by remember { mutableStateOf(false) }
ScrollbarLazyColumn(
contentPadding = contentPadding,
) {
// SY -->
if (extension.isRedundant) {
item {
WarningBanner(SYMR.strings.redundant_extension_message)
}
}
// SY <--
if (extension.isObsolete) {
item {
WarningBanner(MR.strings.obsolete_extension_message)
}
}
item {
DetailsHeader(
extension = extension,
extIncognitoMode = incognitoMode,
onClickUninstall = onClickUninstall,
onClickAppInfo = {
Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS).apply {
data = Uri.fromParts("package", extension.pkgName, null)
context.startActivity(this)
}
Unit
}.takeIf { extension.isShared },
onClickAgeRating = {
showNsfwWarning = true
},
onExtIncognitoChange = onClickIncognito,
)
}
items(
items = sources,
key = { it.source.id },
) { source ->
SourceSwitchPreference(
modifier = Modifier.animateItem(),
source = source,
onClickSourcePreferences = onClickSourcePreferences,
onClickSource = onClickSource,
)
}
}
if (showNsfwWarning) {
NsfwWarningDialog(
onClickConfirm = {
showNsfwWarning = false
},
)
}
}
@Composable
private fun DetailsHeader(
extension: Extension,
extIncognitoMode: Boolean,
onClickAgeRating: () -> Unit,
onClickUninstall: () -> Unit,
onClickAppInfo: (() -> Unit)?,
onExtIncognitoChange: (Boolean) -> Unit,
) {
val context = LocalContext.current
Column {
Column(
modifier = Modifier
.fillMaxWidth()
.padding(horizontal = MaterialTheme.padding.medium)
.padding(
top = MaterialTheme.padding.medium,
bottom = MaterialTheme.padding.small,
)
.clickable {
val extDebugInfo = buildString {
append(
"""
Extension name: ${extension.name} (lang: ${extension.lang}; package: ${extension.pkgName})
Extension version: ${extension.versionName} (lib: ${extension.libVersion}; version code: ${extension.versionCode})
NSFW: ${extension.isNsfw}
""".trimIndent(),
)
if (extension is Extension.Installed) {
append("\n\n")
append(
"""
Update available: ${extension.hasUpdate}
Obsolete: ${extension.isObsolete}
Shared: ${extension.isShared}
Repository: ${extension.repoUrl}
""".trimIndent(),
)
}
}
context.copyToClipboard("Extension Debug information", extDebugInfo)
},
horizontalAlignment = Alignment.CenterHorizontally,
) {
ExtensionIcon(
modifier = Modifier
.size(112.dp),
extension = extension,
density = DisplayMetrics.DENSITY_XXXHIGH,
)
Text(
text = extension.name,
style = MaterialTheme.typography.headlineSmall,
textAlign = TextAlign.Center,
)
val strippedPkgName = extension.pkgName.substringAfter("eu.kanade.tachiyomi.extension.")
Text(
text = strippedPkgName,
style = MaterialTheme.typography.bodySmall,
)
}
Row(
modifier = Modifier
.fillMaxWidth()
.padding(
horizontal = MaterialTheme.padding.extraLarge,
vertical = MaterialTheme.padding.small,
),
horizontalArrangement = Arrangement.SpaceEvenly,
verticalAlignment = Alignment.CenterVertically,
) {
InfoText(
modifier = Modifier.weight(1f),
primaryText = extension.versionName,
secondaryText = stringResource(MR.strings.ext_info_version),
)
InfoDivider()
InfoText(
modifier = Modifier.weight(if (extension.isNsfw) 1.5f else 1f),
primaryText = LocaleHelper.getSourceDisplayName(extension.lang, context),
secondaryText = stringResource(MR.strings.ext_info_language),
)
if (extension.isNsfw) {
InfoDivider()
InfoText(
modifier = Modifier.weight(1f),
primaryText = stringResource(MR.strings.ext_nsfw_short),
primaryTextStyle = MaterialTheme.typography.bodyLarge.copy(
color = MaterialTheme.colorScheme.error,
fontWeight = FontWeight.Medium,
),
secondaryText = stringResource(MR.strings.ext_info_age_rating),
onClick = onClickAgeRating,
)
}
}
Row(
modifier = Modifier
.padding(horizontal = MaterialTheme.padding.medium)
.padding(top = MaterialTheme.padding.small),
horizontalArrangement = Arrangement.spacedBy(MaterialTheme.padding.medium),
) {
OutlinedButton(
modifier = Modifier.weight(1f),
onClick = onClickUninstall,
) {
Text(stringResource(MR.strings.ext_uninstall))
}
if (onClickAppInfo != null) {
Button(
modifier = Modifier.weight(1f),
onClick = onClickAppInfo,
) {
Text(
text = stringResource(MR.strings.ext_app_info),
color = MaterialTheme.colorScheme.onPrimary,
)
}
}
}
TextPreferenceWidget(
modifier = Modifier.padding(horizontal = MaterialTheme.padding.small),
title = stringResource(MR.strings.pref_incognito_mode),
subtitle = stringResource(MR.strings.pref_incognito_mode_extension_summary),
icon = ImageVector.vectorResource(R.drawable.ic_glasses_24dp),
widget = {
Row(
verticalAlignment = Alignment.CenterVertically,
) {
Switch(
checked = extIncognitoMode,
onCheckedChange = onExtIncognitoChange,
modifier = Modifier.padding(start = TrailingWidgetBuffer),
)
}
},
)
HorizontalDivider()
}
}
@Composable
private fun InfoText(
primaryText: String,
secondaryText: String,
modifier: Modifier = Modifier,
primaryTextStyle: TextStyle = MaterialTheme.typography.bodyLarge,
onClick: (() -> Unit)? = null,
) {
val clickableModifier = if (onClick != null) {
Modifier.clickable(interactionSource = null, indication = null, onClick = onClick)
} else {
Modifier
}
Column(
modifier = modifier.then(clickableModifier),
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.Center,
) {
Text(
text = primaryText,
textAlign = TextAlign.Center,
style = primaryTextStyle,
)
Text(
text = secondaryText + if (onClick != null) "" else "",
textAlign = TextAlign.Center,
style = MaterialTheme.typography.bodyMedium,
color = MaterialTheme.colorScheme.onSurface.copy(alpha = 0.5f),
)
}
}
@Composable
private fun InfoDivider() {
VerticalDivider(
modifier = Modifier.height(20.dp),
)
}
@Composable
private fun SourceSwitchPreference(
source: ExtensionSourceItem,
onClickSourcePreferences: (sourceId: Long) -> Unit,
onClickSource: (sourceId: Long) -> Unit,
modifier: Modifier = Modifier,
) {
val context = LocalContext.current
TextPreferenceWidget(
modifier = modifier,
title = if (source.labelAsName) {
source.source.toString()
} else {
LocaleHelper.getSourceDisplayName(source.source.lang, context)
},
widget = {
Row(
verticalAlignment = Alignment.CenterVertically,
) {
if (source.source is ConfigurableSource) {
IconButton(onClick = { onClickSourcePreferences(source.source.id) }) {
Icon(
imageVector = Icons.Outlined.Settings,
contentDescription = stringResource(MR.strings.label_settings),
tint = MaterialTheme.colorScheme.onSurface,
)
}
}
Switch(
checked = source.enabled,
onCheckedChange = null,
modifier = Modifier.padding(start = TrailingWidgetBuffer),
)
}
},
onPreferenceClick = { onClickSource(source.source.id) },
)
}
@Composable
private fun NsfwWarningDialog(
onClickConfirm: () -> Unit,
) {
AlertDialog(
text = {
Text(text = stringResource(MR.strings.ext_nsfw_warning))
},
confirmButton = {
TextButton(onClick = onClickConfirm) {
Text(text = stringResource(MR.strings.action_ok))
}
},
onDismissRequest = onClickConfirm,
)
}

View File

@ -0,0 +1,68 @@
package eu.kanade.presentation.browse
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.foundation.lazy.items
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalContext
import eu.kanade.presentation.components.AppBar
import eu.kanade.presentation.more.settings.widget.SwitchPreferenceWidget
import eu.kanade.tachiyomi.ui.browse.extension.ExtensionFilterState
import eu.kanade.tachiyomi.util.system.LocaleHelper
import tachiyomi.i18n.MR
import tachiyomi.presentation.core.components.material.Scaffold
import tachiyomi.presentation.core.i18n.stringResource
import tachiyomi.presentation.core.screens.EmptyScreen
@Composable
fun ExtensionFilterScreen(
navigateUp: () -> Unit,
state: ExtensionFilterState.Success,
onClickToggle: (String) -> Unit,
) {
Scaffold(
topBar = { scrollBehavior ->
AppBar(
title = stringResource(MR.strings.label_extensions),
navigateUp = navigateUp,
scrollBehavior = scrollBehavior,
)
},
) { contentPadding ->
if (state.isEmpty) {
EmptyScreen(
stringRes = MR.strings.empty_screen,
modifier = Modifier.padding(contentPadding),
)
return@Scaffold
}
ExtensionFilterContent(
contentPadding = contentPadding,
state = state,
onClickLang = onClickToggle,
)
}
}
@Composable
private fun ExtensionFilterContent(
contentPadding: PaddingValues,
state: ExtensionFilterState.Success,
onClickLang: (String) -> Unit,
) {
val context = LocalContext.current
LazyColumn(
contentPadding = contentPadding,
) {
items(state.languages) { language ->
SwitchPreferenceWidget(
modifier = Modifier.animateItem(),
title = LocaleHelper.getSourceDisplayName(language, context),
checked = language in state.enabledLanguages,
onCheckedChanged = { onClickLang(language) },
)
}
}
}

View File

@ -0,0 +1,543 @@
package eu.kanade.presentation.browse
import androidx.compose.animation.core.animateDpAsState
import androidx.compose.foundation.clickable
import androidx.compose.foundation.combinedClickable
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.FlowRow
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.RowScope
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.lazy.items
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.outlined.Close
import androidx.compose.material.icons.outlined.GetApp
import androidx.compose.material.icons.outlined.Public
import androidx.compose.material.icons.outlined.Refresh
import androidx.compose.material.icons.outlined.Settings
import androidx.compose.material.icons.outlined.VerifiedUser
import androidx.compose.material3.AlertDialog
import androidx.compose.material3.Button
import androidx.compose.material3.CircularProgressIndicator
import androidx.compose.material3.Icon
import androidx.compose.material3.IconButton
import androidx.compose.material3.LocalTextStyle
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.ProvideTextStyle
import androidx.compose.material3.Text
import androidx.compose.material3.TextButton
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp
import cafe.adriel.voyager.navigator.LocalNavigator
import cafe.adriel.voyager.navigator.currentOrThrow
import dev.icerock.moko.resources.StringResource
import eu.kanade.presentation.browse.components.BaseBrowseItem
import eu.kanade.presentation.browse.components.ExtensionIcon
import eu.kanade.presentation.components.WarningBanner
import eu.kanade.presentation.manga.components.DotSeparatorNoSpaceText
import eu.kanade.presentation.more.settings.screen.browse.ExtensionReposScreen
import eu.kanade.presentation.util.animateItemFastScroll
import eu.kanade.presentation.util.rememberRequestPackageInstallsPermissionState
import eu.kanade.tachiyomi.extension.model.Extension
import eu.kanade.tachiyomi.extension.model.InstallStep
import eu.kanade.tachiyomi.ui.browse.extension.ExtensionUiModel
import eu.kanade.tachiyomi.ui.browse.extension.ExtensionsScreenModel
import eu.kanade.tachiyomi.util.system.LocaleHelper
import eu.kanade.tachiyomi.util.system.launchRequestPackageInstallsPermission
import kotlinx.collections.immutable.persistentListOf
import tachiyomi.i18n.MR
import tachiyomi.i18n.sy.SYMR
import tachiyomi.presentation.core.components.FastScrollLazyColumn
import tachiyomi.presentation.core.components.material.PullRefresh
import tachiyomi.presentation.core.components.material.padding
import tachiyomi.presentation.core.components.material.topSmallPaddingValues
import tachiyomi.presentation.core.i18n.stringResource
import tachiyomi.presentation.core.screens.EmptyScreen
import tachiyomi.presentation.core.screens.EmptyScreenAction
import tachiyomi.presentation.core.screens.LoadingScreen
import tachiyomi.presentation.core.theme.header
import tachiyomi.presentation.core.util.plus
import tachiyomi.presentation.core.util.secondaryItemAlpha
@Composable
fun ExtensionScreen(
state: ExtensionsScreenModel.State,
contentPadding: PaddingValues,
searchQuery: String?,
onLongClickItem: (Extension) -> Unit,
onClickItemCancel: (Extension) -> Unit,
onOpenWebView: (Extension.Available) -> Unit,
onInstallExtension: (Extension.Available) -> Unit,
onUninstallExtension: (Extension) -> Unit,
onUpdateExtension: (Extension.Installed) -> Unit,
onTrustExtension: (Extension.Untrusted) -> Unit,
onOpenExtension: (Extension.Installed) -> Unit,
onClickUpdateAll: () -> Unit,
onRefresh: () -> Unit,
) {
val navigator = LocalNavigator.currentOrThrow
PullRefresh(
refreshing = state.isRefreshing,
onRefresh = onRefresh,
enabled = !state.isLoading,
) {
when {
state.isLoading -> LoadingScreen(Modifier.padding(contentPadding))
state.isEmpty -> {
val msg = if (!searchQuery.isNullOrEmpty()) {
MR.strings.no_results_found
} else {
MR.strings.empty_screen
}
EmptyScreen(
msg,
modifier = Modifier.padding(contentPadding),
actions = persistentListOf(
EmptyScreenAction(
stringRes = MR.strings.label_extension_repos,
icon = Icons.Outlined.Settings,
onClick = { navigator.push(ExtensionReposScreen()) },
),
),
)
}
else -> {
ExtensionContent(
state = state,
contentPadding = contentPadding,
onLongClickItem = onLongClickItem,
onClickItemCancel = onClickItemCancel,
onOpenWebView = onOpenWebView,
onInstallExtension = onInstallExtension,
onUninstallExtension = onUninstallExtension,
onUpdateExtension = onUpdateExtension,
onTrustExtension = onTrustExtension,
onOpenExtension = onOpenExtension,
onClickUpdateAll = onClickUpdateAll,
)
}
}
}
}
@Composable
private fun ExtensionContent(
state: ExtensionsScreenModel.State,
contentPadding: PaddingValues,
onLongClickItem: (Extension) -> Unit,
onClickItemCancel: (Extension) -> Unit,
onOpenWebView: (Extension.Available) -> Unit,
onInstallExtension: (Extension.Available) -> Unit,
onUninstallExtension: (Extension) -> Unit,
onUpdateExtension: (Extension.Installed) -> Unit,
onTrustExtension: (Extension.Untrusted) -> Unit,
onOpenExtension: (Extension.Installed) -> Unit,
onClickUpdateAll: () -> Unit,
) {
val context = LocalContext.current
var trustState by remember { mutableStateOf<Extension.Untrusted?>(null) }
val installGranted = rememberRequestPackageInstallsPermissionState(initialValue = true)
FastScrollLazyColumn(
contentPadding = contentPadding + topSmallPaddingValues,
) {
if (!installGranted && state.installer?.requiresSystemPermission == true) {
item(key = "extension-permissions-warning") {
WarningBanner(
textRes = MR.strings.ext_permission_install_apps_warning,
modifier = Modifier.clickable {
context.launchRequestPackageInstallsPermission()
},
)
}
}
state.items.forEach { (header, items) ->
item(
contentType = "header",
key = "extensionHeader-${header.hashCode()}",
) {
when (header) {
is ExtensionUiModel.Header.Resource -> {
val action: @Composable RowScope.() -> Unit =
if (header.textRes == MR.strings.ext_updates_pending) {
{
Button(onClick = { onClickUpdateAll() }) {
Text(
text = stringResource(MR.strings.ext_update_all),
style = LocalTextStyle.current.copy(
color = MaterialTheme.colorScheme.onPrimary,
),
)
}
}
} else {
{}
}
ExtensionHeader(
textRes = header.textRes,
modifier = Modifier.animateItemFastScroll(),
action = action,
)
}
is ExtensionUiModel.Header.Text -> {
ExtensionHeader(
text = header.text,
modifier = Modifier.animateItemFastScroll(),
)
}
}
}
items(
items = items,
contentType = { "item" },
key = { item ->
when (item.extension) {
is Extension.Untrusted -> "extension-untrusted-${item.hashCode()}"
is Extension.Installed -> "extension-installed-${item.hashCode()}"
is Extension.Available -> "extension-available-${item.hashCode()}"
}
},
) { item ->
ExtensionItem(
modifier = Modifier.animateItemFastScroll(),
item = item,
onClickItem = {
when (it) {
is Extension.Available -> onInstallExtension(it)
is Extension.Installed -> onOpenExtension(it)
is Extension.Untrusted -> {
trustState = it
}
}
},
onLongClickItem = onLongClickItem,
onClickItemSecondaryAction = {
when (it) {
is Extension.Available -> onOpenWebView(it)
is Extension.Installed -> onOpenExtension(it)
else -> {}
}
},
onClickItemCancel = onClickItemCancel,
onClickItemAction = {
when (it) {
is Extension.Available -> onInstallExtension(it)
is Extension.Installed -> {
if (it.hasUpdate) {
onUpdateExtension(it)
} else {
onOpenExtension(it)
}
}
is Extension.Untrusted -> {
trustState = it
}
}
},
)
}
}
}
if (trustState != null) {
ExtensionTrustDialog(
onClickConfirm = {
onTrustExtension(trustState!!)
trustState = null
},
onClickDismiss = {
onUninstallExtension(trustState!!)
trustState = null
},
onDismissRequest = {
trustState = null
},
)
}
}
@Composable
private fun ExtensionItem(
item: ExtensionUiModel.Item,
onClickItem: (Extension) -> Unit,
onLongClickItem: (Extension) -> Unit,
onClickItemCancel: (Extension) -> Unit,
onClickItemAction: (Extension) -> Unit,
onClickItemSecondaryAction: (Extension) -> Unit,
modifier: Modifier = Modifier,
) {
val (extension, installStep) = item
BaseBrowseItem(
modifier = modifier
.combinedClickable(
onClick = { onClickItem(extension) },
onLongClick = { onLongClickItem(extension) },
),
onClickItem = { onClickItem(extension) },
onLongClickItem = { onLongClickItem(extension) },
icon = {
Box(
modifier = Modifier
.size(40.dp),
contentAlignment = Alignment.Center,
) {
val idle = installStep.isCompleted()
if (!idle) {
CircularProgressIndicator(
modifier = Modifier.size(40.dp),
strokeWidth = 2.dp,
)
}
val padding by animateDpAsState(targetValue = if (idle) 0.dp else 8.dp)
ExtensionIcon(
extension = extension,
modifier = Modifier
.matchParentSize()
.padding(padding),
)
}
},
action = {
ExtensionItemActions(
extension = extension,
installStep = installStep,
onClickItemCancel = onClickItemCancel,
onClickItemAction = onClickItemAction,
onClickItemSecondaryAction = onClickItemSecondaryAction,
)
},
) {
ExtensionItemContent(
extension = extension,
installStep = installStep,
modifier = Modifier.weight(1f),
)
}
}
@Composable
private fun ExtensionItemContent(
extension: Extension,
installStep: InstallStep,
modifier: Modifier = Modifier,
) {
Column(
modifier = modifier.padding(start = MaterialTheme.padding.medium),
) {
Text(
text = extension.name,
maxLines = 1,
overflow = TextOverflow.Ellipsis,
style = MaterialTheme.typography.bodyMedium,
)
// Won't look good but it's not like we can ellipsize overflowing content
FlowRow(
modifier = Modifier.secondaryItemAlpha(),
horizontalArrangement = Arrangement.spacedBy(MaterialTheme.padding.extraSmall),
) {
ProvideTextStyle(value = MaterialTheme.typography.bodySmall) {
if (extension is Extension.Installed && extension.lang.isNotEmpty()) {
Text(
text = LocaleHelper.getSourceDisplayName(extension.lang, LocalContext.current),
)
}
if (extension.versionName.isNotEmpty()) {
Text(
text = extension.versionName,
)
}
val warning = when {
extension is Extension.Untrusted -> MR.strings.ext_untrusted
extension is Extension.Installed && extension.isObsolete -> MR.strings.ext_obsolete
// SY -->
extension is Extension.Installed && extension.isRedundant -> SYMR.strings.ext_redundant
// SY <--
extension.isNsfw -> MR.strings.ext_nsfw_short
else -> null
}
if (warning != null) {
Text(
text = stringResource(warning).uppercase(),
color = MaterialTheme.colorScheme.error,
maxLines = 1,
overflow = TextOverflow.Ellipsis,
)
}
if (!installStep.isCompleted()) {
DotSeparatorNoSpaceText()
Text(
text = when (installStep) {
InstallStep.Pending -> stringResource(MR.strings.ext_pending)
InstallStep.Downloading -> stringResource(MR.strings.ext_downloading)
InstallStep.Installing -> stringResource(MR.strings.ext_installing)
else -> error("Must not show non-install process text")
},
)
}
}
}
}
}
@Composable
private fun ExtensionItemActions(
extension: Extension,
installStep: InstallStep,
modifier: Modifier = Modifier,
onClickItemCancel: (Extension) -> Unit = {},
onClickItemAction: (Extension) -> Unit = {},
onClickItemSecondaryAction: (Extension) -> Unit = {},
) {
val isIdle = installStep.isCompleted()
Row(
modifier = modifier,
horizontalArrangement = Arrangement.spacedBy(MaterialTheme.padding.small),
) {
when {
!isIdle -> {
IconButton(onClick = { onClickItemCancel(extension) }) {
Icon(
imageVector = Icons.Outlined.Close,
contentDescription = stringResource(MR.strings.action_cancel),
)
}
}
installStep == InstallStep.Error -> {
IconButton(onClick = { onClickItemAction(extension) }) {
Icon(
imageVector = Icons.Outlined.Refresh,
contentDescription = stringResource(MR.strings.action_retry),
)
}
}
installStep == InstallStep.Idle -> {
when (extension) {
is Extension.Installed -> {
IconButton(onClick = { onClickItemSecondaryAction(extension) }) {
Icon(
imageVector = Icons.Outlined.Settings,
contentDescription = stringResource(MR.strings.action_settings),
)
}
if (extension.hasUpdate) {
IconButton(onClick = { onClickItemAction(extension) }) {
Icon(
imageVector = Icons.Outlined.GetApp,
contentDescription = stringResource(MR.strings.ext_update),
)
}
}
}
is Extension.Untrusted -> {
IconButton(onClick = { onClickItemAction(extension) }) {
Icon(
imageVector = Icons.Outlined.VerifiedUser,
contentDescription = stringResource(MR.strings.ext_trust),
)
}
}
is Extension.Available -> {
if (extension.sources.isNotEmpty()) {
IconButton(
onClick = { onClickItemSecondaryAction(extension) },
) {
Icon(
imageVector = Icons.Outlined.Public,
contentDescription = stringResource(MR.strings.action_open_in_web_view),
)
}
}
IconButton(onClick = { onClickItemAction(extension) }) {
Icon(
imageVector = Icons.Outlined.GetApp,
contentDescription = stringResource(MR.strings.ext_install),
)
}
}
}
}
}
}
}
@Composable
private fun ExtensionHeader(
textRes: StringResource,
modifier: Modifier = Modifier,
action: @Composable RowScope.() -> Unit = {},
) {
ExtensionHeader(
text = stringResource(textRes),
modifier = modifier,
action = action,
)
}
@Composable
private fun ExtensionHeader(
text: String,
modifier: Modifier = Modifier,
action: @Composable RowScope.() -> Unit = {},
) {
Row(
modifier = modifier.padding(horizontal = MaterialTheme.padding.medium),
verticalAlignment = Alignment.CenterVertically,
) {
Text(
text = text,
modifier = Modifier
.padding(vertical = 8.dp)
.weight(1f),
style = MaterialTheme.typography.header,
)
action()
}
}
@Composable
private fun ExtensionTrustDialog(
onClickConfirm: () -> Unit,
onClickDismiss: () -> Unit,
onDismissRequest: () -> Unit,
) {
AlertDialog(
title = {
Text(text = stringResource(MR.strings.untrusted_extension))
},
text = {
Text(text = stringResource(MR.strings.untrusted_extension_message))
},
confirmButton = {
TextButton(onClick = onClickConfirm) {
Text(text = stringResource(MR.strings.ext_trust))
}
},
dismissButton = {
TextButton(onClick = onClickDismiss) {
Text(text = stringResource(MR.strings.ext_uninstall))
}
},
onDismissRequest = onDismissRequest,
)
}

View File

@ -0,0 +1,262 @@
package eu.kanade.presentation.browse
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.width
import androidx.compose.foundation.lazy.items
import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.verticalScroll
import androidx.compose.material3.AlertDialog
import androidx.compose.material3.RadioButton
import androidx.compose.material3.Text
import androidx.compose.material3.TextButton
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.State
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.unit.dp
import eu.kanade.presentation.browse.components.GlobalSearchCardRow
import eu.kanade.presentation.browse.components.GlobalSearchErrorResultItem
import eu.kanade.presentation.browse.components.GlobalSearchLoadingResultItem
import eu.kanade.presentation.browse.components.GlobalSearchResultItem
import eu.kanade.tachiyomi.source.CatalogueSource
import eu.kanade.tachiyomi.ui.browse.feed.FeedScreenState
import kotlinx.collections.immutable.ImmutableList
import kotlinx.collections.immutable.toImmutableList
import kotlinx.coroutines.delay
import tachiyomi.core.common.i18n.stringResource
import tachiyomi.domain.manga.model.Manga
import tachiyomi.domain.source.model.FeedSavedSearch
import tachiyomi.domain.source.model.SavedSearch
import tachiyomi.i18n.MR
import tachiyomi.i18n.sy.SYMR
import tachiyomi.presentation.core.components.ScrollbarLazyColumn
import tachiyomi.presentation.core.components.material.PullRefresh
import tachiyomi.presentation.core.components.material.topSmallPaddingValues
import tachiyomi.presentation.core.i18n.stringResource
import tachiyomi.presentation.core.screens.EmptyScreen
import tachiyomi.presentation.core.screens.LoadingScreen
import tachiyomi.presentation.core.util.plus
import kotlin.time.Duration.Companion.seconds
data class FeedItemUI(
val feed: FeedSavedSearch,
val savedSearch: SavedSearch?,
val source: CatalogueSource?,
val title: String,
val subtitle: String,
val results: List<Manga>?,
)
@Composable
fun FeedScreen(
state: FeedScreenState,
contentPadding: PaddingValues,
onClickSavedSearch: (SavedSearch, CatalogueSource) -> Unit,
onClickSource: (CatalogueSource) -> Unit,
onClickDelete: (FeedSavedSearch) -> Unit,
onClickManga: (Manga) -> Unit,
onRefresh: () -> Unit,
getMangaState: @Composable (Manga) -> State<Manga>,
) {
when {
state.isLoading -> LoadingScreen()
state.isEmpty -> EmptyScreen(
SYMR.strings.feed_tab_empty,
modifier = Modifier.padding(contentPadding),
)
else -> {
var refreshing by remember { mutableStateOf(false) }
LaunchedEffect(refreshing) {
if (refreshing) {
delay(1.seconds)
refreshing = false
}
}
PullRefresh(
refreshing = refreshing && state.isLoadingItems,
onRefresh = {
refreshing = true
onRefresh()
},
enabled = !state.isLoadingItems,
) {
ScrollbarLazyColumn(
contentPadding = contentPadding + topSmallPaddingValues,
modifier = Modifier.fillMaxSize(),
) {
items(
state.items.orEmpty(),
key = { it.feed.id },
) { item ->
GlobalSearchResultItem(
title = item.title,
subtitle = item.subtitle,
onLongClick = {
onClickDelete(item.feed)
},
onClick = {
if (item.savedSearch != null && item.source != null) {
onClickSavedSearch(item.savedSearch, item.source)
} else if (item.source != null) {
onClickSource(item.source)
}
},
modifier = Modifier.animateItem(),
) {
FeedItem(
item = item,
getMangaState = { getMangaState(it) },
onClickManga = onClickManga,
)
}
}
}
}
}
}
}
@Composable
fun FeedItem(
item: FeedItemUI,
getMangaState: @Composable ((Manga) -> State<Manga>),
onClickManga: (Manga) -> Unit,
) {
when {
item.results == null -> {
GlobalSearchLoadingResultItem()
}
item.results.isEmpty() -> {
GlobalSearchErrorResultItem(message = stringResource(MR.strings.no_results_found))
}
else -> {
GlobalSearchCardRow(
titles = item.results,
getManga = getMangaState,
onClick = onClickManga,
onLongClick = onClickManga,
)
}
}
}
@Composable
fun FeedAddDialog(
sources: ImmutableList<CatalogueSource>,
onDismiss: () -> Unit,
onClickAdd: (CatalogueSource?) -> Unit,
) {
var selected by remember { mutableStateOf<Int?>(null) }
AlertDialog(
title = {
Text(text = stringResource(SYMR.strings.feed))
},
text = {
RadioSelector(options = sources, selected = selected) {
selected = it
}
},
onDismissRequest = onDismiss,
confirmButton = {
TextButton(onClick = { onClickAdd(selected?.let { sources[it] }) }) {
Text(text = stringResource(MR.strings.action_ok))
}
},
)
}
@Composable
fun FeedAddSearchDialog(
source: CatalogueSource,
savedSearches: ImmutableList<SavedSearch?>,
onDismiss: () -> Unit,
onClickAdd: (CatalogueSource, SavedSearch?) -> Unit,
) {
var selected by remember { mutableStateOf<Int?>(null) }
AlertDialog(
title = {
Text(text = source.name)
},
text = {
val context = LocalContext.current
val savedSearchStrings = remember {
savedSearches.map {
it?.name ?: context.stringResource(MR.strings.latest)
}.toImmutableList()
}
RadioSelector(
options = savedSearches,
optionStrings = savedSearchStrings,
selected = selected,
) {
selected = it
}
},
onDismissRequest = onDismiss,
confirmButton = {
TextButton(onClick = { onClickAdd(source, selected?.let { savedSearches[it] }) }) {
Text(text = stringResource(MR.strings.action_ok))
}
},
)
}
@Composable
fun <T> RadioSelector(
options: ImmutableList<T>,
optionStrings: ImmutableList<String> = remember { options.map { it.toString() }.toImmutableList() },
selected: Int?,
onSelectOption: (Int) -> Unit,
) {
Column(Modifier.verticalScroll(rememberScrollState())) {
optionStrings.forEachIndexed { index, option ->
Row(
Modifier
.fillMaxWidth()
.height(48.dp)
.clickable { onSelectOption(index) },
verticalAlignment = Alignment.CenterVertically,
) {
RadioButton(selected == index, onClick = null)
Spacer(Modifier.width(4.dp))
Text(option, maxLines = 1)
}
}
}
}
@Composable
fun FeedDeleteConfirmDialog(
feed: FeedSavedSearch,
onDismiss: () -> Unit,
onClickDeleteConfirm: (FeedSavedSearch) -> Unit,
) {
AlertDialog(
title = {
Text(text = stringResource(SYMR.strings.feed))
},
text = {
Text(text = stringResource(SYMR.strings.feed_delete))
},
onDismissRequest = onDismiss,
confirmButton = {
TextButton(onClick = { onClickDeleteConfirm(feed) }) {
Text(text = stringResource(MR.strings.action_delete))
}
},
)
}

Some files were not shown because too many files have changed in this diff Show More