@nativescript-community/ui-document-picker 1.1.24 → 1.1.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,16 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [1.1.26](https://github.com/nativescript-community/ui-document-picker/compare/v1.1.25...v1.1.26) (2024-10-14)
7
+
8
+ ### Bug Fixes
9
+
10
+ * **android:** native getPath method fix (handle more SAF cases) ([c415753](https://github.com/nativescript-community/ui-document-picker/commit/c41575393ac6f0f893b5b3611b19a555aee23393))
11
+
12
+ ## [1.1.25](https://github.com/nativescript-community/ui-document-picker/compare/v1.1.24...v1.1.25) (2024-09-09)
13
+
14
+ **Note:** Version bump only for package @nativescript-community/ui-document-picker
15
+
6
16
  ## [1.1.24](https://github.com/nativescript-community/ui-document-picker/compare/v1.1.23...v1.1.24) (2024-07-25)
7
17
 
8
18
  **Note:** Version bump only for package @nativescript-community/ui-document-picker
package/index.ios.js CHANGED
@@ -66,10 +66,14 @@ export function openFilePicker(params = {}) {
66
66
  if (params.extensions && params.extensions.length > 0) {
67
67
  documentTypes = params.extensions;
68
68
  documentTypes = params.extensions.map((e) => {
69
+ let result = e;
69
70
  if (e.indexOf('/') !== -1) {
70
- return UTType.typeWithMIMEType(e).identifier;
71
+ result = UTType.typeWithMIMEType(e)?.identifier;
71
72
  }
72
- return UTType.typeWithFilenameExtension(e).identifier;
73
+ else if (e.indexOf('.') === -1) {
74
+ result = UTType.typeWithFilenameExtension(e)?.identifier;
75
+ }
76
+ return result || e;
73
77
  });
74
78
  }
75
79
  else {
package/index.ios.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.ios.js","sourceRoot":"","sources":["../../src/ui-document-picker/index.ios.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.ios.js","sourceRoot":"","sources":["../../src/ui-document-picker/index.ios.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nativescript-community/ui-document-picker",
3
- "version": "1.1.24",
3
+ "version": "1.1.26",
4
4
  "description": "A NativeScript plugin that allows you to select files from the device.",
5
5
  "main": "index",
6
6
  "typings": "index.d.ts",
@@ -41,5 +41,5 @@
41
41
  "dependencies": {
42
42
  "@nativescript-community/perms": "^2.3.0"
43
43
  },
44
- "gitHead": "3252f95c136c62c5252b45e48c67c2249b8bd74e"
44
+ "gitHead": "aeee5991c4e48144a52ee5bbb8c490435459c639"
45
45
  }
@@ -220,6 +220,20 @@ public class FilePath {
220
220
  return fullPath;
221
221
  }
222
222
 
223
+ /**
224
+ * Get a file path from a Uri. This will get the the path for Storage Access
225
+ * Framework Documents, as well as the _data field for the MediaStore and
226
+ * other file-based ContentProviders.<br>
227
+ * <br>
228
+ * Callers should check whether the path is local before assuming it
229
+ * represents a local file.
230
+ *
231
+ * @param context The context.
232
+ * @param uri The Uri to query.
233
+ */
234
+ public static String getPathFromString(final Context context, final String src) {
235
+ return getPath(context, android.net.Uri.parse(src));
236
+ }
223
237
  /**
224
238
  * Get a file path from a Uri. This will get the the path for Storage Access
225
239
  * Framework Documents, as well as the _data field for the MediaStore and
@@ -247,12 +261,16 @@ public class FilePath {
247
261
  final boolean isKitKat = Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT;
248
262
 
249
263
  // DocumentProvider
250
- if (isKitKat && DocumentsContract.isDocumentUri(context, uri)) {
264
+ if (isKitKat && uri.toString().startsWith("content://")) {
251
265
 
252
266
  // ExternalStorageProvider
253
267
  if (isExternalStorageDocument(uri)) {
254
-
255
- final String docId = DocumentsContract.getDocumentId(uri);
268
+ String docId = null;
269
+ try {
270
+ docId = DocumentsContract.getDocumentId(uri);
271
+ } catch(Exception e) {
272
+ docId = DocumentsContract.getTreeDocumentId(uri);
273
+ }
256
274
  final String[] split = docId.split(":");
257
275
  final String type = split[0];
258
276
 
@@ -299,7 +317,12 @@ public class FilePath {
299
317
  // MediaProvider
300
318
  else if (isMediaDocument(uri)) {
301
319
 
302
- final String docId = DocumentsContract.getDocumentId(uri);
320
+ String docId = null;
321
+ try {
322
+ docId = DocumentsContract.getDocumentId(uri);
323
+ } catch(Exception e) {
324
+ docId = DocumentsContract.getTreeDocumentId(uri);
325
+ }
303
326
  final String[] split = docId.split(":");
304
327
  final String type = split[0];
305
328
 
@@ -3,7 +3,8 @@ declare namespace com {
3
3
  declare namespace documentpicker {
4
4
  declare class FilePath {
5
5
  static getPath(context: globalAndroid.content.Context, uri: android.net.Uri) : string
6
- }
6
+ static getPathFromString(context: globalAndroid.content.Context, src: string) : string
7
+ }
7
8
  }
8
9
  }
9
10
  }