Commit Graph

3859 Commits

Author SHA1 Message Date
Andreas
30b3b2d3ff
Split source preferences from PreferencesHelper (#8029) 2022-09-18 10:36:41 -04:00
Andreas
0086743a53
Use 1.x preference abstraction (#8020)
* Use 1.x preference abstraction

- Uses SharedPreferences compared to 1.x impl which uses DataStore but it breaks all settings screens currently
- Move PreferencesHelper to new PreferenceStore
  - PreferencesHelper should be split into smaller preference stores and be in core or domain
- Remove flow preferences as new PreferenceStore handles changes for us

Co-authored-by: inorichi <3521738+inorichi@users.noreply.github.com>

* Fix PreferenceMutableState not updating

* Fix changes not emitting on first subscription

Co-authored-by: inorichi <3521738+inorichi@users.noreply.github.com>
2022-09-17 11:48:24 -04:00
Ivan Iskandar
f54adb49a1
ExtensionsPresenter: Use StateFlow for extensions list (#8017) 2022-09-16 08:35:15 -04:00
Ivan Iskandar
ec30026333
Fix always-on app lock on cold start (#8018) 2022-09-16 08:34:46 -04:00
arkon
4ea512f6c2 Fix manga being reinitialized in browse
Co-authored-by: jobobby04 <jobobby04@users.noreply.github.com>
2022-09-15 22:55:20 -04:00
arkon
829aadd0bd Always attempt automatic backup creation
- Defaults to every 12 hours
- Minimum number of backups is now 2, just to offer some level of redundancy in case something happens
- If it's missing storage permissions, it'll fail but that's the user's loss if they somehow haven't granted that permission yet
2022-09-15 22:53:46 -04:00
arkon
9d28def387 Remove some dead code 2022-09-15 22:51:01 -04:00
Andreas
86fe850794
Extract source api from app module (#8014)
* Extract source api from app module

* Extract source online api from app module
2022-09-15 18:12:27 -04:00
Ansh
30ac94181b
Fix stacking of Settings menu in the reader on multiple taps (#8002)
* fix : conditional check added to avoid stacking of dialog

In onClickListener, bottom sheet is being opened depending on status of dialog sheet, if it's showing or not.

* chore : refactored conditional logic

* Update ReaderActivity.kt
2022-09-15 17:41:54 -04:00
Ivan Iskandar
6865c21c75
Fix derivedStateOf errors (#8008) 2022-09-14 11:36:13 -04:00
Ivan Iskandar
7270c48f26
LibraryItem: Fix equality check (#7999)
Proper equality check is needed by compose for state changes.
2022-09-12 12:29:28 -04:00
AntsyLich
9e5d79aec3
Fix lint error (#8000) 2022-09-12 11:59:15 -04:00
AntsyLich
c51e83c048
Flatten available extensions with its source (#7956)
* Flatten available extensions with it's source

We should also do something similar for installed extensions

Supersedes #7200

* Dedupe sources
2022-09-11 18:05:46 -04:00
stevenyomi
52fa28c16a
Prevent okhttp from caching covers and chapter images (#7967) 2022-09-11 18:00:07 -04:00
AntsyLich
935c8e7d82
Change logic in BitmapFactory.Options.splitData (#7989) 2022-09-11 17:59:57 -04:00
arkon
19be0d68b6 Add some padding to tab indicators 2022-09-11 17:59:08 -04:00
arkon
f9bbbce466 Check the actual folder when deleting source folder in case of stale cache 2022-09-11 17:58:59 -04:00
arkon
eb5ef72747 Revert "Update Compose Material3"
This partially reverts commit 3dea10bcb9.

See https://issuetracker.google.com/issues/245626686
2022-09-11 17:49:10 -04:00
Andreas
0215b66098
Count the downloads under each header instead of count the number of headers (#7990) 2022-09-11 13:11:50 -04:00
arkon
3dea10bcb9 Update Compose Material3 2022-09-11 11:52:29 -04:00
arkon
cd3cb72b65 Bump dependencies + linting 2022-09-10 23:57:03 -04:00
arkon
28594bba2c Remove unused resources 2022-09-10 10:19:38 -04:00
AntsyLich
56826fb477
Cleanup logic of onStripSplit in WebtoonPageHolder 2 (#7976) 2022-09-10 09:34:27 -04:00
arkon
448978ac8a Remove unused resources 2022-09-09 22:37:29 -04:00
Ivan Iskandar
fb9791f597
DownloadController: Partial Compose conversion (#7969)
Item list is not changed as currently there is no fitting Compose component to
replace the drag-drop behavior.
2022-09-09 22:29:40 -04:00
nzoba
07d1b9f3ba
Fix download ahead missing out 1 chapter (#7927)
* Fix download ahead missing out 1 chapter

* Move toLong() function

* Add check whether the next chapter is queued
2022-09-09 22:29:24 -04:00
AntsyLich
6b91f65457
Cleanup logic of onStripSplit in WebtoonPageHolder (#7955)
* Cleanup logic of `onStripSplit` in WebtoonPageHolder

* Update app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonPageHolder.kt

Co-authored-by: arkon <arkon@users.noreply.github.com>
2022-09-07 17:11:44 -04:00
AntsyLich
0c7b1bda7f
LocalSource: Create cover file if it doesn't exist (#7954) 2022-09-07 17:02:06 -04:00
Ivan Iskandar
032b377de7
WebViewScreen: Use Scaffold (#7958) 2022-09-07 16:59:44 -04:00
arkon
26d8e47bb9 Bump default user agent string 2022-09-04 18:01:02 -04:00
AntsyLich
d55c854ebf
Webtoon Split: Improve performance (#7947) 2022-09-04 11:16:20 -04:00
Andreas
6b2b21edfa
Fix Filter not being applied in Browse Source (#7945) 2022-09-04 11:15:13 -04:00
Ivan Iskandar
99270e370e
Fix missing downloaded only/incognito banners in Browse Source (#7936) 2022-09-04 11:14:37 -04:00
arkon
21804bfc45 Reimplement extensions search
Not sure if I should abstract this out to per-tab though. Maybe when we need it...
2022-09-03 10:47:48 -04:00
arkon
38950f7bc8 Address some OkHttp nullability changes 2022-09-03 10:38:56 -04:00
arkon
bbf5c86b46 Fix missing downloaded only/incognito banners in Browse 2022-09-03 10:33:31 -04:00
Ivan Iskandar
3fa68ed217
Rebase Scaffold fork (#7929)
This changes content insets handling
2022-09-03 10:33:22 -04:00
Andreas
cc6aef693e
Merge Latest and Browse into one screen (#7921)
* Merge Latest and Browse into one

* Add back Latest button

* Change context to IO instead of launching a job

* Use loading screen when loading initial page
2022-09-03 10:16:30 -04:00
AntsyLich
5a320d87e8
Remove download source folder when empty (#7928) 2022-09-03 09:18:19 -04:00
AntsyLich
da95ecb686
Lessen the use of GlobalScope launchIO (#7916)
* Lessen the use of GlobalScope `launchIO`

* Wrap some calls with `NonCancellable` context
2022-09-02 11:50:44 -04:00
Ivan Iskandar
774a87a42a
Adjust app lock mechanism (#7924)
Now uses enum to also handle timed lock
2022-09-02 11:48:48 -04:00
AntsyLich
ff4a217730
Cleanup chapter name when syncing chapter with source (#7910) 2022-09-02 10:07:50 -04:00
AntsyLich
a43754e1a6
Fix tmp cbzs are counted towards manga download count (#7909)
* Fix tmp cbzs are counted towards manga download count

* Review Changes

* Review Changes 2
2022-09-02 10:03:37 -04:00
arkon
8ef200861c Fix webtoon viewer pages not loading
Partial revert of fddca15182
2022-09-02 10:02:04 -04:00
arkon
30b86e530b Bump OkHttp and re-enable fast fallback
It wasn't very stable last time, but we'll see how it goes in preview builds.
2022-08-31 16:51:33 -04:00
Andreas
2f26982e34
Resolve review comments for BrowseSourceScreens (#7912) 2022-08-31 16:47:07 -04:00
arkon
504844a892 Make top app bar lift behavior more consistent 2022-08-31 16:31:08 -04:00
arkon
4c1da1bd1d Maybe fix extensions list crash
Also fix weird animation of last updated text in Updates
2022-08-31 15:56:08 -04:00
arkon
dc62d0ea8b Clean up interceptors a bit 2022-08-31 15:39:59 -04:00
AntsyLich
fddca15182
Don't update page progress and allow preload when on StencilPage (#7899)
Also cleanup a little in WebtoonPageHolder
2022-08-31 15:09:21 -04:00
AntsyLich
81f49f34ef
Manually handle HTTP 103 through WebView (#7907)
* Manually handle HTTP 103 through WebView

* Review Changes
2022-08-31 14:48:25 -04:00
arkon
c39a1b7867 Minor cleanup 2022-08-31 14:43:58 -04:00
Andreas
d4b764fa31
Use Compose on BrowseSourceScreens (#7901) 2022-08-31 14:41:35 -04:00
AntsyLich
d85af2fec6
Add "Njalla" dns provider (#7908)
* Add "Njalla" dns provider

Details ~~Tho there is none~~: https://dns.njal.la/

* Lint
2022-08-31 11:23:02 -04:00
arkon
90c08303fa Implement nicer UI for migrate list sorting 2022-08-30 16:31:28 -04:00
arkon
92e83f702c Initial conversion of browse tabs to full Compose
TODO:
- Global search should launch a controller with the search textfield focused. This is pending a Compose rewrite of that screen.
- Better migrate sort UI
- Extensions search
2022-08-30 16:05:35 -04:00
Alessandro Jean
084e6a964e
Enable sub-languages on app first run (#7127)
* Enable sub-languages on app first run.

* Fix wrong language code string parsing.

* Fix some build issues due to rebase.

* Use PreferenceHelper and remove an extra preference.

* Remove a constant.
2022-08-30 15:37:15 -04:00
stevenyomi
532f662b05
Rewrite RateLimitInterceptor (#7889) 2022-08-30 13:17:37 -04:00
AntsyLich
53f5ea7fe9
Rename source download folder on source rename (#7898)
* Rename source download folder on source rename

* Review Changes

* Review Changes 2
2022-08-30 13:15:34 -04:00
AntsyLich
fc6946ed61
Reword "All" source/ext lang to "Multi" (#7895)
* Add "multi" as a recognized source/ext lang

* Review Changes
2022-08-30 12:43:50 -04:00
arkon
f5c7aa1142 Convert settings main and search views to full Compose 2022-08-29 16:39:35 -04:00
arkon
761635b572 Convert extension details to full Compose 2022-08-29 16:10:55 -04:00
arkon
488d8ab8cf Update chapter progress upon registering tracker (closes #7209)
Co-authored-by: Saud-97 <Saud-97@users.noreply.github.com>
2022-08-29 15:36:56 -04:00
arkon
8efb20439a Remove some usages of global scope 2022-08-29 15:15:18 -04:00
arkon
43c195e14a Add last update time to Updates Tab (closes #5466)
Co-authored-by: datreesezcup <datreesezcup@users.noreply.github.com>
2022-08-29 14:57:25 -04:00
arkon
8a3a7418d0 Show number of unique library items (closes #6522)
- Filters do affect this
- Won't be shown if tabs aren't visible and there's more than 1 category (so it'd always show the per-category count), but a separate stats page should show that info instead
2022-08-29 14:34:11 -04:00
Andreas
880407442c
Tweak flag classes for Library (#7829)
* Tweak flag classes for Library

- Add interface for Flag and Mask
- Merge Sort Type and Direction into one class
- Use custom serializers for preferences
  - Mainly to not break the old

* Review changes
2022-08-29 13:10:30 -04:00
renovate[bot]
3b34a878a7 Update dependency org.jsoup:jsoup to v1.15.3 2022-08-29 13:08:42 -04:00
AntsyLich
b79340989f
Fix IndexOutOfBoundsException when using Split tall images (#7892)
Also little cleanup
2022-08-29 13:02:34 -04:00
AntsyLich
0e526c36be
Long strip split fixes 2.0 (#7882)
options was having issues in returning width for some reason

Fixes #7880
Fixes #7881
2022-08-28 09:46:42 -04:00
Andreas
a83d29f058
Add APK output for x86_64 CPU architecture (#7885)
* Add APK output for x86_64 CPU architecture

* Review changes

* Fix formatting

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

* Use underscore instead of hyphen

Co-authored-by: stevenyomi <95685115+stevenyomi@users.noreply.github.com>
2022-08-28 09:45:33 -04:00
Andreas
be7108a2ee
Fix overflow in ChangeCategoryDialog (#7883) 2022-08-28 09:43:01 -04:00
AntsyLich
1948d55d5d
Long strip split fixes (#7875)
* Fix image width in `splitStrip`

* Fix reader switch isn't in md3
2022-08-27 18:10:16 -04:00
Andreas
9c49a5ed22
Fix issue with removing categories from manga for ChangeCategoryDialog (#7874) 2022-08-27 18:02:19 -04:00
Andreas
0bb20a92af
Fix issue with input for DownloadCustomChaptersDialog (#7873) 2022-08-27 17:50:00 -04:00
arkon
cd82c88b9a Fix checkbox selection when tapping text in Compose dialogs 2022-08-27 12:48:04 -04:00
AntsyLich
8d40e20b7d
Prevent unofficial exts from getting marked as obsolete or updateable (#7871)
* Prevent unofficial exts from getting marked as obsolete

* Prevent unofficial ext `hasUpdate` getting marked as true
2022-08-27 12:12:59 -04:00
arkon
31b62b2779 Minor cleanup 2022-08-27 11:50:51 -04:00
AntsyLich
88b56121a3
Long Strip Split for Webtoon (#5759)
* Long Strip Split for Webtoon

* Review Changes

* Review Changes 2 + Rebase
2022-08-27 11:41:18 -04:00
Ivan Iskandar
655fa25b51
Bump Compose M3 to 1.0.0-beta01 (#7867) 2022-08-26 09:19:47 -04:00
Mubashir Haroon
aab5f083db
Trim newlines from user agent (#7858)
* trim newlines from user agent

* fix indents

* fix indents for real

* actually fix indents
2022-08-26 09:18:09 -04:00
arkon
03b9950fa1 Minor tweaks to download custom dialog
- Allow large decrements (just goes to 0)
- Use Material3 text field for proper theming
- Move dialog composable to presentation package
2022-08-26 09:16:26 -04:00
Andreas
2453d1a886
Move a few Dialogs to Compose (#7861)
* Move a few Dialogs to Compose

- Separating dialogs that are not needed in the PR for the move to Compose on the Browse Source screen
- ChangeMangaCategoriesDialog and AddDuplicateMangaDialog will be removed in the Browse Source screen PR

* Review changes
2022-08-26 08:57:28 -04:00
stevenyomi
4b9a6541d1
Fix chapter download with empty scanlator (#7844) 2022-08-24 17:19:01 -04:00
nzoba
a70b848646
Fix stucked downloads when service not started (#7846)
* Fix stucked downloads when service not started

* Fix chapter download restart even if should be deleted
2022-08-24 17:18:22 -04:00
Andreas
ce44c0615b
Add DelicateCoroutinesApi to GlobalScope extension functions (#7848) 2022-08-23 10:16:52 -04:00
nzoba
f207e87722
Download ahead (#7226) 2022-08-22 17:37:54 -04:00
arkon
2e81e1b7d8 Reorder themes 2022-08-21 11:27:02 -04:00
Batuhan
4b0f549666
New Theme Tidal Wave (#7825)
* New Theme Tidal Wave

Added a new strong blue theme appearance to Tachiyomi titled Tidal Wave.

* Better Tertiary Color: Seafoam Green

Updated the tertiary color to be lighter and match the blue more. Also changed the active button color to contrast better.
2022-08-20 13:23:32 -04:00
stevenyomi
40749dc767
DownloadProvider: Remove duplicate in valid chapter dir name list (#7826) 2022-08-20 13:19:15 -04:00
stevenyomi
3599d53c61
Disable explicit nulls for JSON serializer (#7824)
* Disable explicit nulls for JSON serializer

* format to multiple lines
2022-08-20 11:48:50 -04:00
stevenyomi
2156844b87
NetworkHelper: log real requests and responses (#7820) 2022-08-20 10:16:45 -04:00
Ivan Iskandar
763288ab13
LibrarySettingsSheet: Fix race condition when applying sort mode (#7805)
Also fix sort direction can't be changed for default category
2022-08-20 10:15:53 -04:00
Andreas
58e6479438
Fix crash when opening library sheet with empty category list (#7822) 2022-08-19 16:02:37 -04:00
Andreas
6d6c38ecaf
Fix nav bar appearing when going from Library's action mode (#7821)
fixes #7788
2022-08-19 16:02:12 -04:00
arkon
3760b310df Don't allow setting blank user agent string 2022-08-19 08:24:03 -04:00
Andreas
47b56644de
Fix emoji going crazy and fix tabs being visible when library is empty (#7811)
fixes #7792
fixes #7791
2022-08-19 07:22:46 -04:00
arkon
1fe9b7bda7 Update default user agent string 2022-08-18 18:54:55 -04:00
stevenyomi
e36e9d9d5c
Remove 1.x source models (#7781) 2022-08-18 14:07:13 -04:00
Andreas
4228bbb88e
Set initial flag on new categories (#7800)
- Use the same flag as other categories
- Per-category uses the flag the user used before starting to use per-category
2022-08-18 14:06:52 -04:00
Andreas
09abfc7843
Lint changes (#7802)
- Fixes current lint issues
- Changes lint task to lintKotlin on PRs
2022-08-18 14:06:32 -04:00
stevenyomi
1f34f5277c
Fix notification and add visual cues when triggering a second update (#7783) 2022-08-18 09:01:10 -04:00
Ahmad Azwar Annas
80b4b7bee6
Add Mullvad and Control D as DoH providers (#7785) 2022-08-18 08:59:40 -04:00
stevenyomi
1f9f9662bc
Fix download chapter dir when scanlator is empty or changed (#7780) 2022-08-16 17:26:08 -04:00
Ivan Iskandar
2d690a09b3
Reinstate in-app language picker (#7493)
Also add required config for android 13 system picker
2022-08-14 11:52:46 -04:00
arkon
1d6aa9a277 Merge branch 'patch'
# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/tachiyomi/data/database/DbOpenCallback.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/models/Manga.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/notification/NotificationReceiver.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/saver/ImageSaver.kt
#	app/src/main/java/eu/kanade/tachiyomi/extension/util/ExtensionInstallReceiver.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/base/controller/SearchableNucleusController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/MigrationFlags.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/AddDuplicateMangaDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/ChapterLoader.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/ReaderPageImageView.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/ReaderTransitionView.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/webview/WebViewActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/util/chapter/ChapterSorter.kt
#	app/src/main/res/layout/pref_settings.xml
#	app/src/test/java/eu/kanade/tachiyomi/util/chapter/ChapterRecognitionTest.kt
#	gradle/androidx.versions.toml
#	gradle/libs.versions.toml
2022-08-14 11:28:28 -04:00
Ivan Iskandar
9dbc1aa7a3
UpdatesScreen: use custom LazyColumn with animation fix (#7758) 2022-08-14 10:12:31 -04:00
Ivan Iskandar
b0520df1dd
Use application context to create toast (#7756) 2022-08-14 08:44:24 -04:00
arkon
a89651810d Don't allow swiping away app update install notification
Based on 85ef40d0ff
2022-08-13 15:15:14 -04:00
CVIUS
431c04e54f Detect identical mangas when long pressing to add to library (#7095)
* Detect identical mangas when long pressing to add to library

* Use extracted duplicate manga dialog to avoid duplication

* Partially revert previous commit

* Review changes

* Review changes part 2

(cherry picked from commit f1afeac0bc)
2022-08-13 15:15:01 -04:00
nicki
f461c71625 Fix Links to Changelog/Readme/Commits for multisrc (#7252)
* Fix Links to Changelog/Readme/Commits for `multisrc`

working basic fix. Needs to be refactored into `createUrl()`

* Refactor back into `createUrl`

hopefully the logic is understandable
there's three cases:
 - when multisrc, if `path` isn't mentioned, then we're trying to open
   commmit history
 - when multisrc, if `path` is mentioned, then its either a changelog or
   a readme to a multisrc extension, the files are stored in the
   `overrides` subfolder
 - when not multisrc, we're looking at a single source where the links
   are constructed in the same way regardless of it being
   changelog/readme/commit history

(cherry picked from commit e7695aef78)
2022-08-13 15:05:50 -04:00
arkon
b635789740 Actually compare chapter numbers as numbers when sorting (fixes #7247)
(cherry picked from commit da8669c826)
2022-08-13 15:05:23 -04:00
Saud-97
f00e03e5ea New: Migrating titles maintains custom covers (#7196)
* New: Migrating titles maintains custom covers #7189

* Added Custom Covers to MigrationFlags.kt, strings.xml

* Reworded covers --> cover

* Updated logic to show/hide Migration flags titles depending on manga.

(cherry picked from commit 5ea03fad87)
2022-08-13 15:03:21 -04:00
arkon
6db2becd30 Add auto split tall images setting
Also includes some fixes for bad merges in earlier commits

Co-authored-by: Saud-97 <Saud-97@users.noreply.github.com>
Co-authored-by: AntsyLich <AntsyLich@users.noreply.github.com>
2022-08-13 14:56:08 -04:00
Ivan Iskandar
5f378e28b6
UpdatesPresenter: Prevent unnecessary screen recompose (#7742) 2022-08-13 14:34:51 -04:00
Ivan Iskandar
4ebceac07f
UpdatesScreen: Fix inset related issue (#7741) 2022-08-13 14:27:07 -04:00
Ivan Iskandar
aab5a56892
MangaFullCoverDialog: Use the new image picker when available (#7740) 2022-08-13 13:25:48 -04:00
Andreas
e58945a209 Log extension loading errors directly (#7716)
(cherry picked from commit 7892cc1519)
2022-08-13 13:17:41 -04:00
Alessandro Jean
03e4eb1061 Add missing Authorization header on MAL refresh token request (#7686)
* Add missing Authorization header on MAL refresh token request.

* Make sure to also close the response when it have failed.

(cherry picked from commit 5315467908)
2022-08-13 13:16:55 -04:00
stevenyomi
09a3509d79 Filter out empty genres before saving manga to database (#7655)
(cherry picked from commit 4efb736e56)
2022-08-13 13:16:00 -04:00
Andreas
b3a11eca0f Remove deprecated LibrarySort (#7659)
* Remove deprecated LibrarySort

* Apply suggestions from code review

(cherry picked from commit 58acf0a8aa)
2022-08-13 13:15:50 -04:00
MatchaSoba
650c2dc6e7 Fix logic for searchWithGenre (#7559)
(cherry picked from commit b563e85c3b)
2022-08-13 13:15:36 -04:00
arkon
d4adb664cc Avoid catastrophic failure when cover can't be created in local source (fixes #7577)
(cherry picked from commit d6977e5676)
2022-08-13 13:14:33 -04:00
arkon
5194bdb229 Show better error when trying to open RARv5 file
(cherry picked from commit a843054388)
2022-08-13 13:14:23 -04:00
nzoba
87ec71142b Add downloaded icon in TransitionView when chapter is downloaded (#7575)
* Add downloaded icon in TransitionView

* Change icon

(cherry picked from commit e8b7743826)
2022-08-13 13:13:23 -04:00
AntsyLich
85f2996ae9 Fix logic of app unlock (#7569)
(cherry picked from commit 8ea05e852e)
2022-08-13 13:11:12 -04:00
stevenyomi
e296d56e09 Fix image MIME issues that cause download errors (#7562)
* Downloader: ignore non-image MIME to prevent .bin extensions

* ProgressResponseBody: allow null content type

Co-authored-by: anenasa <84259093+anenasa@users.noreply.github.com>

Co-authored-by: anenasa <84259093+anenasa@users.noreply.github.com>
(cherry picked from commit 3547d0142f)
2022-08-13 13:11:03 -04:00
f1998f1998
dd676b6d14 fix concurrent download (#7552)
* Fix concurrent download

* lower Concurrency

* artist Update app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt

Co-authored-by: Vetle Ledaal <vetle.ledaal@gmail.com>

Co-authored-by: Vetle Ledaal <vetle.ledaal@gmail.com>
(cherry picked from commit b635f02d93)
2022-08-13 13:10:53 -04:00
arkon
7c7bd72c8e Make default user agent string configurable
(cherry picked from commit 4ee1d72b6f)
2022-08-13 13:09:55 -04:00
arkon
c7e44aa22f Replace deprecated ACTION_MEDIA_SCANNER_SCAN_FILE intent
(cherry picked from commit 0b4f3f5532)
2022-08-13 13:09:19 -04:00
arkon
ac4f98e152 Configure SQLite
- Turn on `foreign_keys` to cascade on delete properly
- Turn on `journal_mode` and set `synchronous` to NORMAL which may help performance for larger libraries

Based on d977b89af1

Co-authored-by: ghostbear <andreas.everos@gmail.com>
2022-08-13 13:08:16 -04:00
arkon
3966a917ee Bump dependencies + compile SDK to 33 + linting 2022-08-13 12:52:18 -04:00
arkon
4a71022a60 Update chapter recognition and related tests
Includes 3e07100dc2

Co-authored-by: Saud-97 <Saud-97@users.noreply.github.com>
2022-08-13 12:37:02 -04:00
AntsyLich
1474c8ffb3
Some tweaks on Updates screen (#7729)
Based on #7708, #7709 and #7717

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

Co-authored-by: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
Co-authored-by: Andreas <6576096+ghostbear@users.noreply.github.com>
2022-08-12 12:21:05 -04:00
Ivan Iskandar
441e7bf8b1
MainActivity: Fix crash on back pressed (#7731) 2022-08-12 12:20:39 -04:00
Andreas
71fc5d6d35
Add back reset action to the Library and History Search toolbars (#7722)
* Add back reset action to the Library and History Search toolbars

* Localize the descriptions
2022-08-11 09:23:56 -04:00
Andreas
ff996d282a
Change usage of name to visualName when Default category can be shown (#7725) 2022-08-11 09:07:20 -04:00
AntsyLich
11f640cfee
Change return value of SyncChaptersWithSource.await() (#7715)
* Change return value of `SyncChaptersWithSource.await()`

`updatedToAdd.subtract(reAdded).toList()` never worked as at this point `updatedToAdd` contained ids from db where `reAdded` had default one. Was the same case before the rewrite.

Removed `toDelete` from return value as it was not being used anywhere

* Add doc string

* Use HashSet

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

Co-authored-by: stevenyomi <95685115+stevenyomi@users.noreply.github.com>
2022-08-11 09:06:46 -04:00
arkon
d6f1534ee8 Address misc. build warnings 2022-08-10 23:26:34 -04:00
arkon
e511f24979 Fix crash when setting cover errors (closes #7714) 2022-08-10 16:11:12 -04:00
Andreas
22e83f408b
Tweak Library screen (#7718)
* Allow to refresh when there is white space

fixes #7701

* Don't use key on library screen as it retains scroll position on first item

fixes #7631
2022-08-10 15:56:52 -04:00
Andreas
ec96a81735
Fake library loading (#7717) 2022-08-10 15:54:26 -04:00
Andreas
7892cc1519
Log extension loading errors directly (#7716) 2022-08-10 15:53:47 -04:00
Ivan Iskandar
f7b11f2ce9
MangaPresenter: Fix incorrect range selection (#7709) 2022-08-09 09:11:12 -04:00
Ivan Iskandar
b4e15263db
Fix issues related to Manga screen slow load (#7708)
* Fix back handling when manga is still loading

* MangaPresenter: Show what we have earlier to reduce percepted slowness
2022-08-09 09:10:48 -04:00
nzoba
7845f9430e
Set readStartTime when switching chapters in a single reader session (#7702) 2022-08-08 09:22:37 -04:00
Ivan Iskandar
16abfeeff0
Glance widget fixes (#7706)
* Fix glance failing when there's too much children

* Adjust cover error placeholder
2022-08-08 09:20:45 -04:00
arkon
3bc6b1e202 Fix default category showing up in edit manga categories list
Also remove some usages of runBlocking
2022-08-07 11:00:51 -04:00
arkon
3c2e237d63 Fix appbar action content descriptions 2022-08-07 10:16:08 -04:00
arkon
688cc64dff Minor fixes
- Fix categories modal showing when adding from source with no categories
- Use old categories icon in library bottom action menu
2022-08-06 16:23:13 -04:00
arkon
9f0052eceb More backup/restore code cleanup 2022-08-06 15:40:50 -04:00
arkon
a2bb81b7db Start cleaning up backup/restore code
The abstraction was useful for handling 2 systems, but it's no longer needed. Cleaning it up will make migrating to domain models easier down the line.
2022-08-05 23:11:06 -04:00
arkon
5e68fe4fe9 Make screen loading indicators more consistent 2022-08-05 22:33:52 -04:00
Andreas
914831d51f
Move default category into database (#7676) 2022-08-05 09:32:10 -04:00
Alessandro Jean
5315467908
Add missing Authorization header on MAL refresh token request (#7686)
* Add missing Authorization header on MAL refresh token request.

* Make sure to also close the response when it have failed.
2022-08-04 22:17:43 -04:00
Ivan Iskandar
b3426f37e7
ExtensionPresenter: Fix crash on first launch (#7685)
* Revert "Use SharedFlow for available extensions to always emit the value (#7609)"

This reverts commit 73901f50c0.

* ExtensionPresenter: Explicitly set refreshing status

* Scope coroutines job to presenter

* cleanup

* fix toast
2022-08-04 15:44:37 -04:00
Ivan Iskandar
afceac15c8
Add scroll overlay to LibraryToolbar (#7669)
Works when category tab is not shown
2022-08-03 17:41:15 -04:00
nzoba
3d4e56948d
Save read duration to backup (#7672)
* Save read duration to backup

* Add default value

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

Co-authored-by: Andreas <andreas.everos@gmail.com>
2022-08-03 17:40:13 -04:00
Ivan Iskandar
737cf9898d
Reimplement appbar color overlay on scroll (#7663)
only on updates and history screen for now, but the required changes on app bar
is there.

also fix missing incognito-downloaded mode indicator on history screen
2022-07-31 22:24:19 -04:00
arkon
322f3a07e8 Remove some unneeded TODOs 2022-07-31 17:52:17 -04:00
Andreas
6c7b3d7811
Fix null pointer exception on Extension Detail screen (#7666) 2022-07-31 17:17:36 -04:00
arkon
2ca62c4eda Remove unused viewstatepageradapter dependency 2022-07-31 11:55:07 -04:00
Ivan Iskandar
29e1976b90
Glance widget for Updates (#7581)
* glance

* glance2
2022-07-31 11:31:40 -04:00
stevenyomi
4efb736e56
Filter out empty genres before saving manga to database (#7655) 2022-07-31 11:18:12 -04:00
Andreas
58acf0a8aa
Remove deprecated LibrarySort (#7659)
* Remove deprecated LibrarySort

* Apply suggestions from code review
2022-07-31 11:17:43 -04:00
stevenyomi
9f5f101858
Dismiss clear database confirm dialog on success (#7657) 2022-07-31 10:59:55 -04:00
AntsyLich
2a875fe9b8
SyncChaptersWithSource: Fix early exit condition for readded chapters (#7661) 2022-07-31 10:58:55 -04:00
Andreas
039fe4a618
Fix Clear Database item trying to display language when empty (#7651) 2022-07-30 13:55:07 -04:00
arkon
0c9c4c0347 Mimic M3 rounded tab indicators 2022-07-30 12:27:32 -04:00
MatchaSoba
b563e85c3b
Fix logic for searchWithGenre (#7559) 2022-07-30 11:53:25 -04:00
Andreas
99ac30e59f
Use Compose on Clear Database screen (#7639) 2022-07-30 11:51:47 -04:00
AntsyLich
4774deb1ef
Use Stable interface for Updates screen + Cleanup (#7627)
* Use Stable interface for Updates screen + Cleanup

Co-Authored-By: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>

* Disable swipe refresh in selection mode

* Review Changes

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

* Review Changes 2

Co-authored-by: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
Co-authored-by: Andreas <6576096+ghostbear@users.noreply.github.com>
2022-07-30 11:50:00 -04:00
Ivan Iskandar
d49ec41f3a
Library category page performance fixes (#7650)
* Don't compose category page unnecessarily

* Remove unnecessary library pager recompose

Defer and remember the "currentPage" state read since it's only needed when the
pager is composed for the first time.

* Badge opts

* Sync text style with previous impl

Also avoid reallocating by using copy
2022-07-30 11:47:27 -04:00
arkon
f90e1b935c Bump dependencies 2022-07-29 23:13:40 -04:00
Andreas
db93d1da76
Fix library bugs (#7648)
- Fix mixup in Action Menu
- Fix back action not clearing search
2022-07-29 22:42:18 -04:00
Andreas
7d74b174e0
Merge GetExtensions and GetExtensionUpdates (#7646) 2022-07-29 15:09:49 -04:00
Andreas
e513487caa
Fix number of items not updating when Show category tabs is off (#7644) 2022-07-29 10:17:31 -04:00
Ivan Iskandar
483b204fb5
MangaPresenter: Add distinctUntilChanged to db flow (#7629)
* MangaScreen: Disable swipe refresh on action mode

* MangaPresenter: Add distinctUntilChanged to db flow

Now will only emit update when the related entry is changed
2022-07-29 07:47:09 -04:00
Andreas
56028aff55
Fix category exclude not working in DownloadManager (#7641) 2022-07-29 07:46:09 -04:00
Andreas
8bde35298f
Add fast scroller to Library screen (#7600)
Co-authored-by: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>

Co-authored-by: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
2022-07-27 09:13:43 -04:00
Ivan Iskandar
3fe5e53b25
MangaScreen large UI tweaks (#7625)
* MangaScreen: Fix large UI column sizing behavior

* MangaInfoHeader: Adjust large UI cover sizing behavior

* BottomActionMenu: Change bg shape
2022-07-27 09:12:01 -04:00
Ivan Iskandar
dcafdac036
Retain backstack views by default (#7621) 2022-07-27 09:00:18 -04:00
Andreas
f8d8cf9f6a
Wait for library to load before creating Pager (#7623) 2022-07-27 09:00:09 -04:00
Andreas
5bb1133f0f
Use non nullable parameters in the MangaCover invoke function (#7624)
Issue cause the non nullables to become nullable has been fixed since 1.2.0-rc01
2022-07-27 08:59:41 -04:00
Andreas
2b96709799
Make Selection toolbar take precedence over search toolbar (#7611) 2022-07-26 09:05:08 -04:00
Ivan Iskandar
1c8da5fa97
BrowseSourceController: Fix broken page after opening manga (#7608)
Probably related to 788583e66f
2022-07-25 08:32:11 -04:00
Andreas
73901f50c0
Use SharedFlow for available extensions to always emit the value (#7609)
- Fixes Extension screen being stuck refreshing due to StateFlow not emitting due to the value being the same
2022-07-25 08:31:41 -04:00
Andreas
76057b84b2
Fix wrong query being used when opening Global Search (#7604) 2022-07-24 15:06:18 -04:00
Andreas
164de67a56
Fix infinite loading when user library is empty (#7602)
- If no manga in library add default category this to remove loading state
2022-07-24 12:43:33 -04:00
Ivan Iskandar
aeffb5eeb8
ChapterDownloadIndicator: Optimize further and reimplement error state (#7599)
In the context of a weaker device--remembering objects inside a list item
is expensive. So only do it when we really need to.

This also flattens the download button by drawing a single icon instead of using
separate icon and progress indicator.
2022-07-24 10:27:00 -04:00
Andreas
6f94777530
Fix toolbar having bottom padding in portrait (#7601) 2022-07-24 09:56:03 -04:00
Ivan Iskandar
2e15be59af
Fix unnecessary recompose when calling LazyListState.isScrolledToEnd (#7598) 2022-07-24 08:49:28 -04:00
Andreas
bc1f6ba517
Tweaks on Library screen (#7597)
- Toolbar not having padding in landscape
- Fix library always refreshing everything even though user is refreshing category
- Tab text using primary color
- Fix Grid having to big of a top padding
- Fix Pager crashing when initial page is greater than the number of categories
2022-07-24 08:48:54 -04:00
Ivan Iskandar
59f8c1a288
MangaPresenter: Don't update fav state when changing categories (#7594) 2022-07-23 22:18:40 -04:00
arkon
cd9487f94c Set splash screen ready state for history and updates pages 2022-07-23 19:37:26 -04:00
Andreas
978489fade
Fix crash in Extension Detail and set ready to true on Library screen (#7591) 2022-07-23 19:27:40 -04:00
arkon
07c9af4901 Fix padding in history screen 2022-07-23 11:25:45 -04:00
arkon
d6977e5676 Avoid catastrophic failure when cover can't be created in local source (fixes #7577) 2022-07-23 11:14:34 -04:00
arkon
a843054388 Show better error when trying to open RARv5 file 2022-07-23 11:13:52 -04:00
Andreas
c751851941
Use Stable interface for History screen (#7586)
- Adds Stable interface
- Move last Dialog into Compose
- Make History screen be full Compose screen
2022-07-23 10:01:51 -04:00
Andreas
9f2ddaadde
Cleanup Library after Compose changes (#7584) 2022-07-23 09:58:05 -04:00
Andreas
fc328e141c
Remove unused dependencies (#7585) 2022-07-23 08:54:08 -04:00
arkon
27bac4fffb Remove unused legacy ActionModeWithToolbar 2022-07-22 22:46:53 -04:00
arkon
4bf4b167a5 Remove bottom nav behavior and add bottom padding to root controller contents 2022-07-22 22:44:05 -04:00
Andreas
2b8d1bcc02
Use Compose for Library screen (#7557)
- Move Pager to Compose
- Move AppBar to Compose
- Use Stable interface for state
- Use pills for no. of manga in category instead of (x)
2022-07-22 19:05:50 -04:00
nzoba
e8b7743826
Add downloaded icon in TransitionView when chapter is downloaded (#7575)
* Add downloaded icon in TransitionView

* Change icon
2022-07-22 18:55:31 -04:00
AntsyLich
8ea05e852e
Fix logic of app unlock (#7569) 2022-07-21 22:23:59 -04:00
stevenyomi
3547d0142f
Fix image MIME issues that cause download errors (#7562)
* Downloader: ignore non-image MIME to prevent .bin extensions

* ProgressResponseBody: allow null content type

Co-authored-by: anenasa <84259093+anenasa@users.noreply.github.com>

Co-authored-by: anenasa <84259093+anenasa@users.noreply.github.com>
2022-07-20 09:10:41 -04:00
arkon
4d9d587366 Migrate More screen to full Compose 2022-07-18 18:51:36 -04:00
arkon
e2510c144a Misc cleanup
- Migrate sources filter screen to full compose
- Use standard "OK"/"Cancel" actions for delete category dialog
- Abstract some AppBar logic
- Remove some dead code
- Group related strings
2022-07-18 18:32:25 -04:00
Ivan Iskandar
00519e3b93
MangaScreen: Save selection state (#7560) 2022-07-18 16:42:46 -04:00
Ivan Iskandar
473dc688f0
Fix download status not updated properly after starting batch download (#7561) 2022-07-18 16:22:49 -04:00
f1998f1998
b635f02d93
fix concurrent download (#7552)
* Fix concurrent download

* lower Concurrency

* artist Update app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt

Co-authored-by: Vetle Ledaal <vetle.ledaal@gmail.com>

Co-authored-by: Vetle Ledaal <vetle.ledaal@gmail.com>
2022-07-18 13:22:09 -04:00
AntsyLich
d8fb6b893f
Migrate Updates screen to compose (#7534)
* Migrate Updates screen to compose

* Review Changes + Cleanup

Remove more unused stuff and show confirmation dialog when mass deleting chapters

* Review Changes 2 + Rebase
2022-07-17 22:17:40 -04:00
arkon
cbfe9c30bb Migrate more screens to full Compose 2022-07-16 21:00:01 -04:00
arkon
459b369feb Avoid crashes due to SQLite support in older Android versions for debug builds 2022-07-16 20:54:27 -04:00
arkon
3192d47837 Fix tablet manga screen column ratios
Matches previous stable design. Related to #7401
2022-07-16 20:41:13 -04:00
arkon
f6f5b6aeab Fix library column setting jumping in 2022-07-16 18:26:30 -04:00
arkon
1b2c12385f Migrate licenses screen to full Compose 2022-07-16 18:12:09 -04:00
arkon
80c7a45328 Remove top app bar scroll behavior
This lets us make it more consistent with the Compose screens for now. Maybe it'll return in the future.

This also includes making the AboutController a full Compose controller with a new abstracted TopAppBar composable.
2022-07-16 17:58:43 -04:00
arkon
2096df301d Consolidate badge components 2022-07-16 17:40:40 -04:00
arkon
0b78028cf6 Tweak categories view
- Remove Compose top app bar behaviour since it's kind of jank -- we'll probably just remove the scrolling behaviour everywhere
- Tap title to rename
- Focus in textfield when opening dialogs
2022-07-16 17:28:50 -04:00
arkon
46ac9fe970 Consolidate Compose content/theme setting 2022-07-16 17:28:50 -04:00
AntsyLich
b034f503f8
MangaPresenter: Incognito and downloaded only label related tweaks (#7535)
When manga screen takes time to load incognito and downloaded only label doesn't show up. It's fixed in the pr.
2022-07-16 16:45:05 -04:00
Andreas
9ebeff04e6
Fix Library List not using correct text color (#7548) 2022-07-16 16:40:51 -04:00
arkon
fa73e2403b Minor library view cleanup
- Clean up unused code
- Add text shadow in compact mode
- Tweak some paddings to better match stable
2022-07-16 15:36:38 -04:00
Andreas
35ec593658
Use Flow in ExtensionManager and SourceManager (#7547)
- Replace ExtensionManager relay and observable with Flow
- Inverse SourceManager dependency
    - SourceManager observers ExtensionManager flow
- Separate SourceData from SourceRepository as it created a circular dependency
2022-07-16 15:08:15 -04:00
Andreas
905c96922b
Use Compose for Library list and grid (#7520) 2022-07-16 15:06:24 -04:00
Andreas
018ca71336
Use Stable interface for Browse screens (#7544) 2022-07-16 14:44:37 -04:00
Andreas
a21aa8125e
Add Stable interface for Category state (#7539) 2022-07-15 17:35:19 -04:00
AntsyLich
83e193f1ab
Fix extension setting isn't accesiable when it has update (#7537)
Closes #7516
2022-07-15 14:44:59 -04:00
jobobby04
bdbe1c4d0f
Use MangaImpl defaults in Manga.create() (#7538) 2022-07-15 14:44:45 -04:00
arkon
4ee1d72b6f Make default user agent string configurable 2022-07-14 23:01:50 -04:00
AntsyLich
902bb35ba7
Little cleanup for stub source (#7519)
* Little cleanup for stub source

Fixes instances where name shows up blank for stub sources

* Review Changes

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

Co-authored-by: Andreas <andreas.everos@gmail.com>
2022-07-14 17:17:31 -04:00
jobobby04
4684797dfb
Fix crash with chapterFlags in Manga.create() (#7530) 2022-07-14 17:16:45 -04:00
AntsyLich
386b8945c8
Use Material Icons for untrusted extension's icon (#7518) 2022-07-13 09:18:50 -04:00
Trevor Paley
86a018ebad
Fix bug in default category downloading logic (#7525) 2022-07-13 09:18:17 -04:00
Ivan Iskandar
ba93060e59
Fix scroll animation when system animation is disabled (#7509) 2022-07-11 22:21:00 -04:00
arkon
788583e66f Replace some usages of RxJava 2022-07-10 19:48:07 -04:00
Ivan Iskandar
cbcab5a545
Fix MangaScreen app bar title and nav icon action (#7506) 2022-07-10 14:29:58 -04:00
Ivan Iskandar
634ee86bbd
MangaPresenter: Always fetch chapter from source if current chapter is empty (#7507) 2022-07-10 14:29:52 -04:00
AntsyLich
64f60c36e6
ExtensionManger: Fix unofficial extension has update (#7503) 2022-07-10 10:00:48 -04:00
arkon
0b4f3f5532 Replace deprecated ACTION_MEDIA_SCANNER_SCAN_FILE intent 2022-07-09 17:51:58 -04:00
Andreas
d977b89af1
Configure SQLite (#7495)
- Turn on `foreign_keys` to cascade on delete properly
- Turn on `journal_mode` and set `synchronous` to NORMAL which may help performance for larger libraries
2022-07-09 17:35:49 -04:00
arkon
487ce37d91 Set content descriptions for bottom nav badges
Doesn't seem to produce #6708, but at least it'll be used by screen readers?
2022-07-09 16:40:16 -04:00
Ivan Iskandar
1551891c15
MangaScreen: Improve chapter list scrolling performance (#7491)
* MangaScreen: Improve chapter list scrolling performance

Process chapter title, date and read progress string ahead of time

* Use enum for contentType and add key
2022-07-09 16:20:40 -04:00
Ivan Iskandar
e56f6c1017
ChapterDownloadIndicator: Fixes and improvements (#7485)
* Increased touch target
* Fix downloaded icon smaller than other states
* Deferred state reads to minimize recompose works
* Move things around to eliminate unnecessary elements
2022-07-09 12:38:33 -04:00
Ivan Iskandar
34906a7425
MangaScreen: Ditch the expanded app bar (#7470)
Animating the content padding that's used for the lazy list is heavy. A simple
fix to *just* offset the list is blocked by a Compose fling issue (b/179417109).

So I decided to go with the previous layout of this screen by putting everything
in the list. MangaInfoHeader is split into separate composables to avoid jank
when the item is being inflated.
2022-07-09 12:37:49 -04:00
Andreas
86bacbe586
Use Compose for Category screen (#7454)
* Use Compose for Category screen

* Use correct string for CategoryRenameDialog title

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

Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
2022-07-09 12:31:14 -04:00
Ivan Iskandar
9385b86ecb
VerticalFastScroller: Fix scroller consuming touch when it's invisible (#7484) 2022-07-09 09:20:47 -04:00