4461 Commits

Author SHA1 Message Date
nicki
81bdc19075 Check for app updates by comparing semver (#7100)
Instead of just checking whether the current app version *matches* with
latest app version in GitHub Releases, compare the semver from the tag
names to check whether the latter is greater and the app needs an update

Reference: semver spec #11 https://semver.org/#spec-item-11

Co-authored-by: Andreas <6576096+ghostbear@users.noreply.github.com>

Co-authored-by: Andreas <6576096+ghostbear@users.noreply.github.com>
(cherry picked from commit e7ed130f2a4fcd7452737476189687fbd130c80d)
2022-05-14 10:38:37 -04:00
arkon
aecb2e92dd Extract add duplicate manga dialog into a controller
(cherry picked from commit e421eb61bc7b4bcaf10b7e165358de83d2bfe368)
2022-05-14 10:36:48 -04:00
nicki
1269d71d1a Don't save categories in backup if not selected (#7101)
Currently, manually created backups contain list of categories even if
Categories option is not selected during Backup Prompt. This leads to
empty categories being created when restoring such backup files

This commit adds a check before saving categories list info to the
backup file. The check is the same check which is used while backing up
category info of manga in library

Tested and worked successfully on app installed on Android 12

(cherry picked from commit 11c01235ac32c8fd3de864c37cab82367b4a9e41)
2022-05-14 10:36:23 -04:00
arkon
7403709ecd Adjust inset consumption in Compose controllers (fixes #7085)
Co-authored-by: jobobby04 <jobobby04@users.noreply.github.com>
(cherry picked from commit 6993e88265c3a759916e5e9677cdf28351ca85d2)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/base/controller/ComposeController.kt
2022-05-08 10:50:41 -04:00
arkon
f675fc78ef Fix crash when using renamed library sort methods (fixes #7092)
(cherry picked from commit 681e9396b3f9baf9c6f0e66f596830c662dbadb9)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/setting/SortModeSetting.kt
2022-05-08 10:49:40 -04:00
arkon
4aa5c6107c Don't allow swiping away app update install notification
Also show the new version number in the notifications.
2022-05-07 17:26:27 -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
FourTOne5
f966940d15 Fix removing manga from library reverts during global update (#7063)
* Fix removing manga from library reverts during global update

* Review Changes

* Review changes 2
# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
2022-05-07 10:32:56 -04:00
FourTOne5
3865384ccc Add -r flag to ShizukuInstaller createCommand (#7080) 2022-05-07 10:32:02 -04:00
FourTOne5
ea20b44865 Reword and Fix library sort (#7068)
# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/setting/SortModeSetting.kt
2022-05-06 20:45:33 -04:00
Jobobby04
7c8d6bb282 Minor cleanup saved search database info 2022-05-06 20:32:56 -04:00
Jobobby04
a3989030aa Fix merged source selection crash 2022-05-06 20:32:54 -04:00
jobobby04
1c7a81b7ad Properly modify StateFlow value (#7059)
(cherry picked from commit ed8a54bd2ae58f9fb58d1d92318b5dcb4c7ce3f5)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcePresenter.kt
2022-05-02 17:25:26 -04:00
FourTOne5
c6c6cb3033 Properly show history state (#7052)
* Make `HistoryState` similar to `MigrateState`

* Review Changes

* Also cache the transformation

Co-authored-by: Andreas <andreas.everos@gmail.com>

* Fix States

Co-authored-by: Andreas <andreas.everos@gmail.com>
(cherry picked from commit 5bd5b215430c6d19c1e4314bdaf4264eb43e9d29)
2022-05-02 17:23:04 -04:00
FourTOne5
bb5732055e Make MigrateSourceState similar to MigrateState (#7054)
(cherry picked from commit aef1dc6eaffd96a5ea14cf897f78b9f26db48167)
2022-05-02 17:19:50 -04:00
FourTOne5
222f8a7d7a Make SourceState similar to MigrateState (#7053)
* make `SourceState` similar to `MigrateState`

* Review Changes

(cherry picked from commit bd45bf7407716bceec5cc226d3680676bb211fea)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/source/SourceScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcePresenter.kt
2022-05-02 17:19:38 -04:00
Jobobby04
7e380582a6 Fix crashing when creating a backup 2022-05-02 17:04:06 -04:00
arkon
0a908464f7 Add newer methods to StubSource
(cherry picked from commit e3f6cfa2df1c8406f89ca353230d0953870d9fe9)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/SourceManager.kt
2022-05-01 16:59:56 -04:00
saud-97
28e0a00ece Notify user of error during a page download failure (#7047)
* Notify user of error during a page download failure

* Included the manga title in the error notification

(cherry picked from commit 5763201307551bcd6a1f25ca81c8125f6f434c0a)
2022-05-01 16:55:55 -04:00
arkon
03b03ba342 Update navigation bar padding in Compose screens
(cherry picked from commit dee783079363acef241e574bc9c5600bc8f27bf3)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/source/interactor/GetSourcesWithFavoriteCount.kt
#	app/src/main/java/eu/kanade/presentation/history/HistoryScreen.kt
2022-05-01 16:54:50 -04:00
FourTOne5
ef55134c74 Migrate Source Filter Screen to Compose (#7031)
* Migrate Source Filter Screen to Compose

* Changes from Review and some more fixes

* Rename some variable and classes

* Review Change

* Ewbase and Review changes

(cherry picked from commit 23f8f35354b30aded0749222234f76a4f9eaab5c)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/DomainModule.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/SourceManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourceFilterController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcePresenter.kt
2022-05-01 16:52:11 -04:00
Andreas
6eaeec3a48 Migrate Migrate Manga screen to Compose (#7045)
* Migrate Migrate Manga screen to Compose

* Changes from review comments

(cherry picked from commit bf6d59cd21e6c2436ceefa3de5343e56640f9073)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/manga/MigrationMangaController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/manga/MigrationMangaHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/manga/MigrationMangaPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchController.kt
2022-05-01 16:00:18 -04:00
arkon
12a0e40ca5 Use Compose for OAuth login loading indicator
(cherry picked from commit ccff333123d9f446d4456f8d43fa0472fb82c488)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/sources/MigrationSourcesController.kt
2022-05-01 15:36:25 -04:00
Andreas
4d8ba5868c Fix database corruption (#7042)
When using SQLDelight and Storio at the same time

(cherry picked from commit 891406cc7fbf9b449f306222e16b041b9ba8a96c)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/database/DatabaseHelper.kt
2022-05-01 15:35:48 -04:00
arkon
b846bc2044 Add links to website FAQ for library update and download warning notifications
(cherry picked from commit 70698e64940eb01032e948245a01c4191ccd60f0)
2022-05-01 14:59:28 -04:00
Andreas
ca3574690b Use Compose in Migrate tab (#7008)
* Use Compose in Migrate tab

* Add missing header

* Remove unused files

* Fix build after rebase

* Changes from review comments

(cherry picked from commit 7261fcccda0c0e044ec1cef61ac317574c695768)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/DomainModule.kt
#	app/src/main/java/eu/kanade/presentation/source/SourceScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/sources/MigrationSourcesController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/sources/MigrationSourcesPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/sources/SelectionHeader.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/sources/SourceAdapter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/sources/SourceHolder.kt
#	app/src/main/res/layout/source_main_controller_item.xml
2022-05-01 14:58:53 -04:00
arkon
51ba85cca9 Migrate SettingsMainController to Compose
(cherry picked from commit a4a4503311baacdef03c9bc3fc95c7ba1b0aea37)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsMainController.kt
2022-05-01 14:40:29 -04:00
arkon
9aa2ab3546 Remove some minor settings
Some spring cleaning to remove some unnecessary complexity so things are easier to maintain.

- Start screen: redundant with app shortcuts in Android 7.1+
- Jump to chapters: irrelevant in tablet mode and people can scroll a tiny bit if they really have to
- Option to not scroll away bottom nav: issues with fast scroll will be irrelevant with it being replaced or removed in the Compose migrations

Get ready for people malding over their special needs. https://xkcd.com/1172/

(cherry picked from commit 0b77b78f6a360d759241ac42b1dcf0fe66b27d50)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsLibraryController.kt
2022-05-01 14:27:10 -04:00
FourTOne5
7ed22e5d90 Download new chapters when only excluded categories is selected (#6984)
(cherry picked from commit 06bec0ad54954e0a0c76949206814747df5a8370)
2022-05-01 14:20:00 -04:00
arkon
c3183b8543 Remove some unused StorIO queries/resolvers
(cherry picked from commit 2caf220b184d9ee5916ad205b5609da116a9409f)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/database/queries/MangaQueries.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/resolvers/MangaChapterHistoryGetResolver.kt
2022-05-01 14:19:26 -04:00
arkon
b2be36f432 Adjust library sorting by dates (closes #6954)
Ascending by date = oldest dates first. If no date is present, fallback to epoch 0 (i.e., oldest).

(cherry picked from commit 7773deabc03eb106798aed113341acf66a5f6a77)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
2022-05-01 14:09:55 -04:00
arkon
da739dfc07 Fix skipped library entries and size warning notifications using same ID
(cherry picked from commit 91ed3a4a5facaaa335d4408e7c5342dcca430f47)
2022-05-01 14:09:08 -04:00
arkon
92af7291d5 Fix update warning notifications being cut off (fixes #6983)
(cherry picked from commit 20145f7a12c5f14a27ab01f16ceee3cfca77fdab)
2022-05-01 14:08:59 -04:00
arkon
f22ff7d3f0 Default to downloading as CBZ (closes #6942)
Generally seems fine. People with weak devices may experience some issues, but they can toggle it off/extract the archives separately if needed.

(cherry picked from commit 883945e3e8b4c3fe5ec1bb151c247db7404b037c)
2022-05-01 14:08:50 -04:00
arkon
4804dcf644 Add battery not low restriction for global updates (closes #6980)
(cherry picked from commit 3feea7114614726cd0f5b87729a6c6195d180949)
2022-05-01 14:08:42 -04:00
ItsLogic
6df5497dc6 Fix chapter transition setting for one page chapters (#6998)
(cherry picked from commit 5e32b8e49fc7879559366357743bc450099453ca)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerViewer.kt
2022-05-01 14:08:32 -04:00
arkon
e2056982eb Minor cleanup 2: Electric Boogaloo
- Reword pins on top setting
- Make "Latest" button style match old UI
- Sort sources by name

(cherry picked from commit 08e63e5fab93154ca85d16e459226f01aeab5a2d)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/source/interactor/GetEnabledSources.kt
#	app/src/main/java/eu/kanade/domain/source/model/Source.kt
2022-05-01 14:07:08 -04:00
Andreas
c1659ad908 Convert Source tab to use Compose (#6987)
* Use Compose in Source tab

* Replace hashCode with key function

* Add ability to turn off pins moving on top of source list

* Changes from review comments

(cherry picked from commit 29a0989f2889d3361f583285091878c9b4570a52)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/source/SourceManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourceController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourceHolder.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/BrowseSourceController.kt
2022-05-01 13:49:53 -04:00
arkon
41b2c948e1 Migrate WebViewActivity to Compose
(cherry picked from commit 558b18899cca41992d6077484ed430972cda35fc)
2022-05-01 11:02:00 -04:00
arkon
1d0520e716 Delete entire app_webview folder when clearing WebView data
(cherry picked from commit 6e95fde4ece64e5959c04bb4b7fb69299ef37ca5)
2022-05-01 11:01:51 -04:00
arkon
2ad55cc4f6 Remove unused preference layouts
(cherry picked from commit e691e17efc0a6c857a925bf4077f0eb3541d570b)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/more/AboutController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/more/AboutLinksPreference.kt
2022-05-01 11:01:26 -04:00
arkon
ec689889f3 Migrate More screen to Compose (#6990)
(cherry picked from commit c25cffafc60d206329dfcc9a30141b15d874cb3a)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/more/MoreController.kt
2022-04-23 20:12:59 -04:00
Jobobby04
bd4f0cd7a4 Minor cleanup 2022-04-23 14:32:56 -04:00
arkon
b8b26c3531 Clean up repetitive controller transactions
(cherry picked from commit 7e2f1d729f3876515342d6e7d25cf4df1005d711)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/manga/MigrationMangaController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/sources/MigrationSourcesController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourceController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/more/AboutController.kt
2022-04-23 14:28:16 -04:00
arkon
f537d8396c Basic initial port of About screen to Compose
(cherry picked from commit d6c87ec10e7d1bec8c43423c3d7d591ce9fdb798)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/more/AboutController.kt
2022-04-23 14:16:13 -04:00
CrepeTF
1b29217d00 Resume when history item is tapped (#6982)
* Remove resume button

* Rename onClickItem to onClickCover

* Optimize imports

* Rename reference to onClickItem in HistoryController.kt

Co-authored-by: CrepeTF <trungnguyen02@outlookcom>
(cherry picked from commit 070abd79ce4e6004b5484a3f91a9c4527bd42bcd)
2022-04-23 11:07:21 -04:00
arkon
6c0a61e47c Lifted NestedScrollConnection to abstract Compose classes
Since it'll likely be used in every controller.

(cherry picked from commit 2d01933c288f30e596a76763cc7bf93dd0c5c5c6)
2022-04-23 11:07:13 -04:00
arkon
93b7881505 Move clear webview data action to network group
(cherry picked from commit bf0bb5aa88f91b0567cf9de085a35d660e7e41a1)
2022-04-23 11:07:04 -04:00