5188 Commits

Author SHA1 Message Date
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
arkon
a39d4c8b83 Account for skipped entries when showing large updates warning
Closes #6159

(cherry picked from commit 7ed99fbbd61bd6748573b1c5463f3c552de8832d)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt
2023-10-27 19:40:53 -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
d179893834 Move backup restoring functions from BackupManager to BackupRestorer
(cherry picked from commit 6dab94a9371ad3eac0488c5f105e8e38c6c4e232)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupRestorer.kt
2023-10-27 17:40:38 -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
92daa4ea28 Exclude tracker credentials in backups
(cherry picked from commit 730f3a6e5209197c7a026c36371545d5aef85851)

# Conflicts:
#	app/build.gradle.kts
2023-10-27 17:25:23 -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
arkon
757dff0c94 Specify broadcast receiver export flags
Really only useful once we target Android 14, but doesn't hurt to do it now.

(cherry picked from commit e47f4cc177485b36cde7f97c54a35ca6540c62ec)
2023-10-27 17:18:47 -04:00
arkon
9b4d0d372b Bump dependencies
(cherry picked from commit df332860b8fa1a4f873a7fa1d08c45e71cfb12ed)
2023-10-27 17:16:13 -04:00
Jobobby04
d600ddc11a Fix page previews cache 2023-10-27 17:14:38 -04:00
Jobobby04
d45563e58d Fix page previews after E-H update 2023-10-27 17:13:54 -04:00
Jobobby04
90281affc4 Fix import of reader preferences in reader 2023-10-27 17:13:27 -04:00
Jobobby04
b3ab8895e3 Attempt to fix image decoder issue 2023-10-01 16:39:00 -04:00
arkon
6f1ad9960b Rename new method in ConfigurableSource to get preferences
Maybe fixes #9969

(cherry picked from commit afb1ee2200053f3ea0603f7db2283043792fb974)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/details/SourcePreferencesScreen.kt
2023-10-01 16:36:28 -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
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
c3df5563cc Add WebView-based user agent string to debug info
Could probably use this when choosing a user agent later on.

(cherry picked from commit de92b1351f10f9211830358bd225bb768131d6b4)
2023-10-01 16:04:26 -04:00
arkon
ab1b931dcc Fix duplicate files being created when saving pages on Android 10+ with separate folders setting enabled
Fixes #9943

(cherry picked from commit 77a8a4229c9fbf1b601a448dc919f3c5daa94985)
2023-10-01 16:04:15 -04:00
arkon
be8df884d5 Fix hide entries in library setting causing browse to not load
Fixes #9924

(cherry picked from commit d4290f6f596dcafbe354eec51875680eb854d179)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt
2023-10-01 16:04:04 -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
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
arkon
2055aca01d Update to Kotlin 1.9.10
(cherry picked from commit 2dd2db72258f3a3d4e649ce2fcc2aee7aed951b6)

# Conflicts:
#	gradle/compose.versions.toml
2023-10-01 15:56:58 -04:00
Joshua
2afeaa84ea [Download Queue] Move series to bottom (#9918)
Added item in download queue page to move series to bottom

(cherry picked from commit 3d0e750519e851abbae193c2c78500ba897bf800)
2023-10-01 15:56:19 -04:00
Jobobby04
32a938e6d4 Update usages 2023-10-01 15:56:07 -04:00
Jobobby04
68fdd471ac Fix build 2023-10-01 15:46:16 -04:00
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
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
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
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
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
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