diff options
author | Allan Wang <me@allanwang.ca> | 2017-07-01 12:14:29 -0700 |
---|---|---|
committer | Allan Wang <me@allanwang.ca> | 2017-07-01 12:14:29 -0700 |
commit | 0018677886197db4f72d2b49e3d0266526b95435 (patch) | |
tree | e8e5fa8a01ee340a39aefbf9257211269f2f5d22 /app/src/main/kotlin/com/pitchedapps/frost/injectors/JsInjector.kt | |
parent | d24ee840005af340b1decc2ed9863a742e78a4e1 (diff) | |
download | frost-0018677886197db4f72d2b49e3d0266526b95435.tar.gz frost-0018677886197db4f72d2b49e3d0266526b95435.tar.bz2 frost-0018677886197db4f72d2b49e3d0266526b95435.zip |
Cleanup and docsv1.0.1
Diffstat (limited to 'app/src/main/kotlin/com/pitchedapps/frost/injectors/JsInjector.kt')
-rw-r--r-- | app/src/main/kotlin/com/pitchedapps/frost/injectors/JsInjector.kt | 6 |
1 files changed, 6 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 index deb6c0be..1f35464b 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/injectors/JsInjector.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/injectors/JsInjector.kt @@ -34,6 +34,9 @@ class JsBuilder { } } +/** + * Contract for all injectors to allow it to interact properly with a webview + */ interface InjectorContract { fun inject(webView: WebView) = inject(webView, null) fun inject(webView: WebView, callback: ((String) -> Unit)?) @@ -58,6 +61,9 @@ fun WebView.jsInject(vararg injectors: InjectorContract, callback: ((Array<Strin fun FrostWebViewClient.jsInject(vararg injectors: InjectorContract, callback: ((Array<String>) -> Unit) = {}) = webCore.jsInject(*injectors, callback = callback) +/** + * Wrapper class to convert a function into an injector + */ class JsInjector(val function: String) : InjectorContract { override fun inject(webView: WebView, callback: ((String) -> Unit)?) { webView.evaluateJavascript(function, { value -> callback?.invoke(value) }) |