import React from 'react'; import { Text, ActivityIndicator, Button, View, TouchableOpacity } from 'react-native'; import { Permissions, BarCodeScanner } from 'expo'; import PropTypes from 'prop-types'; import { SafeBlueArea } from '../../BlueComponents'; let EV = require('../../events'); let loc = require('../../loc'); export default class CameraExample extends React.Component { static navigationOptions = { header: null, }; state = { isLoading: false, hasCameraPermission: null, }; async onBarCodeScanned(ret) { if (this.ignoreRead) return; this.ignoreRead = true; setTimeout(() => { this.ignoreRead = false; }, 2000); this.props.navigation.goBack(); EV(EV.enum.CREATE_TRANSACTION_NEW_DESTINATION_ADDRESS, ret.data); } // end async componentDidMount() { const { status } = await Permissions.askAsync(Permissions.CAMERA); this.setState({ hasCameraPermission: status === 'granted' }); } render() { if (this.state.isLoading) { return ( ); } const { hasCameraPermission } = this.state; if (hasCameraPermission === null) { return ; } else if (hasCameraPermission === false) { return No access to camera; } else { return ( this.onBarCodeScanned(ret)}>