8065 Commits

Author SHA1 Message Date
arkon
f4e92e4a56 Add more replacement suspend functions for source APIs
These are basically 1-to-1 replacements for the existing RxJava APIs.
This will make the initial migration off of RxJava simpler. We'll
revisit the actual call flows in followup versions of the API.

(cherry picked from commit 26c5d761da4ba577481f41e63f03952b8a6c323f)

# Conflicts:
#	data/src/main/java/tachiyomi/data/source/SourcePagingSource.kt
#	source-api/src/commonMain/kotlin/eu/kanade/tachiyomi/source/online/HttpSource.kt
#	source-api/src/commonMain/kotlin/eu/kanade/tachiyomi/source/online/HttpSourceFetcher.kt
2023-10-01 15:44:50 -04:00
arkon
e12f01ccdc Remove old FastScroller
Not sure if this will return to the download queue screen, you really
shouldn't be downloading a ton of stuff at once anyway?

(cherry picked from commit 1668be85875522721ee971afac4b46aa7da343c6)

# Conflicts:
#	app/src/main/res/values/styles.xml
2023-10-01 15:04:02 -04:00
arkon
12774c54ee Change backup file names
We use the application ID now to ensure uniqueness if the same folder is selected
between different app versions/forks. This will make more sense once storage
settings are unified to a single location.

Also changes the file extension while we're at it so people stop accidentally
ungzipping it.

(cherry picked from commit cc018cee182f880ebfe07e45809a98d0f6d73220)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/models/Backup.kt
2023-10-01 14:57:41 -04:00
Jobobby04
ebcd7e8e27 Fix scanlator filter toolbar tint 2023-09-04 12:39:51 -04:00
Jobobby04
4a00ef32fd Fix read status in reader chapter list 2023-09-04 12:31:46 -04:00
arkon
0346a4d6b0 Minor updates
(cherry picked from commit 3f0db60a999cb30ff249ae4cc6a720c2a49c319a)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupManager.kt
2023-09-04 12:17:45 -04:00
arkon
cdfaf28910 Use app name in biometric unlock dialog
Mostly for forks to show the right name.

(cherry picked from commit 87f3d4bd054d9442fb7af9204bda70a85a43b626)
2023-09-04 12:16:06 -04:00
Ivan Iskandar
32b97eb206 "Updates" widget for Galaxy Z Flip5 cover screen (#9892)
(cherry picked from commit 816d7815e94f8b1286e17b1459c3a01a9aba7369)
2023-09-04 12:15:26 -04:00
arkon
d8158af43a Switch to different ktlint plugin
Should be better at incremental builds.
To format, run `./gradlew ktlintFormat`.

(cherry picked from commit d29b7c4e5735dc137d578d3bcb3da1f0a02573e8)

# Conflicts:
#	buildSrc/src/main/kotlin/tachiyomi.lint.gradle.kts
#	data/src/main/java/tachiyomi/data/manga/MangaMapper.kt
#	domain/src/main/java/tachiyomi/domain/library/model/LibrarySortMode.kt
#	domain/src/main/java/tachiyomi/domain/library/service/LibraryPreferences.kt
#	domain/src/main/java/tachiyomi/domain/release/interactor/GetApplicationRelease.kt
#	presentation-core/src/main/java/tachiyomi/presentation/core/components/CollapsibleBox.kt
2023-09-04 12:15:09 -04:00
arkon
e776d455f5 Refactor some tracking-related logic
(cherry picked from commit 98d6ce2eaf2c1e85f4763dd37303155d1fc6690d)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt
2023-09-04 11:47:24 -04:00
arkon
402014adb4 Refactor some tracking-related logic
(cherry picked from commit dde2f42138082f2d71552d573adbe89015cc7ff4)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/track/interactor/TrackChapter.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt
2023-09-04 11:35:19 -04:00
arkon
270ff9064a Add more user-friendly network-related exception messages
(cherry picked from commit 6922792ad110ce9194aa963674bbf2c5c1351ea1)
2023-09-03 23:36:28 -04:00
Mekanik
bef7a42da5 Make some error messages localizable (#9811)
* Make error message of 3 exceptions localizable.

* Revert unnecessary file handle exception change.

(cherry picked from commit 8f395d98e7be976263d2ee9b7559c2638d57b47e)
2023-09-03 23:36:09 -04:00
arkon
baa8658183 Remove unused rxandroid dependency
(cherry picked from commit 13dc54df707623c914cd7cda2f2f781515f92eb3)
2023-09-03 23:32:59 -04:00
arkon
347f98b392 Add ResolvableSource interface for potentially opening entries directly based on some URI via a share intent
Implemented as an intermediate step in the existing Global Search share intent workflow.
If any source manages to resolve the URI (e.g., a URL, a slug, etc.), the resolved SManga entry
is directly opened. If nothing gets resolved, continue to a Global Search.

(cherry picked from commit 6d9a8a30e974574b8d92ba478333e6f62b0de2e2)
2023-09-03 23:32:42 -04:00
arkon
72e1e3bda6 Better ignore irrelevant files when indexing downloads
(cherry picked from commit c06beac6601f583965656602023c839de7ade998)
2023-09-03 23:30:22 -04:00
arkon
105a971a4c Don't run automatic backup or library update jobs if battery is low
(cherry picked from commit 74f74eef56ce83b52cd7969f705e370c7977af87)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt
2023-09-03 23:30:10 -04:00
Alessandro Jean
3b31442a8f Only set the dialog title if not already set in the extension (#9858)
Only set the dialog title if not already set in the extension.

(cherry picked from commit eeeaae4570833e9b94e8fbef13bb5055f518c38f)
2023-09-03 23:05:21 -04:00
arkon
42c404a0cc Minor cleanup
(cherry picked from commit 4e68b628811dee26a5aba023183af619df5c3e99)
2023-09-03 23:04:38 -04:00
Jobobby04
4743276b20 Update baseline profile 2023-08-13 14:31:05 -04:00
Jobobby04
b717c14cdc Fix tag borders 2023-08-13 12:56:33 -04:00
Jobobby04
e7db248f36 Hide cleanup downloaded chapters for now 2023-08-13 12:43:06 -04:00
arkon
13b2da80ac Set tracker finished date when manually updating to last chapter
Closes #9834
Individual tracker implementations already handle setting it too on update.

(cherry picked from commit 8a6a104987738c7251097f172d24aa7235a86e96)
2023-08-13 12:26:43 -04:00
arkon
71e0a02003 Minor reader cleanup
(cherry picked from commit 3ebf39bd55cffbf5dc4bfe1c39e91aa22fa93777)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
#	app/src/main/res/values/arrays.xml
2023-08-13 12:20:49 -04:00
Mekanik
fa80257af8 Fix missing inversion in tap zones help overlay. (#9812)
(cherry picked from commit 26b3eb696c95b6363176e77effdd38089af5c19e)
2023-08-13 12:07:34 -04:00
Ivan Iskandar
632ac0ebb2 Add private extension install method (#9710)
* Add private extension install method

Private extensions are put inside private data directory of the running app, so
this kind of extensions can only be used by the running app and not shared with
other apps.

One limitation of private extension is the lack of deeplink handlers (if there's
any) since the extension APK is not installed to the system.

When both kinds of extensions are installed with a same package name, shared
extension (the one installed to the system) will be used unless the version
codes are different. In that case the one with higher version code will be used.

* update

(cherry picked from commit 627f07408e0fe62ab89dcd8881275141591b328d)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/extension/model/Extension.kt
2023-08-13 12:07:25 -04:00
arkon
39e82ba873 Consider local manga as downloaded when filtering in reader
Fixes #9801

(cherry picked from commit 39c6bcccd8e4e687c0864b212437a387e69cf2f3)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/util/chapter/ChapterFilterDownloaded.kt
2023-08-13 12:06:00 -04:00
Ivan Iskandar
ac5569929d ReaderViewModel: Fix saved state (#9807)
Also save page index

(cherry picked from commit af0fdfa3b7e859db54154473a8cd4c7b50121ca7)
2023-08-13 12:04:36 -04:00
Quang Kieu
9e7748c84b [Hotfix] Fix bug of not fetch update if manual library refresh as fetch period have lower limit (#9806)
Fix bug of not fetch update if manual library refresh, no auto

If somehow manga missed check period, we would not give new next update cycle and it would forever left behind

(cherry picked from commit d874f20362217bf1752b16f513143f1f83972f69)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt
2023-08-13 12:04:26 -04:00
Jobobby04
c20ea36f50 Fix double page mark as read 2023-08-13 12:03:27 -04:00
arkon
ebb690cbe7 Migrate bottom reader menu to Compose
(cherry picked from commit 8680accd8e6f458a662dd5454bbcdcde482ce0a7)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
#	app/src/main/res/layout/reader_activity.xml
2023-08-13 11:58:35 -04:00
arkon
eb8685fa7e Migrate reader shortcut menus to Compose
Contents' UIs should probably be improved, but that can happen separately.

(cherry picked from commit 73080902885c9d219f5534002ccf5d16a07a678f)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt
2023-08-12 16:50:46 -04:00
arkon
095c5f829e Remove unnecessary profileable flag in manifest
(cherry picked from commit 400ca48456c3aad6572aaa1893ba11466bbad6f5)

# Conflicts:
#	app/src/main/baseline-prof.txt
2023-08-12 16:47:46 -04:00
Alessandro Jean
abca69a078 Add support to kotlin.time APIs in the rate limit interceptor (#9797)
* Add support to kotlin.time APIs in the rate limit interceptor.

* Add a missing line break in the doc.

* Move the specific host to the same file.

* Add kotlin.time rule to Proguard and remove specific host rule.

* Mark the old version as deprecated and address review.

* Remove unused import.

* Remove yet another unused import.

(cherry picked from commit 9b6567f5e4bfa4b8a4845400216551fd28545094)
2023-08-12 16:47:11 -04:00
arkon
c9a38ea872 Drop support for extension-lib 1.3
(cherry picked from commit 7798186c32d4ce9353dfd59b9d63ee092fec4768)
2023-08-12 16:47:00 -04:00
arkon
95c8ae8cad Combine tracking OAuth login activities
(cherry picked from commit 9dc66c7c8d6280afecc01e64ca24a3899a36105e)
2023-08-12 16:46:31 -04:00
arkon
c67580ed83 Dismiss extension update notification if all updates installed
(cherry picked from commit 10b0ef9b6dbe94b80e9cfcaf244883a99b42737f)
2023-08-12 16:46:20 -04:00
arkon
50f59befb4 More refactoring of expected next update logic
(cherry picked from commit 81cd765543bbb5901e11a12921adaea99c51810c)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsLibraryScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
2023-08-12 16:46:05 -04:00
arkon
83aed3d322 Refactor some Screens to be classes
Not really much point in keeping these as singletons.
Hopefully allows for these to be GC-ed after closing them.

(cherry picked from commit c9a1bd86b58ce4a41bfc0eeb527cac9d30802353)
2023-08-12 16:40:01 -04:00
Alessandro Jean
e0176261ed Show ellipsis in longer OSS library names (#9780)
Show ellipsis in longer OSS library names.

(cherry picked from commit dfbbbadfacc63b2555353a266df596d1230b3553)
2023-08-12 16:39:54 -04:00
arkon
c682308927 Minor cleanup
(cherry picked from commit 0f21d16263b1532953dea61ce1169e0e2a403569)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsLibraryScreen.kt
2023-08-12 16:39:42 -04:00
arkon
589dddcc4a Update benchmarking dependencies
(cherry picked from commit 5718983f417f1fe3eec9b484951e3277ac241370)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/baseline-prof.txt
#	gradle/androidx.versions.toml
#	macrobenchmark/src/main/java/tachiyomi/macrobenchmark/BaselineProfileGenerator.kt
2023-08-12 16:38:32 -04:00
arkon
873742f6f4 Remove need for SQLDelight primitive adapters
(cherry picked from commit cd91ea9b7723eec378bbbefd916d3da6407d685e)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/tachiyomi/AppModule.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupManager.kt
#	data/src/main/java/tachiyomi/data/manga/MangaRepositoryImpl.kt
#	domain/src/main/java/tachiyomi/domain/history/model/HistoryWithRelations.kt
2023-08-12 15:48:39 -04:00
arkon
af41e65b3d Upgrade to SQLDelight 2
(cherry picked from commit 6a558ad119ff35336c2141deefc5da4b49cf4553)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/tachiyomi/AppModule.kt
#	data/src/main/java/tachiyomi/data/manga/MangaMapper.kt
#	data/src/main/java/tachiyomi/data/manga/MangaRepositoryImpl.kt
#	data/src/main/sqldelight/tachiyomi/data/mangas.sq
2023-08-12 15:28:23 -04:00
arkon
5de1bf0bdc Subscribe to download queue state changes in UpdatesScreen
(cherry picked from commit 90325d48aa85a3860e108ef85b50a24ace6e09c3)
2023-08-12 14:57:22 -04:00
stevenyomi
90e63363c2 Don't show future timestamps as Recently (#9773)
(cherry picked from commit e2abf283feb40ade318815e7359ae7c2b385562a)
2023-08-12 14:57:12 -04:00
arkon
8bf75e1d20 Avoid badly wrapped buttons in DuplicateMangaDialog
Fixes #9767

(cherry picked from commit db788d519de65fab1dd73f02cf05688714fbccb5)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateDialog.kt
2023-08-12 14:56:56 -04:00
arkon
3a2ae59860 Show feedback message when downloads index manually invalidated
Closes #9768

(cherry picked from commit f3e9d5f346d5151f373f7dde2da6d484e1f7ca57)
2023-08-12 14:56:26 -04:00
arkon
9760cb101d Avoid showing duplicate entry dialog for same entry
Fixes #9772

(cherry picked from commit fd30c0adcdfc0efc0aae9e5401843439f2622070)
2023-08-12 14:56:15 -04:00
arkon
cc297da44a Cleanup related to fetch interval display
(cherry picked from commit 3ad4f1114adc88189032e4face152db9ed89df55)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupRestorer.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
2023-08-12 14:56:04 -04:00