Use checkPropTypes instead of directly calling PropTypes

Reviewed By: sebmarkbage

Differential Revision: D4748563

fbshipit-source-id: 137c8bd637549c455bff3be61143e8e438c6a886
This commit is contained in:
Andrew Clark
2017-04-05 10:04:06 +02:00
committed by Mike Grabowski
parent fa0e28efb4
commit c4ee9490be
5 changed files with 69 additions and 38 deletions
+25 -4
View File
@@ -27,9 +27,11 @@ var React = require('react');
var ReactNative = require('react-native');
var {
ActivityIndicator,
Alert,
CameraRoll,
Image,
ListView,
PermissionsAndroid,
Platform,
StyleSheet,
View,
@@ -137,13 +139,27 @@ var CameraRollView = React.createClass({
}
},
_fetch: function(clear?: boolean) {
_fetch: async function(clear?: boolean) {
if (clear) {
this.setState(this.getInitialState(), this.fetch);
return;
}
var fetchParams: Object = {
if (Platform.OS === 'android') {
const result = await PermissionsAndroid.request(
PermissionsAndroid.PERMISSIONS.READ_EXTERNAL_STORAGE,
{
title: 'Permission Explanation',
message: 'UIExplorer would like to access your pictures.',
},
);
if (result !== 'granted') {
Alert.alert('Access to pictures was denied.');
return;
}
}
const fetchParams: Object = {
first: this.props.batchSize,
groupTypes: this.props.groupTypes,
assetType: this.props.assetType,
@@ -156,8 +172,12 @@ var CameraRollView = React.createClass({
fetchParams.after = this.state.lastCursor;
}
CameraRoll.getPhotos(fetchParams)
.then((data) => this._appendAssets(data), (e) => logError(e));
try {
const data = await CameraRoll.getPhotos(fetchParams);
this._appendAssets(data);
} catch (e) {
logError(e);
}
},
/**
@@ -178,6 +198,7 @@ var CameraRollView = React.createClass({
onEndReached={this._onEndReached}
style={styles.container}
dataSource={this.state.dataSource}
enableEmptySections
/>
);
},