quick workaround for force-desktop-mode-bug...will have a look for a

better solution soon
This commit is contained in:
Philipp Schaefer 2013-07-20 02:56:01 +02:00
parent ba336ea125
commit 9663df105f

View File

@ -131,17 +131,16 @@ public class IITC_WebViewClient extends WebViewClient {
}
// add all plugins to the script...inject plugins + main script simultaneously
js += parsePlugins();
this.js = js;
// need to wrap the mobile iitc.js version in a document ready. IITC
// expects to be injected after the DOM has been loaded completely.
// Since the mobile client injects IITC by replacing the gen_dashboard
// file, IITC runs to early. The document.ready delays IITC long enough
// so it boots correctly.
js = "$(document).ready(function(){" + js + "});";
this.js = "$(document).ready(function(){" + js + "});";
iitcjs = new WebResourceResponse("text/javascript", "UTF-8",
new ByteArrayInputStream(js.getBytes()));
new ByteArrayInputStream(this.js.getBytes()));
}
// enable https
@ -151,6 +150,16 @@ public class IITC_WebViewClient extends WebViewClient {
handler.proceed();
}
@Override
public void onPageFinished(WebView view, String url) {
SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context);
if(sharedPrefs.getBoolean("pref_force_desktop", false)) {
Log.d("iitcm", "injecting desktop iitc");
view.loadUrl("javascript: " + this.js);
}
super.onPageFinished(view, url);
}
/**
* this method is called automatically when the Google login form is opened.
*/
@ -292,6 +301,8 @@ public class IITC_WebViewClient extends WebViewClient {
@Override
public WebResourceResponse shouldInterceptRequest(final WebView view,
String url) {
SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context);
if(!sharedPrefs.getBoolean("pref_force_desktop", false)) {
if (url.contains("/css/common.css")) {
return new WebResourceResponse("text/css", "UTF-8", style);
} else if (url.contains("gen_dashboard.js")) {
@ -310,6 +321,9 @@ public class IITC_WebViewClient extends WebViewClient {
} else {
return super.shouldInterceptRequest(view, url);
}
} else {
return super.shouldInterceptRequest(view, url);
}
}
// start non-ingress-intel-urls in another app...