From b1d1f3c41f5cb959cd34fb83218c5783aa8dde54 Mon Sep 17 00:00:00 2001 From: macdonst Date: Tue, 8 May 2012 20:44:31 -0400 Subject: [PATCH] Allow ChildBrowser to read file:// links --- .../phonegap/plugins/childBrowser/ChildBrowser.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/Android/ChildBrowser/src/com/phonegap/plugins/childBrowser/ChildBrowser.java b/Android/ChildBrowser/src/com/phonegap/plugins/childBrowser/ChildBrowser.java index 0d23f63e..f66acbab 100644 --- a/Android/ChildBrowser/src/com/phonegap/plugins/childBrowser/ChildBrowser.java +++ b/Android/ChildBrowser/src/com/phonegap/plugins/childBrowser/ChildBrowser.java @@ -179,10 +179,11 @@ private void navigate(String url) { InputMethodManager imm = (InputMethodManager)this.ctx.getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(edittext.getWindowToken(), 0); - if (!url.startsWith("http")) { + if (!url.startsWith("http") || !url.startsWith("file:")) { this.webview.loadUrl("http://" + url); + } else { + this.webview.loadUrl(url); } - this.webview.loadUrl(url); this.webview.requestFocus(); } @@ -238,6 +239,7 @@ public void onDismiss(DialogInterface dialog) { main.setOrientation(LinearLayout.VERTICAL); LinearLayout toolbar = new LinearLayout(ctx.getContext()); + toolbar.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT)); toolbar.setOrientation(LinearLayout.HORIZONTAL); ImageButton back = new ImageButton(ctx.getContext()); @@ -284,7 +286,7 @@ public boolean onKey(View v, int keyCode, KeyEvent event) { edittext.setText(url); edittext.setLayoutParams(editParams); - ImageButton close = new ImageButton((Context) ctx); + ImageButton close = new ImageButton(ctx.getContext()); close.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { closeDialog(); @@ -301,6 +303,7 @@ public void onClick(View v) { webview = new WebView(ctx.getContext()); webview.getSettings().setJavaScriptEnabled(true); webview.getSettings().setBuiltInZoomControls(true); + webview.getSettings().setPluginsEnabled(true); WebViewClient client = new ChildBrowserClient(edittext); webview.setWebViewClient(client); webview.loadUrl(url); @@ -379,7 +382,7 @@ public ChildBrowserClient(EditText mEditText) { public void onPageStarted(WebView view, String url, Bitmap favicon) { super.onPageStarted(view, url, favicon); String newloc; - if (url.startsWith("http:") || url.startsWith("https:")) { + if (url.startsWith("http:") || url.startsWith("https:") || url.startsWith("file:")) { newloc = url; } else { newloc = "http://" + url;