arkon
f27b8b2ded
Don't use reflection for handling backup options as boolean array
...
Wasn't working correctly in release build, _probably_ because of R8 despite kotlin-reflect
shipping with Proguard rules and us already keeping all Tachiyomi classes.
(cherry picked from commit 6ab8e1e73dbcc65d693dd2ed2680c950139dadde)
2023-12-31 12:53:30 -05:00
arkon
4bcbddf3b2
Allow partial restores (library/settings)
...
Closes #3136
(cherry picked from commit 5bba7af24aa0b8c5d66baa1f26a8427ceec8a4ae)
# Conflicts:
# app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsDataScreen.kt
# app/src/main/java/eu/kanade/tachiyomi/data/backup/restore/RestoreOptions.kt
# core/build.gradle.kts
2023-12-30 18:13:43 -05:00
arkon
1eccf9fad8
Migrate to multiplatform string resources ( #10147 )
...
* Migrate to multiplatform string resources
* Move plurals translations into separate files
* Fix lint check on generated files
(cherry picked from commit 46e734fc8eefb8c06a880194e702559ca3fa769d)
# Conflicts:
# app/src/main/java/eu/kanade/presentation/browse/BrowseSourceScreen.kt
# app/src/main/java/eu/kanade/presentation/browse/ExtensionDetailsScreen.kt
# app/src/main/java/eu/kanade/presentation/browse/ExtensionsScreen.kt
# app/src/main/java/eu/kanade/presentation/browse/SourcesScreen.kt
# app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceDialogs.kt
# app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceToolbar.kt
# app/src/main/java/eu/kanade/presentation/category/components/CategoryDialogs.kt
# app/src/main/java/eu/kanade/presentation/library/LibrarySettingsDialog.kt
# app/src/main/java/eu/kanade/presentation/manga/components/MangaBottomActionMenu.kt
# app/src/main/java/eu/kanade/presentation/manga/components/MangaDialogs.kt
# app/src/main/java/eu/kanade/presentation/more/MoreScreen.kt
# app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt
# app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsBrowseScreen.kt
# app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsLibraryScreen.kt
# app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsMainScreen.kt
# app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsReaderScreen.kt
# app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsSecurityScreen.kt
# app/src/main/java/eu/kanade/presentation/more/settings/screen/about/AboutScreen.kt
# app/src/main/java/eu/kanade/presentation/more/settings/screen/advanced/ClearDatabaseScreen.kt
# app/src/main/java/eu/kanade/presentation/more/settings/screen/data/CreateBackupScreen.kt
# app/src/main/java/eu/kanade/presentation/reader/ReaderPageActionsDialog.kt
# 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/presentation/reader/components/ChapterNavigator.kt
# app/src/main/java/eu/kanade/presentation/reader/settings/GeneralSettingsPage.kt
# app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadManager.kt
# app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt
# app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt
# app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateNotifier.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/browse/BrowseTab.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/MigrationFlags.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/manga/MigrateMangaScreen.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateDialog.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SourceSearchScreen.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/sources/MigrateSourceTab.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesTab.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreen.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceFilterDialog.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/history/HistoryTab.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/ChapterLoader.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReaderPreferences.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/stats/StatsScreen.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/updates/UpdatesTab.kt
# build.gradle.kts
# i18n/build.gradle.kts
# i18n/src/commonMain/resources/MR/base/strings_sy.xml
# i18n/src/commonMain/resources/MR/fr/strings_sy.xml
# i18n/src/commonMain/resources/MR/in/strings_sy.xml
# i18n/src/commonMain/resources/MR/pt-rBR/strings_sy.xml
# i18n/src/commonMain/resources/MR/ru/strings_sy.xml
# i18n/src/commonMain/resources/MR/zh-rCN/strings_sy.xml
# i18n/src/commonMain/resources/MR/zh-rTW/strings_sy.xml
2023-12-23 20:28:29 -05:00
arkon
57bb12440a
Handle Brotli-compressed responses
...
(cherry picked from commit 7cf2ce29947e96a2eac011e48a92e1029e344831)
2023-11-05 16:28:22 -05:00
arkon
7c9398f9d5
Address minor build warnings
...
(cherry picked from commit 431f8772f8ad2f30d71bb6565ec2644e4e56c691)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupRestorer.kt
2023-06-24 11:21:18 -04:00
Shamicen
88f076afd4
Encrypted CBZ archives ( #846 )
...
* Initial Implementation of encrypted CBZ archives
* changed a preference key to correct Syntax, changed a function name and changed ComicInfo padding length
* Update app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsSecurityScreen.kt
Co-authored-by: jobobby04 <jobobby04@users.noreply.github.com>
* Update app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsSecurityScreen.kt
Co-authored-by: jobobby04 <jobobby04@users.noreply.github.com>
* add necessary imports
* fix indentation after merge conflict
* Update app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsSecurityScreen.kt
Co-authored-by: jobobby04 <jobobby04@users.noreply.github.com>
* fix indentation and add imports
* collect preferences as states
* test if password is correct in ZipPageLoader
* added withIOContext to function call
* added encryption type preference
* implemented database encryption
* added proguard rules for sqlcipher and generate padding length with SecureRandom
---------
Co-authored-by: jobobby04 <jobobby04@users.noreply.github.com>
2023-05-06 11:06:54 -04:00
Andreas
b5b5dd0e81
Move Local Source to separate module ( #9152 )
...
* Move Local Source to separate module
* Review changes
(cherry picked from commit f27dc19b378f2f38ed2885f40d93f6d8817ef584)
# Conflicts:
# app/src/main/java/eu/kanade/domain/source/interactor/GetEnabledSources.kt
# app/src/main/java/eu/kanade/tachiyomi/AppModule.kt
# app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt
# app/src/main/java/eu/kanade/tachiyomi/source/SourceManager.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SourceSearchScreen.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/ChapterLoader.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt
# core/src/main/java/tachiyomi/core/util/system/ImageUtil.kt
# source-local/src/main/java/tachiyomi/source/local/LocalSource.kt
2023-03-14 22:10:00 -04:00
arkon
6563490513
Remove dependency injection from core module and data module from presentation-widget module
...
Includes side effects:
- No longer need to restart app for user agent string change to take effect
- parseAs extension function requires a Json instance in the calling context, which doesn't necessarily need to be the default one provided by Injekt
(cherry picked from commit 93523ef50b80ef294866bfb0da54e236cdf2d9f6)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/data/updater/AppUpdateChecker.kt
# app/src/main/java/eu/kanade/tachiyomi/extension/api/ExtensionGithubApi.kt
# core/src/main/java/eu/kanade/tachiyomi/network/NetworkHelper.kt
# core/src/main/java/eu/kanade/tachiyomi/network/OkHttpExtensions.kt
# domain/build.gradle.kts
# source-api/build.gradle.kts
2023-03-05 18:33:57 -05:00
Andreas
888d1f0983
Move shared configuration to subprojects in root Gradle file ( #8951 )
...
* Move shared configuration to subprojects in root Gradle file
* Missed but not forgotten
* Review changes
(cherry picked from commit 2b5d9fd76b9b7b629921bc793553cd4a571eda00)
# Conflicts:
# app/build.gradle.kts
# i18n/build.gradle.kts
2023-02-07 16:12:31 -05:00
Andreas
34b60a435e
Create plugin for linting ( #8942 )
...
(cherry picked from commit c31e75f02f3021c52f6c24f655e2bded0c8b2b33)
# Conflicts:
# .github/workflows/build_pull_request.yml
# .github/workflows/build_push.yml
# app/build.gradle.kts
# build.gradle.kts
2023-02-07 16:11:25 -05:00
stevenyomi
a31e8282cb
Clean up OkHttp methods and parse from Okio directly ( #8238 )
...
(cherry picked from commit 2d19729869d1c88a46c0d1a4582d29a80d7ab9cb)
# Conflicts:
# core/src/main/java/eu/kanade/tachiyomi/network/OkHttpExtensions.kt
2022-10-18 17:35:23 -04:00
arkon
896bc3253e
Add JavaScriptEngine abstraction to extensions-lib ( #8155 )
...
This allows us to swap out the implementation in the future and on different platforms
without major changes to the extensions themselves.
(cherry picked from commit 7be68639107caecea879dc05edb92d81a4689a5a)
# Conflicts:
# core/build.gradle.kts
2022-10-08 18:04:37 -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