* fix : conditional check added to avoid stacking of dialog
In onClickListener, bottom sheet is being opened depending on status of dialog sheet, if it's showing or not.
* chore : refactored conditional logic
* Update ReaderActivity.kt
(cherry picked from commit 30ac94181b2c410aedead964a815b080ef3e62ee)
* Flatten available extensions with it's source
We should also do something similar for installed extensions
Supersedes #7200
* Dedupe sources
(cherry picked from commit c51e83c048b9575b322690fdadddba0001690d4d)
Item list is not changed as currently there is no fitting Compose component to
replace the drag-drop behavior.
(cherry picked from commit fb9791f5976b9a877adeb656e2decfc4d77420ff)
# Conflicts:
# app/build.gradle.kts
# app/src/main/java/eu/kanade/tachiyomi/ui/download/DownloadHeaderItem.kt
Not sure if I should abstract this out to per-tab though. Maybe when we need it...
(cherry picked from commit 21804bfc45b05c67fe6198cd0452cd67b05bc3e8)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/browse/BrowseController.kt
* Lessen the use of GlobalScope `launchIO`
* Wrap some calls with `NonCancellable` context
(cherry picked from commit da95ecb6869314f35eb73c6d9245b4e0d127f22d)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
Now uses enum to also handle timed lock
(cherry picked from commit 774a87a42ac0ad0410fe50272da9121796c1c95d)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/App.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/base/delegate/SecureActivityDelegate.kt
Also cleanup a little in WebtoonPageHolder
(cherry picked from commit fddca151823d066cad7f12da2e0b8d1c65f2b9d1)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonPageHolder.kt
* Add "Njalla" dns provider
Details ~~Tho there is none~~: https://dns.njal.la/
* Lint
(cherry picked from commit d85af2fec624aabfd9f2b2c829e8ea02dee09ad0)
TODO:
- Global search should launch a controller with the search textfield focused. This is pending a Compose rewrite of that screen.
- Better migrate sort UI
- Extensions search
(cherry picked from commit 92e83f702c775d5ab5a0b4248995308155150811)
# Conflicts:
# app/src/main/java/eu/kanade/presentation/browse/MigrateSourceScreen.kt
# app/src/main/java/eu/kanade/presentation/browse/SourcesScreen.kt
# app/src/main/java/eu/kanade/presentation/library/components/LibraryTabs.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/browse/BrowseController.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/sources/MigrationSourcesController.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesController.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesPresenter.kt
* Enable sub-languages on app first run.
* Fix wrong language code string parsing.
* Fix some build issues due to rebase.
* Use PreferenceHelper and remove an extra preference.
* Remove a constant.
(cherry picked from commit 084e6a964ee2f2a8499b861e5e3e58938ddab6e9)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionManager.kt
- Filters do affect this
- Won't be shown if tabs aren't visible and there's more than 1 category (so it'd always show the per-category count), but a separate stats page should show that info instead
(cherry picked from commit 8a3a7418d055b500517ef6c9c5623328ae01bc10)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
* Tweak flag classes for Library
- Add interface for Flag and Mask
- Merge Sort Type and Direction into one class
- Use custom serializers for preferences
- Mainly to not break the old
* Review changes
(cherry picked from commit 880407442c598d1b63db8be43f4848550dc17ff1)
# Conflicts:
# app/build.gradle.kts
# app/src/main/java/eu/kanade/domain/category/interactor/SetDisplayModeForCategory.kt
# app/src/main/java/eu/kanade/domain/category/interactor/SetSortModeForCategory.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/LibraryPresenter.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/library/LibrarySettingsSheet.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/library/setting/SortDirectionSetting.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/library/setting/SortModeSetting.kt
* trim newlines from user agent
* fix indents
* fix indents for real
* actually fix indents
(cherry picked from commit aab5f083dbae25380b97c7407309beb90a64d845)
- Allow large decrements (just goes to 0)
- Use Material3 text field for proper theming
- Move dialog composable to presentation package
(cherry picked from commit 03b9950fa15974f1a599a96c26177a612bed5c9d)
# Conflicts:
# app/src/main/java/eu/kanade/presentation/more/settings/database/components/ClearDatabaseDialogs.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt
* Move a few Dialogs to Compose
- Separating dialogs that are not needed in the PR for the move to Compose on the Browse Source screen
- ChangeMangaCategoriesDialog and AddDuplicateMangaDialog will be removed in the Browse Source screen PR
* Review changes
(cherry picked from commit 2453d1a8861d61b03dce398fad169e556551b400)
# Conflicts:
# app/src/main/java/eu/kanade/presentation/library/LibraryState.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
# app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
* Fix stucked downloads when service not started
* Fix chapter download restart even if should be deleted
(cherry picked from commit a70b8486468ce8b57ae7a7ddc3ac845337789d45)
* New Theme Tidal Wave
Added a new strong blue theme appearance to Tachiyomi titled Tidal Wave.
* Better Tertiary Color: Seafoam Green
Updated the tertiary color to be lighter and match the blue more. Also changed the active button color to contrast better.
(cherry picked from commit 4b0f54966653c0a313d60cfe0d13d12b2c12ec79)
Also fix sort direction can't be changed for default category
(cherry picked from commit 763288ab137505813f951bb02ca3ba9c1590dbc4)
# Conflicts:
# app/src/main/java/eu/kanade/domain/category/interactor/SetSortModeForCategory.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/library/setting/SortDirectionSetting.kt
Also add required config for android 13 system picker
(cherry picked from commit 2d690a09b37a55e87ce4365102ee818c5d9d1ba0)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsGeneralController.kt
Based on #7708, #7709 and #7717
Co-Authored-By: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
Co-Authored-By: Andreas <6576096+ghostbear@users.noreply.github.com>
Co-authored-by: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
Co-authored-by: Andreas <6576096+ghostbear@users.noreply.github.com>
(cherry picked from commit 1474c8ffb337f824bc7f30f1f0f3e70e27205254)
* Change return value of `SyncChaptersWithSource.await()`
`updatedToAdd.subtract(reAdded).toList()` never worked as at this point `updatedToAdd` contained ids from db where `reAdded` had default one. Was the same case before the rewrite.
Removed `toDelete` from return value as it was not being used anywhere
* Add doc string
* Use HashSet
Co-authored-by: stevenyomi <95685115+stevenyomi@users.noreply.github.com>
Co-authored-by: stevenyomi <95685115+stevenyomi@users.noreply.github.com>
(cherry picked from commit 11f640cfee427b8912cdc43fc3efc61e0f774aa7)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
* Fix back handling when manga is still loading
* MangaPresenter: Show what we have earlier to reduce percepted slowness
(cherry picked from commit b4e15263db3d00326abe5886fffb3608c9a85c47)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
* Fix glance failing when there's too much children
* Adjust cover error placeholder
(cherry picked from commit 16abfeeff0eb482482fb60ac8ab6d01d75942531)
Also remove some usages of runBlocking
(cherry picked from commit 3bc6b1e202f8344356720467c60da19239e22ebc)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/more/AboutController.kt
- Fix categories modal showing when adding from source with no categories
- Use old categories icon in library bottom action menu
(cherry picked from commit 688cc64dffa8cdf1241d3b4e2467b5e8c8529800)
# Conflicts:
# app/src/main/java/eu/kanade/presentation/components/MangaBottomActionMenu.kt
# app/src/main/java/eu/kanade/tachiyomi/App.kt
The abstraction was useful for handling 2 systems, but it's no longer needed. Cleaning it up will make migrating to domain models easier down the line.
(cherry picked from commit a2bb81b7db457c3927eaa1f03416a9b07985842b)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupManager.kt
# app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupRestorer.kt
# app/src/main/java/eu/kanade/tachiyomi/data/backup/models/Backup.kt
# app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupFlatMetadata.kt
# app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupMergedMangaReference.kt
# app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupSavedSearch.kt
# app/src/main/java/eu/kanade/tachiyomi/data/backup/models/metadata/BackupSearchMetadata.kt
# app/src/main/java/eu/kanade/tachiyomi/data/backup/models/metadata/BackupSearchTag.kt
# app/src/main/java/eu/kanade/tachiyomi/data/backup/models/metadata/BackupSearchTitle.kt
* Add missing Authorization header on MAL refresh token request.
* Make sure to also close the response when it have failed.
(cherry picked from commit 531546790853dd9adb91777de8d9560a610c4838)
* Revert "Use SharedFlow for available extensions to always emit the value (#7609)"
This reverts commit 73901f50c0aee1cb82695642af72ff6ac7bc232d.
* ExtensionPresenter: Explicitly set refreshing status
* Scope coroutines job to presenter
* cleanup
* fix toast
(cherry picked from commit b3426f37e7d36be653363338288f74e2ae252a78)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionManager.kt
* Save read duration to backup
* Add default value
Co-authored-by: Andreas <andreas.everos@gmail.com>
Co-authored-by: Andreas <andreas.everos@gmail.com>
(cherry picked from commit 3d4e56948d86d10ecd227fb59b92da069f37a89f)
only on updates and history screen for now, but the required changes on app bar
is there.
also fix missing incognito-downloaded mode indicator on history screen
(cherry picked from commit 737cf9898db0f3e89752b82753c7fe2a88d7fef9)
* Use Stable interface for Updates screen + Cleanup
Co-Authored-By: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
* Disable swipe refresh in selection mode
* Review Changes
Co-Authored-By: Andreas <6576096+ghostbear@users.noreply.github.com>
* Review Changes 2
Co-authored-by: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
Co-authored-by: Andreas <6576096+ghostbear@users.noreply.github.com>
(cherry picked from commit 4774deb1efe023ecff4fd41708dd224edc216c0b)
- Fix mixup in Action Menu
- Fix back action not clearing search
(cherry picked from commit db93d1da76ba453e5b499bab0d2482728014786f)
# Conflicts:
# app/src/main/java/eu/kanade/presentation/library/LibraryScreen.kt
* MangaScreen: Disable swipe refresh on action mode
* MangaPresenter: Add distinctUntilChanged to db flow
Now will only emit update when the related entry is changed
(cherry picked from commit 483b204fb5b6790fb6fe59ffd80345cd484ca241)
# Conflicts:
# app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
* Add center margin option for horizontal dual page view
* Update readme to make the point of the fork obvious
* Center margins now added to large single images that would display in place of two smaller pages
* Cleanup; reworked preference into an int selector to specify which margins to add
* Suggested fixes and and readme reversion which somehow got skipped last commit
* Missed the build block in readme. Oops.
Probably related to 788583e66f6ad355f65f5bd2db303faa85163c5c
(cherry picked from commit 1c8da5fa974b4cfd0fd762b0b1c2a07622ac7662)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceController.kt
- Fixes Extension screen being stuck refreshing due to StateFlow not emitting due to the value being the same
(cherry picked from commit 73901f50c0aee1cb82695642af72ff6ac7bc232d)
- Toolbar not having padding in landscape
- Fix library always refreshing everything even though user is refreshing category
- Tab text using primary color
- Fix Grid having to big of a top padding
- Fix Pager crashing when initial page is greater than the number of categories
(cherry picked from commit bc1f6ba5177735e76b2b42f7884edfbe8f30006e)
# Conflicts:
# app/src/main/java/eu/kanade/presentation/library/LibraryScreen.kt
- Adds Stable interface
- Move last Dialog into Compose
- Make History screen be full Compose screen
(cherry picked from commit c751851941796ae7fa10f9dfba9b75396bbbf692)
- Move Pager to Compose
- Move AppBar to Compose
- Use Stable interface for state
- Use pills for no. of manga in category instead of (x)
(cherry picked from commit 2b8d1bcc02994e75e1479b037ef50eb84ae674d7)
# 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
# app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryAdapter.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
- Migrate sources filter screen to full compose
- Use standard "OK"/"Cancel" actions for delete category dialog
- Abstract some AppBar logic
- Remove some dead code
- Group related strings
(cherry picked from commit e2510c144ad3568caf81660d6ab1b4023202aad4)
# Conflicts:
# app/src/main/java/eu/kanade/presentation/browse/SourcesFilterScreen.kt
# app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt
* Migrate Updates screen to compose
* Review Changes + Cleanup
Remove more unused stuff and show confirmation dialog when mass deleting chapters
* Review Changes 2 + Rebase
(cherry picked from commit d8fb6b893fd9ae6aab3b4762837ebce496a214b3)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/recent/updates/UpdatesPresenter.kt
# app/src/main/sqldelight/migrations/18.sqm
This lets us make it more consistent with the Compose screens for now. Maybe it'll return in the future.
This also includes making the AboutController a full Compose controller with a new abstracted TopAppBar composable.
(cherry picked from commit 80c7a453286f296ae4d5d3531c805e63db9ca424)
# Conflicts:
# app/src/main/java/eu/kanade/presentation/category/components/CategoryTopAppBar.kt
# app/src/main/java/eu/kanade/presentation/more/about/AboutScreen.kt
When manga screen takes time to load incognito and downloaded only label doesn't show up. It's fixed in the pr.
(cherry picked from commit b034f503f8ce9327187c2024b7ee74779f397bb8)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
- Clean up unused code
- Add text shadow in compact mode
- Tweak some paddings to better match stable
(cherry picked from commit fa73e2403b79deca40590d8f4fa15f00a70e316e)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
- Replace ExtensionManager relay and observable with Flow
- Inverse SourceManager dependency
- SourceManager observers ExtensionManager flow
- Separate SourceData from SourceRepository as it created a circular dependency
(cherry picked from commit 35ec5936587799f33a264f57729cb4b75c5a0f72)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/source/SourceManager.kt
* Little cleanup for stub source
Fixes instances where name shows up blank for stub sources
* Review Changes
Co-authored-by: Andreas <andreas.everos@gmail.com>
Co-authored-by: Andreas <andreas.everos@gmail.com>
(cherry picked from commit 902bb35ba7f56f06660985dda0f7f8abf41ee669)
- Turn on `foreign_keys` to cascade on delete properly
- Turn on `journal_mode` and set `synchronous` to NORMAL which may help performance for larger libraries
(cherry picked from commit d977b89af1f2a8850437ebd978535fc3fbfd257e)
* MangaScreen: Improve chapter list scrolling performance
Process chapter title, date and read progress string ahead of time
* Use enum for contentType and add key
(cherry picked from commit 1551891c15eb5d323cb1d425794876a753316091)
# Conflicts:
# app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
* Increased touch target
* Fix downloaded icon smaller than other states
* Deferred state reads to minimize recompose works
* Move things around to eliminate unnecessary elements
(cherry picked from commit e56f6c10177949c88e61d13e95b23545bef06641)
Animating the content padding that's used for the lazy list is heavy. A simple
fix to *just* offset the list is blocked by a Compose fling issue (b/179417109).
So I decided to go with the previous layout of this screen by putting everything
in the list. MangaInfoHeader is split into separate composables to avoid jank
when the item is being inflated.
(cherry picked from commit 34906a74253e7463ac23ea96496c59198884e0be)
# Conflicts:
# app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt
# app/src/main/java/eu/kanade/presentation/manga/components/MangaInfoHeader.kt
# app/src/main/java/eu/kanade/presentation/manga/components/MangaTopAppBar.kt
* Reset lastPageRead when chapter is marked unread
* Remove a bit of repetition in SetReadStatus
(cherry picked from commit 5159eabc5dfd77dd7e4a480c1982bd1d2e5fbb92)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
- Uses the new `asObservable` function to change the database calls to use SQLDelight, which should make the impact minimal when it comes to bugs.
- Use interactors where they already exist
- The todos are for the Compose rewrite
- Removed unused StorIO methods/queries
- Tested loading library, move manga to new category, unfavorite multiple manga, move multiple manga from one category to another, change filter, sort and display settings (with and without per category settings), (un)mark chapters, start/delete downloads
Thank Syer for asObservable
Co-authored-by: jobobby04 <17078382+jobobby04@users.noreply.github.com>
Co-authored-by: jobobby04 <17078382+jobobby04@users.noreply.github.com>
(cherry picked from commit 05085fe57fe4c3ada497f93b8cd282a5009cdbbb)
# Conflicts:
# app/src/main/java/eu/kanade/data/manga/MangaRepositoryImpl.kt
# app/src/main/java/eu/kanade/tachiyomi/data/database/DatabaseHelper.kt
# app/src/main/java/eu/kanade/tachiyomi/data/database/queries/CategoryQueries.kt
# app/src/main/java/eu/kanade/tachiyomi/data/database/queries/MangaQueries.kt
# app/src/main/java/eu/kanade/tachiyomi/data/database/queries/TrackQueries.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchPresenter.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/library/LibrarySettingsSheet.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
* Add new "Lavender" theme
* Add light theme values for Lavender theme
* Fix order of enums
* Fix accented UI elements in set categories sheet being different colors
Co-authored-by: CrepeTF <trungnguyen02@outlookcom>
(cherry picked from commit ad106bd8842dfc9c047c0412b92a0cb1dc1aba1a)
* Use sqldelight in migration
* Some more changes
Co-Authored-By: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
* Review Changes
* Review changes 2
* Review Changes 3
* Review Changes 4
Co-authored-by: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
(cherry picked from commit e3b1053c03da17c8c1b66f1914251707134e84a9)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchPresenter.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
Currently breaks initial settings state until the source of truth is
properly updated.
(cherry picked from commit 005b9b595cfe41484eea94998d2f3c9918759a94)
# Conflicts:
# app/src/main/java/eu/kanade/domain/manga/model/Manga.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/ChaptersSettingsSheet.kt
Now checks for the backstack for any dialog controller when a push exit occurs
before restoring the title alpha.
(cherry picked from commit ae88252cb189283a87c3294c0b6c4bb28064b0f6)
* Use SQLDelight on Category screen
* Include category name in DuplicateNameException
(cherry picked from commit 017f6b22f02ef06cd5a3d521715c32c5e3b2b0e6)
# Conflicts:
# app/src/main/sqldelight/data/categories.sq
* Add cancel button in app update download notif
Since stuck downloads are a common issue and only solution until now was
to force close the app or download and update the app manually by
downloading from GitHub (which clears the notif away)
Based on commit
4dea924337
Co-authored-by: Jays2Kings <8617760+Jays2Kings@users.noreply.github.com>
* Linting by Android Studio
* commit PR Review Suggestion
Update app/src/main/java/eu/kanade/tachiyomi/data/notification/NotificationReceiver.kt
Co-authored-by: arkon <arkon@users.noreply.github.com>
* Use `launchIO`
copied this over from how j2k was doing it. Launching in IO Thread like
how it was before this PR is sufficient
* Clear previous actions before adding `Cancel`
Otherwise, it led to two identical Cancel buttons
Co-authored-by: Jays2Kings <8617760+Jays2Kings@users.noreply.github.com>
Co-authored-by: arkon <arkon@users.noreply.github.com>
(cherry picked from commit fdf384b8092d09f0a4e68c5688f9c1c1e94c80d0)
* Fix Links to Changelog/Readme/Commits for `multisrc`
working basic fix. Needs to be refactored into `createUrl()`
* Refactor back into `createUrl`
hopefully the logic is understandable
there's three cases:
- when multisrc, if `path` isn't mentioned, then we're trying to open
commmit history
- when multisrc, if `path` is mentioned, then its either a changelog or
a readme to a multisrc extension, the files are stored in the
`overrides` subfolder
- when not multisrc, we're looking at a single source where the links
are constructed in the same way regardless of it being
changelog/readme/commit history
(cherry picked from commit e7695aef78c92c10e5bae953b24a19e67ac156af)
Co-Authored-By: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
Co-authored-by: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
(cherry picked from commit 5bb78eb77f2f68c40079548d5fe3b75a11f2bf71)
# Conflicts:
# app/src/main/java/eu/kanade/domain/manga/model/Manga.kt
# app/src/main/java/eu/kanade/tachiyomi/data/database/queries/MangaQueries.kt
# app/src/main/java/eu/kanade/tachiyomi/data/database/resolvers/MangaLastUpdatedPutResolver.kt
# app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
* Make `syncChaptersWithSource` use sqldelight
Will break chapter list live update on current ui
Co-Authored-By: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
* Review Changes
Co-authored-by: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
(cherry picked from commit 120943a8b37eaf847ca1073676a8293288c28e12)
# Conflicts:
# app/src/main/java/eu/kanade/domain/manga/model/Manga.kt
# app/src/main/java/eu/kanade/tachiyomi/data/backup/AbstractBackupManager.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchPresenter.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
# app/src/main/java/eu/kanade/tachiyomi/util/chapter/ChapterSourceSync.kt
# app/src/main/sqldelight/data/mangas.sq
Use different key for custom cover and add last modified time for updating
cover without clearing the whole memory cache
(cherry picked from commit 59837bbb903dcfc2cf824972977b6247c713507b)
Fixing some things that were errors when compiling against SDK 33.
(cherry picked from commit cf48bbc176a164bf49a9dd3a0ccd3fe7cf4c6f2e)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt
Pulling out some of the smaller changes that aren't related to the manga controller changes in #7244
(cherry picked from commit 7fdbf40cd23132915bd90cf623e4a69fb560dd26)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/MigrationFlags.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchPresenter.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/ChaptersSettingsSheet.kt
- Protobuf backups have been around for 1.5 years now
- The ability to restore online-dependant data from JSON backups gets harder as time goes on and sources drift
- If users really need a way to restore them, they can use an older version of the app, or a separate tool for translating between the formats could be created
(cherry picked from commit d1be221d7aaa811e50417235021c7e038704d276)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/data/backup/AbstractBackupManager.kt
# app/src/main/java/eu/kanade/tachiyomi/data/backup/full/FullBackupManager.kt
# app/src/main/java/eu/kanade/tachiyomi/data/backup/legacy/LegacyBackupManager.kt
# app/src/main/java/eu/kanade/tachiyomi/data/backup/legacy/LegacyBackupRestore.kt
# app/src/main/java/eu/kanade/tachiyomi/data/backup/legacy/models/Backup.kt
* MangaUpdates tweaks
* Review changes
Co-authored-by: arkon <4098258+arkon@users.noreply.github.com>
* Use built in functions instead of Jsoup
Co-authored-by: arkon <4098258+arkon@users.noreply.github.com>
(cherry picked from commit c8468c29f1b65ce5e3a3680b3f095cf003d2f89d)
* Fixes: incorrect sorting when chapter name contains hyphens '-'
* Added a test case for hyphen in ChapterRecognitionTest.kt
* Removed chapter range test case since it will be replaced by chapterContainingHyphensCase
(cherry picked from commit 3e07100dc2725cb2d42050571232dd5d485b4de5)
Also rename some screens/controllers to better represent that they're the list views.
(cherry picked from commit 01e04e31bf63a9fed18d214f0d12b4c45c72f948)
# Conflicts:
# app/src/main/java/eu/kanade/presentation/browse/SourcesFilterScreen.kt
* Settings cleanup
* Oops
* Also hide "Invert tap zones" if tap zones is set to "Disabled" in ReaderReadingModeSettings
(cherry picked from commit 4c9331c4e94d384393708eb6751b918bb31c5d06)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt
* Detect identical mangas when long pressing to add to library
* Use extracted duplicate manga dialog to avoid duplication
* Partially revert previous commit
* Review changes
* Review changes part 2
(cherry picked from commit f1afeac0bcd3904c323e24d67dd945c85c666f92)
* Fixes:
- spliiting fails when the page was already been split and processed before
- Moved CBZ logic a little earlier to avoid marking a download as complete before the CBZ compression was completed
* Added a single space for readablity
* Added 2 spaces for readability
* Moved the splitting logic to happen inside getOrDownloadImage()
* Minor cleanup
* - Improved error handling when splitting fails due to OOM exception caused by BitmapFactory.decodeFile. - Changed logic from throwing error to only notify to allow the download to complete even if splitting failed.
* reverted auto formatting changes
* removed an extra loop
* Merged to Upstream, cleaned up
* Removed unused localized string
* Minor cleanup
(cherry picked from commit f75d63274089c5a0cfe0e1afde8703017b521870)
- Add pending intent immutable flags to satisfy lint warnings
- Change AddDuplicateMangaDialog arg to a function instead to avoid leaking controller-specific logic into it
- Require WebView 99+
(cherry picked from commit d3f9232a3fa50e02af110b5320b4fcf4bcccb3cd)
* Fix download splitter potentially throwing OOM on huge images
Also move the splitting to ImageUtil
* Change variable name and logcat output
(cherry picked from commit 9f655e0d41a690752ac440d9bc8fb56188d4ef0c)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/util/system/ImageUtil.kt
Instead of just checking whether the current app version *matches* with
latest app version in GitHub Releases, compare the semver from the tag
names to check whether the latter is greater and the app needs an update
Reference: semver spec #11https://semver.org/#spec-item-11
Co-authored-by: Andreas <6576096+ghostbear@users.noreply.github.com>
Co-authored-by: Andreas <6576096+ghostbear@users.noreply.github.com>
(cherry picked from commit e7ed130f2a4fcd7452737476189687fbd130c80d)
Currently, manually created backups contain list of categories even if
Categories option is not selected during Backup Prompt. This leads to
empty categories being created when restoring such backup files
This commit adds a check before saving categories list info to the
backup file. The check is the same check which is used while backing up
category info of manga in library
Tested and worked successfully on app installed on Android 12
(cherry picked from commit 11c01235ac32c8fd3de864c37cab82367b4a9e41)
- Remove some unused StorIO queries
- Clean up tall image splitting a bit (no need for creating an unscaled scaled bitmap copy, or tracking coordinates)
- Clean up library updater a bit (still needs a lot of work though)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/data/database/queries/ChapterQueries.kt
# app/src/main/java/eu/kanade/tachiyomi/data/database/queries/HistoryQueries.kt
# app/src/main/java/eu/kanade/tachiyomi/data/database/queries/MangaQueries.kt
# app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
# app/src/main/java/eu/kanade/tachiyomi/util/system/ImageUtil.kt
* Auto split long images to improve performance of reader
* Auto split long images to improve performance of reader - fixed the sorting
* Improved performance of splitting by getting rid of 1 extra loop
* Cleaned up code and moved the functionality to work during the downloading process (unsure how this affects download speed)
* Replaced the import .* with the actual used imports
* Fixes for Bugs discovered during my testing
* Fixed last split missing bug.
* Reordered the download progress to be updated before splitting instead of after to reflect more meaningful progress of download
* Reverted last commit since it had no effect
* Improved progress tracking when a download is paused then resumed.
* Implemented the recommended changes to enhance the feature.
* Apply suggestions from code review
Co-authored-by: arkon <arkon@users.noreply.github.com>
* Update app/src/main/res/values/strings.xml
Co-authored-by: arkon <arkon@users.noreply.github.com>
Co-authored-by: arkon <arkon@users.noreply.github.com>
* Make `HistoryState` similar to `MigrateState`
* Review Changes
* Also cache the transformation
Co-authored-by: Andreas <andreas.everos@gmail.com>
* Fix States
Co-authored-by: Andreas <andreas.everos@gmail.com>
(cherry picked from commit 5bd5b215430c6d19c1e4314bdaf4264eb43e9d29)
* make `SourceState` similar to `MigrateState`
* Review Changes
(cherry picked from commit bd45bf7407716bceec5cc226d3680676bb211fea)
# Conflicts:
# app/src/main/java/eu/kanade/presentation/source/SourceScreen.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcePresenter.kt
* Notify user of error during a page download failure
* Included the manga title in the error notification
(cherry picked from commit 5763201307551bcd6a1f25ca81c8125f6f434c0a)
* Migrate Source Filter Screen to Compose
* Changes from Review and some more fixes
* Rename some variable and classes
* Review Change
* Ewbase and Review changes
(cherry picked from commit 23f8f35354b30aded0749222234f76a4f9eaab5c)
# Conflicts:
# app/src/main/java/eu/kanade/domain/DomainModule.kt
# app/src/main/java/eu/kanade/tachiyomi/source/SourceManager.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourceFilterController.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcePresenter.kt
When using SQLDelight and Storio at the same time
(cherry picked from commit 891406cc7fbf9b449f306222e16b041b9ba8a96c)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/data/database/DatabaseHelper.kt
Some spring cleaning to remove some unnecessary complexity so things are easier to maintain.
- Start screen: redundant with app shortcuts in Android 7.1+
- Jump to chapters: irrelevant in tablet mode and people can scroll a tiny bit if they really have to
- Option to not scroll away bottom nav: issues with fast scroll will be irrelevant with it being replaced or removed in the Compose migrations
Get ready for people malding over their special needs. https://xkcd.com/1172/
(cherry picked from commit 0b77b78f6a360d759241ac42b1dcf0fe66b27d50)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsLibraryController.kt
Ascending by date = oldest dates first. If no date is present, fallback to epoch 0 (i.e., oldest).
(cherry picked from commit 7773deabc03eb106798aed113341acf66a5f6a77)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
Generally seems fine. People with weak devices may experience some issues, but they can toggle it off/extract the archives separately if needed.
(cherry picked from commit 883945e3e8b4c3fe5ec1bb151c247db7404b037c)
- Reword pins on top setting
- Make "Latest" button style match old UI
- Sort sources by name
(cherry picked from commit 08e63e5fab93154ca85d16e459226f01aeab5a2d)
# Conflicts:
# app/src/main/java/eu/kanade/domain/source/interactor/GetEnabledSources.kt
# app/src/main/java/eu/kanade/domain/source/model/Source.kt
* Use Compose in Source tab
* Replace hashCode with key function
* Add ability to turn off pins moving on top of source list
* Changes from review comments
(cherry picked from commit 29a0989f2889d3361f583285091878c9b4570a52)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/source/SourceManager.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourceController.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourceHolder.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourceItem.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcePresenter.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceController.kt
To be added back in a more consistent manner later around the app. Probably when more things are Compose-y with less repetition.
(cherry picked from commit c0214103a95e84e7f993831e497afc8560bed3ab)
* Migrate History screen database call to SQLDelight
- Move all migrations to SQLDelight
- Move all tables to SQLDelight
Co-authored-by: inorichi <3521738+inorichi@users.noreply.github.com>
* Changes from review comments
* Add adapters to database
* Remove logging of database version in App
* Change query name for paging source queries
* Update migrations
* Make SQLite Callback handle migration
- To ensure it updates the database
* Use SQLDelight Schema version for Callback database version
Co-authored-by: inorichi <3521738+inorichi@users.noreply.github.com>
(cherry picked from commit b1f46ed8302411fbd884bbc3c26fe28a378fd91a)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/data/database/DatabaseHelper.kt
# app/src/main/java/eu/kanade/tachiyomi/data/database/DbOpenCallback.kt
# app/src/main/java/eu/kanade/tachiyomi/data/database/queries/HistoryQueries.kt
# app/src/main/java/eu/kanade/tachiyomi/data/database/tables/CategoryTable.kt
# app/src/main/java/eu/kanade/tachiyomi/data/database/tables/MangaTable.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/setting/database/ClearDatabasePresenter.kt
# build.gradle.kts
Not enough room for 3 buttons. Users can still tap outside or back out of the dialog if they want to ignore it.
(cherry picked from commit 2ca6b655ad7d55856d9c0723fd42d009b29c6bd5)
Which is still stupidly high, but maybe it'll be lenient enough for certain people.
(cherry picked from commit cdd4ec623342de5894857f467bca2f2388b3f46d)
* Migrate History screen to Compose
- Migrate screen
- Strip logic from presenter into use cases and repository
- Setup for other screen being able to migrate to Compose with Theme
* Changes from review comments
(cherry picked from commit c475acd1eaf9f1fd9394f126a8a6f3c0daf52048)
# Conflicts:
# app/build.gradle.kts
# app/src/main/java/eu/kanade/tachiyomi/App.kt
# app/src/main/java/eu/kanade/tachiyomi/data/database/queries/HistoryQueries.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
# settings.gradle.kts
This is a partial revert/evolution of 538dd60580f1b97993620b05d353db883e44b552
- Back to notifications, because Android 12+ may cut off toasts
- Notifications now automatically dismiss after 30s on Android 8+ (taken from J2K)
- Also warn if more than 30 chapters are queued for download
(cherry picked from commit e81bd61e24d4d773dddce7f7fd11713fb511e8fb)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt
# app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
There's some weird crashes related to it. Happy Eyeballs will return once we upgrade again.
(cherry picked from commit f060daf8c4ed94c5c5b6dc3007ba620612d637b4)
* Added divider to top of migrate button + adjusted top margin
* Migration sheet now opens fully when initialized
Co-authored-by: CrepeTF <trungnguyen02@outlookcom>
To avoid potentially opening up third party apps, which aren't useful for handling OAuth login flows.
(cherry picked from commit 0ed0d903ccc63a17a122003333966522e0c7c090)
Users should better curate their chapter folder/file names if need be. There's legit reasons for a chapter to start with or contain the same word(s) that the manga title consists of.
(cherry picked from commit b89acb5853ee8cf3e53a45bb28dfd0607f00d158)
* Added basic move to top series feature
* Remove intermediate List
* Change text string
* Remove spanish manual translation
* Changed algorithm to use "partition"
(cherry picked from commit 3aa4e6eb93d7d821bfee313198f9d22f22da5889)
Considering there's no pagination for this list, the data loading can take some
time. So this will show the existing refresh indicator instead of empty view
while the list is loading.
(cherry picked from commit ffd9c6995a0ca376e72ca8271ff673b3477a6e78)
* Use the file extension from the ImageType enum
* Use the mime type from the ImageType enum
- On Android 29+
(cherry picked from commit cd070271921dd3191d1e3c51b631d9a2f999d5cf)
* Use MediaStore on newer Android Q or newer
* Use flow instead of Observable
* Review comment fixes
* Use suspended function instead of flow
(cherry picked from commit 1163aa4e4ecfe6f430e7f7c8323c0f64c73d7dbd)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/AppModule.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.kt
* Recreate Backup worker with IS_AUTO_BACKUP_KEY flag
* Extra safety net to not delete backup folder
(cherry picked from commit 86016de6cbca0c83e15a05ca822abe450374d26b)
# Conflicts:
# app/build.gradle.kts
* Use existing worker for manual backup creation
This will show the "creating backup" notification when auto backup is
running. Complete or error notification will continue to be shown only on
manual job.
* Make sure disabling auto backup don't cancel running manual backup job
(cherry picked from commit d53bb4c337da6df807b43295d2991e8af9015098)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/data/backup/AbstractBackupManager.kt
# app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupCreateService.kt
# app/src/main/java/eu/kanade/tachiyomi/data/backup/full/FullBackupManager.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsBackupController.kt
Reappear stably on the api30 Android Studio Emulator,
first save a large backup file,
then save a small backup file, overwriting the previous larger backup file,
so you get a backup file with a larger size but only the first part is meaningful,
(cherry picked from commit 6f5328f663a7c3e148fa1d5b93ab5186b244fa1d)
* fix: getPageHolder would always return the first split, as they share the same index
* split pages have the same number, we need an extra check to know whether we move forward or back
(cherry picked from commit 2f07f226b8182699884262ac67139454d5b7070d)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerViewer.kt
Use ConstraintLayout for ez size ratio calculation and merge cover-only view
holder with compact's
(cherry picked from commit fad1449de34952e12e2c5464dccf500d49fa7fa1)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceItem.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/res/layout/source_comfortable_grid_item.xml
# app/src/main/res/layout/source_compact_grid_item.xml
* add quad9 as new doh provider
* add ipv6 addresses to google doh
* revert changes to import
(cherry picked from commit d8c8d7c58853c28adb36b2398b5bc65b6b1b9374)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt
* No title grid added to library and source
* Else added to display title in case image is null or empty
* No title grid renamed and now only available in library
* Spanish strings about cover only grid removed
Co-authored-by: micaelagimenez <micaela.gimenez@ext.prosegur.com>
(cherry picked from commit 44b055c01986b6b4952ab4658e04cf236f922fa0)
# Conflicts:
# 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/LibraryItem.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/library/LibrarySettingsSheet.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/library/setting/DisplayModeSetting.kt
* pan if the image is zoomed instead of navigating away
quickly display full landscape image before zooming to fit height in fit to screen
* add Tap to pan preference, defaults to true
add landscape zoom preference, defaults to false
* hide landscape image zoom option if scale is not fit screen
* fix landscape image zoom for first image and loading image
* properly reload pagerholders when landscape zoom option is changed
* enable landscape zoom by default
(cherry picked from commit d8719ceee9d19af73649613695c739c68091f146)
# 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/PagerViewer.kt
* added duplicate manga check
When adding a manga to your library, the app will go through each manga previously added and compare their names. If a match is detected, it will prompt the user and ask for confirmation. On this prompt there is also an option to view the other manga.
* added german translations for newly added strings
* Revert "added german translations for newly added strings"
This reverts commit 71ada620671651daeeb2546aecd02400a4bc86bc.
* changed `AlertDialog.Builder` to `MaterialAlertDialogBuilder`
* using SQL query instead of filtering entire library with Kotlin
(cherry picked from commit 71ddb1657440d54178f10fd62e3d0c66ee95a5a0)
* Reduce notifyDataSetChanged calls when category count is disabled
* Fix category tabs briefly showing when it's supposed to be disabled
Also fix tabs showing when activity recreated
* Lift appbar when tab is hidden
Check against tab visibility instead of viewpager
* Restore selected nav item after recreate
* Simplify SHORTCUT_MANGA intent handling
Don't need to change controller if the topmost controller is the target
(cherry picked from commit 2932ed670f5760eba28aea80f1dd29e7a9af48c7)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
So nobody will think that the error layout is broken when they see different
layout.
(cherry picked from commit 7108993936f440e6ad7fa927966b4963ec913124)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt
This requires adding the status bar foreground drawing logic since the parent
class wouldn't know the inset changes anymore.
(cherry picked from commit a68f12359436f0b57b50482687553f0a0b01845c)
* Fix Global and extension search input accepts formatted text #6495
* Code change as requested because of performance issue
* code changes as requested
* minor code changes
(cherry picked from commit 77a3acf5cc24410c7bc4b53b30c1f2e8e2f6f63c)
Since it seems to work fine, regardless of what the Material Components library seems to dictate.
(cherry picked from commit e3f3686b8a90fffe5140129a40f67b435c7d71a8)
To be exposed in extension-lib 1.3
(cherry picked from commit 375a27a93d76292a47310e9544c895f517af35f9)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoHeaderAdapter.kt
* More coil
* ExtensionController: Drop first text change event
* Browse-Source: Remove unnecessary load
* ExtensionPresenter: Increase debounce timeout
To avoid heavy list reload during first enter animation
(cherry picked from commit 78a261f5d3911cd0546445c8f6e6e7baff35ae35)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourceController.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourceHolder.kt
* Use material components on reader error views
* Adjust image loading behavior
Don't set automatic background color right away and keep show progress indicator
until the page image is fully loaded.
(cherry picked from commit b8f7653fb2eec259172e8b4631cdac5f662cafda)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt
App data is typically deleted during app uninstallation, which some users are unaware of. The folder is also inaccessible externally by default in Android 11+, which is also annoying to users.
(cherry picked from commit 8a5d8c96ef65abfd7e0dce0f9530849e0afabf34)
The remaining ones could also be converted to FlowPreferences for this, but it's not really necessary.
(cherry picked from commit f3718257f50e595dbbf04c8d2e90a21fb4d80c09)
# Conflicts:
# 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/extension/ExtensionPresenter.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/library/LibrarySettingsSheet.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsBrowseController.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
This is a follow up to 845e06138299c0333ca90ed9578422567779a9ac
...jk i actually forgot about it
(cherry picked from commit 728e14e8e4f4d8d02aff429104afda213437ae8c)
Add support to searching with source name, id and baseUrl for a extension's sources.
(cherry picked from commit 9e83130bd8a8fac1b13b0d093c301cd93892c27e)
* Pair ActionToolbar with ActionMode
This makes ActionToolbar an activity object that can be configured in the
similar way as ActionMode
* Remove action toolbar workaround now that it stays in activity layout
5924
* Set status bar color when action mode is active
6256
* Adjust fab show timing after action mode finished
* Adjust action toolbar layout and animation
Default corner size and use bottom sheet animation
6069
* Adjust action toolbar layout on large screen
Right half of the screen
(cherry picked from commit 2ed01af72381c3abc8692af22bc528c93f24d530)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
This doesn't make sense to have if the intention is to have reasonably sized global updates. Opting to remove it to remove complexity instead.
(cherry picked from commit 65062b4bcbe65ffc75a6c5e656d39c91be327d63)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/data/database/queries/MangaQueries.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsLibraryController.kt
* Add option for library update only update completely read manga
only check manga for updates if there is no unread chapter
* sum
(cherry picked from commit 6fddad7a77fca781582b9d98de66c29848df2a17)
Since apparently people don't read and either option is considered destructive to different people.
(cherry picked from commit cd87c7e88efafd5800b563d51c2ede4a84ad5e4b)
* Update shizuku api version
* SettingsAdvanced Controller: Verify if Sui is available
(cherry picked from commit 0a6160d7cf8a343ebe60ec814c42e3272a015d2e)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt
* Automatically set tracker as completed after reading the last chapter.
* use integer value in comparison
* also set `started_reading` date
* don't use source manga's status
* remove useless line
(cherry picked from commit a9d2741e6ab1f2c54398703a3ae7c0272a458b89)
* SimpleNavigationView: Don't set background and elevation
* Add divider for tabs in bottom sheet
(cherry picked from commit be0a23d9ad6a82ed9b26eaa6248807a80876db63)
(Which doesn't actually exist yet, but will at some point after the next major release)
(cherry picked from commit 60e73e2d1f89e254616fb5659d9f53f6399bbdba)
To be included in extension-lib 1.3 as a replacement for the lib that's currently compiled in tachiyomi-extensions.
(cherry picked from commit e8f284d377ebe6930e147cd36494020d4ae96f47)
To be included in extension-lib 1.3 (or whatever it's going to be). This applies to sources like Komga or Lanragi, where large numbers of update/download aren't of concern since they're (usually) self-hosted.
(cherry picked from commit 3ea3b0bf2ecc3f74a790af2012dd4f4a6b2ab3f7)
* fix local source cover changing
* Remove unnecessary check for `exists()`
* fix for when there is no thumbnail_url in the db
(cherry picked from commit 10ddeeb7999214f1ed2fa579dadab7e9e379c1a6)
* MinMaxNumberPicker: Set IME input to use number only
* MinMaxNumberPicker: Auto disable keyboard input when needed
(cherry picked from commit 3463d6c752cfc1145f4c8db9f65f145002ece5fb)
* Implement feature to selectively clear manga from database based on it's source
* Code cleanup and refactoring
(cherry picked from commit 9fe1a7e2ae14c4d7e70bfd85516d91c44514f04a)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/data/database/queries/MangaQueries.kt
# app/src/main/java/eu/kanade/tachiyomi/data/database/queries/RawQueries.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt
* Fix "Check for updates" not working due to time cooldown
* Update AppUpdateChecker.kt
Co-authored-by: arkon <arkon@users.noreply.github.com>
(cherry picked from commit c0d0ff66b6b73efae29635a61e4ee2ea13a925b3)
* added automatic tablet ui option; useful for foldables
* set automatic as default, rename setting
* remove redundant checks
Co-authored-by: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
* remove redundant checks
Co-authored-by: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
* fix defaultValue
Co-authored-by: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
(cherry picked from commit 41952f02156c888c68157ce123f82c1a6f8a323c)
Causing too many theming issues/complexity. This will make the Material 3 transition easier.
(cherry picked from commit f85dfa90b867c80b7a456c07ee03f99c9b71a987)
* Lower position of swipe refresh
* Tweak existing code that sets swipe refresh position
(cherry picked from commit 78de11a9e3d0b09698ad7605e798c2ab8a8c7606)
For example, the application may be launched from a service, where channels cannot be deleted.
(cherry picked from commit d4aeeadb26b19d0eccbf9c9adcfd459d7a3927da)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/App.kt
getCoverFile only returns a cover if it already exists, meaning
the block of code to write it from the inputstream never executes.
If getCoverFile returns null, then use previous behaviour of setting
it to cover.jpg so that if the file doesn't exist it's created
(cherry picked from commit f0a5557e603e31a53117c40426237d2340142bc2)
The previous rationale for not allowing manga titles to update (at all) was that it would be confusing for users if a manga's title arbitrarily changed when the source changed it. Presumably, users would care less about this arbitrary change for manga that is not in library, so this provides a path for getting a manga's title updated, and prevents incorrect titles from persisting in the DB for manga that get title updates but aren't in library.
(cherry picked from commit 58a871c8cc600dbf59691e9c51413ef9b7da3796)
Because some people actually read images with really small text
*I hope they have some extreme high quality pictures else I don't know how they read the raster images*
(cherry picked from commit 8f00d34b0b3a5dc30f12ff5a22fd242ade84defe)
Hopefully fixes some weird states where the bottom nav shows up when it shouldn't.
(cherry picked from commit 593091a5e304eff771604ff2a91cdc0c886c4d68)
- Uses toasts now
- Adjusted wording to emphasize effect on sources
- Download warning has a different threshold (15 chapters per source, vs. 60 entries per source for library update)
(cherry picked from commit 538dd60580f1b97993620b05d353db883e44b552)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt
# app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
Users with smaller libraries have a lower change of getting updates frequently. "Power users" are actively hurting sources by updating frequently.
(cherry picked from commit 9e2ef82902369908503e860af12e8536a004bd43)
# Conflicts:
# app/build.gradle.kts
So I stop confusing it for updaters of other things.
(cherry picked from commit 21e647017b629d1ec07a32b548d27342810a2c6b)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/Migrations.kt
Reverts inset change from #5997, was changed due to it not changing the padding when using setPadding
(cherry picked from commit b4490e209ba74e657c192dddc983b17e8bc3217a)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryCategoryView.kt