* MangaFullCoverDialog: Support animated drawable
* Scaled zoom duration
* Wrap reader's image view to be reused in MangaFullCoverDialog
* Cleanups
* Forgot animated stuff for webtoon view
* Cleanups
* Oopsie
* Cleanups
* Consistent max scale for SubsamplingScaleImageView
The max scale will be obtained from the default scale times 3 for
consistent 3x zoom scale.
(cherry picked from commit 746d35b52be76b1ba75be62cdc1192a769fb9661)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerConfig.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonPageHolder.kt
* Change ProtoNumber of Backup Models for History and Source to non-zero
Changed BackupHistory url and BackupSource name properties
* Provide backwards compatibility to current proto backups
- Added data class for zero-based protoNumber
- Restore both 'new' proto and old ones by mapping old to 'new' proto format
- Thanks to @jobobby04 for providing the initial solution.
* Fix on createBackup missing parameter for brokenSource
* Fix issues on build
* Fix missing import on FullBackupRestore
(cherry picked from commit 9a7a03e32744a966f01ad184cad3775b9e715dd8)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/data/backup/full/FullBackupManager.kt
# app/src/main/java/eu/kanade/tachiyomi/data/backup/full/models/Backup.kt
# app/src/main/java/eu/kanade/tachiyomi/data/backup/full/models/BackupManga.kt
* Added the exclude category from delete after being read
* Stopped it from adding a wildcard to the import
* Placed the remove after read to the download manager
(cherry picked from commit a051079c6a2719e5f7429b289281ea3b3138aace)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadManager.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsDownloadController.kt
* Less hacky way to make sure bottom action toolbar doesn't scroll down
* Fix action toolbar overlapping on landscape
* Disable app bar transparency when ActionMode is present
(cherry picked from commit 7b3c18bb97e1ca6b8889d7aa271d715cfee684d4)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
* Remove the remaining MotionLayout
* Use ImageButton instead of Blank View to handle taps in dead area
And some tweaks
(cherry picked from commit abdb67a123d714401ede9760dfae797f37bb8c56)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoHeaderAdapter.kt
# app/src/main/res/layout-sw720dp/manga_info_header.xml
# app/src/main/res/layout/manga_info_header.xml
# app/src/main/res/xml/manga_summary_section_scene.xml
* Hide lang tag when only one lang used
* Comment the code
Can't be too useless and do nothing, Ghostbear practically wrote the entire PR for me
* Exclude 'all' from counting as a language
Co-Authored-By: Andreas <6576096+ghostbear@users.noreply.github.com>
* Use existing Preferences directly from Presenter
* Replace regex with an existing value
Co-authored-by: Andreas <6576096+ghostbear@users.noreply.github.com>
(cherry picked from commit 763bd54707ce48ef67a0d5062cfbe014675ef522)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoHeaderAdapter.kt
* Use QuadState Categories to edit mangas in Library
Add updateMangasToCategories to build build correct Categories list for
each manga using Common and Mix list
Update QuadState Multi-Choice to either Action or Display List
Display list would have different state sequece from Action
Uncheck-> Indeterminate (only if initial so)-> Check
fixup manga categories logic as Windows and push request comments
* fixup: Use QuadStateTextView.State enum
Update function to use QuadStateTextView.State enum that missed in last change
* fixup: missing closing bracket and type cast
Co-authored-by: quangkieu <quangkieu1993@gmail.com>
(cherry picked from commit ee711dc0fb317bf1a661ede66ad392b8d1416274)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceController.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt
* Add icons to manga status
* Slightly better formatting
Mixed in with a dose of syntactic sugar
* Remove unnecessary lines
I think they are, at least
* Change according to review comments
- Fix forgotten Tablet code removal
- Change 'android:background' to 'app:srcCompat'
* Adjust size of icon
Smaller and more fitting to the environment
(cherry picked from commit d935e22f0df88d59e6e527cbc3db5dd7d908df35)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoHeaderAdapter.kt
* don't trim newlines if summary expanded
* move description trim logic to separate function
* logic error oops
* let's try something
* fix bug on first load
makes it so that, description text is trimmed when entering manga from
library
Co-authored-by: Andreas <andreas.everos@gmail.com>
Co-authored-by: Andreas <andreas.everos@gmail.com>
(cherry picked from commit f683f21ee2daf6787e258b852b847582535221c1)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoHeaderAdapter.kt
* Remove MotionLayout and add full screen dialog for enlarged cover
* Address some of the review comments
(cherry picked from commit e7d6dfff530db08a8380e68425b9f9d11da497cb)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt
# app/src/main/res/xml/manga_info_header_scene.xml
# app/src/main/res/xml/manga_info_header_scene_sw720dp.xml
* Add IME_FLAG_NO_PERSONALIZED_LEARNING flag to text input when incognito is enabled
Tested with Gboard only.
* Revert "Add IME_FLAG_NO_PERSONALIZED_LEARNING flag to text input when incognito is enabled"
This reverts commit 068399db
* Add IME_FLAG_NO_PERSONALIZED_LEARNING flag to text inputs when incognito is enabled
Source preference is not affected.
* Source preference stuff
(cherry picked from commit 3ea84cf0ce23d37a1787663834ab9922f10577f8)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/details/SourcePreferencesController.kt
* make check only visible after selecting an item
* replace tick with button and send to bottom
* fixed button visibility
* grey btn out
* resolving some bits
* removing the tick from appbar
* remove useless lines, appl insetter
(cherry picked from commit c666dd623d2efdac2ec5a853cd5761a97ef6fd3a)
each TrackService can convert it to Int if decimal chapters are not supported
(cherry picked from commit 2cd87332125e8b4c703d2b8f47cfc0d540118a97)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/data/database/DbOpenCallback.kt
* Use ActivityCompat.recreate
* Use more KTX extensions
* Use PackageInfoCompat.getLongVersionCode
* Remove unnecessary compat usages
(cherry picked from commit 12a9d0575d432a4bc2f2c471e864d26205aba953)
* add new category for navbar appearance
* update strings for new appearance settings
also adds `pref_category_navbar` for new Navbar settings sub section
* Update SettingsAppearanceController.kt
Co-authored-by: jobobby04 <jobobby04@users.noreply.github.com>
* 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
* Replace "More" with Arrows
We used to have arrows but it was set away from the description which took a lot of space.
It was changed to "More" text, but with the recent design changes I think it'd look better to get a mix between them both.
* Properly align icons
Co-Authored-By: Andreas <6576096+ghostbear@users.noreply.github.com>
* Expand support to Tablets
Get it... expand... hehe 😎
* Fix expanded width
Also fixes so that the constraint for the toggleLess is dependant on the right thing
* Give info toggles its own space
Uses its own margin now to push info rather than just being attached as a info margin.
* Remove weird duplicates I did not add
I did not add these but I don't see a reason to keep dupes
* Add bottom scrim
* Change to centered arrow under info
Anyone wanna experiment/build on top off then feel free to tweak
* Add background glow to icon for contrast
Co-Authored-By: Andreas <6576096+ghostbear@users.noreply.github.com>
Co-authored-by: Andreas <6576096+ghostbear@users.noreply.github.com>
Co-authored-by: Andreas <andreas.everos@gmail.com>
(cherry picked from commit 57aefcd9176450c6413d8e34482fb6c57d120498)
# Conflicts:
# app/src/main/res/drawable/manga_info_more_gradient.xml
# app/src/main/res/layout/manga_info_header.xml
# app/src/main/res/xml/manga_summary_section_scene.xml
* Fix failed reader context creation on v28
* Re-apply the reader styles manually after overriding night mode
This commit replaces the ThemeCompat.rebase() call since the private API used is
in dark greylist max target P, thus making it unreachable.
* Revert "Fix failed reader context creation on v28"
This reverts commit 6e2104d7
(cherry picked from commit b3854ad3829dbb97831cd8db3defeb967a89334e)
Co-authored-by: Andreas <andreas.everos@gmail.com>
Co-authored-by: Andreas <andreas.everos@gmail.com>
(cherry picked from commit 50b282f58ba37dd927a71c93a2a70938358e139a)
* Use user preferred title language in Anilist
Since Anilist is only used by authenticated users, the title language
can be set using the `userPreferred` field (defaults to romaji)
Changed wherever `title>romaji` was being used. Shouldn't have missed
any. `userPreferred` is also available for Staff and Character but not
relevant to Tachiyomi for now.
Users might need to go Logout and log back in on Anilist to see the
change. Actual setting can be found at https://anilist.co/settings/media
closes https://github.com/tachiyomiorg/tachiyomi/issues/5757
* correct title in anilist model
indicates the fact that userPreferred title is used
* convert forgotten `type` to `format` as well
leads to NPE when using `findLibManga`.
missed one query in https://github.com/tachiyomiorg/tachiyomi/pull/5741
(cherry picked from commit 708e71a35a275836f1f04ccc5f6de0725c4456f6)
The image will be drawn over it so the animation won't be visible anyway
(cherry picked from commit 4eaccc966eba26a47ed3e6d645dcccf8a4edf8ea)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt
* Requires authentication-confirmation to change biometric lock settings
* Prevent double authentications on older APIs when confirming settings changes
* Use new AuthPrompt API for app lock
With this commit, the app lock will only explicitly require Class 2 biometrics
or screen lock credential. Class 3 biometrics are guaranteed to meet Class 2
requirements thus will also be used when available.
* Use extension toast
(cherry picked from commit 90ab04e81d6ff26656488d3ab4dc3eca4976c5a9)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/security/SecureActivityDelegate.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsSecurityController.kt
* 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
* Put themed reader context in adapter
This avoids creating themed context everytime the page holder is created, this
also allows the transition view to use the same themed context.
* Check against app night mode to create themed reader context
* ReaderTransitionView: Use context theme color for texts
The whole reader will need to be recreated when changing reader background while
webtoon mode is used, because recreating just the RecyclerView without messing
up the scroll position is impossible (I hope I just missed something).
(cherry picked from commit 914b686c8eaf3954e291355975532eb28662c38c)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerViewerAdapter.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonConfig.kt
* use format instead of type in anilist search
As per anilist graphql docs, `type` refers to whether anime/manga and is
redundant (since we already limit it to `MANGA`). What we actually want
is `format` which includes whether the media is a One-shot or Manga
This should help in making search a bit better as one no longer needs to
rely on the Date to figure out if its the One-shot entry or the Manga
entry
* Revert "use format instead of type in anilist search"
This reverts commit 6f0ba4888669f414a2093d7632eb1fab109d74de.
Accidentally changed the wrong query while further testing whoops
* use format instead of type in anilist search
As per anilist graphql docs, `type` refers to whether anime/manga and is
redundant (since we already limit it to `MANGA`). What we actually want
is `format` which includes whether the media is a One-shot or Manga
Changes search query and corresponding JSONALManga structure
(cherry picked from commit 27133520fcede737fb2390014443c67dbb8801cb)
* add Theme "Teal & Turquoise"
* re sorting & change tertiary dark
* use alpha on ripple color & capitalize
(cherry picked from commit 83436c9550fb46f6322959b01959542e967ec84e)
Apparently 0 quantity is ignored for some locales...
(cherry picked from commit 071bad123208274a8d4858038b4073a0ce208aa3)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt
* Use relative time in ChapterHolder
Similar to how J2K does it
* Use custom implementation for relative time
* Changes based on review comments
(cherry picked from commit 57a5862840eafc0848c5226376f2f22c48693e5a)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/ChapterHolder.kt
* Tweak threshold
* Put setting under Webtoon instead
Because it only affects Webtoon related viewers
(cherry picked from commit 7907a4fc24c972811feb6dbf14e99200210e3925)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceValues.kt
Similar to app bar's scroll behavior
(cherry picked from commit ff2a4e69526a2edfa5f3bd7570c09204e5ebb9f9)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
Will also set to indeterminate if progress is 0.
(cherry picked from commit cc55453076b5055fcd202fa10fa56e86493679c7)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt
* Hide reader menu when user starts reading again
* Hide menu on zoom and scrolling around during zoom
Didn't work for webtoon
* Only listen when menu is visible
(cherry picked from commit 356cd4ef522bec405253954ec4b2dea90a4e69c7)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerViewer.kt
* Use CircularProgressIndicator on PageHolder
Manually rotate the CircularProgressIndicator inside a wrapper view instead of
drawing our own custom indicator.
* Use CircularProgressIndicator on TransitionHolder
(cherry picked from commit 6ba779fb7ae014d1f6e23d46cabf8c633d279d8e)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt
No need to touch light system bars when running the splash screen since
they're not that noticeable, and it also breaks on some ROMs.
(cherry picked from commit 116fec208b06bf3a5d8c23ea65831c175015cd90)
* Fix Cover sharing and saving
The newly added manga cover sharing only worked with manga saved to the library (due to the implemented CoverCache only recording covers of library manga).
The changes made with this commit fixes that behaviour by implementing a fallback: the cover can now also be retrieved from the Coil memoryCache.
* Removal of coil MemoryKey usage
No longer uses the coil memory key, instead starts a new Coil request for the cover retrieval.
* Removed try-/catch-wrapper and added context-passing
useCoverAsBitmap lost its try-/catch-wrapper and doesn't call for the context anymore.
Instead shareCover and saveCover now pass their activity as context to useCoverAsBitmap.
* Added missing parameter description for useCoverAsBitmap
(cherry picked from commit fcd6fe5d8a132c1f3773e23777d93b4d73e063ce)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt
* 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>
(cherry picked from commit 0d62aedfbb183fbe7c1a4886ed7505c5ce6c8518)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/base/activity/BaseThemedActivity.kt
* 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
* Hide Start/Resume FAB unless there are unread chapters
* Remove dead code, rewrite logic for hiding FAB
(cherry picked from commit a6d4a3b785b2ce922b3f0a058ead66d333ab8d12)
* 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
(cherry picked from commit 1ef77225040842af778282168e6fb8b11c339eeb)
* add Yin Yang Theme
* change download badge color to yin yang as well
* update string
* fix &
(cherry picked from commit d9ea621e544981062c2a67b8f4bb196cb0da904f)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceValues.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/base/activity/BaseThemedActivity.kt
* Make Automatic Reader Theme pick background/text color based on theme
* Use extension method
(cherry picked from commit c254aa6fcc511eb572f8337a776e4d9cee0cfe8e)
Based on 00f916a4f0
Co-authored-by: CarlosEsco <CarlosEsco@users.noreply.github.com>
(cherry picked from commit 07e5525c7433914f8e4b7dad03eb3081e622df48)
The old AMOLED Hot Pink theme is pretty close to what Midnight Dusk + AMOLED is now.
(cherry picked from commit e9dce32a9820e829b1caa1957d2ec1ab9cc9f3c6)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceValues.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/base/activity/BaseThemedActivity.kt
* 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
(cherry picked from commit 0eadc028b6f9daf38cae083cfdc2ff44a1836623)
# Conflicts:
# 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/base/activity/BaseThemedActivity.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsGeneralController.kt
* 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.
(cherry picked from commit 70ed49e4782579d6ce2e91ace75ef44f8460a64a)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/data/database/DbOpenCallback.kt
# app/src/main/java/eu/kanade/tachiyomi/data/database/queries/MangaQueries.kt
# app/src/main/java/eu/kanade/tachiyomi/data/database/tables/MangaTable.kt
* Add Migrate button marginTop and implement Hide not found manga in mass migration
* if else change
* move variable to adapter
* horizontal scroll view for checkboxes in migration_bottom_sheet.xml
* 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
* 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)
* Fix ReaderActivity system bars behavior
* Fix ReaderActivity transition view text color
* Don't change reader navbar color when windowLightNavigationBar is not available
(cherry picked from commit e2cf15785766f5a386c536154d055e18970adfac)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
* 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
* 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
(cherry picked from commit 64c95305b9831762cc0be72f7ab47b006da07fa8)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/base/activity/BaseThemedActivity.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
# app/src/main/res/layout/reader_activity.xml
* 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>
(cherry picked from commit 932c92412c29fe4a8d1410d29a6e77557ad48707)
# Conflicts:
# app/src/main/res/layout-sw720dp/manga_info_header.xml
# app/src/main/res/layout/manga_info_header.xml
# app/src/main/res/layout/reader_activity.xml
# app/src/main/res/menu/library_selection.xml
# app/src/main/res/menu/reader.xml
# app/src/main/res/values/colors.xml
# app/src/main/res/values/dimens.xml
* 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>
(cherry picked from commit 05771ddf6dc7cf61540c51ba1c2e1d4008778f64)
...the browse search
null safe cast to TextView because when searching for manga in a source,
the toolbar has no children and
find() returns null.
(cherry picked from commit ac6b4235b9293c032ad9a290347e0e2ded0a36b8)
* 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)
* Set notification icon fillColor to Android white
Closes#5340
* Remove '_black' suffix from the glasses icon drawable
(cherry picked from commit 653b7ffcd0fa5213668096059b43766f8ad8ed59)
# Conflicts:
# app/src/main/res/drawable/ic_tachi.xml
This reverts commit c69420373a7e61c1b4eea038447cff6f0409a201.
Caused crashes in TachiyomiSY for some reason. Will have to redo this once we target Android 12.
(cherry picked from commit 07de367476cb337f597880b6f73e8c53e9b2fd19)
* Enable secure screen when incognito mode is enabled
* Fix incognito banner not showing up after configuration changes
(cherry picked from commit fb8aafb69f252efbf9e58bdb80180b3afb59b866)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/security/SecureActivityDelegate.kt
* Coil: Enable disk cache for source items
* MangaCoverFetcher: Let Coil's OkHttp client handle caching for non-library cover
(cherry picked from commit 3527dedc993afc0d88143c4fd03fbaf953a4e715)
- Only used when width is >= 720dp instead of 600dp (typically 10" tablets)
- Fix fastscroll in manga view (fixes#5267)
(cherry picked from commit b03ebc1fa4d2fd4321ff736ddd9eda239fa2fdde)
# Conflicts:
# app/src/main/res/layout-w720dp/manga_controller.xml
* Removed the blinking icon and added back the indeterminate indicator for
queued items
* Make the downloading indicator a solid circle
(cherry picked from commit 9de07c11a624072a8ce7e13721103a06078dee67)
* Edge-to-edge bottom sheet when possible
* ReaderSettingsSheet: Animate background dim changes
* Adjust modal bottom sheet in-out animation
* Use public method to get bottom sheet behavior
* Set bottom sheet peek size to 50% screen height
The current auto peek height gives too low value on landscape orientation
* Set bottom sheet navigation bar scrim when needed
(cherry picked from commit 9f744bc44589a3e44fb8b655615c2184d1748c0a)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
* Animated icon for the Library tab
Co-Authored-By: CrepeTF <70870719+CrepeTF@users.noreply.github.com>
* Animated icon for the More tab
Co-Authored-By: CrepeTF <70870719+CrepeTF@users.noreply.github.com>
* Rename more_vert to overflow
Should maybe help any confusion together with the other more_horiz changes.
* Animated icon for the History tab
Co-Authored-By: CrepeTF <70870719+CrepeTF@users.noreply.github.com>
* Clarify names and clean files
* Animated icon for the Updates tab
* Animated icon for the Browse tab
* Recreate the animated icon for the History tab
History icons look better when the internal clock is not moving.
Co-authored-by: CrepeTF <70870719+CrepeTF@users.noreply.github.com>
(cherry picked from commit aed6e12119b1b71710a4dd4139e776ca63b4636c)
* display the currently active restrictions in the library update preference
* removed first line
* use constant instead of literal string
* remove spanned string builder
(cherry picked from commit d9c27e7109fb01db4a103a2d55b5573c2cfe2185)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsLibraryController.kt
* hide the score display on the tracksheet if not supported
* Convert track item to use LinearLayout
Co-authored-by: Andreas E <andreas.everos@gmail.com>
(cherry picked from commit 9a801cfdfba407634532a5ceac0170a9f4716447)
* Added "Green Apple" theme
Totally not stolen from other forks.
Although to cover all my bases I co-author all people who adapted the theme in any form.
Neko, J2K and Tako
Co-Authored-By: Carlos <2092019+CarlosEsco@users.noreply.github.com>
Co-Authored-By: Jays2Kings <jays@outlook.com>
Co-Authored-By: CrepeTF <70870719+CrepeTF@users.noreply.github.com>
* Add black as the OnSecondary color
Co-authored-by: Carlos <2092019+CarlosEsco@users.noreply.github.com>
Co-authored-by: Jays2Kings <jays@outlook.com>
Co-authored-by: CrepeTF <70870719+CrepeTF@users.noreply.github.com>
(cherry picked from commit 4af13e3536493db7de3ff5e24ae5794c1efe3661)
* add preference to auto update trackers during library update
* also update trackers when updating chapters and preference is set
* remove unnecessary launch/join
* perform tracking update within the same chapter update loop to avoid double notifications
(cherry picked from commit e76e903060658530909455664c954cc4a639527d)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
* removed the add function from TrackService.kt as it's not used except within the tracker implementations
* add private modifier
(cherry picked from commit acd927a937e1d7a7253dfd3954969ee9bb00d610)
* Organize and clarify themes file
Increases clarification with better commenting, should make it easier to add or modify current themes.
* Make AMOLED its own theme category
* Tweak ripples for AMOLED
* Add "Midnight Dusk" theme
Ports it from jobobby04/TachiyomiSY.
Co-Authored-By: CrepeTF <70870719+CrepeTF@users.noreply.github.com>
* Add "Hot Pink" theme
Ports it from jobobby04/TachiyomiSY.
Co-Authored-By: OncePunchedMan <64155117+OncePunchedMan@users.noreply.github.com>
* Make AMOLED a base theme
* Final tweaks
Rename "Toolbar.Light" to "Custom.PopupTheme"
Changes placing of backgroundDusk
Removes HotPink and MidnightDusk custom Toolbars, I believe they are unnecessary.
* Rename a Midnight Dusk color
* Make AMOLED independent from Dark as a theme
Co-authored-by: CrepeTF <70870719+CrepeTF@users.noreply.github.com>
Co-authored-by: OncePunchedMan <64155117+OncePunchedMan@users.noreply.github.com>
(cherry picked from commit 176e984b56d66d1e47bd367d7dde03e4a024152c)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceValues.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/base/activity/BaseThemedActivity.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsGeneralController.kt
# app/src/main/res/values/styles.xml
# app/src/main/res/values/themes.xml
The application class onCreate will also be called when user navigates to an
activity after the app process is killed by the system.
So make sure the incognito is disabled only when the entry point of the app is
created from scratch (e.g. after being force closed by the user).
(cherry picked from commit 3c186a3c8d3fd74f489a7aa2a27906d29502e0f6)
* fix: prevent crash if TrackService.getScoreList() is empty
* disabled track score button if service doesn't support scoring
* first implementation of the Komga tracking
this doesn't work for read lists
* auto track when adding to library
* handle refresh
* 2-way sync of chapters for unattended tracking services
* Update app/src/main/java/eu/kanade/tachiyomi/ui/manga/track/TrackSheet.kt
Co-authored-by: Andreas <andreas.everos@gmail.com>
* group strings together
* support for read lists
* sync read chapters on bind
* only mark local chapters as read during 2-way sync (incoming)
* local progress from read chapters will be sent to remote tracker on bind/refresh
this enables syncing after reading offline
* remove unused variable
* refactor the 2-way sync in a util function
* handle auto add to track for unattended services from the browse source screen when long clicking
this will also sync chapters, as it is possible to have read or marked as read chapters from there
* 2-way sync when library update for TRACKING
* refactor
* better handling of what has been read server side
* refactor: extract function
* fix: localLastRead could be -1 when all chapters are read
* refactor to rethrow exception so it can be shown in toast
* extract strings
* replace komga logo
Co-authored-by: Andreas <andreas.everos@gmail.com>
(cherry picked from commit d6b3b0baf70b3a6caccffd367b707f26c1e6010d)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
# app/src/main/java/eu/kanade/tachiyomi/data/track/TrackManager.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourcePresenter.kt
* Add an icon for each link in About
* Add icon for Open source licenses
* Reorder Facebook and Discord
* Revert "Add icon for Open source licenses"
This reverts commit 9b73f8443d1afea60f8bc4165663c8bef0ebf108.
(cherry picked from commit d3ceecf6200654649fc543cda0322b8ee2b3cccc)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/more/AboutController.kt
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
* hide update and history buttons option
* Move updates and history button in More then hiding
Co-authored-by: jobobby04 <jobobby04@users.noreply.github.com>
* disable always visible labels
* make it a setting
* remove redundant line
* Fix preference keys
* Update keys again
* Fix import
* Remove extra line
Co-authored-by: jobobby04 <jobobby04@users.noreply.github.com>
* Show notification to disable Incognito Mode when it's enabled
* Finish ReaderActivity and BrowseSourceController when incognito is disabled
* CLeanup strings
* Only register DisableIncognitoReceiver when needed
(cherry picked from commit cb203ef02cc3c078d5e5717b98ef1db1cf570586)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/App.kt
# app/src/main/java/eu/kanade/tachiyomi/data/notification/Notifications.kt
If more bugs appear probably better to go back to the main thread and process dual-pages every time a page is shown as it did before
(cherry picked from commit fe373a95a2a6eaf9792a28b4f2b4f394ae40fba4)
* Add manga-wised rotation mode settings
Based on #3522
Co-authored-by: bboyz269 <4453811+bboyz269@users.noreply.github.com>
* Fix small mistakes
* Complete TODOs
* Rename functions
rotation -> orientation
* Fix orientation icon not changing
Bug from video
* Fix bug with force portrait not being force if a default value
Bug from video
* Backup viewer_flag as a seperate field in so legacy/forks doesn't crash
* Make viewer_flags nullable so old backups viewer gets restored
* Add migration for old rotation and viewer to new defaults ones
* Rename variable in enums
* Fix migration after OrientationType was changed
* Remove untrue comment
Co-authored-by: bboyz269 <4453811+bboyz269@users.noreply.github.com>
(cherry picked from commit 0fef546a0d4b2a78089b0880564e80708afbe1da)
# Conflicts:
# app/build.gradle.kts
# app/src/main/java/eu/kanade/tachiyomi/data/backup/full/models/BackupManga.kt
# app/src/main/java/eu/kanade/tachiyomi/data/database/models/Manga.kt
# app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceKeys.kt
# app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchPresenter.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.kt