This is an automated email from the ASF dual-hosted git repository. manuelbeck pushed a commit to branch pr-ios-rename-method-finalizePHPickerImage in repository https://gitbox.apache.org/repos/asf/cordova-plugin-camera.git
commit 260196e4a427937ec869f4a32efd4672eeca1ff6 Author: Manuel Beck <[email protected]> AuthorDate: Fri Jan 30 12:05:29 2026 +0100 ios: rename method `finalizePHPickerImage:` and document it - Rename to processPHPickerImage: since it does rotating, scaling and cropping and prepare the metadata - Document the method and code --- src/ios/CDVCamera.h | 2 +- src/ios/CDVCamera.m | 15 ++++++++++++--- tests/ios/CDVCameraTest/CDVCameraLibTests/CameraTest.m | 6 +++--- 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/src/ios/CDVCamera.h b/src/ios/CDVCamera.h index 8f57060..9892fc8 100644 --- a/src/ios/CDVCamera.h +++ b/src/ios/CDVCamera.h @@ -137,7 +137,7 @@ typedef NSUInteger CDVMediaType; // PHPickerViewController specific methods (iOS 14+) #if __IPHONE_OS_VERSION_MAX_ALLOWED >= 140000 // Always true on XCode12+ - (void)showPHPicker:(NSString*)callbackId withOptions:(CDVPictureOptions*)pictureOptions API_AVAILABLE(ios(14)); -- (void)finalizePHPickerImage:(UIImage*)image metadata:(NSDictionary*)metadata callbackId:(NSString*)callbackId options:(CDVPictureOptions*)options API_AVAILABLE(ios(14)); +- (void)processPHPickerImage:(UIImage*)image metadata:(NSDictionary*)metadata callbackId:(NSString*)callbackId options:(CDVPictureOptions*)options API_AVAILABLE(ios(14)); // PHPickerViewControllerDelegate method - (void)picker:(PHPickerViewController *)picker didFinishPicking:(NSArray<PHPickerResult *> *)results API_AVAILABLE(ios(14)); #endif diff --git a/src/ios/CDVCamera.m b/src/ios/CDVCamera.m index 79a78b1..29daa7f 100644 --- a/src/ios/CDVCamera.m +++ b/src/ios/CDVCamera.m @@ -413,7 +413,7 @@ static NSString* MIME_JPEG = @"image/jpeg"; return; } - [weakSelf finalizePHPickerImage:[UIImage imageWithData:imageData] + [weakSelf processPHPickerImage:[UIImage imageWithData:imageData] metadata:[weakSelf convertImageMetadata:imageData] callbackId:callbackId options:pictureOptions]; @@ -422,12 +422,18 @@ static NSString* MIME_JPEG = @"image/jpeg"; }]; } -- (void)finalizePHPickerImage:(UIImage*)image +/** + Processes an image obtained from PHPickerViewController according to specified pictureOptions, + after it returns the CDVPluginResult. + The processing of the image is similar what retrieveImage: and processImage: is doing for UIImagePickerController. +*/ +- (void)processPHPickerImage:(UIImage*)image metadata:(NSDictionary*)metadata callbackId:(NSString*)callbackId options:(CDVPictureOptions*)options API_AVAILABLE(ios(14)) { // Process image according to options + // The same is done in retrieveImage: UIImage *processedImage = image; if (options.correctOrientation) { @@ -446,7 +452,8 @@ static NSString* MIME_JPEG = @"image/jpeg"; } } - // Store metadata, which will be processed in resultForImage + // Prepare self.metadata, which replicates the logic from processImage: for the UIImagePickerController + // self.metadata which will be set to the image in resultForImage: if (metadata.count > 0) { self.metadata = [NSMutableDictionary dictionary]; @@ -471,9 +478,11 @@ static NSString* MIME_JPEG = @"image/jpeg"; __weak CDVCamera* weakSelf = self; // Create info dictionary similar to UIImagePickerController + // Will be used in retrieveImage: to get the image and do processing like here was done NSMutableDictionary *info = [@{ UIImagePickerControllerOriginalImage : processedImage } mutableCopy]; if (metadata.count > 0) { + // This is not used anywhere and can be removed info[UIImagePickerControllerMediaMetadata] = metadata; } diff --git a/tests/ios/CDVCameraTest/CDVCameraLibTests/CameraTest.m b/tests/ios/CDVCameraTest/CDVCameraLibTests/CameraTest.m index 68e0421..ac1b7ef 100644 --- a/tests/ios/CDVCameraTest/CDVCameraLibTests/CameraTest.m +++ b/tests/ios/CDVCameraTest/CDVCameraLibTests/CameraTest.m @@ -563,9 +563,9 @@ SEL processSelector = @selector(processPHPickerImage:assetIdentifier:callbackId:options:); XCTAssertTrue([self.plugin respondsToSelector:processSelector]); - // Test that finalizePHPickerImage method exists - SEL finalizeSelector = @selector(finalizePHPickerImage:metadata:callbackId:options:); - XCTAssertTrue([self.plugin respondsToSelector:finalizeSelector]); + // Test that processPHPickerImage method exists + SEL processPHPickerImageSelector = @selector(processPHPickerImage:metadata:callbackId:options:); + XCTAssertTrue([self.plugin respondsToSelector:processPHPickerImageSelector]); } #endif --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
