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

Commit e42327d3 authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Use an original text for next force 7bit encoding" am: d72172d5 am:...

Merge "Use an original text for next force 7bit encoding" am: d72172d5 am: f61540d4 am: d65e5d7f

Change-Id: If0222257f8b10c5712e134b67ed1060568091477
parents c98c4bbf d65e5d7f
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -493,7 +493,10 @@ public class SmsMessage {
        String newMsgBody = null;
        Resources r = Resources.getSystem();
        if (r.getBoolean(com.android.internal.R.bool.config_sms_force_7bit_encoding)) {
            newMsgBody = Sms7BitEncodingTranslator.translate(text, isCdma);
            // 7-bit ASCII table based translation is required only for CDMA single-part SMS since
            // ENCODING_7BIT_ASCII is used for CDMA single-part SMS and ENCODING_GSM_7BIT_ALPHABET
            // is used for CDMA multi-part SMS.
            newMsgBody = Sms7BitEncodingTranslator.translate(text, isCdma && ted.msgCount == 1);
        }
        if (TextUtils.isEmpty(newMsgBody)) {
            newMsgBody = text;
+1 −11
Original line number Diff line number Diff line
@@ -17,7 +17,6 @@
package com.android.internal.telephony.cdma;

import android.compat.annotation.UnsupportedAppUsage;
import android.content.res.Resources;
import android.os.Build;
import android.sysprop.TelephonyProperties;
import android.telephony.PhoneNumberUtils;
@@ -28,7 +27,6 @@ import android.text.TextUtils;
import android.util.Log;

import com.android.internal.telephony.GsmAlphabet.TextEncodingDetails;
import com.android.internal.telephony.Sms7BitEncodingTranslator;
import com.android.internal.telephony.SmsAddress;
import com.android.internal.telephony.SmsConstants;
import com.android.internal.telephony.SmsHeader;
@@ -416,15 +414,7 @@ public class SmsMessage extends SmsMessageBase {
    @UnsupportedAppUsage
    public static TextEncodingDetails calculateLength(CharSequence messageBody,
            boolean use7bitOnly, boolean isEntireMsg) {
        CharSequence newMsgBody = null;
        Resources r = Resources.getSystem();
        if (r.getBoolean(com.android.internal.R.bool.config_sms_force_7bit_encoding)) {
            newMsgBody = Sms7BitEncodingTranslator.translate(messageBody, true /* isCdmaFormat */);
        }
        if (TextUtils.isEmpty(newMsgBody)) {
            newMsgBody = messageBody;
        }
        return BearerData.calcTextEncodingDetails(newMsgBody, use7bitOnly, isEntireMsg);
        return BearerData.calcTextEncodingDetails(messageBody, use7bitOnly, isEntireMsg);
    }

    /**
+12 −1
Original line number Diff line number Diff line
@@ -21,9 +21,11 @@ import android.content.res.Resources;
import android.telephony.SmsCbCmasInfo;
import android.telephony.cdma.CdmaSmsCbProgramData;
import android.telephony.cdma.CdmaSmsCbProgramResults;
import android.text.TextUtils;

import com.android.internal.telephony.GsmAlphabet;
import com.android.internal.telephony.GsmAlphabet.TextEncodingDetails;
import com.android.internal.telephony.Sms7BitEncodingTranslator;
import com.android.internal.telephony.SmsConstants;
import com.android.internal.telephony.SmsHeader;
import com.android.internal.telephony.SmsMessageBase;
@@ -540,8 +542,17 @@ public final class BearerData {
     */
    public static TextEncodingDetails calcTextEncodingDetails(CharSequence msg,
            boolean force7BitEncoding, boolean isEntireMsg) {
        CharSequence newMsg = null;
        Resources r = Resources.getSystem();
        if (r.getBoolean(com.android.internal.R.bool.config_sms_force_7bit_encoding)) {
            newMsg = Sms7BitEncodingTranslator.translate(msg, true /* isCdmaFormat */);
        }
        if (TextUtils.isEmpty(newMsg)) {
            newMsg = msg;
        }

        TextEncodingDetails ted;
        int septets = countAsciiSeptets(msg, force7BitEncoding);
        int septets = countAsciiSeptets(newMsg, force7BitEncoding);
        if (septets != -1 && septets <= SmsConstants.MAX_USER_DATA_SEPTETS) {
            ted = new TextEncodingDetails();
            ted.msgCount = 1;