Search in sources :

Example 1 with SmsMessageSender

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);
}
Also used : SmsMessageSender(com.android.mms.transaction.SmsMessageSender) SmsMessageSender(com.android.mms.transaction.SmsMessageSender) MmsMessageSender(com.android.mms.transaction.MmsMessageSender) MessageSender(com.android.mms.transaction.MessageSender) ExceedMessageSizeException(com.android.mms.ExceedMessageSizeException) ResolutionException(com.android.mms.ResolutionException) UnsupportContentTypeException(com.android.mms.UnsupportContentTypeException) MmsException(com.google.android.mms.MmsException) ContentRestrictionException(com.android.mms.ContentRestrictionException) IOException(java.io.IOException)

Example 2 with SmsMessageSender

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);
        }
    }
}
Also used : SmsMessageSender(com.android.mms.transaction.SmsMessageSender) Bundle(android.os.Bundle) Uri(android.net.Uri)

Aggregations

SmsMessageSender (com.android.mms.transaction.SmsMessageSender)2 Uri (android.net.Uri)1 Bundle (android.os.Bundle)1 ContentRestrictionException (com.android.mms.ContentRestrictionException)1 ExceedMessageSizeException (com.android.mms.ExceedMessageSizeException)1 ResolutionException (com.android.mms.ResolutionException)1 UnsupportContentTypeException (com.android.mms.UnsupportContentTypeException)1 MessageSender (com.android.mms.transaction.MessageSender)1 MmsMessageSender (com.android.mms.transaction.MmsMessageSender)1 MmsException (com.google.android.mms.MmsException)1 IOException (java.io.IOException)1