145 Commits

Author SHA1 Message Date
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
Andreas
0b7d0f7f67 Log extension loading errors directly (#7716)
(cherry picked from commit 7892cc1519ef0ecf0dc0b519a0df8806eba05e99)
2022-08-13 14:30:41 -04:00
Ivan Iskandar
4da028af6a ExtensionPresenter: Fix crash on first launch (#7685)
* Revert "Use SharedFlow for available extensions to always emit the value (#7609)"

This reverts commit 73901f50c0aee1cb82695642af72ff6ac7bc232d.

* ExtensionPresenter: Explicitly set refreshing status

* Scope coroutines job to presenter

* cleanup

* fix toast

(cherry picked from commit b3426f37e7d36be653363338288f74e2ae252a78)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionManager.kt
2022-08-05 13:07:50 -04:00
Andreas
7edf8dd555 Use SharedFlow for available extensions to always emit the value (#7609)
- Fixes Extension screen being stuck refreshing due to StateFlow not emitting due to the value being the same

(cherry picked from commit 73901f50c0aee1cb82695642af72ff6ac7bc232d)
2022-07-25 11:06:45 -04:00
Andreas
d8042f7182 Use Flow in ExtensionManager and SourceManager (#7547)
- Replace ExtensionManager relay and observable with Flow
- Inverse SourceManager dependency
    - SourceManager observers ExtensionManager flow
- Separate SourceData from SourceRepository as it created a circular dependency

(cherry picked from commit 35ec5936587799f33a264f57729cb4b75c5a0f72)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/source/SourceManager.kt
2022-07-16 20:09:33 -04:00
Andreas
6df1a0f79e Use Stable interface for Browse screens (#7544)
(cherry picked from commit 018ca71336c893f64e0d0653b48b3d5f39b88d63)

# Conflicts:
#	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/MigrateSourceScreen.kt
#	app/src/main/java/eu/kanade/presentation/browse/SourcesScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/manga/MigrateMangaPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/sources/MigrationSourcesController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesFilterPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesPresenter.kt
2022-07-16 17:45:36 -04:00
AntsyLich
26632905b5 ExtensionManger: Fix unofficial extension has update (#7503)
(cherry picked from commit 64f60c36e61ea186e246370634835abc6b7c9b0c)
2022-07-11 11:36:30 -04:00
stevenyomi
ef20995e7d Extension API: change fallback source and logic (#7400)
* Extension API: change fallback source and logic

* remove ghproxy

(cherry picked from commit 284445c364baa47c4f29a524c3e00f1e18360abb)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/extension/api/ExtensionGithubApi.kt
2022-07-02 12:57:25 -04:00
AntsyLich
8a06bc42d8 Maintain source info in the database. (#6389)
* Maintain Source Info in database

* Review changes and cleanups

* Review changes 2

* Review Changes 3

(cherry picked from commit 9d5b7de1d89a353d0bf73ce6befd9f5667d94d17)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/DomainModule.kt
#	app/src/main/java/eu/kanade/presentation/browse/MigrateSourceScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/SourceManager.kt
2022-06-16 12:02:38 -04:00
kasperskier
bbdbaa1de6 Change jsDelivr CDN URL to Fastly (#7156)
(cherry picked from commit 7b242bf11833ebd6dda34df295dfa7cd45cb88d0)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/extension/api/ExtensionGithubApi.kt
2022-05-24 19:29:48 -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
arkon
4458f74f6c Use jsDelivr as fallback when GitHub can't be reached for extensions (closes #5517)
Re-implementation of 24bb2f02dce135e0ceb2856618ecfc0e30dce875

(cherry picked from commit d61bfd7cafa09ff6c5f159c945984f2e8d9904b9)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/extension/api/ExtensionGithubApi.kt
2022-05-24 19:10:04 -04:00
arkon
393d7a1174 Address some build warnings
(cherry picked from commit b950370f12680e4113c1f736e656181fdf306579)
2022-05-14 10:46:37 -04:00
FourTOne5
3865384ccc Add -r flag to ShizukuInstaller createCommand (#7080) 2022-05-07 10:32:02 -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
af25e0e770 Minor cleanup
(cherry picked from commit f16fb4e1e4e7ce0ed2eb3d8b89ca3aa61d751383)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/App.kt
2022-04-15 17:50:26 -04:00
arkon
897eed3ba4 Gate update/download warnings to non-stable flavors
(cherry picked from commit 4ecde9fc39a8385e89ed903614b24c8dd1e41ad1)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
2022-04-15 17:46:09 -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
Ivan Iskandar
eb533c4498 Fix extension update badge reset when app resumed (#6822)
(cherry picked from commit ef600c09562f86b6f9c930d19c15c875b2f72751)
2022-03-27 20:13:28 -04:00
arkon
5201126b06 Write job failure exceptions to error log
(cherry picked from commit 1b71e4cee74e157ef8ed153cbbc526fd3d3513ee)
2022-01-29 20:07:03 -05:00
Andreas
a65b55a6bf Add ability to open FAQ and Guide, and Changelog in extension repository (#6469)
(cherry picked from commit 66a180bc36e57effb7ce1d383bb76ca635ed641f)
2022-01-22 18:32:06 -05:00
Ivan Iskandar
2b91af9ca5 Reduce stutter when entering Browse screen (#6435)
* More coil

* ExtensionController: Drop first text change event

* Browse-Source: Remove unnecessary load

* ExtensionPresenter: Increase debounce timeout

To avoid heavy list reload during first enter animation

(cherry picked from commit 78a261f5d3911cd0546445c8f6e6e7baff35ae35)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourceController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourceHolder.kt
2022-01-08 18:02:11 -05:00
arkon
0792ef3b1f Move preference extension functions to utils
(cherry picked from commit 78c2631b6f76214d1674cd2735432ef7d11d91c7)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourceController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
2022-01-01 15:04:16 -05:00
arkon
d4e3b463a3 Handle potentially missing sources list in extensions JSON
Can happen in:
- Unofficial repos
- If the inspector breaks

(cherry picked from commit b701821550dabadd1fb061d1a68741ec91b8774d)
2021-12-26 12:32:11 -05:00
FourTOne5
13beef4ebe Add Better Extension Search (#6359)
Add support to searching with source name, id and baseUrl for a extension's sources.

(cherry picked from commit 9e83130bd8a8fac1b13b0d093c301cd93892c27e)
2021-12-18 18:11:46 -05:00
arkon
9b3a839515 Address some IDE warnings
(cherry picked from commit 532a1b1abacde1a35e4c0bfcf9f083e59f6924b5)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/database/mappers/CategoryTypeMapping.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/mappers/MangaTypeMapping.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/resolvers/LibraryMangaGetResolver.kt
2021-12-18 12:06:55 -05:00
Jobobby04
42da9abe3e Build fixes after cherry picking 2021-12-02 20:44:05 -05:00
arkon
df07276e20 Avoid loading available extensions list if it seems too small
(cherry picked from commit 6a39c8fc13821a3b6d8f0efd738254154f4b7148)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/extension/api/ExtensionGithubApi.kt
2021-12-02 19:35:35 -05:00
arkon
c49c2b28eb Allow loading extension-lib 1.3
(Which doesn't actually exist yet, but will at some point after the next major release)

(cherry picked from commit 60e73e2d1f89e254616fb5659d9f53f6399bbdba)
2021-12-02 19:30:02 -05:00
arkon
d95833fce7 Move app and extension update notifications to new channels/group (closes #6168)
(cherry picked from commit 0edc981cd2331e70b43ff71f5c23ed74758d934e)
2021-11-02 19:08:30 -04:00
arkon
e28d72bf9c Minor cleanup
(cherry picked from commit 93e2b88d41143b7485172a29bb40b7ed5478a0ac)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/updater/AppUpdateChecker.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
2021-11-02 19:05:18 -04:00
Ivan Iskandar
14d6e8dd94 Replace Timber with Square Logcat and make logging configurable (#6062)
* Replace Timber with Square Logcat

* Configurable logger

(cherry picked from commit 2e127dff1f0b00f6a92359a07132c6016db6ea36)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/App.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/full/FullBackupManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadManager.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/ui/browse/extension/details/SourcePreferencesController.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/manga/MangaController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/more/AboutController.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/loader/HttpPageLoader.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerViewer.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerViewerAdapter.kt
2021-10-23 14:24:42 -04:00
arkon
3337afcf97 Use data class to parse extensions list
(cherry picked from commit f754b081ce45b9c418986778e24b6a3265ba7735)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/extension/api/ExtensionGithubApi.kt
#	app/src/main/java/eu/kanade/tachiyomi/network/OkHttpExtensions.kt
2021-09-26 14:12:28 -04:00
Ivan Iskandar
fa14a1cb6d Implement new extension install methods (#5904)
* Implement new extension install methods

* Fixes

* Resolve feedback

* Keep pending status when waiting to install

* Cancellable installation

* Remove auto error now that we have cancellable job

(cherry picked from commit b284384f0ad318fea24e7324a4621e12eb9aca7f)

# Conflicts:
#	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/ui/browse/extension/ExtensionHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt
2021-09-26 13:28:48 -04:00
arkon
6618f848ea Unify NSFW flagging for sources/extensions
Since multisource extensions are no longer a thing, we now simply rely on the flag at the extension level, i.e. the per-Source/SourceFactory `@Nsfw` annotation is no longer checked.
We'll have to remove all of the annotation usages from the existing sources, which will also effectively break the setting for older versions of the app.

(cherry picked from commit a2cf210a524894e5c1d1f062e4813086b46777a4)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/ExtensionHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/ExtensionPresenter.kt
2021-09-24 12:47:29 -04:00
arkon
97ddafe539 Clean up some companion object usages
(cherry picked from commit ec4e631760607700481d453fef21f38bd4aebf49)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SourceSearchController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsDownloadController.kt
2021-09-06 16:39:04 -04:00
Taco
dafff19fff Use more Compat utilities (#5786)
* Use ActivityCompat.recreate

* Use more KTX extensions

* Use PackageInfoCompat.getLongVersionCode

* Remove unnecessary compat usages

(cherry picked from commit 12a9d0575d432a4bc2f2c471e864d26205aba953)
2021-09-01 18:40:58 -04:00
arkon
cde6f127b1 Do background app/extension checks less frequently
Since the in-app checks occur at least once a day anyway.

(cherry picked from commit 8aa11951bffd491f52d89815f0f61b40187e37ef)
2021-08-27 12:50:37 -04:00
Jobobby04
ed19ad8819 Revert "Use jsDelivr as fallback when GitHub can't be reached for extensions list (closes #5517)"
This reverts commit 7891b4de31a75413563ca7565dfda529e928a7a6.
2021-07-22 15:36:04 -04:00
arkon
7891b4de31 Use jsDelivr as fallback when GitHub can't be reached for extensions list (closes #5517)
(cherry picked from commit 24bb2f02dce135e0ceb2856618ecfc0e30dce875)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/extension/api/ExtensionGithubApi.kt
2021-07-10 17:18:37 -04:00
arkon
0521c362c9 Revert "Set background job expedited policies"
This reverts commit c69420373a7e61c1b4eea038447cff6f0409a201.

Caused crashes in TachiyomiSY for some reason. Will have to redo this once we target Android 12.

(cherry picked from commit 07de367476cb337f597880b6f73e8c53e9b2fd19)
2021-06-10 16:42:53 -04:00
arkon
ac8e53b9a7 Set background job expedited policies
(cherry picked from commit c69420373a7e61c1b4eea038447cff6f0409a201)
2021-06-03 13:59:44 -04:00
arkon
72d315b6ed Include extension loading errors in error logs
(cherry picked from commit b092e98ac9c57e5450a3027e69971b046570f2e8)
2021-04-19 14:58:44 -04:00
Jobobby04
ede0892cda Cleanup and fixes 2021-04-11 20:43:34 -04:00
arkon
cee8335518 Make extension load error logs less verbose
(cherry picked from commit 1b921f9845ced678f6132c5deadd9b8d52b3decc)
2021-04-04 19:07:01 -04:00
Jobobby04
367d95c825 Logging fixes and lint 2021-03-31 14:29:27 -04:00
Jobobby04
21240cad06 Cleanup 2021-03-11 22:39:46 -05:00
Jobobby04
04200bb590 Cleanup 2021-03-11 19:10:33 -05:00
Jobobby04
7e91ae02f1 Upgrade logging, now maps timber to XLog, new logging functions 2021-03-07 00:23:23 -05:00
arkon
c29690282c Handle link for multisource extension commits (closes #4432)
(cherry picked from commit a398c3fb81090d27de578d960198ba7d7ba2e68f)
2021-02-11 19:27:23 -05:00