diff options
author | Christian Gustafsson <christian.gustafsson@motorola.com> | 2009-08-07 22:03:30 -0500 |
---|---|---|
committer | Wink Saville <wink@google.com> | 2009-08-09 12:11:51 -0700 |
commit | e4ebbd29f78df25e22c701b597c3c15b7f8add73 (patch) | |
tree | f767be91e9ee6abd96df4c3967ff7b8d95129578 /telephony | |
parent | 29b8fca9fde246c1dc5acd8d09f4f78f611772a1 (diff) | |
download | frameworks_base-e4ebbd29f78df25e22c701b597c3c15b7f8add73.zip frameworks_base-e4ebbd29f78df25e22c701b597c3c15b7f8add73.tar.gz frameworks_base-e4ebbd29f78df25e22c701b597c3c15b7f8add73.tar.bz2 |
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.
Diffstat (limited to 'telephony')
-rw-r--r-- | telephony/java/com/android/internal/telephony/cdma/CdmaSMSDispatcher.java | 3 | ||||
-rw-r--r-- | telephony/java/com/android/internal/telephony/cdma/sms/BearerData.java | 2 |
2 files changed, 3 insertions, 2 deletions
diff --git a/telephony/java/com/android/internal/telephony/cdma/CdmaSMSDispatcher.java b/telephony/java/com/android/internal/telephony/cdma/CdmaSMSDispatcher.java index 1f1f7c1..88cccd3 100644 --- a/telephony/java/com/android/internal/telephony/cdma/CdmaSMSDispatcher.java +++ b/telephony/java/com/android/internal/telephony/cdma/CdmaSMSDispatcher.java @@ -91,7 +91,8 @@ final class CdmaSMSDispatcher extends SMSDispatcher { int teleService = sms.getTeleService(); boolean handled = false; - if ((sms.getUserData() == null) && (SmsEnvelope.TELESERVICE_MWI != teleService)) { + if ((sms.getUserData() == null) && (SmsEnvelope.TELESERVICE_MWI != teleService) && + (SmsEnvelope.TELESERVICE_VMN != teleService)) { if (Config.LOGD) { Log.d(TAG, "Received SMS without user data"); } diff --git a/telephony/java/com/android/internal/telephony/cdma/sms/BearerData.java b/telephony/java/com/android/internal/telephony/cdma/sms/BearerData.java index 97f92f4..7f3b473 100644 --- a/telephony/java/com/android/internal/telephony/cdma/sms/BearerData.java +++ b/telephony/java/com/android/internal/telephony/cdma/sms/BearerData.java @@ -1106,7 +1106,7 @@ public final class BearerData { if (paramBits >= EXPECTED_PARAM_SIZE) { paramBits -= EXPECTED_PARAM_SIZE; decodeSuccess = true; - bData.numberOfMessages = inStream.read(8); + bData.numberOfMessages = IccUtils.beBcdByteToInt((byte)inStream.read(8)); } if ((! decodeSuccess) || (paramBits > 0)) { Log.d(LOG_TAG, "NUMBER_OF_MESSAGES decode " + |