* 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
* Added "Ninomae" theme
Based on the lovely Ninomae Ina'nis, for Arkon and Flat
* Use updated colors from Ghostbear
Adapted after feedback
Co-Authored-By: Andreas <6576096+ghostbear@users.noreply.github.com>
* Tweak the Ninomae theme further
* Sort themes alphabetically
- Sorts themes alphabetically.
- Use the same capital word system in colors.xml for themes.xml as well.
- Rename AMOLED theme to AMOLED mode in theme.xml and color.xml references.
* More tweaks
* Style incognito bar
Uses a dark purple which looks super clean instead of a washed out gray
This sets the groundwork for other themes too
* Tweak final onPrimary color
* Rename Ninomae to Tako
RIP
Co-authored-by: Andreas <6576096+ghostbear@users.noreply.github.com>
* 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
* Add TachiyomiImageDecoder for Coil
Is currently used to decode AVIF and JPEG XL images.
* LocalSource: Check against file name for cover
This allows file with all supported formats to be set as cover
* TachiyomiImageDecoder: Handle HEIF on Android 7 and older
* Merge AMOLED and regular dark themes
This allows all variants of dark themes to use black backgrounds as a
separate preference.
* Merge light and dark themes
* Fix ReaderSeekBar color on Dark Blue theme
* Color fixes
* Fix Dark Blue bars ripple
* Simplify night mode check
* Imported implementation for updating library by next expected update from Neko. This sort uses the last 4 updates for a manga to compute an average time between updates and then extrapolates when the next update should occur.
Currently seems to work perfectly. However, I may have silently messed something up along the way.
All code and algorithms are credited to kyjibo on GitHub. The original commit adding this functionality is here: 681003926a
* Imported implementation for updating library by next expected update from Neko. This sort uses the last 4 updates for a manga to compute an average time between updates and then extrapolates when the next update should occur.
Currently seems to work perfectly. However, I may have silently messed something up along the way.
All code and algorithms are credited to kyjibo on GitHub. The original commit adding this functionality is here: 681003926a
* Remove commented-out line from LibraryUpdateRanker
I missed removing this when first committing. The removed line is a holdover from Neko, which requires 7+, but I removed the function that requires this.
* 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
* 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`
* Fix ReaderActivity system bars behavior
* Fix ReaderActivity transition view text color
* Don't change reader navbar color when windowLightNavigationBar is not available
* 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
* Match ReaderActivity theme with the rest of the app
* Fix viewer inset when fullscreen reader is off
* Fix incorrect toolbar color after recreate
* Remove animated inset
* Move isDarkMode to PreferencesHelper
* More themes cleanup
* Tweak some things
* Fix 'Clear History' icon
* Split out ripple colored to its own drawable
* Tidy up things
* Unify background dim amount
* Use primaryColor for Account login button
* More colored ripples
* use colorOnPrimary for selected comfortable library item title
Co-authored-by: Soitora <simon.mattila@protonmail.com>
* add start download now
download now for selected chapter
from j2k
Co-Authored-By: Jays2Kings <jays@outlook.com>
* change string to action
* move to bottom
* oopsie
Co-authored-by: Jays2Kings <jays@outlook.com>
* 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