From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: inthewaves Date: Thu, 27 Feb 2020 19:34:56 -0800 Subject: [PATCH] add LTE only setting --- res/values/arrays.xml | 5 +++- res/values/strings.xml | 6 ++++ ...nabledNetworkModePreferenceController.java | 29 ++++++++++++++++++- ...ferredNetworkModePreferenceController.java | 2 +- 4 files changed, 39 insertions(+), 3 deletions(-) diff --git a/res/values/arrays.xml b/res/values/arrays.xml index 79e036a04cb..5907f3a52e5 100644 --- a/res/values/arrays.xml +++ b/res/values/arrays.xml @@ -1423,6 +1423,9 @@ 4 + @string/network_lte @string/network_3G @@ -1512,7 +1515,7 @@ CDMA + LTE/EvDo GSM/WCDMA/LTE LTE/CDMA/EvDo/GSM/WCDMA - LTE + LTE only LTE / WCDMA TDSCDMA only TDSCDMA/WCDMA diff --git a/res/values/strings.xml b/res/values/strings.xml index 5af3638555a..50803304ac2 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -11593,6 +11593,8 @@ Preferred network mode: CDMA/EvDo/GSM/WCDMA Preferred network mode: LTE + + Preferred network mode: LTE only Preferred network mode: GSM/WCDMA/LTE @@ -11660,8 +11662,12 @@ 4G LTE (recommended) + + LTE only 4G (recommended) + + 4G only 3G diff --git a/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java b/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java index fd585a151d2..29111b89ec2 100644 --- a/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java +++ b/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java @@ -235,6 +235,7 @@ public class EnabledNetworkModePreferenceController extends } add5gEntry(addNrToLteNetworkType(entryValuesInt[0])); addLteEntry(entryValuesInt[0]); + addLteOnlyEntry(); add3gEntry(entryValuesInt[1]); add1xEntry(entryValuesInt[2]); addGlobalEntry(entryValuesInt[3]); @@ -259,6 +260,7 @@ public class EnabledNetworkModePreferenceController extends "ENABLED_NETWORKS_CDMA_ONLY_LTE_CHOICES index error."); } addLteEntry(entryValuesInt[0]); + addLteOnlyEntry(); addGlobalEntry(entryValuesInt[1]); break; case ENABLED_NETWORKS_TDSCDMA_CHOICES: @@ -271,6 +273,7 @@ public class EnabledNetworkModePreferenceController extends } add5gEntry(addNrToLteNetworkType(entryValuesInt[0])); addLteEntry(entryValuesInt[0]); + addLteOnlyEntry(); add3gEntry(entryValuesInt[1]); add2gEntry(entryValuesInt[2]); break; @@ -294,6 +297,7 @@ public class EnabledNetworkModePreferenceController extends } add5gEntry(addNrToLteNetworkType(entryValuesInt[0])); add4gEntry(entryValuesInt[0]); + add4gOnlyEntry(); add3gEntry(entryValuesInt[1]); break; case ENABLED_NETWORKS_EXCEPT_GSM_CHOICES: @@ -306,6 +310,7 @@ public class EnabledNetworkModePreferenceController extends } add5gEntry(addNrToLteNetworkType(entryValuesInt[0])); addLteEntry(entryValuesInt[0]); + addLteOnlyEntry(); add3gEntry(entryValuesInt[1]); break; case ENABLED_NETWORKS_EXCEPT_LTE_CHOICES: @@ -330,6 +335,7 @@ public class EnabledNetworkModePreferenceController extends add5gEntry(addNrToLteNetworkType( entryValuesInt[0])); add4gEntry(entryValuesInt[0]); + add4gOnlyEntry(); add3gEntry(entryValuesInt[1]); add2gEntry(entryValuesInt[2]); break; @@ -342,6 +348,7 @@ public class EnabledNetworkModePreferenceController extends } add5gEntry(addNrToLteNetworkType(entryValuesInt[0])); addLteEntry(entryValuesInt[0]); + addLteOnlyEntry(); add3gEntry(entryValuesInt[1]); add2gEntry(entryValuesInt[2]); break; @@ -487,7 +494,6 @@ public class EnabledNetworkModePreferenceController extends R.string.preferred_network_mode_lte_gsm_umts_summary); break; } - case TelephonyManagerConstants.NETWORK_MODE_LTE_ONLY: case TelephonyManagerConstants.NETWORK_MODE_LTE_WCDMA: if (!mIsGlobalCdma) { setSelectedEntry( @@ -505,6 +511,11 @@ public class EnabledNetworkModePreferenceController extends setSummary(R.string.network_global); } break; + case TelephonyManagerConstants.NETWORK_MODE_LTE_ONLY: + setSelectedEntry(TelephonyManagerConstants.NETWORK_MODE_LTE_ONLY); + setSummary(mShow4gForLTE + ? R.string.network_4G_only : R.string.network_lte_only); + break; case TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO: if (MobileNetworkUtils.isWorldMode(mContext, mSubId)) { setSummary( @@ -717,6 +728,22 @@ public class EnabledNetworkModePreferenceController extends return mSupported5gRadioAccessFamily && mAllowed5gNetworkType; } + /** + * Add LTE only entry. + */ + private void addLteOnlyEntry() { + mEntries.add(mContext.getString(R.string.network_lte_only)); + mEntriesValue.add(TelephonyManagerConstants.NETWORK_MODE_LTE_ONLY); + } + + /** + * Add 4G only entry + */ + private void add4gOnlyEntry() { + mEntries.add(mContext.getString(R.string.network_4G_only)); + mEntriesValue.add(TelephonyManagerConstants.NETWORK_MODE_LTE_ONLY); + } + /** * Add LTE entry. If device supported 5G, show "LTE" instead of "LTE (recommended)". */ diff --git a/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceController.java b/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceController.java index ff6ff596fe9..2b9bc3e485c 100644 --- a/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceController.java +++ b/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceController.java @@ -136,7 +136,7 @@ public class PreferredNetworkModePreferenceController extends TelephonyBasePrefe case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA: return R.string.preferred_network_mode_lte_tdscdma_summary; case TelephonyManagerConstants.NETWORK_MODE_LTE_ONLY: - return R.string.preferred_network_mode_lte_summary; + return R.string.preferred_network_mode_lte_only_summary; case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM: return R.string.preferred_network_mode_lte_tdscdma_gsm_summary; case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA: