Move IMS registration state to SIM status screen
Manually merge change I3aff03ebdc9dc165db66c5007a2fa987ab8cd822 due to merge conflicts. To show IMS registration state for each SIM, move the preference of IMS registration state from Status screen to SIM Status screen. Fixes: 66063299 Test: manual - Checked that the IMS registration state is displayed on the SIM Status screen. Test: make RunSettingsRoboTests Change-Id: Ic0713c357085d94b59605c1b924e7b56a362e256
This commit is contained in:
@@ -167,5 +167,18 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/device_info_not_available"/>
|
||||
|
||||
<TextView
|
||||
style="@style/device_info_dialog_label"
|
||||
android:id="@+id/ims_reg_state_label"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/ims_reg_title"/>
|
||||
<TextView
|
||||
style="@style/device_info_dialog_value"
|
||||
android:id="@+id/ims_reg_state_value"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/device_info_not_available"/>
|
||||
</LinearLayout>
|
||||
</ScrollView>
|
||||
|
@@ -60,13 +60,6 @@
|
||||
settings:keywords="@string/keywords_android_version"
|
||||
android:summary="@string/summary_placeholder"/>
|
||||
|
||||
<!-- IMS registration -->
|
||||
<Preference
|
||||
android:key="ims_reg_state"
|
||||
android:order="33"
|
||||
android:title="@string/ims_reg_title"
|
||||
android:summary="@string/summary_placeholder"/>
|
||||
|
||||
<!--IP address -->
|
||||
<Preference
|
||||
android:key="wifi_ip_address"
|
||||
|
@@ -104,13 +104,6 @@
|
||||
settings:keywords="@string/keywords_android_version"
|
||||
android:summary="@string/summary_placeholder"/>
|
||||
|
||||
<!-- IMS registration -->
|
||||
<Preference
|
||||
android:key="ims_reg_state"
|
||||
android:order="33"
|
||||
android:title="@string/ims_reg_title"
|
||||
android:summary="@string/summary_placeholder"/>
|
||||
|
||||
<!--IP address -->
|
||||
<Preference
|
||||
android:key="wifi_ip_address"
|
||||
|
@@ -129,7 +129,6 @@ public class DeviceInfoSettings extends DashboardFragment implements Indexable {
|
||||
controllers.add(new DeviceModelPreferenceController(context, fragment));
|
||||
controllers.add(new ImeiInfoPreferenceController(context, fragment));
|
||||
controllers.add(new FirmwareVersionPreferenceController(context, fragment));
|
||||
controllers.add(new ImsStatusPreferenceController(context, lifecycle));
|
||||
controllers.add(new IpAddressPreferenceController(context, lifecycle));
|
||||
controllers.add(new WifiMacAddressPreferenceController(context, lifecycle));
|
||||
controllers.add(new BluetoothAddressPreferenceController(context, lifecycle));
|
||||
|
@@ -42,7 +42,6 @@ import com.android.settings.deviceinfo.DeviceModelPreferenceController;
|
||||
import com.android.settings.deviceinfo.DeviceNamePreferenceController;
|
||||
import com.android.settings.deviceinfo.FccEquipmentIdPreferenceController;
|
||||
import com.android.settings.deviceinfo.FeedbackPreferenceController;
|
||||
import com.android.settings.deviceinfo.ImsStatusPreferenceController;
|
||||
import com.android.settings.deviceinfo.IpAddressPreferenceController;
|
||||
import com.android.settings.deviceinfo.ManualPreferenceController;
|
||||
import com.android.settings.deviceinfo.PhoneNumberPreferenceController;
|
||||
@@ -113,7 +112,6 @@ public class MyDeviceInfoFragment extends DashboardFragment {
|
||||
controllers.add(new DeviceModelPreferenceController(context, fragment));
|
||||
controllers.add(new ImeiInfoPreferenceController(context, fragment));
|
||||
controllers.add(new FirmwareVersionPreferenceController(context, fragment));
|
||||
controllers.add(new ImsStatusPreferenceController(context, lifecycle));
|
||||
controllers.add(new IpAddressPreferenceController(context, lifecycle));
|
||||
controllers.add(new WifiMacAddressPreferenceController(context, lifecycle));
|
||||
controllers.add(new BluetoothAddressPreferenceController(context, lifecycle));
|
||||
|
@@ -26,7 +26,6 @@ import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.content.res.Resources;
|
||||
import android.os.AsyncTask;
|
||||
import android.os.Bundle;
|
||||
import android.os.PersistableBundle;
|
||||
import android.os.UserHandle;
|
||||
@@ -42,7 +41,6 @@ import android.telephony.SubscriptionManager;
|
||||
import android.telephony.TelephonyManager;
|
||||
import android.text.BidiFormatter;
|
||||
import android.text.TextDirectionHeuristics;
|
||||
import android.telephony.euicc.EuiccManager;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
|
||||
@@ -88,6 +86,10 @@ public class SimStatusDialogController implements LifecycleObserver, OnResume, O
|
||||
final static int ICCID_INFO_VALUE_ID = R.id.icc_id_value;
|
||||
@VisibleForTesting
|
||||
final static int EID_INFO_VALUE_ID = R.id.esim_id_value;
|
||||
@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;
|
||||
|
||||
private final static String CB_AREA_INFO_RECEIVED_ACTION =
|
||||
"com.android.cellbroadcastreceiver.CB_AREA_INFO_RECEIVED";
|
||||
@@ -162,6 +164,7 @@ public class SimStatusDialogController implements LifecycleObserver, OnResume, O
|
||||
updateNetworkType();
|
||||
updateRoamingStatus(serviceState);
|
||||
updateIccidNumber();
|
||||
updateImsRegistrationState();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -386,6 +389,22 @@ public class SimStatusDialogController implements LifecycleObserver, OnResume, O
|
||||
mDialog.setText(EID_INFO_VALUE_ID, mEuiccManager.getEid());
|
||||
}
|
||||
|
||||
private void updateImsRegistrationState() {
|
||||
final int subscriptionId = mSubscriptionInfo.getSubscriptionId();
|
||||
final PersistableBundle carrierConfig =
|
||||
mCarrierConfigManager.getConfigForSubId(subscriptionId);
|
||||
final boolean showImsRegState = carrierConfig == null ? false :
|
||||
carrierConfig.getBoolean(CarrierConfigManager.KEY_SHOW_IMS_REGISTRATION_STATUS_BOOL);
|
||||
if (showImsRegState) {
|
||||
final boolean isImsRegistered = mTelephonyManager.isImsRegistered(subscriptionId);
|
||||
mDialog.setText(IMS_REGISTRATION_STATE_VALUE_ID, mRes.getString(isImsRegistered ?
|
||||
R.string.ims_reg_status_registered : R.string.ims_reg_status_not_registered));
|
||||
} else {
|
||||
mDialog.removeSettingFromScreen(IMS_REGISTRATION_STATE_LABEL_ID);
|
||||
mDialog.removeSettingFromScreen(IMS_REGISTRATION_STATE_VALUE_ID);
|
||||
}
|
||||
}
|
||||
|
||||
private SubscriptionInfo getPhoneSubscriptionInfo(int slotId) {
|
||||
final List<SubscriptionInfo> subscriptionInfoList = SubscriptionManager.from(
|
||||
mContext).getActiveSubscriptionInfoList();
|
||||
|
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user