3567 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
Jobobby04
c95d6e79f4 Fix blank library categories when using source categories 2023-06-24 10:37:13 -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
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
Jobobby04
190c87f7f3 Use AppBarActions 2023-05-13 14:02:24 -04:00
arkon
7eaed00cd3 Fix missing appbar when statistics are loading
(cherry picked from commit 8fae92034e1e43560f254b2563acbfa9106702cf)
2023-05-13 13:34:00 -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
Jobobby04
e9a3463455 Allow user to read all read manga stats 2023-05-10 17:30:52 -04:00
Jobobby04
8d83384fb7 See if this fixes focus bug with auto complete tags 2023-05-09 21:53:49 -04:00
Jobobby04
45f839c5e1 Lint 2023-05-09 21:53:06 -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
Shamicen
492fa6eaaa
fix ZipPageLoader not working for encrypted cbz archives (#877) 2023-05-06 22:23:56 -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
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
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
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
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
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
arkon
4ade0b3ed4 Handle archives with nested directories properly
Closes #9389

(cherry picked from commit 20bec66a9de5ae34dd437714ff5f80801e2e92b8)
2023-05-06 12:35:28 -04:00
Ken Swenson
72a20eca12 Double tap zoom toggle (#9384)
* Double tap zoom toggle

Implements a toggle that allows users to disable double tap zoom including QuickScaling for webtoons. Partially resolves #4145

* Update i18n/src/main/res/values/strings.xml

---------

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

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsReaderScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReaderReadingModeSettings.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonFrame.kt
#	app/src/main/res/layout/reader_webtoon_settings.xml
2023-05-06 12:35:15 -04:00
d-najd
bb2ffc2dbe Add swipe actions for chapters (#9304)
* added chapter swipe

* Rework corner animtion

* Update i18n/src/main/res/values/strings.xml

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

* Replace LTR/RTL with Start/End layout

* Added label to the animation so the warning will go away

* Getting rid of the swipe threshold setting

* adding disabled option, renaming stuff, other stuff?

* Getting rid of the snackbar

* Getting rid of unecessary strings

* changing enum names as requested

* Renaming Raio to Ratio (I need a better keyboard as well -__-)

* Replacing error with download icon and action

* backup

* minor cleanup

* fixing an nasty edge case

* fixing mistakes in the previous conflict

* space

* fixing bug

fixed bug where the user could dismiss already dismissed item leading to item getting stuck

* fixing lint errors

* fixing lints (hopefully)

* Added "swipe disabled" to the list of actions

* Replacing string value and moving value as requested

* replacing rest of the strings with generic ones

---------

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

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt
#	app/src/main/java/eu/kanade/presentation/manga/components/MangaChapterListItem.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsLibraryScreen.kt
#	domain/src/main/java/tachiyomi/domain/library/service/LibraryPreferences.kt
2023-05-06 12:33:27 -04:00
arkon
20d35268b1 Load ZIP file contents to cache (#9381)
* Extract downloaded archives to tmp folder when loading for viewing

* Generate sequence of entries from ZipInputStream instead of loading entire ZipFile

(cherry picked from commit 44619febd333f4e662cdbf149ae0741a43ebd27b)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/ZipPageLoader.kt
2023-05-06 12:23:42 -04:00
arkon
864de368ee Make loader implementation classes internal
(cherry picked from commit 418e6a8b3ac23c235e392fe64314a2e4994e209b)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/HttpPageLoader.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/ZipPageLoader.kt
2023-05-06 11:23:59 -04:00
arkon
351331a525 Minor cleanup
(cherry picked from commit 67b4e53a58209a42d03fcc00e3b7191f955bf257)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupManga.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
2023-05-06 11:21:11 -04:00