Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e4ebbd29 authored by Christian Gustafsson's avatar Christian Gustafsson Committed by Wink Saville
Browse files

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.
parent 29b8fca9
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -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");
            }
+1 −1
Original line number Diff line number Diff line
@@ -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 " +