Minor project updates

- Update kotlinter
- Opt in to serialization API to avoid IDE warnings
- Replace some deprecated OkHttp function usages
- Remove some unnecessary Android version checks/targets
This commit is contained in:
arkon 2022-01-02 18:47:56 -05:00
parent 27d26f2814
commit 542c28875d
10 changed files with 127 additions and 131 deletions

View File

@ -10,7 +10,7 @@ buildscript {
classpath 'com.android.tools.build:gradle:4.2.1' classpath 'com.android.tools.build:gradle:4.2.1'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath "org.jetbrains.kotlin:kotlin-serialization:$kotlin_version" classpath "org.jetbrains.kotlin:kotlin-serialization:$kotlin_version"
classpath 'org.jmailen.gradle:kotlinter-gradle:3.3.0' classpath 'org.jmailen.gradle:kotlinter-gradle:3.4.0'
} }
} }

View File

@ -57,6 +57,7 @@ android {
kotlinOptions { kotlinOptions {
jvmTarget = JavaVersion.VERSION_1_8.toString() jvmTarget = JavaVersion.VERSION_1_8.toString()
freeCompilerArgs += "-Xopt-in=kotlinx.serialization.ExperimentalSerializationApi"
} }
} }

View File

@ -10,7 +10,7 @@ import android.webkit.WebViewClient
import okhttp3.Interceptor import okhttp3.Interceptor
import okhttp3.Request import okhttp3.Request
import okhttp3.Response import okhttp3.Response
import okhttp3.ResponseBody import okhttp3.ResponseBody.Companion.toResponseBody
import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get import uy.kohesive.injekt.api.get
import java.io.IOException import java.io.IOException
@ -72,9 +72,7 @@ class RemoteStorageUtils {
webview.webViewClient = object : WebViewClient() { webview.webViewClient = object : WebViewClient() {
override fun onPageFinished(view: WebView, url: String) { override fun onPageFinished(view: WebView, url: String) {
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT) {
view.evaluateJavascript(jsScript) {} view.evaluateJavascript(jsScript) {}
}
if (transparent) { if (transparent) {
latch.countDown() latch.countDown()
} }
@ -94,7 +92,7 @@ class RemoteStorageUtils {
return if (transparent) { return if (transparent) {
response response
} else { } else {
response.newBuilder().body(ResponseBody.create(response.body?.contentType(), jsInterface.payload)).build() response.newBuilder().body(jsInterface.payload.toResponseBody(response.body?.contentType())).build()
} }
} }
} }

View File

@ -19,6 +19,7 @@ import java.io.IOException
import java.util.concurrent.CountDownLatch import java.util.concurrent.CountDownLatch
import java.util.concurrent.TimeUnit import java.util.concurrent.TimeUnit
// TODO: remove after new stable release
class CloudflareWafInterceptor(private val cookieDomain: String) : Interceptor { class CloudflareWafInterceptor(private val cookieDomain: String) : Interceptor {
private val context = Injekt.get<Application>() private val context = Injekt.get<Application>()
private val handler by lazy { Handler(Looper.getMainLooper()) } private val handler by lazy { Handler(Looper.getMainLooper()) }

View File

@ -28,7 +28,6 @@ import okhttp3.Headers
import okhttp3.MediaType.Companion.toMediaTypeOrNull import okhttp3.MediaType.Companion.toMediaTypeOrNull
import okhttp3.OkHttpClient import okhttp3.OkHttpClient
import okhttp3.Request import okhttp3.Request
import okhttp3.RequestBody
import okhttp3.RequestBody.Companion.toRequestBody import okhttp3.RequestBody.Companion.toRequestBody
import okhttp3.Response import okhttp3.Response
import uy.kohesive.injekt.injectLazy import uy.kohesive.injekt.injectLazy

View File

@ -9,7 +9,7 @@ import com.drew.metadata.exif.ExifSubIFDDirectory
import okhttp3.Interceptor import okhttp3.Interceptor
import okhttp3.MediaType.Companion.toMediaTypeOrNull import okhttp3.MediaType.Companion.toMediaTypeOrNull
import okhttp3.Response import okhttp3.Response
import okhttp3.ResponseBody import okhttp3.ResponseBody.Companion.toResponseBody
import java.io.ByteArrayInputStream import java.io.ByteArrayInputStream
import java.io.ByteArrayOutputStream import java.io.ByteArrayOutputStream
import java.io.InputStream import java.io.InputStream
@ -23,7 +23,7 @@ class VizImageInterceptor : Interceptor {
return response return response
val image = decodeImage(response.body!!.byteStream()) val image = decodeImage(response.body!!.byteStream())
val body = ResponseBody.create(MEDIA_TYPE, image) val body = image.toResponseBody(MEDIA_TYPE)
return response.newBuilder() return response.newBuilder()
.body(body) .body(body)
.build() .build()

View File

@ -1,13 +1,11 @@
package eu.kanade.tachiyomi.extension.fr.japscan package eu.kanade.tachiyomi.extension.fr.japscan
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.annotation.TargetApi
import android.app.Application import android.app.Application
import android.content.SharedPreferences import android.content.SharedPreferences
import android.graphics.Bitmap import android.graphics.Bitmap
import android.graphics.Canvas import android.graphics.Canvas
import android.net.Uri import android.net.Uri
import android.os.Build
import android.os.Handler import android.os.Handler
import android.os.Looper import android.os.Looper
import android.util.Log import android.util.Log
@ -377,7 +375,6 @@ class Japscan : ConfigurableSource, ParsedHttpSource() {
webview.settings.domStorageEnabled = true webview.settings.domStorageEnabled = true
webview.settings.userAgentString = webview.settings.userAgentString.replace("Mobile", "eliboM").replace("Android", "diordnA") webview.settings.userAgentString = webview.settings.userAgentString.replace("Mobile", "eliboM").replace("Android", "diordnA")
webview.webViewClient = object : WebViewClient() { webview.webViewClient = object : WebViewClient() {
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
override fun shouldInterceptRequest( override fun shouldInterceptRequest(
view: WebView, view: WebView,
request: WebResourceRequest request: WebResourceRequest