7738 Commits

Author SHA1 Message Date
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
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