Skip to content
This repository was archived by the owner on Feb 22, 2023. It is now read-only.

Commit e0a6234

Browse files
ivk1800Michael Klimushyn
authored and
Michael Klimushyn
committed
[image_picker] remove unnecessary camera permmision (#1268)
fixed flutter/flutter#19806
1 parent 16b8678 commit e0a6234

File tree

3 files changed

+0
-110
lines changed

3 files changed

+0
-110
lines changed

packages/image_picker/android/src/main/AndroidManifest.xml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
package="io.flutter.plugins.imagepicker">
33
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
44
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
5-
<uses-permission android:name="android.permission.CAMERA"/>
65

76
<application>
87
<provider

packages/image_picker/android/src/main/java/io/flutter/plugins/imagepicker/ImagePickerDelegate.java

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -68,11 +68,9 @@ public class ImagePickerDelegate
6868
@VisibleForTesting static final int REQUEST_CODE_CHOOSE_IMAGE_FROM_GALLERY = 2342;
6969
@VisibleForTesting static final int REQUEST_CODE_TAKE_IMAGE_WITH_CAMERA = 2343;
7070
@VisibleForTesting static final int REQUEST_EXTERNAL_IMAGE_STORAGE_PERMISSION = 2344;
71-
@VisibleForTesting static final int REQUEST_CAMERA_IMAGE_PERMISSION = 2345;
7271
@VisibleForTesting static final int REQUEST_CODE_CHOOSE_VIDEO_FROM_GALLERY = 2352;
7372
@VisibleForTesting static final int REQUEST_CODE_TAKE_VIDEO_WITH_CAMERA = 2353;
7473
@VisibleForTesting static final int REQUEST_EXTERNAL_VIDEO_STORAGE_PERMISSION = 2354;
75-
@VisibleForTesting static final int REQUEST_CAMERA_VIDEO_PERMISSION = 2355;
7674

7775
@VisibleForTesting final String fileProviderName;
7876

@@ -212,12 +210,6 @@ public void takeVideoWithCamera(MethodCall methodCall, MethodChannel.Result resu
212210
return;
213211
}
214212

215-
if (!permissionManager.isPermissionGranted(Manifest.permission.CAMERA)) {
216-
permissionManager.askForPermission(
217-
Manifest.permission.CAMERA, REQUEST_CAMERA_VIDEO_PERMISSION);
218-
return;
219-
}
220-
221213
launchTakeVideoWithCameraIntent();
222214
}
223215

@@ -268,12 +260,6 @@ public void takeImageWithCamera(MethodCall methodCall, MethodChannel.Result resu
268260
return;
269261
}
270262

271-
if (!permissionManager.isPermissionGranted(Manifest.permission.CAMERA)) {
272-
permissionManager.askForPermission(
273-
Manifest.permission.CAMERA, REQUEST_CAMERA_IMAGE_PERMISSION);
274-
return;
275-
}
276-
277263
launchTakeImageWithCameraIntent();
278264
}
279265

@@ -347,16 +333,6 @@ public boolean onRequestPermissionsResult(
347333
launchPickVideoFromGalleryIntent();
348334
}
349335
break;
350-
case REQUEST_CAMERA_IMAGE_PERMISSION:
351-
if (permissionGranted) {
352-
launchTakeImageWithCameraIntent();
353-
}
354-
break;
355-
case REQUEST_CAMERA_VIDEO_PERMISSION:
356-
if (permissionGranted) {
357-
launchTakeVideoWithCameraIntent();
358-
}
359-
break;
360336
default:
361337
return false;
362338
}

packages/image_picker/example/android/app/src/test/java/io/flutter/plugins/imagepicker/ImagePickerDelegateTest.java

Lines changed: 0 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -128,46 +128,6 @@ public void takeImageWithCamera_WhenPendingResultExists_FinishesWithAlreadyActiv
128128
verifyNoMoreInteractions(mockResult);
129129
}
130130

131-
@Test
132-
public void takeImageWithCamera_WhenHasNoCameraPermission_RequestsForPermission() {
133-
when(mockPermissionManager.isPermissionGranted(Manifest.permission.CAMERA)).thenReturn(false);
134-
135-
ImagePickerDelegate delegate = createDelegate();
136-
delegate.takeImageWithCamera(mockMethodCall, mockResult);
137-
138-
verify(mockPermissionManager)
139-
.askForPermission(
140-
Manifest.permission.CAMERA, ImagePickerDelegate.REQUEST_CAMERA_IMAGE_PERMISSION);
141-
}
142-
143-
@Test
144-
public void
145-
takeImageWithCamera_WhenHasCameraPermission_AndAnActivityCanHandleCameraIntent_LaunchesTakeWithCameraIntent() {
146-
when(mockPermissionManager.isPermissionGranted(Manifest.permission.CAMERA)).thenReturn(true);
147-
when(mockIntentResolver.resolveActivity(any(Intent.class))).thenReturn(true);
148-
149-
ImagePickerDelegate delegate = createDelegate();
150-
delegate.takeImageWithCamera(mockMethodCall, mockResult);
151-
152-
verify(mockActivity)
153-
.startActivityForResult(
154-
any(Intent.class), eq(ImagePickerDelegate.REQUEST_CODE_TAKE_IMAGE_WITH_CAMERA));
155-
}
156-
157-
@Test
158-
public void
159-
takeImageWithCamera_WhenHasCameraPermission_AndNoActivityToHandleCameraIntent_FinishesWithNoCamerasAvailableError() {
160-
when(mockPermissionManager.isPermissionGranted(Manifest.permission.CAMERA)).thenReturn(true);
161-
when(mockIntentResolver.resolveActivity(any(Intent.class))).thenReturn(false);
162-
163-
ImagePickerDelegate delegate = createDelegate();
164-
delegate.takeImageWithCamera(mockMethodCall, mockResult);
165-
166-
verify(mockResult)
167-
.error("no_available_camera", "No cameras available for taking pictures.", null);
168-
verifyNoMoreInteractions(mockResult);
169-
}
170-
171131
@Test
172132
public void
173133
onRequestPermissionsResult_WhenReadExternalStoragePermissionDenied_FinishesWithNull() {
@@ -212,51 +172,6 @@ public void takeImageWithCamera_WhenHasNoCameraPermission_RequestsForPermission(
212172
any(Intent.class), eq(ImagePickerDelegate.REQUEST_CODE_CHOOSE_VIDEO_FROM_GALLERY));
213173
}
214174

215-
@Test
216-
public void onRequestPermissionsResult_WhenCameraPermissionDenied_FinishesWithNull() {
217-
ImagePickerDelegate delegate = createDelegateWithPendingResultAndMethodCall();
218-
219-
delegate.onRequestPermissionsResult(
220-
ImagePickerDelegate.REQUEST_CAMERA_IMAGE_PERMISSION,
221-
new String[] {Manifest.permission.CAMERA},
222-
new int[] {PackageManager.PERMISSION_DENIED});
223-
224-
verify(mockResult).success(null);
225-
verifyNoMoreInteractions(mockResult);
226-
}
227-
228-
@Test
229-
public void
230-
onRequestTakeVideoPermissionsResult_WhenCameraPermissionGranted_LaunchesTakeVideoWithCameraIntent() {
231-
when(mockIntentResolver.resolveActivity(any(Intent.class))).thenReturn(true);
232-
233-
ImagePickerDelegate delegate = createDelegateWithPendingResultAndMethodCall();
234-
delegate.onRequestPermissionsResult(
235-
ImagePickerDelegate.REQUEST_CAMERA_VIDEO_PERMISSION,
236-
new String[] {Manifest.permission.CAMERA},
237-
new int[] {PackageManager.PERMISSION_GRANTED});
238-
239-
verify(mockActivity)
240-
.startActivityForResult(
241-
any(Intent.class), eq(ImagePickerDelegate.REQUEST_CODE_TAKE_VIDEO_WITH_CAMERA));
242-
}
243-
244-
@Test
245-
public void
246-
onRequestTakeImagePermissionsResult_WhenCameraPermissionGranted_LaunchesTakeWithCameraIntent() {
247-
when(mockIntentResolver.resolveActivity(any(Intent.class))).thenReturn(true);
248-
249-
ImagePickerDelegate delegate = createDelegateWithPendingResultAndMethodCall();
250-
delegate.onRequestPermissionsResult(
251-
ImagePickerDelegate.REQUEST_CAMERA_IMAGE_PERMISSION,
252-
new String[] {Manifest.permission.CAMERA},
253-
new int[] {PackageManager.PERMISSION_GRANTED});
254-
255-
verify(mockActivity)
256-
.startActivityForResult(
257-
any(Intent.class), eq(ImagePickerDelegate.REQUEST_CODE_TAKE_IMAGE_WITH_CAMERA));
258-
}
259-
260175
@Test
261176
public void onActivityResult_WhenPickFromGalleryCanceled_FinishesWithNull() {
262177
ImagePickerDelegate delegate = createDelegateWithPendingResultAndMethodCall();

0 commit comments

Comments
 (0)