460 Commits

Author SHA1 Message Date
arkon
6b1e7a8b55 Clean up imports
(cherry picked from commit 4b2a9bc6216d07c4d68902e8161ab75919fcee47)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/database/queries/MangaQueries.kt
2021-09-01 18:40:58 -04:00
Taco
dafff19fff Use more Compat utilities (#5786)
* Use ActivityCompat.recreate

* Use more KTX extensions

* Use PackageInfoCompat.getLongVersionCode

* Remove unnecessary compat usages

(cherry picked from commit 12a9d0575d432a4bc2f2c471e864d26205aba953)
2021-09-01 18:40:58 -04:00
Hunter Nickel
cfa6c180e7 Apply system animation scale to parts of Tachiyomi that don't respect it by default (#5794)
* Add initial code for scaling animations, apply scale to reader nav overlay

* Rename extension function, apply system animator scale to ActionToolbar

* Apply system animator scale to expanding manga cover animation

* Apply system animator scale to image crossfade (also disables animated covers when browsing)

* Add documentation, make MotionScene Transition comment a bit more clear

* Disable animated covers in MangaInfoHeaderAdapter if animator duration scale is 0

* Disable animated covers in Library if animator duration scale is 0

* Convert loadAny listener to extension function

(cherry picked from commit df683375b1d7a15c03d315e85d4a0327b49f8ceb)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryComfortableGridHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryCompactGridHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoHeaderAdapter.kt
2021-08-27 12:51:04 -04:00
Andreas
d621ef0b3a Make default category translatable (#5751)
* Make default category translatable

* Replace duplicate strings with common one

(cherry picked from commit 3670d649b8b011fd3bb10f66e33f221aea2c3b72)
2021-08-27 12:50:49 -04:00
Ivan Iskandar
acbc4c48fa Edge-to-edge manga details view (#5613)
* Prepare for edge-to-edge MangaController

* Fix derpy liftToScroll with our own implementation

* Edge-to-edge MangaController

Except when legacy blue theme is used.

* Save app bar lift state for controller backstack

* Fix expanded cover position after the view recycled

* Handle overlap changes when incognito mode disabled

* Tablet fixes

* Revert "Handle overlap changes when incognito mode disabled"

This reverts commit 1f492449

Breaks on rotation changes.

* Fix MangaController's swipe refresh position

* All controllers are now doing lift app bar on scroll by default

They are already doing that before so this pretty much just a cleanups.

* TachiyomiCoordinatorLayout: Support ViewPager for app bar lift state check

I'm willing to revert this if this minute detail solution is deemed too hacky xD

* Fix app bar not lifted when scrolled without fling

* Save app bar lift state across configuration changes

* Fix MangaController's swipe refresh position after configuration change

* TachiyomiCoordinatorLayout: Update ViewPager reference when controller is changed

(cherry picked from commit da16110e1c571526baea34275db41937f68c7e8c)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/base/controller/ConductorExtensions.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoHeaderAdapter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/more/AboutController.kt
2021-08-27 12:50:47 -04:00
Jobobby04
3059008476 Cleanup 2021-08-27 12:50:41 -04:00
Andreas
82f0bf809d Fix weird behaviour in library when switching display mode (#5640)
(cherry picked from commit fd45de5c586d5806ca1bf7f2ced06e27febab92d)
2021-08-27 12:50:24 -04:00
Ivan Iskandar
d5423caf91 Change BottomNavigationView behavior (#5603)
Similar to app bar's scroll behavior

(cherry picked from commit ff2a4e69526a2edfa5f3bd7570c09204e5ebb9f9)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
2021-08-01 23:55:38 -04:00
Ivan Iskandar
f2bd785c57 Fix splash screen icon on Android 12 (#5565)
* Use Core Splashscreen for splashscreen stuff

* Keep splash screen until activity ready

Ready as in the data inside starting screen is finished showing

* Use custom splash screen exit animation on older android version

* Add splash screen minimum duration to prevent exit jank

* Fix broken AMOLED theme

* Improvements

(cherry picked from commit 05e7b0dc22dbd9d180e3410fdfa8c3fa1759e57d)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourceController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryCategoryView.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
#	app/src/main/res/drawable/ic_tachi_splash.xml
2021-07-18 22:01:04 -04:00
Jobobby04
cf54851342 Replace material-dialogs with Material Components' SY 2021-07-18 20:17:58 -04:00
Ivan Iskandar
d4993d1b71 Replace material-dialogs usage with Material Components' (#5423)
* Use Material Components' dialogs

For all dialogs that has direct replacement.

* Convert text input dialogs

* Convert quad-state multi choices dialogs

* Convert date picker dialogs

This also changes the flow to remove selected start/finish tracking date and
the track item itself

* Remove material-dialogs dependencies

(cherry picked from commit ae97bb04458c6a754c6e0ca05a2a3b96ce16894f)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/WhatsNewDialogController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPageSheet.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsBackupController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsDownloadController.kt
2021-07-18 20:15:30 -04:00
jmir1
a844c636a6 show correct number of items in the library tit... (#5516)
...le, even when all manga are in a category that isn't the default
category.

(cherry picked from commit 8d5f7985915f45bd50ad889707a4049b50400124)
2021-07-09 17:52:37 -04:00
arkon
b71694fb54 Update to Conductor 3.0.0
(cherry picked from commit 01a1a9ebab09bb81fcb35412b171be794bfb91bf)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SourceSearchController.kt
2021-07-03 19:08:00 -04:00
arkon
dc6906250d Use current locale when sorting library "alphabetically" (closes #5281)
This _should_ handle things like Chinese that aren't actually alphabetical.

(cherry picked from commit 568c4d8c8e67f681002a1f9bb1e9500ad2cd592c)
2021-07-03 18:57:25 -04:00
Jobobby04
ee73c0e282 Fix crashing library 2021-06-29 00:05:49 -04:00
Ivan Iskandar
b7b1175207 Tracking sheet and search adjustments (#5427)
* Tracking sheet and search visual adjustments

* Remove track item divider

* Add start margin to "add tracking" button

* Fix track search dialog crash when no item chosen

* Show "remove" action only when track item is previously set

* Remove placeholder for total chapters

* Cleanups

* Add track search error/empty result message

* Make track search dialog fullscreen

* Use AutofitRecyclerView for track search dialog

* Fix text input overlapping

* Run track search from IME action instead

* Remove deprecated method

* Reformat

* Set track search error message on the placeholder

* Use payload to notify track search item change

* Fix track search action icon tint color

(cherry picked from commit cb71d44024816780ba7e0110099a766bdc47f74a)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/track/TrackSearchAdapter.kt
#	app/src/main/res/values/styles.xml
2021-06-28 14:38:36 -04:00
curche
9903a6bde8 Extend library search by adding -<source> option (#5387)
* extend library search to enable -<source> search

library search already allows for <source> search to select manga from a
particular source. Similarly, -<source> allows to search for manga that
aren't from the said source. TachiyomiSy has this feature but it heavily
depends on exh methods

A problem when you directly add a negation check is that although
it will work, the genre search kicks in adds back every manga since
-<source> returns true for all genres of a manga

Thus, the solution I decided on was do source search first, and then
move to genre check when it fails. A perhaps useful addition is that,
now you're able to search like this:
 <genre1>, -<source>, -<genre2>

* make if-else statements more readable

* refactor containsSourceOrGenre() using `when`

* add comment describing the function

* remove lazy

not really required anymore now that containsSourceOrGenre was rewritten
using `when`

(cherry picked from commit 7e3ea9074c65297177746182a5dfffb5e884c456)
2021-06-28 14:24:37 -04:00
Jobobby04
99042352fb Protect against a random library crash 2021-06-28 01:22:18 -04:00
Jobobby04
a132435967 Fix flashing library 2021-06-28 01:10:01 -04:00
Andreas
6f6e6ad326 Sort per category (#5408)
* Add flags for sorting per category

* Add logic to LibrarySettingsSheet

* Add  logic to LibraryPresenter

* Minor tweaks

* Use enum instead of variables

Also deprecates LibrarySort in favour of the new enum classes

* Remove debug log and suppress deprecation

* Convert DisplayMode setting to enum

Also fix bug were adapter would get de-synced with the current per category setting

* Fix migration crashing app due to values being access before migration

(cherry picked from commit 60890147c3c24ac30a75bfb8c4fab7b8cccd60be)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/tachiyomi/data/database/models/Category.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceValues.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceItem.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryCategoryView.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryItem.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibrarySettingsSheet.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
2021-06-26 22:41:34 -04:00
Jobobby04
104e200b4a Favorites sync show currently processing title after 5 seconds in case of issues 2021-06-26 22:38:50 -04:00
Jobobby04
96a932264b Use the clear selection function to destroy the action mode 2021-06-13 14:41:14 -04:00
Hunter Nickel
03c45f676a Added text to category changing dialog when shown with no categories (#5345)
* Added text to ChangeMangaCategoriesDialog if invoked with empty category list

* Change dialog text, add negative button, and change positive button to open CategoryController

* Tiny bit of code cleanup and reorganizing

(cherry picked from commit 8deca3b63a5a9348933fa8c5fcfaa13bb85311e4)
2021-06-13 14:36:04 -04:00
jmir1
0bdddb365f Fix library settings sheet causing app to crash... (#5354)
...when the category list is empty

(cherry picked from commit 8791b72cb1ebdd4b803bbd7d7828630f82fe8a9f)
2021-06-10 16:43:04 -04:00
arkon
3536c359f3 Address some build warnings
(cherry picked from commit 71d225c56286d4b868c1634316a4748a494037ea)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchController.kt
2021-06-10 16:16:12 -04:00
Andreas
89249c9895 Added category-wise display setting (#5232)
* Added category-wise display setting

Co-authored-by: Rogavactive <30288842+Rogavactive@users.noreply.github.com>

* Use flag instead of preference

* Remove database call in LibraryItem

* Remove unnecessary code

Co-authored-by: Rogavactive <30288842+Rogavactive@users.noreply.github.com>
(cherry picked from commit a906e9b302f4aa4ce0d5c30b2a52d266b44eaaf5)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/database/models/Category.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryItem.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibrarySettingsSheet.kt
2021-06-05 16:07:57 -04:00
Jobobby04
aeaf52cb58 Handle more deprecated items 2021-06-02 00:10:36 -04:00
Jobobby04
d30c9f7120 Address some deprecation warnings 2021-06-01 21:09:03 -04:00
arkon
0a96252ce8 Fix last library category not being saved
(cherry picked from commit aa50554f06f3e6cfbd5ac41a296fe2ad790f5352)
2021-05-31 23:44:15 -04:00
Jobobby04
3a20e24ad0 Fix some drawable references 2021-05-29 18:17:54 -04:00
Hunter Nickel
89531cd549 Implement feature to hide "Local" badge from library manga (#5202)
(cherry picked from commit 8dcd919ff0c4df78343e501400294cfb079dc901)
2021-05-28 14:36:51 -04:00
arkon
d55802a2f2 Adjust tablet layout (closes #5113)
(cherry picked from commit cf99446a12f894d6b4a513aaf668520f52b40170)
2021-05-22 17:17:54 -04:00
arkon
844fb8129c Don't hide side nav when opening ActionToolbar on tablets
(cherry picked from commit fa872f6cf7d08dd6f07e66a6ca55210238100460)
2021-05-22 16:47:48 -04:00
arkon
7a9c2afe87 Fix grid columns on tablets, split out common main_activity layout sections
(cherry picked from commit ef53d4ec070ace3a863f7ba22749b3b511a1b4a6)
2021-05-22 16:47:40 -04:00
arkon
35879921dd Initial tablet NavigationRailView implementation
TODO:
- Make the side nav go beside the toolbar too
- Extract out common main_activity stuff to remove duplicated code

(cherry picked from commit de35a4c62a7636650b1ff88c33de0cc0695f6411)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
#	app/src/main/res/layout/main_activity.xml
2021-05-22 16:47:17 -04:00
Ivan Iskandar
73c9df9c43 Use Coil (#4870)
* Use Coil

* Remove coil-transformations lib

* Add MangaCoverFetcher

* Remove Glide

* MangaCoverFetcher: Allow skipping custom cover usage

* Adjust coil caching policy for some non-library items

* Allow coil to use RGB565 only on low ram devices

* Fix image loading progress view not showing

a

* Increase coil crossfade duration

Same as default glide duration

* Add back request clearing

(cherry picked from commit 93e61367958e280689423b7692cd98cda59805e9)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/App.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/glide/FileFetcher.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/glide/TachiGlideModule.kt
#	app/src/main/java/eu/kanade/tachiyomi/network/NetworkHelper.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceComfortableGridHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceGridHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceListHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryComfortableGridHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryCompactGridHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryListHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoHeaderAdapter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt
2021-05-04 14:13:17 -04:00
arkon
aa56698dac Clean up controller viewbinding creation
Based on https://github.com/Jays2Kings/tachiyomiJ2K/blob/master/app/src/main/java/eu/kanade/tachiyomi/ui/base/controller/BaseController.kt

(cherry picked from commit cab919d74c2a00fd450c915a4d7fddc29c44927e)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourceController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt
2021-04-19 14:56:08 -04:00
Ivan Iskandar
e43777bba7 Themes cleanup (#4894)
(cherry picked from commit ad57fde1c55984f3235ce86a7505e3675039b1dc)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/base/activity/BaseThemedActivity.kt
#	app/src/main/res/values/themes.xml
2021-04-19 14:35:28 -04:00
arkon
54d8748c58 Adjust ActionToolbar positioning
Have I ever mentioned that I hate insets?

(cherry picked from commit ad9bad3d17aa01140e5dc339c71e19f405caaf90)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt
2021-04-19 14:16:22 -04:00
arkon
bc28e2d617 Adjust ActionToolbar positioning
(cherry picked from commit 1f8c5b0120177ecd160110026ab2e018e20dd0c1)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt
2021-04-19 14:00:10 -04:00
Jobobby04
b8e907cea2 Block merged manga from being able to be migrated 2021-04-15 15:28:28 -04:00
Jobobby04
13f4bfa7bc Remove source migration action 2021-04-15 14:57:49 -04:00
arkon
c5df8725de Fix ActionToolbar bottom offset
(cherry picked from commit 155a4dd463b53e187d54f20d5cbdb4173c77a96a)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt
2021-04-12 15:03:40 -04:00
Ivan Iskandar
9e40625c08 Draw edge-to-edge (#4802)
(cherry picked from commit f3660d88ddf21d92a80cc5e73bfa012ddf506e75)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryCategoryView.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
2021-04-11 18:43:19 -04:00
Riztard Lanthorn
a3c44fc5ad Search in library include manga description (#4787)
Co-Authored-By: jobobby04 <jobobby04@gmail.com>

Co-authored-by: jobobby04 <jobobby04@gmail.com>
(cherry picked from commit 01c3498dbff84b52d8225dd021a02642946cd4e1)
2021-04-11 18:41:28 -04:00
Riztard Lanthorn
03366ae7e5 add sort by date fetched in library (#4773)
* add sort by date fetched in library

* chapter fetch date to 8

(cherry picked from commit ddd4cc10ff12d2497a001821c678f2c1a90eef34)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/database/queries/MangaQueries.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibrarySettingsSheet.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibrarySort.kt
2021-04-04 19:12:25 -04:00
arkon
b0c0b12499 Use Material Dialogs for global update categories preference
To allow for negative selections in the future.

(cherry picked from commit e15d7cb548b72afa6c88d88115ff26a6fd7f4708)
2021-04-04 19:09:16 -04:00
Antoine Gaudreau Simard
6e9043c633 Add onPause\onResume persistence to searchView. Fixes issue #3627 (#4494)
* Add onPause\onResume persistence to searchView. Fixes issue #3627

* New controller subclass with built-in SearchView support

* Implement new SearchableNucleusController in SourceController

* Add query to BasePresenter (for one field it is not worth create a subclass in my opinion), convert BrowseSourceController to inherit from SearchableNucleusController

* move to flows to fix an issue in GlobalSearch where it would trigger the search multiple times

* Continue conversion to SearchableNucleusController

* Convert LibraryController, convert to flows, Known ISSUE with empty string being posted after setting the query upon creation of UI

* Fix issues with the post being tide to the SearchView queue which is not processed until shown. Add COLLAPSING state capture which should wrap this up.

* refactoring & enforce @StringRes for queryHint

(cherry picked from commit 2911fe7a1aa8b94d8e95e99648e3bce0d23fa0a7)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourceController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourcePresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt
2021-03-28 18:33:41 -04:00
arkon
709f76d53d Merge reader settings and color filter sheets
Heavily influenced by fe2543b9d5 (diff-8f47d7b7b53769ac18c28fe9978140c6bef44709879567acab2c6ef3270cd3a8)

(cherry picked from commit e0b7698d40678ccebfe6b546af9101c11c3a06c5)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReaderSettingsSheet.kt
#	app/src/main/res/layout/reader_activity.xml
#	app/src/main/res/layout/reader_settings_sheet.xml
2021-03-28 17:19:57 -04:00
arkon
41aec8bc96 Show unread entries first when sorting by unread (closes #4711)
Based on b212f8233e

(cherry picked from commit a16240f123d3040bcfc12ba68cab77616a827898)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
2021-03-28 16:51:17 -04:00