896 Commits

Author SHA1 Message Date
Jobobby04
06d2e631be Fix reccomendations 2022-10-08 19:45:04 -04:00
AntsyLich
71076bd56a Move LibraryManga to domain layer (#8126)
(cherry picked from commit ea8383978b1783fd60d6057deb6c91cb5a85c505)

# Conflicts:
#	app/src/main/java/eu/kanade/data/manga/MangaMapper.kt
#	app/src/main/java/eu/kanade/presentation/library/LibraryState.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/models/LibraryManga.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryItem.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
2022-10-01 19:14:58 -04:00
Jobobby04
5b31324b4b Minor cleanup 2022-10-01 18:30:25 -04:00
Jobobby04
1ecd55736c Minor cleanup 2022-10-01 18:18:56 -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
02a154bb85 Move chapter preferences from PreferencesHelper to LibraryPrefrences (#8061)
(cherry picked from commit b5dca2eb09c008563e6e977fb3379fb7548d1144)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/domain/library/service/LibraryPreferences.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.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/setting/SettingsAdvancedController.kt
2022-09-24 23:24:28 -04:00
Andreas
34735166ec Split backup preferences from PreferencesHelper (#8051)
(cherry picked from commit 5cdcc1679f2eb8a79586bf407d4d2f6fc60c2c49)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/AppModule.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupManager.kt
2022-09-22 12:58:54 -04:00
Andreas
bdc45fb8aa Split track preferences from PreferencesHelper (#8046)
(cherry picked from commit e568951396220b95447a025615a4b57b273f8864)
2022-09-21 11:47:02 -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
b7363706d7 Split library preferences from PreferencesHelper (#8036)
(cherry picked from commit c740558327f0f40f1b58d04ca5d5baed9285f048)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/category/interactor/SetDisplayModeForCategory.kt
#	app/src/main/java/eu/kanade/domain/category/interactor/SetSortModeForCategory.kt
#	app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceToolbar.kt
#	app/src/main/java/eu/kanade/tachiyomi/AppModule.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceKeys.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourcePresenter.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/SettingsLibraryController.kt
2022-09-20 16:17:17 -04:00
Andreas
f40477cf6e Split security preferences from PrefrencesHelper (#8030)
(cherry picked from commit b668364afbfdde9e91fda6621c80c96262c6492a)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateNotifier.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceValues.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsSecurityController.kt
2022-09-18 13:25:51 -04:00
Andreas
5d1dfb5290 Split source preferences from PreferencesHelper (#8029)
(cherry picked from commit 30b3b2d3ffd5d90aee293e9ae22b3cb2a4924c2b)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/AppModule.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/SourceExtensions.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesFilterPresenter.kt
2022-09-18 13:08:22 -04:00
Andreas
41c9c20e26 Use 1.x preference abstraction (#8020)
* Use 1.x preference abstraction

- Uses SharedPreferences compared to 1.x impl which uses DataStore but it breaks all settings screens currently
- Move PreferencesHelper to new PreferenceStore
  - PreferencesHelper should be split into smaller preference stores and be in core or domain
- Remove flow preferences as new PreferenceStore handles changes for us

Co-authored-by: inorichi <3521738+inorichi@users.noreply.github.com>

* Fix PreferenceMutableState not updating

* Fix changes not emitting on first subscription

Co-authored-by: inorichi <3521738+inorichi@users.noreply.github.com>
(cherry picked from commit 0086743a5311c22fb8c07f596ab5de384862a68a)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/source/interactor/GetEnabledSources.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/library/LibraryUpdateNotifier.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt
#	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/reader/ReaderPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt
#	core/src/main/java/eu/kanade/tachiyomi/network/NetworkHelper.kt
2022-09-18 12:31:49 -04:00
arkon
a27b25f7c6 Always attempt automatic backup creation
- Defaults to every 12 hours
- Minimum number of backups is now 2, just to offer some level of redundancy in case something happens
- If it's missing storage permissions, it'll fail but that's the user's loss if they somehow haven't granted that permission yet

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupManager.kt
2022-09-16 13:57:19 -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
Jobobby04
3807fb0607 Convert EhLoginActivity to compose 2022-09-13 18:18:48 -04:00
Jobobby04
3562816e89 SY linting 2022-09-11 19:43:45 -04:00
Jobobby04
b44afb6013 Minor cleanup 2022-09-10 14:17:54 -04:00
Jobobby04
4f68667345 Convert smart search to compose 2022-09-07 21:19:37 -04:00
Jobobby04
4e444a0408 Convert metadata view to compose 2022-09-07 21:18:51 -04:00
Jobobby04
96f24e0600 Rewrite migration, shove all logic into a presenter instead of the UI 2022-09-04 19:42:08 -04:00
Jobobby04
6e1e42fefd Address some OkHttp nullability issues 2022-09-03 19:55:30 -04:00
Andreas
99d5d8b91f Merge Latest and Browse into one screen (#7921)
* Merge Latest and Browse into one

* Add back Latest button

* Change context to IO instead of launching a job

* Use loading screen when loading initial page

(cherry picked from commit cc6aef693e1a15f695ffa7eebd968004a6557010)

# Conflicts:
#	app/src/main/java/eu/kanade/data/source/SourceRepositoryImpl.kt
#	app/src/main/java/eu/kanade/presentation/browse/BrowseLatestScreen.kt
#	app/src/main/java/eu/kanade/presentation/browse/BrowseSourceScreen.kt
#	app/src/main/java/eu/kanade/presentation/browse/SourceSearchScreen.kt
#	app/src/main/java/eu/kanade/presentation/browse/SourcesScreen.kt
#	app/src/main/java/eu/kanade/presentation/browse/components/BrowseLatestToolbar.kt
#	app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceComfortableGrid.kt
#	app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceToolbar.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SourceSearchController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesTab.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowsePagingSource.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourcePresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/latest/LatestUpdatesController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/latest/LatestUpdatesPresenter.kt
2022-09-03 19:43:55 -04:00
arkon
241517a13a Make top app bar lift behavior more consistent
(cherry picked from commit 504844a892635fe9554a3eb907ad328b94ffab29)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/BrowseLatestScreen.kt
#	app/src/main/java/eu/kanade/presentation/browse/BrowseSourceScreen.kt
#	app/src/main/java/eu/kanade/presentation/browse/components/BrowseLatestToolbar.kt
#	app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceToolbar.kt
2022-09-03 18:10:38 -04:00
Andreas
16ea8aa3b7 Use Compose on BrowseSourceScreens (#7901)
(cherry picked from commit d4b764fa317ddcb04b8fefb982cd6b9a6dfc1598)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/components/LibraryGridCover.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SourceSearchController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourcePresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/Pager.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceComfortableGridHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceCompactGridHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceItem.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceListHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/latest/LatestUpdatesController.kt
#	app/src/main/res/layout/source_comfortable_grid_item.xml
#	app/src/main/res/layout/source_compact_grid_item.xml
#	app/src/main/res/menu/source_browse.xml
2022-09-03 17:41:24 -04:00
arkon
8c182df784 Initial conversion of browse tabs to full Compose
TODO:
- Global search should launch a controller with the search textfield focused. This is pending a Compose rewrite of that screen.
- Better migrate sort UI
- Extensions search

(cherry picked from commit 92e83f702c775d5ab5a0b4248995308155150811)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/browse/MigrateSourceScreen.kt
#	app/src/main/java/eu/kanade/presentation/browse/SourcesScreen.kt
#	app/src/main/java/eu/kanade/presentation/library/components/LibraryTabs.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/BrowseController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/sources/MigrationSourcesController.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-08-31 18:55:00 -04:00
Jobobby04
aaa2a961ae Convert Debug Menu to a FullComposeController 2022-08-31 17:04:50 -04:00
Andreas
65f6e14a46 Tweak flag classes for Library (#7829)
* Tweak flag classes for Library

- Add interface for Flag and Mask
- Merge Sort Type and Direction into one class
- Use custom serializers for preferences
  - Mainly to not break the old

* Review changes

(cherry picked from commit 880407442c598d1b63db8be43f4848550dc17ff1)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/domain/category/interactor/SetDisplayModeForCategory.kt
#	app/src/main/java/eu/kanade/domain/category/interactor/SetSortModeForCategory.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceItem.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/library/setting/SortDirectionSetting.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/setting/SortModeSetting.kt
2022-08-29 18:12:37 -04:00
Jobobby04
9051178701 Use Jetpack Compose for interceptor activity 2022-08-22 12:56:02 -04:00
stevenyomi
39e0d7f4e8 Remove 1.x source models (#7781)
(cherry picked from commit e36e9d9d5c1b2a7b55f28f2bf0ef064880cbac8f)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/manga/interactor/UpdateManga.kt
#	app/src/main/java/eu/kanade/domain/manga/model/Manga.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/models/Manga.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/LocalSource.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/Source.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/SourceManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/model/SManga.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
2022-08-18 15:44:31 -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
Jobobby04
acfc76bdd0 Support stable users migrating to preview 2022-08-14 16:00:03 -04:00
AntsyLich
0b1afc1b94 Change return value of SyncChaptersWithSource.await() (#7715)
* Change return value of `SyncChaptersWithSource.await()`

`updatedToAdd.subtract(reAdded).toList()` never worked as at this point `updatedToAdd` contained ids from db where `reAdded` had default one. Was the same case before the rewrite.

Removed `toDelete` from return value as it was not being used anywhere

* Add doc string

* Use HashSet

Co-authored-by: stevenyomi <95685115+stevenyomi@users.noreply.github.com>

Co-authored-by: stevenyomi <95685115+stevenyomi@users.noreply.github.com>
(cherry picked from commit 11f640cfee427b8912cdc43fc3efc61e0f774aa7)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
2022-08-13 15:00:32 -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
Jobobby04
7cbf795295 Fix Sync Favorites 2022-08-07 11:37:40 -04:00
Jobobby04
240d821a58 Add missing mangadex languages, remove language prettyPrint since its not used 2022-08-07 11:37:40 -04:00
arkon
c0db682476 Minor fixes
- Fix categories modal showing when adding from source with no categories
- Use old categories icon in library bottom action menu

(cherry picked from commit 688cc64dffa8cdf1241d3b4e2467b5e8c8529800)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/components/MangaBottomActionMenu.kt
#	app/src/main/java/eu/kanade/tachiyomi/App.kt
2022-08-06 18:25:28 -04:00
Jobobby04
05f2f79e0d Update EHTags list 2022-08-05 16:34:00 -04:00
Andreas
4b87831bdd Remove deprecated LibrarySort (#7659)
* Remove deprecated LibrarySort

* Apply suggestions from code review

(cherry picked from commit 58acf0a8aa3aa37b5d9c63d99987a05ee2f8790f)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibrarySort.kt
2022-07-31 11:35:29 -04:00
Jobobby04
acdfa3689e Fix category drag-and-drop migrations 2022-07-31 10:33:04 -04:00
Jobobby04
5807920636 Remove old chip extensions 2022-07-28 19:01:22 -04:00
Jobobby04
7c2bbb7c00 Minor cleanup 2022-07-24 15:29:48 -04:00
Jobobby04
93a9932358 Add scrolling support to debug menu dialogs 2022-07-22 15:15:19 -04:00
Jobobby04
8ef4a7fbbf Use ChapterInfo wherever possible 2022-07-22 15:09:40 -04:00
Jobobby04
e0699ad66d Remove unused logging 2022-07-18 15:48:49 -04:00
Jobobby04
7808a478ef Page preview set the scroll progress when switching pages 2022-07-18 15:48:48 -04:00
Jobobby04
cec181f444 Minor cleanup 2022-07-18 09:59:09 -04:00
arkon
879999e69e Fix library column setting jumping in
(cherry picked from commit f6f5b6aeaba6825974f4b05d279fab54a2633d76)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryMangaEvent.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
2022-07-16 20:48:18 -04:00
arkon
1e3f313ca2 Remove top app bar scroll behavior
This lets us make it more consistent with the Compose screens for now. Maybe it'll return in the future.

This also includes making the AboutController a full Compose controller with a new abstracted TopAppBar composable.

(cherry picked from commit 80c7a453286f296ae4d5d3531c805e63db9ca424)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/category/components/CategoryTopAppBar.kt
#	app/src/main/java/eu/kanade/presentation/more/about/AboutScreen.kt
2022-07-16 20:39:44 -04:00
Jobobby04
dd68ef4ba8 Remove drag and drop 2022-07-16 19:49:46 -04:00