Commit Graph

3069 Commits

Author SHA1 Message Date
Cuong-Tran 9867c160f7 Remove redundant userSelected from selection methods (#2976) 2026-02-20 20:22:05 +06:00
Cuong-Tran 20c899f2cd Don't wrap an intent-chooser inside another intent-chooser (#2921) 2026-02-20 20:20:13 +06:00
Luca Auer 22d5c9d9f4 Fix thread starvation caused by not yielding or using an inappropriate thread pool (#2955) 2026-02-15 21:47:31 +06:00
MajorTanya cf93afab45 Add src:local search alias for Local Source (#2928) 2026-02-06 01:15:34 +06:00
MajorTanya b543bc089a Clean up some build warnings (#2929)
* Replace deprecated rememberPlainTooltipPositionProvider

* Remove superfluous when branch

This when is marked as exhaustive.

* Replace deprecated LibrariesContainer call

AboutLibraries now wants us to produce the libraries ourselves.

* Replace deprecated ClipboardManager with Clipboard

Clipboard uses suspend functions, hence the coroutine scope addition.

* Use multi-dollar strs to simplify GraphQL queries

These have been available since Kotlin 2.1.

* Remove various redundant casts & conversions

- WebViewScreenContent: loadingState is in the LoadingState.Loading
  branch, no need to cast at all
- Bangumi: username is not modified, make val
- Kavita: token is already a String
- PagerViewerAdapter: insertPageLastPage is already null-checked
- PagerViewerAdapter: use reified filterIsInstance
- ReaderViewModel: chapter IDs are already Longs
- CloudflareInterceptor: webview is smart-cast to non-null here

* Replace deprecated MenuAnchorType

Literally just a typealias for ExposedDropdownMenuAnchorType anyway.

* OptimizeNonSkippingGroups is enabled by default

* Suppress shadowing warning

This is explicitly intentional according to the KDocs.

* Migrate Context Receivers to Context Parameters

Requires changing the compiler arg, but that is part of the migration:

https://blog.jetbrains.com/kotlin/2025/04/update-on-context-parameters

Apparently, the only visible change is that names are required now.
"_" can be used for anonymous context parameters.

* Fix expression bodies with explicit return

Naming conflict resolved by aliasing.

From 2.4/2.5 onward, these will only be allowed with explicit return
types, or have to be turned into a block body. I opted for the latter
since the function is reasonably dense already.

see: https://youtrack.jetbrains.com/issue/KTLC-288

* Suppress deprecation of non-AutoMirrored icons

We use these arrows for navigation in the Upcoming screen.
I strongly doubt the AutoMirrored versions would make sense for our
use-case.

* Explicitly opt-in to new annotation default rules

affects the following annotated value-parameters:
- Preference.SliderPreference.steps (`@IntRange`)
- ReaderViewModel.State.brightnessOverlayValue (`@IntRange`)
- ReadingMode.iconRes (`@DrawableRes`)
- MigrationListScreenModel.Dialog.Progress.progress (`@FloatRange`)

see: https://youtrack.jetbrains.com/issue/KT-73255
see: https://github.com/Kotlin/KEEP/blob/change-defaulting-rule/proposals/annotation-target-in-properties.md

Warning message was the following:

    This annotation is currently applied to the value parameter only, but in the future it will also be applied to field.
    - To opt in to applying to both value parameter and field, add '-Xannotation-default-target=param-property' to your compiler arguments.
    - To keep applying to the value parameter only, use the '@param:' annotation target.
2026-02-05 11:29:21 +06:00
MajorTanya 4e4bdffdf3 Add "src:" prefix to search by source ID (#2927)
Allows users to search for the exact source ID in their library.

Similar to the Browse > Migrate screen, but filtered in the Library,
where users can take all the usual actions.

Could be used in the future to change the search behaviour of tapping
the source name in the title info view to search by the ID with this
prefix.
2026-02-03 15:54:22 +06:00
MajorTanya bbe9aa8561 Add Filters to Updates screen (#2851)
* Add Filters to Updates screen

Behaves basically like the filters in the library:

- Unread: Show/Don't show unread chapters
- Downloaded: Show/Don't show downloaded chapters
- Started: Show/Don't show chapters that have some progress but aren't
  fully Read
- Bookmarked: Show/Don't show chapters that have been bookmarked

Started behaves differently from its Library counterpart because the
actual manga data is not available at this point in time and I thought
calling getManga for each entry without caching would be a pretty bad
idea.

I have modelled this closely on the filter control flow in the
Library, but I'm sure this can be simplified/adjusted in some way.

* Move most filtering logic to SQL

Unread, Started, and Bookmarked filters are now part of the SQL query.

Download state cannot be filtered in the database so it remains in
Kotlin.

Because the Downloaded filter has to be run in Kotlin, the combine
flow uses the preferences flow twice, once to get the SQL query params
and once for the Kotlin filters (only Downloaded at this time).

* Add "Hide excluded scanlators" to update filters

Based on the work done in #1623 but integrated with the other filters
in this PR. Added the user as a co-author for credit.

Co-authored-by: Dani <17619547+shabnix@users.noreply.github.com>

---------

Co-authored-by: Dani <17619547+shabnix@users.noreply.github.com>
2026-01-17 10:43:40 +00:00
AntsyLich e059190fab Cleanup extension screen search query predicate 2025-12-27 01:34:00 +06:00
AntsyLich a39b5a56e8 Switch to M3E ExtendedFloatingActionButton 2025-12-27 01:04:49 +06:00
AntsyLich 2e0786f699 Fix reader not saving read duration when changing chapter (#2784) 2025-12-12 18:49:57 +00:00
AntsyLich c222a28bd1 Cleanup BaseOAuthLoginActivity and TrackLoginActivity (#2748) 2025-11-30 12:17:25 +00:00
Mend Renovate 13552c5ffa Update dependency com.pinterest.ktlint:ktlint-cli to v1.8.0 (#2708)
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
2025-11-23 07:55:54 +00:00
NGB-Was-Taken 2ec67ac0c1 Stop tap zones from triggering when scrolling is stopped by tapping (#2680) 2025-11-14 13:10:19 +06:00
AntsyLich 412815af06 Revert "Fix reader tap zones triggering after scrolling was stopped by the user" (#2670) 2025-11-07 13:07:14 +00:00
AntsyLich aa300cb53e Fix extra padding appearing in reader after user interactions (#2669) 2025-11-07 10:00:59 +00:00
AntsyLich 0acd80dd95 Fix long strip reader not scrolling on consecutive taps (#2650) 2025-11-04 06:46:48 +00:00
AntsyLich 0e0b6d9283 Handle reader cutout setting with Insets to support Android 15+ (#2640) 2025-11-02 16:28:25 +00:00
AntsyLich 5f0c460668 Make reader edge-to-edge (#1908) 2025-11-02 13:41:33 +00:00
Naputt1 ac28b6c80c Fix reader tap zones triggering after scrolling was stopped by the user (#2518)
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
2025-11-02 07:39:42 +00:00
Kashish Aggarwal 8662f80fbf Fix date picker not allowing the same start and finish date in negative time zones (#2617)
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
2025-11-01 15:38:33 +00:00
c2y5 87c6f34a55 Fix extension download stuck at pending state in some cases (#2483)
Also auto update extension list whenever a repository is added or removed

Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
2025-11-01 14:09:22 +00:00
Radon Rosborough 58b25d697f Improve handling of downloads for chapters with same metadata and optionally for OSes that don't support Unicode in filename (#2305)
Co-authored-by: jkim <jhskim@hotmail.com>
Co-authored-by: fatotak <111342761+fatotak@users.noreply.github.com>
Co-authored-by: MajorTanya <39014446+MajorTanya@users.noreply.github.com>
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
2025-10-08 05:07:09 +06:00
krysanify d88dbe6409 Fix crash opening filter sheet with empty library and mark as read/unread for selected items (#2355) 2025-08-07 19:48:21 +06:00
AntsyLich 1c3e96bf7f Revert "Add full predictive back support (#2085)" (#2362)
This reverts commit c12bdbae8e.
2025-08-07 09:04:34 +06:00
AntsyLich c4407eda0e Potentially fix library IndexOutOfBound crash (#2341) 2025-08-03 17:08:19 +00:00
AntsyLich 22f851173b Support mass migration in 'Browse -> Migrate' (#2338) 2025-08-02 19:45:10 +00:00
AntsyLich 982ebcf777 Support mass migration for selected library items (#2336) 2025-08-02 19:03:45 +00:00
AntsyLich e62cd0e816 Optimize and cleanup library code (#2329) 2025-08-02 03:04:23 +00:00
Danny Wu d2c1ff6adf Add option to hide missing chapter count (#2108)
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
2025-06-20 15:00:10 +06:00
jobobby04 ee19050cc0 Mass migration implementation (#2110)
There is no way to trigger mass migration at the moment. The functionality will be added in a follow up PR.

Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
2025-06-13 11:15:29 +00:00
AntsyLich 2b126f1ff5 Cleanup migrate manga dialog and related code (#2156) 2025-05-31 15:03:39 +00:00
AntsyLich 5919f34fc9 Fix no sources while migrating alongside UI and code cleanup (#2155) 2025-05-31 16:11:49 +06:00
claymorwan 77eb558742 Add Catppuccin theme (#2117)
Mocha for dark and Latte for light, mauve accent
2025-05-28 19:39:42 +00:00
AntsyLich 2e180005a0 Add migration config screen to select and prioritize target sources (#2144) 2025-05-28 15:04:44 +00:00
AntsyLich 209e982fe4 Fix content cut off in home screen
Closes #2141
2025-05-25 02:03:56 +06:00
AntsyLich f0de8f973b Disable reader's 'Keep screen on' setting by default (#2095) 2025-05-11 12:59:21 +00:00
AntsyLich c12bdbae8e Add full predictive back support (#2085)
Co-authored-by: p
2025-05-10 00:07:05 +00:00
AntsyLich 1c982c2a01 Fix crash when trying use source sort filter without a pre-selection (#2036) 2025-04-22 19:02:52 +06:00
AntsyLich 9750c1e4bd Fix content under source browse screen top appbar is interactable (#2026) 2025-04-20 19:12:41 +06:00
KokaKiwi 6632a12228 Fix reader not updating progress (#2007)
The condition for updating progress is wrong since fefa8f8498
2025-04-18 09:50:42 +06:00
AwkwardPeak7 fea85241af Include source headers when opening failed images from reader (#2004) 2025-04-13 23:05:42 +06:00
AwkwardPeak7 fefa8f8498 Surface image loading error in Reader (#1981) 2025-04-13 20:46:12 +06:00
AwkwardPeak7 f1e2efcb37 Change Page.State to sealed interface (#1988) 2025-04-13 16:32:20 +06:00
Cuong-Tran d9c4b56336 Fix navigation issue after migrating a duplicated entry from History tab 2025-04-09 23:04:26 +06:00
NarwhalHorns 12abd9938b Display total chapters on duplicates list items (#1963) 2025-04-07 17:33:49 +00:00
NarwhalHorns 0d35b6fdaf Display all similarly named duplicates in duplicate manga dialogue (#1861)
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
2025-04-03 01:54:46 +06:00
AntsyLich f81da3dcce Deduplicate entries when browsing (#1957) 2025-04-03 01:48:54 +06:00
AntsyLich c8ffabc84a Significantly improve browsing speed (near instantaneous) (#1946) 2025-03-31 13:17:22 +06:00
AntsyLich 8a21148578 Fix mark existing duplicate read chapters as read option not working in some cases (#1944) 2025-03-31 11:09:35 +06:00
Mend Renovate 556290f2d3 Update kotlin monorepo to v2.1.20 (#1883)
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
2025-03-31 04:05:38 +00:00