diff --git a/README.md b/README.md
index ddf0dff..1eba25f 100644
--- a/README.md
+++ b/README.md
@@ -118,12 +118,8 @@ To add these entries into the `info.plist`, you can use the `edit-config` tag in
* [.EncodingType](#module_Camera.EncodingType) : enum
* [.MediaType](#module_Camera.MediaType) : enum
* [.PictureSourceType](#module_Camera.PictureSourceType) : enum
- * [.PopoverArrowDirection](#module_Camera.PopoverArrowDirection) : enum
* [.Direction](#module_Camera.Direction) : enum
-* [CameraPopoverHandle](#module_CameraPopoverHandle)
-* [CameraPopoverOptions](#module_CameraPopoverOptions)
-
---
@@ -312,7 +308,6 @@ Optional parameters to customize the camera settings.
| mediaType | [MediaType](#module_Camera.MediaType) | PICTURE | Set the type of media to select from. Only works when `PictureSourceType` is `PHOTOLIBRARY` or `SAVEDPHOTOALBUM`. |
| correctOrientation | Boolean | | Rotate the image to correct for the orientation of the device during capture. |
| saveToPhotoAlbum | Boolean | | Save the image to the photo album on the device after capture.
See [Android Quirks](#cameragetpicturesuccesscallback-errorcallback-options). |
-| popoverOptions | [CameraPopoverOptions](#module_CameraPopoverOptions) | | iOS-only options that specify popover location in iPad. |
| cameraDirection | [Direction](#module_Camera.Direction) | BACK | Choose the camera to use (front- or back-facing). |
---
@@ -370,24 +365,6 @@ Defines the output format of `Camera.getPicture` call.
| CAMERA | number | 1 | Take picture from camera |
| SAVEDPHOTOALBUM | number | 2 | Same as `PHOTOLIBRARY`, when running on Android or iOS 14+. On iOS older than 14, an image can only be chosen from the device's Camera Roll album with this setting. |
-
-
-
-
-### Camera.PopoverArrowDirection : enum
-Matches iOS UIPopoverArrowDirection constants to specify arrow location on popover.
-
-**Kind**: static enum property of [Camera](#module_Camera)
-**Properties**
-
-| Name | Type | Default |
-| --- | --- | --- |
-| ARROW_UP | number | 1 |
-| ARROW_DOWN | number | 2 |
-| ARROW_LEFT | number | 4 |
-| ARROW_RIGHT | number | 8 |
-| ARROW_ANY | number | 15 |
-
### Camera.Direction : enum
@@ -401,58 +378,6 @@ Matches iOS UIPopoverArrowDirection constants to specify arrow location on popov
---
-
-
-## CameraPopoverOptions
-iOS-only parameters that specify the anchor element location and arrow
-direction of the popover when selecting images from an iPad's library
-or album.
-Note that the size of the popover may change to adjust to the
-direction of the arrow and orientation of the screen. Make sure to
-account for orientation changes when specifying the anchor element
-location.
-
-
-| Param | Type | Default | Description |
-| --- | --- | --- | --- |
-| [x] | Number | 0 | x pixel coordinate of screen element onto which to anchor the popover. |
-| [y] | Number | 32 | y pixel coordinate of screen element onto which to anchor the popover. |
-| [width] | Number | 320 | width, in pixels, of the screen element onto which to anchor the popover. |
-| [height] | Number | 480 | height, in pixels, of the screen element onto which to anchor the popover. |
-| [arrowDir] | [PopoverArrowDirection](#module_Camera.PopoverArrowDirection) | ARROW_ANY | Direction the arrow on the popover should point. |
-| [popoverWidth] | Number | 0 | width of the popover (0 or not specified will use apple's default width). |
-| [popoverHeight] | Number | 0 | height of the popover (0 or not specified will use apple's default height). |
-
----
-
-
-
-## CameraPopoverHandle
-A handle to an image picker popover.
-
-__Supported Platforms__
-
-- iOS
-
-**Example**
-```js
-navigator.camera.getPicture(onSuccess, onFail,
-{
- destinationType: Camera.DestinationType.FILE_URI,
- sourceType: Camera.PictureSourceType.PHOTOLIBRARY,
- popoverOptions: new CameraPopoverOptions(300, 300, 100, 100, Camera.PopoverArrowDirection.ARROW_ANY, 300, 600)
-});
-
-// Reposition the popover if the orientation changes.
-window.onorientationchange = function() {
- var cameraPopoverHandle = new CameraPopoverHandle();
- var cameraPopoverOptions = new CameraPopoverOptions(0, 0, 100, 100, Camera.PopoverArrowDirection.ARROW_ANY, 400, 500);
- cameraPopoverHandle.setPosition(cameraPopoverOptions);
-}
-```
----
-
-
## `camera.getPicture` Errata
#### Example
@@ -525,7 +450,7 @@ Can only return photos as data URI image.
Including a JavaScript `alert()` in either of the callback functions
can cause problems. Wrap the alert within a `setTimeout()` to allow
-the iOS image picker or popover to fully close before the alert
+the iOS image picker to fully close before the alert
displays:
```javascript
diff --git a/plugin.xml b/plugin.xml
index acfc9ff..b0ac236 100644
--- a/plugin.xml
+++ b/plugin.xml
@@ -39,10 +39,6 @@
-
-
-
-
@@ -91,10 +87,6 @@
-
-
-
-
@@ -106,10 +98,6 @@
-
-
-
-
diff --git a/src/ios/CDVCamera.h b/src/ios/CDVCamera.h
index 1bbc167..37f4fcf 100644
--- a/src/ios/CDVCamera.h
+++ b/src/ios/CDVCamera.h
@@ -72,10 +72,8 @@ typedef NSUInteger CDVMediaType;
@property (assign) BOOL allowsEditing;
@property (assign) BOOL correctOrientation;
@property (assign) BOOL saveToPhotoAlbum;
-@property (strong) NSDictionary* popoverOptions;
@property (assign) UIImagePickerControllerCameraDevice cameraDirection;
-@property (assign) BOOL popoverSupported;
@property (assign) BOOL usesGeolocation;
@property (assign) BOOL cropToSize;
@@ -89,7 +87,6 @@ typedef NSUInteger CDVMediaType;
@property (copy) NSString* callbackId;
@property (copy) NSString* postUrl;
-@property (strong) UIPopoverController* pickerPopoverController;
@property (assign) BOOL cropToSize;
@property (strong) UIView* webView;
@@ -103,14 +100,12 @@ typedef NSUInteger CDVMediaType;
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 140000 // Always true on XCode12+
@interface CDVCamera : CDVPlugin
{}
#else
@interface CDVCamera : CDVPlugin
{}
#endif
@@ -122,7 +117,6 @@ typedef NSUInteger CDVMediaType;
- (void)takePicture:(CDVInvokedUrlCommand*)command;
- (void)cleanup:(CDVInvokedUrlCommand*)command;
-- (void)repositionPopover:(CDVInvokedUrlCommand*)command;
// UIImagePickerControllerDelegate methods
- (void)imagePickerController:(UIImagePickerController*)picker didFinishPickingMediaWithInfo:(NSDictionary*)info;
diff --git a/src/ios/CDVCamera.m b/src/ios/CDVCamera.m
index d1c417d..0284351 100644
--- a/src/ios/CDVCamera.m
+++ b/src/ios/CDVCamera.m
@@ -37,8 +37,6 @@
#define CDV_PHOTO_PREFIX @"cdv_photo_"
-static NSSet* org_apache_cordova_validArrowDirections;
-
static NSString* toBase64(NSData* data)
{
SEL s1 = NSSelectorFromString(@"cdv_base64EncodedString");
@@ -84,10 +82,8 @@ static NSString* MIME_JPEG = @"image/jpeg";
pictureOptions.allowsEditing = [[command argumentAtIndex:7 withDefault:@(NO)] boolValue];
pictureOptions.correctOrientation = [[command argumentAtIndex:8 withDefault:@(NO)] boolValue];
pictureOptions.saveToPhotoAlbum = [[command argumentAtIndex:9 withDefault:@(NO)] boolValue];
- pictureOptions.popoverOptions = [command argumentAtIndex:10 withDefault:nil];
- pictureOptions.cameraDirection = [[command argumentAtIndex:11 withDefault:@(UIImagePickerControllerCameraDeviceRear)] unsignedIntegerValue];
+ pictureOptions.cameraDirection = [[command argumentAtIndex:10 withDefault:@(UIImagePickerControllerCameraDeviceRear)] unsignedIntegerValue];
- pictureOptions.popoverSupported = NO;
pictureOptions.usesGeolocation = NO;
return pictureOptions;
@@ -104,11 +100,6 @@ static NSString* MIME_JPEG = @"image/jpeg";
@implementation CDVCamera
-+ (void)initialize
-{
- org_apache_cordova_validArrowDirections = [[NSSet alloc] initWithObjects:[NSNumber numberWithInt:UIPopoverArrowDirectionUp], [NSNumber numberWithInt:UIPopoverArrowDirectionDown], [NSNumber numberWithInt:UIPopoverArrowDirectionLeft], [NSNumber numberWithInt:UIPopoverArrowDirectionRight], [NSNumber numberWithInt:UIPopoverArrowDirectionAny], nil];
-}
-
@synthesize hasPendingOperation, pickerController, locationManager;
- (NSURL*)urlTransformer:(NSURL*)url
@@ -135,12 +126,6 @@ static NSString* MIME_JPEG = @"image/jpeg";
return [(NSNumber*)useGeo boolValue];
}
-- (BOOL)popoverSupported
-{
- return (NSClassFromString(@"UIPopoverController") != nil) &&
- (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad);
-}
-
/**
Called by JS function navigator.camera.getPicture(cameraSuccess, cameraError, cameraOptions)
which will invoke the camera or photo picker to capture or select an image or video.
@@ -156,8 +141,7 @@ static NSString* MIME_JPEG = @"image/jpeg";
- index 7 (allowsEditing): NSNumber(BOOL). Allow user to crop/edit. Default: NO.
- index 8 (correctOrientation): NSNumber(BOOL). Fix EXIF orientation. Default: NO.
- index 9 (saveToPhotoAlbum): NSNumber(BOOL). Save captured image to Photos. Default: NO.
- - index 10 (popoverOptions): NSDictionary (iPad only). Popover positioning and sizing.
- - index 11 (cameraDirection): NSNumber (UIImagePickerControllerCameraDevice). Front/Rear. Default: Rear.
+ - index 10 (cameraDirection): NSNumber (UIImagePickerControllerCameraDevice). Front/Rear. Default: Rear.
@discussion
This method validates hardware availability and permissions (camera or photo library),
@@ -171,7 +155,6 @@ static NSString* MIME_JPEG = @"image/jpeg";
[self.commandDelegate runInBackground:^{
CDVPictureOptions* pictureOptions = [CDVPictureOptions createFromTakePictureArguments:command];
- pictureOptions.popoverSupported = [weakSelf popoverSupported];
pictureOptions.usesGeolocation = [weakSelf usesGeolocation];
pictureOptions.cropToSize = NO;
@@ -279,12 +262,11 @@ static NSString* MIME_JPEG = @"image/jpeg";
- Ensures presentation occurs on the main thread.
Behavior:
- - Dismisses any visible popover before presenting a new picker (iPad).
- - Configures delegates, media types, and popover presentation as needed.
+ - Configures delegates and media types
- Updates `hasPendingOperation` to reflect plugin activity state.
@param callbackId The Cordova callback identifier used to deliver results back to JavaScript.
- @param pictureOptions Parsed camera options (sourceType, mediaType, allowsEditing, popoverOptions, etc.).
+ @param pictureOptions Parsed camera options (sourceType, mediaType, allowsEditing, etc.).
*/
- (void)showCameraPicker:(NSString*)callbackId withOptions:(CDVPictureOptions*)pictureOptions
{
@@ -309,28 +291,12 @@ static NSString* MIME_JPEG = @"image/jpeg";
cameraPicker.callbackId = callbackId;
// we need to capture this state for memory warnings that dealloc this object
cameraPicker.webView = self.webView;
-
- // If a popover is already open, close it; we only want one at a time.
- if (([[self pickerController] pickerPopoverController] != nil) && [[[self pickerController] pickerPopoverController] isPopoverVisible]) {
- [[[self pickerController] pickerPopoverController] dismissPopoverAnimated:YES];
- [[[self pickerController] pickerPopoverController] setDelegate:nil];
- [[self pickerController] setPickerPopoverController:nil];
- }
-
- if ([self popoverSupported] && (pictureOptions.sourceType != UIImagePickerControllerSourceTypeCamera)) {
- if (cameraPicker.pickerPopoverController == nil) {
- cameraPicker.pickerPopoverController = [[NSClassFromString(@"UIPopoverController") alloc] initWithContentViewController:cameraPicker];
- }
- [self displayPopover:pictureOptions.popoverOptions];
+ cameraPicker.modalPresentationStyle = UIModalPresentationCurrentContext;
+ [self.viewController presentViewController:cameraPicker
+ animated:YES
+ completion:^{
self.hasPendingOperation = NO;
- } else {
- cameraPicker.modalPresentationStyle = UIModalPresentationCurrentContext;
- [self.viewController presentViewController:cameraPicker
- animated:YES
- completion:^{
- self.hasPendingOperation = NO;
- }];
- }
+ }];
});
}
@@ -526,17 +492,6 @@ static NSString* MIME_JPEG = @"image/jpeg";
}
#endif
-- (void)repositionPopover:(CDVInvokedUrlCommand*)command
-{
- if (([[self pickerController] pickerPopoverController] != nil) && [[[self pickerController] pickerPopoverController] isPopoverVisible]) {
-
- [[[self pickerController] pickerPopoverController] dismissPopoverAnimated:NO];
-
- NSDictionary* options = [command argumentAtIndex:0 withDefault:nil];
- [self displayPopover:options];
- }
-}
-
- (NSInteger)integerValueForKey:(NSDictionary*)dict key:(NSString*)key defaultValue:(NSInteger)defaultValue
{
NSInteger value = defaultValue;
@@ -549,55 +504,18 @@ static NSString* MIME_JPEG = @"image/jpeg";
return value;
}
-- (void)displayPopover:(NSDictionary*)options
-{
- NSInteger x = 0;
- NSInteger y = 32;
- NSInteger width = 320;
- NSInteger height = 480;
- UIPopoverArrowDirection arrowDirection = UIPopoverArrowDirectionAny;
-
- if (options) {
- x = [self integerValueForKey:options key:@"x" defaultValue:0];
- y = [self integerValueForKey:options key:@"y" defaultValue:32];
- width = [self integerValueForKey:options key:@"width" defaultValue:320];
- height = [self integerValueForKey:options key:@"height" defaultValue:480];
- arrowDirection = [self integerValueForKey:options key:@"arrowDir" defaultValue:UIPopoverArrowDirectionAny];
- if (![org_apache_cordova_validArrowDirections containsObject:[NSNumber numberWithUnsignedInteger:arrowDirection]]) {
- arrowDirection = UIPopoverArrowDirectionAny;
- }
- }
-
- [[[self pickerController] pickerPopoverController] setDelegate:self];
- [[[self pickerController] pickerPopoverController] presentPopoverFromRect:CGRectMake(x, y, width, height)
- inView:[self.webView superview]
- permittedArrowDirections:arrowDirection
- animated:YES];
-}
-
// UINavigationControllerDelegate method
- (void)navigationController:(UINavigationController*)navigationController
willShowViewController:(UIViewController*)viewController
animated:(BOOL)animated
{
+ // Backward compatibility for iOS < 14
+ // Set title "Videos", when picking videos with the legacy UIImagePickerController
if([navigationController isKindOfClass:[UIImagePickerController class]]) {
- // If popoverWidth and popoverHeight are specified and are greater than 0,
- // then set popover size, else use apple's default popoverSize
- NSDictionary* options = self.pickerController.pictureOptions.popoverOptions;
-
- if(options) {
- NSInteger popoverWidth = [self integerValueForKey:options key:@"popoverWidth" defaultValue:0];
- NSInteger popoverHeight = [self integerValueForKey:options key:@"popoverHeight" defaultValue:0];
-
- if(popoverWidth > 0 && popoverHeight > 0) {
- [viewController setPreferredContentSize:CGSizeMake(popoverWidth,popoverHeight)];
- }
- }
-
- UIImagePickerController* imagePicker = (UIImagePickerController*)navigationController;
+ UIImagePickerController* imagePickerController = (UIImagePickerController*)navigationController;
- // Set "Videos" title if mediaType is not for images
- if(![imagePicker.mediaTypes containsObject:(NSString*)kUTTypeImage]) {
+ // Set title "Videos" when picking not images
+ if(![imagePickerController.mediaTypes containsObject:(NSString*)kUTTypeImage]) {
[viewController.navigationItem setTitle:NSLocalizedString(@"Videos", nil)];
}
}
@@ -638,21 +556,6 @@ static NSString* MIME_JPEG = @"image/jpeg";
[self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
}
-- (void)popoverControllerDidDismissPopover:(id)popoverController
-{
- UIPopoverController* pc = (UIPopoverController*)popoverController;
-
- [pc dismissPopoverAnimated:YES];
- pc.delegate = nil;
- if (self.pickerController && self.pickerController.callbackId && self.pickerController.pickerPopoverController) {
- self.pickerController.pickerPopoverController = nil;
- NSString* callbackId = self.pickerController.callbackId;
- CDVPluginResult* result = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsString:@"no image selected"]; // error callback expects string ATM
- [self.commandDelegate sendPluginResult:result callbackId:callbackId];
- }
- self.hasPendingOperation = NO;
-}
-
- (NSString*)getMimeForEncoding:(CDVEncodingType)encoding
{
switch (encoding) {
@@ -1007,14 +910,7 @@ static NSString* MIME_JPEG = @"image/jpeg";
}
};
- if (cameraPicker.pictureOptions.popoverSupported && (cameraPicker.pickerPopoverController != nil)) {
- [cameraPicker.pickerPopoverController dismissPopoverAnimated:YES];
- cameraPicker.pickerPopoverController.delegate = nil;
- cameraPicker.pickerPopoverController = nil;
- invoke();
- } else {
- [[cameraPicker presentingViewController] dismissViewControllerAnimated:YES completion:invoke];
- }
+ [[cameraPicker presentingViewController] dismissViewControllerAnimated:YES completion:invoke];
}
// older api calls newer didFinishPickingMediaWithInfo
diff --git a/tests/ios/CDVCameraTest/CDVCameraLibTests/CameraTest.m b/tests/ios/CDVCameraTest/CDVCameraLibTests/CameraTest.m
index 13a71ad..68e0421 100644
--- a/tests/ios/CDVCameraTest/CDVCameraLibTests/CameraTest.m
+++ b/tests/ios/CDVCameraTest/CDVCameraLibTests/CameraTest.m
@@ -61,7 +61,6 @@
{
NSArray* args;
CDVPictureOptions* options;
- NSDictionary* popoverOptions;
// No arguments, check whether the defaults are set
args = @[];
@@ -79,14 +78,10 @@
XCTAssertEqual(options.allowsEditing, NO);
XCTAssertEqual(options.correctOrientation, NO);
XCTAssertEqual(options.saveToPhotoAlbum, NO);
- XCTAssertEqualObjects(options.popoverOptions, nil);
XCTAssertEqual(options.cameraDirection, (int)UIImagePickerControllerCameraDeviceRear);
- XCTAssertEqual(options.popoverSupported, NO);
XCTAssertEqual(options.usesGeolocation, NO);
// Set each argument, check whether they are set. different from defaults
- popoverOptions = @{ @"x" : @1, @"y" : @2, @"width" : @3, @"height" : @4, @"popoverWidth": @200, @"popoverHeight": @300 };
-
args = @[
@(49),
@(DestinationTypeDataUrl),
@@ -98,7 +93,6 @@
@YES,
@YES,
@YES,
- popoverOptions,
@(UIImagePickerControllerCameraDeviceFront),
];
@@ -115,22 +109,17 @@
XCTAssertEqual(options.allowsEditing, YES);
XCTAssertEqual(options.correctOrientation, YES);
XCTAssertEqual(options.saveToPhotoAlbum, YES);
- XCTAssertEqualObjects(options.popoverOptions, popoverOptions);
XCTAssertEqual(options.cameraDirection, (int)UIImagePickerControllerCameraDeviceFront);
- XCTAssertEqual(options.popoverSupported, NO);
XCTAssertEqual(options.usesGeolocation, NO);
}
- (void)testCameraPickerCreate
{
- NSDictionary* popoverOptions;
NSArray* args;
CDVPictureOptions* pictureOptions;
CDVCameraPicker* picker;
- // Source is Camera, and image type - Camera always uses UIImagePickerController
-
- popoverOptions = @{ @"x" : @1, @"y" : @2, @"width" : @3, @"height" : @4, @"popoverWidth": @200, @"popoverHeight": @300 };
+ // Source is Camera, uses always UIImagePickerController
args = @[
@(49),
@(DestinationTypeDataUrl),
@@ -142,7 +131,6 @@
@YES,
@YES,
@YES,
- popoverOptions,
@(UIImagePickerControllerCameraDeviceFront),
];
@@ -173,7 +161,6 @@
@YES,
@YES,
@YES,
- popoverOptions,
@(UIImagePickerControllerCameraDeviceFront),
];
@@ -203,7 +190,6 @@
@YES,
@YES,
@YES,
- popoverOptions,
@(UIImagePickerControllerCameraDeviceFront),
];
diff --git a/tests/tests.js b/tests/tests.js
index 721d412..ae65111 100644
--- a/tests/tests.js
+++ b/tests/tests.js
@@ -19,7 +19,7 @@
*
*/
-/* globals Camera, resolveLocalFileSystemURL, FileEntry, CameraPopoverOptions, LocalFileSystem */
+/* globals Camera, resolveLocalFileSystemURL, FileEntry, LocalFileSystem */
/* eslint-env jasmine */
exports.defineAutoTests = function () {
@@ -156,13 +156,7 @@ exports.defineManualTests = function (contentEl, createActionButton) {
clearStatus();
const options = extractOptions();
log('Getting picture with options: ' + JSON.stringify(options));
- const popoverHandle = navigator.camera.getPicture(getPictureWin, onGetPictureError, options);
-
- // Reposition the popover if the orientation changes.
- window.onorientationchange = function () {
- const newPopoverOptions = new CameraPopoverOptions(0, 0, 100, 100, 0, 300, 400);
- popoverHandle.setPosition(newPopoverOptions);
- };
+ navigator.camera.getPicture(getPictureWin, onGetPictureError, options);
}
function logCallback (apiName, success) {
diff --git a/types/index.d.ts b/types/index.d.ts
index cbf62e2..4fe7788 100644
--- a/types/index.d.ts
+++ b/types/index.d.ts
@@ -36,11 +36,6 @@ interface Camera {
cameraSuccess: (data: string) => void,
cameraError: (message: string) => void,
cameraOptions?: CameraOptions): void;
- // Next will work only on iOS
- //getPicture(
- // cameraSuccess: (data: string) => void,
- // cameraError: (message: string) => void,
- // cameraOptions?: CameraOptions): CameraPopoverHandle;
}
interface CameraOptions {
@@ -100,46 +95,6 @@ interface CameraOptions {
* BACK: 1
*/
cameraDirection?: number;
- /** iOS-only options that specify popover location in iPad. Defined in CameraPopoverOptions. */
- popoverOptions?: CameraPopoverOptions;
-}
-
-/**
- * A handle to the popover dialog created by navigator.camera.getPicture. Used on iOS only.
- */
-interface CameraPopoverHandle {
- /**
- * Set the position of the popover.
- * @param popoverOptions the CameraPopoverOptions that specify the new position.
- */
- setPosition(popoverOptions: CameraPopoverOptions): void;
-}
-
-/**
- * iOS-only parameters that specify the anchor element location and arrow direction
- * of the popover when selecting images from an iPad's library or album.
- */
-interface CameraPopoverOptions {
- x: number;
- y: number;
- width: number;
- height: number;
- /**
- * Direction the arrow on the popover should point. Defined in Camera.PopoverArrowDirection
- * Matches iOS UIPopoverArrowDirection constants.
- * ARROW_UP : 1,
- * ARROW_DOWN : 2,
- * ARROW_LEFT : 4,
- * ARROW_RIGHT : 8,
- * ARROW_ANY : 15
- */
- arrowDir : number;
- popoverWidth: number;
- popoverHeight: number;
-}
-
-declare class CameraPopoverOptions implements CameraPopoverOptions {
- constructor(x?: number, y?: number, width?: number, height?: number, arrowDir?: number);
}
declare var Camera: {
@@ -166,12 +121,4 @@ declare var Camera: {
CAMERA: number;
SAVEDPHOTOALBUM: number;
}
- // Used only on iOS
- PopoverArrowDirection: {
- ARROW_UP: number;
- ARROW_DOWN: number;
- ARROW_LEFT: number;
- ARROW_RIGHT: number;
- ARROW_ANY: number;
- }
};
diff --git a/www/Camera.js b/www/Camera.js
index 1e6b5ca..230a221 100644
--- a/www/Camera.js
+++ b/www/Camera.js
@@ -22,8 +22,6 @@
const argscheck = require('cordova/argscheck');
const exec = require('cordova/exec');
const Camera = require('./Camera');
-// XXX: commented out
-// CameraPopoverHandle = require('./CameraPopoverHandle');
/**
* @namespace navigator
@@ -73,7 +71,6 @@ for (const key in Camera) {
* @property {module:Camera.MediaType} [mediaType=PICTURE] - Set the type of media to select from. Only works when `PictureSourceType` is `PHOTOLIBRARY` or `SAVEDPHOTOALBUM`.
* @property {Boolean} [correctOrientation] - Rotate the image to correct for the orientation of the device during capture.
* @property {Boolean} [saveToPhotoAlbum] - Save the image to the photo album on the device after capture.
- * @property {module:CameraPopoverOptions} [popoverOptions] - iOS-only options that specify popover location in iPad.
* @property {module:Camera.Direction} [cameraDirection=BACK] - Choose the camera to use (front- or back-facing).
*/
@@ -140,7 +137,6 @@ cameraExport.getPicture = function (successCallback, errorCallback, options) {
const allowEdit = !!options.allowEdit;
const correctOrientation = !!options.correctOrientation;
const saveToPhotoAlbum = !!options.saveToPhotoAlbum;
- const popoverOptions = getValue(options.popoverOptions, null);
const cameraDirection = getValue(options.cameraDirection, Camera.Direction.BACK);
if (allowEdit) {
@@ -148,11 +144,9 @@ cameraExport.getPicture = function (successCallback, errorCallback, options) {
}
const args = [quality, destinationType, sourceType, targetWidth, targetHeight, encodingType,
- mediaType, allowEdit, correctOrientation, saveToPhotoAlbum, popoverOptions, cameraDirection];
+ mediaType, allowEdit, correctOrientation, saveToPhotoAlbum, cameraDirection];
exec(successCallback, errorCallback, 'Camera', 'takePicture', args);
- // XXX: commented out
- // return new CameraPopoverHandle();
};
/**
diff --git a/www/CameraConstants.js b/www/CameraConstants.js
index bd1adfc..c6cb07d 100644
--- a/www/CameraConstants.js
+++ b/www/CameraConstants.js
@@ -75,17 +75,6 @@ module.exports = {
**/
SAVEDPHOTOALBUM: 2
},
- /**
- * Matches iOS UIPopoverArrowDirection constants to specify arrow location on popover.
- * @enum {number}
- */
- PopoverArrowDirection: {
- ARROW_UP: 1,
- ARROW_DOWN: 2,
- ARROW_LEFT: 4,
- ARROW_RIGHT: 8,
- ARROW_ANY: 15
- },
/**
* @enum {number}
*/
diff --git a/www/CameraPopoverHandle.js b/www/CameraPopoverHandle.js
deleted file mode 100644
index f7252d4..0000000
--- a/www/CameraPopoverHandle.js
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
-*/
-
-/**
- * @ignore in favour of iOS' one
- * A handle to an image picker popover.
- */
-const CameraPopoverHandle = function () {
- this.setPosition = function (popoverOptions) {
- console.log('CameraPopoverHandle.setPosition is only supported on iOS.');
- };
-};
-
-module.exports = CameraPopoverHandle;
diff --git a/www/CameraPopoverOptions.js b/www/CameraPopoverOptions.js
deleted file mode 100644
index 68e8ae1..0000000
--- a/www/CameraPopoverOptions.js
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
-*/
-
-const Camera = require('./Camera');
-
-/**
- * @namespace navigator
- */
-
-/**
- * iOS-only parameters that specify the anchor element location and arrow
- * direction of the popover when selecting images from an iPad's library
- * or album.
- * Note that the size of the popover may change to adjust to the
- * direction of the arrow and orientation of the screen. Make sure to
- * account for orientation changes when specifying the anchor element
- * location.
- * @module CameraPopoverOptions
- * @param {Number} [x=0] - x pixel coordinate of screen element onto which to anchor the popover.
- * @param {Number} [y=32] - y pixel coordinate of screen element onto which to anchor the popover.
- * @param {Number} [width=320] - width, in pixels, of the screen element onto which to anchor the popover.
- * @param {Number} [height=480] - height, in pixels, of the screen element onto which to anchor the popover.
- * @param {module:Camera.PopoverArrowDirection} [arrowDir=ARROW_ANY] - Direction the arrow on the popover should point.
- * @param {Number} [popoverWidth=0] - width of the popover (0 or not specified will use apple's default width).
- * @param {Number} [popoverHeight=0] - height of the popover (0 or not specified will use apple's default height).
- */
-const CameraPopoverOptions = function (x, y, width, height, arrowDir, popoverWidth, popoverHeight) {
- // information of rectangle that popover should be anchored to
- this.x = x || 0;
- this.y = y || 32;
- this.width = width || 320;
- this.height = height || 480;
- this.arrowDir = arrowDir || Camera.PopoverArrowDirection.ARROW_ANY;
- this.popoverWidth = popoverWidth || 0;
- this.popoverHeight = popoverHeight || 0;
-};
-
-module.exports = CameraPopoverOptions;
diff --git a/www/ios/CameraPopoverHandle.js b/www/ios/CameraPopoverHandle.js
deleted file mode 100644
index b3ac04f..0000000
--- a/www/ios/CameraPopoverHandle.js
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
-*/
-
-const exec = require('cordova/exec');
-
-/**
- * @namespace navigator
- */
-
-/**
- * A handle to an image picker popover.
- *
- * __Supported Platforms__
- *
- * - iOS
- *
- * @example
- * navigator.camera.getPicture(onSuccess, onFail,
- * {
- * destinationType: Camera.DestinationType.FILE_URI,
- * sourceType: Camera.PictureSourceType.PHOTOLIBRARY,
- * popoverOptions: new CameraPopoverOptions(300, 300, 100, 100, Camera.PopoverArrowDirection.ARROW_ANY, 300, 600)
- * });
- *
- * // Reposition the popover if the orientation changes.
- * window.onorientationchange = function() {
- * var cameraPopoverHandle = new CameraPopoverHandle();
- * var cameraPopoverOptions = new CameraPopoverOptions(0, 0, 100, 100, Camera.PopoverArrowDirection.ARROW_ANY, 400, 500);
- * cameraPopoverHandle.setPosition(cameraPopoverOptions);
- * }
- * @module CameraPopoverHandle
- */
-const CameraPopoverHandle = function () {
- /**
- * Can be used to reposition the image selection dialog,
- * for example, when the device orientation changes.
- * @memberof CameraPopoverHandle
- * @instance
- * @method setPosition
- * @param {module:CameraPopoverOptions} popoverOptions
- */
- this.setPosition = function (popoverOptions) {
- const args = [popoverOptions];
- exec(null, null, 'Camera', 'repositionPopover', args);
- };
-};
-
-module.exports = CameraPopoverHandle;