Skip to content

Commit

Permalink
Disable text selection in wkwebview authgear/authgear-server#3846
Browse files Browse the repository at this point in the history
  • Loading branch information
IniZio committed Mar 7, 2024
1 parent ad551e9 commit 4c9b211
Showing 1 changed file with 14 additions and 0 deletions.
14 changes: 14 additions & 0 deletions sdk/src/main/java/com/oursky/authgear/WebKitWebViewActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,14 @@ class WebKitWebViewActivity: AppCompatActivity() {

private class MyWebViewClient constructor(private val activity: WebKitWebViewActivity) :
WebViewClient() {
override fun onPageFinished(view: WebView?, url: String?) {
super.onPageFinished(view, url)
view?.evaluateJavascript("""
document.documentElement.style.backgroundColor = 'red';
document.documentElement.style.webkitUserSelect = 'none';
document.documentElement.style.userSelect = 'none';
""", null)
}

@TargetApi(Build.VERSION_CODES.N)
override fun shouldOverrideUrlLoading(
Expand Down Expand Up @@ -161,12 +169,14 @@ class WebKitWebViewActivity: AppCompatActivity() {
view.context.startActivity(browserIntent)
return false
}

SRC_ANCHOR_TYPE -> {
val data = result.extra ?: return false
val browserIntent = Intent(Intent.ACTION_VIEW, Uri.parse(data))
view.context.startActivity(browserIntent)
return false
}

else -> false
}
}
Expand Down Expand Up @@ -203,6 +213,10 @@ class WebKitWebViewActivity: AppCompatActivity() {
this.setContentView(this.mWebView)
this.mWebView.setWebViewClient(MyWebViewClient(this))
this.mWebView.setWebChromeClient(MyWebChromeClient(this))
this.mWebView.evaluateJavascript("""
document.documentElement.style.webkitUserSelect = 'none';
document.documentElement.style.userSelect = 'none';
""", null)
val webSettings: WebSettings = this.mWebView.getSettings()
webSettings.javaScriptEnabled = true

Expand Down

0 comments on commit 4c9b211

Please sign in to comment.