3175 Commits

Author SHA1 Message Date
stevenyomi
0a0b264e43 Fix app lock and make delay not survive app being killed (#8272)
* Fix app lock

* Always require unlock if app is killed

(cherry picked from commit 2ab744c525e2c6c94bcac7d4cc3848830a50c991)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/base/delegate/SecureActivityDelegate.kt
2022-10-22 21:23:02 -04:00
AntsyLich
24115a9ddc Cleanup UpdatesPresenter deleteChapters (#8273)
(cherry picked from commit 4a244a598bd8caceaab76ae2c851d8e8ef04ed21)
2022-10-22 20:57:23 -04:00
arkon
bd9125f9fe Remove fake chapter deletion state updates
Now that the updates and manga screen listen to download cache changes, it'll reflect the real states once deleted.

(cherry picked from commit d0bff298b7df3524f76434a3636bc196627cb613)
2022-10-22 20:57:12 -04:00
arkon
1bef917db7 Handle async cache in updates and manga screens
- Also fix concurrent accesses to main cache map
- Also debounce sources and updates list updates to maybe avoid crashing due to dupe LazyColumn keys

(cherry picked from commit 152eb5b95196a32ed120f4a57996c1958294bf7f)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
2022-10-22 20:56:53 -04:00
stevenyomi
46fe5dfd4f Tweak tablet UI mode setting (#8262)
(cherry picked from commit d558f9e1d6bcc8eb8f69359e6e7516f7ea24a408)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt
2022-10-22 20:47:54 -04:00
AntsyLich
2774df208e Fix "Add manga to library" snackbar not showing with ChapterDownloadAction.START_NOW (#8271)
(cherry picked from commit b3557e844c016f095764e72fca8d01657e1d4028)
2022-10-22 20:33:17 -04:00
arkon
e38b1390e6 Maybe avoid extensions list rendering crashes
(cherry picked from commit 4138a17e29348c7057ae885a0b8d9d5c3f29cc07)
2022-10-22 20:32:07 -04:00
arkon
7f7602f9b7 Use fade transition in Voyager screens to mimic existing Conductor change handler
(cherry picked from commit 2921be620a2cc2bd3a7be84aaa6d6136c651367c)
2022-10-22 20:29:40 -04:00
arkon
5a55c66532 Perform download cache renewal async
Don't block on cache renewals, but notify library on updates so that the badges show up when ready.

We skip the cache when checking if a chapter is downloaded for the reader assuming that it's a
relatively low cost to check for a single chapter.

(Probably) fixes #8254 / fixes #7847

(cherry picked from commit 7e40680af02505f82fa3655d2d693092c6bd43a1)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadCache.kt
#	app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.kt
2022-10-22 20:28:57 -04:00
arkon
9fafe15081 Remove redundancy in ExtensionManager
(cherry picked from commit 93925a72866892358b7f46645e1f189b2cf3bc1d)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/SourceManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/globalsearch/GlobalSearchPresenter.kt
2022-10-22 20:24:41 -04:00
arkon
893443222d Proper DI instantiation for some more download related classes
(cherry picked from commit b04807e53a355af210e280d42f705976a478c6e5)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/chapter/interactor/SyncChaptersWithSource.kt
#	app/src/main/java/eu/kanade/tachiyomi/AppModule.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/ChapterLoader.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/DownloadPageLoader.kt
2022-10-22 20:16:12 -04:00
arkon
5ff3c39d68 Defer library download counts if not needed
(cherry picked from commit 93827aba34e98c6f70397d0e767580f3aaf5136b)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadCache.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
2022-10-22 20:11:36 -04:00
AntsyLich
b5f3114cb4 Hide reader "Split tall images" option in release build (#8235)
(cherry picked from commit 44cabf2f0b9db3ae60d5739676fb8777c474ea6b)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsReaderScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReaderPreferences.kt
2022-10-22 20:03:16 -04:00
stevenyomi
6ba4c9b139 Clean up strings and resources (#8253)
* Clean up strings and resources

* fix pringle's typo

* restore catching file pick errors

* add back file chooser title

* revert #7740 and remove try-catch of chooser-wrapped intent

* swap xmlns lines

* swap xml tools lines

(cherry picked from commit 824d5e22bc35a9b511929be21ffbc85b734e5fcd)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt
#	app/src/main/res/drawable/card_gradient_shape.xml
#	app/src/main/res/menu/download_queue.xml
2022-10-22 19:52:46 -04:00
Jobobby04
82793b7a41 Minor cleanup 2022-10-18 17:53:45 -04:00
Andreas
fed8ef09af Tweak library view (#8240)
- Move category join to improve performance
- Move bookmark calculation into query
- Move unread calculation into domain

(cherry picked from commit 8d97b980e354d50a7682e87677ef336833b760fe)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/data/manga/MangaMapper.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
#	app/src/main/sqldelight/migrations/22.sqm
#	app/src/main/sqldelight/view/libraryView.sq
2022-10-18 17:51:34 -04:00
Ivan Iskandar
a7c45ab61e More settings stuff (#8226)
* title size

* move about screen to settings

keeping shortcut inside more screen

* more

* shrink texts

* scrollable create backup dialog choices

* search back button

* cleanups

* delay changes that require activity recreate

* lessen horizontal padding

(cherry picked from commit f5bde3726ad235587da59e484a0c82fbe48790da)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/about/AboutScreen.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/database/components/ClearDatabaseDialogs.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/ClearDatabaseScreen.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsMainScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/more/AboutController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/more/MoreController.kt
2022-10-18 17:24:57 -04:00
AntsyLich
de10803c2f Fix selection in library (#8233)
(cherry picked from commit ea092fa175e39dc9b868ef865d6fcfef81407157)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/components/LibraryComfortableGrid.kt
#	app/src/main/java/eu/kanade/presentation/library/components/LibraryCompactGrid.kt
#	app/src/main/java/eu/kanade/presentation/library/components/LibraryCoverOnlyGrid.kt
2022-10-18 16:53:58 -04:00
AntsyLich
639eb50dbc Tweak library query (#8214)
* Tweak library query

Co-Authored-By: Quang Kieu <kieuq@wit.edu>

* Update app/src/main/sqldelight/migrations/21.sqm

* Update app/src/main/java/eu/kanade/domain/library/model/LibraryManga.kt

* Update app/src/main/sqldelight/view/libraryView.sq

* Update app/src/main/java/eu/kanade/data/manga/MangaMapper.kt

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

* Update app/src/main/java/eu/kanade/data/manga/MangaMapper.kt

* Bump version

Co-authored-by: Quang Kieu <kieuq@wit.edu>
(cherry picked from commit d6cbff2837bdf0de679bdf1cc8b93dbf3eadb487)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/data/manga/MangaMapper.kt
#	app/src/main/java/eu/kanade/data/manga/MangaRepositoryImpl.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
#	app/src/main/sqldelight/migrations/21.sqm
2022-10-17 00:05:52 -04:00
arkon
2144221250 Remove dead code
Mostly from settings rewrite, but some other things too.

(cherry picked from commit 69cdba71eb842865586309d8549de78480cdbe0e)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/database/ClearDatabaseScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAppearanceController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsBackupController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsBrowseController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsGeneralController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsLibraryController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsReaderController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsSecurityController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/database/ClearDatabasePresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/search/SettingsSearchHelper.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/track/TrackLoginDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/widget/materialdialogs/MaterialAlertDialogBuilderExtensions.kt
#	app/src/main/java/eu/kanade/tachiyomi/widget/preference/IntListPreference.kt
#	app/src/main/java/eu/kanade/tachiyomi/widget/preference/LoginDialogPreference.kt
#	app/src/main/res/drawable/ic_done_green_24dp.xml
#	app/src/main/res/layout/pref_account_login.xml
#	app/src/main/res/layout/pref_library_columns.xml
2022-10-16 22:58:07 -04:00
Ivan Iskandar
a2f6b90547 Settings: M3 and two pane ui (#8211)
* Settings: M3 and two pane ui

* TrackingLoginDialog: Move close button

* Use small top bar

* Revert "Update voyager to v1.0.0-rc02"

This reverts commit 570fec6ea622a7deae44668f4d9c3317699de2aa.

https://github.com/adrielcafe/voyager/issues/62
(cherry picked from commit 5c5468f9af74be984d0d9cb79da804370ee0e775)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsMainScreen.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/widget/TextPreferenceWidget.kt
2022-10-16 22:39:58 -04:00
arkon
0b5b9cb5cc Control library badge visibility with props instead
Fixes #8174

(cherry picked from commit 6635dd2990851d830e83a628b7e62091bd20cb43)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/components/LibraryComfortableGrid.kt
#	app/src/main/java/eu/kanade/presentation/library/components/LibraryCompactGrid.kt
#	app/src/main/java/eu/kanade/presentation/library/components/LibraryContent.kt
#	app/src/main/java/eu/kanade/presentation/library/components/LibraryCoverOnlyGrid.kt
#	app/src/main/java/eu/kanade/presentation/library/components/LibraryGridCover.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
2022-10-16 22:20:47 -04:00
Ivan Iskandar
57dcd16cb9 Full Compose settings (#8201)
* Uses Voyager for navigation.
* Replaces every screen inside settings except category editor screen since it's
called from several places.

(cherry picked from commit 890f1a3c7b0f2ceefa86a77cb40c11567e2b5a46)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/more/MoreController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsMainController.kt
2022-10-16 21:53:23 -04:00
Swords
1ac63787bd Add bookmark filter (#8198)
* feat: add bookmark filter

* feat: add getBookmarkChaptersByMangaId query + interactor to be used for filtering

(cherry picked from commit 3fdcd636d75e3862e75779077faef3d70365bcf6)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibrarySettingsSheet.kt
2022-10-15 12:11:24 -04:00
Jobobby04
80c53adf29 Fix open in webview issue 2022-10-15 12:09:38 -04:00
arkon
a82b86bec8 Minor cleanup
(cherry picked from commit bc1fbfac9d3bd6a13b755acb5ac0a2ed702ba1a2)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/chapter/interactor/SetReadStatus.kt
#	app/src/main/java/eu/kanade/domain/manga/repository/MangaRepository.kt
#	app/src/main/java/eu/kanade/presentation/library/LibraryScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/SourceExtensions.kt
2022-10-15 12:09:35 -04:00
arkon
7da8484d81 Attempt to avoid duplicate update rows
Related to #7713

(cherry picked from commit 7e92921f84905fefa46a9514c096593520c52076)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/recent/updates/UpdatesPresenter.kt
2022-10-15 12:09:34 -04:00
d-najd
aef2dab957 Range selection in library (#8186)
* logic and a bit of cleanup

* cleanup done

* grammar fix

* fixing format

* Auto stash before checking out "HEAD"

* Revert "Auto stash before checking out "HEAD""

This reverts commit 202374a36ff444b7da3fcdb2a9859ca71a7c046e.

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

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

* cleanup

Co-authored-by: arkon <arkon@users.noreply.github.com>
(cherry picked from commit e1adb89ff8ed1759fcab08ed70b596b41bf3c88c)
2022-10-15 12:09:33 -04:00
Jobobby04
861481bf26 Fix some Feed add bugs 2022-10-15 12:09:27 -04:00
Ivan Iskandar
24593da484 EmptyScreen: Compose-ify and apply content padding (#8177)
* Apply content padding to empty screen

except the empty screens in browse

* compose-ify EmptyScreen

* center face when action show

* fix padding

* apply content padding to browse tabs

* fix duplicate bottom insets

(cherry picked from commit 8500add09f475093e4e861f42508496e0f1fd68c)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/BrowseSourceScreen.kt
#	app/src/main/java/eu/kanade/presentation/browse/ExtensionsScreen.kt
#	app/src/main/java/eu/kanade/presentation/library/LibraryScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesTab.kt
#	app/src/main/res/layout/common_view_empty.xml
2022-10-15 12:09:26 -04:00
zbue
86b333384f RemoveMangaDialog: Show manga title in dialog message (#8163)
(cherry picked from commit 737d0fb8f3d87ab7a9d5ff4319d629dbe5213b96)
2022-10-15 12:09:22 -04:00
arkon
35758adb8e Clean up download state logic in MorePresenter
(cherry picked from commit 3bfbd58402bcb24e1f24bb5c2d88389767cab2d9)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/more/MorePresenter.kt
2022-10-15 12:09:20 -04:00
Jobobby04
2dadf37711 Fix browse reset button 2022-10-15 12:09:18 -04:00
Jobobby04
22abd02641 Fix multiple issues with saved searches 2022-10-15 12:09:17 -04:00
Basara-Hatake
7fd4f5ee97
remove dead delegatedsources (#701) 2022-10-15 12:08:26 -04:00
Jobobby04
39c82feb01 Fix mangadex group deeplink not only searching mangadex sources 2022-10-08 19:44:12 -04:00
d-najd
17bb5d1c4b Hiding the keyboard (#8160)
* Hiding the keyboard (#8157)

* Cleanup

* Adding log

* cleanup

* moving code to ViewExtensions.kt

* TrackDialog keyboard fix?

* moving  code to ContextExtensions.kt

* MoreScreen: Remove title (#8158)

* MoreScreen: Remove title

Also removes the state banners as it's redundant

* Add back banners

* Allow manual selection of manga description instead of copying to clipboard

Closes #6548

Notably missing some "standard" options like "Select all" or "Share": https://issuetracker.google.com/issues/226648919

* Allow marking partially read chapters as unread

Closes #3777

* Tablet UI edge-to-edge tweaks (#8159)

* LibraryScreen: Tweak content padding application to draw under nav bar

* BrowseScreen: Tweak content padding application to draw under nav bar

Side note the tab content doesn't actually use its
scaffold (bottom) contentPadding so it's definitely will
be a headache in the future.

* Don't hardcode bottom nav padding

* removed unnecessary import

* refactoring code

* rewriting code

* cleanup?

* cleanup

Co-authored-by: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
Co-authored-by: arkon <eugcheung94@gmail.com>
(cherry picked from commit 50f959e5f41fa5d4117e821fb82db761cfdcf33f)
2022-10-08 19:44:12 -04:00
Andreas
84c463d648 Fix filter search not triggering when clicking genre from Manga details (#8156)
(cherry picked from commit dcd5541e964b94f0dab9bb86fe207ec41b249296)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/BrowseSourceScreen.kt
#	app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceToolbar.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourcePresenter.kt
2022-10-08 18:33:28 -04:00
arkon
48b9135056 Reword some reader settings
(cherry picked from commit caf9219d99c8f46a2c7371e7c4f0cfbba7f546d9)
2022-10-08 18:03:57 -04:00
Alessandro Tedesco
b645bcb1b3 Fix sort by date in LibraryPresenter (#8137) (#8145)
Co-authored-by: Alessandro Tedesco <alessandro.tedesco@zehus.it>
(cherry picked from commit b8fa326c21a3f05ae09e173038e5dc366395ab40)
2022-10-08 17:35:34 -04:00
AntsyLich
41542517f7 Add methods to get manga and chapter url (#8114)
* Add methods to get manga and chapter url

Some fork supports directly opening chapters with webview hence `getChapterUrl`

* Review Changes

* Add since to javadoc

(cherry picked from commit de23226591376e998e4ff1ff7b2d4c2a0a805b09)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt
2022-10-01 19:16:27 -04:00
AntsyLich
71076bd56a Move LibraryManga to domain layer (#8126)
(cherry picked from commit ea8383978b1783fd60d6057deb6c91cb5a85c505)

# Conflicts:
#	app/src/main/java/eu/kanade/data/manga/MangaMapper.kt
#	app/src/main/java/eu/kanade/presentation/library/LibraryState.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/models/LibraryManga.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryItem.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
2022-10-01 19:14:58 -04:00
AntsyLich
37fd74f141 Reduce some usages of toDbManga (#8116)
Co-Authored-By: stevenyomi <95685115+stevenyomi@users.noreply.github.com>

Co-authored-by: stevenyomi <95685115+stevenyomi@users.noreply.github.com>
(cherry picked from commit b04d1e5f50b1a3622e8bfde3ddced7e5a7cd8e2e)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourcePresenter.kt
2022-10-01 18:39:11 -04:00
AntsyLich
c1df5adf2c Don't download completely read chapter if it was in queue (#8113)
(cherry picked from commit 00f442b77ee6b04a486f842bdad83487efb349d5)
2022-10-01 18:33:12 -04:00
Ivan Iskandar
1eb1763342 HistoryScreen: Remove paging (#8125)
* HistoryScreen: Remove paging

Per my testing performance-wise there's virtually no
difference in loading time.

* cleanups

* add key and contentType

(cherry picked from commit 42b0e3e4389b78556ccf34b93edc7d454de5881e)
2022-10-01 18:33:02 -04:00
Andreas
dbeb6c721a Tweak behavior on Browse screen (#8121)
* Tweak behavior on Browse screen

- Fix system back popping controller
- Add behavior to system back to cancel search toolbar before clearing current search or popping controller

* Review changes

(cherry picked from commit 6ac17363ed68487b2262308ee9d671ad301f2754)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceController.kt
2022-10-01 18:30:01 -04:00
Ivan Iskandar
8e4f038e9a ExtensionScreen: Adjust item visual (#8120)
* ExtensionScreen: Adjust item visual

* Move install status view and add progress indicator
* Add secondary item modifier to info texts
* Wrap info texts with FlowRow in case of unavailable space
* Remove language text in non-installed items

Extra content:
* Change the list key to be more consistent
* General cleanups

* typo

(cherry picked from commit 58c47c4c50936f061e65434f60af56a92a51dfb2)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/ExtensionsScreen.kt
2022-10-01 18:15:27 -04:00
AntsyLich
5002bafa22 Fix total item count in library app bar (#8117)
(cherry picked from commit ef2c9460b5dc15bb9af6a430fa0a93765debcef4)
2022-10-01 18:06:14 -04:00
AntsyLich
54dcb640bb Improve DelayedTrackerStore (#8109)
* Improve DelayedTrackerStore

* Review changes

(cherry picked from commit ad84a8c3e9bd56025ab59beb5c024a7b7d6e2b35)
2022-10-01 18:06:05 -04:00
Alessandro Jean
d8e0344624 Improve search toolbar UX a little bit (#8102)
* Improve search toolbar UX a little.

* Fix wrong stringResource import.

* Revert `FocusRequester` change in favour of #8093.

(cherry picked from commit 5a37f2398a45949bb327a61210ab46d5207d09cb)
2022-10-01 18:02:18 -04:00