[image_picker] moves Android 13 image picker to options (#3370)
[image_picker] moves Android 13 image picker to options
diff --git a/packages/image_picker/image_picker/CHANGELOG.md b/packages/image_picker/image_picker/CHANGELOG.md
index 7969e21..fe845b3 100644
--- a/packages/image_picker/image_picker/CHANGELOG.md
+++ b/packages/image_picker/image_picker/CHANGELOG.md
@@ -1,5 +1,6 @@
-## NEXT
+## 0.8.7
+* Adds `usePhotoPickerAndroid` options.
* Aligns Dart and Flutter SDK constraints.
## 0.8.6+4
diff --git a/packages/image_picker/image_picker/README.md b/packages/image_picker/image_picker/README.md
index 6c886f0..3d5a11a 100755
--- a/packages/image_picker/image_picker/README.md
+++ b/packages/image_picker/image_picker/README.md
@@ -93,6 +93,11 @@
[example app](https://pub.dev/packages/image_picker/example) for a more
complete example of handling this flow.
+### Android Photo Picker
+
+This package has optional [Android Photo Picker](https://developer.android.com/training/data-storage/shared/photopicker) functionality.
+[Learn how to use it](https://pub.dev/packages/image_picker_android).
+
## Migrating to 0.8.2+
Starting with version **0.8.2** of the image_picker plugin, new methods have been added for picking files that return `XFile` instances (from the [cross_file](https://pub.dev/packages/cross_file) package) rather than the plugin's own `PickedFile` instances. While the previous methods still exist, it is already recommended to start migrating over to their new equivalents. Eventually, `PickedFile` and the methods that return instances of it will be deprecated and removed.
diff --git a/packages/image_picker/image_picker/pubspec.yaml b/packages/image_picker/image_picker/pubspec.yaml
index 86a8280..43c7ee3 100755
--- a/packages/image_picker/image_picker/pubspec.yaml
+++ b/packages/image_picker/image_picker/pubspec.yaml
@@ -3,7 +3,7 @@
library, and taking new pictures with the camera.
repository: https://github.com/flutter/packages/tree/main/packages/image_picker/image_picker
issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+image_picker%22
-version: 0.8.6+4
+version: 0.8.7
environment:
sdk: ">=2.17.0 <3.0.0"
diff --git a/packages/image_picker/image_picker_android/CHANGELOG.md b/packages/image_picker/image_picker_android/CHANGELOG.md
index bc0c6c4..b9ca0c5 100644
--- a/packages/image_picker/image_picker_android/CHANGELOG.md
+++ b/packages/image_picker/image_picker_android/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 0.8.6
+
+* Adds `usePhotoPickerAndroid` options.
+
## 0.8.5+10
* Clarifies explanation of endorsement in README.
diff --git a/packages/image_picker/image_picker_android/README.md b/packages/image_picker/image_picker_android/README.md
index 7602dbe..32bc020 100755
--- a/packages/image_picker/image_picker_android/README.md
+++ b/packages/image_picker/image_picker_android/README.md
@@ -1,3 +1,5 @@
+<?code-excerpt path-base="excerpts/packages/image_picker_example"?>
+
# image\_picker\_android
The Android implementation of [`image_picker`][1].
@@ -11,5 +13,23 @@
However, if you `import` this package to use any of its APIs directly, you
should add it to your `pubspec.yaml` as usual.
+## Photo Picker
+
+This package has optional Android Photo Picker functionality.
+
+To use this feature, add the following code to your app before calling any `image_picker` APIs:
+
+<?code-excerpt "main.dart (photo-picker-example)"?>
+```dart
+import 'package:image_picker_android/image_picker_android.dart';
+import 'package:image_picker_platform_interface/image_picker_platform_interface.dart';
+// ···
+ final ImagePickerPlatform imagePickerImplementation =
+ ImagePickerPlatform.instance;
+ if (imagePickerImplementation is ImagePickerAndroid) {
+ imagePickerImplementation.useAndroidPhotoPicker = true;
+ }
+```
+
[1]: https://pub.dev/packages/image_picker
[2]: https://flutter.dev/docs/development/packages-and-plugins/developing-packages#endorsed-federated-plugin
diff --git a/packages/image_picker/image_picker_android/android/src/main/java/io/flutter/plugins/imagepicker/ImagePickerDelegate.java b/packages/image_picker/image_picker_android/android/src/main/java/io/flutter/plugins/imagepicker/ImagePickerDelegate.java
index 006eb3d..8f89e05 100644
--- a/packages/image_picker/image_picker_android/android/src/main/java/io/flutter/plugins/imagepicker/ImagePickerDelegate.java
+++ b/packages/image_picker/image_picker_android/android/src/main/java/io/flutter/plugins/imagepicker/ImagePickerDelegate.java
@@ -252,12 +252,18 @@
return;
}
- launchPickVideoFromGalleryIntent();
+ Boolean usePhotoPicker = methodCall.argument("useAndroidPhotoPicker");
+
+ if (usePhotoPicker == null) {
+ usePhotoPicker = false;
+ }
+
+ launchPickVideoFromGalleryIntent(usePhotoPicker);
}
- private void launchPickVideoFromGalleryIntent() {
+ private void launchPickVideoFromGalleryIntent(Boolean useAndroidPhotoPicker) {
Intent pickVideoIntent;
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
+ if (useAndroidPhotoPicker && Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
pickVideoIntent =
new ActivityResultContracts.PickVisualMedia()
.createIntent(
@@ -326,7 +332,13 @@
return;
}
- launchPickImageFromGalleryIntent();
+ Boolean usePhotoPicker = methodCall.argument("useAndroidPhotoPicker");
+
+ if (usePhotoPicker == null) {
+ usePhotoPicker = false;
+ }
+
+ launchPickImageFromGalleryIntent(usePhotoPicker);
}
public void chooseMultiImageFromGallery(MethodCall methodCall, MethodChannel.Result result) {
@@ -335,12 +347,18 @@
return;
}
- launchMultiPickImageFromGalleryIntent();
+ Boolean usePhotoPicker = methodCall.argument("useAndroidPhotoPicker");
+
+ if (usePhotoPicker == null) {
+ usePhotoPicker = false;
+ }
+
+ launchMultiPickImageFromGalleryIntent(usePhotoPicker);
}
- private void launchPickImageFromGalleryIntent() {
+ private void launchPickImageFromGalleryIntent(Boolean useAndroidPhotoPicker) {
Intent pickImageIntent;
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
+ if (useAndroidPhotoPicker && Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
pickImageIntent =
new ActivityResultContracts.PickVisualMedia()
.createIntent(
@@ -356,9 +374,9 @@
activity.startActivityForResult(pickImageIntent, REQUEST_CODE_CHOOSE_IMAGE_FROM_GALLERY);
}
- private void launchMultiPickImageFromGalleryIntent() {
+ private void launchMultiPickImageFromGalleryIntent(Boolean useAndroidPhotoPicker) {
Intent pickMultiImageIntent;
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
+ if (useAndroidPhotoPicker && Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
pickMultiImageIntent =
new ActivityResultContracts.PickMultipleVisualMedia()
.createIntent(
diff --git a/packages/image_picker/image_picker_android/android/src/test/java/io/flutter/plugins/imagepicker/ImagePickerDelegateTest.java b/packages/image_picker/image_picker_android/android/src/test/java/io/flutter/plugins/imagepicker/ImagePickerDelegateTest.java
index 29302d9..f8fb4db 100644
--- a/packages/image_picker/image_picker_android/android/src/test/java/io/flutter/plugins/imagepicker/ImagePickerDelegateTest.java
+++ b/packages/image_picker/image_picker_android/android/src/test/java/io/flutter/plugins/imagepicker/ImagePickerDelegateTest.java
@@ -162,6 +162,7 @@
chooseImageFromGallery_WithPhotoPicker_WhenHasExternalStoragePermission_LaunchesChooseFromGalleryIntent() {
when(mockPermissionManager.isPermissionGranted(Manifest.permission.READ_EXTERNAL_STORAGE))
.thenReturn(true);
+ when(mockMethodCall.argument("useAndroidPhotoPicker")).thenReturn(true);
ImagePickerDelegate delegate = createDelegate();
delegate.chooseImageFromGallery(mockMethodCall, mockResult);
@@ -177,6 +178,7 @@
chooseMultiImageFromGallery_WhenHasExternalStoragePermission_LaunchesChooseFromGalleryIntent() {
when(mockPermissionManager.isPermissionGranted(Manifest.permission.READ_EXTERNAL_STORAGE))
.thenReturn(true);
+ when(mockMethodCall.argument("useAndroidPhotoPicker")).thenReturn(true);
ImagePickerDelegate delegate = createDelegate();
delegate.chooseMultiImageFromGallery(mockMethodCall, mockResult);
@@ -193,6 +195,7 @@
chooseMultiImageFromGallery_WithPhotoPicker_WhenHasExternalStoragePermission_LaunchesChooseFromGalleryIntent() {
when(mockPermissionManager.isPermissionGranted(Manifest.permission.READ_EXTERNAL_STORAGE))
.thenReturn(true);
+ when(mockMethodCall.argument("useAndroidPhotoPicker")).thenReturn(true);
ImagePickerDelegate delegate = createDelegate();
delegate.chooseMultiImageFromGallery(mockMethodCall, mockResult);
@@ -209,6 +212,7 @@
chooseVideoFromGallery_WhenHasExternalStoragePermission_LaunchesChooseFromGalleryIntent() {
when(mockPermissionManager.isPermissionGranted(Manifest.permission.READ_EXTERNAL_STORAGE))
.thenReturn(true);
+ when(mockMethodCall.argument("useAndroidPhotoPicker")).thenReturn(true);
ImagePickerDelegate delegate = createDelegate();
delegate.chooseVideoFromGallery(mockMethodCall, mockResult);
@@ -224,6 +228,7 @@
chooseVideoFromGallery_WithPhotoPicker_WhenHasExternalStoragePermission_LaunchesChooseFromGalleryIntent() {
when(mockPermissionManager.isPermissionGranted(Manifest.permission.READ_EXTERNAL_STORAGE))
.thenReturn(true);
+ when(mockMethodCall.argument("useAndroidPhotoPicker")).thenReturn(true);
ImagePickerDelegate delegate = createDelegate();
delegate.chooseVideoFromGallery(mockMethodCall, mockResult);
diff --git a/packages/image_picker/image_picker_android/example/build.excerpt.yaml b/packages/image_picker/image_picker_android/example/build.excerpt.yaml
new file mode 100644
index 0000000..e317efa
--- /dev/null
+++ b/packages/image_picker/image_picker_android/example/build.excerpt.yaml
@@ -0,0 +1,15 @@
+targets:
+ $default:
+ sources:
+ include:
+ - lib/**
+ # Some default includes that aren't really used here but will prevent
+ # false-negative warnings:
+ - $package$
+ - lib/$lib$
+ exclude:
+ - '**/.*/**'
+ - '**/build/**'
+ builders:
+ code_excerpter|code_excerpter:
+ enabled: true
diff --git a/packages/image_picker/image_picker_android/example/lib/main.dart b/packages/image_picker/image_picker_android/example/lib/main.dart
index 2e5b2e5..c456fb9 100755
--- a/packages/image_picker/image_picker_android/example/lib/main.dart
+++ b/packages/image_picker/image_picker_android/example/lib/main.dart
@@ -10,7 +10,10 @@
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter_driver/driver_extension.dart';
+// #docregion photo-picker-example
+import 'package:image_picker_android/image_picker_android.dart';
import 'package:image_picker_platform_interface/image_picker_platform_interface.dart';
+// #enddocregion photo-picker-example
import 'package:video_player/video_player.dart';
void appMain() {
@@ -19,6 +22,14 @@
}
void main() {
+ // Set to use Android Photo Picker.
+ // #docregion photo-picker-example
+ final ImagePickerPlatform imagePickerImplementation =
+ ImagePickerPlatform.instance;
+ if (imagePickerImplementation is ImagePickerAndroid) {
+ imagePickerImplementation.useAndroidPhotoPicker = true;
+ }
+ // #enddocregion photo-picker-example
runApp(const MyApp());
}
diff --git a/packages/image_picker/image_picker_android/example/pubspec.yaml b/packages/image_picker/image_picker_android/example/pubspec.yaml
old mode 100755
new mode 100644
index 5b0f3e0..52778a4
--- a/packages/image_picker/image_picker_android/example/pubspec.yaml
+++ b/packages/image_picker/image_picker_android/example/pubspec.yaml
@@ -23,6 +23,7 @@
video_player: ^2.1.4
dev_dependencies:
+ build_runner: ^2.1.10
espresso: ^0.2.0
flutter_test:
sdk: flutter
diff --git a/packages/image_picker/image_picker_android/lib/image_picker_android.dart b/packages/image_picker/image_picker_android/lib/image_picker_android.dart
index b6073c7..97c981e 100644
--- a/packages/image_picker/image_picker_android/lib/image_picker_android.dart
+++ b/packages/image_picker/image_picker_android/lib/image_picker_android.dart
@@ -83,6 +83,7 @@
'maxWidth': maxWidth,
'maxHeight': maxHeight,
'imageQuality': imageQuality,
+ 'useAndroidPhotoPicker': useAndroidPhotoPicker,
},
);
}
@@ -117,6 +118,7 @@
'imageQuality': imageQuality,
'cameraDevice': preferredCameraDevice.index,
'requestFullMetadata': requestFullMetadata,
+ 'useAndroidPhotoPicker': useAndroidPhotoPicker,
},
);
}
@@ -145,7 +147,8 @@
<String, dynamic>{
'source': source.index,
'maxDuration': maxDuration?.inSeconds,
- 'cameraDevice': preferredCameraDevice.index
+ 'cameraDevice': preferredCameraDevice.index,
+ 'useAndroidPhotoPicker': useAndroidPhotoPicker,
},
);
}
@@ -279,4 +282,9 @@
files: pickedFileList,
);
}
+
+ /// Set [ImagePickerAndroid] to use Android 13 Photo Picker.
+ ///
+ /// Currently defaults to false, but the default is subject to change.
+ bool useAndroidPhotoPicker = false;
}
diff --git a/packages/image_picker/image_picker_android/pubspec.yaml b/packages/image_picker/image_picker_android/pubspec.yaml
index 30b95c3..1c22e9c 100755
--- a/packages/image_picker/image_picker_android/pubspec.yaml
+++ b/packages/image_picker/image_picker_android/pubspec.yaml
@@ -3,7 +3,7 @@
repository: https://github.com/flutter/packages/tree/main/packages/image_picker/image_picker_android
issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+image_picker%22
-version: 0.8.5+10
+version: 0.8.6
environment:
sdk: ">=2.17.0 <3.0.0"
diff --git a/packages/image_picker/image_picker_android/test/image_picker_android_test.dart b/packages/image_picker/image_picker_android/test/image_picker_android_test.dart
index d6680ce..4c9d31a 100644
--- a/packages/image_picker/image_picker_android/test/image_picker_android_test.dart
+++ b/packages/image_picker/image_picker_android/test/image_picker_android_test.dart
@@ -49,6 +49,7 @@
'imageQuality': null,
'cameraDevice': 0,
'requestFullMetadata': true,
+ 'useAndroidPhotoPicker': false,
}),
isMethodCall('pickImage', arguments: <String, dynamic>{
'source': 1,
@@ -57,6 +58,7 @@
'imageQuality': null,
'cameraDevice': 0,
'requestFullMetadata': true,
+ 'useAndroidPhotoPicker': false,
}),
],
);
@@ -104,6 +106,7 @@
'imageQuality': null,
'cameraDevice': 0,
'requestFullMetadata': true,
+ 'useAndroidPhotoPicker': false,
}),
isMethodCall('pickImage', arguments: <String, dynamic>{
'source': 0,
@@ -112,6 +115,7 @@
'imageQuality': null,
'cameraDevice': 0,
'requestFullMetadata': true,
+ 'useAndroidPhotoPicker': false,
}),
isMethodCall('pickImage', arguments: <String, dynamic>{
'source': 0,
@@ -120,6 +124,7 @@
'imageQuality': null,
'cameraDevice': 0,
'requestFullMetadata': true,
+ 'useAndroidPhotoPicker': false,
}),
isMethodCall('pickImage', arguments: <String, dynamic>{
'source': 0,
@@ -128,6 +133,7 @@
'imageQuality': null,
'cameraDevice': 0,
'requestFullMetadata': true,
+ 'useAndroidPhotoPicker': false,
}),
isMethodCall('pickImage', arguments: <String, dynamic>{
'source': 0,
@@ -136,6 +142,7 @@
'imageQuality': 70,
'cameraDevice': 0,
'requestFullMetadata': true,
+ 'useAndroidPhotoPicker': false,
}),
isMethodCall('pickImage', arguments: <String, dynamic>{
'source': 0,
@@ -144,6 +151,7 @@
'imageQuality': 70,
'cameraDevice': 0,
'requestFullMetadata': true,
+ 'useAndroidPhotoPicker': false,
}),
isMethodCall('pickImage', arguments: <String, dynamic>{
'source': 0,
@@ -152,6 +160,7 @@
'imageQuality': 70,
'cameraDevice': 0,
'requestFullMetadata': true,
+ 'useAndroidPhotoPicker': false,
}),
],
);
@@ -214,6 +223,7 @@
'imageQuality': null,
'cameraDevice': 0,
'requestFullMetadata': true,
+ 'useAndroidPhotoPicker': false,
}),
],
);
@@ -234,6 +244,7 @@
'imageQuality': null,
'cameraDevice': 1,
'requestFullMetadata': true,
+ 'useAndroidPhotoPicker': false,
}),
],
);
@@ -252,6 +263,7 @@
'maxWidth': null,
'maxHeight': null,
'imageQuality': null,
+ 'useAndroidPhotoPicker': false,
}),
],
);
@@ -291,36 +303,43 @@
'maxWidth': null,
'maxHeight': null,
'imageQuality': null,
+ 'useAndroidPhotoPicker': false,
}),
isMethodCall('pickMultiImage', arguments: <String, dynamic>{
'maxWidth': 10.0,
'maxHeight': null,
'imageQuality': null,
+ 'useAndroidPhotoPicker': false,
}),
isMethodCall('pickMultiImage', arguments: <String, dynamic>{
'maxWidth': null,
'maxHeight': 10.0,
'imageQuality': null,
+ 'useAndroidPhotoPicker': false,
}),
isMethodCall('pickMultiImage', arguments: <String, dynamic>{
'maxWidth': 10.0,
'maxHeight': 20.0,
'imageQuality': null,
+ 'useAndroidPhotoPicker': false,
}),
isMethodCall('pickMultiImage', arguments: <String, dynamic>{
'maxWidth': 10.0,
'maxHeight': null,
'imageQuality': 70,
+ 'useAndroidPhotoPicker': false,
}),
isMethodCall('pickMultiImage', arguments: <String, dynamic>{
'maxWidth': null,
'maxHeight': 10.0,
'imageQuality': 70,
+ 'useAndroidPhotoPicker': false,
}),
isMethodCall('pickMultiImage', arguments: <String, dynamic>{
'maxWidth': 10.0,
'maxHeight': 20.0,
'imageQuality': 70,
+ 'useAndroidPhotoPicker': false,
}),
],
);
@@ -375,11 +394,13 @@
'source': 0,
'cameraDevice': 0,
'maxDuration': null,
+ 'useAndroidPhotoPicker': false,
}),
isMethodCall('pickVideo', arguments: <String, dynamic>{
'source': 1,
'cameraDevice': 0,
'maxDuration': null,
+ 'useAndroidPhotoPicker': false,
}),
],
);
@@ -406,21 +427,25 @@
'source': 0,
'maxDuration': null,
'cameraDevice': 0,
+ 'useAndroidPhotoPicker': false,
}),
isMethodCall('pickVideo', arguments: <String, dynamic>{
'source': 0,
'maxDuration': 10,
'cameraDevice': 0,
+ 'useAndroidPhotoPicker': false,
}),
isMethodCall('pickVideo', arguments: <String, dynamic>{
'source': 0,
'maxDuration': 60,
'cameraDevice': 0,
+ 'useAndroidPhotoPicker': false,
}),
isMethodCall('pickVideo', arguments: <String, dynamic>{
'source': 0,
'maxDuration': 3600,
'cameraDevice': 0,
+ 'useAndroidPhotoPicker': false,
}),
],
);
@@ -446,6 +471,7 @@
'source': 0,
'cameraDevice': 0,
'maxDuration': null,
+ 'useAndroidPhotoPicker': false,
}),
],
);
@@ -464,6 +490,7 @@
'source': 0,
'maxDuration': null,
'cameraDevice': 1,
+ 'useAndroidPhotoPicker': false,
}),
],
);
@@ -546,6 +573,7 @@
'imageQuality': null,
'cameraDevice': 0,
'requestFullMetadata': true,
+ 'useAndroidPhotoPicker': false,
}),
isMethodCall('pickImage', arguments: <String, dynamic>{
'source': 1,
@@ -554,6 +582,7 @@
'imageQuality': null,
'cameraDevice': 0,
'requestFullMetadata': true,
+ 'useAndroidPhotoPicker': false,
}),
],
);
@@ -601,6 +630,7 @@
'imageQuality': null,
'cameraDevice': 0,
'requestFullMetadata': true,
+ 'useAndroidPhotoPicker': false,
}),
isMethodCall('pickImage', arguments: <String, dynamic>{
'source': 0,
@@ -609,6 +639,7 @@
'imageQuality': null,
'cameraDevice': 0,
'requestFullMetadata': true,
+ 'useAndroidPhotoPicker': false,
}),
isMethodCall('pickImage', arguments: <String, dynamic>{
'source': 0,
@@ -617,6 +648,7 @@
'imageQuality': null,
'cameraDevice': 0,
'requestFullMetadata': true,
+ 'useAndroidPhotoPicker': false,
}),
isMethodCall('pickImage', arguments: <String, dynamic>{
'source': 0,
@@ -625,6 +657,7 @@
'imageQuality': null,
'cameraDevice': 0,
'requestFullMetadata': true,
+ 'useAndroidPhotoPicker': false,
}),
isMethodCall('pickImage', arguments: <String, dynamic>{
'source': 0,
@@ -633,6 +666,7 @@
'imageQuality': 70,
'cameraDevice': 0,
'requestFullMetadata': true,
+ 'useAndroidPhotoPicker': false,
}),
isMethodCall('pickImage', arguments: <String, dynamic>{
'source': 0,
@@ -641,6 +675,7 @@
'imageQuality': 70,
'cameraDevice': 0,
'requestFullMetadata': true,
+ 'useAndroidPhotoPicker': false,
}),
isMethodCall('pickImage', arguments: <String, dynamic>{
'source': 0,
@@ -649,6 +684,7 @@
'imageQuality': 70,
'cameraDevice': 0,
'requestFullMetadata': true,
+ 'useAndroidPhotoPicker': false,
}),
],
);
@@ -711,6 +747,7 @@
'imageQuality': null,
'cameraDevice': 0,
'requestFullMetadata': true,
+ 'useAndroidPhotoPicker': false,
}),
],
);
@@ -731,6 +768,7 @@
'imageQuality': null,
'cameraDevice': 1,
'requestFullMetadata': true,
+ 'useAndroidPhotoPicker': false,
}),
],
);
@@ -749,6 +787,7 @@
'maxWidth': null,
'maxHeight': null,
'imageQuality': null,
+ 'useAndroidPhotoPicker': false,
}),
],
);
@@ -788,36 +827,43 @@
'maxWidth': null,
'maxHeight': null,
'imageQuality': null,
+ 'useAndroidPhotoPicker': false,
}),
isMethodCall('pickMultiImage', arguments: <String, dynamic>{
'maxWidth': 10.0,
'maxHeight': null,
'imageQuality': null,
+ 'useAndroidPhotoPicker': false,
}),
isMethodCall('pickMultiImage', arguments: <String, dynamic>{
'maxWidth': null,
'maxHeight': 10.0,
'imageQuality': null,
+ 'useAndroidPhotoPicker': false,
}),
isMethodCall('pickMultiImage', arguments: <String, dynamic>{
'maxWidth': 10.0,
'maxHeight': 20.0,
'imageQuality': null,
+ 'useAndroidPhotoPicker': false,
}),
isMethodCall('pickMultiImage', arguments: <String, dynamic>{
'maxWidth': 10.0,
'maxHeight': null,
'imageQuality': 70,
+ 'useAndroidPhotoPicker': false,
}),
isMethodCall('pickMultiImage', arguments: <String, dynamic>{
'maxWidth': null,
'maxHeight': 10.0,
'imageQuality': 70,
+ 'useAndroidPhotoPicker': false,
}),
isMethodCall('pickMultiImage', arguments: <String, dynamic>{
'maxWidth': 10.0,
'maxHeight': 20.0,
'imageQuality': 70,
+ 'useAndroidPhotoPicker': false,
}),
],
);
@@ -872,11 +918,13 @@
'source': 0,
'cameraDevice': 0,
'maxDuration': null,
+ 'useAndroidPhotoPicker': false,
}),
isMethodCall('pickVideo', arguments: <String, dynamic>{
'source': 1,
'cameraDevice': 0,
'maxDuration': null,
+ 'useAndroidPhotoPicker': false,
}),
],
);
@@ -903,21 +951,25 @@
'source': 0,
'maxDuration': null,
'cameraDevice': 0,
+ 'useAndroidPhotoPicker': false,
}),
isMethodCall('pickVideo', arguments: <String, dynamic>{
'source': 0,
'maxDuration': 10,
'cameraDevice': 0,
+ 'useAndroidPhotoPicker': false,
}),
isMethodCall('pickVideo', arguments: <String, dynamic>{
'source': 0,
'maxDuration': 60,
'cameraDevice': 0,
+ 'useAndroidPhotoPicker': false,
}),
isMethodCall('pickVideo', arguments: <String, dynamic>{
'source': 0,
'maxDuration': 3600,
'cameraDevice': 0,
+ 'useAndroidPhotoPicker': false,
}),
],
);
@@ -943,6 +995,7 @@
'source': 0,
'cameraDevice': 0,
'maxDuration': null,
+ 'useAndroidPhotoPicker': false,
}),
],
);
@@ -961,6 +1014,7 @@
'source': 0,
'maxDuration': null,
'cameraDevice': 1,
+ 'useAndroidPhotoPicker': false,
}),
],
);
@@ -1062,6 +1116,7 @@
'imageQuality': null,
'cameraDevice': 0,
'requestFullMetadata': true,
+ 'useAndroidPhotoPicker': false,
}),
isMethodCall('pickImage', arguments: <String, dynamic>{
'source': 1,
@@ -1070,6 +1125,7 @@
'imageQuality': null,
'cameraDevice': 0,
'requestFullMetadata': true,
+ 'useAndroidPhotoPicker': false,
}),
],
);
@@ -1125,6 +1181,7 @@
'imageQuality': null,
'cameraDevice': 0,
'requestFullMetadata': true,
+ 'useAndroidPhotoPicker': false,
}),
isMethodCall('pickImage', arguments: <String, dynamic>{
'source': 0,
@@ -1133,6 +1190,7 @@
'imageQuality': null,
'cameraDevice': 0,
'requestFullMetadata': true,
+ 'useAndroidPhotoPicker': false,
}),
isMethodCall('pickImage', arguments: <String, dynamic>{
'source': 0,
@@ -1141,6 +1199,7 @@
'imageQuality': null,
'cameraDevice': 0,
'requestFullMetadata': true,
+ 'useAndroidPhotoPicker': false,
}),
isMethodCall('pickImage', arguments: <String, dynamic>{
'source': 0,
@@ -1149,6 +1208,7 @@
'imageQuality': null,
'cameraDevice': 0,
'requestFullMetadata': true,
+ 'useAndroidPhotoPicker': false,
}),
isMethodCall('pickImage', arguments: <String, dynamic>{
'source': 0,
@@ -1157,6 +1217,7 @@
'imageQuality': 70,
'cameraDevice': 0,
'requestFullMetadata': true,
+ 'useAndroidPhotoPicker': false,
}),
isMethodCall('pickImage', arguments: <String, dynamic>{
'source': 0,
@@ -1165,6 +1226,7 @@
'imageQuality': 70,
'cameraDevice': 0,
'requestFullMetadata': true,
+ 'useAndroidPhotoPicker': false,
}),
isMethodCall('pickImage', arguments: <String, dynamic>{
'source': 0,
@@ -1173,6 +1235,7 @@
'imageQuality': 70,
'cameraDevice': 0,
'requestFullMetadata': true,
+ 'useAndroidPhotoPicker': false,
}),
],
);
@@ -1255,6 +1318,7 @@
'imageQuality': null,
'cameraDevice': 0,
'requestFullMetadata': true,
+ 'useAndroidPhotoPicker': false,
}),
],
);
@@ -1278,6 +1342,7 @@
'imageQuality': null,
'cameraDevice': 1,
'requestFullMetadata': true,
+ 'useAndroidPhotoPicker': false,
}),
],
);
@@ -1299,6 +1364,7 @@
'imageQuality': null,
'cameraDevice': 0,
'requestFullMetadata': false,
+ 'useAndroidPhotoPicker': false,
}),
],
);