History log of /frameworks/base/telephony/java/com/android/internal/telephony/cdma/CdmaSMSDispatcher.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
d027329cd6105c05c157e3858a170e4f04eb0e3e 10-Jun-2011 Soojung Shin <sj46.shin@samsung.com> Ignore duplicate WAP push PDU source/destination port if configured

Some carriers duplicate the OMADM wap push PDU source/destination
port.

e.g. MSGTYPE-TotalSegments-CurrentSegment
-SourcePortDestPort-SourcePortDestPort-OMADM PDU

So the client has to ignore the duplicate source/destination
port.

Change-Id: I83df6e8e7d2e2e4275036a1b574247f9f40c5cf4
Signed-off-by: Soojung Shin <sj46.shin@samsung.com>
/frameworks/base/telephony/java/com/android/internal/telephony/cdma/CdmaSMSDispatcher.java
ab79ee4adcbc6eb9fb9c509766753f65d3857739 27-Apr-2011 Jake Hamby <jhamby@google.com> Enable full support for SMS Cell Broadcast.

Implement full support for SMS Cell Broadcast (3GPP TS 23.041).
Includes support for ETWS and CMAS emergency message types.
Includes GSM and UMTS support (CDMA will be added later).

Note: the change to GsmAlphabet.java is only necessary if the
SMS national languages support patch has been applied. If that
change has not been applied, then the changes to GsmAlphabet.java
in this patch set can safely be ignored.

Change-Id: Ia0362c53695b8ef9a0982f558f1cffa912def34b
/frameworks/base/telephony/java/com/android/internal/telephony/cdma/CdmaSMSDispatcher.java
fa8e271636b9e9b86f247cdb4c91d9ebe9675c27 03-Sep-2010 Brad Fitzpatrick <bradfitz@android.com> More SharedPreferences commit() -> apply() changes.

Change-Id: Ibc844d72d463434722a349f5bbc02889a9feb0ee
/frameworks/base/telephony/java/com/android/internal/telephony/cdma/CdmaSMSDispatcher.java
059fe88115ccb70d9870698e490ed5b4c88da50c 20-Aug-2010 Jake Hamby <jhamby@google.com> Cosmetic cleanups to SMSDispatcher classes.

Cleaned up some typos and other small fixes in SMSDispatcher in
preparation for checking in my SMS bug fixes. This change doesn't
fix any bugs, but it shouldn't introduce any either.

- Removed unused import statements
- Removed unused private constants and fields
- Fixed typos in Java comments and private constants
- Added generic type parameter to mSTrackers ArrayList
- Removed unnecessary casts
- Fixed indentation of mResultReceiver in SMSDispatcher
- Removed call to get unused smsc in CDMA sendSMS()
- Changed "|=" to "=" in boolean assignment where the variable
was initialized to false (thus the two operators are equivalent)

Change-Id: Ic19a63a7ef5cdccc7be86043c2a1b863ec8af652
/frameworks/base/telephony/java/com/android/internal/telephony/cdma/CdmaSMSDispatcher.java
83fd7b0d53f2fecb5b92cb911910e07659e246ca 16-Dec-2009 John Joseph <jnjoseph@quicinc.com> frameworks/base: Handle broadcast sms properly

Broadcast SMS does not have teleservice id field. Add
support to identify broadcast SMS based on message type.
/frameworks/base/telephony/java/com/android/internal/telephony/cdma/CdmaSMSDispatcher.java
1fa7fae1399f735ea15242484fb5def187e07fde 24-Oct-2009 Gilles Duboscq <gilwooden@gmail.com> Make multipart message follow 3GPP TS 23.040 V9.0.0 (2009-06), section 9.2.3.24.1 :
all the parts should have the same encoding.

Fixes b/2040561
/frameworks/base/telephony/java/com/android/internal/telephony/cdma/CdmaSMSDispatcher.java
3ff560d7ba9fcedc4d388f63b756108a715266f4 22-Oct-2009 jsh <jsh@google.com> Send "encoding problem" to the network for general errors during SMS dispatch.

Previously we were returning "other terminal problem" to the network, but this
had the potential of blocking MT SMS messages for days at a time (eg, if the
problematic message is resent). Sending the "encoding problem" cause code is
reasonable since in most cases the we have encountered an error while trying
to parse the message.

Addresses b/2200412.
/frameworks/base/telephony/java/com/android/internal/telephony/cdma/CdmaSMSDispatcher.java
4219797afc2f5369c27cf7be752e9bc3bdb8057d 20-Oct-2009 jsh <jsh@google.com> Log exception if we hit an error parsing an incoming SMS message.

This will help debug b/2197566. We should have been logging the error
anyway.
/frameworks/base/telephony/java/com/android/internal/telephony/cdma/CdmaSMSDispatcher.java
ea803b8e0cc613309d0ce096df9c13e9690243ff 16-Sep-2009 Satish Roddom <satishroddom@motorola.com> Message Reject notification shouldn't be shown in Emergency Calling Mode

Issue: While in emergency mode, if we receive a message, there is a notification
being shown as "Text Message rejected".

Fix: In CdmaSMSDispatcher.java, send RESULT_OK response instead of RESULT_SMS_GENERIC_ERROR
for messages during Emergency mode. So, that SMS_REJECTED action is not broadcasted.

If the result is RESULT_OK from CdmaSMSDispatcher, the function notifyAndAcknowledgeLastIncomingSms()
is not called from SMSDispatcher.java and hence SMS_REJECTED_ACTION intent is not broadcast.
Consequently SMSRejectReceiver.java will not receive the broadcast and will not show reject
notification.

Change-Id: I2aa8f239393b3e6eeac6b0c2bb69799018e9ae9d
/frameworks/base/telephony/java/com/android/internal/telephony/cdma/CdmaSMSDispatcher.java
9d34319f1ce5be4124a0b6293162587f4573496f 16-Sep-2009 Christian Gustafsson <christian.gustafsson@motorola.com> CDMA Check for network duplicate sms

In some cases a sms acknowledgement might be lost. The network will then resend
the same sms. These duplicate sms should be acknowledged but not shown to the
user.

C.S0015-B 4.3.1.6 Unique Message Identification.

The fields used to identify a message are:
* Message Identifier,
* Originating Address,
* Originating Subaddress, and
* Message Center Time Stamp.

Since some of the fields are optional, the Teleservice Layer shall use as
many of the fields as are present in the SMS message to determine message
uniqueness. Mobile stations should discard repeated messages.

1. Add a fingerprint function to SmsMessage.java. This returns a byte array
to be used as a unique identifier. Parts that make up the identifier are
the originating address, teleservice id and the bearerdata. Using all of
the bearerdata saves parsing time. There are no random bits allowed in
the standard. This makes binary comparison possible. Using all of the
bearerdata accounts for the message id, smsc timestamp and "... shall
use as many of the fields as are present in the SMS message".
2. Have CdmaSMSDispatcher.dispatchMessage() pull a fingerprint and check if
it matches the last acknowledged fingerprint. When it matches return and
signal that message was handled.
3. Have CdmaSMSDispatcher.acknowledgeLastIncomingSms() take the last
dispatched fingerprint move it to the last acknowledged fingerprint.
Only do this if processing of the sms was successful.

Change-Id: If79f8fe40896cd290940b7ccd5a17531ab937b60
/frameworks/base/telephony/java/com/android/internal/telephony/cdma/CdmaSMSDispatcher.java
70f74b79c3e4c88e0e7b747796f76187e4ea8259 14-Sep-2009 Christian Gustafsson <christian.gustafsson@motorola.com> Assemble WAP datagram correctly when segments arrive out of order

The WAP assembly code will always attach the last received segment at the end
of the WAP datagram. Change the code to add the current segment at the correct
location during the WAP datagram assembly.

Change-Id: I4cc18bf33bc68ab9a328a0107f21e3670b5026ac
/frameworks/base/telephony/java/com/android/internal/telephony/cdma/CdmaSMSDispatcher.java
d304ae583d862250a21b5949fc3dbdf3af1febac 03-Sep-2009 Tammo Spalink <tammo@google.com> Fix CDMA SMS delivery status reporting.

CDMA SMS status reports are messages with bearer data message type
DELIVERY_ACK. Identify these messages after parsing during demux,
update the deliveryPendingList and generate a RESULT_OK intent in the
same manner as GSM.

Addresses issue:
http://buganizer/issue?id=2047571

Change-Id: Ia38718b0bb169a0f3398f50c27a95e8bce7e4c99
/frameworks/base/telephony/java/com/android/internal/telephony/cdma/CdmaSMSDispatcher.java
7e207afd497f8822ca34babe1d9cd1f6d5402fad 02-Sep-2009 Tammo Spalink <tammo@google.com> Reject (NAK) CDMA SMS with unknown teleservice ids.

Addresses issue:
http://buganizer/issue?id=2066191

Change-Id: I56124379534bf19f128b6228749c7ee2ef455fed
/frameworks/base/telephony/java/com/android/internal/telephony/cdma/CdmaSMSDispatcher.java
a01726a7fdd872cd8e1e8a9dfa52fb9cdbf01019 28-Aug-2009 jsh <jsh@google.com> Some fixes to SMS processing in the framework.

Always process class 0 and other unstored SMS (eg, MWI). We were
rejecting all SMS messages in storage full situations, but certain
messages do not require storage.

Also, notify apps when the framework rejects MT SMS, with new
SMS_REJECTED_ACTION intent.

b/2066775
b/2015906
/frameworks/base/telephony/java/com/android/internal/telephony/cdma/CdmaSMSDispatcher.java
1f952a178db86559ff4bab79c4a9b5fae18096bf 25-Aug-2009 Tammo Spalink <tammo@google.com> Move SMS pdu creation fully into the central Phone process.

Previously pdu creation was haphazardly done sometimes by the app and
sometimes centrally by the phone process -- specifically the phone
process did creation for multipart texts. This change gets rid of the
previous IPC interface for sending raw pdus to SMSDispatch in the
phone process, and instead makes everything work like multipart
messages worked before, namely the structured data is passed and pdu
encoding done centrally.

The motivation for this was the need to ensure that CDMA message id
numbers were strictly monotonic, including across reboots, which
necessitated central state in the form of a system property, which
could in turn only be modified by the phone process.

Hence, this (in part) addresses issue: http://buganizer/issue?id=2075760

Change-Id: I94ca207b6e657c465e8472534704db8646ee277c
/frameworks/base/telephony/java/com/android/internal/telephony/cdma/CdmaSMSDispatcher.java
e4ebbd29f78df25e22c701b597c3c15b7f8add73 08-Aug-2009 Christian Gustafsson <christian.gustafsson@motorola.com> CDMA voicemail notification fixes

1. Convert the voicemail count of a VM notification from
BCD to decimal. That way the user will not be notified
of 16 new VM when there are only 10.
Ref: 3GPP2 C.S0015-B / 4.5.12 Number of Messages.
2. Allow VMN-95 notifications without "User Data" to be
processed. Only mandatory items for VMN-95 are
"Message Identifier" and "Number of Messages".
Ref: 3GPP2 C.S0015-B / 4.3.5 Voice Mail Notification.
/frameworks/base/telephony/java/com/android/internal/telephony/cdma/CdmaSMSDispatcher.java
a1c94ae4f75dab030219069864029f5bd9498fb0 13-Jul-2009 Richard Meng <richard.meng@motorola.com> Handle SMS during CDMA emergency callback mode

If in emergency callback mode, any 3rd party application tries
to send Message using telephony API, return a NO_SERVICE error code.
/frameworks/base/telephony/java/com/android/internal/telephony/cdma/CdmaSMSDispatcher.java
c84401fb8b3ed90039bd132b343852303ef88ce6 13-Jul-2009 yong liu <yong.liu@motorola.com> CDMA Message Waiting Indication support

Add support for Message Waiting Info Record defined in 3GPP2 C.S-0005
and used for voice mail count by some CDMA networks
/frameworks/base/telephony/java/com/android/internal/telephony/cdma/CdmaSMSDispatcher.java
117eace23924f575877ae8ecbb899af22e6f16c0 10-Jul-2009 Cheng Yang <chengyang@motorola.com> Block incoming SMS in CDMA Emergency Callback Mode

Block incoming SMS in CDMA Emergency Callback Mode

CDMA carriers expect that incoming SMS is not processed by phone while
it is in Emergency Callback Mode, so don't acknowlegde it to the network.
/frameworks/base/telephony/java/com/android/internal/telephony/cdma/CdmaSMSDispatcher.java
5c7d9e8194900a2b1699cd57f95b22ca5f7b9be2 16-Jun-2009 David Krause <david.krause@motorola.com> CDMA incoming MMS fixes

Need to correctly interpret WAP Datagram data. Specifically the
source and destination ports are only included in the 1st segment,
not subsequent segments but the original implementation was looking
for the ports for all segments.
/frameworks/base/telephony/java/com/android/internal/telephony/cdma/CdmaSMSDispatcher.java
3960ced4638fdb24ddf904fcb6734dae0959671e 23-Jun-2009 jsh <jsh@google.com> Fix SMS Ack.

There were a few places where we were not sending SMS ack. This change fixes that, and helps ensure that we don't miss any others.

Also fix a bug I introduced in RIL.java for CDMA SMS ACK (it uses RIL_CDMA_SMS_Ack and not int[]).
/frameworks/base/telephony/java/com/android/internal/telephony/cdma/CdmaSMSDispatcher.java
ce099c3226b33b43e0dd5d1f24347b14a2223ee1 01-Jun-2009 David Krause <david.krause@motorola.com> frameworks/base: CDMA voicemail support
/frameworks/base/telephony/java/com/android/internal/telephony/cdma/CdmaSMSDispatcher.java
fc78f358cb1d1cee99758bcd6ef998a122ef27c9 11-Jun-2009 Tammo Spalink <tammo@google.com> for cdma concatenated (long) messages, replace ascii7bit with gsm7bit encoding
/frameworks/base/telephony/java/com/android/internal/telephony/cdma/CdmaSMSDispatcher.java
e337d651a5199551ae3d3180176f8ac7d58c9acd 11-Jun-2009 johnwang <johnwang@google.com> Support SMS cell broadcasting for GSM in RIL.java

enable gsm related cell broadcast requests in RIL.java and add SmsBraodcastConfigInfo class.

The gsm related cell broadcast requests include

RIL_REQUEST_GET_BROADCAST_CONFIG
RIL_REQUEST_GET_BROADCAST_CONFIG
RIL_REQUEST_BROADCAST_ACTIVATION
RIL_UNSOL_RESPONSE_NEW_BROADCAST_SMS

modified: BaseCommands.java
modified: CommandsInterface.java
modified: RIL.java
modified: RILConstants.java
modified: cdma/CdmaSMSDispatcher.java
new file: gsm/SmsBroadcastConfigInfo.java
modified: test/SimulatedCommands.java
/frameworks/base/telephony/java/com/android/internal/telephony/cdma/CdmaSMSDispatcher.java
867641ece36e2fd17faaea79cf19506ab17177c6 28-May-2009 jsh <jsh@google.com> Telephony support for SMS memory reporting to the network.

- Use ordered broadcast to allow receivers to set a result code.
- Ack SMS with result code.
- New RIL command to report memory status.
- Fixed a typo in a Gservices setting.
- Merge in CL 137895 (hold a wake lock while broadcasting SMS_RECEIVED).
/frameworks/base/telephony/java/com/android/internal/telephony/cdma/CdmaSMSDispatcher.java
31fd22923aaefc85652a5b5939c6d4aa6fa289e2 20-May-2009 jsh <jsh@google.com> Make sure smsHeader != null before using it.

Fixes bug 1866578 - NPE while trying to dispatch a non-concatenated SMS with
no user data header (ie, your typical SMS).
/frameworks/base/telephony/java/com/android/internal/telephony/cdma/CdmaSMSDispatcher.java
64c499113a758cf80cddfd4d0183f944a1a6645a 05-May-2009 Tammo Spalink <tammo@google.com> SmsHeader rewrite, in preparation for migration to public API.

See http://b/issue?id=1751571

Changes the semantics of SmsHeader from containing only opaque data
to exposing occurs-once frequently-used fields together with a list
of opaque fields. Also changes the coding to and from byte array to
be symmetrical, whereas previous encoding had an extra length field.

Cdma SmsMessage -- cleanup of code paths along with adjustments to
match the new header semantics, which should address at least some
of the issues with concatenated messages. See http://b/issue?id=1809759
/frameworks/base/telephony/java/com/android/internal/telephony/cdma/CdmaSMSDispatcher.java
767a662ecde33c3979bf02b793d392aca0403162 02-Apr-2009 Wink Saville <> AI 144185: Integrate cdma into the main code base.

Automated import of CL 144185
/frameworks/base/telephony/java/com/android/internal/telephony/cdma/CdmaSMSDispatcher.java