diff options
| author | 2009-07-31 11:15:28 -0700 | |
|---|---|---|
| committer | 2009-07-31 11:15:28 -0700 | |
| commit | 3e08aa68ea070880092e1638fb83595f0ff4bfcc (patch) | |
| tree | 7b7bfe463bd7f7114bc0a7f3a91a8a0e5906b4d6 | |
| parent | a45c5f07e29c4b244d07842b80ba93b35ce2606c (diff) | |
| parent | a1c94ae4f75dab030219069864029f5bd9498fb0 (diff) | |
Merge change 9354
* changes:
Handle SMS during CDMA emergency callback mode
| -rw-r--r-- | telephony/java/com/android/internal/telephony/cdma/CdmaSMSDispatcher.java | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/telephony/java/com/android/internal/telephony/cdma/CdmaSMSDispatcher.java b/telephony/java/com/android/internal/telephony/cdma/CdmaSMSDispatcher.java index 3ab1f7769fac..1f1f7c14fc17 100644 --- a/telephony/java/com/android/internal/telephony/cdma/CdmaSMSDispatcher.java +++ b/telephony/java/com/android/internal/telephony/cdma/CdmaSMSDispatcher.java @@ -19,6 +19,7 @@ package com.android.internal.telephony.cdma; import android.app.Activity; import android.app.PendingIntent; +import android.app.PendingIntent.CanceledException; import android.content.ContentValues; import android.content.SharedPreferences; import android.database.Cursor; @@ -31,6 +32,7 @@ import android.provider.Telephony.Sms.Intents; import android.preference.PreferenceManager; import android.util.Config; import android.util.Log; +import android.telephony.SmsManager; import com.android.internal.telephony.TelephonyProperties; import com.android.internal.telephony.CommandsInterface; @@ -45,6 +47,7 @@ import com.android.internal.util.HexDump; import java.io.ByteArrayOutputStream; import java.util.ArrayList; import java.util.HashMap; +import java.lang.Boolean; final class CdmaSMSDispatcher extends SMSDispatcher { @@ -331,6 +334,24 @@ final class CdmaSMSDispatcher extends SMSDispatcher { sentIntent, deliveryIntent); } + protected void sendRawPdu(byte[] smsc, byte[] pdu, PendingIntent sentIntent, + PendingIntent deliveryIntent) { + String inEcm = SystemProperties.get(TelephonyProperties.PROPERTY_INECM_MODE); + if (Boolean.parseBoolean(inEcm)) { + if (sentIntent != null) { + try { + sentIntent.send(SmsManager.RESULT_ERROR_NO_SERVICE); + } catch (CanceledException ex) {} + } + if (Config.LOGD) { + Log.d(TAG, "Block SMS in Emergency Callback mode"); + } + return; + } + + super.sendRawPdu(smsc, pdu, sentIntent, deliveryIntent); + } + /** {@inheritDoc} */ protected void sendSms(SmsTracker tracker) { HashMap map = tracker.mData; |