summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/jar/src/org/qtproject/qt5/android/view/QtAndroidWebViewController.java37
1 files changed, 31 insertions, 6 deletions
diff --git a/src/jar/src/org/qtproject/qt5/android/view/QtAndroidWebViewController.java b/src/jar/src/org/qtproject/qt5/android/view/QtAndroidWebViewController.java
index a4feca5..0bb36de 100644
--- a/src/jar/src/org/qtproject/qt5/android/view/QtAndroidWebViewController.java
+++ b/src/jar/src/org/qtproject/qt5/android/view/QtAndroidWebViewController.java
@@ -250,18 +250,43 @@ public class QtAndroidWebViewController
}
}
- public void setUserAgent(final String userAgent)
+ public String getUserAgent()
{
- if (userAgent == null){
- return;
+ final String[] ua = {""};
+ final Semaphore sem = new Semaphore(0);
+ m_activity.runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ ua[0] = m_webView.getSettings().getUserAgentString();
+ sem.release();
+ }
+ });
+
+ try {
+ sem.tryAcquire(BLOCKING_TIMEOUT, TimeUnit.MILLISECONDS);
+ } catch (Exception e) {
+ e.printStackTrace();
}
- resetLoadingState(STARTED_STATE);
- c_onPageStarted(m_id, null, null);
+ return ua[0];
+ }
+
+ public void setUserAgent(final String uaString)
+ {
+ final Semaphore sem = new Semaphore(0);
m_activity.runOnUiThread(new Runnable() {
@Override
- public void run() { m_webView.getSettings().setUserAgentString(userAgent); }
+ public void run() {
+ m_webView.getSettings().setUserAgentString(uaString);
+ sem.release();
+ }
});
+
+ try {
+ sem.tryAcquire(BLOCKING_TIMEOUT, TimeUnit.MILLISECONDS);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
}
public void loadUrl(final String url)