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

Commit 086e7281 authored by Thomas Nguyen's avatar Thomas Nguyen
Browse files

Fix for NullPointerException in SmsMessage

Bug: 120766197
Test: run the following tests:
- atest android.telephony.cts.SmsMessageTest
- manual: send and receive SMS

Change-Id: I197681cf79bbe47521d77432ffcd56d3e3acceab
Merged-In: I197681cf79bbe47521d77432ffcd56d3e3acceab
parent 691bfb64
Loading
Loading
Loading
Loading
+18 −10
Original line number Diff line number Diff line
@@ -1092,6 +1092,11 @@ public class SmsMessage {

        if (!TextUtils.isEmpty(simOperator)) {
            for (NoEmsSupportConfig currentConfig : mNoEmsSupportConfigList) {
                if (currentConfig == null) {
                    Rlog.w("SmsMessage", "hasEmsSupport currentConfig is null");
                    continue;
                }

                if (simOperator.startsWith(currentConfig.mOperatorNumber) &&
                        (TextUtils.isEmpty(currentConfig.mGid1) ||
                                (!TextUtils.isEmpty(currentConfig.mGid1) &&
@@ -1155,6 +1160,7 @@ public class SmsMessage {
    private static boolean mIsNoEmsSupportConfigListLoaded = false;

    private static boolean isNoEmsSupportConfigListExisted() {
        synchronized (SmsMessage.class) {
            if (!mIsNoEmsSupportConfigListLoaded) {
                Resources r = Resources.getSystem();
                if (r != null) {
@@ -1163,12 +1169,14 @@ public class SmsMessage {
                    if ((listArray != null) && (listArray.length > 0)) {
                        mNoEmsSupportConfigList = new NoEmsSupportConfig[listArray.length];
                        for (int i = 0; i < listArray.length; i++) {
                        mNoEmsSupportConfigList[i] = new NoEmsSupportConfig(listArray[i].split(";"));
                            mNoEmsSupportConfigList[i] = new NoEmsSupportConfig(
                                    listArray[i].split(";"));
                        }
                    }
                    mIsNoEmsSupportConfigListLoaded = true;
                }
            }
        }

        if (mNoEmsSupportConfigList != null && mNoEmsSupportConfigList.length != 0) {
            return true;