Considering we never run or update them, they're not providing any value right now.
Kept the chapter recognition tests and bumped to JUnit 5.
(cherry picked from commit 4d23f35b9d4cb4491811823f1d1dd3b5e5cc4304)
# Conflicts:
# app/src/test/java/eu/kanade/tachiyomi/CustomRobolectricGradleTestRunner.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)