Merge "Use an original text for next force 7bit encoding"
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user