Report Kavita extension client info as OPDS reader
Some checks failed
CI / Prepare job (push) Has been cancelled
CI / Build extensions (${{ matrix.chunk.number }}) (push) Has been cancelled
CI / Publish extension repo (push) Has been cancelled
Create Release on Merge / release (push) Has been cancelled
Lock threads / lock (push) Has been cancelled
Some checks failed
CI / Prepare job (push) Has been cancelled
CI / Build extensions (${{ matrix.chunk.number }}) (push) Has been cancelled
CI / Publish extension repo (push) Has been cancelled
Create Release on Merge / release (push) Has been cancelled
Lock threads / lock (push) Has been cancelled
This commit is contained in:
@@ -2,7 +2,7 @@ ext {
|
|||||||
kmkVersionCode = 1
|
kmkVersionCode = 1
|
||||||
extName = 'Kavita'
|
extName = 'Kavita'
|
||||||
extClass = '.KavitaFactory'
|
extClass = '.KavitaFactory'
|
||||||
extVersionCode = 31
|
extVersionCode = 32
|
||||||
isNsfw = false
|
isNsfw = false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -81,7 +81,6 @@ import uy.kohesive.injekt.Injekt
|
|||||||
import uy.kohesive.injekt.api.get
|
import uy.kohesive.injekt.api.get
|
||||||
import uy.kohesive.injekt.injectLazy
|
import uy.kohesive.injekt.injectLazy
|
||||||
import java.io.IOException
|
import java.io.IOException
|
||||||
import java.net.URLEncoder
|
|
||||||
import java.security.MessageDigest
|
import java.security.MessageDigest
|
||||||
import java.util.Calendar
|
import java.util.Calendar
|
||||||
import java.util.Locale
|
import java.util.Locale
|
||||||
@@ -1815,9 +1814,16 @@ class Kavita(private val suffix: String = "") : ConfigurableSource, UnmeteredSou
|
|||||||
.equals("true", ignoreCase = true)
|
.equals("true", ignoreCase = true)
|
||||||
|
|
||||||
private fun readerImageUrl(chapterId: Any, page: Int, extractPdf: Boolean): String =
|
private fun readerImageUrl(chapterId: Any, page: Int, extractPdf: Boolean): String =
|
||||||
"$apiUrl/Reader/image?chapterId=$chapterId&page=$page&extractPdf=$extractPdf&saveProgress=true&apiKey=$apiKey&kavitaClient=${urlEncode(kavitaClientHeader())}&deviceId=${urlEncode(deviceFingerprint())}"
|
"$apiUrl/Reader/image".toHttpUrlOrNull()!!.newBuilder()
|
||||||
|
.addQueryParameter("chapterId", chapterId.toString())
|
||||||
private fun urlEncode(value: String): String = URLEncoder.encode(value, "UTF-8")
|
.addQueryParameter("page", page.toString())
|
||||||
|
.addQueryParameter("extractPdf", extractPdf.toString())
|
||||||
|
.addQueryParameter("saveProgress", "true")
|
||||||
|
.addQueryParameter("apiKey", apiKey)
|
||||||
|
.addQueryParameter("kavitaClient", kavitaClientHeader())
|
||||||
|
.addQueryParameter("deviceId", deviceFingerprint())
|
||||||
|
.build()
|
||||||
|
.toString()
|
||||||
|
|
||||||
private fun readerPage(index: Int, chapterId: Any, page: Int = index, extractPdf: Boolean = false): Page {
|
private fun readerPage(index: Int, chapterId: Any, page: Int = index, extractPdf: Boolean = false): Page {
|
||||||
val imageUrl = readerImageUrl(chapterId, page, extractPdf)
|
val imageUrl = readerImageUrl(chapterId, page, extractPdf)
|
||||||
@@ -2109,17 +2115,13 @@ class Kavita(private val suffix: String = "") : ConfigurableSource, UnmeteredSou
|
|||||||
private fun kavitaClientHeader(): String {
|
private fun kavitaClientHeader(): String {
|
||||||
val resources = application.resources
|
val resources = application.resources
|
||||||
val configuration = resources.configuration
|
val configuration = resources.configuration
|
||||||
val metrics = resources.displayMetrics
|
|
||||||
val screenWidth = metrics.widthPixels.coerceAtLeast(0)
|
|
||||||
val screenHeight = metrics.heightPixels.coerceAtLeast(0)
|
|
||||||
val smallestWidthDp = configuration.smallestScreenWidthDp
|
val smallestWidthDp = configuration.smallestScreenWidthDp
|
||||||
val deviceType = when {
|
val deviceType = when {
|
||||||
smallestWidthDp >= 600 -> "Tablet"
|
smallestWidthDp >= 600 -> "Tablet"
|
||||||
else -> "Mobile"
|
else -> "Mobile"
|
||||||
}
|
}
|
||||||
val orientation = if (screenWidth > screenHeight) "landscape" else "portrait"
|
|
||||||
|
|
||||||
return "web-app/${AppInfo.getVersionName()} (Kavita Extension/${AppInfo.getVersionName()}; Android; $deviceType; ${screenWidth}x$screenHeight; $orientation)"
|
return "opds-client/${AppInfo.getVersionName()} (Kavita Extension; Android; $deviceType)"
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun deviceFingerprint(): String {
|
private fun deviceFingerprint(): String {
|
||||||
|
|||||||
Reference in New Issue
Block a user