* 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>
* Don't compose category page unnecessarily
* Remove unnecessary library pager recompose
Defer and remember the "currentPage" state read since it's only needed when the
pager is composed for the first time.
* Badge opts
* Sync text style with previous impl
Also avoid reallocating by using copy
* MangaScreen: Disable swipe refresh on action mode
* MangaPresenter: Add distinctUntilChanged to db flow
Now will only emit update when the related entry is changed
Co-authored-by: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
Co-authored-by: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
In the context of a weaker device--remembering objects inside a list item
is expensive. So only do it when we really need to.
This also flattens the download button by drawing a single icon instead of using
separate icon and progress indicator.
- 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
- 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
* Migrate Updates screen to compose
* Review Changes + Cleanup
Remove more unused stuff and show confirmation dialog when mass deleting chapters
* Review Changes 2 + Rebase
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.
- Remove Compose top app bar behaviour since it's kind of jank -- we'll probably just remove the scrolling behaviour everywhere
- Tap title to rename
- Focus in textfield when opening dialogs
* MangaScreen: Improve chapter list scrolling performance
Process chapter title, date and read progress string ahead of time
* Use enum for contentType and add key
* Increased touch target
* Fix downloaded icon smaller than other states
* Deferred state reads to minimize recompose works
* Move things around to eliminate unnecessary elements
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.
* Use Compose for Category screen
* Use correct string for CategoryRenameDialog title
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
Co-authored-by: AntsyLich <59261191+AntsyLich@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
* 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
* 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