Commit Graph

290 Commits

Author SHA1 Message Date
AntsyLich e62cd0e816 Optimize and cleanup library code (#2329) 2025-08-02 03:04:23 +00:00
AntsyLich b9e02e92be Update manga without chapters even if restricted by source (#2224) 2025-06-20 08:51:49 +00: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
AntsyLich 57e6e198b8 Update dependency androidx.work:work-runtime to v2.10.0 2024-11-07 20:07:46 +06:00
Dani ca968f162e Add option to skip downloading duplicate read chapters (#1125)
* Add query to get chapter count by manga and chapter number

* Add functions to get chapter count by manga and chapter number

* Only count read chapters

* Add interactor

* Savepoint

* Extract new chapter logic to separate function

* Update javadocs

* Add preference to toggle new functionality

* Add todo

* Add debug logcat

* Use string resource instead of hardcoding title

* Add temporary logcat for debugging

* Fix detekt issues

* Update javadocs

* Update download unread chapters preference

* Remove debug logcat calls

* Update javadocs

* Resolve issue where read chapters were still being downloaded during manual manga fetch

* Apply code review changes

* Apply code review changes

* Revert "Apply code review changes"

This reverts commit 1a2dce78acc66a7c529ce5b572bdaf94804b1a30.

* Revert "Apply code review changes"

This reverts commit ac2a77829313967ad39ce3cb0c0231083b9d640d.

* Group download chapter logic inside the interactor GetChaptersToDownload

* Update javadocs

* Apply code review

* Apply code review

* Apply code review

* Update CHANGELOG.md to include the new feature

* Run spotless

* Update domain/src/main/java/mihon/domain/chapter/interactor/FilterChaptersForDownload.kt

---------

Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
2024-08-23 15:43:46 +06:00
AntsyLich d6252ab770 Address spotless lint errors (#1138)
* Add spotless (with ktlint)

* Run spotlessApply

* screaming case screaming case screaming case

* Update PagerViewerAdapter.kt

* Update ReaderTransitionView.kt
2024-08-19 18:11:39 +06:00
renovate[bot] c0f9de88e7 fix(deps): update dependency io.coil-kt.coil3:coil-bom to v3.0.0-alpha07 (#960)
* fix(deps): update dependency io.coil-kt.coil3:coil-bom to v3.0.0-alpha07

* Fix build

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
2024-06-30 01:44:17 +06:00
AntsyLich f72b6e4d7c Switch to Coil3
Co-authored-by: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
2024-03-02 20:08:15 +06:00
AntsyLich aa498360db Move :core to :core:common 2024-01-29 15:20:21 +06:00
Jishnu M cf33f250cc Change extension update error file name (#253) 2024-01-28 20:32:23 +06:00
AntsyLich 5067160132 Add a temporary icon 2024-01-16 01:17:18 +06:00
AntsyLich 1aa75f22d0 Replace all Tachi links to Mihon 2024-01-16 01:07:32 +06:00
arkon 3d0d5c0472 Misc refactoring
- Abstract away relative date string building
- Dedupe large update warning logic
2023-12-30 18:33:35 -05:00
arkon bfb0d31ff6 Remove skipped updates notification
Seems to cause more confusion than it's worth.
Will update the UI for the library update skip options to better
explain what they're for later.
2023-12-26 13:13:33 -05:00
arkon 2d7650537d Address some build warnings 2023-12-25 16:31:40 -05:00
arkon ab9a26f6bd Migrate to some newer date/time APIs 2023-12-08 23:11:53 -05:00
Ivan Iskandar 24e1b4034e Move workers to foreground service context a bit more safely (#10202)
The system will crash the app if the worker that calls setForeground() finished
before the service runner be able to call Service.startForeground(). This edge
case is not handled by WorkManager and there is no way to check if the required
calls are done.

So here we suspend the worker by an arbitrary duration assuming the transition
to foreground service is done by then.
2023-12-02 11:46:59 -05:00
arkon 82d9ae31bd Set foreground service types for library update jobs 2023-12-02 11:20:48 -05:00
AntsyLich ba10093ddc Library update notification changes (#10175)
Don't round up notification percentage. Why show 100% when stuff is still updating.

Show same notification when hide notification content is enabled. Just exclude manga titles.
2023-11-25 13:32:54 -05:00
arkon 0d1bced122 Replace remaining Android-specific strings
Also renaming the helper composables so it's a bit easier to find/replace everything
in forks.
2023-11-18 19:41:33 -05:00
arkon 46e734fc8e Migrate to multiplatform string resources (#10147)
* Migrate to multiplatform string resources

* Move plurals translations into separate files

* Fix lint check on generated files
2023-11-18 13:54:56 -05:00
arkon 953f5fb025 Lint fixes 2023-11-05 09:14:57 -05:00
arkon 1d144e6767 Restrict line length with ktlint 2023-11-04 23:28:41 -04:00
arkon 489d22720a Refresh tracks before updating progress
Closes #1652

Also removes the ability to trigger refreshes for the entire library or
as part of a library update as it should no longer be needed. Opening
the tracking sheet already refreshes the data too, so stale data is
irrelevant there.

Also closes #4775 since it would no longer be relevant.
2023-10-21 10:20:35 -04:00
arkon 7ed99fbbd6 Account for skipped entries when showing large updates warning
Closes #6159
2023-10-08 16:40:17 -04:00
arkon 6663abebaf Clean up fetch interval tests a bit
Also limit the dates we look at to most recent 10 distinct dates only. Closes #9930
2023-09-17 12:06:17 -04:00
arkon ccc9a5a052 Update website links 2023-09-10 18:16:53 -04:00
Soitora f5e0cee36c Change website URLs to reflect changes (#9916)
Change website URLs
2023-09-10 18:11:00 -04:00
arkon 98d6ce2eaf Refactor some tracking-related logic 2023-08-27 10:41:58 -04:00
arkon dde2f42138 Refactor some tracking-related logic 2023-08-26 18:30:17 -04:00
arkon 74f74eef56 Don't run automatic backup or library update jobs if battery is low 2023-08-24 22:25:29 -04:00
Quang Kieu d874f20362 [Hotfix] Fix bug of not fetch update if manual library refresh as fetch period have lower limit (#9806)
Fix bug of not fetch update if manual library refresh, no auto

If somehow manga missed check period, we would not give new next update cycle and it would forever left behind
2023-08-05 09:07:00 -04:00
arkon 81cd765543 More refactoring of expected next update logic 2023-07-30 19:13:16 -04:00
arkon 3ad4f1114a Cleanup related to fetch interval display 2023-07-29 10:29:53 -04:00
Quang Kieu cb639f4e90 Update Manga in Expected Period (#5734)
* Add Predict Interval Test

* Get mangas next update and interval in library update

* Get next update and interval in backup restore

* Display and set intervals, nextUpdate in Manga Info

* Move logic function to MangeScreen and InfoHeader

Update per suggestion

---------

Co-authored-by: arkon <arkon@users.noreply.github.com>
2023-07-28 23:10:02 -04:00
arkon cdc1c5efa3 Better handle saving animated drawables 2023-07-26 23:26:58 -04:00
arkon 2556e9f08c Refactor duplicate chapter number formatters 2023-07-23 18:09:08 -04:00
arkon 88e9fefa59 Retry LibraryUpdateJob later if Wi-Fi condition not met 2023-06-25 14:31:28 -04:00
arkon 14c465d36f Get current track services when composing LibrarySettingsDialog
Fixes #9431
2023-05-03 14:41:08 -04:00
arkon 1986042277 Skip POST_NOTIFICATIONS permission check for now
Fixes #9265
2023-03-26 12:34:32 -04:00
arkon cb4699a5bb Bump dependencies 2023-03-22 22:58:42 -04:00
arkon 859601a46e Clean up WorkManager usages a bit 2023-03-19 18:19:40 -04:00
arkon 7d8a865cac Simplify some of the notification builders 2023-03-19 16:24:37 -04:00
arkon bebd4be43d Move more things to domain/data modules 2023-03-07 22:38:02 -05:00
arkon ad4912803b Refactor SourceManager/StubSource to domain module 2023-03-05 12:38:31 -05:00
arkon f96f0c5889 Move some preferences into domain module 2023-03-05 12:11:47 -05:00
Two-Ai 86b9262a7e Make DownloadManager the sole entry point for DownloadService (#9140)
* Rename functions for DownloadService internal use

* Call DownloadService.start via DownloadManager

* Inline DownloadService.stop into pauseDownloads

* Inline DownloadService.stop into clearQueue

NotificationReceiver will now also stop the DownloadService when
receiving ACTION_CLEAR_DOWNLOADS.

* Provide DownloadService.isRunning via DownloadManager
2023-02-24 22:07:30 -05:00
arkon d400ac2a49 Remove unnecessary usages of NotificationManagerCompat to actually create notifications 2023-02-18 17:10:45 -05:00
arkon f816196df2 Move more things to domain module 2023-02-18 15:14:04 -05:00
arkon 4d607c4aed Don't apply Wi-Fi network restriction for manual library update jobs
Fixes #9074
2023-02-12 23:15:16 -05:00