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

Commit 46d40ea8 authored by Chi Zhang's avatar Chi Zhang Committed by Gerrit Code Review
Browse files

Merge "Avoid creating EriManager if CDMA is unsupported."

parents fc0abca8 101fc75b
Loading
Loading
Loading
Loading
+20 −11
Original line number Diff line number Diff line
@@ -670,8 +670,13 @@ public class ServiceStateTracker extends Handler {

        mCdnr = new CarrierDisplayNameResolver(mPhone);

        // Create EriManager only if phone supports CDMA
        if (UiccController.isCdmaSupported(mPhone.getContext())) {
            mEriManager = TelephonyComponentFactory.getInstance().inject(EriManager.class.getName())
                    .makeEriManager(mPhone, EriManager.ERI_FROM_XML);
        } else {
            mEriManager = null;
        }

        mRatRatcheter = new RatRatcheter(mPhone);
        mVoiceCapable = ((TelephonyManager) mPhone.getContext()
@@ -2143,11 +2148,13 @@ public class ServiceStateTracker extends Handler {
                    }
                }

                if (mEriManager != null) {
                    int roamingIndicator = mNewSS.getCdmaRoamingIndicator();
                    mNewSS.setCdmaEriIconIndex(mEriManager.getCdmaEriIconIndex(roamingIndicator,
                            mDefaultRoamingIndicator));
                    mNewSS.setCdmaEriIconMode(mEriManager.getCdmaEriIconMode(roamingIndicator,
                            mDefaultRoamingIndicator));
                }

                // NOTE: Some operator may require overriding mCdmaRoaming
                // (set by the modem), depending on the mRoamingIndicator.
@@ -3930,7 +3937,7 @@ public class ServiceStateTracker extends Handler {
            boolean hasBrandOverride = mUiccController.getUiccCard(getPhoneId()) != null &&
                    mUiccController.getUiccCard(getPhoneId()).getOperatorBrandOverride() != null;
            if (!hasBrandOverride && (mCi.getRadioState() == TelephonyManager.RADIO_POWER_ON)
                    && (mEriManager.isEriFileLoaded())
                    && (mEriManager != null && mEriManager.isEriFileLoaded())
                    && (!ServiceState.isPsOnlyTech(mSS.getRilVoiceRadioTechnology())
                    || mPhone.getContext().getResources().getBoolean(com.android.internal.R
                    .bool.config_LTE_eri_for_network_name))) {
@@ -5140,8 +5147,10 @@ public class ServiceStateTracker extends Handler {
        log("CarrierConfigChange " + config);

        // Load the ERI based on carrier config. Carrier might have their specific ERI.
        if (mEriManager != null) {
            mEriManager.loadEriFile();
            mCdnr.updateEfForEri(getOperatorNameFromEri());
        }

        updateArfcnLists(config);
        updateReportingCriteria(config);
@@ -6010,7 +6019,7 @@ public class ServiceStateTracker extends Handler {
    }

    String getCdmaEriText(int roamInd, int defRoamInd) {
        return mEriManager.getCdmaEriText(roamInd, defRoamInd);
        return mEriManager != null ? mEriManager.getCdmaEriText(roamInd, defRoamInd) : "no ERI";
    }

    private void updateOperatorNamePattern(PersistableBundle config) {
+4 −0
Original line number Diff line number Diff line
@@ -43,6 +43,7 @@ import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.content.pm.ServiceInfo;
import android.content.res.Resources;
import android.graphics.drawable.Drawable;
@@ -264,6 +265,9 @@ public class ServiceStateTrackerTest extends TelephonyTest {
        doReturn(dds).when(mPhone).getSubId();
        doReturn(true).when(mPhone).areAllDataDisconnected();

        doReturn(true).when(mPackageManager)
                .hasSystemFeature(PackageManager.FEATURE_TELEPHONY_CDMA);

        mSSTTestHandler = new ServiceStateTrackerTestHandler(getClass().getSimpleName());
        mSSTTestHandler.start();
        waitUntilReady();