summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaloyan Chehlarski <kaloyan.chehlarski@qt.io>2025-11-17 11:29:57 +0100
committerKaloyan Chehlarski <kaloyan.chehlarski@qt.io>2025-11-20 11:53:18 +0100
commita6a78cf776a2096037fd04bfba9f9be121fe77d6 (patch)
treee5b0e7e53fa2a6b873fbfa595a7ea5fe452606c3
parent8f69e4c3b068b34b6bdb161f4c1c4673768c160e (diff)
Android: Fix QWebView::url() implementation
The C++ class was calling a getUrl() function that needed to, but wasn't defined in QtAndroidWebViewController.java. This only failed at runtime, and inadequate testing didn't catch it. Amends 501c7464d7771fbc15db4d326d65fda367695a3e Change-Id: I12f2bf16a48e2f5ea4325daed1e68321fd26a8e5 Reviewed-by: Moss Heim <moss.heim@qt.io>
-rw-r--r--src/jar/src/org/qtproject/qt/android/view/QtAndroidWebViewController.java22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/jar/src/org/qtproject/qt/android/view/QtAndroidWebViewController.java b/src/jar/src/org/qtproject/qt/android/view/QtAndroidWebViewController.java
index d15cbb4..9025133 100644
--- a/src/jar/src/org/qtproject/qt/android/view/QtAndroidWebViewController.java
+++ b/src/jar/src/org/qtproject/qt/android/view/QtAndroidWebViewController.java
@@ -397,6 +397,28 @@ class QtAndroidWebViewController
}
}
+ String getUrl()
+ {
+ final String[] url = {""};
+ final Semaphore sem = new Semaphore(0);
+ m_activity.runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ WebSettings webSettings = m_webView.getSettings();
+ url[0] = m_webView.getUrl();
+ sem.release();
+ }
+ });
+
+ try {
+ sem.tryAcquire(BLOCKING_TIMEOUT, TimeUnit.MILLISECONDS);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ return url[0];
+ }
+
void loadUrl(final String url)
{
if (url == null) {