use of com.android.mms.transaction.SmsMessageSender in project android-aosp-mms by slvn.
the class WorkingMessage method sendSmsWorker.
private void sendSmsWorker(String msgText, String semiSepRecipients, long threadId) {
String[] dests = TextUtils.split(semiSepRecipients, ";");
if (LogTag.VERBOSE || Log.isLoggable(LogTag.TRANSACTION, Log.VERBOSE)) {
Log.d(LogTag.TRANSACTION, "sendSmsWorker sending message: recipients=" + semiSepRecipients + ", threadId=" + threadId);
}
MessageSender sender = new SmsMessageSender(mActivity, dests, msgText, threadId);
try {
sender.sendMessage(threadId);
// Make sure this thread isn't over the limits in message count
Recycler.getSmsRecycler().deleteOldMessagesByThreadId(mActivity, threadId);
} catch (Exception e) {
Log.e(TAG, "Failed to send SMS message, threadId=" + threadId, e);
}
mStatusListener.onMessageSent();
MmsWidgetProvider.notifyDatasetChanged(mActivity);
}
use of com.android.mms.transaction.SmsMessageSender in project android-aosp-mms by slvn.
the class NoConfirmationSendService method onHandleIntent.
@Override
protected void onHandleIntent(Intent intent) {
ComposeMessageActivity.log("NoConfirmationSendService onHandleIntent");
String action = intent.getAction();
if (!TelephonyManager.ACTION_RESPOND_VIA_MESSAGE.equals(action)) {
ComposeMessageActivity.log("NoConfirmationSendService onHandleIntent wrong action: " + action);
return;
}
Bundle extras = intent.getExtras();
if (extras == null) {
ComposeMessageActivity.log("Called to send SMS but no extras");
return;
}
String message = extras.getString(Intent.EXTRA_TEXT);
Uri intentUri = intent.getData();
String recipients = Conversation.getRecipients(intentUri);
if (TextUtils.isEmpty(recipients)) {
ComposeMessageActivity.log("Recipient(s) cannot be empty");
return;
}
if (extras.getBoolean("showUI", false)) {
intent.setClassName(this, "com.android.mms.ui.ComposeMessageActivityNoLockScreen");
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
} else {
if (TextUtils.isEmpty(message)) {
ComposeMessageActivity.log("Message cannot be empty");
return;
}
String[] dests = TextUtils.split(recipients, ";");
// Using invalid threadId 0 here. When the message is inserted into the db, the
// provider looks up the threadId based on the recipient(s).
long threadId = 0;
SmsMessageSender smsMessageSender = new SmsMessageSender(this, dests, message, threadId);
try {
// This call simply puts the message on a queue and sends a broadcast to start
// a service to send the message. In queing up the message, however, it does
// insert the message into the DB.
smsMessageSender.sendMessage(threadId);
} catch (Exception e) {
Log.e(TAG, "Failed to send SMS message, threadId=" + threadId, e);
}
}
}
Aggregations