diff --git a/res/layout/dialog_sim_status.xml b/res/layout/dialog_sim_status.xml index 9c67f13c378..27d12a8cb1c 100644 --- a/res/layout/dialog_sim_status.xml +++ b/res/layout/dialog_sim_status.xml @@ -167,5 +167,18 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/device_info_not_available"/> + + + diff --git a/res/xml/device_info_settings.xml b/res/xml/device_info_settings.xml index 91101310f97..8aa4d060d58 100644 --- a/res/xml/device_info_settings.xml +++ b/res/xml/device_info_settings.xml @@ -60,13 +60,6 @@ settings:keywords="@string/keywords_android_version" android:summary="@string/summary_placeholder"/> - - - - - - subscriptionInfoList = SubscriptionManager.from( mContext).getActiveSubscriptionInfoList(); diff --git a/tests/robotests/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogControllerTest.java index 4d6cab7f14c..d9bc325d6fb 100644 --- a/tests/robotests/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogControllerTest.java +++ b/tests/robotests/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogControllerTest.java @@ -21,6 +21,8 @@ import static com.android.settings.deviceinfo.simstatus.SimStatusDialogControlle 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; +import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController.IMS_REGISTRATION_STATE_VALUE_ID; import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController.NETWORK_PROVIDER_VALUE_ID; import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController.OPERATOR_INFO_LABEL_ID; import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController.OPERATOR_INFO_VALUE_ID; @@ -33,6 +35,7 @@ import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.doReturn; +import static org.mockito.Mockito.never; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -286,4 +289,50 @@ public class SimStatusDialogControllerTest { verify(mDialog).setText(EID_INFO_VALUE_ID, eid); } + + @Test + public void initialize_imsRegistered_shouldSetImsRegistrationStateSummaryToRegisterd() { + when(mPersistableBundle.getBoolean( + CarrierConfigManager.KEY_SHOW_IMS_REGISTRATION_STATUS_BOOL)).thenReturn(true); + when(mTelephonyManager.isImsRegistered(anyInt())).thenReturn(true); + + mController.initialize(); + + verify(mDialog).setText(IMS_REGISTRATION_STATE_VALUE_ID, + mContext.getString(R.string.ims_reg_status_registered)); + } + + @Test + public void initialize_imsNotRegistered_shouldSetImsRegistrationStateSummaryToNotRegisterd() { + when(mPersistableBundle.getBoolean( + CarrierConfigManager.KEY_SHOW_IMS_REGISTRATION_STATUS_BOOL)).thenReturn(true); + when(mTelephonyManager.isImsRegistered(anyInt())).thenReturn(false); + + mController.initialize(); + + verify(mDialog).setText(IMS_REGISTRATION_STATE_VALUE_ID, + mContext.getString(R.string.ims_reg_status_not_registered)); + } + + @Test + public void initialize_showImsRegistration_shouldNotRemoveImsRegistrationStateSetting() { + when(mPersistableBundle.getBoolean( + CarrierConfigManager.KEY_SHOW_IMS_REGISTRATION_STATUS_BOOL)).thenReturn(true); + + mController.initialize(); + + verify(mDialog, never()).removeSettingFromScreen(IMS_REGISTRATION_STATE_VALUE_ID); + } + + @Test + public void initialize_doNotShowImsRegistration_shouldRemoveImsRegistrationStateSetting() { + when(mPersistableBundle.getBoolean( + CarrierConfigManager.KEY_SHOW_IMS_REGISTRATION_STATUS_BOOL)).thenReturn(false); + + mController.initialize(); + + verify(mDialog).removeSettingFromScreen(IMS_REGISTRATION_STATE_LABEL_ID); + verify(mDialog).removeSettingFromScreen(IMS_REGISTRATION_STATE_VALUE_ID); + } + }