Commit graph

422 commits

Author SHA1 Message Date
Cuong-Tran
7380e77b5c feat(theme): Support Dynamic theme for Android 11 and below (#1504) 2026-02-20 12:02:31 +07:00
Cuong-Tran
fe7b10f941
feat(migration): Allow skipping smart search for single entry migration (#1496)
* feat(migration): Allow skipping smart search for single entry migration

Introduces a "Smart search" setting when migrating a single manga, allowing users to choose between an automated best-match search or manual selection directly.

* ensure manual migration is only triggered once

* Add UI toggle

* refactor pref
2026-02-20 08:49:51 +07:00
Kudomaga
696908f94b
feat(sync): Add WebDAV synchronization service (#1104)
* Add WebMAV synchronization service

* extract custom client builder

* validation

* FIX: If the subfolder does not exist, create it first.

* FIX: Handle existing folders more leniently.

* refactor

* Fix strings

* lint & comment

* Default file name & log

---------

Co-authored-by: Cuong-Tran <16017808+cuong-tran@users.noreply.github.com>
2026-02-03 15:36:57 +07:00
AntsyLich
42a97bb918 Add more migration config options and remove skipping option (mihonapp/mihon#2193)
(cherry picked from commit 288f577a45a6835c34ad41caab95794f164b7a0b)

* Further tweak migration config screen sheet

(cherry picked from commit 019fc08da2392725c36e064ffadc4e645edafb63)

Co-authored-by: Cuong-Tran <16017808+cuong-tran@users.noreply.github.com>
2026-01-21 11:47:31 +07:00
AntsyLich
2236e94f50 Add option to skip migration config
(cherry picked from commit 8714653a2f3b1a1f536494bcefbe66e7a7bbb4f7)

Co-authored-by: Cuong-Tran <16017808+cuong-tran@users.noreply.github.com>
2026-01-21 11:09:06 +07:00
AntsyLich
5ab24620ec Cleanup migrate manga dialog and related code (mihonapp/mihon#2156)
(cherry picked from commit 2b126f1ff56b63e470b48a04149e28c609f01148)

Co-authored-by: Cuong-Tran <16017808+cuong-tran@users.noreply.github.com>
2026-01-21 10:46:16 +07:00
AntsyLich
c328b37675 Add migration config screen to select and prioritize target sources (mihonapp/mihon#2144)
(cherry picked from commit 2e180005a01f633ad7fafc5cfb3079f0bc858448)

Co-authored-by: Cuong-Tran <16017808+cuong-tran@users.noreply.github.com>
2026-01-20 13:36:59 +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
Jobobby04
b85fa5b9c9
Minor refactors
(cherry picked from commit 9b6c5effc9262f190c8758d2047708cd51549855)
2026-01-09 16:31:05 +07:00
Cuong-Tran
9136c15b9e
Revert part of "Switch to MaterialExpressiveTheme" (#1377)
Co-authored-by: Cuong-Tran <16017808+cuong-tran@users.noreply.github.com>
(cherry picked from commit 3e6afee13b9fd5716f7f2d547b3edcd3e17915db)

This reverts part of commit 3ab83f1270.
2026-01-09 14:30:16 +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
Cuong-Tran
6dcd548061
fix(sync-job): Fix disabling sync-job (#1251)
* fix(sync-job): Fix disabling sync-job

* param
2025-10-27 11:52:17 +07:00
Cuong-Tran
632856c2f2
fix(track): wrongly set track's status when start tracking (#1076) 2025-09-09 13:33:26 +07:00
kana-shii
c41d5fb847
feat(discord): Discord RPC from Anikku (#1100)
* Add RPC [Barebone, barely works]

Co-Authored-By: Cuong-Tran <16017808+cuong-tran@users.noreply.github.com>

* refactor connections

* RPC (#223)

* Add error handling and refactor DiscordRPCService methods

* Add Discord RPC customization options and preferences

* Update Discord RPC button labels and clean up comments

* Refactor DiscordRPCService to improve readability by adding braces for null checks

* Refactor ConnectionsPreferences to improve code clarity and organization

* Refactor ConnectionsPreferences to improve code clarity and organization

(cherry picked from commit df42d196368d28c3c9dcee3692f3f9140da7f2a1)

* Feat: implement Discord account management enhancements and RPC restart functionality (#245)

* fix: correct indentation in CastManager for better readability

* feat: implement Discord account management enhancements and RPC restart functionality

(cherry picked from commit b7c50f1f0184dd717c5cc4dee0310053bfb8d613)

* Notification color & icon for DiscordRPC

Co-Authored-By: Cuong-Tran <16017808+cuong-tran@users.noreply.github.com>

* 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)

* feat(discord): update App/icon & fully works with all screens

* update Discord Rich Presence application ID and icon URLs

* Fix updateDiscordRPC for all screens (also reuse code)

* integrate Discord Rich Presence for WebViewScreen

* feat: ghibli style images for Discord RPC

* optimize code

* further optimize

* supprest useless warning

* refactor: simplify setScreen calls related to lastUsedScreen

* optimize whole file

* a

Co-Authored-By: Cuong-Tran <16017808+cuong-tran@users.noreply.github.com>

* fix(discord): update download button URL to point to the official website

* feat(discord): allow stop Discord RPC from notification

also improve error handling

* fix(i18n): Torrent server "stop" multi-lang

* Start DiscordRPCService as foreground service on Android O+

This commit modifies the `DiscordRPCService` to start as a foreground service on Android O (API level 26) and above. This change ensures the service continues to run in the background, especially when the app is not in the foreground.

- Added a conditional check using `Build.VERSION.SDK_INT` to detect if the device is running Android O or later.
- If the device is running Android O or later, `startForegroundService` is called instead of `startService` to ensure it runs as foreground service.
- If the device is running a version prior to Android O, `startService` is called.

(cherry picked from commit 869617d8cac3aa8461158f1f9a34b9e29147e8f0)

* fix(discord): episode/chapter formating

* fix(discord): Fix & improve Discord login/accounts

* New webview with DiscordLoginScreen

* Add appbar

* Using Webview directly instead of AndroidView and add clearCookies, browsing navigation

* Using coroutine instead of thread

* Revert service

* use response block

* save preference in coroutine too

* no web navigator

* address comments for DiscordLoginScreen

* Refactor Settings screen & dialog

* Using serialization to parse JSON to avoid blocking API

* Don't clear all cookies and web storage aggressively

* Extract constant

* Fix login

Co-Authored-By: Cuong-Tran <16017808+cuong-tran@users.noreply.github.com>

* fix(discord): Fix screen crash & token retrievement

* Update images to my liking

* spotless

* small fixes

* Update strings.xml

* Revert "Update images to my liking"

This reverts commit 4ad3b9f84fdada45ee480ae7dc242b6e1b4bc18a.

* small fixes

* hopeful fix + chapter progress

* Update ReaderActivity.kt

* Update ReaderActivity.kt

* remove timestamps

* Remove isNSFW check

because 95% of tachi extensions are rated as +18, even when there is sfw content

* Clean up

* Fix ReaderActivity

* Cleanup Settings

* Fix login

* Fix lag when getting categories

* Fix jump to pages

* Remove old SDK check

* Fix status when back from reading

* Remove pages progress

* Only set necessary action in ReaderActivity

* Using IO coroutine instead

* Add back timestamps

* Fix strings & settings

* Fix crash

* ActivityType

* Adjust description

* refactor Discord settings menu

* Using its own scope

* Optimize the connection waiting

* remove source.isNSFW

* Using screenModelScope

* Fix state access

* add modifier

* sharing OkHttpClient instance for better resource management

* Restart RPC directly via service intent instead of toggling

* remove lint suppression

* add back showProgress

* Fix set Discord status

* Fix Discord login no avatar

* Handle API rate limits and errors in getDiscordUri

* Token-based isLogged checking

* Make Discord token sensitive data and not in backup

* Minor fix

* remove debug message

---------

Co-authored-by: Cuong-Tran <16017808+cuong-tran@users.noreply.github.com>
Co-authored-by: Cuong-Tran <cuongtran.tm@gmail.com>
Co-authored-by: Dark25 <nadiecaca2000@gmail.com>
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
Co-authored-by: Jery <jery99961@gmail.com>
2025-09-04 12:40:32 +07:00
Cuong-Tran
ea06631670 feat(library): Rework categories filter 2025-08-27 14:29:01 +07:00
Secozzi
7acd998b12 Add option for rendering images in description (mihonapp/mihon#2076)
(cherry picked from commit 2ef8ae11c9da02c24bf4d12bf22b41c5d19bada4)
2025-08-12 23:03:22 +07:00
Cuong-Tran
737bec70f0
feat(manga-tracking): Allow auto open tracking dialog when adding to library (komikku-app/anikku#59)
* feat(manga-tracking): Allow auto open tracking dialog when adding to library

* Prevent tracking dialog shows up overwrite change-category dialog

* Refactoring

(cherry picked from commit e82af25e198931d04fc2f75f663017fabced904c)
2025-07-17 15:09:07 +07:00
claymorwan
0b37b3258c Add Catppuccin theme (mihonapp/mihon#2117)
Mocha for dark and Latte for light, mauve accent

(cherry picked from commit 77eb55874278b7740d43b9144d9253a075cc593c)
2025-06-16 00:38:37 +07:00
Jobobby04
a4a19eb88b More guards against edited data
(cherry picked from commit 95dc82594fe7e503a5ba279c19c0b859c6789470)
2025-06-16 00:38:37 +07:00
Cuong-Tran
cd3dc79583
feat(MangaDex): use tracker links to associate mangas automatically with trackers (#991)
* feat(MangaDex): use tracker links to associate mangas automatically with trackers (jobobby04/TachiyomiSY#1387)

* feat: add searchById support to trackers (MAL, AniList, MangaUpdates only)

* feat: add new preference to toggle auto selection of tracker items using source metadata if available

* feat: add new preference to toggle auto selection of tracker items using source metadata if available

* feat: add automatic title selection using source metadata to TrackInfoDialog.kt

* style: apply spotless

* refactor: remove hardcoded MangaDexSearchMetadata cast and introduce common interface

(cherry picked from commit 217503eab0e2fe551943e3b702cc6df4aaae8ebf)

* Handle null when searchId failed

* Wrap the await() call in a use block to ensure the OkHttp Response is properly closed after use

* Simplify Regex

* Injection via construction

* Wrap the blocking HTTP call in an IO dispatcher context

---------

Co-authored-by: Tim Schneeberger <tim.schneeberger@outlook.de>
2025-06-09 18:43:05 +07:00
Cuong-Tran
323ddd0aa8
chore(trust-extension): Bypass trust check for debug build types 2025-05-23 22:06:20 +07:00
Fermín Cirella
7f820b590c
feat(library): add category library filter (#895)
* feat(library): add category library filter

* feat(library): pre-calculate filter categories map

* feat(library): ungroup library items if category filter is enabled

* refactor `combine` function and improve flow handling

* fix: Exclude system's `Default` category from the list (as no other category would match with it)

* refactor: categories conversion

* feat: correctly restore categories filter preferences

* feat: improve DB ops performance

* chore: add KMK comment

---------

Co-authored-by: Cuong-Tran <cuongtran.tm@gmail.com>
2025-05-20 15:32:41 +07:00
FlaminSarge
6e3670ef75
Add advanced option to always update manga title from source (mihonapp/mihon#1182)
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit 8b45ef0e5d5d368e0925df9816ae423defaed4d9)
2025-05-13 23:55:50 +07:00
Jery
a862bda9d5
feat(incognito): Add incognito mode for EH based sources (#901)
* Add incognito mode for eh based sources

(cherry picked from commit bdf848ebb721394ff1b7b7006e538f6f60056b76)

* simplify GetIncognitoState parameters and logic

---------

Co-authored-by: Cuong-Tran <cuongtran.tm@gmail.com>
2025-05-11 14:22:30 +07:00
AntsyLich
712a1f2bdb
Significantly improve browsing speed (near instantaneous) (mihonapp/mihon#1946)
(cherry picked from commit c8ffabc84a096207c1997ab69fc86176f3b53f00)
2025-04-05 23:20:37 +07:00
AntsyLich
ccd6032a39
Remove feature flag from Nord theme (mihonapp/mihon#1951)
(cherry picked from commit 5d2110f3fb1aa6b15f62af0dcd3378cfbe475b7a)
2025-04-03 01:25:03 +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
Fermín Cirella
40927153ca
Allow to top align the cover in manga info view (#816)
* Add Appearance option to set if cover should be vertically aligned in the manga info view

* Apply align modifier with `CenterVertically` or `Top` instead of using `.apply`

* Change option to align cover to top
2025-04-02 02:59:39 +07:00
Cuong-Tran
edc0bd34ff
Fix: Messed up trackers progress update always auto sync (#794) 2025-03-27 00:44:37 +07:00
Cuong-Tran
22a1534fff
Revert "update all trackers based on common data when new tracker is added"
This reverts commit 552d2673d9.
2025-03-26 02:09:20 +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
AntsyLich
6fa34ab5e9
Seperate mark duplicate read chapters as read behaviors as options (mihonapp/mihon#1870)
(cherry picked from commit 8a3b6107755c768924a31c2b58d705296133839c)
2025-03-23 23:42:33 +07:00
AntsyLich
49aaf5b8e3
Make option to mark duplicate chapter as read apply when reading (mihonapp/mihon#1839)
(cherry picked from commit 22b5fb58ff8e89635d646f8fa29256b53c41ffbf)
2025-03-09 17:02:15 +07:00
AntsyLich
5a5b86d3c6
Add option to mark new duplicate read chapters as read (mihonapp/mihon#1785)
(cherry picked from commit cd0481592c09dc9cfb331805e90e6e5c3752a08c)
2025-03-03 14:34:16 +07:00
NarwhalHorns
8fe598d33e
Support for private tracking with AniList and Bangumi (mihonapp/mihon#1736)
Co-authored-by: MajorTanya <39014446+MajorTanya@users.noreply.github.com>
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit 49b2b346b65c2631a8369c8f6643e945720770de)
2025-02-26 23:38:53 +07:00
MajorTanya
54eea7ccb7
Add "Monochrome" theme (mihonapp/mihon#1752)
This theme is mainly geared towards e-Ink displays with limited/no
colour capabilities. Previous themes like Yin & Yang would make heavy
use of greyscale colours which could look off on some devices.

This theme is probably not conformant to Material Design 3 colour
scheme guidelines, but it does boast some amazing WebAIM contrast
ratios (#FFFFFF text on #000000 background gets a ratio of 21:1, vice
versa too).

Initially, this was intended as a purely black and white theme but
some contrast issues arose, such as the download badges (tertiary
background, onTertiary text colour) having the same colour as unread
badges (primary/onPrimary), or the step indicators (stops) not being
visible on sliders (since they use the colours of the opposite state
track (active region stops are the colour of the inactive region track and vice versa).

To mitigate this, each variant (dark/light) of the theme has one
additional grey mixed in for their tertiary and secondaryContainer
colours each. For the dark variant, this is a #A0A0A0 background for
#000000 text (8.03:1 contrast ratio) and for the light variant, it is
a #505050 background for #FFFFFF text (8.06:1 contrast ratio).
This results in distinct unread vs download badges and visible steps
in the sliders.

---------

Co-authored-by: Sunspark-007 <73711243+Sunspark-007@users.noreply.github.com>
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit 8b48d1016b851b425e4f66d44bca098220585c37)
2025-02-26 23:38:53 +07:00
Cuong-Tran
2f33754c20
Fix App's preferences referencing deleted categories (mihonapp/mihon#1734) 2025-02-25 16:41:11 +07:00
NGB-Was-Taken
405e1b8640
Apply "Downloaded only" filter to all entries regardless of favourite status (mihonapp/mihon#1603)
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit 29ee53f4612b6ec9b399da9d29f18cfd0b1a2768)
2025-02-25 12:58:36 +07:00
Cuong-Tran
4c08f61f68
Fix: ktlint config for SY code (#712)
* Add more editor configs and move ktlint config to it (mihonapp/mihon#1731)

(cherry picked from commit 34d1e6fa278846dd8eb6ea82c936818d4610d3c2)

* more ktlint config

* fix compile

* restore comment-wrapping

* restore all of them

* disable in gradle.kts

* cleanup

* remove filenamktlint_standard_filename

* fix filename

* remove unused EhAssets

* ktlint_standard_multiline-expression-wrapping

* property-naming & function-naming

* ktlint_standard_argument-list-wrapping

* fix argument-list-wrapping

* Improve  in case source is null

related to commit 343cd372

* comment

* comment

* comment

* comment

* comment

* comment

* comment

* comment

* Revert "Improve  in case source is null"

This reverts commit 08e317bb075b4b634f0c6f19f11eb78b99406e59.

* Revert "remove unused EhAssets"

This reverts commit e2cfc3e0c2b8d5b8bac41f2dfc4d9baef332f83e.

---------

Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
2025-02-18 13:44:57 +07:00
Cuong-Tran
ff8d48bf4c Fix (PreferenceRestorer): correctly backup/restore preferences related to category 2025-02-14 12:21:26 +07:00
Cuong-Tran
235dec019d Fix (EXH): Migrate old source to new source for merge references 2025-02-14 12:21:26 +07:00
Cuong-Tran
967bbe6c04
Merge branch 'release' 2025-02-01 13:36:27 +07:00
Cuong-Tran
9d2a030bf5
Remove extensions repo 2025-02-01 03:35:58 +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
sdaqo
19a62fc046
Add option to enable incognito mode per extension (mihonapp/mihon#157)
* add per Extension Incognito Mode

* migrate incognito sources when extension is updated

* remove incognito sources when extension is uninstalled

* remove not used variable

* address change requests

address change requests

* Rebase and cleanup code

---------

Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit c283abefb03f79ce6652492db71cde410f828f78)
2025-01-13 10:26:04 +07:00
Cuong-Tran
468529cd47
Fix: Exclude categories when delete read chapter, except manually deleting (#611)
* fix: exclude categories to delete chapter when mark as read

* Revert "Auxiliary commit to revert individual files from 3d3bbb7e4d56010af5bbec8a7c353da220d1f8d3"

This reverts commit d2db2fb1e3eb9b0b15958722a8d4e3cfd91efc2c.

* ignore category exclusion when manually delete downloaded chapters

* fix: properly ignore categories exclusion when manual delete

* also ignore bookmark chapter if manually delete single chapter
2024-12-31 11:29:35 +07:00
AntsyLich
a68d35acca
Revert "Revert "Add option to always use SSIV for image decoding""
This reverts commit 1909126921ac78309f7f7c7c2aa85606611531b8

(cherry picked from commit c5655e8803bc32d0931657f0b7bc6afeab70feaf)
2024-12-23 22:13:06 +07:00
AntsyLich
f6eaad8439
Add option to lower the threshold for hardware bitmaps
Closes #mihonapp/mihon1436
Closes #mihonapp/mihon1486

(cherry picked from commit dcddac5daaff3ec89c8507c35dc13d345ffdb6d7)
2024-11-21 02:06:18 +07:00
AntsyLich
77863480c9
Revert "Add option to always use SSIV for image decoding"
This reverts commit bb4d9fc81a043ac4f2d0105f19c09974ae2f7201.

(cherry picked from commit 1909126921ac78309f7f7c7c2aa85606611531b8)
2024-11-21 01:14:40 +07:00
Cuong-Tran
d45eb34d1a
Trying to load saved-search as much as possible even though filterList might changed 2024-11-09 22:44:44 +07:00