7846 Commits

Author SHA1 Message Date
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
Jobobby04
912d2ecd62 Drop FOREIGN KEY for eh_favorites 2023-05-13 00:03:35 -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