Skip to content

Commit 41a9f5f

Browse files
author
Xiaosong Gao
committed
Fix: Flash mode use constants.
1 parent cad18b8 commit 41a9f5f

File tree

2 files changed

+22
-13
lines changed

2 files changed

+22
-13
lines changed

.npmignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1-
/resource
1+
/resource
2+
.travis.yml

src/CameraView.js

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,21 +5,21 @@ import { getSafeAreaInset } from 'react-native-pure-navigation-bar';
55
import Video from 'react-native-video';
66
import PageKeys from './PageKeys';
77

8-
const flashModeOrder = {
9-
off: 'on',
10-
on: 'auto',
11-
auto: 'off',
12-
};
138
export default class extends React.PureComponent {
149
static defaultProps = {
1510
maxSize: 1,
1611
sideType: RNCamera.Constants.Type.back,
17-
flashMode: 'auto',
12+
flashMode: 0,
1813
videoQuality: RNCamera.Constants.VideoQuality["480p"]
1914
};
2015

2116
constructor(props) {
2217
super(props);
18+
this.flashModes = [
19+
RNCamera.Constants.FlashMode.auto,
20+
RNCamera.Constants.FlashMode.off,
21+
RNCamera.Constants.FlashMode.on,
22+
];
2323
this.state = {
2424
data: [],
2525
isPreview: false,
@@ -56,8 +56,17 @@ export default class extends React.PureComponent {
5656
right: safeArea.right,
5757
};
5858
const {flashMode} = this.state;
59-
const image = flashMode === 'auto' ? require('./images/flash_auto.png') :
60-
flashMode === 'on' ? require('./images/flash_open.png') : require('./images/flash_close.png');
59+
let image;
60+
switch (flashMode) {
61+
case 1:
62+
image = require('./images/flash_close.png');
63+
break;
64+
case 2:
65+
image = require('./images/flash_open.png');
66+
break;
67+
default:
68+
image = require('./images/flash_auto.png');
69+
}
6170
return (
6271
<View style={[styles.top, style]}>
6372
{!this.props.isVideo && this._renderTopButton(image, this._clickFlashMode)}
@@ -80,7 +89,7 @@ export default class extends React.PureComponent {
8089
ref={cam => this.camera = cam}
8190
type={this.state.sideType}
8291
defaultVideoQuality={this.props.videoQuality}
83-
flashMode={this.state.flashMode}
92+
flashMode={this.flashModes[this.state.flashMode]}
8493
style={styles.camera}
8594
captureAudio={true}
8695
fixOrientation={true}
@@ -260,9 +269,8 @@ export default class extends React.PureComponent {
260269
};
261270

262271
_clickFlashMode = () => {
263-
this.setState({
264-
flashMode: flashModeOrder[this.state.flashMode],
265-
});
272+
const newMode = (this.state.flashMode + 1) % this.flashModes.length;
273+
this.setState({flashMode: newMode});
266274
};
267275

268276
_clickPreview = () => {

0 commit comments

Comments
 (0)