diff options
author | Allan Wang <me@allanwang.ca> | 2017-05-31 01:31:02 -0700 |
---|---|---|
committer | Allan Wang <me@allanwang.ca> | 2017-05-31 01:31:02 -0700 |
commit | 9a41937a33539dbfaae4d072361caaec79865c29 (patch) | |
tree | ce647730eef90b02cb5f4612cf0e37a935500c50 /app/src/main/kotlin/com/pitchedapps/frost/injectors | |
parent | c53e343f039b65c0aee2ee316b8c844a5b596bb8 (diff) | |
download | frost-9a41937a33539dbfaae4d072361caaec79865c29.tar.gz frost-9a41937a33539dbfaae4d072361caaec79865c29.tar.bz2 frost-9a41937a33539dbfaae4d072361caaec79865c29.zip |
implement cache db and start js injections
Diffstat (limited to 'app/src/main/kotlin/com/pitchedapps/frost/injectors')
-rw-r--r-- | app/src/main/kotlin/com/pitchedapps/frost/injectors/JsInjector.kt | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/injectors/JsInjector.kt b/app/src/main/kotlin/com/pitchedapps/frost/injectors/JsInjector.kt new file mode 100644 index 00000000..e7a9df5a --- /dev/null +++ b/app/src/main/kotlin/com/pitchedapps/frost/injectors/JsInjector.kt @@ -0,0 +1,32 @@ +package com.pitchedapps.frost.injectors + +import android.webkit.WebView + +/** + * Created by Allan Wang on 2017-05-31. + */ +class JsInjector { + private val builder = StringBuilder() + + init { + builder.append("javascript:(function(){") + } + + private fun getElementById(id: String) = "document.getElementById(\"$id\")" + + private fun hideElementById(id: String) { + builder.append(getElementById(id)).append(".style.display=\"none\";") + } + + fun hideElementById(vararg ids: String) { + ids.forEach { hideElementById(it) } + } + + fun build() = builder.toString() + "})()" + + fun inject(webView: WebView) { + webView.loadUrl(build()) + } + + override fun toString() = build() +}
\ No newline at end of file |