feat: properly set OkHttp header (#2463)

properly send `User-Agent` and `Accept-Language` to `updateJson` server,
module developers can check `User-Agent` whether to send update to user
and set user preferred language for changelog.

also added cache to reduce update server load
This commit is contained in:
Js0n
2025-02-22 15:18:00 +08:00
committed by rifsxd
parent e8c080ba09
commit f3fee49f8c
5 changed files with 23 additions and 18 deletions

View File

@@ -6,12 +6,25 @@ import coil.Coil
import coil.ImageLoader
import me.zhanghai.android.appiconloader.coil.AppIconFetcher
import me.zhanghai.android.appiconloader.coil.AppIconKeyer
import okhttp3.Cache
import okhttp3.OkHttpClient
import java.io.File
import java.util.Locale
lateinit var ksuApp: KernelSUApplication
class KernelSUApplication : Application() {
val okhttpClient =
OkHttpClient.Builder().cache(Cache(File(cacheDir, "okhttp"), 10 * 1024 * 1024))
.addInterceptor { block ->
block.proceed(
block.request().newBuilder()
.header("User-Agent", "KernelSU/${BuildConfig.VERSION_CODE}")
.header("Accept-Language", Locale.getDefault().toLanguageTag()).build()
)
}.build()
override fun onCreate() {
super.onCreate()
ksuApp = this