Commit Graph

33 Commits

Author SHA1 Message Date
arkon
b701821550 Handle potentially missing sources list in extensions JSON
Can happen in:
- Unofficial repos
- If the inspector breaks
2021-12-24 09:32:44 -05:00
FourTOne5
9e83130bd8
Add Better Extension Search (#6359)
Add support to searching with source name, id and baseUrl for a extension's sources.
2021-12-18 14:46:45 -05:00
arkon
6a39c8fc13 Avoid loading available extensions list if it seems too small 2021-11-28 18:29:22 -05:00
arkon
93e2b88d41 Minor cleanup 2021-10-23 17:29:13 -04:00
arkon
f754b081ce Use data class to parse extensions list 2021-09-25 14:57:54 -04:00
Taco
12a9d0575d
Use more Compat utilities (#5786)
* Use ActivityCompat.recreate

* Use more KTX extensions

* Use PackageInfoCompat.getLongVersionCode

* Remove unnecessary compat usages
2021-08-27 16:33:12 -04:00
arkon
4acc7cee3d Revert jsDelivr CDN fallback
It doesn't work unless you provide actual semver versions, but we don't do that.
2021-07-20 17:23:55 -04:00
arkon
24bb2f02dc Use jsDelivr as fallback when GitHub can't be reached for extensions list (closes #5517) 2021-07-10 11:35:43 -04:00
arkon
2ffbee3db2 Avoid using global scope where appropriate
Also fixes the crash in tracking when an exception is thrown during a refresh.
2021-01-08 18:05:51 -05:00
arkon
95ce0e39ef Fix malformed extension URLs 2021-01-04 12:14:02 -05:00
arkon
8f98055e9e Refactor response parsing helper function 2020-12-27 10:22:24 -05:00
arkon
61a594493c Remove usage of Retrofit for update check and extensions list 2020-12-26 16:59:24 -05:00
arkon
28a23452f2 Update extensions repo URL 2020-12-15 15:48:06 -05:00
Taco
c2b8fea291
Update libraries, some lints (#4099)
* Update some plugins

* Fix some miscellaneous lints
2020-12-08 22:21:08 -05:00
arkon
6664dfb048 Use regular minified extensions JSON instead of explicitly handling gzip encoding
Turns out GitHub *does* do gzip encoding by default, it just doesn't show up in the header logs for some reason...
2020-11-29 16:01:16 -05:00
arkon
7a476abb53 Migrate to kotlinx.serialization for extensions and update fetching 2020-10-11 14:53:02 -04:00
arkon
76f6fe4601 Use Kolinter Gradle plugin for linting instead of ktlint directly 2020-09-13 18:48:20 -04:00
arkon
64bdfabbd8
Revert ktlint update, unrevert Gradle and PR build workflow reverts (#3681) 2020-08-15 16:44:46 -04:00
arkon
4a136ef2aa Automatic linting fixes 2020-08-13 09:02:15 -04:00
arkon
abaca6e676 Option to hide NSFW extensions (closes #1312) 2020-08-08 16:27:55 -04:00
arkon
912687ac78 Adjust download badge color again 2020-08-02 23:03:24 -04:00
arkon
40a9595012 Request gzipped version of extensions repo 2020-08-02 22:55:42 -04:00
arkon
3f63b320c4 Linting fixes 2020-04-25 14:24:45 -04:00
arkon
022c0746c0 Show error toast when extensions list fails to load 2020-04-03 22:54:52 -04:00
arkon
6da350aee6 Minor extension update cleanup, default to on 2020-03-20 22:59:59 -04:00
Jays2Kings
9585f9a1a6
Option to auto check for extension updates (#2680)
* Option to auto check for extension updates

* Addressing comments

* Added foreground check for extensions

* Added Extension Preference widget
2020-03-20 22:22:39 -04:00
arkon
0ac33b64b1 Merge branch '0.8.x'
# Conflicts:
#	app/build.gradle
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/models/Backup.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/database/queries/TrackQueries.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceKeys.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/track/TrackManager.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/track/TrackService.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/track/anilist/Anilist.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/track/anilist/AnilistApi.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/track/anilist/AnilistInterceptor.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/track/anilist/OAuth.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/track/bangumi/Bangumi.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/track/bangumi/BangumiApi.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/track/bangumi/OAuth.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/track/kitsu/Kitsu.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/track/kitsu/OAuth.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/track/myanimelist/MyAnimeList.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/track/shikimori/OAuth.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/track/shikimori/Shikimori.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/updater/UpdaterJob.kt
#	app/src/main/java/eu/kanade/tachiyomi/extension/api/ExtensionGithubApi.kt
#	app/src/main/java/eu/kanade/tachiyomi/network/AndroidCookieJar.kt
#	app/src/main/java/eu/kanade/tachiyomi/network/CloudflareInterceptor.kt
#	app/src/main/java/eu/kanade/tachiyomi/network/NetworkHelper.kt
#	app/src/main/java/eu/kanade/tachiyomi/network/OkHttpExtensions.kt
#	app/src/main/java/eu/kanade/tachiyomi/network/ProgressListener.kt
#	app/src/main/java/eu/kanade/tachiyomi/network/ProgressResponseBody.kt
#	app/src/main/java/eu/kanade/tachiyomi/network/Requests.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/CatalogueSource.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/Filter.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/model/FilterList.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/model/MangasPage.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/model/Page.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/model/SChapter.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/model/SChapterImpl.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/model/SManga.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/model/SMangaImpl.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/online/HttpSource.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/online/HttpSourceFetcher.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/online/LoginSource.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/online/ParsedHttpSource.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/base/controller/NucleusController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/base/presenter/NucleusConductorDelegate.java
#	app/src/main/java/eu/kanade/tachiyomi/ui/base/presenter/NucleusConductorLifecycleListener.java
#	app/src/main/java/eu/kanade/tachiyomi/ui/catalogue/filter/SortGroup.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/catalogue/global_search/CatalogueSearchCardAdapter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/catalogue/global_search/CatalogueSearchCardHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/catalogue/global_search/CatalogueSearchCardItem.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/download/DownloadController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/ChangeMangaCategoriesDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/DeleteLibraryMangasDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryAdapter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryCategoryAdapter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryCategoryView.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryGridHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryItem.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryListHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryNavigationView.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibrarySort.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/ChangelogDialogController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/ChapterHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/ChapterItem.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/ChaptersAdapter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/ChaptersController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/ChaptersPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/DeleteChaptersDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/DeletingChaptersDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/DownloadChaptersDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/SetDisplayModeDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/SetSortingDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/track/SetTrackChaptersDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/track/SetTrackScoreDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/track/SetTrackStatusDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/track/TrackAdapter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/track/TrackController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/track/TrackHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/track/TrackPresenter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/track/TrackSearchAdapter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/track/TrackSearchDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/more/AboutController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/HttpPageLoader.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/recent_updates/RecentChaptersController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsGeneralController.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsMainController.kt
#	app/src/main/java/eu/kanade/tachiyomi/widget/ExtendedNavigationView.kt
#	app/src/main/res/drawable/ic_book_white_24dp.xml
#	app/src/main/res/layout/categories_controller.xml
#	app/src/main/res/layout/chapters_controller.xml
#	app/src/main/res/layout/navigation_view_checkbox.xml
#	app/src/main/res/layout/navigation_view_group.xml
#	app/src/main/res/layout/pref_item_source.xml
#	app/src/main/res/layout/reader_activity.xml
#	app/src/main/res/layout/track_item.xml
#	app/src/main/res/values/strings.xml
#	build.gradle
2020-02-29 17:52:49 -05:00
arkon
2f69317f5d Enforce maximum extension lib version of 1.2 2020-02-29 13:35:07 -05:00
arkon
3ecc883944 Run default Android Studio formatter on code 2020-02-17 17:23:37 -05:00
Jay
0a6f607e22 Fixed extensions call running on main thread
(cherry picked from commit 2b85bb5fb816c531982a1878e55fd88814452a2c)
2020-02-14 09:21:33 -05:00
arkon
a3e39987d4 Migrate extension list fetch to coroutine 2020-02-02 22:57:15 -05:00
arkon
78689e7443
Migrate to AndroidX (#2424)
* Migrate to AndroidX (automatic conversion by Android Studio)

* AndroidX dependency code updates

* Fix source preference reparenting

* fixes the androidx prefererences icon spacing issue

(cherry picked from commit b76a15d960ec2cdf771be16377db0348b66b3179)

* Fix source preference screen heading size/list padding

Co-authored-by: Carlos <cargo8005@gmail.com>
2020-01-05 11:29:27 -05:00
Carlos
854112095b Downloading extensions from Github Repo. (#1101)
Downloading extensions from Github Repo.
2018-02-05 22:50:56 +01:00