7651 Commits

Author SHA1 Message Date
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
arkon
781ec229b7 Remove relative timestamps setting
(cherry picked from commit fe90546821092ce8916445ce515ba51404617d62)

# 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/ui/updates/UpdatesScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/updates/UpdatesTab.kt
2023-08-12 14:49:02 -04:00
arkon
1abbda5f0b Minor cleanup
(cherry picked from commit 3892c4caac18c0203a3906545bc4cdd1687f0919)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAppearanceScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt
2023-08-12 14:47:41 -04:00
Quang Kieu
78e3330215 Update Manga in Expected Period (#5734)
* Add Predict Interval Test

* Get mangas next update and interval in library update

* Get next update and interval in backup restore

* Display and set intervals, nextUpdate in Manga Info

* Move logic function to MangeScreen and InfoHeader

Update per suggestion

---------

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

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/components/MangaDialogs.kt
#	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:44:43 -04:00
arkon
e1b834072c Show help banner when Cloudflare captcha page is shown in WebView
(cherry picked from commit 6d69caf59e277a2185c1a851ffad8a00a4a93a30)
2023-08-12 14:30:10 -04:00
arkon
3d236419a2 Better handle saving animated drawables
(cherry picked from commit cdc1c5efa3b92a0fe43651cc043175f33397611b)
2023-08-12 14:29:15 -04:00
arkon
d5b665bccf Don't attempt to show non-bitmap image in notification when saving
Fixes #9758

(cherry picked from commit 77bfd0c0999573315af7d29268e69e918bbfb009)
2023-08-12 14:29:06 -04:00
arkon
12b2d368ab Allow more flexible custom preference composables
(cherry picked from commit 8ff0c9d61a1d5b1cc08a3615ef4bfa3d1f04a5d2)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/PreferenceItem.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/PreferenceModel.kt
2023-08-12 14:28:55 -04:00
arkon
2e9c265a45 Bump dependencies
(cherry picked from commit b6620434b3e1899dfd789594b8ca9dcddc43902f)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceFilterDialog.kt
2023-08-12 14:12:52 -04:00
arkon
ae8b478f51 Minor cleanup
(cherry picked from commit abae9bf37dea6bfb351c8b93fe00998c053dba34)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/SourcesScreen.kt
#	app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/manga/MigrateMangaScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateSearchScreenDialogScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/sources/MigrateSourceTab.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesFilterScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/updates/UpdatesScreenModel.kt
#	domain/src/main/java/tachiyomi/domain/category/interactor/CreateCategoryWithName.kt
2023-08-12 14:12:07 -04:00
arkon
984bc0b94c Refactor duplicate chapter number formatters
(cherry picked from commit 2556e9f08c768c02a581b5c147d7ea476ff42889)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/MangaScreen.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 13:55:19 -04:00
Jobobby04
2485d70d69 Fix build 2023-08-12 13:53:33 -04:00
arkon
ccf4b90bff Remove some uses of color resources
(cherry picked from commit ee26d6dffd8c77115683ea242c3ab729c70f7ea6)

# Conflicts:
#	app/src/main/res/drawable/ic_tachi.xml
#	presentation-core/src/main/res/values/colors.xml
2023-08-12 13:53:17 -04:00
KaiserBh
f0777ac2f7 Refactor backup and restore to support cross device sync. (#9699)
* refactor: backup and restore to support cross device sync.

* chore: Updated string resources

* refactor: change function name.

* refactor: Use URI SyncHolder.kt not needed anymore.

(cherry picked from commit 7b2764e8f70ff4564fb744f48c1c53692f55f289)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupRestorer.kt
2023-08-12 13:36:24 -04:00
arkon
dd60d31b5f Use previously updated track item when binding start date
Fixes #9743

(cherry picked from commit 46e3b9e40d43b12241ad0cd0ec8fef51cf93d350)
2023-08-12 13:35:04 -04:00