Guarantee camera pictureSize is negotiated before countdown starts to prevent fallback to massive memory-crashing resolutions
This commit is contained in:
@@ -3,11 +3,11 @@ import {
|
||||
StyleSheet,
|
||||
Text,
|
||||
View,
|
||||
Image,
|
||||
TouchableOpacity,
|
||||
ActivityIndicator,
|
||||
} from 'react-native';
|
||||
import ViewShot from 'react-native-view-shot';
|
||||
import { Image } from 'expo-image';
|
||||
import { LinearGradient } from 'expo-linear-gradient';
|
||||
import Animated, { FadeIn, FadeOut } from 'react-native-reanimated';
|
||||
import { FontAwesomeIcon } from '@fortawesome/react-native-fontawesome';
|
||||
@@ -326,11 +326,12 @@ export default function PreviewScreen({
|
||||
{photoUris.slice(-3).map((uri, idx) => (
|
||||
<Image
|
||||
key={idx}
|
||||
source={uri}
|
||||
source={{ uri }}
|
||||
style={styles.stripImage}
|
||||
contentFit="cover"
|
||||
resizeMode="cover"
|
||||
resizeMethod="resize"
|
||||
onLoad={() => logger.log(`Image loaded successfully: ${uri}`)}
|
||||
onError={(e) => logger.error(`Image load failed: ${uri}`, e)}
|
||||
onError={(e) => logger.error(`Image load failed: ${uri}`, e.nativeEvent?.error || e)}
|
||||
/>
|
||||
))}
|
||||
</View>
|
||||
@@ -347,11 +348,12 @@ export default function PreviewScreen({
|
||||
{photoUris.slice(-4).map((uri, idx) => (
|
||||
<Image
|
||||
key={idx}
|
||||
source={uri}
|
||||
source={{ uri }}
|
||||
style={styles.gridImage}
|
||||
contentFit="cover"
|
||||
resizeMode="cover"
|
||||
resizeMethod="resize"
|
||||
onLoad={() => logger.log(`Grid Image loaded successfully: ${uri}`)}
|
||||
onError={(e) => logger.error(`Grid Image load failed: ${uri}`, e)}
|
||||
onError={(e) => logger.error(`Grid Image load failed: ${uri}`, e.nativeEvent?.error || e)}
|
||||
/>
|
||||
))}
|
||||
</View>
|
||||
@@ -367,11 +369,12 @@ export default function PreviewScreen({
|
||||
{photoUris.slice(-2).map((uri, idx) => (
|
||||
<Image
|
||||
key={idx}
|
||||
source={uri}
|
||||
source={{ uri }}
|
||||
style={styles.duoImage}
|
||||
contentFit="cover"
|
||||
resizeMode="cover"
|
||||
resizeMethod="resize"
|
||||
onLoad={() => logger.log(`Duo Image loaded successfully: ${uri}`)}
|
||||
onError={(e) => logger.error(`Duo Image load failed: ${uri}`, e)}
|
||||
onError={(e) => logger.error(`Duo Image load failed: ${uri}`, e.nativeEvent?.error || e)}
|
||||
/>
|
||||
))}
|
||||
</View>
|
||||
@@ -384,11 +387,12 @@ export default function PreviewScreen({
|
||||
return (
|
||||
<View style={styles.singleCanvas}>
|
||||
<Image
|
||||
source={currentPhoto}
|
||||
source={{ uri: currentPhoto }}
|
||||
style={styles.singleImage}
|
||||
contentFit="cover"
|
||||
resizeMode="cover"
|
||||
resizeMethod="resize"
|
||||
onLoad={() => logger.log(`Single Image loaded successfully: ${currentPhoto}`)}
|
||||
onError={(e) => logger.error(`Single Image load failed: ${currentPhoto}`, e)}
|
||||
onError={(e) => logger.error(`Single Image load failed: ${currentPhoto}`, e.nativeEvent?.error || e)}
|
||||
/>
|
||||
</View>
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user