* 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>
* Use custom QueryPagingSource
- Adds placeholder to make the list jump around less
- Fixes issue where SQLDelight QueryPagingSource would throw IndexOutOfBounds
* Review Changes
* 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>
* 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
Co-Authored-By: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
Co-authored-by: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
* 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>
- 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
* 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>
* 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
* 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
* 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
- 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+
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>
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
- 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)
* 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>
* Migrate Source Filter Screen to Compose
* Changes from Review and some more fixes
* Rename some variable and classes
* Review Change
* Ewbase and Review changes
* Add error state to MangaCover
- Add error drawable when thumbnailUrl isn't able to be loaded
- Tweak usage of MangaCover
* Change `contentDescription` to be nullable
As the invoke function makes default nulls
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/
* 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
* 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>
* 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
This is a partial revert/evolution of 538dd60580
- 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