diff --git a/examples/api/src-tauri/Cargo.lock b/examples/api/src-tauri/Cargo.lock index 73bd19c32..bf5d42d2e 100644 --- a/examples/api/src-tauri/Cargo.lock +++ b/examples/api/src-tauri/Cargo.lock @@ -4223,8 +4223,7 @@ dependencies = [ [[package]] name = "wry" version = "0.20.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea48fb3b68ab76f62837bfcea63baed9a185dbec9c14d4e5d70033e22fefffd2" +source = "git+https://github.com/tauri-apps/wry?branch=dev#1b26d605d6e33f5417eb6566a7381d8feb239c8b" dependencies = [ "block", "cocoa", diff --git a/examples/api/src-tauri/Cargo.toml b/examples/api/src-tauri/Cargo.toml index 92d75446c..19c491ff5 100644 --- a/examples/api/src-tauri/Cargo.toml +++ b/examples/api/src-tauri/Cargo.toml @@ -6,6 +6,9 @@ edition = "2021" rust-version = "1.57" license = "Apache-2.0 OR MIT" +[patch.crates-io] +wry = { git = "https://github.com/tauri-apps/wry", branch = "dev" } + [lib] crate-type = ["staticlib", "cdylib", "rlib"] diff --git a/tooling/cli/templates/mobile/android/app/src/main/RustWebChromeClient.kt b/tooling/cli/templates/mobile/android/app/src/main/RustWebChromeClient.kt deleted file mode 100644 index eda111cc7..000000000 --- a/tooling/cli/templates/mobile/android/app/src/main/RustWebChromeClient.kt +++ /dev/null @@ -1,26 +0,0 @@ -package {{reverse-domain app.domain}}.{{snake-case app.name}} - -import android.webkit.* - -class RustWebChromeClient: WebChromeClient() { - private var loadedUrl: String? = null - - override fun onProgressChanged(view: WebView, progress: Int) { - var url = view.url ?: "" - if (url.endsWith("##")) { - url = url.dropLast(2) - } - if (loadedUrl != url && progress >= 20) { - loadedUrl = url - runInitializationScripts() - } - } - - companion object { - init { - System.loadLibrary("{{snake-case app.name}}") - } - } - - private external fun runInitializationScripts() -} diff --git a/tooling/cli/templates/mobile/android/app/src/main/RustWebViewClient.kt b/tooling/cli/templates/mobile/android/app/src/main/RustWebViewClient.kt index c6c65fa95..b854a32de 100644 --- a/tooling/cli/templates/mobile/android/app/src/main/RustWebViewClient.kt +++ b/tooling/cli/templates/mobile/android/app/src/main/RustWebViewClient.kt @@ -1,8 +1,22 @@ package {{reverse-domain app.domain}}.{{snake-case app.name}} +import android.graphics.Bitmap import android.webkit.* -class RustWebViewClient: WebViewClient() { +class RustWebViewClient(initScripts: Array): WebViewClient() { + private val initializationScripts: Array + + init { + initializationScripts = initScripts + } + + override fun onPageStarted(view: WebView?, url: String?, favicon: Bitmap?) { + for (script in initializationScripts) { + view?.evaluateJavascript(script, null) + } + super.onPageStarted(view, url, favicon) + } + override fun shouldOverrideUrlLoading(view: WebView?, request: WebResourceRequest?): Boolean { return false }