feat(android): Download event (#1019)
* feat(android): Added download event * android typos, whitespaces and whiteline corrected * Update README.md * fix: removed added whitespace trail --------- Co-authored-by: Shaikh Amaan FM <thisisamaan.s@gmail.com> Co-authored-by: Shaikh Amaan FM <53618794+shaikh-amaan-fm@users.noreply.github.com>
This commit is contained in:
@@ -54,6 +54,7 @@ import android.webkit.WebResourceRequest;
|
||||
import android.webkit.WebResourceResponse;
|
||||
import android.webkit.WebSettings;
|
||||
import android.webkit.WebView;
|
||||
import android.webkit.DownloadListener;
|
||||
import android.webkit.WebViewClient;
|
||||
import android.widget.EditText;
|
||||
import android.widget.ImageButton;
|
||||
@@ -97,6 +98,7 @@ public class InAppBrowser extends CordovaPlugin {
|
||||
private static final String LOAD_START_EVENT = "loadstart";
|
||||
private static final String LOAD_STOP_EVENT = "loadstop";
|
||||
private static final String LOAD_ERROR_EVENT = "loaderror";
|
||||
private static final String DOWNLOAD_EVENT = "download";
|
||||
private static final String MESSAGE_EVENT = "message";
|
||||
private static final String CLEAR_ALL_CACHE = "clearcache";
|
||||
private static final String CLEAR_SESSION_CACHE = "clearsessioncache";
|
||||
@@ -272,6 +274,7 @@ public class InAppBrowser extends CordovaPlugin {
|
||||
((InAppBrowserClient)inAppWebView.getWebViewClient()).waitForBeforeload = false;
|
||||
}
|
||||
inAppWebView.loadUrl(url);
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -913,7 +916,6 @@ public class InAppBrowser extends CordovaPlugin {
|
||||
View footerClose = createCloseButton(7);
|
||||
footer.addView(footerClose);
|
||||
|
||||
|
||||
// WebView
|
||||
inAppWebView = new WebView(cordova.getActivity());
|
||||
inAppWebView.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
|
||||
@@ -946,6 +948,30 @@ public class InAppBrowser extends CordovaPlugin {
|
||||
settings.setJavaScriptCanOpenWindowsAutomatically(true);
|
||||
settings.setBuiltInZoomControls(showZoomControls);
|
||||
settings.setPluginState(android.webkit.WebSettings.PluginState.ON);
|
||||
|
||||
// download event
|
||||
|
||||
inAppWebView.setDownloadListener(
|
||||
new DownloadListener(){
|
||||
public void onDownloadStart(
|
||||
String url, String userAgent, String contentDisposition, String mimetype, long contentLength
|
||||
){
|
||||
try{
|
||||
JSONObject succObj = new JSONObject();
|
||||
succObj.put("type", DOWNLOAD_EVENT);
|
||||
succObj.put("url",url);
|
||||
succObj.put("userAgent",userAgent);
|
||||
succObj.put("contentDisposition",contentDisposition);
|
||||
succObj.put("mimetype",mimetype);
|
||||
succObj.put("contentLength",contentLength);
|
||||
sendUpdate(succObj, true);
|
||||
}
|
||||
catch(Exception e){
|
||||
LOG.e(LOG_TAG,e.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
// Add postMessage interface
|
||||
class JsObject {
|
||||
|
||||
Reference in New Issue
Block a user