Commit graph

3519 commits

Author SHA1 Message Date
arkon
4f2a794fba Remove dead code 2022-11-27 15:09:37 -05:00
Dexroneum
fe6aa4358f
Show toolbarTitle depending of size (#8633) 2022-11-27 14:57:52 -05:00
Andreas
f99b62a069
Use Compose on Global/Migrate Search screen (#8631)
* Use Compose on Global/Migrate Search screen

- Refactor to use Voyager and Compose
- Use sealed class for state
- Somethings are broken/missing due to screens using different navigation libraries

* Review changes
2022-11-27 14:56:21 -05:00
arkon
ac1bed38f9 Show empty library message properly
Fixes #8632
The `library` map still contains the default category even when "empty".
2022-11-27 10:43:38 -05:00
Ivan Iskandar
217b03a292
Fix library not loading when not logged in to any tracker (#8629) 2022-11-26 21:37:22 -05:00
AntsyLich
3d7591feca
Implement simple stats screen (#8068)
* Implement simple stats screen

* Review Changes

* Some other changes

* Remove unused

* Small changes

* Review Changes 2 + Cleanup

* Review Changes 3

* Cleanup leftovers

* Optimize imports
2022-11-26 15:50:26 -05:00
Ivan Iskandar
e14909fff4
Use Voyager on Library tab (#8620) 2022-11-26 15:48:57 -05:00
arkon
37118088d4 Remove usage of PublishRelay in DownloadQueue 2022-11-26 10:07:51 -05:00
arkon
5c9e9bd2c4 Use Voyager between more screens 2022-11-26 09:34:06 -05:00
Andreas
db35ba53b1
Use Voyager between supported screens in Extension package (#8616)
- Minor state behavior changes
2022-11-26 09:14:11 -05:00
AntsyLich
758d223776
Disable generating ComicInfo.xml on download (#8619)
* Disable generating ComicInfo.xml on download

* Remove unused import
2022-11-26 09:13:08 -05:00
arkon
a54d9912d0 Fix Kavita interceptor crashing app + minor cleanup 2022-11-25 23:03:42 -05:00
arkon
7e74949d38 Explicitly add READ_APP_SPECIFIC_LOCALES permission
Some devices are throwing a SecurityException (calling getApplicationLocales) for some reason.
2022-11-25 23:03:42 -05:00
Andreas
a8c5780963
Use Voyager on Migrate Manga screen (#8611) 2022-11-24 22:25:36 -05:00
Ivan Iskandar
f4ac754d02
Use Voyager on Browse tab (#8605) 2022-11-23 22:28:25 -05:00
AntsyLich
0347d3970a
Cleanup [Downloader.ensureSuccessfulDownload] (#8602) 2022-11-23 09:23:29 -05:00
Ivan Iskandar
acc2312384
Use Voyager on Updates tab (#8603)
* Use Voyager on Updates tab

* Fix back press

* Fix selection
2022-11-23 09:22:20 -05:00
Ivan Iskandar
7d34ff214c
Change settings screen to object (#8604) 2022-11-23 09:14:55 -05:00
arkon
e2179a6669 Avoid concurrency issues when reordering categories
Maybe fixes #8372
2022-11-22 23:12:23 -05:00
arkon
5c37347cec Delete empty source folder when deleting all downloads for a manga
It previously only attempted this after deleting a list of chapters, so it wasn't applicable
when deleting from Library or after unfavoriting an entry.

Closes #8594
2022-11-22 09:25:00 -05:00
Joseph Olugbohunmi
ef3a6c80a7
Implement copying of Manga URL to Clipboard (#8587)
feat: Implement copying of Manga URL to Clipboard
2022-11-21 23:09:23 -05:00
arkon
8c1171a722 Don't attempt to check chapter download status for local chapters
Fixes #8541
2022-11-20 15:28:51 -05:00
arkon
2c850d0e33 Fix invert tapping dropdown not updating checked state in reader
Fixes #8566
Should ideally just Compose-ify it all some day.
2022-11-20 15:12:51 -05:00
Andreas
f1b85ff39d
Use Voyager on Extension Details screen (#8576) 2022-11-20 14:36:03 -05:00
arkon
2d86f69caa Add reindex downloads description
Closes #8546
Also disable sound for the notification and cancel running indexing job if invalidating.
2022-11-20 14:29:56 -05:00
arkon
e22896a956 Use current timezone when setting tracker dates
Fixes #8553
2022-11-19 22:40:17 -05:00
arkon
eb6ba96b57 Limit parallelism for Coil image loading
Reference: https://www.reddit.com/r/androiddev/comments/xbeizp/comment/io4ytdv/

Co-authored-by: ivaniskandar <ivaniskandar@users.noreply.github.com>
2022-11-18 22:57:54 -05:00
arkon
5325e590ec Fix url sharing
Maybe fixes #8539
Based on f52785cbbd

Co-authored-by: jobobby04 <jobobby04@users.noreply.github.com>
2022-11-18 22:49:54 -05:00
AntsyLich
3f34fa1f58
Tweak library selection (#8513)
* Tweak library selection

Also use the new `fast*` extensions functions in other places of library presenter

* Cleanup
2022-11-18 22:33:38 -05:00
AntsyLich
ba2a528886
Fix related to cancelling queued chapters (#8528)
Tachi removes the downloaded chapter (if it exists) when you just cancelled a download from queue.

PR fixes that

Also removes redundant return
2022-11-18 22:27:39 -05:00
arkon
db6528d3fa Show toast when no next chapter found in library
Closes #8522
Will probably become a snackbar at some point.
2022-11-14 22:47:07 -05:00
arkon
f5873d70c6 Don't rely on cache when deleting empty manga folders
In case the cache hasn't actually been indexed yet. Maybe fixes #8438.
2022-11-14 22:42:36 -05:00
arkon
10e349f76e Retain previous selected state when updating list states
Fixes #8417
2022-11-13 22:35:52 -05:00
arkon
b1ccebf329 Minor cleanup
Mostly just addressing comments from #8452
2022-11-13 12:24:59 -05:00
arkon
6017229d1b Clean up ComicInfo stuff a bit more 2022-11-13 12:01:19 -05:00
arkon
9da232dcd8 Adjust download cache to ignore irrelevant files
Fixes #8530
2022-11-13 11:52:11 -05:00
AntsyLich
51c964de3a
Fix download not working on sd card (#8527)
Also create comicinfo file inside chapter folder instead of manga folder since it also contains some chapter specific data
2022-11-13 10:40:33 -05:00
arkon
262f8449b4 Resolve proper chapter URL for ComicInfo "Web" field
Requires extensions to be updated to lib 1.4 to have proper URLs for some of them, which will
happen soon in the future.
2022-11-12 09:54:32 -05:00
Andreas
bdf035d60a
Use Voyager on Source Filter screen (#8511) 2022-11-12 09:47:19 -05:00
Andreas
0270878748
Use Voyager on Extension Filter screen (#8503)
- Use sealed class for state
- Minor changes
2022-11-11 16:57:31 -05:00
arkon
6ada3c90ff Clean up ComicInfo stuff a bit 2022-11-11 16:34:18 -05:00
Shamicen
4e628fe6de
Create ComicInfo Metadata files on chapter download (#8033)
* generate ComicInfo files at the chapter root and inside CBZ archives on chapter download.

* Update app/src/main/java/eu/kanade/tachiyomi/source/LocalSource.kt

Co-authored-by: Andreas <andreas.everos@gmail.com>

* Improvements suggested by @ghostbear

* now creates ComicInfo files in normal chapter folders as well
use manga directly instead of converting it to SManga
truncate old files before overwriting them

Co-authored-by: Andreas <6576096+ghostbear@users.noreply.github.com>

* remove empty line after resolving merge conflict

* fixes Serializer for class 'ComicInfo' is not found error

* some changes to comments and variable names

* Revert leftover changes to archiveChapter() function

* minor cleanup

* Changed Chapter to SChapter

Co-authored-by: Andreas <andreas.everos@gmail.com>
Co-authored-by: Andreas <6576096+ghostbear@users.noreply.github.com>
2022-11-11 16:16:37 -05:00
ThePromidius
92b039fac7
Add Kavita tracker (#7488)
* Added kavita tracker

* Changed api endpoint since tachiyomi has it's own. Moved some processing to backend

* Bugfix. Parsing to int instead of float

* Ignore DOH, update migration and cleanup

* Fix Unexpected JSON token
	modified:   app/src/main/java/eu/kanade/tachiyomi/data/track/TrackManager.kt
	modified:   app/src/main/java/eu/kanade/tachiyomi/data/track/kavita/KavitaApi.kt
	modified:   app/src/main/java/eu/kanade/tachiyomi/data/track/kavita/KavitaModels.kt

* Apply code format suggestions from code review

Co-authored-by: Andreas <andreas.everos@gmail.com>

* Apply simplified code suggestions from code review

Co-authored-by: Andreas <andreas.everos@gmail.com>

* Removed unused dtos

* Use setter instead of function to get apiurl

* Added Interceptor

* Handle not configured/not accesible sources

* Unused import

* Added kavita to new tracking settings screen

* Delete SettingsTrackingController.kt to solve conflict

* Review comments
* Removed break lines from log messages
* Fixed jwt typo

* Merged enhanced services compatibility warning message to be more generic.
* Updated Komga String res to use new formatted one
* Added Kavita String res to use formatted one

* Apply suggestions from code review - hardcoded strings to track name

Co-authored-by: Andreas <andreas.everos@gmail.com>

Co-authored-by: Andreas <andreas.everos@gmail.com>
2022-11-11 15:19:41 -05:00
Ivan Iskandar
acc65529a0
Replace numberpicker with wheelpicker (#8501)
* Replace numberpicker with wheelpicker

* cleanups
2022-11-11 15:02:45 -05:00
Quang Kieu
3061f198e9
Temporally Fix #8287 (#8493) 2022-11-11 15:01:48 -05:00
arkon
a0f49b16c5 Remove "Download complete" notification
It wasn't really consistent with other notifications considering there's no
action to be taken in this state.
2022-11-10 23:08:19 -05:00
arkon
c6c4c1c393 Migrate to more domain model usages 2022-11-10 22:42:44 -05:00
arkon
811931ccc0 Minor cleanup 2022-11-10 22:23:34 -05:00
AntsyLich
08d5633d81
Add option to invalidate download cache (#8491)
* Add option to invalidate download cache

* Review changes + lint
2022-11-10 22:15:35 -05:00
Ivan Iskandar
340357d158
Voyager on More tab (#8498) 2022-11-10 22:08:18 -05:00
arkon
e45f6d0c92 Use toShareIntent in WebViewActivity 2022-11-09 22:38:28 -05:00
Ivan Iskandar
18ccde082d
Full Compose MangaController (#8452)
* Full Compose MangaController

* unique key

* Use StateScreenModel

* dismiss

* rebase fix

* toShareIntent
2022-11-09 22:31:56 -05:00
Ivan Iskandar
bc3bb82651
Voyager on History tab (#8481) 2022-11-09 09:26:29 -05:00
d-najd
ba00d9e5d2
Add "Play" button on manga in library (#8218)
* resume manga button in libarary

* work on resume button

* Backup

* work on opening the last read chapter

* backup

* renaming

* fab instead of image

* done with logic

* cleanup

* cleanup

* import cleanup

* cleanup...

* refactoring

* fixing logic

* fixing scopes

* Reworking design

* adding ability to turn on/off the feature

* cleanup

* refactoring, fixing logic, adding filter logic (partial)

* backup

* backup

* logic done

* backup before merge fix

* merge conflict....

* merge conflict...

* reworking ui logic

* removing unnecessary file

* refactoring

* refactoring

* review changes + minor parameter position movement

* commiting suggestion

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

* fixing minor mistake

* moving ChapterFilter.kt

Co-authored-by: arkon <arkon@users.noreply.github.com>
2022-11-07 22:32:23 -05:00
Andreas
bf9edda04c
Use Voyager on Category screen (#8472) 2022-11-07 22:13:14 -05:00
arkon
54471a014f Get index of selected update list item based on chapterId
Fixes #8442
2022-11-05 11:56:08 -04:00
arkon
8749be518f Adjust read next history logic
Closes #8454
2022-11-05 10:37:32 -04:00
Alessandro Jean
6d880c938a
Retry the MAL request if the token is expired (#8437)
Retry the MAL request if the token expired.
2022-11-04 22:54:52 -04:00
Luqman
34aa4eb291
Add back haptic feedback long tap to fav (#8418)
* Add back haptic feedback long tap to fav

- add back haptic when long tap on manga to add to library

* simplify

* Revert "simplify"

This reverts commit f4bd57315a3dbf35f5975233980304fa66807718.

* Revert "Add back haptic feedback long tap to fav"

This reverts commit 81486e30e9adf6a7e983b5e3f12bd5bc34083db1.

* cleanup
2022-11-04 22:52:28 -04:00
arkon
280b0f42db Toggle enabled source in bulk
Maybe fixes #8439
2022-11-04 09:39:23 -04:00
AntsyLich
afcf4b2988
Fix resetting filter resets browse pager (#8394)
Fix resetinf filter resets browse pager
2022-10-31 17:22:53 -04:00
arkon
642b392d44 Fix crash in ReaderReadingModeSettings when reverse portrait orientation is set 2022-10-30 23:10:59 -04:00
arkon
33e90d6449 Clean up library download chapters logic
We can probably clean up the same logic in the manga controller at some point too, but that stuff's messy.
Also fixes the spacing issue that the new icon introduced.
2022-10-30 22:56:07 -04:00
Swords
50b17d5d34
Add different download options within the Library (#8267)
* feat: add download options to library

* feat: use max instead of min

* feat: remove download all option

* feat: applied requested changes + rename some functions

* feat: merge downloadAllUnreadChapters and downloadUnreadChapters into one function

* Apply suggestions from code review

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

* feat: apply lint suggestions + fix code

feat: apply lint suggestions + fix code

* feat: revert onClickDownload back to onDownloadClicked

Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
2022-10-30 22:27:48 -04:00
arkon
5d1f79012e Fix some crashes
- Delay the initial emission of updates/sources/extensions lists instead of using a state flow. This hopefully avoids rapid initial recompositions that cause the LazyColumn key duplication crashes. (Closes #8371)
- Fix a NPE in BrowseSourcePresenter
2022-10-30 18:43:16 -04:00
arkon
cac80daa71 Set source properly when creating manga entries
Fixes #8333
2022-10-30 17:40:17 -04:00
arkon
fc184f1cfa Clean up download ahead logic
- Remove redundant chapter sorting logic when fetching next chapter(s)
- Remove redundant download queue checks (it'll handle already queued or downloaded items)
- Trigger download ahead when read >= 25% of chapter rather than 20%
- Rely on download cache when checking if next chapter is downloaded to avoid jank (fixes #8328)
2022-10-30 16:59:33 -04:00
arkon
725fcbba0e Add warning about F-Droid build support in More screen 2022-10-30 16:00:19 -04:00
stevenyomi
a078f1ab1b
Refactor search toolbar and fix browse source (#8360) 2022-10-30 13:34:47 -04:00
arkon
dd1923fe88 Remove redundant preference composables 2022-10-30 11:37:02 -04:00
arkon
df773ee15c Refactor overflow menus into a composable 2022-10-30 11:06:41 -04:00
zbue
f5451a6881
Add ability to open random manga (#8232)
* Add ability to open random manga

* Use `getMangaForCategory` instead

* Put it in overflow menu instead of using EFAB

* Partial review changes

* Merge remote-tracking branch 'refs/remotes/origin/patch-6' into patch-6

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/LibraryScreen.kt

* Merge remote-tracking branch 'refs/remotes/origin/patch-6' into patch-6

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/LibraryScreen.kt

* Wording changes
2022-10-30 10:57:33 -04:00
arkon
0849111247 Use remember var delegates in more places 2022-10-29 16:14:49 -04:00
stevenyomi
4b60138d41
Clean up strings and icons (#8326)
* Clean up strings and icons

* fix incorrect usages of label_more

* restore strings and reduce usage of android.R

* removing icon desc of FABs anyway as app's not for visual impaired users
2022-10-29 11:43:51 -04:00
arkon
fde7bfa3d1 Show notification while download cache is renewing
Since users seem to be confused now that the library loads before download info is shown...
2022-10-29 11:39:04 -04:00
arkon
224f29077d Sort library items alphabetically in secondary pass
Fixes #7461
2022-10-29 10:11:12 -04:00
AntsyLich
e1ab1fdb65 Prompt Extension update if ext-lib is updated
Co-authored-by: arkon <arkon@users.noreply.github.com>
2022-10-29 10:05:30 -04:00
arkon
d0c4463ab3 Avoid concurrency crashes in SourceManager 2022-10-28 21:29:38 -04:00
arkon
ad107860b9 Consider downloaded only mode when getting download counts in library
Fixes #8318
2022-10-28 21:29:25 -04:00
arkon
5efb31bd71 Fix some crashes 2022-10-28 21:10:03 -04:00
arkon
e4a2f35907 Fix library download counts not being loaded if downloaded filter is in exclusion state 2022-10-28 19:05:55 -04:00
AntsyLich
e36d31bf0f
Cleanup Library presenter (#8284)
* yeet observable + minor cleanup

* move [getTracksFlow] to domain

* Lint

* Review changes

Co-Authored-By: Andreas <6576096+ghostbear@users.noreply.github.com>

* Review Changes 2

* Stuff

* Rename + Rebase

* Lint

Co-authored-by: Andreas <6576096+ghostbear@users.noreply.github.com>
2022-10-28 11:44:05 -04:00
d-najd
37b7efbc87
WebView for chapter link (#8281)
* backup

* doing logic

* cleanup

* applying suggestion

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

* requested changes

Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
2022-10-28 11:41:51 -04:00
AntsyLich
6e4a30e593
Fix "Download split" not working while using SD card (#8305)
* Fix "Download split" not working while using SD card

* Update app/src/main/java/eu/kanade/tachiyomi/util/system/ImageUtil.kt

Co-authored-by: arkon <arkon@users.noreply.github.com>
2022-10-28 11:40:43 -04:00
arkon
c50b1a5c66 Alternate method of avoiding LazyColumn key conflict crashes
Co-authored-by: ivaniskandar <ivaniskandar@users.noreply.github.com>
2022-10-27 23:26:34 -04:00
arkon
ccc4144f3c Remove side nav icon alignment preference
Simplifying it to just always be centered, which is what most Google apps seem to be doing anyway.
2022-10-27 17:30:12 -04:00
arkon
d5b4bb49b1 Refactor network to local manga logic
Maybe fixes #8289
2022-10-26 23:01:21 -04:00
arkon
ca06516900 Avoid some crashes 2022-10-26 18:12:11 -04:00
AntsyLich
2cbe946e7e
Rework library selection (#8290) 2022-10-26 09:22:12 -04:00
AntsyLich
3b5b9a1ae5
Use Channel in Download cache (#8292)
* Use `Channel` in Download cache

Co-Authored-By: Andreas <6576096+ghostbear@users.noreply.github.com>

* Use Unlimited capacity

Co-authored-by: stevenyomi <95685115+stevenyomi@users.noreply.github.com>

Co-authored-by: Andreas <6576096+ghostbear@users.noreply.github.com>
Co-authored-by: stevenyomi <95685115+stevenyomi@users.noreply.github.com>
2022-10-26 09:21:35 -04:00
Ivan Iskandar
82b552ac9a
MangaPresenter: Filter unsupported track service from available service list (#8286) 2022-10-25 09:34:05 -04:00
arkon
9792a6cb78 Fetch download counts if library is filtered by downloaded
Fixes #8277
2022-10-23 10:15:05 -04:00
arkon
5c868d7846 Use kotlin.time extensions in some more places 2022-10-22 19:57:55 -04:00
arkon
6e04822f5e Only enable ACRA crash logging in preview and stable release builds 2022-10-22 15:47:09 -04:00
AntsyLich
4ff5c1148e
Cleanup LibraryUpdateService (#8237) 2022-10-22 15:16:44 -04:00
stevenyomi
2ab744c525
Fix app lock and make delay not survive app being killed (#8272)
* Fix app lock

* Always require unlock if app is killed
2022-10-22 15:07:44 -04:00
AntsyLich
4a244a598b
Cleanup UpdatesPresenter deleteChapters (#8273) 2022-10-22 12:58:14 -04:00
arkon
d0bff298b7 Remove fake chapter deletion state updates
Now that the updates and manga screen listen to download cache changes, it'll reflect the real states once deleted.
2022-10-22 12:24:59 -04:00
arkon
152eb5b951 Handle async cache in updates and manga screens
- Also fix concurrent accesses to main cache map
- Also debounce sources and updates list updates to maybe avoid crashing due to dupe LazyColumn keys
2022-10-22 10:50:44 -04:00
stevenyomi
d558f9e1d6
Tweak tablet UI mode setting (#8262) 2022-10-22 10:15:12 -04:00