Commit graph

155 commits

Author SHA1 Message Date
Smol Ame
e0e69b3085
Enable 'Split Tall Images' by default (#1185)
(cherry picked from commit 9c1905ede750f0229fad1a01431058b1cc9fb32d)
2024-10-29 22:48:40 +01:00
Secozzi
dd17832428
Add stable marker to Manga data class
Co-authored-by: ivan <12537387+ivaniskandar@users.noreply.github.com>
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
2024-10-28 11:57:58 +01:00
Secozzi
8937e92b53
Add option to skip downloading duplicate read chapters
* 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 1a2dce7.

* Revert "Apply code review changes"

This reverts commit ac2a778.

* 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>
Co-authored-by: Dani <17619547+shabnix@users.noreply.github.com>
2024-10-28 10:52:51 +01:00
Secozzi
1cae533d65
Address spotless lint errors 2024-10-27 21:36:32 +01:00
Secozzi
324a4850a3
Remove more detekt annotations 2024-10-27 10:52:26 +01:00
AntsyLich
aeb17fa859
Remove detekt (#1130)
Annoying. More annoying in this project.

(cherry picked from commit 777ae2461e1eb277a3aa0c998ff69e4f100387a1)
2024-10-27 10:38:00 +01:00
Secozzi
f24b90e738
Fix chapter number parsing when number is after unwanted tag
Fixes #554

Co-authored-by: Naputt1 <94742489+Naputt1@users.noreply.github.com>
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
2024-07-12 20:49:25 +02:00
Secozzi
3eb3f01646
Rework buildSrc and remove usage of subprojects
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
2024-07-04 13:43:31 +02:00
Secozzi
e67a6a2c79
New Feature: Introduce Upcoming page to Mihon
* Work in progress upcoming feature

* Checkpointing WIP upcoming feature

* Functional Upcoming Screen

* Rename UpdateCalendar to UpdateUpcoming

* Converted Strings to resources

* Cleanup

* Fixed detekt issues

* Removed Link icon per @AntsyLich's suggestion.

* Detekt

* Fixed Calendar display on wide form factor devices

* Added Key to upcoming lazycolumn

* Updated tablet mode UI to support two column view

* Updated header creation logic

* Updated header creation logic... again

* Moved stray string to resources

* Fixed PR Comments and query refactor

* Tweaks to query, refactored to flow, comments on calendar

* Switched to Date Formatter

* Cleaned up date formatter

* More Refactor work

* Updated Calendar to support localized week formats

* Fixed year format

* Refactored Header animation

* Moved upcoming FAQ

* Completed YearMonth Migration

* Replaced currentYearMonth with delegate

* Even more cleanup

* cleaned up alignment modifiers

* Click Handler and other refactors

* Removed Wrapped Content Height/Size/extra clips

* Huge Refactor for CalendarDay

* Another cleanup attempt

* Migrated to new mihon.feature.* module pattern

* changed access modifier

* A Bunch of changes from the next round of reviews

* Cleanups

* Cleanup 2

---------

Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
Co-authored-by: Maddie Witman <1882979+sirlag@users.noreply.github.com>
2024-07-04 12:46:05 +02:00
Secozzi
428c6e1e08
detekt(detekt): detekt 2024-07-03 22:30:19 +02:00
Secozzi
92f16c913e
Fix mishap
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
2024-07-03 19:31:17 +02:00
Secozzi
1ea107226c
Fix more TypeReference issues and cleanup
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
2024-07-03 19:30:02 +02:00
Secozzi
233af962cd
Fix extension repo crash with TypeReference issue
Fix by @AntsyLich.

Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
Co-authored-by: MajorTanya <39014446+MajorTanya@users.noreply.github.com>
2024-07-03 19:13:15 +02:00
Secozzi
ce6a79d428
Refactor the ExtensionRepoService to use DTOs
* Refactor the ExtensionRepoService to use DTOs

Slightly refactored the `ExtensionRepoService` so it uses a DTO with
`parseAs` to avoid parsing the JSON response by hand.

The default Json instance Injekt provides here has
`ignoreUnknownKeys` enabled, so the `ExtensionRepoMetaDto` only
specifies the meta key of the response content.

The extension function `toExtensionRepo` allows for mapping the new
DTO to the `domain` `ExtensionRepo` data class.

* Implement feedback

- Removed SerialName of the ExtensionRepoMetaDto property and renamed
it `meta`, same as the incoming attribute.
- Added a more general catch clause that also logs the occurring
Exception

Detekt likes to complain about TooGenericExceptionCaught, hence the
Suppress annotation on the function.

Co-authored-by: MajorTanya <39014446+MajorTanya@users.noreply.github.com>
2024-07-03 19:09:01 +02:00
Secozzi
cdb0621434
detekt(detekt): detekt 2024-07-03 18:55:00 +02:00
Secozzi
6c42541dc7
Grab extension repo detail from repo.json and include in DB
* WIP Extension Repo DB Support

* Wired in to extension screen, browse settings screen

* Detekt changes

* Ui tweaks and open in browser

* Migrate ExtensionRepos on Update

* Migration Cleanup

* Slight cleanup / error handling

* Update ExtensionRepo from Repo.json during extension search.
Added Manual refresh in extension repos page.

* Split repo fetching into separate API module, major refactor work

* Removed development strings

* Moved migration to #3

* Fixed rebase

* Detekt changes

* Added Replace Repository Dialog

* Cleanup, removed platform specific code, PR comments

* Removed extra function, reverted small change

* Detekt cleanup

* Apply suggestions from code review

Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>

* Fixed error introduced in cleanup

* Tweak for multiline when

* Moved getCount() to flow

* changed getCount to non-suspend, used property delegation

* Apply suggestions from code review

Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>

* Fixed formatting with updated comment string

* Big wave of PR comments, renaming/other tweaks

* onOpenWebsite changes

* onOpenWebsite changes

* trying to make single line

* Renamed ExtensionRepoApi.kt to ExtensionRepoService.kt

---------

Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
Co-authored-by: Maddie Witman <1882979+sirlag@users.noreply.github.com>
2024-07-03 18:35:12 +02:00
Secozzi
fd5d568a10
Fix multiple issues regarding sources loading too late
Co-authored-by: jobobby04 <17078382+jobobby04@users.noreply.github.com>
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
2024-07-02 13:19:38 +02:00
Secozzi
94730b153e
Fix crash in track date selection dialog
Co-authored-by: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
2024-07-02 12:44:54 +02:00
Secozzi
c9161b32c7
feat: db changes to accommodate new cross device syncing logic.
* feat: db changes to accommodate new syncing logic.

Using timestamp to sync is a bit skewed due to system clock etc and therefore there was a lot of issues with it such as removing a manga that shouldn't have been removed. Marking chapters as unread even though it was marked as a read. Hopefully by using versioning system it should eliminate those issues.

* chore: add new line.

* chore: remove isSyncing from Chapter/Manga model.

* chore: remove isSyncing leftover.

* chore: remove isSyncing.

* refactor: remove isSync guard.

Just use it directly to 1 now since we don't have the isSyncing field in Manga or Chapter.

* Lint and stuff

* Add missing ,

---------

Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
Co-authored-by: KaiserBh <41852205+kaiserbh@users.noreply.github.com>
2024-07-02 00:10:22 +02:00
jmir1
a423b560eb
fix(deps) Update a lot of dependencies 2024-06-30 21:29:59 +02:00
Secozzi
ccc29527dd
Move :core to :core:common
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
2024-06-05 11:21:41 +02:00
jmir1
a23eea9805
Merge pull request #1578 from Secozzi/mihonmerge
Merge from mihon until mihon 0.16.2
2024-05-26 07:56:05 +02:00
jmir1
9d06277a18
fix: Use MANAGE_EXTERNAL_STORAGE to enable MPV scripts 2024-05-17 23:51:54 +02:00
Secozzi
1a55853b2e
Adding Type-safe project accessors (#194)
* replace the windowInsetsPadding for navigationBarsPadding + statusBarsPadding

* Enabling TYPESAFE_PROJECT_ACCESSORS

* Adding typesafe project accessors in the app module

* Adding typesafe project accessors in the core module

* Adding typesafe project accessors in the core-metadata module

* Adding typesafe project accessors in the data module

* Adding typesafe project accessors in the domain module

* Adding typesafe project accessors in the presentation-core module

* Adding typesafe project accessors in the presentation-widget module

* Adding typesafe project accessors in the source-local module

* Adding typesafe project accessors in the source-api module

* Rolling back

* Changing TYPESAFE_PROJECT_ACCESSORS line

* Removing extra spaces

Co-authored-by: Theodoro Loureiro mota <9647399+theolm@users.noreply.github.com>
2024-05-14 10:17:59 +02:00
Secozzi
98633df396
Remove usage of .not() where possible
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
2024-05-14 08:08:37 +02:00
Enrico Tirri
ad94a91de4
fix: Fix multi-threaded download, minor changes to download management (#1457)
Co-authored-by: giorgio <giorgionegro@protonmail.com>
2024-03-07 17:44:59 +01:00
jmir1
89795945a5
feat: Copy scripts and script-opts from Aniyomi directory 2024-01-31 14:49:43 +01:00
giorgionegro
89fa0e15c7
feat: Add a setting to throttle downloads (#1303)
Co-authored-by: jmir1 <jhmiramon@gmail.com>
2024-01-16 13:58:31 +01:00
Quickdev
7e24066420
fix(navigation): Bring back navigation options (#1300)
Co-authored-by: AbdallahMehiz <abdallahmehiz0@gmail.com>
2024-01-16 00:10:23 +01:00
giorgionegro
55fedef4ad
feat: Multi-threaded anime downloading (#1248)
Co-authored-by: jmir1 <jhmiramon@gmail.com>
2024-01-15 12:00:28 +01:00
Abdallah
f72e3c4bd3
fix(storage): Automatically create localanime and fonts directories (#1275) 2024-01-13 21:41:32 +01:00
jmir1
778c0681a7
Merge branch 'upstream/master' 2024-01-11 19:58:15 +01:00
jmir1
acaf5bd43e
Merge branch 'upstream/master' 2024-01-10 04:10:35 +01:00
arkon
028da099dd Add filter library by customized update frequency
Supersedes #9619

Co-authored-by: quangkieu <quangkieu@users.noreply.github.com>
2024-01-07 16:03:12 -05:00
arkon
e6c6c32d81 Fix selecting custom fetch interval not persisting sometimes 2024-01-07 15:40:53 -05:00
arkon
32bed9b041 Change fetch interval action to show days until next expected update 2024-01-05 17:08:39 -05:00
arkon
22589a9c30 Fix next expected update being weird number sometimes
Occurs if manga.lastUpdate has never been set yet.
2024-01-01 18:32:21 -05:00
arkon
4b208fc7ce Move backup models back to main app module
I didn't realize the package name change would break compatibility with forks
that still have the old package names...
2023-12-27 13:45:44 -05:00
arkon
6887d98f15 Minor tracking cleanups 2023-12-24 22:25:22 -05:00
arkon
5908bd1930 Move backup models to domain module 2023-12-24 18:01:58 -05:00
arkon
b9fd416fc6 Use smaller window to calculate fetch interval if there's less total chapters
This is sort of a workaround for sources that tend to only give you the first few and
most recent few chapters, which would have been 28 day intervals before due to
the big gap in the middle.
2023-12-21 09:49:03 -05:00
Claudemirovsky
8cf3ac42c5
fix(domain): Fix tests 2023-12-17 16:43:16 -03:00
arkon
cfb77a5e98
feat: More onboarding screen additions 2: Electric Boogaloo 2023-12-17 05:13:20 -03:00
arkon
1a8b2811b8
refactor: Migrate to some newer date/time APIs 2023-12-17 04:28:08 -03:00
LuftVerbot
0a3f04ce4e fix(app): Alignment with Tachiyomi Part 2
Second Commit to align Aniyomi with Tachiyomi
2023-12-16 17:21:44 +01:00
arkon
5fec881387 Clean up history restoring 2023-12-16 11:15:09 -05:00
arkon
36f400d542 Fix download indexing with changed storage locations
Fixes #10218
2023-12-15 18:44:37 -05:00
arkon
58daedc89e Clean up manga restoring logic
Some behavior changes:
- It prioritizes new entries, then anything more recently updated
- It copies the more recently updated entry's metadata (description, thumbnail, etc.)
2023-12-14 23:26:02 -05:00
arkon
f7c5b42435 More onboarding screen additions 2: Electric Boogaloo 2023-12-09 18:20:58 -05:00
arkon
ab9a26f6bd Migrate to some newer date/time APIs 2023-12-08 23:11:53 -05:00