Indicates raw registration state from modem.
CS/WWAN, PS/WWAN, PS/WLAN
Test: manually verify RadioInfo page
Bug: 272085852
Change-Id: I6baaad6d072ec4a4528e982677e6d36b9bb9c341
diff --git a/res/layout/radio_info.xml b/res/layout/radio_info.xml
index c414fe1..2efa1d4 100644
--- a/res/layout/radio_info.xml
+++ b/res/layout/radio_info.xml
@@ -92,6 +92,12 @@
<TextView android:id="@+id/data_network" style="@style/info_value" />
</LinearLayout>
+ <!-- Data Raw Registration State -->
+ <LinearLayout style="@style/RadioInfo_entry_layout">
+ <TextView android:text="@string/radio_info_data_raw_registration_state_label" style="@style/info_label" />
+ <TextView android:id="@+id/data_raw_registration_state" style="@style/info_value" />
+ </LinearLayout>
+
<!-- Override Network Type -->
<LinearLayout style="@style/RadioInfo_entry_layout">
<TextView android:text="@string/radio_info_override_network_type_label" style="@style/info_label" />
@@ -110,6 +116,18 @@
<TextView android:id="@+id/voice_network" style="@style/info_value" />
</LinearLayout>
+ <!-- Voice Raw Registration State -->
+ <LinearLayout style="@style/RadioInfo_entry_layout">
+ <TextView android:text="@string/radio_info_voice_raw_registration_state_label" style="@style/info_label" />
+ <TextView android:id="@+id/voice_raw_registration_state" style="@style/info_value" />
+ </LinearLayout>
+
+ <!-- PS IWLAN Raw Registration State -->
+ <LinearLayout style="@style/RadioInfo_entry_layout">
+ <TextView android:text="@string/radio_info_wlan_data_raw_registration_state_label" style="@style/info_label" />
+ <TextView android:id="@+id/wlan_data_raw_registration_state" style="@style/info_value" />
+ </LinearLayout>
+
<!-- Signal Strength -->
<LinearLayout style="@style/RadioInfo_entry_layout">
<TextView android:text="@string/radio_info_signal_strength_label" style="@style/info_label" />
diff --git a/res/values/strings.xml b/res/values/strings.xml
index e21f761..fe679f2 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -2137,6 +2137,12 @@
<!-- Radio Info screen. Label for a status item. Used for diagnostic info screens, precise translation isn't needed -->
<string name="radio_info_override_network_type_label">Override Network Type:</string>
<!-- Radio Info screen. Label for a status item. Used for diagnostic info screens, precise translation isn't needed -->
+ <string name="radio_info_voice_raw_registration_state_label">Voice Raw Registration State:</string>
+ <!-- Radio Info screen. Label for a status item. Used for diagnostic info screens, precise translation isn't needed -->
+ <string name="radio_info_data_raw_registration_state_label">Data Raw Registration State:</string>
+ <!-- Radio Info screen. Label for a status item. Used for diagnostic info screens, precise translation isn't needed -->
+ <string name="radio_info_wlan_data_raw_registration_state_label">WLAN Data Raw Registration State:</string>
+ <!-- Radio Info screen. Label for a status item. Used for diagnostic info screens, precise translation isn't needed -->
<string name="phone_index_label">Select phone index</string>
<!-- Radio Info screen. Label for a status item. Used for diagnostic info screens, precise translation isn't needed -->
<string name="radio_info_set_perferred_label">Set Preferred Network Type:</string>
diff --git a/src/com/android/phone/settings/RadioInfo.java b/src/com/android/phone/settings/RadioInfo.java
index 574440a..214934d 100644
--- a/src/com/android/phone/settings/RadioInfo.java
+++ b/src/com/android/phone/settings/RadioInfo.java
@@ -236,6 +236,9 @@
private TextView mGprsState;
private TextView mVoiceNetwork;
private TextView mDataNetwork;
+ private TextView mVoiceRawReg;
+ private TextView mDataRawReg;
+ private TextView mWlanDataRawReg;
private TextView mOverrideNetwork;
private TextView mDBm;
private TextView mMwi;
@@ -377,6 +380,7 @@
updateServiceState(serviceState);
updateRadioPowerState();
updateNetworkType();
+ updateRawRegistrationState(serviceState);
updateImsProvisionedState();
updateNrStats(serviceState);
}
@@ -514,6 +518,9 @@
mGprsState = (TextView) findViewById(R.id.gprs);
mVoiceNetwork = (TextView) findViewById(R.id.voice_network);
mDataNetwork = (TextView) findViewById(R.id.data_network);
+ mVoiceRawReg = (TextView) findViewById(R.id.voice_raw_registration_state);
+ mDataRawReg = (TextView) findViewById(R.id.data_raw_registration_state);
+ mWlanDataRawReg = (TextView) findViewById(R.id.wlan_data_raw_registration_state);
mOverrideNetwork = (TextView) findViewById(R.id.override_network);
mDBm = (TextView) findViewById(R.id.dbm);
mMwi = (TextView) findViewById(R.id.mwi);
@@ -855,8 +862,11 @@
mOperatorName.setText("");
mGprsState.setText("");
mDataNetwork.setText("");
+ mDataRawReg.setText("");
mOverrideNetwork.setText("");
mVoiceNetwork.setText("");
+ mVoiceRawReg.setText("");
+ mWlanDataRawReg.setText("");
mSent.setText("");
mReceived.setText("");
mCallState.setText("");
@@ -1204,6 +1214,32 @@
}
}
+ private String getRawRegistrationStateText(ServiceState ss, int domain, int transportType) {
+ if (ss != null) {
+ NetworkRegistrationInfo nri = ss.getNetworkRegistrationInfo(domain, transportType);
+ if (nri != null) {
+ return NetworkRegistrationInfo.registrationStateToString(
+ nri.getNetworkRegistrationState())
+ + (nri.isEmergencyEnabled() ? "_EM" : "");
+ }
+ }
+ return "";
+ }
+
+ private void updateRawRegistrationState(ServiceState serviceState) {
+ ServiceState ss = serviceState;
+ if (ss == null && mPhone != null) {
+ ss = mPhone.getServiceState();
+ }
+
+ mVoiceRawReg.setText(getRawRegistrationStateText(ss, NetworkRegistrationInfo.DOMAIN_CS,
+ AccessNetworkConstants.TRANSPORT_TYPE_WWAN));
+ mDataRawReg.setText(getRawRegistrationStateText(ss, NetworkRegistrationInfo.DOMAIN_PS,
+ AccessNetworkConstants.TRANSPORT_TYPE_WWAN));
+ mWlanDataRawReg.setText(getRawRegistrationStateText(ss, NetworkRegistrationInfo.DOMAIN_PS,
+ AccessNetworkConstants.TRANSPORT_TYPE_WLAN));
+ }
+
private void updateNrStats(ServiceState serviceState) {
if ((mTelephonyManager.getSupportedRadioAccessFamily()
& TelephonyManager.NETWORK_TYPE_BITMASK_NR) == 0) {