OSDN Git Service

Type Zero Sms should not be displayed/stored/notified.
authorNaveen Kalla <nkalla@codeaurora.org>
Wed, 24 Mar 2010 13:46:14 +0000 (06:46 -0700)
committerNaveen Kalla <nkalla@codeaurora.org>
Fri, 26 Mar 2010 12:42:04 +0000 (05:42 -0700)
Type Zero messages indicated by TP_PID field set to value 0x40,
should not be displayed/stored/notified. They should only be
acknowledged.

telephony/java/com/android/internal/telephony/gsm/GsmSMSDispatcher.java
telephony/java/com/android/internal/telephony/gsm/SmsMessage.java

index 6ae316d..d720516 100644 (file)
@@ -94,6 +94,13 @@ final class GsmSMSDispatcher extends SMSDispatcher {
         SmsMessage sms = (SmsMessage) smsb;
         boolean handled = false;
 
+        if (sms.isTypeZero()) {
+            // As per 3GPP TS 23.040 9.2.3.9, Type Zero messages should not be
+            // Displayed/Stored/Notified. They should only be acknowledged.
+            Log.d(TAG, "Received short message type 0, Dont display or store it. Send Ack");
+            return Intents.RESULT_SMS_HANDLED;
+        }
+
         // Special case the message waiting indicator messages
         if (sms.isMWISetMessage()) {
             mGsmPhone.updateMessageWaitingIndicator(true);
index d627baf..12c6b88 100644 (file)
@@ -111,6 +111,14 @@ public class SmsMessage extends SmsMessageBase{
     }
 
     /**
+     * 3GPP TS 23.040 9.2.3.9 specifies that Type Zero messages are indicated
+     * by TP_PID field set to value 0x40
+     */
+    public boolean isTypeZero() {
+        return (protocolIdentifier == 0x40);
+    }
+
+    /**
      * TS 27.005 3.4.1 lines[0] and lines[1] are the two lines read from the
      * +CMT unsolicited response (PDU mode, of course)
      *  +CMT: [&lt;alpha>],<length><CR><LF><pdu>