182 Commits

Author SHA1 Message Date
Ivan Iskandar
57dcd16cb9 Full Compose settings (#8201)
* Uses Voyager for navigation.
* Replaces every screen inside settings except category editor screen since it's
called from several places.

(cherry picked from commit 890f1a3c7b0f2ceefa86a77cb40c11567e2b5a46)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/more/MoreController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsMainController.kt
2022-10-16 21:53:23 -04:00
arkon
78d87b866a Upgrade to Kotlin 1.7.20
Also run formatter and address some deprecation warnings.

(cherry picked from commit 26a42ba9c01c670f60bedfca41bd72c99aa2a278)

# Conflicts:
#	core/src/main/java/eu/kanade/tachiyomi/network/NetworkHelper.kt
2022-10-15 12:09:30 -04:00
d-najd
17bb5d1c4b Hiding the keyboard (#8160)
* Hiding the keyboard (#8157)

* Cleanup

* Adding log

* cleanup

* moving code to ViewExtensions.kt

* TrackDialog keyboard fix?

* moving  code to ContextExtensions.kt

* MoreScreen: Remove title (#8158)

* MoreScreen: Remove title

Also removes the state banners as it's redundant

* Add back banners

* Allow manual selection of manga description instead of copying to clipboard

Closes #6548

Notably missing some "standard" options like "Select all" or "Share": https://issuetracker.google.com/issues/226648919

* Allow marking partially read chapters as unread

Closes #3777

* Tablet UI edge-to-edge tweaks (#8159)

* LibraryScreen: Tweak content padding application to draw under nav bar

* BrowseScreen: Tweak content padding application to draw under nav bar

Side note the tab content doesn't actually use its
scaffold (bottom) contentPadding so it's definitely will
be a headache in the future.

* Don't hardcode bottom nav padding

* removed unnecessary import

* refactoring code

* rewriting code

* cleanup?

* cleanup

Co-authored-by: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
Co-authored-by: arkon <eugcheung94@gmail.com>
(cherry picked from commit 50f959e5f41fa5d4117e821fb82db761cfdcf33f)
2022-10-08 19:44:12 -04:00
stevenyomi
17111a4d02 LocaleHelper: use argument for a when expression (#8131)
(cherry picked from commit ff4fb83bff8f271220decb061405937230e0b18f)
2022-10-08 17:35:02 -04:00
arkon
827fe98211 Explicitly reword some locale names
Avoiding some country names in favour of more generic terminology where appropriate.

(cherry picked from commit 0ca14c61c256af770fe31c0d0cc8b7111f4b988b)
2022-10-08 17:34:46 -04:00
Andreas
1f4bfc4764 Split the rest of the preferences in PreferencesHelper (#8074)
* Split the reset of the preferences in PreferencesHelper

* Capitalize ThemeMode

(cherry picked from commit 29fa93e829ca7f9c3a28c58f3de146bc2bd15aad)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/domain/manga/model/Manga.kt
#	app/src/main/java/eu/kanade/tachiyomi/App.kt
#	app/src/main/java/eu/kanade/tachiyomi/AppModule.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceKeys.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceValues.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt
#	app/src/main/java/eu/kanade/tachiyomi/extension/api/ExtensionGithubApi.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/base/delegate/SecureActivityDelegate.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibrarySettingsSheet.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt
2022-09-25 20:41:19 -04:00
Andreas
bcc3a40b36 Split reader preferences from PreferencesHelper (#8042)
(cherry picked from commit e275897bf9f3def5ccf17978d64b2969c8c85de7)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReaderGeneralSettings.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReaderReadingModeSettings.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/ViewerConfig.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerConfig.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsReaderController.kt
2022-09-20 16:57:00 -04:00
Andreas
8a322ea28e Extract source api from app module (#8014)
* Extract source api from app module

* Extract source online api from app module

(cherry picked from commit 86fe85079413f8ed6e1109b46e6131a9b788b988)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupManager.kt
#	core/src/main/java/eu/kanade/tachiyomi/network/NetworkHelper.kt
#	source-api/src/main/java/eu/kanade/tachiyomi/source/Source.kt
#	source-api/src/main/java/eu/kanade/tachiyomi/source/model/SManga.kt
2022-09-16 13:49:41 -04:00
AntsyLich
e5bf6664f7 Change logic in BitmapFactory.Options.splitData (#7989)
(cherry picked from commit 935c8e7d827ebf1db624c7d26ab7310d312b590c)
2022-09-11 19:47:38 -04:00
nzoba
a0a76c99f7 Fix download ahead missing out 1 chapter (#7927)
* Fix download ahead missing out 1 chapter

* Move toLong() function

* Add check whether the next chapter is queued

(cherry picked from commit 07d1b9f3bac5df3c469601b8d08ed024b5e607ec)

# Conflicts:
#	app/src/main/java/eu/kanade/data/manga/MangaRepositoryImpl.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.kt
2022-09-10 11:22:36 -04:00
AntsyLich
a1dd957f2f Cleanup logic of onStripSplit in WebtoonPageHolder (#7955)
* Cleanup logic of `onStripSplit` in WebtoonPageHolder

* Update app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonPageHolder.kt

Co-authored-by: arkon <arkon@users.noreply.github.com>
(cherry picked from commit 6b91f6545704ba6facace7b1d0cdd129ab132f71)
2022-09-10 11:11:03 -04:00
AntsyLich
cb0bd82170 Webtoon Split: Improve performance (#7947)
(cherry picked from commit d55c854ebf671a7a50c57a6f8a41d9429b2a5d57)
2022-09-10 11:09:29 -04:00
arkon
946432abca Clean up interceptors a bit
(cherry picked from commit dc62d0ea8bf0a09303c30cd48d48cb1787f78da4)
2022-09-03 17:54:47 -04:00
Alessandro Jean
5ee6029395 Enable sub-languages on app first run (#7127)
* Enable sub-languages on app first run.

* Fix wrong language code string parsing.

* Fix some build issues due to rebase.

* Use PreferenceHelper and remove an extra preference.

* Remove a constant.

(cherry picked from commit 084e6a964ee2f2a8499b861e5e3e58938ddab6e9)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionManager.kt
2022-08-31 11:19:09 -04:00
AntsyLich
e0f70bf194 Reword "All" source/ext lang to "Multi" (#7895)
* Add "multi" as a recognized source/ext lang

* Review Changes

(cherry picked from commit fc6946ed61361cfca026a28d13a00d8b39acb3f0)
2022-08-31 11:17:20 -04:00
AntsyLich
ceec0421c8 Fix IndexOutOfBoundsException when using Split tall images (#7892)
Also little cleanup

(cherry picked from commit b79340989f39a5d58e69617ce7d2470d45d38474)
2022-08-29 16:01:35 -04:00
AntsyLich
715a5dcab2 Long strip split fixes 2.0 (#7882)
options was having issues in returning width for some reason

Fixes #7880
Fixes #7881

(cherry picked from commit 0e526c36bed52670237165c2e870b154966661b6)
2022-08-28 13:17:14 -04:00
AntsyLich
bd1acc3ae7 Long strip split fixes (#7875)
* Fix image width in `splitStrip`

* Fix reader switch isn't in md3

(cherry picked from commit 1948d55d5da404c47ef5a390e14e0e0c54e3fe36)
2022-08-27 20:50:53 -04:00
arkon
8a4099a5dd Minor cleanup
(cherry picked from commit 31b62b27791cc3135f46bc660bc3d223b02f93e2)
2022-08-27 20:49:56 -04:00
AntsyLich
1e395246dc Long Strip Split for Webtoon (#5759)
* Long Strip Split for Webtoon

* Review Changes

* Review Changes 2 + Rebase

(cherry picked from commit 88b56121a34e613f103bbbfb77c8e66e86f825f6)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReaderReadingModeSettings.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonViewer.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsReaderController.kt
#	app/src/main/res/layout/reader_webtoon_settings.xml
2022-08-27 20:49:45 -04:00
Andreas
b9db59fa45 Lint changes (#7802)
- Fixes current lint issues
- Changes lint task to lintKotlin on PRs

(cherry picked from commit 09abfc7843ef69d65cb4f1a3459ff8ee2718e4f7)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt
#	build.gradle.kts
2022-08-18 14:37:45 -04:00
Ivan Iskandar
aad81d9c79 Use application context to create toast (#7756)
(cherry picked from commit b0520df1dd4ff169f03b744954e181df94459efe)
2022-08-14 16:04:22 -04:00
arkon
2999190fad Address misc. build warnings
(cherry picked from commit d6f1534ee8c95c7dc450f1cb86d378007e3bf53b)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SourceSearchController.kt
2022-08-13 14:50:03 -04:00
arkon
8b777e1e5a More backup/restore code cleanup
(cherry picked from commit 9f0052eceb8bdbe9ca1ea18a2aac18a4718387bf)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/AbstractBackupManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/AbstractBackupRestore.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupRestorer.kt
2022-08-06 18:19:05 -04:00
Jobobby04
b9956e3123 Lint 2022-07-28 21:53:10 -04:00
bucketmouse
89600fc7aa
Center padding option for Surface Duos/other foldables (#634)
* Add center margin option for horizontal dual page view

* Update readme to make the point of the fork obvious

* Center margins now added to large single images that would display in place of two smaller pages

* Cleanup; reworked preference into an int selector to specify which margins to add

* Suggested fixes and and readme reversion which somehow got skipped last commit

* Missed the build block in readme. Oops.
2022-07-28 19:03:09 -04:00
arkon
bbdab4a703 Add MIME type mapping for image/jxl (fixes #7117)
(cherry picked from commit 591df8abccba95031a670b1ef761fb522b0c0517)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/util/system/ImageUtil.kt
2022-07-08 21:52:57 -04:00
AntsyLich
1087f07614 Downloader: Optimize split tall image (#7435)
(cherry picked from commit ff32ab09fbc32eff33cb378d6e1b1aa0d9ef8e1a)
2022-07-02 13:44:21 -04:00
Taco
9e63d7fb0b Utilize more KTX extensions (#7348)
(cherry picked from commit c2520bff12fc2a9c382b21f2beb82173958c23ff)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceFilterSheet.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/ReaderPageImageView.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/search/SettingsSearchHelper.kt
2022-06-25 11:25:06 -04:00
arkon
adbf52a347 Don't show clipboard copy confirmation toast on Android 13 or above
(cherry picked from commit 40f5d26945a61de0a6bea27bcee53e7b536174c6)
2022-06-11 11:58:21 -04:00
S97
836b66fe83 Fixed Splitting Height for Tall Images (#7148)
* Fixed Splitting Height for Tall Images #7140

* Update app/src/main/java/eu/kanade/tachiyomi/util/system/ContextExtensions.kt

Co-authored-by: FourTOne5 <59261191+FourTOne5@users.noreply.github.com>

Co-authored-by: FourTOne5 <59261191+FourTOne5@users.noreply.github.com>
(cherry picked from commit 4481c54376fbdedc26e29a7942cd8752567ef4a3)
2022-05-24 19:29:56 -04:00
arkon
1c86a7c94b Minor cleanup
# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/ExtensionsScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/BrowseController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesPresenter.kt
2022-05-24 19:24:41 -04:00
FourTOne5
e5a0d95156 Minor cleanup in ImageUtil and SourceFilterPresenter (#7106)
* Minor cleanup in `ImageUtil` and `SourceFilterPresenter`

* Fix missed stuff

(cherry picked from commit 71bb8ed975bcf790d170310121afbfe94228dbb1)
2022-05-14 11:39:03 -04:00
arkon
61ff7f8b21 Minor cleanup
(cherry picked from commit c7707dc50edb817652d4e850f4f0806ab05307df)

# Conflicts:
#	.github/renovate.json
2022-05-14 10:47:25 -04:00
arkon
334be13d40 Minor cleanup
- Add pending intent immutable flags to satisfy lint warnings
- Change AddDuplicateMangaDialog arg to a function instead to avoid leaking controller-specific logic into it
- Require WebView 99+

(cherry picked from commit d3f9232a3fa50e02af110b5320b4fcf4bcccb3cd)
2022-05-14 10:39:37 -04:00
FourTOne5
6adf5927ab Fix download splitter potentially throwing OOM on huge images (#7099)
* Fix download splitter potentially throwing OOM on huge images

Also move the splitting to ImageUtil

* Change variable name and logcat output

(cherry picked from commit 9f655e0d41a690752ac440d9bc8fb56188d4ef0c)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/util/system/ImageUtil.kt
2022-05-14 10:39:20 -04:00
arkon
33c8dcb70c Fix tall image split math issues
- Round up per-split height to ensure the entire page ends up being split
- Handle the last split of a page potentially being shorter than the others
2022-05-07 10:48:16 -04:00
arkon
1f263b9cfc Minor cleanup
- Remove some unused StorIO queries
- Clean up tall image splitting a bit (no need for creating an unscaled scaled bitmap copy, or tracking coordinates)
- Clean up library updater a bit (still needs a lot of work though)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/database/queries/ChapterQueries.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/queries/HistoryQueries.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/queries/MangaQueries.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
#	app/src/main/java/eu/kanade/tachiyomi/util/system/ImageUtil.kt
2022-05-07 10:48:04 -04:00
S97
6bacc3808e Add option to automatically split tall downloaded images (#7029)
* Auto split long images to improve performance of reader

* Auto split long images to improve performance of reader - fixed the sorting

* Improved performance of splitting by getting rid of 1 extra loop

* Cleaned up code and moved the functionality to work during the downloading process (unsure how this affects download speed)

* Replaced the import .* with the actual used imports

* Fixes for Bugs discovered during my testing

* Fixed last split missing bug.

* Reordered the download progress to be updated before splitting instead of after to reflect more meaningful progress of download

* Reverted last commit since it had no effect

* Improved progress tracking when a download is paused then resumed.

* Implemented the recommended changes to enhance the feature.

* Apply suggestions from code review

Co-authored-by: arkon <arkon@users.noreply.github.com>

* Update app/src/main/res/values/strings.xml

Co-authored-by: arkon <arkon@users.noreply.github.com>

Co-authored-by: arkon <arkon@users.noreply.github.com>
2022-05-07 10:33:05 -04:00
arkon
41b2c948e1 Migrate WebViewActivity to Compose
(cherry picked from commit 558b18899cca41992d6077484ed430972cda35fc)
2022-05-01 11:02:00 -04:00
Andreas
f6b7f9e29f Enable verbose logging in dev flavor by default (#6979)
(cherry picked from commit 9d77052d9c36d18ef421074589b40b0fa37e51af)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/App.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt
2022-04-22 19:22:12 -04:00
arkon
1be153e51c Show different update notification for F-Droid installations
(cherry picked from commit 821d9cdb02318464abb062e9a945ff8c35402b1e)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/updater/AppUpdateChecker.kt
2022-04-15 17:48:41 -04:00
arkon
e98567a86b Update linter
(cherry picked from commit f0eb42e72d1e267049777a303bd97d96517a9a1f)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/full/FullBackupRestore.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/full/models/Backup.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/full/models/BackupManga.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/legacy/models/Backup.kt
#	app/src/main/java/eu/kanade/tachiyomi/extension/model/Extension.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/LocalSource.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/base/changehandler/OneWayFadeChangeHandler.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/sources/SelectionHeader.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourceItem.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcePresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceFilterSheet.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/globalsearch/GlobalSearchController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryListHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPageSheet.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/ChapterLoader.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/HttpPageLoader.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/model/ReaderPage.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/util/view/ViewExtensions.kt
2022-04-09 19:11:54 -04:00
arkon
3648ef4397 Update WebView requester package name
https://github.com/tachiyomiorg/tachiyomi/issues/6781#issuecomment-1086665483
(cherry picked from commit 668d962233ea20cfd671db5ba17317ae15713c95)
2022-04-03 12:03:12 -04:00
arkon
989119af17 Override X-Requested-With header value in WebView requests (closes #6781)
(cherry picked from commit 996f770935de78e6b0f4dfa13996c59f0f3dbac4)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/App.kt
2022-04-03 12:03:04 -04:00
Ivan Iskandar
a700c1a230 Base activities cleanup (#6848)
* secure delegate

* theming delegate

(cherry picked from commit dbad60d03b432b05d2abdbb70b75edcdbac837f9)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/security/SecureActivityDelegate.kt
2022-04-03 12:01:56 -04:00
arkon
704b3b0508 Stop using custom tabs (closes #6821)
(cherry picked from commit c06ad8b87e22041dc36feb78005dff4011b3271a)
2022-03-27 20:15:52 -04:00
arkon
30f71b126f Update dependencies
(cherry picked from commit 7890511a538aa7cfd1c560570a9faef23aa22bba)
2022-03-27 20:14:15 -04:00
Andreas
7569955f9e Share logic for saving page/cover (#6787)
* Use MediaStore on newer Android Q or newer

* Use flow instead of Observable

* Review comment fixes

* Use suspended function instead of flow

(cherry picked from commit 1163aa4e4ecfe6f430e7f7c8323c0f64c73d7dbd)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/AppModule.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.kt
2022-03-20 13:09:33 -04:00
arkon
ddf9a81335 Require WebView v95+
(cherry picked from commit 382852d0bd6c4223592cd757e84cfa1a7a601b3b)
2022-03-20 12:38:13 -04:00