98 Commits

Author SHA1 Message Date
arkon
3536c359f3 Address some build warnings
(cherry picked from commit 71d225c56286d4b868c1634316a4748a494037ea)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchController.kt
2021-06-10 16:16:12 -04:00
arkon
d92e790c5e Try to avoid some Webview-related crashes
Related to #5218

(cherry picked from commit 3d9383ce674dd4046b5f46eea70d5fddb61e193c)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/App.kt
2021-05-29 18:18:56 -04:00
arkon
c90aec5c3d Organize some classes
(cherry picked from commit 70d9b0c390be46152139551a0783297b80389355)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
2021-05-28 14:36:41 -04:00
Gauthier
8e6f04f258 pull the rate limit interceptors from the extensions repo (#5163)
apply a rate limit to anilist, current limit is 90 per minute

(cherry picked from commit e57a999c9ce7653b735293a60dd990bea65d95c1)
2021-05-28 14:36:41 -04:00
arkon
c518b593ce Better handling of coroutine cancellations for http calls
Based on b94b7eeb6d

(cherry picked from commit 0afe3011bcac9c84a36ec2f5c586f77f8f5a129a)
2021-05-04 14:48:28 -04:00
Ivan Iskandar
73c9df9c43 Use Coil (#4870)
* Use Coil

* Remove coil-transformations lib

* Add MangaCoverFetcher

* Remove Glide

* MangaCoverFetcher: Allow skipping custom cover usage

* Adjust coil caching policy for some non-library items

* Allow coil to use RGB565 only on low ram devices

* Fix image loading progress view not showing

a

* Increase coil crossfade duration

Same as default glide duration

* Add back request clearing

(cherry picked from commit 93e61367958e280689423b7692cd98cda59805e9)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/App.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/glide/FileFetcher.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/glide/TachiGlideModule.kt
#	app/src/main/java/eu/kanade/tachiyomi/network/NetworkHelper.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/SourceGridHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceListHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryComfortableGridHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryCompactGridHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryListHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoHeaderAdapter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt
2021-05-04 14:13:17 -04:00
arkon
b4a226157c Drop support for Android 5.x
(cherry picked from commit 89619b7836145130b4bf5d92ebc0f6fe70de7233)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoHeaderAdapter.kt
2021-05-04 14:13:14 -04:00
arkon
828944950b Add Google DoH provider
(cherry picked from commit b2d4e5ab846bcb5807785a0d1bfb82e9c5caeec6)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt
2021-04-11 18:46:37 -04:00
arkon
368f565942 Remove __cfduid cookie check
As per email:

Cloudflare is deprecating the __cfduid cookie and the cf-request-id headers. The __cfduid cookie will be removed on 10 May 2021 and the cf-request-id headers will be removed on 1 July. We expect that most customers will not have to take action as a result of this removal. [...] Starting on 10 May 2021, we will stop adding a “Set-Cookie” header on all HTTP responses. The last __cfduid cookies will expire 30 days after that.

(cherry picked from commit 747879b4ec6ecdb2777cf6b9d877b51e09922a8c)
2021-03-18 15:36:08 -04:00
arkon
7d81d812bc Revert attempt to programmatically determine user agent string; fallback to Edge
(cherry picked from commit 3566072f4a632aff5ac075508907178fc8e28ebd)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/source/online/HttpSource.kt
2021-02-11 18:12:14 -05:00
arkon
55f3ade9e7 Extract user agent string from WebView
(cherry picked from commit 0685382083c1f590b71ad9f0cceff888612ad1f5)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/source/online/HttpSource.kt
2021-01-26 14:07:11 -05:00
Jobobby04
37787f040c Mangadex code cleanup 2021-01-15 22:29:57 -05:00
arkon
4e026c1cf1 Refactor Kitsu API to remove Retrofit usage
(cherry picked from commit 17b70ab38c84b6aaa4694f4b8c30a29a17231130)
2021-01-04 14:21:21 -05:00
arkon
aef21dabd5 Refactor tracker response parsing
(cherry picked from commit 2e8791a1010b55ed41b4342e2a67c82b5ddca878)
2020-12-31 17:23:55 -05:00
arkon
959559a89f Refactor response parsing helper function
(cherry picked from commit 8f98055e9ec8a40a5d41bad3e02f409119b7abe8)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/updater/github/GithubUpdateChecker.kt
#	app/src/main/java/eu/kanade/tachiyomi/extension/api/ExtensionGithubApi.kt
2020-12-31 17:13:49 -05:00
arkon
e78197ab48 Remove usage of Retrofit for update check and extensions list
(cherry picked from commit 61a594493cd83c615b268de1462bec4f53d52c87)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/updater/github/GithubService.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/updater/github/GithubUpdateChecker.kt
#	app/src/main/java/eu/kanade/tachiyomi/extension/api/ExtensionGithubApi.kt
#	app/src/main/java/eu/kanade/tachiyomi/extension/api/ExtensionGithubService.kt
2020-12-31 17:06:36 -05:00
arkon
d332be88ba Make OkHttp coroutine calls always throw exceptions on errors
(cherry picked from commit 1268caf3e0afec2566383b933d6d2902d198d806)
2020-12-26 00:34:04 -05:00
arkon
8d5b2f40b3 Use Kolinter Gradle plugin for linting instead of ktlint directly
(cherry picked from commit 76f6fe46010b235ee59962c94c790428870fc23e)
2020-09-13 23:08:52 -04:00
arkon
d77c65b515 Clean up X-Requested-With change
This only really affects the initial request, subsequent requests may still use the package name.

(cherry picked from commit 9920ff617b01359538ea0fe21098d247c6dc267d)
2020-08-22 18:17:48 -04:00
Jobobby04
a6b98e24dc Undo linting 2020-08-15 15:57:07 -04:00
Jobobby04
bc549c56d6 Automatic linting fixes 2020-08-14 18:41:20 -04:00
arkon
4c20ba38cb Revert "Use AndroidX WebKit library"
This reverts commit 7e7eb9f39f7b4d3dc8eaf2724030ce6209c989ca.

(cherry picked from commit 4857073f303dc0d34dbb688c5b173e2c3fdc35a1)

# Conflicts:
#	app/build.gradle
2020-08-03 18:08:24 -04:00
arkon
aad0ac7296 Shift WebView checks to necessary places only to allow for basic usage
(cherry picked from commit ccc0a61158b0e1792fe38faae62d15e4fb514890)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/App.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/ForceCloseActivity.kt
2020-08-01 12:53:39 -04:00
arkon
eaae98d072 Enable more WebView settings to better mimic regular browser
(cherry picked from commit a928d9fa0b1861e366a531209da4d4bb4d856325)
2020-07-13 13:38:50 -04:00
arkon
322a74600e Fallback to default UA string for all network requests
(cherry picked from commit 963cf4c99692726a05d1c8e1e2f8abdac9864056)
2020-07-05 21:34:40 -04:00
arkon
a5ae87bbd5 Lazily instantiate Cloudflare client
(cherry picked from commit b3f5f13c39ace3554396e084c7686e731db98141)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/network/NetworkHelper.kt
2020-06-24 20:17:53 -04:00
arkon
3e9e42271e Add advanced option for DNS over HTTPS via Cloudflare (closes #3377)
(cherry picked from commit 3645d19135683cf8d076f560619c1b47c7b21d00)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt
2020-06-24 15:51:42 -04:00
arkon
fe9ccd473d Add network header logging in debug builds
(cherry picked from commit 3b4b1185e22d286d3986aad7f7def58b69b0c76e)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/network/NetworkHelper.kt
2020-06-23 22:47:37 -04:00
Jobobby04
6bd564823a More comments and simple tweaks 2020-06-20 16:55:05 -04:00
Jobobby04
4ef72194bb Cleanup resources and put comments where SY code is different from preview code 2020-06-19 20:50:16 -04:00
Jobobby04
b745a74e1f Reimplement network helper injector 2020-06-11 22:43:29 -04:00
arkon
6bf819731b Use AndroidX WebKit library
(cherry picked from commit 7e7eb9f39f7b4d3dc8eaf2724030ce6209c989ca)
2020-06-11 17:25:59 -04:00
arkon
b944da5592 Minor cleanup, remove some usages of ArrayList
(cherry picked from commit bf5065d16bd3b1c8ce001dc63b976e8d14030d40)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
2020-05-31 14:13:45 -04:00
Rani Sargees
4d8f44ddae merge double upstream 2020-05-02 23:39:46 -04:00
arkon
1d51b06d3e Increase default connect/read timeouts 2020-04-28 09:10:12 -04:00
arkon
3f63b320c4 Linting fixes 2020-04-25 14:24:45 -04:00
arkon
96618e9517 [CI SKIP] More consistent "WebView" wording 2020-04-19 20:53:31 -04:00
Thiago França da Silva
bd2dfaad2e
Add an UserAgent Interceptor to Cloudflare Client (#2685) 2020-03-09 14:10:10 -04:00
arkon
fb00929ee9 Minor cleanup 2020-03-08 22:38:38 -04:00
Thiago França da Silva
fb5da15746
Fix Cloudflare Interceptor when User-Agent is Empty (#2677) 2020-03-08 22:34:57 -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
Mike
72920130c0 CloudflareInterceptor update (#2537) dcd3c709 Mike <51273546+SnakeDoc83@users.noreply.github.com> Jan 25, 2020 at 16:37 2020-02-29 13:17:12 -05:00
arkon
c4dad1c20b Unix line endings 2020-02-29 13:03:29 -05:00
arkon
0f2d480036 More linting fixes 2020-02-26 18:12:44 -05:00
arkon
043e3784e8 Run linter 2020-02-26 18:03:34 -05:00
arkon
5b24a8f21d Revert usage of AndroidX Webkit library (closes #2611) 2020-02-21 18:36:05 -05:00
arkon
3ecc883944 Run default Android Studio formatter on code 2020-02-17 17:23:37 -05:00
arkon
abb2e231f6 Switch to AndroidX Webkit library 2020-02-15 17:30:30 -05:00
arkon
a50a3df716 Only show Webview update prompt if CF bypass fails 2020-02-11 18:36:51 -05:00
arkon
6a95ff56df Use coroutines for updater 2020-02-09 22:36:44 -05:00