diff --git a/res/layout/dialog_sim_status.xml b/res/layout/dialog_sim_status.xml
index b9abb15598b..80abc1ed0b0 100644
--- a/res/layout/dialog_sim_status.xml
+++ b/res/layout/dialog_sim_status.xml
@@ -156,15 +156,6 @@
android:layout_height="wrap_content"
android:text="@string/device_info_not_available"/>
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogController.java b/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogController.java
index 855cd122f41..e6f7a0ebc75 100644
--- a/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogController.java
+++ b/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogController.java
@@ -22,7 +22,6 @@ import android.annotation.Nullable;
import android.content.BroadcastReceiver;
import android.content.ComponentName;
import android.content.Context;
-import android.content.DialogInterface;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.ServiceConnection;
@@ -47,7 +46,6 @@ import android.telephony.SubscriptionManager.OnSubscriptionsChangedListener;
import android.telephony.TelephonyCallback;
import android.telephony.TelephonyDisplayInfo;
import android.telephony.TelephonyManager;
-import android.telephony.UiccCardInfo;
import android.telephony.euicc.EuiccManager;
import android.telephony.ims.ImsException;
import android.telephony.ims.ImsMmTelManager;
@@ -64,17 +62,13 @@ import com.android.settings.R;
import com.android.settingslib.DeviceInfoUtils;
import com.android.settingslib.Utils;
import com.android.settingslib.core.lifecycle.Lifecycle;
-import com.android.settingslib.utils.ThreadUtils;
import java.util.List;
-import java.util.Map;
-import java.util.concurrent.atomic.AtomicReference;
/**
* Controller for Sim Status information within the About Phone Settings page.
*/
-public class SimStatusDialogController implements LifecycleObserver,
- DialogInterface.OnShowListener {
+public class SimStatusDialogController implements LifecycleObserver {
private final static String TAG = "SimStatusDialogCtrl";
@@ -105,12 +99,6 @@ public class SimStatusDialogController implements LifecycleObserver,
@VisibleForTesting
final static int ICCID_INFO_VALUE_ID = R.id.icc_id_value;
@VisibleForTesting
- final static int EID_INFO_LABEL_ID = R.id.esim_id_label;
- @VisibleForTesting
- final static int EID_INFO_VALUE_ID = R.id.esim_id_value;
- @VisibleForTesting
- final static int EID_INFO_QRCODE_ID = R.id.esim_id_qrcode;
- @VisibleForTesting
final static int IMS_REGISTRATION_STATE_LABEL_ID = R.id.ims_reg_state_label;
@VisibleForTesting
final static int IMS_REGISTRATION_STATE_VALUE_ID = R.id.ims_reg_state_value;
@@ -162,7 +150,6 @@ public class SimStatusDialogController implements LifecycleObserver,
private boolean mShowLatestAreaInfo;
private boolean mIsRegisteredListener = false;
- private AtomicReference mEid = null;
private final BroadcastReceiver mAreaInfoReceiver = new BroadcastReceiver() {
@Override
@@ -239,8 +226,6 @@ public class SimStatusDialogController implements LifecycleObserver,
}
public void initialize() {
- requestForUpdateEid();
-
if (mSubscriptionInfo == null) {
return;
}
@@ -268,19 +253,6 @@ public class SimStatusDialogController implements LifecycleObserver,
updateImsRegistrationState();
}
- /**
- * Callback when dialog end of show().
- */
- public void onShow(DialogInterface dialog) {
- if (mEid != null) {
- String eidText = mEid.get();
- if (eidText != null) {
- // Present QR code after the completion of layout
- mDialog.setQrCode(EID_INFO_QRCODE_ID, eidText);
- }
- }
- }
-
/**
* Deinitialization works
*/
@@ -633,71 +605,6 @@ public class SimStatusDialogController implements LifecycleObserver,
}
}
- @VisibleForTesting
- protected void requestForUpdateEid() {
- ThreadUtils.postOnBackgroundThread(() -> {
- mEid = getEid(mSlotIndex);
- ThreadUtils.postOnMainThread(() -> updateEid(mEid));
- });
- }
-
- @VisibleForTesting
- public AtomicReference getEid(int slotIndex) {
- boolean shouldHaveEid = false;
- String eid = null;
- if (getTelephonyManager().getActiveModemCount() > MAX_PHONE_COUNT_SINGLE_SIM) {
- // Get EID per-SIM in multi-SIM mode
- final Map mapping = mTelephonyManager
- .getLogicalToPhysicalSlotMapping();
- final int pSlotId = mapping.getOrDefault(slotIndex,
- SubscriptionManager.INVALID_SIM_SLOT_INDEX);
-
- if (pSlotId != SubscriptionManager.INVALID_SIM_SLOT_INDEX) {
- final List infos = getTelephonyManager().getUiccCardsInfo();
-
- for (UiccCardInfo info : infos) {
- if (info.getPhysicalSlotIndex() == pSlotId) {
- if (info.isEuicc()) {
- shouldHaveEid = true;
- eid = info.getEid();
- if (TextUtils.isEmpty(eid)) {
- eid = mEuiccManager.createForCardId(info.getCardId()).getEid();
- }
- }
- break;
- }
- }
- }
- } else if (mEuiccManager.isEnabled()) {
- // Get EID of default eSIM in single-SIM mode
- shouldHaveEid = true;
- eid = mEuiccManager.getEid();
- }
- if ((!shouldHaveEid) && (eid == null)) {
- return null;
- }
- return new AtomicReference(eid);
- }
-
- @VisibleForTesting
- protected void updateEid(AtomicReference eid) {
- boolean removeQrCode = true;
- if (eid == null) {
- mDialog.removeSettingFromScreen(EID_INFO_LABEL_ID);
- mDialog.removeSettingFromScreen(EID_INFO_VALUE_ID);
- mDialog.removeSettingFromScreen(EID_INFO_QRCODE_ID);
- } else {
- String eidText = eid.get();
- if (eidText != null) {
- mDialog.setText(EID_INFO_VALUE_ID, eidText);
- removeQrCode = (eidText == "");
- }
- }
- if (removeQrCode) {
- mDialog.removeSettingFromScreen(EID_INFO_QRCODE_ID);
- }
- }
-
private boolean isImsRegistrationStateShowUp() {
if (mSubscriptionInfo == null) {
return false;
diff --git a/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogFragment.java b/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogFragment.java
index 3bd9b343b2d..4105db1037e 100644
--- a/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogFragment.java
+++ b/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogFragment.java
@@ -19,14 +19,11 @@ package com.android.settings.deviceinfo.simstatus;
import android.app.Dialog;
import android.app.settings.SettingsEnums;
import android.os.Bundle;
-import android.graphics.Bitmap;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.WindowManager;
-import android.widget.ImageView;
import android.widget.TextView;
-import android.util.Log;
import androidx.appcompat.app.AlertDialog;
import androidx.fragment.app.Fragment;
@@ -35,7 +32,6 @@ import androidx.fragment.app.FragmentManager;
import com.android.settings.R;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
import com.android.settings.deviceinfo.PhoneNumberUtil;
-import com.android.settingslib.qrcode.QrCodeGenerator;
import java.util.Arrays;
import java.util.stream.IntStream;
@@ -84,7 +80,6 @@ public class SimStatusDialogFragment extends InstrumentedDialogFragment {
Dialog dlg = builder.setView(mRootView).create();
dlg.getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE,
WindowManager.LayoutParams.FLAG_SECURE);
- dlg.setOnShowListener(mController);
return dlg;
}
@@ -107,8 +102,7 @@ public class SimStatusDialogFragment extends InstrumentedDialogFragment {
**/
private static final int[] sViewIdsInDigitFormat = IntStream
.of(SimStatusDialogController.ICCID_INFO_VALUE_ID,
- SimStatusDialogController.PHONE_NUMBER_VALUE_ID,
- SimStatusDialogController.EID_INFO_VALUE_ID)
+ SimStatusDialogController.PHONE_NUMBER_VALUE_ID)
.sorted().toArray();
public void setText(int viewId, CharSequence text) {
@@ -128,19 +122,4 @@ public class SimStatusDialogFragment extends InstrumentedDialogFragment {
textView.setText(text);
textView.setTextIsSelectable(enableCopy);
}
-
- public void setQrCode(int viewId, String qrcodeText) {
- ImageView qrCodeView = (ImageView) mRootView.findViewById(viewId);
-
- Bitmap qrCodeBitmap = null;
- try {
- qrCodeBitmap = QrCodeGenerator.encodeQrCode(qrcodeText, qrCodeView.getWidth());
- } catch (Exception exception) {
- Log.w(TAG, "Error when presenting QR code in + " + qrCodeView, exception);
- }
- if (qrCodeBitmap == null) {
- return;
- }
- qrCodeView.setImageBitmap(qrCodeBitmap);
- }
}
diff --git a/tests/unit/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogControllerTest.java b/tests/unit/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogControllerTest.java
index 428c575e4a9..8c24cbb1d2e 100644
--- a/tests/unit/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogControllerTest.java
+++ b/tests/unit/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogControllerTest.java
@@ -18,8 +18,6 @@ package com.android.settings.deviceinfo.simstatus;
import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController.CELL_DATA_NETWORK_TYPE_VALUE_ID;
import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController.CELL_VOICE_NETWORK_TYPE_VALUE_ID;
-import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController.EID_INFO_LABEL_ID;
-import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController.EID_INFO_VALUE_ID;
import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController.ICCID_INFO_LABEL_ID;
import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController.ICCID_INFO_VALUE_ID;
import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController.IMS_REGISTRATION_STATE_LABEL_ID;
@@ -115,12 +113,8 @@ public class SimStatusDialogControllerTest {
private LifecycleOwner mLifecycleOwner;
private Lifecycle mLifecycle;
private AtomicBoolean mEuiccEnabled;
- private AtomicReference mEid;
private AtomicInteger mUpdatePhoneNumberCount;
- private static final String TEST_EID_FROM_CARD = "11111111111111111111111111111111";
- private static final String TEST_EID_FROM_MANAGER = "22222222222222222222222222222222";
-
private static final int MAX_PHONE_COUNT_DUAL_SIM = 2;
@Before
@@ -149,21 +143,12 @@ public class SimStatusDialogControllerTest {
mUpdatePhoneNumberCount = new AtomicInteger();
mEuiccEnabled = new AtomicBoolean(false);
- mEid = new AtomicReference("");
mController = new SimStatusDialogController(mDialog, mLifecycle, 0 /* phone id */) {
@Override
public TelephonyManager getTelephonyManager() {
return mTelephonyManager;
}
- @Override
- protected void requestForUpdateEid() {}
-
- @Override
- public AtomicReference getEid(int slotIndex) {
- return mEuiccEnabled.get() ? mEid : null;
- }
-
@Override
public void updatePhoneNumber() {
super.updatePhoneNumber();
@@ -205,7 +190,6 @@ public class SimStatusDialogControllerTest {
doReturn(carrierName).when(mSubscriptionInfo).getCarrierName();
mController.initialize();
- mController.updateEid(mController.getEid(0));
verify(mDialog).setText(NETWORK_PROVIDER_VALUE_ID, carrierName);
}
@@ -213,7 +197,6 @@ public class SimStatusDialogControllerTest {
@Test
public void initialize_shouldUpdatePhoneNumber() {
mController.initialize();
- mController.updateEid(mController.getEid(0));
assertTrue(mUpdatePhoneNumberCount.get() > 0);
}
@@ -223,7 +206,6 @@ public class SimStatusDialogControllerTest {
when(mTelephonyManager.getPhoneType()).thenReturn(TelephonyManager.PHONE_TYPE_CDMA);
mController.initialize();
- mController.updateEid(mController.getEid(0));
verify(mDialog).removeSettingFromScreen(OPERATOR_INFO_LABEL_ID);
verify(mDialog).removeSettingFromScreen(OPERATOR_INFO_VALUE_ID);
@@ -234,7 +216,6 @@ public class SimStatusDialogControllerTest {
when(mServiceState.getState()).thenReturn(ServiceState.STATE_IN_SERVICE);
mController.initialize();
- mController.updateEid(mController.getEid(0));
final String inServiceText = ResourcesUtils.getResourcesString(
mContext, "radioInfo_service_in");
@@ -246,7 +227,6 @@ public class SimStatusDialogControllerTest {
when(mServiceState.getState()).thenReturn(ServiceState.STATE_POWER_OFF);
mController.initialize();
- mController.updateEid(mController.getEid(0));
final String offServiceText = ResourcesUtils.getResourcesString(
mContext, "radioInfo_service_off");
@@ -261,7 +241,6 @@ public class SimStatusDialogControllerTest {
ServiceState.STATE_OUT_OF_SERVICE);
mController.initialize();
- mController.updateEid(mController.getEid(0));
final String offServiceText = ResourcesUtils.getResourcesString(
mContext, "radioInfo_service_out");
@@ -275,7 +254,6 @@ public class SimStatusDialogControllerTest {
when(mServiceState.getDataRegistrationState()).thenReturn(ServiceState.STATE_IN_SERVICE);
mController.initialize();
- mController.updateEid(mController.getEid(0));
final String inServiceText = ResourcesUtils.getResourcesString(
mContext, "radioInfo_service_in");
@@ -291,7 +269,6 @@ public class SimStatusDialogControllerTest {
setupCellSignalStrength_lteWcdma(lteDbm, lteAsu, wcdmaDbm, wcdmaAsu);
mController.initialize();
- mController.updateEid(mController.getEid(0));
final String signalStrengthString = ResourcesUtils.getResourcesString(
mContext, "sim_signal_strength", lteDbm, lteAsu);
@@ -307,7 +284,6 @@ public class SimStatusDialogControllerTest {
setupCellSignalStrength_lteCdma(lteDbm, lteAsu, cdmaDbm, cdmaAsu);
mController.initialize();
- mController.updateEid(mController.getEid(0));
final String signalStrengthString = ResourcesUtils.getResourcesString(
mContext, "sim_signal_strength", lteDbm, lteAsu);
@@ -324,7 +300,6 @@ public class SimStatusDialogControllerTest {
setupCellSignalStrength_lteOnly(lteDbm, lteAsu);
mController.initialize();
- mController.updateEid(mController.getEid(0));
final String signalStrengthString = ResourcesUtils.getResourcesString(
mContext, "sim_signal_strength", lteDbm, lteAsu);
@@ -337,7 +312,6 @@ public class SimStatusDialogControllerTest {
TelephonyManager.NETWORK_TYPE_EDGE);
mController.initialize();
- mController.updateEid(mController.getEid(0));
verify(mDialog).setText(CELL_VOICE_NETWORK_TYPE_VALUE_ID,
SimStatusDialogController.getNetworkTypeName(TelephonyManager.NETWORK_TYPE_EDGE));
@@ -349,7 +323,6 @@ public class SimStatusDialogControllerTest {
TelephonyManager.NETWORK_TYPE_EDGE);
mController.initialize();
- mController.updateEid(mController.getEid(0));
verify(mDialog).setText(CELL_DATA_NETWORK_TYPE_VALUE_ID,
SimStatusDialogController.getNetworkTypeName(TelephonyManager.NETWORK_TYPE_EDGE));
@@ -360,7 +333,6 @@ public class SimStatusDialogControllerTest {
when(mServiceState.getRoaming()).thenReturn(true);
mController.initialize();
- mController.updateEid(mController.getEid(0));
final String roamingOnString = ResourcesUtils.getResourcesString(
mContext, "radioInfo_roaming_in");
@@ -372,7 +344,6 @@ public class SimStatusDialogControllerTest {
when(mServiceState.getRoaming()).thenReturn(false);
mController.initialize();
- mController.updateEid(mController.getEid(0));
final String roamingOffString = ResourcesUtils.getResourcesString(
mContext, "radioInfo_roaming_not");
@@ -385,7 +356,6 @@ public class SimStatusDialogControllerTest {
CarrierConfigManager.KEY_SHOW_ICCID_IN_SIM_STATUS_BOOL, false);
mController.initialize();
- mController.updateEid(mController.getEid(0));
verify(mDialog).removeSettingFromScreen(ICCID_INFO_LABEL_ID);
verify(mDialog).removeSettingFromScreen(ICCID_INFO_VALUE_ID);
@@ -397,7 +367,6 @@ public class SimStatusDialogControllerTest {
CarrierConfigManager.KEY_SHOW_SIGNAL_STRENGTH_IN_SIM_STATUS_BOOL, false);
mController.initialize();
- mController.updateEid(mController.getEid(0));
verify(mDialog, times(2)).removeSettingFromScreen(SIGNAL_STRENGTH_LABEL_ID);
verify(mDialog, times(2)).removeSettingFromScreen(SIGNAL_STRENGTH_VALUE_ID);
@@ -409,7 +378,6 @@ public class SimStatusDialogControllerTest {
when(mCarrierConfigManager.getConfigForSubId(anyInt())).thenReturn(null);
mController.initialize();
- mController.updateEid(mController.getEid(0));
verify(mDialog, times(2)).setText(eq(SIGNAL_STRENGTH_VALUE_ID), any());
verify(mDialog).removeSettingFromScreen(ICCID_INFO_LABEL_ID);
@@ -423,403 +391,10 @@ public class SimStatusDialogControllerTest {
doReturn(iccid).when(mTelephonyManager).getSimSerialNumber();
mController.initialize();
- mController.updateEid(mController.getEid(0));
verify(mDialog).setText(ICCID_INFO_VALUE_ID, iccid);
}
- @Test
- public void initialize_updateEid_shouldNotSetEid() {
- when(mTelephonyManager.getActiveModemCount()).thenReturn(MAX_PHONE_COUNT_DUAL_SIM);
-
- ArrayList uiccCardInfos = new ArrayList<>();
- UiccCardInfo uiccCardInfo1 = new UiccCardInfo(
- false, // isEuicc
- 0, // cardId
- null, // eid
- 0, // slotIndex
- true, // isRemovable
- false, // isMultipleEnabledProfileSupported
- Collections.singletonList(
- new UiccPortInfo(
- "123451234567890", // iccId
- 0, // portIdx
- 0, // logicalSlotIdx
- true // isActive
- )
- ));
- uiccCardInfos.add(uiccCardInfo1);
- UiccCardInfo uiccCardInfo2 = new UiccCardInfo(
- true, // isEuicc
- 1, // cardId
- null, // eid (unavailable)
- 1, // slotIndex
- false, // isRemovable
- false,
- Collections.singletonList(
- new UiccPortInfo(
- null, // iccId
- 1, // portIdx
- 1, // logicalSlotIdx
- true // isActive
- )
- )
- );
- uiccCardInfos.add(uiccCardInfo2);
- when(mTelephonyManager.getUiccCardsInfo()).thenReturn(uiccCardInfos);
-
- Map slotMapping = new HashMap<>();
- slotMapping.put(0, 1);
- slotMapping.put(1, 0);
- when(mTelephonyManager.getLogicalToPhysicalSlotMapping()).thenReturn(slotMapping);
-
- when(mEuiccManager.isEnabled()).thenReturn(true);
- mEuiccEnabled.set(true);
- mEid.set(null);
-
- mController.initialize();
- mController.updateEid(mController.getEid(0));
-
- // Keep 'Not available' if neither the card nor the associated manager can provide EID.
- verify(mDialog, never()).setText(eq(EID_INFO_VALUE_ID), any());
- verify(mDialog, never()).removeSettingFromScreen(eq(EID_INFO_VALUE_ID));
- }
-
- @Test
- public void initialize_updateEid_shouldSetEidFromCard() {
- when(mTelephonyManager.getActiveModemCount()).thenReturn(MAX_PHONE_COUNT_DUAL_SIM);
-
- ArrayList uiccCardInfos = new ArrayList<>();
- UiccCardInfo uiccCardInfo1 = new UiccCardInfo(
- true, // isEuicc
- 0, // cardId
- TEST_EID_FROM_CARD, // eid
- 0, // slotIndex
- false, // isRemovable
- false,
- Collections.singletonList(new UiccPortInfo(
- null, // iccId
- 0, // portIdx
- 0, // logicalSlotIdx
- true // isActive
- )));
- uiccCardInfos.add(uiccCardInfo1);
- UiccCardInfo uiccCardInfo2 = new UiccCardInfo(
- false, // isEuicc
- 1, // cardId
- null, // eid
- 1, // slotIndex
- true, // isRemovable
- false, // isMultipleEnabledProfileSupported
- Collections.singletonList(
- new UiccPortInfo(
- "123451234567890", // iccId
- 1, // portIdx
- 1, // logicalSlotIdx
- true // isActive
- )
- ));
- uiccCardInfos.add(uiccCardInfo2);
- when(mTelephonyManager.getUiccCardsInfo()).thenReturn(uiccCardInfos);
-
- Map slotMapping = new HashMap<>();
- slotMapping.put(0, 0);
- slotMapping.put(1, 1);
- when(mTelephonyManager.getLogicalToPhysicalSlotMapping()).thenReturn(slotMapping);
-
- when(mEuiccManager.isEnabled()).thenReturn(true);
- mEuiccEnabled.set(true);
- mEid.set(TEST_EID_FROM_CARD);
- when(mEuiccManager.createForCardId(0)).thenReturn(mEuiccManager);
-
- mController.initialize();
- mController.updateEid(mController.getEid(0));
-
- // Set EID retrieved from the card.
- verify(mDialog).setText(EID_INFO_VALUE_ID, TEST_EID_FROM_CARD);
- verify(mDialog, never()).removeSettingFromScreen(eq(EID_INFO_VALUE_ID));
- }
-
- @Test
- public void initialize_updateEid_shouldSetEidFromManager() {
- when(mTelephonyManager.getActiveModemCount()).thenReturn(MAX_PHONE_COUNT_DUAL_SIM);
-
- ArrayList uiccCardInfos = new ArrayList<>();
- UiccCardInfo uiccCardInfo1 = new UiccCardInfo(
- false, // isEuicc
- 0, // cardId
- null, // eid
- 0, // slotIndex
- true, // isRemovable
- false, // isMultipleEnabledProfileSupported
- Collections.singletonList(
- new UiccPortInfo(
- "123451234567890", // iccId
- 1, // portIdx
- 1, // logicalSlotIdx
- true // isActive
- )
- ));
- uiccCardInfos.add(uiccCardInfo1);
- UiccCardInfo uiccCardInfo2 = new UiccCardInfo(
- true, // isEuicc
- 1, // cardId
- null, // eid (unavailable)
- 1, // slotIndex
- false, // isRemovable
- false, // isMultipleEnabledProfileSupported
- Collections.singletonList(
- new UiccPortInfo(
- null, // iccId
- 1, // portIdx
- 1, // logicalSlotIdx
- true // isActive
- )
- )
- );
- uiccCardInfos.add(uiccCardInfo2);
- when(mTelephonyManager.getUiccCardsInfo()).thenReturn(uiccCardInfos);
-
- Map slotMapping = new HashMap<>();
- slotMapping.put(0, 1);
- slotMapping.put(1, 0);
- when(mTelephonyManager.getLogicalToPhysicalSlotMapping()).thenReturn(slotMapping);
-
- when(mEuiccManager.isEnabled()).thenReturn(true);
- mEuiccEnabled.set(true);
- mEid.set(TEST_EID_FROM_MANAGER);
- when(mEuiccManager.createForCardId(0)).thenThrow(
- new RuntimeException("Unexpected card ID was specified"));
- when(mEuiccManager.createForCardId(1)).thenReturn(mEuiccManager);
-
- mController.initialize();
- mController.updateEid(mController.getEid(0));
-
- // Set EID retrieved from the manager associated with the card which cannot provide EID.
- verify(mDialog).setText(EID_INFO_VALUE_ID, TEST_EID_FROM_MANAGER);
- verify(mDialog, never()).removeSettingFromScreen(eq(EID_INFO_VALUE_ID));
- }
-
- @Test
- @Ignore
- public void initialize_updateEid_shouldRemoveEid() {
- when(mTelephonyManager.getActiveModemCount()).thenReturn(MAX_PHONE_COUNT_DUAL_SIM);
-
- ArrayList uiccCardInfos = new ArrayList<>();
- UiccCardInfo uiccCardInfo1 = new UiccCardInfo(
- false, // isEuicc
- 0, // cardId
- null, // eid
- 0, // slotIndex
- true, // isRemovable
- false, // isMultipleEnabledProfileSupported
- Collections.singletonList(
- new UiccPortInfo(
- "123451234567890", // iccId
- 0, // portIdx
- 0, // logicalSlotIdx
- true // isActive
- )
- ));
- uiccCardInfos.add(uiccCardInfo1);
- UiccCardInfo uiccCardInfo2 = new UiccCardInfo(
- true, // isEuicc
- 1, // cardId
- TEST_EID_FROM_CARD, // eid
- 1, // slotIndex
- false, // isRemovable
- false, // isMultipleEnabledProfileSupported
- Collections.singletonList(
- new UiccPortInfo(
- null, // iccId
- 1, // portIdx
- 1, // logicalSlotIdx
- true // isActive
- )
- ));
- uiccCardInfos.add(uiccCardInfo2);
- when(mTelephonyManager.getUiccCardsInfo()).thenReturn(uiccCardInfos);
-
- Map slotMapping = new HashMap<>();
- slotMapping.put(0, 0);
- slotMapping.put(1, 1);
- when(mTelephonyManager.getLogicalToPhysicalSlotMapping()).thenReturn(slotMapping);
-
- when(mEuiccManager.isEnabled()).thenReturn(true);
- mEuiccEnabled.set(true);
- mEid.set(null);
-
- mController.initialize();
- mController.updateEid(mController.getEid(0));
-
- // Remove EID if the card is not eUICC.
- verify(mDialog, never()).setText(eq(EID_INFO_VALUE_ID), any());
- verify(mDialog).removeSettingFromScreen(eq(EID_INFO_LABEL_ID));
- verify(mDialog).removeSettingFromScreen(eq(EID_INFO_VALUE_ID));
- }
-
- @Test
- public void initialize_updateEid_shouldNotSetEidInSingleSimMode() {
- when(mTelephonyManager.getActiveModemCount()).thenReturn(MAX_PHONE_COUNT_SINGLE_SIM);
-
- ArrayList uiccCardInfos = new ArrayList<>();
- UiccCardInfo uiccCardInfo = new UiccCardInfo(
- true, // isEuicc
- 0, // cardId
- TEST_EID_FROM_CARD, // eid (not used)
- 0, // slotIndex
- false, // isRemovable
- false, // isMultipleEnabledProfileSupported
- Collections.singletonList(
- new UiccPortInfo(
- null, // iccId
- 0, // portIdx
- 0, // logicalSlotIdx
- true // isActive
- )
- ));
- uiccCardInfos.add(uiccCardInfo);
- when(mTelephonyManager.getUiccCardsInfo()).thenReturn(uiccCardInfos);
-
- Map slotMapping = new HashMap<>();
- slotMapping.put(0, 0);
- when(mTelephonyManager.getLogicalToPhysicalSlotMapping()).thenReturn(slotMapping);
-
- when(mEuiccManager.isEnabled()).thenReturn(true);
- mEuiccEnabled.set(true);
- mEid.set(null);
-
- mController.initialize();
- mController.updateEid(mController.getEid(0));
-
- // Keep 'Not available' if the default eUICC manager cannot provide EID in Single SIM mode.
- verify(mDialog, never()).setText(eq(EID_INFO_VALUE_ID), any());
- verify(mDialog, never()).removeSettingFromScreen(eq(EID_INFO_VALUE_ID));
- }
-
- @Test
- public void initialize_updateEid_shouldSetEidInSingleSimModeWithEnabledEuicc() {
- when(mTelephonyManager.getActiveModemCount()).thenReturn(MAX_PHONE_COUNT_SINGLE_SIM);
-
- ArrayList uiccCardInfos = new ArrayList<>();
- UiccCardInfo uiccCardInfo = new UiccCardInfo(
- true, // isEuicc (eUICC slot is selected)
- 0, // cardId
- TEST_EID_FROM_CARD, // eid (not used)
- 0, // slotIndex
- false, // isRemovable
- false, // isMultipleEnabledProfileSupported
- Collections.singletonList(
- new UiccPortInfo(
- null, // iccId
- 0, // portIdx
- 0, // logicalSlotIdx
- true // isActive
- )
- )
- );
- uiccCardInfos.add(uiccCardInfo);
- when(mTelephonyManager.getUiccCardsInfo()).thenReturn(uiccCardInfos);
-
- Map slotMapping = new HashMap<>();
- slotMapping.put(0, 0);
- when(mTelephonyManager.getLogicalToPhysicalSlotMapping()).thenReturn(slotMapping);
-
- when(mEuiccManager.isEnabled()).thenReturn(true);
- mEuiccEnabled.set(true);
- mEid.set(TEST_EID_FROM_MANAGER);
- when(mEuiccManager.createForCardId(anyInt())).thenThrow(
- new RuntimeException("EID shall be retrieved from the default eUICC manager"));
-
- mController.initialize();
- mController.updateEid(mController.getEid(0));
-
- // Set EID retrieved from the default eUICC manager in Single SIM mode.
- verify(mDialog).setText(EID_INFO_VALUE_ID, TEST_EID_FROM_MANAGER);
- verify(mDialog, never()).removeSettingFromScreen(eq(EID_INFO_VALUE_ID));
- }
-
- @Test
- public void initialize_updateEid_shouldSetEidInSingleSimModeWithDisabledEuicc() {
- when(mTelephonyManager.getActiveModemCount()).thenReturn(MAX_PHONE_COUNT_SINGLE_SIM);
-
- ArrayList uiccCardInfos = new ArrayList<>();
- UiccCardInfo uiccCardInfo = new UiccCardInfo(
- false, // isEuicc (eUICC slot is not selected)
- 0, // cardId
- null, // eid
- 0, // slotIndex
- true, // isRemovable
- false, // isMultipleEnabledProfileSupported
- Collections.singletonList(
- new UiccPortInfo(
- "123451234567890", // iccId
- 0, // portIdx
- 0, // logicalSlotIdx
- true // isActive
-
- )
- ));
- uiccCardInfos.add(uiccCardInfo);
- when(mTelephonyManager.getUiccCardsInfo()).thenReturn(uiccCardInfos);
-
- Map slotMapping = new HashMap<>();
- slotMapping.put(0, 0);
- when(mTelephonyManager.getLogicalToPhysicalSlotMapping()).thenReturn(slotMapping);
-
- when(mEuiccManager.isEnabled()).thenReturn(true);
- mEuiccEnabled.set(true);
- mEid.set(TEST_EID_FROM_MANAGER);
- when(mEuiccManager.createForCardId(anyInt())).thenThrow(
- new RuntimeException("EID shall be retrieved from the default eUICC manager"));
-
- mController.initialize();
- mController.updateEid(mController.getEid(0));
-
- // Set EID retrieved from the default eUICC manager in Single SIM mode.
- verify(mDialog).setText(EID_INFO_VALUE_ID, TEST_EID_FROM_MANAGER);
- verify(mDialog, never()).removeSettingFromScreen(eq(EID_INFO_VALUE_ID));
- }
-
- @Test
- public void initialize_updateEid_shouldRemoveEidInSingleSimMode() {
- when(mTelephonyManager.getActiveModemCount()).thenReturn(MAX_PHONE_COUNT_SINGLE_SIM);
-
- ArrayList uiccCardInfos = new ArrayList<>();
- UiccCardInfo uiccCardInfo = new UiccCardInfo(
- false, // isEuicc
- 0, // cardId
- null, // eid
- 0, // slotIndex
- true, // isRemovable
- false, //isMultipleEnabledProfileSupported
- Collections.singletonList(
- new UiccPortInfo(
- "123451234567890", // iccId
- 0, // portIdx
- 0, // logicalSlotIdx
- true // isActive
- )
- ));
- uiccCardInfos.add(uiccCardInfo);
- when(mTelephonyManager.getUiccCardsInfo()).thenReturn(uiccCardInfos);
-
- Map slotMapping = new HashMap<>();
- slotMapping.put(0, 0);
- when(mTelephonyManager.getLogicalToPhysicalSlotMapping()).thenReturn(slotMapping);
-
- when(mEuiccManager.isEnabled()).thenReturn(false);
- mEuiccEnabled.set(false);
- mEid.set(null);
-
- mController.initialize();
- mController.updateEid(mController.getEid(0));
-
- // Remove EID if the default eUICC manager indicates that eSIM is not enabled.
- verify(mDialog).removeSettingFromScreen(eq(EID_INFO_LABEL_ID));
- verify(mDialog).removeSettingFromScreen(eq(EID_INFO_VALUE_ID));
- }
-
@Test
@Ignore
public void initialize_imsRegistered_shouldSetImsRegistrationStateSummaryToRegisterd() {
@@ -828,7 +403,6 @@ public class SimStatusDialogControllerTest {
when(mTelephonyManager.isImsRegistered(anyInt())).thenReturn(true);
mController.initialize();
- mController.updateEid(mController.getEid(0));
verify(mDialog).setText(IMS_REGISTRATION_STATE_VALUE_ID,
mContext.getString(R.string.ims_reg_status_registered));
@@ -842,7 +416,6 @@ public class SimStatusDialogControllerTest {
when(mTelephonyManager.isImsRegistered(anyInt())).thenReturn(false);
mController.initialize();
- mController.updateEid(mController.getEid(0));
verify(mDialog).setText(IMS_REGISTRATION_STATE_VALUE_ID,
mContext.getString(R.string.ims_reg_status_not_registered));
@@ -855,7 +428,6 @@ public class SimStatusDialogControllerTest {
CarrierConfigManager.KEY_SHOW_IMS_REGISTRATION_STATUS_BOOL, true);
mController.initialize();
- mController.updateEid(mController.getEid(0));
verify(mDialog, never()).removeSettingFromScreen(IMS_REGISTRATION_STATE_VALUE_ID);
}
@@ -867,7 +439,6 @@ public class SimStatusDialogControllerTest {
CarrierConfigManager.KEY_SHOW_IMS_REGISTRATION_STATUS_BOOL, false);
mController.initialize();
- mController.updateEid(mController.getEid(0));
verify(mDialog).removeSettingFromScreen(IMS_REGISTRATION_STATE_LABEL_ID);
verify(mDialog).removeSettingFromScreen(IMS_REGISTRATION_STATE_VALUE_ID);
@@ -878,7 +449,6 @@ public class SimStatusDialogControllerTest {
doReturn(null).when(mTelephonyManager).getSignalStrength();
// we should not crash when running the following line
mController.initialize();
- mController.updateEid(mController.getEid(0));
}
private void setupCellSignalStrength_lteWcdma(int lteDbm, int lteAsu, int wcdmaDbm,