From 75c5940b7c1db97e1afeb8e7dfdf3b3be539177c Mon Sep 17 00:00:00 2001 From: SongFerngWang Date: Fri, 20 Dec 2019 01:01:34 +0800 Subject: [PATCH] Phone Info UI shows network type list which depends on RAT supported Phone Info UI shows preferred network type list which depends on device RAT supported. If device is 5G supported, UI shows 5G list. If device is not 5G supported, UI shows LTE list. Bug: 146504601 Test: 1.Build pass. 2. go to Phone Info UI, and set preferred network type (PASS) Change-Id: I079d40b4ed593dd6629caf96ca8a94aaf69e9f04 Merged-In: Id32982fe3e6fbf686fafe94ecc6c8549c7a5243c Merged-In: Id62a2bf4b2c44efcd48319734d1cab6ed969ee06 --- src/com/android/settings/RadioInfo.java | 37 +++++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) diff --git a/src/com/android/settings/RadioInfo.java b/src/com/android/settings/RadioInfo.java index 8d78a87ddd7..249db58d335 100644 --- a/src/com/android/settings/RadioInfo.java +++ b/src/com/android/settings/RadioInfo.java @@ -100,7 +100,34 @@ import java.util.List; public class RadioInfo extends Activity { private static final String TAG = "RadioInfo"; - private static final String[] mPreferredNetworkLabels = { + private static final String[] PREFERRED_NETWORK_LABELS_MAX_LTE = { + "GSM/WCDMA preferred", + "GSM only", + "WCDMA only", + "GSM/WCDMA auto (PRL)", + "CDMA/EvDo auto (PRL)", + "CDMA only", + "EvDo only", + "CDMA/EvDo/GSM/WCDMA (PRL)", + "CDMA + LTE/EvDo (PRL)", + "GSM/WCDMA/LTE (PRL)", + "LTE/CDMA/EvDo/GSM/WCDMA (PRL)", + "LTE only", + "LTE/WCDMA", + "TDSCDMA only", + "TDSCDMA/WCDMA", + "LTE/TDSCDMA", + "TDSCDMA/GSM", + "LTE/TDSCDMA/GSM", + "TDSCDMA/GSM/WCDMA", + "LTE/TDSCDMA/WCDMA", + "LTE/TDSCDMA/GSM/WCDMA", + "TDSCDMA/CDMA/EvDo/GSM/WCDMA ", + "LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA", + "Unknown" + }; + + private static final String[] PREFERRED_NETWORK_LABELS = { "GSM/WCDMA preferred", "GSM only", "WCDMA only", @@ -126,7 +153,7 @@ public class RadioInfo extends Activity { "LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA", "NR only", "NR/LTE", - "NR/LTE/CDME/EvDo", + "NR/LTE/CDMA/EvDo", "NR/LTE/GSM/WCDMA", "NR/LTE/CDMA/EvDo/GSM/WCDMA", "NR/LTE/WCDMA", @@ -263,6 +290,8 @@ public class RadioInfo extends Activity { private int mCellInfoRefreshRateIndex; private int mSelectedPhoneIndex; + private String[] mPreferredNetworkLabels; + private final NetworkRequest mDefaultNetworkRequest = new NetworkRequest.Builder() .addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR) .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) @@ -482,6 +511,10 @@ public class RadioInfo extends Activity { mPhyChanConfig = (TextView) findViewById(R.id.phy_chan_config); + final long supportedRadioBitmask = mTelephonyManager.getSupportedRadioAccessFamily(); + mPreferredNetworkLabels = + ((TelephonyManager.NETWORK_TYPE_BITMASK_NR & supportedRadioBitmask) > 0) + ? PREFERRED_NETWORK_LABELS : PREFERRED_NETWORK_LABELS_MAX_LTE; preferredNetworkType = (Spinner) findViewById(R.id.preferredNetworkType); ArrayAdapter preferredNetworkTypeAdapter = new ArrayAdapter (this, android.R.layout.simple_spinner_item, mPreferredNetworkLabels);