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

Commit 424c8655 authored by jt1134's avatar jt1134 Committed by Gerrit Code Review
Browse files

fix for Samsung CDMA incoming SMS bug

ported from CM7/9/10

requires: http://review.cyanogenmod.org/#/c/26917/

Change-Id: I6189dd0c6aeffb0b8b530bab7994a07bb390c32c
parent 00700019
Loading
Loading
Loading
Loading
+15 −4
Original line number Diff line number Diff line
@@ -954,11 +954,22 @@ public final class BearerData {
            paramBits -= EXPECTED_PARAM_SIZE;
            decodeSuccess = true;
            bData.messageType = inStream.read(4);
            // Some Samsung CDMAphones parses messageId differently than other devices
            // fix it here so that incoming sms works correctly
            boolean hasSamsungCDMAAlternateMessageIDEncoding = Resources.getSystem()
                    .getBoolean(com.android.internal.R.bool.config_smsSamsungCdmaAlternateMessageIDEncoding);
            if (hasSamsungCDMAAlternateMessageIDEncoding) {
                inStream.skip(4);
                bData.messageId = inStream.read(8) << 8;
                bData.messageId |= inStream.read(8);
                bData.hasUserDataHeader = (inStream.read(8) == 1);
            } else {
                bData.messageId = inStream.read(8) << 8;
                bData.messageId |= inStream.read(8);
                bData.hasUserDataHeader = (inStream.read(1) == 1);
                inStream.skip(3);
            }
        }
        if ((! decodeSuccess) || (paramBits > 0)) {
            Log.d(LOG_TAG, "MESSAGE_IDENTIFIER decode " +
                      (decodeSuccess ? "succeeded" : "failed") +