Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
onRemind = () => {
const { payment, t } = this.props
const recipientPhoneNumber = payment.recipientPhone
CeloAnalytics.track(CustomEventNames.clicked_escrowed_payment_send_message)
// TODO: open up whatsapp/text message slider with pre populated message
try {
if (Platform.OS === 'android') {
SendIntentAndroid.sendSms(recipientPhoneNumber, t('walletFlow5:escrowedPaymentReminderSms'))
} else {
// TODO look into using MFMessageComposeViewController to prefill the body for iOS
navigateToURI(`sms:${recipientPhoneNumber}`)
}
} catch (error) {
// TODO: use the showError saga instead of the Logger.showError, which is a hacky temp thing we used for a while that doesn't actually work on iOS
Logger.showError(ErrorMessages.SMS_ERROR)
Logger.error(TAG, `Error sending SMS to ${recipientPhoneNumber}`, error)
}
}
onReclaimPayment = () => {
return new Promise((resolve, reject) => {
try {
if (Platform.OS === 'android') {
SendIntentAndroid.sendSms(toPhone, msg)
resolve()
} else {
// react-native-sms types are incorrect
// tslint:disable-next-line: no-floating-promises
SendSMS.send(
{
body: msg,
recipients: [toPhone],
},
(completed, cancelled, error) => {
if (!completed) {
reject(new Error(`Couldn't send sms: isCancelled: ${cancelled} isError: ${error}`))
} else {
resolve()
}
}