capacitor-camera-module 0.0.21 → 0.0.23
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.
|
@@ -55,10 +55,14 @@ import android.graphics.Matrix;
|
|
|
55
55
|
alias = "camera",
|
|
56
56
|
strings = { Manifest.permission.CAMERA }
|
|
57
57
|
),
|
|
58
|
-
|
|
59
|
-
alias = "
|
|
58
|
+
@Permission(
|
|
59
|
+
alias = "gallery_pre13",
|
|
60
|
+
strings = { Manifest.permission.READ_EXTERNAL_STORAGE }
|
|
61
|
+
),
|
|
62
|
+
@Permission(
|
|
63
|
+
alias = "gallery_13",
|
|
60
64
|
strings = { Manifest.permission.READ_MEDIA_IMAGES }
|
|
61
|
-
|
|
65
|
+
)
|
|
62
66
|
}
|
|
63
67
|
)
|
|
64
68
|
|
|
@@ -410,26 +414,10 @@ public class CameraModulePlugin extends Plugin {
|
|
|
410
414
|
|
|
411
415
|
@PluginMethod
|
|
412
416
|
public void requestGalleryPermission(PluginCall call) {
|
|
413
|
-
String
|
|
417
|
+
String alias = Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU ? "gallery_13" : "gallery_pre13";
|
|
414
418
|
|
|
415
|
-
if (
|
|
416
|
-
|
|
417
|
-
} else {
|
|
418
|
-
permissionsToRequest = new String[]{ Manifest.permission.READ_EXTERNAL_STORAGE };
|
|
419
|
-
}
|
|
420
|
-
|
|
421
|
-
// Verificar si ya están concedidos
|
|
422
|
-
boolean granted = true;
|
|
423
|
-
for (String perm : permissionsToRequest) {
|
|
424
|
-
if (ContextCompat.checkSelfPermission(getContext(), perm) != PackageManager.PERMISSION_GRANTED) {
|
|
425
|
-
granted = false;
|
|
426
|
-
break;
|
|
427
|
-
}
|
|
428
|
-
}
|
|
429
|
-
|
|
430
|
-
if (!granted) {
|
|
431
|
-
// Pedir permisos dinámicamente
|
|
432
|
-
requestPermissions(permissionsToRequest, call, "galleryPermissionCallback");
|
|
419
|
+
if (getPermissionState(alias) != PermissionState.GRANTED) {
|
|
420
|
+
requestPermissionForAlias(alias, call, "galleryPermissionCallback");
|
|
433
421
|
} else {
|
|
434
422
|
JSObject ret = new JSObject();
|
|
435
423
|
ret.put("granted", true);
|
|
@@ -439,26 +427,21 @@ public class CameraModulePlugin extends Plugin {
|
|
|
439
427
|
}
|
|
440
428
|
}
|
|
441
429
|
|
|
442
|
-
|
|
443
430
|
@PermissionCallback
|
|
444
431
|
private void galleryPermissionCallback(PluginCall call) {
|
|
445
|
-
JSObject ret = new JSObject();
|
|
446
|
-
|
|
447
432
|
boolean granted;
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
} else {
|
|
451
|
-
granted = ContextCompat.checkSelfPermission(getContext(), Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED;
|
|
452
|
-
}
|
|
433
|
+
String alias = Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU ? "gallery_13" : "gallery_pre13";
|
|
434
|
+
granted = getPermissionState(alias) == PermissionState.GRANTED;
|
|
453
435
|
|
|
436
|
+
JSObject ret = new JSObject();
|
|
454
437
|
ret.put("granted", granted);
|
|
455
438
|
ret.put("status", granted ? "granted" : "denied");
|
|
456
439
|
ret.put("details", "Permission request completed");
|
|
457
|
-
|
|
458
440
|
call.resolve(ret);
|
|
459
441
|
}
|
|
460
442
|
|
|
461
443
|
|
|
444
|
+
|
|
462
445
|
@PluginMethod
|
|
463
446
|
public void checkAndRequestGalleryPermission(PluginCall call) {
|
|
464
447
|
if (getPermissionState("gallery") == PermissionState.GRANTED) {
|
|
@@ -475,25 +458,24 @@ public class CameraModulePlugin extends Plugin {
|
|
|
475
458
|
@PluginMethod
|
|
476
459
|
public void getLastGalleryImage(PluginCall call) {
|
|
477
460
|
|
|
478
|
-
|
|
461
|
+
String alias = Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU ? "gallery_13" : "gallery_pre13";
|
|
462
|
+
|
|
463
|
+
if (getPermissionState(alias) != PermissionState.GRANTED) {
|
|
479
464
|
call.reject("Gallery permission not granted");
|
|
480
465
|
return;
|
|
481
466
|
}
|
|
482
467
|
|
|
483
468
|
Uri uri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
|
|
484
469
|
|
|
485
|
-
String[] projection = {
|
|
486
|
-
MediaStore.Images.Media._ID
|
|
487
|
-
};
|
|
488
|
-
|
|
470
|
+
String[] projection = { MediaStore.Images.Media._ID };
|
|
489
471
|
String sortOrder = MediaStore.Images.Media.DATE_ADDED + " DESC";
|
|
490
472
|
|
|
491
473
|
try (Cursor cursor = getContext().getContentResolver().query(
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
474
|
+
uri,
|
|
475
|
+
projection,
|
|
476
|
+
null,
|
|
477
|
+
null,
|
|
478
|
+
sortOrder
|
|
497
479
|
)) {
|
|
498
480
|
if (cursor != null && cursor.moveToFirst()) {
|
|
499
481
|
long id = cursor.getLong(0);
|
|
@@ -517,4 +499,5 @@ public class CameraModulePlugin extends Plugin {
|
|
|
517
499
|
|
|
518
500
|
|
|
519
501
|
|
|
502
|
+
|
|
520
503
|
}
|