package com.android.mms.transaction;
import com.android.mms.data.ContactList;
import com.android.mms.data.Conversation;
import com.android.mms.util.Recycler;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.text.TextUtils;
import android.util.Log;
import com.android.internal.telephony.Phone;
public class SendMessageIntentReceiver extends BroadcastReceiver {
private static final String TAG = "Mms/SendMessageIntentReceiver";
@Override
public void onReceive(Context context, Intent intent) {
//Log.d("TAG","onReceive()");
String number = intent.getStringExtra("number");
String body = intent.getStringExtra("sms_body");
int phoneId = intent.getIntExtra(Phone.PHONE_ID,0);
Conversation conversation;
if (!TextUtils.isEmpty(number)) {
conversation = Conversation.get(context,ContactList.getByNumbers(number, false, true), false);
} else {
conversation = Conversation.createNew(context);
}
long threadId = conversation.ensureThreadId();
String[] dests = conversation.getRecipients().getNumbers();
MessageSender sender;
sender = new SmsMessageSender(context, dests, body, threadId,phoneId);
try {
sender.sendMessage(threadId);
// Make sure this thread isn't over the limits in message count
Recycler.getSmsRecycler().deleteOldMessagesByThreadId(context, threadId);
} catch (Exception e) {
Log.e(TAG,"sms send failed.",e);
}
}
}