Commit graph

7051 commits

Author SHA1 Message Date
Jobobby04
18f52a6043
Improve duplicate chapter set as read 2024-03-04 10:50:54 +07:00
Maddie Witman
f7976335f5
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-04 10:50:54 +07:00
MajorTanya
4c84954474
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-04 10:50:10 +07:00
Jobobby04
804452c909
Cleanup 2024-03-04 10:47:04 +07:00
Fermín Cirella
590f667cc1
Make manga page preview row count configurable (#1087)
* Make manga page preview row count configurable

* Replace string with plural
2024-03-04 10:47:04 +07:00
Shamicen
aaee8c2eb6
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-04 10:47:04 +07:00
Luqman
e9521cb882
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-04 10:46:21 +07:00
Jobobby04
b70257bd3b
Ignore chapters with 0 or under chapter numbers 2024-03-04 10:17:23 +07:00
Cuong M. Tran
c301e4ff76
using komikku-app/extensions/repo 2024-02-22 23:06:27 +07:00
Jobobby04
2d09528b7a
Should fix password protect downloads 2024-02-19 17:54:44 +07:00
Jobobby04
c4295e776a
Fix compile 2024-02-19 17:54:44 +07:00
Luqman
729cea1611
Add Hide Feed tab toggle (#1058) 2024-02-19 17:54:44 +07:00
Luqman
65c3c07645
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-19 17:54:44 +07:00
Luqman
cbd6a45a4d
Fix blank box if empty (#1069) 2024-02-19 17:54:44 +07:00
Luqman
65fdf75a19
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-19 17:54:44 +07:00
AntsyLich
bd5b8b70a0
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

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/track/myanimelist/MyAnimeListInterceptor.kt
2024-02-19 17:54:44 +07:00
AntsyLich
5b59deb898
Lint
(cherry picked from commit b2d22f86c647e24eed6d9b19f36ac2c444525c87)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/manga/model/Manga.kt
2024-02-19 17:54:44 +07:00
AwkwardPeak7
e8e5f93be8
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-19 17:54:44 +07:00
AntsyLich
d126f2779f
Move :core to :core:common
(cherry picked from commit aa498360db90350f2642e6320dc55e7d474df1fd)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/domain/base/BasePreferences.kt
#	app/src/main/java/eu/kanade/domain/chapter/interactor/SetReadStatus.kt
#	app/src/main/java/eu/kanade/presentation/library/LibrarySettingsDialog.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsBrowseScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/App.kt
#	app/src/main/java/eu/kanade/tachiyomi/Migrations.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/create/BackupCreator.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/updater/AppUpdateChecker.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SourceSearchScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceFilterDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryTab.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/ChapterLoader.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/RarPageLoader.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/ZipPageLoader.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReaderPreferences.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerViewerAdapter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/stats/StatsScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/util/CrashLogUtil.kt
#	core/common/src/main/kotlin/eu/kanade/tachiyomi/util/storage/CbzCrypto.kt
#	data/src/main/java/tachiyomi/data/manga/MangaRepositoryImpl.kt
#	data/src/main/java/tachiyomi/data/source/SourcePagingSource.kt
#	domain/src/main/java/tachiyomi/domain/library/service/LibraryPreferences.kt
#	domain/src/main/java/tachiyomi/domain/manga/model/Manga.kt
#	settings.gradle.kts
#	source-api/src/commonMain/kotlin/eu/kanade/tachiyomi/source/online/HttpSource.kt
#	source-local/src/androidMain/kotlin/tachiyomi/source/local/image/LocalCoverManager.kt
2024-02-19 17:54:43 +07:00
MajorTanya
c5bd84473a
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-19 17:54:43 +07:00
AntsyLich
b9bd40043c
Upgrade combose-bom to latest
(cherry picked from commit 47e542152788e587f5f77dea4b2676683f2fba47)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/components/MangaBottomActionMenu.kt
2024-02-19 17:54:43 +07:00
Cuong M. Tran
f445263c72
Change extension update error file name (#253) 2024-02-19 17:54:43 +07:00
Theodoro Loureiro mota
00fafb6223
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-19 17:54:43 +07:00
Soitora
7b78f16d7b
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-19 17:54:43 +07:00
Cuong M. Tran
1020962163
Fix MangaDex’s followStatus & type of TrackStatus’s property 2024-02-19 17:54:22 +07:00
Secozzi
02bcffcce4
Fix refreshing from enhanced tracker (#219)
fix refreshing from enhanced tracker

(cherry picked from commit 348b23a9fd833d9040cfbdd60b11f9d5ce6e5fb7)
2024-02-19 15:30:39 +07:00
Theodoro Loureiro mota
20da43ca58
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-02-19 15:30:39 +07:00
Jobobby04
3455e6ee04
Swap over to Mihon.app
# Conflicts:
#	.github/ISSUE_TEMPLATE.md
#	.github/ISSUE_TEMPLATE/config.yml
#	README.md
2024-02-19 15:28:28 +07:00
Cuong M. Tran
b8f88feee9
update useragent 2024-02-19 15:24:46 +07:00
AntsyLich
31b7450c56
Fix issues when updating extensions
(cherry picked from commit cb068984303f811692531bf6f14902ae118d8ac7)
2024-02-19 15:00:30 +07:00
AntsyLich
f301ab36f9
Remove usage of .not() where possible
(cherry picked from commit 39407407f282dbb7fa972b12053c26b3e3bd66d8)
2024-02-19 15:00:01 +07:00
jobobby04
ae61be5e90
Backup and Restore Excluded scanlators (#166)
* Backup and Restore Excluded scanlators

* Improve performance

* This looks better

(cherry picked from commit e0deeb800890c5e3be67c4ebe32ebe34d97e0e25)
2024-02-19 14:58:29 +07:00
AntsyLich
a87ca2a34f
Fix "Flash on page change" gives black screen on page change
Fixes #108

(cherry picked from commit 38d6ab80ce868707829dbc81de4170afe3c2f2a5)
2024-02-19 14:58:29 +07:00
Cuong M. Tran
1b54a5dd10
transfer repo to komikku-app 2024-02-19 14:52:22 +07:00
Cuong M. Tran
3c6696d671
Add extension’s setting to source’s long click 2024-02-11 02:46:01 +07:00
Cuong M. Tran
2d42be6958
ExtensionsScreen: display extension lang even for not-installed ones 2024-02-10 18:26:16 +07:00
Cuong M. Tran
7874363e08
Fix Shikimori tracking 2024-02-09 06:58:16 +07:00
Cuong M. Tran
d353c83dba
Shikimori: using Komikku key 2024-02-09 06:35:34 +07:00
Cuong M. Tran
946e6d0b59
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

Additional changes for Komikku/TachiyomiSY version

* `score` to Double

* `tracker_id` to Long

* `last_chapter_read` to Double

* `total_chapters` to Long

* `status` to Long
2024-02-08 01:43:01 +07:00
AntsyLich
581868905e
Lint 2024-02-08 00:35:17 +07:00
AntsyLich
0edf83afab
Refactor MAL code to not spam refresh token when it fails
# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/track/myanimelist/MyAnimeListApi.kt
2024-02-08 00:35:03 +07:00
AntsyLich
21a2bef94b
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
# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/track/BaseTracker.kt
2024-02-08 00:33:06 +07:00
AntsyLich
576884f6a9
Lint
# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/track/bangumi/BangumiInterceptor.kt
2024-02-08 00:30:58 +07:00
AntsyLich
4e1dafa62c
Use own client for trackers + custom user agents
Closes #114
Closes #143

Co-authored-by: Med <45147847+kitsumed@users.noreply.github.com>
2024-02-08 00:29:29 +07:00
AntsyLich
066660a743
Remove usage of .not() where possible
# Conflicts:
#	app/src/main/java/eu/kanade/domain/extension/interactor/GetExtensionsByType.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerViewer.kt
2024-02-08 00:25:30 +07:00
Cuong M. Tran
c3246bf4b6
Make tracker use Komikku’s client 2024-02-08 00:19:32 +07:00
Cuong M. Tran
a3e47a1055
allow search source using both source's name & extensions's name 2024-02-07 19:42:26 +07:00
Cuong M. Tran
20e3b1284f Merge branch 'develop' 2024-02-06 04:34:34 +07:00
Cuong M. Tran
e49ff1e137 initialize FirebaseApp 2024-02-06 04:33:59 +07:00
Cuong M. Tran
c166fed426 Show source’s extension name in Source browse & Global search
(often it’s a romanized version so it’s easier to remember)
2024-02-06 04:14:26 +07:00
Cuong M. Tran
97efbd2efc
Update source repo URL 2024-02-05 18:32:26 +07:00
Cuong M. Tran
a4f8a33631 Replace MyAnimeList key with Komikku 2024-02-05 00:33:56 +07:00
Cuong M. Tran
bf250cbc34 Language tag with current locale in Extension Filter 2024-02-05 00:29:49 +07:00
Cuong M. Tran
1fc7604782 Move string resource 2024-02-04 17:34:40 +07:00
Cuong M. Tran
861e43ff06 Filter to show NSFW sources/extensions only in Browse tab 2024-02-04 17:06:20 +07:00
Cuong M. Tran
6a7db7b2e4
Feed: will get Popular if source doesn’t support Latest 2024-01-31 16:03:01 +07:00
Cuong M. Tran
46e7e1fbca
Feed: [Fix] Not trying to add Feed if not select anything on dialog box
Fix warning with RadioSelector declaration
2024-01-31 13:30:30 +07:00
Cuong M. Tran
27a1c3aa76
Increase limitation of Feed from 10 to 20
Also fix limtation message spelling
2024-01-31 11:08:04 +07:00
Cuong M. Tran
b6a60201b6
Move source’s package settings button to SourceFeedScreen 2024-01-30 19:54:28 +07:00
Cuong M. Tran
64d1ef89a6
Move SourceSettingsButton to Presentation domain 2024-01-30 18:33:26 +07:00
Cuong M. Tran
bc65d967d6
Show NSFW mark on SourcesScreen list 2024-01-29 23:23:22 +07:00
Cuong M. Tran
8b29b1dc68
Avoid showing ExtensionDetailsScreen for E-Hentai & ExHentai which is built-in & not actually installed extensions 2024-01-29 23:20:27 +07:00
Cuong M. Tran
48437205cd
Add icon to jump directly to ExtensionDetailsScreen from SourcesScreen
# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/SourcesScreen.kt
2024-01-29 23:20:14 +07:00
Cuong M. Tran
906012cd40
SourcesSearch with animated search box 2024-01-29 23:14:38 +07:00
Cuong M. Tran
b94f67d9b6
using FastScrollLazyColumn for SourcesScreen scrollbar 2024-01-29 22:53:15 +07:00
Cuong M. Tran
6731edde87
Add OFFICIAL source & mine signature 2024-01-29 22:51:13 +07:00
Cuong M. Tran
81541ca67c
Show Untrusted extensions above Trusted extensions 2024-01-29 22:50:40 +07:00
Cuong M. Tran
da890c42d7
Remove files executable permission 2024-01-28 23:44:37 +07:00
Cuong M. Tran
d38b148915
Change update repo 2024-01-28 23:44:37 +07:00
AntsyLich
7d6bdc75f9
Fix score issue with MangaUpdates
Also add custom user agent

Potentially fix #17

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/track/mangaupdates/MangaUpdatesInterceptor.kt
2024-01-28 23:44:15 +07: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
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
e28878c5ee Better message for empty extensions list
(cherry picked from commit a37f3eb70922557cd0e4ed0c05d3563850b49757)
2024-01-13 00:18:51 -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 8625e75a2b.
2024-01-13 00:18:20 -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
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
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
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
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
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
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
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
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
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
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
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
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
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
Jobobby04
b1bbfd5c89 Update EhTags 2023-12-27 13:09:23 -05:00
Jobobby04
22d8711cee Minor cleanup 2023-12-27 13:09:22 -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
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
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
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
e400232072 Prevent backing out from initial onboarding
(cherry picked from commit c10cd6c808786e896d16a82fce63b565c4e425af)
2023-12-24 14:05:46 -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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Jobobby04
86837a6c47 Hopefully fix crash with page previews 2023-12-23 18:11:43 -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
AntsyLich
8434d36498 ScanlatorFilterDialog: Fix crash when no scanlator (#10111)
(cherry picked from commit d7442d771b92b4d1b1c0c762ea6473cb58ece544)
2023-12-23 17:43:18 -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
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
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
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
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
6ba8318b8a Fix page previews cache
(cherry picked from commit d600ddc11a)

# 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 d45563e58d)
2023-10-29 18:26:42 -04:00
Jobobby04
230aec370c Fix import of reader preferences in reader
(cherry picked from commit 90281affc4)
2023-10-29 18:26:35 -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 6baa24273a)
2023-10-29 18:25:43 -04:00
AntsyLich
e0480ce8c3 pain (#968)
(cherry picked from commit 8fc04d8cc6)
2023-10-29 18:25:23 -04:00
Jobobby04
4cab34e06c Use readableAt
(cherry picked from commit d37463cf0f)
2023-10-29 18:23:41 -04:00
arkon
3aefee3ce0 Update website links
(cherry picked from commit ccc9a5a052b133174f8ba361490386ff0361283e)
(cherry picked from commit bc5ba6092b)

# 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
72ac3c275c Avoid opening blobs as webpages
Fixes #10060

(cherry picked from commit 548f7f415a28529522f5aef0d53546e8bc68957e)
(cherry picked from commit 7ccb8eaaf2)

# 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 2ba5460096)
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 01e0c3c040)
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
42c404a0cc Minor cleanup
(cherry picked from commit 4e68b628811dee26a5aba023183af619df5c3e99)
2023-09-03 23:04:38 -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
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
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
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
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
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
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
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
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
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
Jobobby04
9c34323c9d Merged manga play button fix 2023-07-21 22:18:00 -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
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
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
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
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
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
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
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
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
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
f81f995127 Address some deprecation warnings
(cherry picked from commit b79ef5dc79b12a3e47ea7c06bd16d2957422a8fd)
2023-07-15 15:47:28 -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
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
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
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
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
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
13f49234dc Bump compile SDK version 34 (#9625)
(cherry picked from commit 740e370465444beaa52af7aae9016c9cf67cd066)
2023-06-24 14:17:56 -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
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
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
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
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
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
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
Jobobby04
21a4a93523 Add Exhentai source icon 2023-05-22 19:38:02 -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
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
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
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
Jobobby04
8c78ae48c1 Actually fix favorite entry parent versions 2023-05-13 12:06:02 -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
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
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
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
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
Andreas
054aa7c4d8 Remove SourceData and use StubSource directly for database (#9429)
(cherry picked from commit f63573f25fe5361c9c1a49a77b2c371e68072736)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/extension/model/Extension.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/AndroidSourceManager.kt
2023-05-06 13:30:39 -04:00
Andreas
01ef35af3a Move GitHub Release/App Update logic to data (#9422)
* Move GitHub Release/App Update logic to data

* Add tests for GetApplicationRelease

* Review changes

(cherry picked from commit 02864ebd60ac9eb974a1b54b06368d20b0ca3ce5)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/AboutScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/updater/AppUpdateChecker.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/updater/GithubRelease.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
2023-05-06 13:12:02 -04:00
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