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

Commit ef354fdd authored by jsh's avatar jsh
Browse files

Fix concat SMS for GSM.

Bug 1883998: We only support sending 8-bit references for now.
Bug 1885080: Also fix the GsmAlphabetTest, which started failing when SmsHeader
was re-worked.
parent c3b7e4e7
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -152,7 +152,13 @@ final class GsmSMSDispatcher extends SMSDispatcher {
            concatRef.refNumber = refNumber;
            concatRef.seqNumber = i + 1;  // 1-based sequence
            concatRef.msgCount = msgCount;
            concatRef.isEightBits = false;
            // TODO: We currently set this to true since our messaging app will never
            // send more than 255 parts (it converts the message to MMS well before that).
            // However, we should support 3rd party messaging apps that might need 16-bit
            // references
            // Note:  It's not sufficient to just flip this bit to true; it will have
            // ripple effects (several calculations assume 8-bit ref).
            concatRef.isEightBits = true;
            SmsHeader smsHeader = new SmsHeader();
            smsHeader.concatRef = concatRef;

+1 −1
Original line number Diff line number Diff line
@@ -41,7 +41,7 @@ public class GsmAlphabetTest extends TestCase {
                SmsHeader.toByteArray(header));
        int septetCount = GsmAlphabet.countGsmSeptets(message, false);
        String parsedMessage = GsmAlphabet.gsm7BitPackedToString(
                userData, SmsHeader.toByteArray(header).length+1, septetCount, 1);
                userData, SmsHeader.toByteArray(header).length+2, septetCount, 1);
        assertEquals(message, parsedMessage);
    }