[Telephony Debug Menu] Add Physical Channel Config
Add a field to display the PhyChanConfig and register
for this event as part of the PhoneStateListener.
Bug: 78791811
Test: manual
Merged-In: Ic038aa65655f8efa98bf1d6388e7c61761d2eb4a
Change-Id: Ic038aa65655f8efa98bf1d6388e7c61761d2eb4a
(cherry picked from commit 433ca4427ca8d3b349b9997f3dca03f96c5739cf)
diff --git a/res/layout/radio_info.xml b/res/layout/radio_info.xml
index 502505c..bc7671a 100644
--- a/res/layout/radio_info.xml
+++ b/res/layout/radio_info.xml
@@ -91,6 +91,18 @@
<TextView android:id="@+id/roaming" style="@style/info_value" />
</LinearLayout>
+ <!-- Physical Channel Config -->
+ <LinearLayout style="@style/entry_layout">
+ <TextView android:text="@string/radio_info_phy_chan_config" style="@style/info_label" />
+ <TextView android:id="@+id/phy_chan_config" style="@style/info_value" />
+ </LinearLayout>
+
+ <!-- Horizontal Rule -->
+ <View
+ android:layout_width="fill_parent"
+ android:layout_height="1dip"
+ android:background="#000000" />
+
<!-- Preferred Network Type -->
<TextView
android:layout_width="match_parent"
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 0d7b095..c1430c8 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -451,6 +451,8 @@
<!-- Radio Info screen. Label for a status item. Used for diagnostic info screens, precise translation isn't needed -->
<string name="radio_info_neighboring_location_label">Neighbor Cell Info (deprecated):</string>
<!-- Radio Info screen. Label for a status item. Used for diagnostic info screens, precise translation isn't needed -->
+ <string name="radio_info_phy_chan_config">LTE Physical Channel Configuration:</string>
+ <!-- Radio Info screen. Label for a status item. Used for diagnostic info screens, precise translation isn't needed -->
<string name="radio_info_cell_info_refresh_rate">Cell Info Refresh Rate:</string>
<!-- Radio Info screen. Label for a status item. Used for diagnostic info screens, precise translation isn't needed -->
<string name="radio_info_cellinfo_label">All Cell Measurement Info:</string>
diff --git a/src/com/android/settings/RadioInfo.java b/src/com/android/settings/RadioInfo.java
index 91d319c..ec683f7 100644
--- a/src/com/android/settings/RadioInfo.java
+++ b/src/com/android/settings/RadioInfo.java
@@ -52,6 +52,7 @@
import android.telephony.NeighboringCellInfo;
import android.telephony.PreciseCallState;
import android.telephony.PhoneStateListener;
+import android.telephony.PhysicalChannelConfig;
import android.telephony.ServiceState;
import android.telephony.SignalStrength;
import android.telephony.SubscriptionManager;
@@ -194,6 +195,7 @@
private TextView mPingHostnameV4;
private TextView mPingHostnameV6;
private TextView mHttpClientTest;
+ private TextView mPhyChanConfig;
private TextView dnsCheckState;
private EditText smsc;
private Switch radioPowerOnSwitch;
@@ -296,8 +298,29 @@
updateNetworkType();
updateImsProvisionedState();
}
+
+ @Override
+ public void onPhysicalChannelConfigurationChanged(
+ List<PhysicalChannelConfig> configs) {
+ updatePhysicalChannelConfiguration(configs);
+ }
+
};
+ private void updatePhysicalChannelConfiguration(List<PhysicalChannelConfig> configs) {
+ StringBuilder sb = new StringBuilder();
+ String div = "";
+ sb.append("{");
+ if (configs != null) {
+ for(PhysicalChannelConfig c : configs) {
+ sb.append(div).append(c);
+ div = ",";
+ }
+ }
+ sb.append("}");
+ mPhyChanConfig.setText(sb.toString());
+ }
+
private void updatePreferredNetworkType(int type) {
if (type >= mPreferredNetworkLabels.length || type < 0) {
log("EVENT_QUERY_PREFERRED_TYPE_DONE: unknown " +
@@ -400,6 +423,8 @@
mPingHostnameV6 = (TextView) findViewById(R.id.pingHostnameV6);
mHttpClientTest = (TextView) findViewById(R.id.httpClientTest);
+ mPhyChanConfig = (TextView) findViewById(R.id.phy_chan_config);
+
preferredNetworkType = (Spinner) findViewById(R.id.preferredNetworkType);
ArrayAdapter<String> adapter = new ArrayAdapter<String> (this,
android.R.layout.simple_spinner_item, mPreferredNetworkLabels);
@@ -502,7 +527,7 @@
| PhoneStateListener.LISTEN_CELL_INFO
| PhoneStateListener.LISTEN_SERVICE_STATE
| PhoneStateListener.LISTEN_SIGNAL_STRENGTHS
- | PhoneStateListener.LISTEN_DATA_CONNECTION_REAL_TIME_INFO);
+ | PhoneStateListener.LISTEN_PHYSICAL_CHANNEL_CONFIGURATION);
smsc.clearFocus();
}