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

Commit 092f0341 authored by Android (Google) Code Review's avatar Android (Google) Code Review
Browse files

Merge change I44d4cbec into eclair

* changes:
  Fix some SMS encode issues.
parents bf50200b 3e5c3a6d
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -658,7 +658,7 @@ public class GsmAlphabet {
        charToGsm.put('Z', i++);
        charToGsm.put('\u00c4', i++);
        charToGsm.put('\u00d6', i++);
        charToGsm.put('\u0147', i++);
        charToGsm.put('\u00d1', i++);
        charToGsm.put('\u00dc', i++);
        charToGsm.put('\u00a7', i++);

+19 −0
Original line number Diff line number Diff line
@@ -16,6 +16,10 @@

package com.android.internal.telephony.cdma.sms;

import static android.telephony.SmsMessage.ENCODING_16BIT;
import static android.telephony.SmsMessage.MAX_USER_DATA_BYTES;
import static android.telephony.SmsMessage.MAX_USER_DATA_BYTES_WITH_HEADER;

import android.util.Log;
import android.util.SparseIntArray;

@@ -417,6 +421,21 @@ public final class BearerData {
        } else {
            ted = com.android.internal.telephony.gsm.SmsMessage.calculateLength(
                    msg, force7BitEncoding);
            if (ted.msgCount == 1 && ted.codeUnitSize == SmsMessage.ENCODING_7BIT) {
                // We don't support single-segment EMS, so calculate for 16-bit
                // TODO: Consider supporting single-segment EMS
                ted.codeUnitCount = msg.length();
                int octets = ted.codeUnitCount * 2;
                if (octets > MAX_USER_DATA_BYTES) {
                    ted.msgCount = (octets / MAX_USER_DATA_BYTES_WITH_HEADER) + 1;
                    ted.codeUnitsRemaining = (MAX_USER_DATA_BYTES_WITH_HEADER
                              - (octets % MAX_USER_DATA_BYTES_WITH_HEADER))/2;
                } else {
                    ted.msgCount = 1;
                    ted.codeUnitsRemaining = (MAX_USER_DATA_BYTES - octets)/2;
                }
                ted.codeUnitSize = ENCODING_16BIT;
            }
        }
        return ted;
    }
+1 −1
Original line number Diff line number Diff line
@@ -135,7 +135,7 @@ public class CdmaSmsAddress extends SmsAddress {
    };

    private static final char[] numericCharsSugar = {
        '(', ')', ' ', '-', '+', '.'
        '(', ')', ' ', '-', '+', '.', '/', '\\'
    };

    private static final SparseBooleanArray numericCharDialableMap = new SparseBooleanArray (