Commit Graph

126 Commits

Author SHA1 Message Date
Andreas c475acd1ea Migrate History screen to Compose (#6922)
* Migrate History screen to Compose

- Migrate screen
- Strip logic from presenter into use cases and repository
- Setup for other screen being able to migrate to Compose with Theme

* Changes from review comments
2022-04-17 10:36:22 -04:00
arkon 5afff31f72 Formatting 2022-04-08 16:44:23 -04:00
arkon f0eb42e72d Update linter 2022-04-08 15:30:39 -04:00
FourTOne5 f18d161eaf Add "Started" library filter and library update restriction (#6382)
* Add chapter read count to library manga

Co-Authored-By: Jays2Kings <jays@outlook.com>

* Add "Started" library filter and library update restriction

* Update Filter when its changed

* Add back accidentally removed stuff.

* Update..

* Change variable names

* Change Variable name where I missed

Co-authored-by: Jays2Kings <jays@outlook.com>
2022-02-13 10:42:28 -05:00
Felix Kaiser 71ddb16574 Detect identical mangas when adding to library (#6579)
* added duplicate manga check

When adding a manga to your library, the app will go through each manga previously added and compare their names. If a match is detected, it will prompt the user and ask for confirmation. On this prompt there is also an option to view the other manga.

* added german translations for newly added strings

* Revert "added german translations for newly added strings"

This reverts commit 71ada620671651daeeb2546aecd02400a4bc86bc.

* changed `AlertDialog.Builder` to `MaterialAlertDialogBuilder`

* using SQL query instead of filtering entire library with Kotlin
2022-02-12 11:13:27 -05:00
FourTOne5 a09d6c0470 Better Upload Date to not have a single blank upload date. (#6358) 2021-12-18 14:47:07 -05:00
arkon 532a1b1aba Address some IDE warnings 2021-12-17 12:30:41 -05:00
arkon 65062b4bcb Remove library update order setting
This doesn't make sense to have if the intention is to have reasonably sized global updates. Opting to remove it to remove complexity instead.
2021-12-17 12:29:54 -05:00
Hunter Nickel 9fe1a7e2ae Add feature to clear database manga by source (#6241)
* Implement feature to selectively clear manga from database based on it's source

* Code cleanup and refactoring
2021-11-19 11:24:46 -05:00
arkon 1a52385b78 Formatting 2021-10-04 10:50:13 -04:00
FourTOne5 7940117577 Sort and remove duplicates in genres (#6021)
* Sort and remove duplicates in genres

Co-authored-by: ivaniskandar <12537387+ivaniskandar@users.noreply.github.com>

* Remove Sort and filter out blank genre

Co-authored-by: ivaniskandar <12537387+ivaniskandar@users.noreply.github.com>
2021-10-03 12:19:37 -04:00
arkon 7fa80ae556 Only update chapter/viewer flags for library manga instead of everything (addresses #5809) 2021-08-28 12:02:08 -04:00
Gauthier 2cd8733212 change Track.last_chapter_read to Float (#5802)
each TrackService can convert it to Int if decimal chapters are not supported
2021-08-28 10:37:45 -04:00
arkon 4b2a9bc621 Clean up imports 2021-08-27 16:45:59 -04:00
Taco 12a9d0575d Use more Compat utilities (#5786)
* Use ActivityCompat.recreate

* Use more KTX extensions

* Use PackageInfoCompat.getLongVersionCode

* Remove unnecessary compat usages
2021-08-27 16:33:12 -04:00
Andreas 3670d649b8 Make default category translatable (#5751)
* Make default category translatable

* Replace duplicate strings with common one
2021-08-19 18:10:43 -04:00
FlaminSarge 4084d5e69a Revert changes to last_update behavior from #5436 (#5590) 2021-07-24 11:32:48 -04:00
arkon 776194f5b2 Only update in-library manga chapter settings instead of all 2021-07-07 18:05:29 -04:00
stinky-lizard 70ed49e478 Imported implementation for updating library by next expected update from Neko (#5436)
* Imported implementation for updating library by next expected update from Neko. This sort uses the last 4 updates for a manga to compute an average time between updates and then extrapolates when the next update should occur.

Currently seems to work perfectly. However, I may have silently messed something up along the way.

All code and algorithms are credited to kyjibo on GitHub. The original commit adding this functionality is here: https://github.com/CarlosEsco/Neko/commit/681003926ae1e07b925155d4e1f43972bbe2b843

* Imported implementation for updating library by next expected update from Neko. This sort uses the last 4 updates for a manga to compute an average time between updates and then extrapolates when the next update should occur.

Currently seems to work perfectly. However, I may have silently messed something up along the way.

All code and algorithms are credited to kyjibo on GitHub. The original commit adding this functionality is here: https://github.com/CarlosEsco/Neko/commit/681003926ae1e07b925155d4e1f43972bbe2b843

* Remove commented-out line from LibraryUpdateRanker

I missed removing this when first committing. The removed line is a holdover from Neko, which requires 7+, but I removed the function that requires this.
2021-07-01 18:11:21 -04:00
Andreas 60890147c3 Sort per category (#5408)
* Add flags for sorting per category

* Add logic to LibrarySettingsSheet

* Add  logic to LibraryPresenter

* Minor tweaks

* Use enum instead of variables

Also deprecates LibrarySort in favour of the new enum classes

* Remove debug log and suppress deprecation

* Convert DisplayMode setting to enum

Also fix bug were adapter would get de-synced with the current per category setting

* Fix migration crashing app due to values being access before migration
2021-06-26 13:30:16 -04:00
Andreas a906e9b302 Added category-wise display setting (#5232)
* Added category-wise display setting

Co-authored-by: Rogavactive <30288842+Rogavactive@users.noreply.github.com>

* Use flag instead of preference

* Remove database call in LibraryItem

* Remove unnecessary code

Co-authored-by: Rogavactive <30288842+Rogavactive@users.noreply.github.com>
2021-06-05 10:25:34 -04:00
Andreas 0fef546a0d Add manga-wised rotation mode settings (#4841)
* Add manga-wised rotation mode settings

Based on #3522

Co-authored-by: bboyz269 <4453811+bboyz269@users.noreply.github.com>

* Fix small mistakes

* Complete TODOs

* Rename functions

rotation -> orientation

* Fix orientation icon not changing

Bug from video

* Fix bug with force portrait not being force if a default value

Bug from video

* Backup viewer_flag as a seperate field in so legacy/forks doesn't crash

* Make viewer_flags nullable so old backups viewer gets restored

* Add migration for old rotation and viewer to new defaults ones

* Rename variable in enums

* Fix migration after OrientationType was changed

* Remove untrue comment

Co-authored-by: bboyz269 <4453811+bboyz269@users.noreply.github.com>
2021-04-28 08:32:47 -04:00
arkon 5b23f29d06 Revert using fetch date for updates list
Spamming the list post-migration is currently a more common usecase than sources without chapter dates. We'll need to figure out a better way of handling both scenarios.
2021-04-04 18:11:11 -04:00
Riztard Lanthorn ddd4cc10ff add sort by date fetched in library (#4773)
* add sort by date fetched in library

* chapter fetch date to 8
2021-04-04 17:18:28 -04:00
scb261 2145e878a4 Limit query for recent chapters to 500 (#4678) 2021-03-19 23:39:36 -04:00
scb261 7f450e185d Use fetch date instead of upload date when querying recent chapters (#4645) 2021-03-14 16:38:21 -04:00
Jobobby04 9f9f9872eb Fix legacy backups
(cherry picked from commit ded58541f5903c109b70799683829e26018d2af6)
2021-02-07 22:33:07 -05:00
arkon 79c3767fff Chapter backup optimization
From https://github.com/jobobby04/TachiyomiSY/commit/fc6d9aaf519ce8830d3b45fd704b32e37f3f786f#diff-9872ccc3c9af14d2872ec99199409e60a11cb754ab23e733b1d45843778f7c95R24
2021-02-07 16:20:07 -05:00
Taco 5f7e34b6a1 Update Okio, use more KTX stuff (#4353)
* Update Okio to 2.10.0

* Use some more KTX extensions
2021-01-26 09:02:53 -05:00
Andreas 5cddc0c387 Add filter for tracking (#4276)
* Add filter for tracking or not

* Use .any

* Access database only when needed
2021-01-17 15:40:17 -05:00
arkon 0cd551d4fd Revert removal of tracker start/end date 2021-01-16 15:48:20 -05:00
arkon 6e7fefb8b2 Strip out no longer used tracker start/end date code
Unfortunately MAL was the only one that supported it in the app, but the official API doesn't support it, so now no trackers have it.
2020-12-18 23:31:28 -05:00
arkon 2ab6af6471 Consume and extend 1.x Source API
TODO: make the rest of the app actually call the 1.x functions
2020-10-26 10:52:28 -04:00
jobobby04 efc951191d History fixes (#3921)
(cherry picked from commit 776a4b2a2414f5f35b28f5d8c830baca6351e123)
2020-10-10 16:05:29 -04:00
jobobby04 9d2adcd512 Add infinite history and search history (#3827)
* Add infinite history and search history

* Cleanup code
2020-09-27 18:17:14 -04:00
lmj0011 64050e8266 [feature] add ability to set global filter/sort/display for Manga chapters (#3622)
* - [feature] add ability to set global filter/sort/display for Manga chapters

* - move default chapter settings functionality to overflow menu
- code clean up

* - show confirmation dialog when user selects "Set as Default" option in Chapter Settings

* - hide overflow menu in LibrarySettingsSheet

* - apply default chapter settings if manga is added to Library from a Source's browsing screen

Co-authored-by: arkon <arkon@users.noreply.github.com>
2020-09-14 15:58:34 -04:00
arkon b0106aa420 Fix getting stuck in chapter loop when chapters have identical URLs 2020-07-27 15:59:15 -04:00
arkon f0a1dcd120 Prevent spamming updates with newly favorited manga 2020-07-26 17:16:00 -04:00
arkon 9278ca3f5e Move chapter filter/sort/display settings into a sheet 2020-07-17 17:01:16 -04:00
arkon 4bc2288806 Allow category names with different casing (fixes #3465) 2020-07-14 09:04:15 -04:00
arkon 1813dbbf59 Add ability to sort library by date added (closes #1287) 2020-07-10 15:56:06 -04:00
Lautaro Martin Emanuel ee8c71c14a Added sorting by upload date
Spanish 'strings' contains the proper translation for the new feature.
2020-05-14 23:38:19 -03:00
MCAxiaz dc54299e24 Manga cover updates (#3101)
* cover caching overhaul

* add ui for removing custom cover

* skip some loading work

* minor cleanup

* allow refresh library metadata to refresh local manga

* rename metadata_date to cover_last_modified

* rearrange removeMangaFromLibrary

* change custom cover directory
add setting for updating cover when refreshing library

* remove toggle and explicit action for updating covers
2020-05-10 11:15:25 -04:00
arkon 6ef59a5949 Remove redundant DB transaction function 2020-04-26 16:45:23 -04:00
arkon 96c55db7ca Consider individual manga as transactions rather than entire restore job (closes #2482) 2020-04-25 18:50:44 -04:00
arkon 3f63b320c4 Linting fixes 2020-04-25 14:24:45 -04:00
Hawk of the Death f7c139030f Add Start/Finish date support for MAL (#2672)
* Started working on MAL support

* Added date picker UI

* Replaced Date with Calendar

* Added MAL remote update functionality

* Join url methods listEntryUrl and editUrl

* Removed unused methods

* Renamed mangaEditPayload to mangaEditPostBody

* Moved code to separate method

* Uniformed code to project conventions

* Removed wildcard import

* Moved MyAnimeListTrack to private class

* Improved MyAnimeListTrack name

* Removed redundant code

* Add start/finish date in local database

* Fixed format and improved codestyle

* Fixed typo and fixed TrackHolder's format

* Improved code style

* Ran linter

* Add database updating methods

* Change date format to fit new layout

* Review Commits

* Improve SetTrackReadingDatesDialog readability

* Move private methods after public ones

* Fixed SQL error

* Fixed remove date button

* Updated MaterialDesign methods to latest version

* Replaced dismissDialog() with dialog.Dismiss()

* Fixed wrong string resource usage.
2020-04-22 21:23:23 -04:00
TacoTheDank 415df2357c JDK8, lint fixing (#2888)
* Use Kotlin JDK8

* Satisfy a ton of lints

* Run res/layout files (and manifest) through reformatter
2020-04-18 14:47:22 -04:00
arkon 42a97f8c40 Add function in interface to get list of genres 2020-04-18 11:36:05 -04:00
arkon 0f2d480036 More linting fixes 2020-02-26 18:12:44 -05:00