From d90e19183779b109db8591982092c053d19ca361 Mon Sep 17 00:00:00 2001 From: Duy Mac Van Date: Thu, 18 Jun 2020 19:59:44 +0700 Subject: [PATCH] Accept multiple mime types on file input (#971) --- .../org/apache/cordova/engine/SystemWebChromeClient.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/framework/src/org/apache/cordova/engine/SystemWebChromeClient.java b/framework/src/org/apache/cordova/engine/SystemWebChromeClient.java index 31f0a526..cad098e4 100755 --- a/framework/src/org/apache/cordova/engine/SystemWebChromeClient.java +++ b/framework/src/org/apache/cordova/engine/SystemWebChromeClient.java @@ -220,6 +220,13 @@ public class SystemWebChromeClient extends WebChromeClient { } Intent intent = fileChooserParams.createIntent(); intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, selectMultiple); + + // Uses Intent.EXTRA_MIME_TYPES to pass multiple mime types. + String[] acceptTypes = fileChooserParams.getAcceptTypes(); + if (acceptTypes.length > 1) { + intent.setType("*/*"); // Accept all, filter mime types by Intent.EXTRA_MIME_TYPES. + intent.putExtra(Intent.EXTRA_MIME_TYPES, acceptTypes); + } try { parentEngine.cordova.startActivityForResult(new CordovaPlugin() { @Override