mirror of
https://github.com/mihonapp/mihon.git
synced 2025-07-06 16:07:51 +02:00
Add network inspection logging mode
This commit is contained in:
22
app/src/main/java/exh/log/EHLogLevel.kt
Normal file
22
app/src/main/java/exh/log/EHLogLevel.kt
Normal file
@ -0,0 +1,22 @@
|
||||
package exh.log
|
||||
|
||||
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
|
||||
import eu.kanade.tachiyomi.data.preference.getOrDefault
|
||||
import uy.kohesive.injekt.Injekt
|
||||
import uy.kohesive.injekt.api.get
|
||||
|
||||
enum class EHLogLevel(val description: String) {
|
||||
MINIMAL("critical errors only"),
|
||||
EXTRA("log everything"),
|
||||
EXTREME("network inspection mode");
|
||||
|
||||
companion object {
|
||||
private val curLogLevel by lazy {
|
||||
Injekt.get<PreferencesHelper>().eh_logLevel().getOrDefault()
|
||||
}
|
||||
|
||||
fun shouldLog(requiredLogLevel: EHLogLevel): Boolean {
|
||||
return curLogLevel >= requiredLogLevel.ordinal
|
||||
}
|
||||
}
|
||||
}
|
18
app/src/main/java/exh/log/EHNetworkLogging.kt
Normal file
18
app/src/main/java/exh/log/EHNetworkLogging.kt
Normal file
@ -0,0 +1,18 @@
|
||||
package exh.log
|
||||
|
||||
import com.elvishew.xlog.XLog
|
||||
import okhttp3.OkHttpClient
|
||||
import okhttp3.logging.HttpLoggingInterceptor
|
||||
|
||||
fun OkHttpClient.Builder.maybeInjectEHLogger(): OkHttpClient.Builder {
|
||||
if(EHLogLevel.shouldLog(EHLogLevel.EXTREME)) {
|
||||
val xLogger = XLog.tag("EHNetwork")
|
||||
.nst()
|
||||
val interceptor = HttpLoggingInterceptor {
|
||||
xLogger.d(it)
|
||||
}
|
||||
interceptor.level = HttpLoggingInterceptor.Level.BODY
|
||||
return addInterceptor(interceptor)
|
||||
}
|
||||
return this
|
||||
}
|
@ -6,6 +6,7 @@ import eu.kanade.tachiyomi.source.online.all.EHentai
|
||||
import eu.kanade.tachiyomi.util.asJsoup
|
||||
import exh.EH_SOURCE_ID
|
||||
import exh.EXH_SOURCE_ID
|
||||
import exh.log.maybeInjectEHLogger
|
||||
import okhttp3.FormBody
|
||||
import okhttp3.OkHttpClient
|
||||
import okhttp3.Request
|
||||
@ -16,7 +17,9 @@ class EHConfigurator {
|
||||
private val prefs: PreferencesHelper by injectLazy()
|
||||
private val sources: SourceManager by injectLazy()
|
||||
|
||||
private val configuratorClient = OkHttpClient.Builder().build()
|
||||
private val configuratorClient = OkHttpClient.Builder()
|
||||
.maybeInjectEHLogger()
|
||||
.build()
|
||||
|
||||
private fun EHentai.requestWithCreds(sp: Int = 1) = Request.Builder()
|
||||
.addHeader("Cookie", cookiesHeader(sp))
|
||||
|
@ -26,6 +26,7 @@ import android.os.SystemClock
|
||||
import com.afollestad.materialdialogs.MaterialDialog
|
||||
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
|
||||
import eu.kanade.tachiyomi.data.preference.getOrDefault
|
||||
import exh.log.maybeInjectEHLogger
|
||||
import exh.util.melt
|
||||
import rx.Observable
|
||||
|
||||
@ -33,7 +34,9 @@ class SolveCaptchaActivity : AppCompatActivity() {
|
||||
private val sourceManager: SourceManager by injectLazy()
|
||||
private val preferencesHelper: PreferencesHelper by injectLazy()
|
||||
|
||||
val httpClient = OkHttpClient()
|
||||
val httpClient = OkHttpClient.Builder()
|
||||
.maybeInjectEHLogger()
|
||||
.build()
|
||||
private val jsonParser = JsonParser()
|
||||
|
||||
private var currentLoopId: String? = null
|
||||
|
Reference in New Issue
Block a user