Merge "Move IMS registration state to SIM status screen" into pi-dev
am: 6fa3b89033
Change-Id: Ib4a76ca53a04cf9a9f6ab62312bbf3c9b685528c
This commit is contained in:
@@ -167,5 +167,18 @@
|
|||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/device_info_not_available"/>
|
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>
|
</LinearLayout>
|
||||||
</ScrollView>
|
</ScrollView>
|
||||||
|
@@ -60,13 +60,6 @@
|
|||||||
settings:keywords="@string/keywords_android_version"
|
settings:keywords="@string/keywords_android_version"
|
||||||
android:summary="@string/summary_placeholder"/>
|
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 -->
|
<!--IP address -->
|
||||||
<Preference
|
<Preference
|
||||||
android:key="wifi_ip_address"
|
android:key="wifi_ip_address"
|
||||||
|
@@ -104,13 +104,6 @@
|
|||||||
settings:keywords="@string/keywords_android_version"
|
settings:keywords="@string/keywords_android_version"
|
||||||
android:summary="@string/summary_placeholder"/>
|
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 -->
|
<!--IP address -->
|
||||||
<Preference
|
<Preference
|
||||||
android:key="wifi_ip_address"
|
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 DeviceModelPreferenceController(context, fragment));
|
||||||
controllers.add(new ImeiInfoPreferenceController(context, fragment));
|
controllers.add(new ImeiInfoPreferenceController(context, fragment));
|
||||||
controllers.add(new FirmwareVersionPreferenceController(context, fragment));
|
controllers.add(new FirmwareVersionPreferenceController(context, fragment));
|
||||||
controllers.add(new ImsStatusPreferenceController(context, lifecycle));
|
|
||||||
controllers.add(new IpAddressPreferenceController(context, lifecycle));
|
controllers.add(new IpAddressPreferenceController(context, lifecycle));
|
||||||
controllers.add(new WifiMacAddressPreferenceController(context, lifecycle));
|
controllers.add(new WifiMacAddressPreferenceController(context, lifecycle));
|
||||||
controllers.add(new BluetoothAddressPreferenceController(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.DeviceNamePreferenceController;
|
||||||
import com.android.settings.deviceinfo.FccEquipmentIdPreferenceController;
|
import com.android.settings.deviceinfo.FccEquipmentIdPreferenceController;
|
||||||
import com.android.settings.deviceinfo.FeedbackPreferenceController;
|
import com.android.settings.deviceinfo.FeedbackPreferenceController;
|
||||||
import com.android.settings.deviceinfo.ImsStatusPreferenceController;
|
|
||||||
import com.android.settings.deviceinfo.IpAddressPreferenceController;
|
import com.android.settings.deviceinfo.IpAddressPreferenceController;
|
||||||
import com.android.settings.deviceinfo.ManualPreferenceController;
|
import com.android.settings.deviceinfo.ManualPreferenceController;
|
||||||
import com.android.settings.deviceinfo.PhoneNumberPreferenceController;
|
import com.android.settings.deviceinfo.PhoneNumberPreferenceController;
|
||||||
@@ -113,7 +112,6 @@ public class MyDeviceInfoFragment extends DashboardFragment {
|
|||||||
controllers.add(new DeviceModelPreferenceController(context, fragment));
|
controllers.add(new DeviceModelPreferenceController(context, fragment));
|
||||||
controllers.add(new ImeiInfoPreferenceController(context, fragment));
|
controllers.add(new ImeiInfoPreferenceController(context, fragment));
|
||||||
controllers.add(new FirmwareVersionPreferenceController(context, fragment));
|
controllers.add(new FirmwareVersionPreferenceController(context, fragment));
|
||||||
controllers.add(new ImsStatusPreferenceController(context, lifecycle));
|
|
||||||
controllers.add(new IpAddressPreferenceController(context, lifecycle));
|
controllers.add(new IpAddressPreferenceController(context, lifecycle));
|
||||||
controllers.add(new WifiMacAddressPreferenceController(context, lifecycle));
|
controllers.add(new WifiMacAddressPreferenceController(context, lifecycle));
|
||||||
controllers.add(new BluetoothAddressPreferenceController(context, lifecycle));
|
controllers.add(new BluetoothAddressPreferenceController(context, lifecycle));
|
||||||
|
@@ -26,7 +26,6 @@ import android.content.Intent;
|
|||||||
import android.content.IntentFilter;
|
import android.content.IntentFilter;
|
||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
import android.os.AsyncTask;
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.PersistableBundle;
|
import android.os.PersistableBundle;
|
||||||
import android.os.UserHandle;
|
import android.os.UserHandle;
|
||||||
@@ -42,7 +41,6 @@ import android.telephony.SubscriptionManager;
|
|||||||
import android.telephony.TelephonyManager;
|
import android.telephony.TelephonyManager;
|
||||||
import android.text.BidiFormatter;
|
import android.text.BidiFormatter;
|
||||||
import android.text.TextDirectionHeuristics;
|
import android.text.TextDirectionHeuristics;
|
||||||
import android.telephony.euicc.EuiccManager;
|
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.util.Log;
|
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;
|
final static int ICCID_INFO_VALUE_ID = R.id.icc_id_value;
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
final static int EID_INFO_VALUE_ID = R.id.esim_id_value;
|
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 =
|
private final static String CB_AREA_INFO_RECEIVED_ACTION =
|
||||||
"com.android.cellbroadcastreceiver.CB_AREA_INFO_RECEIVED";
|
"com.android.cellbroadcastreceiver.CB_AREA_INFO_RECEIVED";
|
||||||
@@ -162,6 +164,7 @@ public class SimStatusDialogController implements LifecycleObserver, OnResume, O
|
|||||||
updateNetworkType();
|
updateNetworkType();
|
||||||
updateRoamingStatus(serviceState);
|
updateRoamingStatus(serviceState);
|
||||||
updateIccidNumber();
|
updateIccidNumber();
|
||||||
|
updateImsRegistrationState();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -386,6 +389,22 @@ public class SimStatusDialogController implements LifecycleObserver, OnResume, O
|
|||||||
mDialog.setText(EID_INFO_VALUE_ID, mEuiccManager.getEid());
|
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) {
|
private SubscriptionInfo getPhoneSubscriptionInfo(int slotId) {
|
||||||
final List<SubscriptionInfo> subscriptionInfoList = SubscriptionManager.from(
|
final List<SubscriptionInfo> subscriptionInfoList = SubscriptionManager.from(
|
||||||
mContext).getActiveSubscriptionInfoList();
|
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.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_LABEL_ID;
|
||||||
import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController.ICCID_INFO_VALUE_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.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_LABEL_ID;
|
||||||
import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController.OPERATOR_INFO_VALUE_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.anyInt;
|
||||||
import static org.mockito.ArgumentMatchers.eq;
|
import static org.mockito.ArgumentMatchers.eq;
|
||||||
import static org.mockito.Mockito.doReturn;
|
import static org.mockito.Mockito.doReturn;
|
||||||
|
import static org.mockito.Mockito.never;
|
||||||
import static org.mockito.Mockito.spy;
|
import static org.mockito.Mockito.spy;
|
||||||
import static org.mockito.Mockito.verify;
|
import static org.mockito.Mockito.verify;
|
||||||
import static org.mockito.Mockito.when;
|
import static org.mockito.Mockito.when;
|
||||||
@@ -286,4 +289,50 @@ public class SimStatusDialogControllerTest {
|
|||||||
|
|
||||||
verify(mDialog).setText(EID_INFO_VALUE_ID, eid);
|
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