@Override public void onSend(MasterSecret masterSecret) throws NoSuchMessageException { EncryptingSmsDatabase database = DatabaseFactory.getEncryptingSmsDatabase(context); SmsMessageRecord record = database.getMessage(masterSecret, messageId); try { Log.w(TAG, "Sending message: " + messageId); deliver(masterSecret, record); } catch (UndeliverableMessageException ude) { Log.w(TAG, ude); DatabaseFactory.getSmsDatabase(context).markAsSentFailed(record.getId()); MessageNotifier.notifyMessageDeliveryFailed( context, record.getRecipients(), record.getThreadId()); } catch (InsecureFallbackApprovalException ifae) { Log.w(TAG, ifae); DatabaseFactory.getSmsDatabase(context).markAsPendingInsecureSmsFallback(record.getId()); MessageNotifier.notifyMessageDeliveryFailed( context, record.getRecipients(), record.getThreadId()); } }
@Override public void onAdded() { SmsDatabase database = DatabaseFactory.getEncryptingSmsDatabase(context); database.markAsSending(messageId); }