Commit graph

6140 commits

Author SHA1 Message Date
Cuong M. Tran
48437205cd
Add icon to jump directly to ExtensionDetailsScreen from SourcesScreen
# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/SourcesScreen.kt
2024-01-29 23:20:14 +07:00
Cuong M. Tran
906012cd40
SourcesSearch with animated search box 2024-01-29 23:14:38 +07:00
Cuong M. Tran
b94f67d9b6
using FastScrollLazyColumn for SourcesScreen scrollbar 2024-01-29 22:53:15 +07:00
Cuong M. Tran
6731edde87
Add OFFICIAL source & mine signature 2024-01-29 22:51:13 +07:00
Cuong M. Tran
81541ca67c
Show Untrusted extensions above Trusted extensions 2024-01-29 22:50:40 +07:00
Cuong M. Tran
da890c42d7
Remove files executable permission 2024-01-28 23:44:37 +07:00
Cuong M. Tran
d38b148915
Change update repo 2024-01-28 23:44:37 +07:00
AntsyLich
7d6bdc75f9
Fix score issue with MangaUpdates
Also add custom user agent

Potentially fix #17

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/track/mangaupdates/MangaUpdatesInterceptor.kt
2024-01-28 23:44:15 +07:00
Jobobby04
9b9655df90 Update AboutScreen with new links 2024-01-17 23:28:24 -05:00
AntsyLich
7cc6b7147f Fix score issue with MangaUpdates
Also add custom user agent

Potentially fix #17

(cherry picked from commit 99fd2731f5d9d374700e89fa67d4d5bf611bbafa)
2024-01-17 23:19:44 -05:00
Jobobby04
f59b6e393e Put merge in overflow for now 2024-01-13 18:23:46 -05:00
Jobobby04
6632589027 Remove some links in About 2024-01-13 16:40:24 -05:00
Jobobby04
a009d5d080 Change support server 2024-01-13 16:39:52 -05:00
arkon
e28878c5ee Better message for empty extensions list
(cherry picked from commit a37f3eb70922557cd0e4ed0c05d3563850b49757)
2024-01-13 00:18:51 -05:00
arkon
a96079c14c Fixed tap controls not working when zoomed in (#10378)
Co-authored-by: Paloys <Paloys@users.noreply.github.com>
(cherry picked from commit c65a9aecf5ed228550fd994e62a16fc2300c344d)
2024-01-13 00:18:36 -05:00
Jobobby04
d99b3b1203 Revert "Add extension repo mentions to more places"
This reverts commit 8625e75a2b.
2024-01-13 00:18:20 -05:00
arkon
320eb3f16a Minor extension repo enhancements
- Shortcut to settings from extensions tab
- Don't show error toast anymore if nothing's loaded
- Ability to copy extension repo URL to clipboard

(cherry picked from commit 02e50411de8e233dfd0f2bd9671f39a4e71d297c)
2024-01-13 00:17:07 -05:00
Caleb Morris
09a18be5b9 [download-cache] Fixed init logic to skip when cache file is missing (#10362)
There are several possible causes of the cache file to not exist, including user
 action. By skipping these couple steps during initialization when the file is
 missing, a renew action is allowed to start and the cache will rebuild and
 hopefully work as expected.

Simple fix for #10360

(cherry picked from commit 7292dadd5fbbf9b394f047f2207f4de13c8229d0)
2024-01-13 00:16:51 -05:00
KaiserBh
f6407805d3 Use transaction on restore to go brr. (#10375)
refactor: use transaction to go brr.

This improve the restore speed on fresh db and non fresh db.

Signed-off-by: KaiserBh <kaiserbh@proton.me>
(cherry picked from commit b1067b942ef5c8d53e5ab838ef078789b9c0627a)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/restore/restorers/MangaRestorer.kt
2024-01-13 00:16:39 -05:00
Caleb Morris
a13de19c81 Fixed dev UI preview (#10385)
The TachiyomiTheme introduced a dependency-injection construct that didn't
 exist at the time of rendering previews, so I've changed the preview function
 to use a preview version of the theme that uses declarative configuration
 over dependency injection

(cherry picked from commit cf6f7c521cde88f20c1eef3a6a63a2b73601523f)
2024-01-13 00:14:57 -05:00
Jobobby04
8625e75a2b Add extension repo mentions to more places 2024-01-09 18:52:29 -05:00
Jobobby04
c3fabce45a Fix build 2024-01-09 18:52:28 -05:00
arkon
727318355a Disable some non-ready stuff for stable build
(cherry picked from commit 68899aea617659a94639d6490cea77833f6eae34)
2024-01-09 18:52:26 -05:00
arkon
613c92c51e Move extension repos interactors to proper package
Also retain ordering of added repos.

(cherry picked from commit 3d178737b1e1c6531f9dbba5b2b5611eac901f90)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionManager.kt
2024-01-09 18:52:22 -05:00
arkon
8f8649c0c0 Remove built-in official extension repo support
(cherry picked from commit bf737cf95c65745b475330a1d90c0d0c0c9f1e80)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/ExtensionDetailsScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/extension/model/Extension.kt
#	data/src/main/java/tachiyomi/data/source/SourceRepositoryImpl.kt
2024-01-09 18:52:20 -05:00
Naputt1
66af8c80b6 fix Can't scroll down to the bottom of the webtoon on the last chapter (#10291)
(cherry picked from commit c91ec9a33bae624ba2ec121daac80edc586f61f0)
2024-01-09 18:52:19 -05:00
Caleb Morris
ffe9517027 [track-search] Added context menu for copy and open-in-web (#10352)
(cherry picked from commit a8040cb21a45bed3c9be85fab12149a1a734a7f7)
2024-01-09 18:52:17 -05:00
arkon
797c385502 Avoid floating point precision issues when converting scores
Fixes #10343
Maybe we'll finally migrate off of those legacy models some day...

(cherry picked from commit f60782f11fd03b302bb81387f24fd56795f3c6bf)
2024-01-09 18:52:16 -05:00
arkon
a8eeb0715c Do proper check for next chapter's download status when downloading ahead
Fixes #10151 (I think?)

(cherry picked from commit 5854ad97e0dbada0b75feda268bf4d57a7161d01)
2024-01-09 18:52:13 -05:00
arkon
a2e121aba1 Fix external repo info banner in ExtensionDetailsScreen
(cherry picked from commit 4b8fa059d5f9234176680d0c5c9e8e706ddd7e98)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/ExtensionDetailsScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/extension/model/Extension.kt
2024-01-09 18:52:12 -05:00
arkon
27d0ad11bd Add advanced setting to revoke all trusted unknown extensions
(cherry picked from commit 3dc2f9a711a732f53f6836a40215f293af8a3cb1)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt
2024-01-09 18:52:10 -05:00
arkon
190916d01a Trusting new extension shouldn't revoke other irrelevant extensions
(cherry picked from commit 8033a94ee203dc1c0bb717e5b01670fd30a7fd4d)
2024-01-09 18:52:09 -05:00
arkon
80d64bc031 Add filter library by customized update frequency
Supersedes #9619

Co-authored-by: quangkieu <quangkieu@users.noreply.github.com>
(cherry picked from commit 028da099ddf42b8b305afad04aba5f819a8ce24c)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/LibrarySettingsDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
#	domain/src/main/java/tachiyomi/domain/library/service/LibraryPreferences.kt
2024-01-09 18:52:07 -05:00
arkon
ef443e63a8 Fix selecting custom fetch interval not persisting sometimes
(cherry picked from commit e6c6c32d811349a2524f8ffe5bfc4a0c2d7d9679)
2024-01-09 18:52:06 -05:00
Luqman
0a5bb1ec94 Add Nord Theme (#10308)
* Add Nord Theme

* update

* update error color

* update comment

(cherry picked from commit bce6af62fcbb20d521a137712cddc2e9bbaeaaf8)
2024-01-09 18:52:05 -05:00
Jobobby04
00599a8d33 Fix external repo click 2024-01-09 18:52:03 -05:00
arkon
56b565cc51 Allow permanently trusting unofficial extensions by version code + signature
Closes #10290

(cherry picked from commit 6510a9617a2b5b5389cb5776a2fb91019206f6fc)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/domain/source/service/SourcePreferences.kt
#	app/src/main/java/eu/kanade/tachiyomi/Migrations.kt
#	app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/extension/util/ExtensionLoader.kt
2024-01-09 18:52:02 -05:00
arkon
28ca7efdca Avoid jank in extensions list if install permissions already granted
(cherry picked from commit 14510f1d26653b7b4906f32c47a89f4902a176ca)
2024-01-09 18:52:00 -05:00
arkon
807af9a35d Allow deep linking to add external repo
(cherry picked from commit f115edf2eac125d0e6a0fdec79bd9d6627c3c53b)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
2024-01-09 18:51:59 -05:00
arkon
c801aec27a Allow opening .tachibk files directly with app to restore
(cherry picked from commit 727289c8ebf504edbd1d330ac1ab9091908fc086)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
2024-01-09 18:51:56 -05:00
Jobobby04
d669a764a4 Build fixes 2024-01-09 18:51:54 -05:00
arkon
38907e81c8 Add link to storage FAQ in settings screen
(cherry picked from commit 9c91ddd4e3b27d42afac91efeae9e528798f114c)
2024-01-09 18:51:53 -05:00
arkon
bd96864895 Avoid hard crash if cached image file was already deleted
Closes #9720

(cherry picked from commit 3ea026e3116a77fd58bf656e1ecdb5e1ab6de28a)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonPageHolder.kt
2024-01-09 18:51:51 -05:00
arkon
3e561f7b67 Normalize some locale names
(cherry picked from commit 36f307e3bbf5a52277fba3033a08201cd37f779a)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/GlobalSearchScreen.kt
2024-01-09 18:51:50 -05:00
arkon
ff00c301e1 Show non-localized language names too in app language selection
(cherry picked from commit 89678ebb17ad62b3b0118e13d7ab431f5ead8c46)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAppearanceScreen.kt
2024-01-09 18:51:49 -05:00
arkon
e873557066 Fix RAR loading
Closes #10302

(cherry picked from commit 80b7d14af195147b52e38765fdb3adf4b9030dd4)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/RarPageLoader.kt
2024-01-09 18:51:47 -05:00
arkon
8adad251a0 Avoid showing WebView button in reader errors if page isn't actually from web
(cherry picked from commit bbd8098a61ca6ab79c4a37f0f529c5c01632835b)
2024-01-09 18:51:46 -05:00
arkon
828ffcaec2 Add link to storage guide during onboarding step
(cherry picked from commit f8ef0f143b148a207defc443549c29696d63418c)
2024-01-09 18:51:45 -05:00
arkon
ed88c76010 Bump dependencies
(cherry picked from commit 8321ff60005892e3ba333caafd1e88c1fb6d6660)
2024-01-09 18:51:39 -05:00
arkon
1ec0a22e37 Clean up external repos
- Accept full URL as input instead, which allows for non-GitHub
- Remove automatic CDN fallback in favor of adding that as an external repo if needed

(cherry picked from commit 9c899e97a97480545d022974ffd3ea1248634155)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsBrowseScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
2024-01-09 18:51:37 -05:00
arkon
aaeac1b10c Fix lint error
(cherry picked from commit 556f5a42a77fc355819919f91a9436902b25c789)
2024-01-09 18:51:36 -05:00
arkon
7e9199b3ef Disable customized fetch intervals for stable builds for now
Until some of the issues get ironed out.

(cherry picked from commit 850813820c44b1a15484ed9a39ec4feaf5f990d7)
2024-01-09 18:51:34 -05:00
arkon
cc1855e06b Revert "Implement predictive back animation (#10273)"
This reverts commit 9c120e623193271971448fb03665a73dff4f85cb.

Potentially too buggy for a stable release for now.

(cherry picked from commit dba5e6fbfdf65f0482f681b22defb759e9b32437)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/home/HomeScreen.kt
2024-01-09 18:51:33 -05:00
Jobobby04
ea03e28079 Fix firebase on dev builds 2024-01-09 18:51:32 -05:00
arkon
24a56a5529 Support external repos
Largely taken from SY.

Co-authored-by: jobobby04 <jobobby04@users.noreply.github.com>
(cherry picked from commit c17ada2c98041877ab901efb9b03497130ead34a)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/source/interactor/CreateSourceRepo.kt
#	app/src/main/java/eu/kanade/presentation/browse/ExtensionDetailsScreen.kt
#	app/src/main/java/eu/kanade/presentation/category/SourceRepoScreen.kt
#	app/src/main/java/eu/kanade/presentation/category/components/CategoryDialogs.kt
#	app/src/main/java/eu/kanade/presentation/category/components/repo/SourceRepoContent.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsBrowseScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/extension/api/ExtensionGithubApi.kt
#	app/src/main/java/eu/kanade/tachiyomi/extension/model/Extension.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/category/CategoryScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
2024-01-09 18:51:30 -05:00
arkon
b677f81fb1 Change fetch interval action to show days until next expected update
(cherry picked from commit 32bed9b041d76a6bac699c56c78d1692b71dfc0b)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt
#	domain/src/main/java/tachiyomi/domain/manga/model/Manga.kt
2024-01-09 18:50:52 -05:00
arkon
cf5bb4dc9b Remove custom extension readme/changelog URLs
These were barely used/maintained, so just killing them.
Changelog menu item still exists to take you to the relevant git history.

(cherry picked from commit e0a0942015accc217a881739abf8df9d74eab6da)
2024-01-09 18:50:51 -05:00
Jobobby04
59f8e98d69 A warning is enough, no need to reset on cold starts 2024-01-09 18:50:48 -05:00
arkon
07b0c59842 Force users to retrust unknown extensions on cold starts
(cherry picked from commit 493da5c3f471b53615e80411d942fc2c92a33ec5)
2024-01-09 18:50:46 -05:00
arkon
c8ca321be2 Remove tmp chapter files after exiting reader
(cherry picked from commit 4e221397ceaec334307546920b3e1168e56f5433)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/di/AppModule.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/ChapterLoader.kt
#	source-local/src/androidMain/kotlin/tachiyomi/source/local/LocalSource.kt
2024-01-09 18:50:45 -05:00
arkon
6398f92518 Fix next expected update being weird number sometimes
Occurs if manga.lastUpdate has never been set yet.

(cherry picked from commit 22589a9c3056312dcbd0dfca08b53987cbc4a73d)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/chapter/interactor/SyncChaptersWithSource.kt
2024-01-09 18:50:42 -05:00
arkon
d00ddac06f Fix extension settings icon trying to install update instead of opening details
(cherry picked from commit b5e3f429fc08e3743af57d7babc084525bf3cb59)
2024-01-09 18:50:39 -05:00
arkon
25e49a6b3d Try to show actual path in invalid location downloader notification
Instead of the class/hashCode, which doesn't mean much to a user.

(cherry picked from commit 83130f9bf964dfce512c77803f8b5bcfb90c8f08)
2024-01-09 18:50:38 -05:00
arkon
e90f656bb6 Prevent creating backups with no valid options selected
(cherry picked from commit 6f34c5e894beb2ac172d00c3d08a43e6388486b3)
2024-01-09 18:50:37 -05:00
Jobobby04
75f6b0eb40 Hopefully fixes crashlytics 2024-01-09 18:50:35 -05:00
Jobobby04
5065840731 Fix build 2023-12-31 16:31:30 -05:00
arkon
10b8924d43 Use Material3 version of AboutLibraries
(cherry picked from commit 74931fad861abf19f26b51d9395642b58ee34e12)
2023-12-31 15:09:08 -05:00
arkon
f27b8b2ded Don't use reflection for handling backup options as boolean array
Wasn't working correctly in release build, _probably_ because of R8 despite kotlin-reflect
shipping with Proguard rules and us already keeping all Tachiyomi classes.

(cherry picked from commit 6ab8e1e73dbcc65d693dd2ed2680c950139dadde)
2023-12-31 12:53:30 -05:00
arkon
0432f4105e Dedupe common LazyColumn with action at bottom layout
(cherry picked from commit 1cdaa761b7b7d08eaf2f1d829de1c998e75c7c2c)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/advanced/ClearDatabaseScreen.kt
2023-12-31 02:01:54 -05:00
arkon
15d21c1151 Show next expected update in interval dialog
Related: #9793
(cherry picked from commit 54f4711f7bf0f96492b49c6c9d5c6f05eaee7b59)
2023-12-31 02:01:19 -05:00
arkon
b72214b922 Misc refactoring
- Abstract away relative date string building
- Dedupe large update warning logic

(cherry picked from commit 3d0d5c047228f13d8a6a7d90400f4d67f2817f24)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt
#	app/src/main/java/eu/kanade/presentation/updates/UpdatesScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/updates/UpdatesScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/updates/UpdatesTab.kt
2023-12-31 02:01:04 -05:00
arkon
acd0ca99ed Allow creating backups without library entries
- In case you want a backup of just settings?
- Also disable backup options if dependent option is disabled (and fix being able to toggle disabled items)
- Also fix crash in RestoreBackupScreen due to attempt to parcelize Uri
- Make restore validation message a bit nicer

(cherry picked from commit f0a0ecfd4a5c8ee85fdcf7e92dc9a0079ef40cde)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/restore/RestoreOptions.kt
2023-12-30 18:15:30 -05:00
arkon
a2d202a2cf Shorten restore warning message a bit
(cherry picked from commit f3b7eaf4a37f047abd6523b9c8ff1da73fd0ef46)
2023-12-30 18:13:51 -05:00
arkon
4bcbddf3b2 Allow partial restores (library/settings)
Closes #3136

(cherry picked from commit 5bba7af24aa0b8c5d66baa1f26a8427ceec8a4ae)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsDataScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/restore/RestoreOptions.kt
#	core/build.gradle.kts
2023-12-30 18:13:43 -05:00
arkon
b3f0b898b2 Filter out empty source preferences when creating backups
(cherry picked from commit 32c3269291cd31f7a69a6d0c073b52223fa3e918)
2023-12-30 18:08:08 -05:00
arkon
54b9b4f548 Clean up create backup UI
(cherry picked from commit a1e84911be14d353056cc63dc79c341c06c27079)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/create/BackupOptions.kt
2023-12-30 18:07:57 -05:00
arkon
d13f08ca7a Minor cleanup/address lint warnings
(cherry picked from commit 6bb77bcf1aabfcad2c4a9dd73854f3fcc6c52c89)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/components/MangaBottomActionMenu.kt
#	app/src/main/java/eu/kanade/presentation/manga/components/MangaInfoHeader.kt
#	app/src/main/java/eu/kanade/presentation/reader/appbars/ReaderAppBars.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateDialog.kt
2023-12-30 18:06:11 -05:00
arkon
18d7c2312c Add ability to create manual backups with private preferences too
(cherry picked from commit ccec5c3efeea699124d4bb7448d6fe9718cb883f)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/data/CreateBackupScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/create/BackupOptions.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/restore/RestoreOptions.kt
2023-12-30 17:57:39 -05:00
arkon
e1afceb769 Refactor backup option flags to normal data class of booleans
(cherry picked from commit 8735836498f46f7b6dc35ff62ffb595e097d568e)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/data/CreateBackupScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/create/BackupCreateFlags.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/create/BackupCreator.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/create/creators/MangaBackupCreator.kt
2023-12-30 17:55:10 -05:00
arkon
c496371553 Minor exception message cleanup
(cherry picked from commit 8b65fd57519faa8119fca97febf90c5e8590c4a6)
2023-12-30 16:37:47 -05:00
arkon
fe53d7b7fb Don't make install permission required during onboarding
Closes #10257

We show a warning banner in the extensions list and also rely on the system
alert popup if someone attempts to install without the permission already
granted.

(cherry picked from commit f0710df35696c1f6cf7bb5371dfd6ad91d53fae1)
2023-12-30 16:37:37 -05:00
arkon
ab371a6e50 Hide private installer option for stable builds
(cherry picked from commit 3afcee81f454174aec110a585dba9692f2ac6175)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt
2023-12-30 16:37:26 -05:00
Ivan Iskandar
d6640bb5dd Implement predictive back animation (#10273)
For home screen tabs, Navigator screens and most dialogs

(cherry picked from commit 9c120e623193271971448fb03665a73dff4f85cb)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/home/HomeScreen.kt
2023-12-30 16:35:59 -05:00
Jobobby04
0c1db9b554 Data object 2023-12-28 14:50:51 -05:00
Jobobby04
834bc28726 Fix double pages not showing in default reading mode 2023-12-28 13:40:38 -05:00
Daniel
4c71e46ecc
Center the Exh Utils (#978)
* Update ExhUtils.kt

* Remove import
2023-12-27 16:32:25 -05:00
Jobobby04
25f94e4500 Fix merged manga chapters and merged manga filtered scanlators 2023-12-27 16:30:56 -05:00
arkon
d82b2919f8 Move backup models back to main app module
I didn't realize the package name change would break compatibility with forks
that still have the old package names...

(cherry picked from commit 4b208fc7ce95fb3b3746446da54351bcead0533c)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/create/BackupCreator.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/create/creators/MangaBackupCreator.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupFlatMetadata.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupMergedMangaReference.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupSavedSearch.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/models/metadata/BackupSearchMetadata.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/models/metadata/BackupSearchTag.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/models/metadata/BackupSearchTitle.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/restore/BackupRestorer.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/restore/restorers/MangaRestorer.kt
2023-12-27 13:59:15 -05:00
arkon
653a1f8f14 Allow deleting downloaded chapters even if source isn't available
Fixes #9160

(cherry picked from commit a9b0ac43c490eff063c8b3c8173a90184409ab69)
2023-12-27 13:48:36 -05:00
arkon
71faf85edd Always show chapter download indicators
- Local chapters are just always "downloaded", but you can't delete them from the app
- Unavailable sources show proper state so long as it's stubbed with the name still, but
  you can't download anything new

(cherry picked from commit fca4f251227f983d8313eda546f35644692f39cb)
2023-12-27 13:48:04 -05:00
arkon
4de946ad8e Remove skipped updates notification
Seems to cause more confusion than it's worth.
Will update the UI for the library update skip options to better
explain what they're for later.

(cherry picked from commit bfb0d31ff61a6609cdf8ca421d08cbb4236fc5af)
2023-12-27 13:47:55 -05:00
arkon
1ddcbea113 Simplify storage usage bar UI implementation
(cherry picked from commit 8939274b5cbef7cd8e0c0c0e771f1ae54025baf3)
2023-12-27 13:47:45 -05:00
Jobobby04
22d8711cee Minor cleanup 2023-12-27 13:09:22 -05:00
arkon
1b22be1da8 Tweak page flashing
Closes #10269, maybe. I don't really have something to test with.

(cherry picked from commit 4571dc6b5694d8a32446da2cc9bb131a7175c93e)
2023-12-25 19:59:09 -05:00
arkon
0c8268fe7b Clean up storage usage info
- Show bar representation of used/total space
- Handle all mounted storages
- Also included a bunch of unrelated immutables changes, sorry

(cherry picked from commit f31bc47757b3792f92c2c8721739b5e2d91b825d)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsDataScreen.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsLibraryScreen.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsReaderScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/cache/ChapterCache.kt
2023-12-25 19:58:59 -05:00
arkon
25ab1ed7b8 Fix read duration statistic getting inflated when restoring history
(cherry picked from commit 950b4a6c907262e80aaf423d523af518b790cd32)
2023-12-25 19:47:29 -05:00
arkon
4003263828 Address some build warnings
(cherry picked from commit 2d7650537db907a4129f4a07db15950339b319e9)

# Conflicts:
#	README.md
#	app/src/main/java/eu/kanade/presentation/category/components/CategoryDialogs.kt
#	source-api/src/commonMain/kotlin/eu/kanade/tachiyomi/source/model/SManga.kt
2023-12-25 19:47:20 -05:00
arkon
fa11413e90 Avoid crashing if loading non-read-only private extension
Fixes #10252

(cherry picked from commit 80d6d412f379ef9796b7274c13c1c03883c800d3)
2023-12-25 19:39:38 -05:00
arkon
0dc3b37e70 Minor tracking cleanups
(cherry picked from commit 6887d98f15b4b9a84230217800fba2d4ae5b186a)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/track/interactor/TrackChapter.kt
2023-12-25 19:38:14 -05:00
arkon
1d68a64e5c Some domain Track model migrations
(cherry picked from commit 6d74a86711ad17be4bebe054d88506303dd07504)
2023-12-25 19:33:32 -05:00
arkon
a96cff950a Move backup models to domain module
(cherry picked from commit 5908bd19305b3461165fcfe2da5d2217115562b9)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/create/BackupCreator.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/create/creators/MangaBackupCreator.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/restore/BackupRestorer.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/restore/restorers/MangaRestorer.kt
#	app/src/main/java/eu/kanade/tachiyomi/di/AppModule.kt
#	domain/src/main/java/tachiyomi/domain/backup/model/Backup.kt
#	domain/src/main/java/tachiyomi/domain/backup/model/BackupFlatMetadata.kt
#	domain/src/main/java/tachiyomi/domain/backup/model/BackupManga.kt
#	domain/src/main/java/tachiyomi/domain/backup/model/BackupMergedMangaReference.kt
#	domain/src/main/java/tachiyomi/domain/backup/model/BackupSavedSearch.kt
#	domain/src/main/java/tachiyomi/domain/backup/model/metadata/BackupSearchMetadata.kt
#	domain/src/main/java/tachiyomi/domain/backup/model/metadata/BackupSearchTag.kt
#	domain/src/main/java/tachiyomi/domain/backup/model/metadata/BackupSearchTitle.kt
2023-12-25 19:33:22 -05:00
arkon
2238b123f9 Split up BackupCreator into smaller classes
(cherry picked from commit 1a559124eb9e029a6146bf2660cbd508941c20d4)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/create/BackupCreator.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/restore/BackupRestorer.kt
2023-12-24 17:11:04 -05:00
arkon
18e63cafa0 Don't include settings as defaults when manually creating backup
(cherry picked from commit 54ba1d719e0f03db34e0d0df6c136c638c083d4f)
2023-12-24 17:00:34 -05:00
arkon
6fee96a40b Highlight restore backup setting when navigating from onboarding step
(cherry picked from commit 93cbeca5c0dbcf919bca84d7881888883e16b744)
2023-12-24 16:59:44 -05:00
Jobobby04
565f2b532a Fix sharp corners on page previews 2023-12-24 16:58:17 -05:00
Jobobby04
66a14d99c5 Fix pre-migration resetting the order 2023-12-24 15:49:48 -05:00
Jobobby04
cbb743f995 Improve page previews 2023-12-24 15:18:15 -05:00
Jobobby04
c36d2794bb Minor cleanup 2023-12-24 14:39:39 -05:00
arkon
7f89587889 Don't use localized numbers for downloaded image filenames
Probably fixes #10258

(cherry picked from commit 19f0175a56b00afd772d5d0c4909c49371a59bbe)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt
#	core/src/main/java/tachiyomi/core/util/system/ImageUtil.kt
2023-12-24 14:13:22 -05:00
arkon
bb33624fb7 Whoops, accidentally made the create backup button unusable before
(cherry picked from commit bf3899d04a50b77ad05e79b3317ac23ca2581183)
2023-12-24 14:12:04 -05:00
arkon
a9462bbfcb Initial move of restore backup into a separate screen
(cherry picked from commit 9f90ee358b8bee6713ef679aef7893f44fcc8f28)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsDataScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/restore/BackupRestorer.kt
2023-12-24 14:11:47 -05:00
arkon
af1bfa5888 Show MIUI warning more prominently in CreateBackupScreen
(cherry picked from commit 565317d99c1a7c9b0d3bd650adeb420fd8cd9cf4)
2023-12-24 14:10:07 -05:00
arkon
711ca69876 Foundations for partial restores
Related to #3136

(cherry picked from commit 83a67feb48c4e40994a334520c907f71d2fbf75e)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/restore/BackupRestorer.kt
2023-12-24 14:09:59 -05:00
arkon
e400232072 Prevent backing out from initial onboarding
(cherry picked from commit c10cd6c808786e896d16a82fce63b565c4e425af)
2023-12-24 14:05:46 -05:00
Ivan Iskandar
278f99f1d7 DownloadJob: Network check changes (#10242)
Mostly pulled from WorkManager

(cherry picked from commit f9b57800b1e457c625e99ed9ba0d58fff2d95ef0)
2023-12-24 14:04:40 -05:00
Ivan Iskandar
c6eda810d3 PackageInstallerInstaller: Fix intent used for install session (#10240)
Use explicit intent as it's a requirement when targeting v34+

(cherry picked from commit 387159b5af1f8eed50f7ab565a13fd689f037e7e)
2023-12-24 14:04:29 -05:00
Ivan Iskandar
b53cbd7d05 MangaScreenModel: Start downloads in IO dispatcher (#10241)
(cherry picked from commit 09531e7f5a33508afb4a53542ce7b0f601be8826)
2023-12-24 14:04:19 -05:00
Ivan Iskandar
821a48e4d1 Target Android 14 (SDK 34) and add permission onboarding step
(cherry picked from commit 9e0068715f3ba3d1627c4b7539b90fb782f8122f)
(cherry picked from commit 13b3bec8ad2a5b883cbe5ec99da531fbaba7f50b)
2023-12-24 14:03:44 -05:00
arkon
cf34c2dec5 Set foreground service types for remaining jobs
(cherry picked from commit db3ddf07eedbd82b7a446573fff2d5ed9595631f)
2023-12-24 14:03:10 -05:00
arkon
c9fa0ce395 Split restoring logic into smaller classes
(cherry picked from commit cd16522805eedc73fa3ab0f8db5ee403162a020c)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/create/BackupCreator.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/restore/MangaRestorer.kt
2023-12-24 14:02:52 -05:00
arkon
98900bc960 Clean up history restoring
(cherry picked from commit 5fec881387d1d4b5dda19b4a58e103bf60ef4a59)
2023-12-24 13:36:55 -05:00
arkon
dd40dbe171 Workaround for broken nav bar icon colors
(cherry picked from commit 3ac68e810d1d5a4a7d40b2be4a846fad96d42735)
2023-12-24 13:36:46 -05:00
Ivan Iskandar
4c634910f7 Refactor onboarding steps
(cherry picked from commit 2ca3ab077192a7e5e2e7a5fb00c303a5a633372e)
(cherry picked from commit 65e1e2cf4f76b48575fe33dd0848b38720a55744)
2023-12-24 13:36:03 -05:00
arkon
b9fb77aeb1 Avoid crashing in SourcePreferencesFragment if source can't be loaded
Should probably wait for sources to definitely be loaded first, but that's
sort of a bigger change and needs to be lifecycle-aware.

(cherry picked from commit e36a2c68f112f98155f5eea859a59a13cc22e168)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/details/SourcePreferencesScreen.kt
2023-12-24 13:35:52 -05:00
arkon
2db5aa53ea Skip updating unchanged chapters and tracks when restoring backup
(cherry picked from commit ad3d915fc56ecb8328861fdc2bf9e5f5c2aadbe3)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupRestorer.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupManga.kt
2023-12-24 13:33:47 -05:00
arkon
b0d7a611f7 Fix download indexing with changed storage locations
Fixes #10218

(cherry picked from commit 36f400d54281dd697f1492befc8241eaf31e31ab)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsDataScreen.kt
2023-12-24 13:29:46 -05:00
arkon
50505574e8 Remove redundant job setup calls in migrations
We always set them up earlier in the migrations anyway.

(cherry picked from commit dd1a19745a0a9df3814f22dd597585e44d3cba35)
2023-12-24 13:28:05 -05:00
arkon
9eb99fb10f Clean up manga restoring logic
Some behavior changes:
- It prioritizes new entries, then anything more recently updated
- It copies the more recently updated entry's metadata (description, thumbnail, etc.)

(cherry picked from commit 58daedc89ee18d04e7af5bab12629680dba4096c)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupRestorer.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/model/SMangaExtensions.kt
2023-12-24 13:25:45 -05:00
arkon
6f82c9c867 Proper check for when to navigate to tracker settings from tracking action
(cherry picked from commit d20a8fcf134a02735102010c5d10d1a4455ab8d6)
2023-12-24 13:17:19 -05:00
arkon
c0e1fccf81 Clean up some text alpha modifiers
(cherry picked from commit e56bf82c319f63ff2bdbabf68647a243bcd451d0)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/components/MangaToolbar.kt
2023-12-24 13:17:04 -05:00
arkon
3ba70183ec Clean up category restoring logic
(cherry picked from commit 0f9895eec8f5808210f291d1e0ef5cc9f73ccb44)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupRestorer.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupCategory.kt
2023-12-24 13:16:22 -05:00
Jobobby04
581e2851bc Build fixes 2023-12-24 13:12:25 -05:00
arkon
5792623204 Add ability to open available extension websites in WebView 2023-12-24 13:12:24 -05:00
arkon
619a05bac4 Avoid starting restore job if already running
We already check in the settings screen where it's triggered, but who knows.
Also addressing some errors for method calls that require SDK 26+ (but don't
fail the build, somehow?).

(cherry picked from commit 1ef01b53f2e740b493e5a94cd4ac011ab25b3ace)
2023-12-24 12:53:42 -05:00
arkon
669cd40134 Remove action to delete saved image in notification
Can just open it and delete from whatever gallery app the user has which has way
more functionality.

Closes #8327

(cherry picked from commit 720169dce3b78e3c761e2c80c1fc6f6fab67b791)
2023-12-24 12:53:31 -05:00
arkon
22e6a1673c Fix settings screen crashing when saving state
(cherry picked from commit 0d09039e5f0eb5d295c699ca4e6f160d7549e771)
2023-12-24 12:53:22 -05:00
arkon
17b0185a2b Onboarding screen tweaks
- Opposite transition when going back a step
- Don't allow skipping (I don't want to deal with an unset storage location in other places)

(cherry picked from commit cc56fde9fe6408e5dca4c752acc2ba6478291cce)
2023-12-24 12:53:13 -05:00
arkon
7b3418acd0 Always show trackers action in MangaScreen
Goes to tracker settings to log in if none are set up.

(cherry picked from commit 3a0b3de1754452cc0e10426c79820baa74d30b63)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/more/MoreTab.kt
2023-12-24 12:53:05 -05:00
arkon
58ed15207e Fix next local chapter not being indicated as downloaded in transition
(cherry picked from commit 47e544b710c1d9337a52dd8fbd5401903a14059a)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/components/MangaInfoHeader.kt
2023-12-24 12:51:10 -05:00
arkon
314eb0a02e More onboarding screen additions 2: Electric Boogaloo
(cherry picked from commit f7c5b4243533374f6751055fd4bc037e022db8a8)

# Conflicts:
#	app/build.gradle.kts
2023-12-24 12:49:54 -05:00
arkon
40f8910cbe More onboarding screen additions
(cherry picked from commit e3404cd3d3c096e33c534143b24dbdce5b6e9bf9)
2023-12-24 12:48:48 -05:00
arkon
d71b1219b4 Add basic onboarding screen (#10199)
(cherry picked from commit 8b57169e924aa75a7cb9b49bb3bbce5e83a087da)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAppearanceScreen.kt
2023-12-24 12:48:37 -05:00
arkon
364e4fe41b Migrate to some newer date/time APIs
(cherry picked from commit ab9a26f6bd2855d13ff663cf52dfe4ecb01fda1d)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt
#	domain/src/main/java/tachiyomi/domain/updates/interactor/GetUpdates.kt
2023-12-24 12:47:39 -05:00
Ivan Iskandar
0aad7fc006 Downloader: Don't queue chapters on GlobalScope (#10217)
This fixes auto-download on library update not working on certain cases.

(cherry picked from commit 8779b263ab8cc2315005fb7228e7ee41429ddaf8)
2023-12-24 12:45:25 -05:00
arkon
751d22977f Show average scores in tracker search results
Closes #8280

(cherry picked from commit 734cb0be6eeeb484d367ba1cfdbf8cd0076157d3)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/track/kitsu/KitsuApi.kt
2023-12-24 12:45:04 -05:00
arkon
c588922b0b Fix sharing saved pages from notification
Related to #8327
Deleting doesn't seem to do anything still, but at least doesn't throw an exception.

Also removed behavior of dismissing notification after sharing/deleting pages/backups
in case you want to do something again afterwards. Users can manually dismiss the
notification whenever they want.

(cherry picked from commit 1f259f92986c3e4c86d6068eec257f6bd32f69b4)
2023-12-24 12:44:19 -05:00
arkon
d6ab0143d9 Minor cleanup
(cherry picked from commit 427fbfdf5e58478bd9b6d35e3137f2a22db9fd96)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
2023-12-24 12:44:07 -05:00
arkon
66a04c4757 Try to fall back to showing URI for storage location if concrete file path isn't available
Closes #9977

(cherry picked from commit 0c860c0fe99f2a9b18065e36a35cc46fad265da6)
2023-12-24 12:43:05 -05:00
arkon
e4c229aa3b Migrate ReaderColorFilterView to Compose
(cherry picked from commit 5b2a099203cae59d266a3d417f128b36ddad9858)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReaderPreferences.kt
2023-12-24 12:42:49 -05:00
arkon
3a75f7718a Force recreate download index cache on upgrade
Fixes #10187

(cherry picked from commit ccadfc8fe53ff1b8ab66b0e91a4fa5a21481bcda)

# Conflicts:
#	app/build.gradle.kts
2023-12-24 12:27:35 -05:00