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

Commit ec2ebbae authored by Jack Yu's avatar Jack Yu Committed by Android (Google) Code Review
Browse files

Merge "Fixed that setup wizard sometimes report en-GB as default language." into nyc-dev

parents f3a8202e 1573c17c
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -2331,7 +2331,9 @@ public class GsmCdmaPhone extends Phone {
                mUiccApplication.set(null);
            }
            if (newUiccApplication != null) {
                if (DBG) logd("New Uicc application found");
                if (DBG) {
                    logd("New Uicc application found. type = " + newUiccApplication.getType());
                }
                mUiccApplication.set(newUiccApplication);
                mIccRecords.set(newUiccApplication.getIccRecords());
                registerForIccRecordEvents();
+13 −10
Original line number Diff line number Diff line
@@ -16,14 +16,12 @@

package com.android.internal.telephony;

import static android.Manifest.permission.READ_PHONE_STATE;

import android.app.ActivityManagerNative;
import android.app.IUserSwitchObserver;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.ContentResolver;
import android.content.ContentValues;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.SharedPreferences;
@@ -37,23 +35,25 @@ import android.os.ServiceManager;
import android.os.UserHandle;
import android.preference.PreferenceManager;
import android.provider.Settings;
import android.telephony.Rlog;
import android.telephony.CarrierConfigManager;
import android.telephony.SubscriptionManager;
import android.telephony.Rlog;
import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
import android.text.TextUtils;

import com.android.internal.telephony.uicc.IccCardProxy;
import com.android.internal.telephony.uicc.IccConstants;
import com.android.internal.telephony.uicc.IccFileHandler;
import com.android.internal.telephony.uicc.IccRecords;
import com.android.internal.telephony.uicc.IccUtils;

import android.text.TextUtils;

import java.io.FileDescriptor;
import java.io.PrintWriter;
import java.util.List;

import static android.Manifest.permission.READ_PHONE_STATE;

/**
 *@hide
 */
@@ -381,7 +381,10 @@ public class SubscriptionInfoUpdater extends Handler {
        }

        if (SubscriptionManager.isValidSubscriptionId(subId)) {
            String operator = records.getOperatorNumeric();
            TelephonyManager tm = TelephonyManager.getDefault();

            String operator = tm.getSimOperatorNumericForPhone(slotId);

            if (operator != null) {
                if (subId == SubscriptionController.getInstance().getDefaultSubId()) {
                    MccTable.updateMccMncConfiguration(mContext, operator, false);
@@ -390,7 +393,7 @@ public class SubscriptionInfoUpdater extends Handler {
            } else {
                logd("EVENT_RECORDS_LOADED Operator name is null");
            }
            TelephonyManager tm = TelephonyManager.getDefault();

            String msisdn = tm.getLine1Number(subId);
            ContentResolver contentResolver = mContext.getContentResolver();

+1 −1
Original line number Diff line number Diff line
@@ -1458,7 +1458,7 @@ public class SIMRecords extends IccRecords {
            mTelephonyManager.setSimOperatorNumericForPhone(
                    mParentApp.getPhoneId(), operator);
            final SubscriptionController subController = SubscriptionController.getInstance();
            subController.setMccMnc(operator, subController.getDefaultSmsSubId());
            subController.setMccMnc(operator, subController.getDefaultSubId());
        } else {
            log("onAllRecordsLoaded empty 'gsm.sim.operator.numeric' skipping");
        }
+27 −9
Original line number Diff line number Diff line
@@ -25,20 +25,18 @@ import android.os.AsyncResult;
import android.os.HandlerThread;
import android.os.Message;
import android.telephony.CarrierConfigManager;
import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
import android.test.mock.MockContentProvider;
import android.test.mock.MockContentResolver;
import android.telephony.SubscriptionInfo;
import com.android.internal.telephony.uicc.IccFileHandler;
import android.test.suitebuilder.annotation.SmallTest;
import com.android.internal.telephony.uicc.IccRecords;
import static com.android.internal.telephony.TelephonyTestUtils.waitForMs;

import com.android.internal.telephony.uicc.IccCardProxy;
import com.android.internal.telephony.uicc.IccFileHandler;
import com.android.internal.telephony.uicc.IccRecords;
import com.android.internal.telephony.uicc.IccUtils;

import static org.mockito.Mockito.*;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
@@ -50,8 +48,24 @@ import org.mockito.stubbing.Answer;
import java.util.Arrays;
import java.util.HashMap;

import static com.android.internal.telephony.TelephonyTestUtils.waitForMs;
import static org.mockito.Mockito.any;
import static org.mockito.Mockito.anyBoolean;
import static org.mockito.Mockito.anyInt;
import static org.mockito.Mockito.anyString;
import static org.mockito.Mockito.doAnswer;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.eq;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;

public class SubscriptionInfoUpdaterTest extends TelephonyTest {
    private SubscriptionInfoUpdater mSubscriptionInfoUpdaterUT;

    private static final int FAKE_SUB_ID = 1;
    private static final String FAKE_PLMN = "123456";

    private TelephonyManager mTelephonyManager;

    private IccRecords mIccRecord;
    @Mock
    private UserInfo mUserInfo;
@@ -83,7 +97,7 @@ public class SubscriptionInfoUpdaterTest extends TelephonyTest {

        @Override
        public void onLooperPrepared() {
            mSubscriptionInfoUpdaterUT = new SubscriptionInfoUpdater(mContext, new Phone[]{mPhone},
            new SubscriptionInfoUpdater(mContext, new Phone[]{mPhone},
                    new CommandsInterface[]{mSimulatedCommands});
            setReady(true);
        }
@@ -101,7 +115,7 @@ public class SubscriptionInfoUpdaterTest extends TelephonyTest {
        replaceInstance(SubscriptionInfoUpdater.class, "PROJECT_SIM_NUM", null,
                SubscriptionInfoUpdater.STATUS_SIM1_INSERTED);

        TelephonyManager mTelephonyManager = (TelephonyManager) mContext
        mTelephonyManager = (TelephonyManager) mContext
                .getSystemService(Context.TELEPHONY_SERVICE);
        doReturn(SubscriptionInfoUpdater.STATUS_SIM1_INSERTED)
                .when(mTelephonyManager).getSimCount();
@@ -109,6 +123,7 @@ public class SubscriptionInfoUpdaterTest extends TelephonyTest {
                .when(mTelephonyManager).getPhoneCount();

        doReturn(mUserInfo).when(mIActivityManager).getCurrentUser();
        doReturn(new int[]{FAKE_SUB_ID}).when(mSubscriptionController).getSubId(0);
        mContentProvider = new FakeSubscriptionContentProvider();
        ((MockContentResolver) mContext.getContentResolver()).addProvider(
                SubscriptionManager.CONTENT_URI.getAuthority(),
@@ -153,7 +168,7 @@ public class SubscriptionInfoUpdaterTest extends TelephonyTest {
        Intent mIntent = new Intent(TelephonyIntents.ACTION_SIM_STATE_CHANGED);
        mIntent.putExtra(IccCardConstants.INTENT_KEY_ICC_STATE,
                IccCardConstants.INTENT_VALUE_ICC_UNKNOWN);
        mIntent.putExtra(PhoneConstants.PHONE_KEY, 1);
        mIntent.putExtra(PhoneConstants.PHONE_KEY, FAKE_SUB_ID);

        mContext.sendBroadcast(mIntent);

@@ -209,6 +224,7 @@ public class SubscriptionInfoUpdaterTest extends TelephonyTest {
        doReturn(null).when(mSubscriptionController)
                .getSubInfoUsingSlotIdWithCheck(eq(0), anyBoolean(), anyString());
        doReturn("89012604200000000000").when(mIccRecord).getIccId();
        doReturn(FAKE_PLMN).when(mTelephonyManager).getSimOperatorNumericForPhone(0);
        Intent mIntent = new Intent(IccCardProxy.ACTION_INTERNAL_SIM_STATE_CHANGED);
        mIntent.putExtra(IccCardConstants.INTENT_KEY_ICC_STATE,
                IccCardConstants.INTENT_VALUE_ICC_LOADED);
@@ -217,9 +233,11 @@ public class SubscriptionInfoUpdaterTest extends TelephonyTest {
        mContext.sendBroadcast(mIntent);
        waitForMs(100);
        SubscriptionManager mSubscriptionManager = SubscriptionManager.from(mContext);
        verify(mTelephonyManager).getSimOperatorNumericForPhone(0);
        verify(mSubscriptionManager, times(1)).addSubscriptionInfoRecord(
                eq("89012604200000000000"), eq(0));
        verify(mSubscriptionController, times(1)).notifySubscriptionInfoChanged();
        verify(mSubscriptionController, times(1)).setMccMnc(FAKE_PLMN, FAKE_SUB_ID);
        CarrierConfigManager mConfigManager = (CarrierConfigManager)
                mContext.getSystemService(Context.CARRIER_CONFIG_SERVICE);
        verify(mConfigManager, times(1)).updateConfigForPhoneId(eq(0),