Commit Graph

3812 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