Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
this.setState({habits: habits}, () => {
this.props.events.emit('new-habit', this.props.habits);
// Get the endDate using Moment based on Moment object for the startDate and adding 30 minutes.
var startDate = moment().format('YYYY-MM-DD') + ' ' + habits[habitIdx].reminder;
var startMoment = moment(startDate);
var endMoment = startMoment.add(30, 'm');
var endDate = endMoment.format('YYYY-MM-DD hh:mm');
// Create the Calendar Intent.
SendIntentAndroid.addCalendarEvent({
title: habits[habitIdx].name,
description: 'Reminder from The Hoick Habit App for Habit: ' + habits[habitIdx].name,
startDate: startDate,
endDate: endDate,
recurrence: 'daily'
});
});
});
function addAndroid(event: Event) {
const { start, end } = getStartEndTime(event);
// Sometimes get the following errror:
// Fatal Exception: android.content.ActivityNotFoundException
// No Activity found to handle Intent { act=android.intent.action.INSERT dat=content://com.android.calendar/events flg=0x10000000 (has extras) }
// Filed as https://github.com/lucasferreira/react-native-send-intent/issues/45
SendIntentAndroid.addCalendarEvent({
title: event.name,
description: getDescription(event),
startDate: androidDate(start),
endDate: androidDate(end),
location: event.venue.fullAddress(),
recurrence: '',
});
return true;
}
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()
}
}
var endMoment = startMoment.add(30, 'm');
var endDate = endMoment.format('YYYY-MM-DD hh:mm');
// Create the Calendar Intent.
SendIntentAndroid.addCalendarEvent({
title: habits[habitIdx].name,
description: 'Reminder from The Hoick Habit App for Habit: ' + habits[habitIdx].name,
startDate: startDate,
endDate: endDate,
recurrence: 'daily'
});
});
});
} else {
// Open Calendar for editing reminder event.
SendIntentAndroid.openCalendar();
}
},
onPressOpenMessage = () => {
if (Platform.OS === 'android') {
SendIntentAndroid.openSMSApp()
} else {
navigateToURI('sms:')
}
}