967 Commits

Author SHA1 Message Date
Caleb Morris
41920d9e75 [dev QoL] Added AndroidStudio previews for [presentation.track] namespace (#10022)
* Created DummyTracker for use in tests and presentation previews

* Added previews for TrackerSearch

* Added previews for TrackLogoIcon

* Added preview for TrackInfoDialogSelector

* Added previews for TrackInfoDialogHome

(cherry picked from commit 6d1e520c6c5c3860bbd588677bb4a05ab06fe830)
2023-10-29 11:51:34 -04:00
arkon
d3ad5d6890 Refresh tracks before updating progress
Closes #1652

Also removes the ability to trigger refreshes for the entire library or
as part of a library update as it should no longer be needed. Opening
the tracking sheet already refreshes the data too, so stale data is
irrelevant there.

Also closes #4775 since it would no longer be relevant.

(cherry picked from commit 489d22720a4343f198c81fe10f69d5b212bfc41a)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt
2023-10-29 11:08:08 -04:00
Jobobby04
a4ff56e6eb Build fixes 2023-10-29 11:06:23 -04:00
arkon
ada9239c11 Consistent labeled checkbox composable
(cherry picked from commit c53172265b4dfba380a096c8d9107358515bf0e1)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateDialog.kt
2023-10-29 11:06:14 -04:00
arkon
ff4c11bab0 Change crash log info to just have actual WebView version
(cherry picked from commit 22df12a680174890fe8f3559218b1819e37bf2f6)
2023-10-29 10:39:20 -04:00
arkon
07f34281c7 Show an error if backup file URI isn't returned to app when attempting restore
Related to #10028

(cherry picked from commit e572abb041cc0c410842fda1ed703f1b80a94d96)
2023-10-29 10:39:09 -04:00
arkon
54caea4daa Minor cleanup
(cherry picked from commit 82a9d36df7c8a22c7dbd7762ecc38dbdacd2626e)

# Conflicts:
#	.github/renovate.json5
#	app/.gitignore
2023-10-29 10:38:15 -04:00
Caleb Morris
80844883ee [dev QoL] Added AndroidStudio previews for [presentation.history] namespace (#10012)
* Added display preview for HistoryDialogs

* Added preview with provider for each branch for HistoryItem

* Added previews for HistoryScreen

Created in-memory preferences construct for when its needed at top-level injection

* Fixed ktlint violations

(cherry picked from commit 447bcb28efa890ea1ebd73183b9ae25e8150be39)
2023-10-29 10:37:16 -04:00
arkon
3842056d9c Migrate top reader app bar to Compose
(cherry picked from commit d18022c25990f1961fef77eabb3924c68f283250)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/reader/appbars/BottomReaderBar.kt
#	app/src/main/java/eu/kanade/presentation/reader/appbars/ReaderAppBars.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/widget/listener/SimpleAnimationListener.kt
#	app/src/main/res/anim/enter_from_top.xml
#	app/src/main/res/anim/exit_to_top.xml
#	app/src/main/res/layout/reader_activity.xml
#	app/src/main/res/menu/reader.xml
2023-10-29 00:06:12 -04:00
arkon
868a27110a Remove remaining usages of platform-provided strings
(cherry picked from commit 5619a4c0d995774a4ba4e4030f639a62a708b771)
2023-10-28 15:30:56 -04:00
Ivan Iskandar
70ac8ea629 MangaSummary: Refactor to not use SubcomposeLayout (#10008)
(cherry picked from commit 0026f96fadbe029e8419985e69fb63bd2fe16d7f)
2023-10-28 15:26:27 -04:00
arkon
0fa0384f3d Tweak Cloudflare help message in WebView screen
Catches pages like what Shinigami is currently showing.
Also adjusts the banner to make it look more like part of the top AppBar so it
looks less like part of the webpage.

(cherry picked from commit c386d375dee2a846dd59395e6eda3a07311ed3d5)
2023-10-28 15:26:07 -04:00
arkon
f55f49b2c8 Use AppBar abstraction in more places
(cherry picked from commit 540fb1bb7c36fda0b6c070caacd8fb2a4176ddc0)
2023-10-28 15:25:12 -04:00
arkon
7693076c89 Refactor reader bottom bar to presentation package
(cherry picked from commit 7c012010558d5e7a2ea32a8aaef3c908fdc52799)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
#	app/src/main/res/layout/reader_activity.xml
2023-10-28 15:23:53 -04:00
Pauline
9f325ea106 Add button to reorder categories alphabetically (#9369)
Closes #6459

Co-authored-by: arkon <arkon@users.noreply.github.com>
(cherry picked from commit 77ebc362f6d6b765ed2de6d1be18a969df4ca1f3)
2023-10-27 19:41:13 -04:00
arkon
5e2700d420 Always save pages/covers in subfolders
Ensures that pages and covers are grouped together.

(cherry picked from commit 8568d5d6c3ceae0084a350906b330f23dab571e1)
2023-10-27 19:41:04 -04:00
Jobobby04
21d898f92f Remove beta webtoon viewer split page
This had a bunch of issues around split pages not showing up properly so things
end up appearing to be missing while reading.
It'd be more worthwhile redoing the reader viewers than trying to get this to work
properly. It'd be better to just enable the split pages on download instead.

Closes #8433

(cherry picked from commit 94cba9324c872b1f0caa3f4d385266f190a9b114)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsReaderScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReaderPreferences.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonPageHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonViewer.kt
#	core/src/main/java/tachiyomi/core/util/system/ImageUtil.kt
2023-10-27 19:39:49 -04:00
arkon
b9fe9f7f52 Add source preferences to backups
Closes #1857

Co-authored-by: jmir1 <jmir1@users.noreply.github.com>
(cherry picked from commit 0f42b9f1544b188362d1c0046c8ff853827ed270)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsBackupScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupConst.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/models/Backup.kt
2023-10-27 17:28:14 -04:00
arkon
b97dbca402 Add app settings to backups
This should be compatible with Aniyomi's implementation.
Related to #1857

Co-authored-by: jmir1 <jmir1@users.noreply.github.com>
(cherry picked from commit 72024aa44af1622fd148b859c8cea0c3404dc370)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsBackupScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupConst.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupRestorer.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/models/Backup.kt
2023-10-27 17:23:40 -04:00
LooKeR
1aa2ad1e9c Reduce recomposition of MangaHeader (#9985)
* Reduce recomposition of MangaHeader

* Reuse `Modifier` for `Tags`

Reference:
https://developer.android.com/jetpack/compose/modifiers#reusing-modifiers

* Don't recalculate Read State on recomposition

* Fix Linting issue

* Optimize chapter state calculations

(cherry picked from commit 78aa50bb350b0142a3e0407b3d2f6084b9c1a835)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt
#	app/src/main/java/eu/kanade/presentation/manga/components/MangaInfoHeader.kt
2023-10-27 17:18:20 -04:00
arkon
c2488c41a2 Update social media icons
(cherry picked from commit 7f0f67d75249033451f9e0fc841de6359ec28b69)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/about/AboutScreen.kt
2023-10-27 17:16:51 -04:00
arkon
c24cdb598e Tracker-related cleanup
(cherry picked from commit c8e226acb2ef460f78a298ef44412bb5b2915daf)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/track/interactor/TrackChapter.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/track/TrackerManager.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
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/stats/StatsScreenModel.kt
2023-10-01 16:34:14 -04:00
arkon
e2348638f0 Bring back relative timestamp translations
(cherry picked from commit 86edce0d8705beb4f7f750a0c6f5fa4b353ec3c0)
2023-10-01 16:07:24 -04:00
arkon
b5b947400b Bring back simplified relative timestamp setting
Except now it's just an on/off toggle for relative up to a week.

(cherry picked from commit 56d2464870cbd59f1e67dab7cf2a359bddfa0f41)

# Conflicts:
#	app/build.gradle.kts
#	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-10-01 16:07:05 -04:00
arkon
35eb6c7ebe Bump dependencies
(cherry picked from commit 5de72b7d32676fe3d0e9ce2176fe48e29a9f859c)
2023-10-01 16:04:38 -04:00
arkon
326cd14db4 Consistently use absolute date strings everywhere
Closes #9781

(cherry picked from commit b08d604d2a8ae09e623a4375a75cbc844d26a0fa)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/updates/UpdatesScreenModel.kt
2023-10-01 16:02:28 -04:00
arkon
972ada85ac Clean up fetch interval tests a bit
Also limit the dates we look at to most recent 10 distinct dates only. Closes #9930

(cherry picked from commit 6663abebaf69241741d0702331857951834ba806)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupRestorer.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt
2023-10-01 16:01:16 -04:00
arkon
47cf4c135d Fix track search item not filling width if content is too short
(cherry picked from commit e5f83d0c6e0a0e55d35dd3a32e71817447824df0)
2023-10-01 16:00:00 -04:00
arkon
fe9f022363 Fix cut off labels in reader sheet toggles
(cherry picked from commit f9754f4f587449f6d9c3a31a99b5c39269d561ac)
2023-10-01 15:58:53 -04:00
arkon
4b3efac857 Tweak reading mode and orientation sheet designs
(cherry picked from commit 8824c7dbe392d586b24234f8e4c0a1c944a77328)
2023-10-01 15:58:42 -04:00
arkon
bc5ba6092b Update website links
(cherry picked from commit ccc9a5a052b133174f8ba361490386ff0361283e)
2023-10-01 15:58:33 -04:00
Soitora
4cf8652b09 Change website URLs to reflect changes (#9916)
Change website URLs

(cherry picked from commit f5e0cee36cae3aed564b89a31317eb99026e4090)

# Conflicts:
#	.github/workflows/issue_moderator.yml
#	README.md
2023-10-01 15:58:27 -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
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
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
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
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
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
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
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
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