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

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

Merge "Use 3gpp2 as the default app type if voice RAT is CDMA." am: f3b6d203...

Merge "Use 3gpp2 as the default app type if voice RAT is CDMA." am: f3b6d203 am: fb148c1e am: 57bc801f

Original change: https://android-review.googlesource.com/c/platform/frameworks/opt/telephony/+/1366199

Change-Id: Id1f63931c528f315c310af07a1696c0bf6c00168
parents 6ced9c6a 57bc801f
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -134,7 +134,8 @@ public class UiccProfile extends IccCard {

    private RegistrantList mNetworkLockedRegistrants = new RegistrantList();

    private int mCurrentAppType = UiccController.APP_FAM_3GPP; //default to 3gpp?
    @VisibleForTesting
    public int mCurrentAppType = UiccController.APP_FAM_3GPP; //default to 3gpp?
    private UiccCardApplication mUiccApplication = null;
    private IccRecords mIccRecords = null;
    private IccCardConstants.State mExternalState = IccCardConstants.State.UNKNOWN;
@@ -352,7 +353,7 @@ public class UiccProfile extends IccCard {
                mCurrentAppType = UiccController.APP_FAM_3GPP;
            } else {
                UiccCardApplication newApp = getApplication(UiccController.APP_FAM_3GPP2);
                if(newApp != null) {
                if (newApp != null || getApplication(UiccController.APP_FAM_3GPP) == null) {
                    mCurrentAppType = UiccController.APP_FAM_3GPP2;
                } else {
                    mCurrentAppType = UiccController.APP_FAM_3GPP;
+41 −0
Original line number Diff line number Diff line
@@ -37,6 +37,7 @@ import android.os.Handler;
import android.os.Message;
import android.os.PersistableBundle;
import android.telephony.CarrierConfigManager;
import android.telephony.ServiceState;
import android.telephony.SubscriptionInfo;
import android.testing.AndroidTestingRunner;
import android.testing.TestableLooper;
@@ -606,4 +607,44 @@ public class UiccProfileTest extends TelephonyTest {
        assertTrue(mUiccProfile.isEmptyProfile());

    }

    private void testUpdateUiccProfileApplicationNoCsim() {
        /* update app status and index */
        IccCardApplicationStatus imsApp = composeUiccApplicationStatus(
                IccCardApplicationStatus.AppType.APPTYPE_ISIM,
                IccCardApplicationStatus.AppState.APPSTATE_UNKNOWN, "0xA1");
        IccCardApplicationStatus umtsApp = composeUiccApplicationStatus(
                IccCardApplicationStatus.AppType.APPTYPE_USIM,
                IccCardApplicationStatus.AppState.APPSTATE_UNKNOWN, "0xA2");
        mIccCardStatus.mApplications = new IccCardApplicationStatus[]{imsApp, umtsApp};
        mIccCardStatus.mCdmaSubscriptionAppIndex = -1;
        mIccCardStatus.mImsSubscriptionAppIndex = 0;
        mIccCardStatus.mGsmUmtsSubscriptionAppIndex = 1;
        logd("Update UICC Profile Applications");
        mUiccProfile.update(mContext, mSimulatedCommands, mIccCardStatus);
        processAllMessages();

        assertEquals(2, mUiccProfile.getNumApplications());
        assertFalse(mUiccProfile.isApplicationOnIcc(IccCardApplicationStatus.AppType.APPTYPE_CSIM));
        assertTrue(mUiccProfile.isApplicationOnIcc(IccCardApplicationStatus.AppType.APPTYPE_ISIM));
        assertTrue(mUiccProfile.isApplicationOnIcc(IccCardApplicationStatus.AppType.APPTYPE_USIM));
    }

    @Test
    @SmallTest
    public void testSetVoiceRadioTech() {
        // if voice rat is GSM, mCurrentAppType should be 3gpp
        mUiccProfile.setVoiceRadioTech(ServiceState.RIL_RADIO_TECHNOLOGY_GSM);
        assertEquals(UiccController.APP_FAM_3GPP, mUiccProfile.mCurrentAppType);

        // if voice rat is CDMA, mCurrentAppType should be 3gpp2
        mUiccProfile.setVoiceRadioTech(ServiceState.RIL_RADIO_TECHNOLOGY_IS95A);
        assertEquals(UiccController.APP_FAM_3GPP2, mUiccProfile.mCurrentAppType);

        // if voice rat is CDMA, there is no CSIM app, and there is a SIM/USIM app, then
        // mCurrentAppType should be 3gpp
        testUpdateUiccProfileApplicationNoCsim();
        mUiccProfile.setVoiceRadioTech(ServiceState.RIL_RADIO_TECHNOLOGY_IS95A);
        assertEquals(UiccController.APP_FAM_3GPP, mUiccProfile.mCurrentAppType);
    }
}