From a35bc42b9a7740760d59df3a5927afaecc3c1521 Mon Sep 17 00:00:00 2001 From: Marcos Rodriguez Date: Tue, 7 Jan 2020 01:53:32 -0500 Subject: [PATCH] TSTS --- package-lock.json | 4 -- package.json | 1 - screen/send/create.js | 49 ++++++++++++++------- screen/send/psbtWithHardwareWallet.js | 61 ++++++++++++++++++--------- 4 files changed, 74 insertions(+), 41 deletions(-) diff --git a/package-lock.json b/package-lock.json index ffca03bad..7fb5be5de 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10996,10 +10996,6 @@ "resolved": "https://registry.npmjs.org/react-native-device-info/-/react-native-device-info-4.0.1.tgz", "integrity": "sha512-a0Q/gwy1oQhu17CeMq9xMZ3Sl9foaj8hFwVuy9jieqkkoQwkHnPDI+R7bEW0MNMgUCPPrzzXvka+FLGOWVqacg==" }, - "react-native-directory-picker": { - "version": "git+https://github.com/BlueWallet/react-native-directory-picker.git#63307e646f72444ab83b619e579c55ee38cd162a", - "from": "git+https://github.com/BlueWallet/react-native-directory-picker.git#63307e646f72444ab83b619e579c55ee38cd162a" - }, "react-native-document-picker": { "version": "git+https://github.com/BlueWallet/react-native-document-picker.git#9ce83792db340d01b1361d24b19613658abef4aa", "from": "git+https://github.com/BlueWallet/react-native-document-picker.git#9ce83792db340d01b1361d24b19613658abef4aa" diff --git a/package.json b/package.json index c465e9dfd..fb5b8fa40 100644 --- a/package.json +++ b/package.json @@ -93,7 +93,6 @@ "react-native-camera": "3.4.0", "react-native-default-preference": "1.4.1", "react-native-device-info": "4.0.1", - "react-native-directory-picker": "git+https://github.com/BlueWallet/react-native-directory-picker.git#63307e646f72444ab83b619e579c55ee38cd162a", "react-native-document-picker": "git+https://github.com/BlueWallet/react-native-document-picker.git#9ce83792db340d01b1361d24b19613658abef4aa", "react-native-elements": "0.19.0", "react-native-flexi-radio-button": "0.2.2", diff --git a/screen/send/create.js b/screen/send/create.js index 92abea9be..3a87812ce 100644 --- a/screen/send/create.js +++ b/screen/send/create.js @@ -13,6 +13,7 @@ import { Text, View, Platform, + Alert, } from 'react-native'; import { BlueNavigationStyle, SafeBlueArea, BlueCard, BlueText } from '../../BlueComponents'; import PropTypes from 'prop-types'; @@ -21,7 +22,6 @@ import { BitcoinUnit } from '../../models/bitcoinUnits'; import { Icon } from 'react-native-elements'; import Share from 'react-native-share'; import RNFS from 'react-native-fs'; -import DirectoryPickerManager from 'react-native-directory-picker'; /** @type {AppStorage} */ const BlueApp = require('../../BlueApp'); const loc = require('../../loc'); @@ -73,21 +73,38 @@ export default class SendCreate extends Component { RNFS.unlink(filePath); }); } else if (Platform.OS === 'android') { - DirectoryPickerManager.showDirectoryPicker(null, async response => { - if (response.didCancel) { - console.log('User cancelled directory picker'); - } else if (response.error) { - console.log('DirectoryPickerManager Error: ', response.error); - } else { - try { - await RNFS.writeFile(response.decodedUri + `/${fileName}`, this.state.tx, 'ascii'); - alert('Successfully exported.'); - } catch (e) { - console.log(e); - alert(e); - } - } - }); + Alert.alert( + 'Export', + 'Where would you like to export this transaction?', + [ + { + text: 'External Storage', + onPress: async () => { + try { + await RNFS.writeFile('file://' + RNFS.ExternalStorageDirectoryPath + `/${fileName}`, this.state.tx, 'ascii'); + alert('Successfully exported.'); + } catch (e) { + console.log(e); + alert(e); + } + }, + }, + { + text: 'Documents Folder', + onPress: async () => { + try { + await RNFS.writeFile('file://' + RNFS.DocumentDirectoryPath + `/${fileName}`, this.state.tx, 'ascii'); + alert('Successfully exported.'); + } catch (e) { + console.log(e); + alert(e); + } + }, + }, + { text: 'Cancel', onPress: () => console.log('Cancel Pressed'), style: 'cancel' }, + ], + { cancelable: true }, + ); } }; diff --git a/screen/send/psbtWithHardwareWallet.js b/screen/send/psbtWithHardwareWallet.js index 82d4a9c59..ad79c6b2e 100644 --- a/screen/send/psbtWithHardwareWallet.js +++ b/screen/send/psbtWithHardwareWallet.js @@ -7,6 +7,7 @@ import { View, Dimensions, Image, + Alert, TextInput, Clipboard, Linking, @@ -29,7 +30,6 @@ import ReactNativeHapticFeedback from 'react-native-haptic-feedback'; import { RNCamera } from 'react-native-camera'; import RNFS from 'react-native-fs'; import DocumentPicker from 'react-native-document-picker'; -import DirectoryPickerManager from 'react-native-directory-picker'; let loc = require('../../loc'); let EV = require('../../events'); let BlueElectrum = require('../../BlueElectrum'); @@ -241,25 +241,46 @@ export default class PsbtWithHardwareWallet extends Component { RNFS.unlink(filePath); }); } else if (Platform.OS === 'android') { - DirectoryPickerManager.showDirectoryPicker(null, async response => { - if (response.didCancel) { - console.log('User cancelled directory picker'); - } else if (response.error) { - console.log('DirectoryPickerManager Error: ', response.error); - } else { - try { - await RNFS.writeFile( - response.decodedUri + `/${fileName}`, - this.state.isFirstPSBTAlreadyBase64 ? this.state.psbt : this.state.psbt.toBase64(), - 'ascii', - ); - alert('Successfully exported.'); - } catch (e) { - console.log(e); - alert(e); - } - } - }); + Alert.alert( + 'Export', + 'Where would you like to export this transaction?', + [ + { + text: 'External Storage', + onPress: async () => { + try { + await RNFS.writeFile( + 'file://' + RNFS.ExternalStorageDirectoryPath + `/${fileName}`, + this.state.isFirstPSBTAlreadyBase64 ? this.state.psbt : this.state.psbt.toBase64(), + 'ascii', + ); + alert('Successfully exported.'); + } catch (e) { + console.log(e); + alert(e); + } + }, + }, + { + text: 'Documents Folder', + onPress: async () => { + try { + await RNFS.writeFile( + 'file://' + RNFS.DocumentDirectoryPath + `/${fileName}`, + this.state.isFirstPSBTAlreadyBase64 ? this.state.psbt : this.state.psbt.toBase64(), + 'ascii', + ); + alert('Successfully exported.'); + } catch (e) { + console.log(e); + alert(e); + } + }, + }, + { text: 'Cancel', onPress: () => console.log('Cancel Pressed'), style: 'cancel' }, + ], + { cancelable: true }, + ); } };