OSDN Git Service

Phone Info UI shows network type list which depends on RAT supported
authorSongFerngWang <songferngwang@google.com>
Thu, 19 Dec 2019 17:01:34 +0000 (01:01 +0800)
committerSongFerng Wang <songferngwang@google.com>
Fri, 27 Dec 2019 07:02:39 +0000 (07:02 +0000)
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

index 8d78a87..249db58 100644 (file)
@@ -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<String> preferredNetworkTypeAdapter = new ArrayAdapter<String> (this,
                 android.R.layout.simple_spinner_item, mPreferredNetworkLabels);