[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
Change-Id: Ic038aa65655f8efa98bf1d6388e7c61761d2eb4a
This commit is contained in:
Nathan Harold
2018-04-23 18:20:43 -07:00
parent 6e16fdf399
commit 433ca4427c
3 changed files with 40 additions and 1 deletions

View File

@@ -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"

View File

@@ -476,6 +476,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>

View File

@@ -52,6 +52,7 @@ import android.telephony.DataConnectionRealTimeInfo;
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 @@ public class RadioInfo extends Activity {
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 @@ public class RadioInfo extends Activity {
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 @@ public class RadioInfo extends Activity {
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 @@ public class RadioInfo extends Activity {
| 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();
}