Bump expo-image-picker to include bug/perf improvements
See https://github.com/expo/expo/blob/main/packages/expo-image-picker/CHANGELOG.md#1700--2025-08-13
This commit is contained in:
+1
-1
@@ -146,7 +146,7 @@
|
|||||||
"expo-image": "^2.4.0",
|
"expo-image": "^2.4.0",
|
||||||
"expo-image-crop-tool": "^0.1.8",
|
"expo-image-crop-tool": "^0.1.8",
|
||||||
"expo-image-manipulator": "~13.1.7",
|
"expo-image-manipulator": "~13.1.7",
|
||||||
"expo-image-picker": "~16.1.4",
|
"expo-image-picker": "^16.1.4",
|
||||||
"expo-intent-launcher": "^12.1.5",
|
"expo-intent-launcher": "^12.1.5",
|
||||||
"expo-linear-gradient": "~14.1.5",
|
"expo-linear-gradient": "~14.1.5",
|
||||||
"expo-linking": "~7.1.5",
|
"expo-linking": "~7.1.5",
|
||||||
|
|||||||
@@ -1,38 +0,0 @@
|
|||||||
diff --git a/node_modules/expo-image-picker/android/src/main/java/expo/modules/imagepicker/MediaHandler.kt b/node_modules/expo-image-picker/android/src/main/java/expo/modules/imagepicker/MediaHandler.kt
|
|
||||||
index c863fb8..cde8859 100644
|
|
||||||
--- a/node_modules/expo-image-picker/android/src/main/java/expo/modules/imagepicker/MediaHandler.kt
|
|
||||||
+++ b/node_modules/expo-image-picker/android/src/main/java/expo/modules/imagepicker/MediaHandler.kt
|
|
||||||
@@ -101,16 +101,30 @@ internal class MediaHandler(
|
|
||||||
val fileData = getAdditionalFileData(sourceUri)
|
|
||||||
val mimeType = getType(context.contentResolver, sourceUri)
|
|
||||||
|
|
||||||
+ // Extract basic metadata
|
|
||||||
+ var width = metadataRetriever.extractInt(MediaMetadataRetriever.METADATA_KEY_VIDEO_WIDTH)
|
|
||||||
+ var height = metadataRetriever.extractInt(MediaMetadataRetriever.METADATA_KEY_VIDEO_HEIGHT)
|
|
||||||
+ val rotation = metadataRetriever.extractInt(MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION)
|
|
||||||
+
|
|
||||||
+ // Android returns the encoded width/height which do not take the display rotation into
|
|
||||||
+ // account. For videos recorded in portrait mode the encoded dimensions are often landscape
|
|
||||||
+ // (e.g. 1920x1080) paired with a 90°/270° rotation flag. iOS adjusts these values before
|
|
||||||
+ // reporting them, so to keep the behaviour consistent across platforms we swap the width
|
|
||||||
+ // and height when the rotation indicates the video should be displayed in portrait.
|
|
||||||
+ if (rotation % 180 != 0) {
|
|
||||||
+ width = height.also { height = width }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
return ImagePickerAsset(
|
|
||||||
type = MediaType.VIDEO,
|
|
||||||
uri = outputUri.toString(),
|
|
||||||
- width = metadataRetriever.extractInt(MediaMetadataRetriever.METADATA_KEY_VIDEO_WIDTH),
|
|
||||||
- height = metadataRetriever.extractInt(MediaMetadataRetriever.METADATA_KEY_VIDEO_HEIGHT),
|
|
||||||
+ width = width,
|
|
||||||
+ height = height,
|
|
||||||
fileName = fileData?.fileName,
|
|
||||||
fileSize = fileData?.fileSize,
|
|
||||||
mimeType = mimeType,
|
|
||||||
duration = metadataRetriever.extractInt(MediaMetadataRetriever.METADATA_KEY_DURATION),
|
|
||||||
- rotation = metadataRetriever.extractInt(MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION),
|
|
||||||
+ rotation = rotation,
|
|
||||||
assetId = sourceUri.getMediaStoreAssetId()
|
|
||||||
)
|
|
||||||
} catch (cause: FailedToExtractVideoMetadataException) {
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
# Expo Image Picker patch
|
|
||||||
|
|
||||||
Cherry-picked https://github.com/expo/expo/pull/37849
|
|
||||||
|
|
||||||
Remove when we update to a version that includes this commit.
|
|
||||||
@@ -11295,7 +11295,7 @@ expo-image-manipulator@~13.1.7:
|
|||||||
dependencies:
|
dependencies:
|
||||||
expo-image-loader "~5.1.0"
|
expo-image-loader "~5.1.0"
|
||||||
|
|
||||||
expo-image-picker@~16.1.4:
|
expo-image-picker@^16.1.4:
|
||||||
version "16.1.4"
|
version "16.1.4"
|
||||||
resolved "https://registry.yarnpkg.com/expo-image-picker/-/expo-image-picker-16.1.4.tgz#d4ac2d1f64f6ec9347c3f64f8435b40e6e4dcc40"
|
resolved "https://registry.yarnpkg.com/expo-image-picker/-/expo-image-picker-16.1.4.tgz#d4ac2d1f64f6ec9347c3f64f8435b40e6e4dcc40"
|
||||||
integrity sha512-bTmmxtw1AohUT+HxEBn2vYwdeOrj1CLpMXKjvi9FKSoSbpcarT4xxI0z7YyGwDGHbrJqyyic3I9TTdP2J2b4YA==
|
integrity sha512-bTmmxtw1AohUT+HxEBn2vYwdeOrj1CLpMXKjvi9FKSoSbpcarT4xxI0z7YyGwDGHbrJqyyic3I9TTdP2J2b4YA==
|
||||||
|
|||||||
Reference in New Issue
Block a user