Commit graph

410 commits

Author SHA1 Message Date
Cuong-Tran
3fa1cf9e07 chore(deps): Automate app shortcuts with shortcut-helper plugin
- Revert shortcuts setup with `com.github.zellius.shortcut-helper`
- Switch to komikku-app/android-shortcut-gradle:0.2.0
2026-02-24 12:11:58 +07:00
MajorTanya
34102027d1 Clean up some build warnings (mihonapp/mihon#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.

(cherry picked from commit b543bc089a442c5e93b0fb6c83bc4037740b1eb5)
2026-02-05 22:56:31 +07:00
jobobby04
935f447fbb Mass migration implementation (mihonapp/mihon#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>
(cherry picked from commit ee19050cc00b0a787af65b641624d07bb194e155)

* Fix background crash in mass migration screen

(cherry picked from commit 63943debc2fd4efa1a0418bbfefaea93a24b49fd)

* Fix same manga check logic in mass migration

(cherry picked from commit f1193866f4306384a2a466c6353446bfed2bd9aa)

* Fix migration progress not updating and category flag mischeck (mihonapp/mihon#2484)

- Fixed an issue where migration progress wasn't updated after a manual source search
- Fixed incorrect logic where the category migration flag was ignored due to checking the chapter flag instead

(cherry picked from commit 16b5317b90b3064d12aa38f687cc30110fd8cdb3)

* Fix mass migration advanced search query building (mihonapp/mihon#2629)

(cherry picked from commit 7c08b75555a5444ede4912dc5e32607fac2b9678)

* Fix mass migration not using the same search queries as individual migration (mihonapp/mihon#2736)

(cherry picked from commit 7161bc2e825bdfd66a1829f7dce42bd0570b1008)

Co-authored-by: Cuong-Tran <16017808+cuong-tran@users.noreply.github.com>
2026-01-21 17:55:14 +07:00
Radon Rosborough
f12e997fb8 Improve handling of downloads for chapters with same metadata and optionally for OSes that don't support Unicode in filename (mihonapp/mihon#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>
(cherry picked from commit 58b25d697f7987e9888344e815d5646ec010a663)
2026-01-14 12:56:19 +07:00
AntsyLich
77ecb97535 Make reader edge-to-edge (mihonapp/mihon#1908)
(cherry picked from commit 5f0c4606681cd59b38ae0855c7827e149fa5488c)
2026-01-13 14:42:37 +07:00
AntsyLich
3ab83f1270 Switch to MaterialExpressiveTheme
Co-authored-by: Cuong-Tran <16017808+cuong-tran@users.noreply.github.com>
(cherry picked from commit 3e6afee13b9fd5716f7f2d547b3edcd3e17915db)
2026-01-08 12:15:55 +07:00
AntsyLich
bbb460bfd5 Use materilalKolor for monet compat color scheme
(cherry picked from commit 9a11ec8ead41cb7199e10f3c7464790a0bd3b1ad)
2026-01-08 10:51:14 +07:00
Cuong-Tran
76803d9649
Update shizuku.version to v13.1.5 (mihonapp/mihon#2566)
* Update shizuku.version to v13.1.5 (mihonapp/mihon#2566)

Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit e9469451acf6c7ad39ff08e344ad5013ddc39337)

* fix(ShizukuInstaller): Improve error handling during asset installation and receiver unregistration

* fix(ShizukuInstaller): Reset readiness state on service disconnection

* fix(ShellInterface): Enhance output stream handling with improved exception management

* fix(ShizukuInstaller): Improve null handling for shell interface during entry processing

---------

Co-authored-by: NGB-Was-Taken <76197326+NGB-Was-Taken@users.noreply.github.com>
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
Co-authored-by: Cuong-Tran <16017808+cuong-tran@users.noreply.github.com>
2025-12-31 13:54:35 +07:00
Cuong-Tran
f668e31cf6
fix(migration): Add Merged Manga Dedupe Mode Migration and update versioning (#1258) 2025-10-30 08:59:30 +07:00
Cuong-Tran
61c6918e11
chore(build): bump version code to 76 and version name to 1.13.4 2025-09-15 12:40:55 +07:00
Cuong-Tran
5dae177b08
feat(history): Add indicator for un-finished reading & has more un-read chapters (#992)
* feat(history): Add indicator for un-finished reading & has more un-read chapters

* Fix StateProvider

* Show reading progress in History screen

* Don't count bookmark excluded chapters in unread dot for History

* Don't count bookmark excluded chapters in Library unread count

* Exclude bookmark filtered chapters from continue-reading list

* Bundle `applyFilter` for bookmark & scanlator together

* Remove parentheses
2025-07-21 15:34:12 +07:00
Mend Renovate
ab44f49fff Update dependency org.junit.jupiter:junit-jupiter to v5.13.1 (mihonapp/mihon#1754)
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit 591e9c13560f28d71598eb32648387d099ebc881)
2025-06-16 00:38:37 +07:00
Callum Wong
3f2eb75b71 Add QR code scan button for sync API key (jobobby04/tachiyomiSY#1430)
* Add dependency com.journeyapps:zxing-android-embedded:4.3.0

* Add widget parameter to EditTextPreferenceWidget

* Add QR code scanner icon button to sync API key preference which launches a ScanContract

* Remove screenOrientation property from CaptureActivity manifest

* Allow scanning both normal and inverted codes

* store values and make code more concise

Co-authored-by: jobobby04 <jobobby04@users.noreply.github.com>

* Import local context

---------

Co-authored-by: jobobby04 <jobobby04@users.noreply.github.com>
(cherry picked from commit 84c7da5a7d244ffc0cd7155d15e0a200f548ad35)
2025-06-15 22:28:03 +07:00
Cuong-Tran
bc33a75b6b
fix(update-errors): Fix range selection & ordering latest error first (#914)
* Fix range selection

* Sort error list by latest error first

* Correct non-nullable lastUpdate & fix comment
2025-05-16 15:07:37 +07:00
Cuong-Tran
284ee890b4
update version & changelog 2025-04-10 00:22:25 +07:00
Secozzi
7f196f128b
Add markdown support for manga descriptions (mihonapp/mihon#1948)
(cherry picked from commit 4e68339783b47b0780e1b9aee643404339d35ed1)
2025-04-03 01:24:57 +07:00
kunet
0ef230f3dd
Add user manga notes (mihonapp/mihon#428)
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit 8fbe630308b962043c7b59422878c94f80156e9f)
2025-04-03 00:36:31 +07:00
Cuong-Tran
7b635662d1
Update workflow build & fix benchmark build 2025-03-29 16:40:36 +07:00
AntsyLich
bc9843e637
Use current time as build time for preview builds (mihonapp/mihon#1876)
(cherry picked from commit 935f1fcf3f8e4f9da4774d932b65ae77b44cc773)
2025-03-23 23:47:27 +07:00
AntsyLich
0df53a5125
Change 'include-analytics' to 'include-telemetry' (mihonapp/mihon#1874)
(cherry picked from commit 093e8e5c5afe970d5aa2f1c237d43ac7936256b2)
2025-03-23 23:47:21 +07:00
AntsyLich
d07d353140
For release builds use last commit time as build time (mihonapp/mihon#1873)
(cherry picked from commit dae7d179662ff6d6654e7c10e57f1aeeaf579de8)
2025-03-23 23:43:06 +07:00
AntsyLich
81209fb0d6
Move firebase stuff to a standalone module (mihonapp/mihon#1841)
(cherry picked from commit 046f09c4bdf8fe8bfe5886afefa0e440376184e7)
2025-03-23 23:43:06 +07:00
AntsyLich
3623b4efb6
Change foss variant application id suffix to '.foss' and more (mihonapp/mihon#1831)
- Remove `BuildConfig.PREVIEW`
- Rename `BuildConfig.INCLUDE_ANALYTICS` -> `BuildConfig.ANALYTICS_INCLUDED`
- Rename `BuildConfig.INCLUDE_UPDATER` -> `BuildConfig.UPDATER_ENABLED`
- Rename build property `with-analytics` -> `include-analytics`
- Rename build property `with-updater` -> `enable-updater`
- Add build property to disable code shrink
- Add build property to include dependency info in apk/app bundle

(cherry picked from commit 0893609ad2c4791dc404d72a5e69a2e0373517ae)
2025-03-23 23:43:06 +07:00
AntsyLich
73719f2f1b
Rework build variants and add FOSS variant (mihonapp/mihon#1775)
(cherry picked from commit fe22f5aa37d3613d4464e18153f183994fa45b7a)
2025-03-23 23:43:05 +07:00
Cuong-Tran
62b19ffd07
Build PR with devRelease 2025-03-08 03:16:52 +07:00
Cuong-Tran
f5bbf962fa
turn off updater in Debug 2025-02-27 15:28:45 +07:00
Cuong-Tran
2f33754c20
Fix App's preferences referencing deleted categories (mihonapp/mihon#1734) 2025-02-25 16:41:11 +07:00
Cuong-Tran
2e744ed5e9
built-in EH compatible with extension (#613)
* switch off integrated H to show E-H source & extension

* More languages for E-H/ExH, also more popular with rate 5

* Don't hide Multi source when toggle Integrated H

* Avoid crash trying to load ehentaiBrowseDisplayMode

* change source ID to matching general extension

* migration old source ID to new source ID

* Allow importing of EHentai extension backups

* limit library update & metadata source to only Multi lang

* update app version

* fix spotless

* also migrate saved search/feed & pinned EH/EXH source ID when restore from backup or update app
2025-01-26 02:20:06 +07:00
AntsyLich
c45c28e879
Remove unnecessary filters for pseudolocales
(cherry picked from commit da90064c948c629ebaf6d6a97ca0b6f52cb570f1)
2025-01-24 00:44:32 +07:00
AntsyLich
869e1626f8
Address some deprecations
(cherry picked from commit d53a3828b12daead9c898bea12c9a1497d07366f)
2025-01-24 00:44:22 +07:00
Cuong-Tran
23d53a4560
Drag & Drop to reorder category quickly in Settings/Category screen (#508)
* drag to reorder Category list

* smaller padding

* cleanup code

* fix build
2024-12-31 11:26:40 +07:00
Cuong-Tran
edb97f7902
fix app shortcuts (#557)
* fix app shortcuts

* remove zellius
2024-12-23 21:46:00 +07:00
Cuong-Tran
31485e840b
bump version & update change logs 2024-12-18 16:58:00 +07:00
Cuong-Tran
a8c587829c
Auto install app update (#561)
* migrating

* - Fix Broadcaster
- Include Updater for Debug
- json to emulate Github call

* - resetup AppUpdateJob when changing settings
- Fix ACTION_MY_PACKAGE_REPLACED

* improve notification

* update icon

* app update to high important

* - Run auto install on AppUpdateJob
- Add release link to job

* idle state & network aware

* fix duplicated job start

* don't show notification & start job for peek-into-preview

* allow cancel auto update job when set to NEVER

* always notify on install complete

* rearm AppUpdateJob each time MainActivity already checked for update

* MainActivity checks every 2 days, rearm AutoUpdateJob in 3 days

* - fix install error notification ID
- add timeout for manual installation if package manager crash

* settings & spotless

* restriction settings & auto run download-install if not in restrictions

* clean up
2024-12-05 15:41:50 +07:00
AntsyLich
3c0c45eb81
Address some build warnings and cleanup (mihonapp/mihon#1412)
(cherry picked from commit a1c60897916f418726107fec80ad79b2a4b8d500)
2024-11-01 10:37:52 +07:00
renovate[bot]
a68510edbb
Update dependency com.materialkolor:material-kolor to v2 (#406)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-29 17:13:35 +07:00
Cuong-Tran
fde71c0b70
Fix release update version checking & update release note template 2024-10-29 16:21:30 +07:00
Cuong-Tran
3f00487e95
bump release version
Also:
- change release note heading size
- fix release notes
- fix workflow
2024-10-29 02:17:46 +07:00
Cuong-Tran
453f6b0d8f
bump version & update changelogs 2024-10-28 23:52:57 +07:00
Cuong-Tran
6b6e6a7fba
fix dependencies 2024-10-28 23:12:15 +07:00
Roshan Varughese
8eb2582a88
Add option to opt out of Analytics and Crashlytics (mihonapp/mihon#1237)
(cherry picked from commit 7c7af72f8cb12decc06b76c36852dcc54696236d)
2024-10-23 14:19:45 +07:00
Cuong-Tran
721229b90e
matching source with SY 2024-10-23 14:19:45 +07:00
AntsyLich
890941fc02
Remove usage of deprecated accompanist SystemUiController
Co-authored-by: p
(cherry picked from commit 2ba3f0612c08c7021fed2f6d96cd538da2f34a13)
2024-10-23 13:08:41 +07:00
AntsyLich
eaaaaa0fdd
Update resources exclusion rules
Co-authored-by: p
(cherry picked from commit 481cfedf08576cecfbb35616837bd8f627d8f959)
2024-10-23 13:08:41 +07:00
AntsyLich
81d70c5ce3
Use new library for injekt with inorichi patch
(cherry picked from commit 83fd4746eda1b99f35292b0c2211e606a421b3eb)
2024-09-08 23:04:57 +07:00
AntsyLich
a1e0a1cd4b
Move archive related code to :core:archive
(cherry picked from commit bd7b35419861df6d426d6ec0a188391910d0f615)
2024-09-05 22:00:46 +07:00
Cuong-Tran
ffd5b4ebc1
Fix crashlytics while using custom global exception handler (#338)
* Add crashlytics to standard builds

(cherry picked from commit 3c611b95fb79e5ac972019b76c7b24f46a3087fd)

* Testing crashlytics

* working

* cleanup

* Revert "Auxiliary commit to revert individual files from 84232c7fe229bf557680a787fa02c055ca18dc66"

This reverts commit 2c9b6277b276f108a25e90e6be9a227440136063.

* Revert "Auxiliary commit to revert individual files from cf3f5fe1586f40fabf5b75a649ab332282608a08"

This reverts commit 708f6b1d3803374b0440d163560a682f0cfc618e.

* Only send crashlytics on Standard & Release/Preview build

---------

Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
2024-09-05 15:29:28 +07:00
AntsyLich
6b14769331
Migrate some classpaths to gradle plugins
(cherry picked from commit fc1c804bfda1d76c0399bbb6214e75b3def951cc)

# Conflicts:
#	app/build.gradle.kts
#	build.gradle.kts
#	i18n/build.gradle.kts
2024-09-04 19:07:51 +07:00
Cuong-Tran
b29e7c3ec5
bump versionCode 70
update changelog & README
2024-08-30 00:18:33 +07:00
kana-shii
2266447745
Custom themes (#269)
* Update SettingsAppearanceScreen.kt

* Update SettingsAppearanceScreen.kt

* fix spotless

* improve

- Put custom theme in front
- Set default color for custom theme
- Using pre-defined padding values
- Make the color picker scrollable for phone in landscape mode

* fixes and new name

* Update ThemeColorPickerWidget.kt
2024-08-26 00:08:38 +07:00