Merge pull request #2103 from RoboSats/refactor-android-app-messages

Refactor android app messages
This commit is contained in:
KoalaSat
2025-07-24 14:24:05 +00:00
committed by GitHub

View File

@ -319,14 +319,8 @@ class WebAppInterface(private val context: Context, private val webView: WebView
}
private fun onWsMessage(path: String?, message: String?) {
val escapedMessage = message
?.replace("\\", "\\\\")
?.replace("'", "\\'")
?.replace("\"", "\\\"")
?.replace("\n", "\\n")
?.replace("\r", "\\r")
?.replace("\t", "\\t")
safeEvaluateJavascript("javascript:window.AndroidRobosats.onWSMessage('$path', '$escapedMessage')")
val encodedMessage = encodeForJavaScript(message)
safeEvaluateJavascript("javascript:window.AndroidRobosats.onWSMessage('$path', '$encodedMessage')")
}
private fun onWsError(path: String?) {
@ -386,12 +380,15 @@ class WebAppInterface(private val context: Context, private val webView: WebView
}
}
private fun encodeForJavaScript(input: String): String {
private fun encodeForJavaScript(input: String?): String {
if (input == null) return ""
return input.replace("\\", "\\\\")
.replace("'", "\\'")
.replace("\"", "\\\"")
.replace("\n", "\\n")
.replace("\r", "\\r")
.replace("\t", "\\t")
.replace("<", "\\u003C")
.replace(">", "\\u003E")
.replace("&", "\\u0026")