Skip to content

Commit 14ff944

Browse files
authored
Merge pull request #38746 from software-mansion-labs/@kosmydel/react-native-image-size
2 parents edacb67 + f61babb commit 14ff944

File tree

5 files changed

+17
-8
lines changed

5 files changed

+17
-8
lines changed

.eslintrc.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -250,6 +250,14 @@ module.exports = {
250250
message: "Please don't declare enums, use union types instead.",
251251
},
252252
],
253+
'no-restricted-properties': [
254+
'error',
255+
{
256+
object: 'Image',
257+
property: 'getSize',
258+
message: 'Usage of Image.getImage is restricted. Please use the `react-native-image-size`.',
259+
},
260+
],
253261
'no-restricted-imports': [
254262
'error',
255263
{

package-lock.json

Lines changed: 2 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@
139139
"react-native-google-places-autocomplete": "2.5.6",
140140
"react-native-haptic-feedback": "^2.2.0",
141141
"react-native-image-picker": "^7.0.3",
142-
"react-native-image-size": "git+https://github.com/Expensify/react-native-image-size#8393b7e58df6ff65fd41f60aee8ece8822c91e2b",
142+
"react-native-image-size": "git+https://github.com/Expensify/react-native-image-size#bf3ad41a61c4f6f80ed4d497599ef5247a2dd002",
143143
"react-native-key-command": "^1.0.6",
144144
"react-native-launch-arguments": "^4.0.2",
145145
"react-native-linear-gradient": "^2.8.1",

src/components/AttachmentPicker/index.native.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
import Str from 'expensify-common/lib/str';
22
import React, {useCallback, useMemo, useRef, useState} from 'react';
3-
import {Alert, Image as RNImage, View} from 'react-native';
3+
import {Alert, View} from 'react-native';
44
import RNFetchBlob from 'react-native-blob-util';
55
import RNDocumentPicker from 'react-native-document-picker';
66
import type {DocumentPickerOptions, DocumentPickerResponse} from 'react-native-document-picker';
77
import {launchImageLibrary} from 'react-native-image-picker';
88
import type {Asset, Callback, CameraOptions, ImagePickerResponse} from 'react-native-image-picker';
9+
import ImageSize from 'react-native-image-size';
910
import type {FileObject, ImagePickerResponse as FileResponse} from '@components/AttachmentModal';
1011
import * as Expensicons from '@components/Icon/Expensicons';
1112
import MenuItem from '@components/MenuItem';
@@ -281,7 +282,7 @@ function AttachmentPicker({type = CONST.ATTACHMENT_PICKER_TYPE.FILE, children, s
281282
};
282283
/* eslint-enable @typescript-eslint/prefer-nullish-coalescing */
283284
if (fileDataName && Str.isImage(fileDataName)) {
284-
RNImage.getSize(fileDataUri, (width, height) => {
285+
ImageSize.getSize(fileDataUri).then(({width, height}) => {
285286
fileDataObject.width = width;
286287
fileDataObject.height = height;
287288
validateAndCompleteAttachmentSelection(fileDataObject);

src/components/AvatarCropModal/AvatarCropModal.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
import React, {useCallback, useEffect, useState} from 'react';
2-
import {ActivityIndicator, Image, View} from 'react-native';
2+
import {ActivityIndicator, View} from 'react-native';
33
import type {LayoutChangeEvent} from 'react-native';
44
import {Gesture, GestureHandlerRootView} from 'react-native-gesture-handler';
55
import type {GestureUpdateEvent, PanGestureChangeEventPayload, PanGestureHandlerEventPayload} from 'react-native-gesture-handler';
6+
import ImageSize from 'react-native-image-size';
67
import {interpolate, runOnUI, useSharedValue, useWorkletCallback} from 'react-native-reanimated';
78
import Button from '@components/Button';
89
import HeaderGap from '@components/HeaderGap';
@@ -118,7 +119,7 @@ function AvatarCropModal({imageUri = '', imageName = '', imageType = '', onClose
118119
if (!imageUri) {
119120
return;
120121
}
121-
Image.getSize(imageUri, (width, height) => {
122+
ImageSize.getSize(imageUri).then(({width, height}) => {
122123
// We need to have image sizes in shared values to properly calculate position/size/animation
123124
originalImageHeight.value = height;
124125
originalImageWidth.value = width;

0 commit comments

Comments
 (0)