mirror of
https://github.com/RoboSats/robosats.git
synced 2025-08-10 01:40:04 +00:00
Merge pull request #2103 from RoboSats/refactor-android-app-messages
Refactor android app messages
This commit is contained in:
@ -319,14 +319,8 @@ class WebAppInterface(private val context: Context, private val webView: WebView
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun onWsMessage(path: String?, message: String?) {
|
private fun onWsMessage(path: String?, message: String?) {
|
||||||
val escapedMessage = message
|
val encodedMessage = encodeForJavaScript(message)
|
||||||
?.replace("\\", "\\\\")
|
safeEvaluateJavascript("javascript:window.AndroidRobosats.onWSMessage('$path', '$encodedMessage')")
|
||||||
?.replace("'", "\\'")
|
|
||||||
?.replace("\"", "\\\"")
|
|
||||||
?.replace("\n", "\\n")
|
|
||||||
?.replace("\r", "\\r")
|
|
||||||
?.replace("\t", "\\t")
|
|
||||||
safeEvaluateJavascript("javascript:window.AndroidRobosats.onWSMessage('$path', '$escapedMessage')")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun onWsError(path: String?) {
|
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("\\", "\\\\")
|
return input.replace("\\", "\\\\")
|
||||||
.replace("'", "\\'")
|
.replace("'", "\\'")
|
||||||
.replace("\"", "\\\"")
|
.replace("\"", "\\\"")
|
||||||
.replace("\n", "\\n")
|
.replace("\n", "\\n")
|
||||||
.replace("\r", "\\r")
|
.replace("\r", "\\r")
|
||||||
|
.replace("\t", "\\t")
|
||||||
.replace("<", "\\u003C")
|
.replace("<", "\\u003C")
|
||||||
.replace(">", "\\u003E")
|
.replace(">", "\\u003E")
|
||||||
.replace("&", "\\u0026")
|
.replace("&", "\\u0026")
|
||||||
|
Reference in New Issue
Block a user