tree 53cb6b9954b7c2bada3c2c865933cfc9d90004ea
parent f5a5f04550fb0d7399b8bfbb4976e0ec3b718dd8
author Christian Gustafsson <christian.gustafsson@motorola.com> 1253059753 -0500
committer Wink Saville <wink@google.com> 1253208965 -0700

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
