arkon
7d8a865cac
Simplify some of the notification builders
2023-03-19 16:24:37 -04:00
arkon
93523ef50b
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
2023-02-20 19:02:38 -05:00
arkon
d400ac2a49
Remove unnecessary usages of NotificationManagerCompat to actually create notifications
2023-02-18 17:10:45 -05:00
arkon
2970eca9e4
Remove background extensions updates check
...
Same reasoning as removing app update check. It gets kicked off in the foreground now too.
2023-02-12 23:07:11 -05:00
arkon
1730dd6af1
Move more things around
2023-01-27 22:31:12 -05:00
stevenyomi
448702e5be
OkHttp Call: split await() and awaitSuccess() ( #8980 )
2023-01-24 22:34:31 -05:00
Jays2Kings
7608cb0da3
Check ext lib version when checking for updates ( #8740 )
2022-12-14 13:49:10 -05:00
AntsyLich
e1ab1fdb65
Prompt Extension update if ext-lib is updated
...
Co-authored-by: arkon <arkon@users.noreply.github.com >
2022-10-29 10:05:30 -04:00
arkon
93925a7286
Remove redundancy in ExtensionManager
2022-10-21 14:42:21 -04:00
Andreas
29fa93e829
Split the rest of the preferences in PreferencesHelper ( #8074 )
...
* Split the reset of the preferences in PreferencesHelper
* Capitalize ThemeMode
2022-09-25 10:07:06 -04:00
arkon
cd3cb72b65
Bump dependencies + linting
2022-09-10 23:57:03 -04:00
AntsyLich
8d40e20b7d
Prevent unofficial exts from getting marked as obsolete or updateable ( #7871 )
...
* Prevent unofficial exts from getting marked as obsolete
* Prevent unofficial ext `hasUpdate` getting marked as true
2022-08-27 12:12:59 -04:00
stevenyomi
284445c364
Extension API: change fallback source and logic ( #7400 )
...
* Extension API: change fallback source and logic
* remove ghproxy
2022-06-29 18:34:25 -04:00
AntsyLich
9d5b7de1d8
Maintain source info in the database. ( #6389 )
...
* Maintain Source Info in database
* Review changes and cleanups
* Review changes 2
* Review Changes 3
2022-06-14 09:10:40 -04:00
kasperskier
7b242bf118
Change jsDelivr CDN URL to Fastly ( #7156 )
2022-05-17 17:19:17 -04:00
arkon
d61bfd7caf
Use jsDelivr as fallback when GitHub can't be reached for extensions ( closes #5517 )
...
Re-implementation of 24bb2f02dc
2022-05-15 16:51:52 -04:00
arkon
4ecde9fc39
Gate update/download warnings to non-stable flavors
2022-04-10 12:17:45 -04:00
arkon
5afff31f72
Formatting
2022-04-08 16:44:23 -04:00
arkon
f0eb42e72d
Update linter
2022-04-08 15:30:39 -04:00
Ivan Iskandar
ef600c0956
Fix extension update badge reset when app resumed ( #6822 )
2022-03-25 11:11:16 -04:00
Andreas
66a180bc36
Add ability to open FAQ and Guide, and Changelog in extension repository ( #6469 )
2022-01-22 14:17:43 -05:00
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