see changelog (v1.4.0+1)
* Better handling on Android of buggy file managers that return no intent when canceling the file selection even though it returns Activity.RESULT_OK (#111) * removes deprecated Android SDK code and fixes an issue that could prevent some downloaded files from being picked * adds getMultiFile and prevents UI blocking when picking large remote files * updates readme file * fixes an issue that could prevent internal storage files from being properly picked
This commit is contained in:
parent
3ce0044177
commit
a9eb2abbb9
|
@ -1,3 +1,7 @@
|
||||||
|
## 1.4.0+1
|
||||||
|
|
||||||
|
**Bug fix:** Fixes an issue that could prevent internal storage files from being properly picked.
|
||||||
|
|
||||||
## 1.4.0
|
## 1.4.0
|
||||||
|
|
||||||
**New features**
|
**New features**
|
||||||
|
@ -5,7 +9,7 @@
|
||||||
* Adds Desktop example, to run it just do `hover init` and then `hover run` within the plugin's example folder (you must have go and hover installed, check the previous point).
|
* Adds Desktop example, to run it just do `hover init` and then `hover run` within the plugin's example folder (you must have go and hover installed, check the previous point).
|
||||||
* Similar to `getFile`, now there is also a `getMultiFile` which behaves the same way, but returning a list of files instead.
|
* Similar to `getFile`, now there is also a `getMultiFile` which behaves the same way, but returning a list of files instead.
|
||||||
|
|
||||||
**Improvements:**
|
**Improvements**
|
||||||
* Updates Android SDK deprecated code.
|
* Updates Android SDK deprecated code.
|
||||||
* Sometimes when a big file was being picked from a remote directory (GDrive for example), the UI could be blocked. Now this shouldn't happen anymore.
|
* Sometimes when a big file was being picked from a remote directory (GDrive for example), the UI could be blocked. Now this shouldn't happen anymore.
|
||||||
|
|
||||||
|
|
|
@ -199,14 +199,14 @@ public class FilePickerPlugin implements MethodCallHandler {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@SuppressWarnings("deprecation")
|
||||||
private static void startFileExplorer(String type) {
|
private static void startFileExplorer(String type) {
|
||||||
Intent intent;
|
Intent intent;
|
||||||
|
|
||||||
if (checkPermission()) {
|
if (checkPermission()) {
|
||||||
|
|
||||||
intent = new Intent(Intent.ACTION_GET_CONTENT);
|
intent = new Intent(Intent.ACTION_GET_CONTENT);
|
||||||
Uri uri = Uri.parse(FileUtils.getExternalPath(instance.activeContext()) + File.separator);
|
Uri uri = Uri.parse(Environment.getExternalStorageDirectory().getPath() + File.separator);
|
||||||
intent.setDataAndType(uri, type);
|
intent.setDataAndType(uri, type);
|
||||||
intent.setType(type);
|
intent.setType(type);
|
||||||
intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, isMultipleSelection);
|
intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, isMultipleSelection);
|
||||||
|
|
|
@ -38,14 +38,8 @@ public class FileUtils {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String getExternalPath(Context context) {
|
|
||||||
if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) {
|
|
||||||
return context.getExternalFilesDir(null).getAbsolutePath();
|
|
||||||
}
|
|
||||||
return context.getFilesDir().getAbsolutePath();
|
|
||||||
}
|
|
||||||
|
|
||||||
@TargetApi(19)
|
@TargetApi(19)
|
||||||
|
@SuppressWarnings("deprecation")
|
||||||
private static String getForApi19(Context context, Uri uri) {
|
private static String getForApi19(Context context, Uri uri) {
|
||||||
Log.e(TAG, "Getting for API 19 or above" + uri);
|
Log.e(TAG, "Getting for API 19 or above" + uri);
|
||||||
if (DocumentsContract.isDocumentUri(context, uri)) {
|
if (DocumentsContract.isDocumentUri(context, uri)) {
|
||||||
|
@ -57,7 +51,7 @@ public class FileUtils {
|
||||||
final String type = split[0];
|
final String type = split[0];
|
||||||
if ("primary".equalsIgnoreCase(type)) {
|
if ("primary".equalsIgnoreCase(type)) {
|
||||||
Log.e(TAG, "Primary External Document URI");
|
Log.e(TAG, "Primary External Document URI");
|
||||||
return getExternalPath(context) + "/" + split[1];
|
return Environment.getExternalStorageDirectory() + "/" + split[1];
|
||||||
}
|
}
|
||||||
} else if (isDownloadsDocument(uri)) {
|
} else if (isDownloadsDocument(uri)) {
|
||||||
Log.e(TAG, "Downloads External Document URI");
|
Log.e(TAG, "Downloads External Document URI");
|
||||||
|
|
|
@ -2,7 +2,7 @@ name: file_picker
|
||||||
description: A package that allows you to use a native file explorer to pick single or multiple absolute file paths, with extensions filtering support.
|
description: A package that allows you to use a native file explorer to pick single or multiple absolute file paths, with extensions filtering support.
|
||||||
author: Miguel Ruivo <miguel@miguelruivo.com>
|
author: Miguel Ruivo <miguel@miguelruivo.com>
|
||||||
homepage: https://github.com/miguelpruivo/plugins_flutter_file_picker
|
homepage: https://github.com/miguelpruivo/plugins_flutter_file_picker
|
||||||
version: 1.4.0
|
version: 1.4.0+1
|
||||||
|
|
||||||
dependencies:
|
dependencies:
|
||||||
flutter:
|
flutter:
|
||||||
|
|
Loading…
Reference in New Issue