DivestOS/Patches/LineageOS-18.1/android_packages_apps_Settings/0013-LTE_Only_Mode-1.patch
Tad 798c665f74
Picks
Signed-off-by: Tad <tad@spotco.us>
2023-11-12 16:55:58 -05:00

178 lines
9.1 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: inthewaves <inthewaves@pm.me>
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 @@
<item>4</item> <!-- AutofillManager.FLAG_ADD_CLIENT_VERBOSE -->
</string-array>
+ <!-- Note: The LTE only option is added in code, not here. Also, these enabled_networks_choices
+ and enabled_networks_4g_choices string arrays are just placeholders for
+ mobile_network_settings.xml -->
<string-array name="enabled_networks_choices" translatable="false">
<item>@string/network_lte</item>
<item>@string/network_3G</item>
@@ -1512,7 +1515,7 @@
<item>CDMA + LTE/EvDo</item>
<item>GSM/WCDMA/LTE</item>
<item>LTE/CDMA/EvDo/GSM/WCDMA</item>
- <item>LTE</item>
+ <item>LTE only</item>
<item>LTE / WCDMA</item>
<item>TDSCDMA only</item>
<item>TDSCDMA/WCDMA</item>
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 @@
<string name="preferred_network_mode_cdma_evdo_gsm_wcdma_summary">Preferred network mode: CDMA/EvDo/GSM/WCDMA</string>
<!-- LTE [CHAR LIMIT=NONE] -->
<string name="preferred_network_mode_lte_summary">Preferred network mode: LTE </string>
+ <!-- LTE only [CHAR LIMIT=100] -->
+ <string name="preferred_network_mode_lte_only_summary">Preferred network mode: LTE only</string>
<!-- GSM/WCDMA/LTE [CHAR LIMIT=NONE] -->
<string name="preferred_network_mode_lte_gsm_wcdma_summary">Preferred network mode: GSM/WCDMA/LTE</string>
<!-- CDMA+LTE/EVDO [CHAR LIMIT=NONE] -->
@@ -11660,8 +11662,12 @@
<string name="network_4G_pure" translatable="false">4G</string>
<!-- Text for Network lte [CHAR LIMIT=NONE] -->
<string name="network_lte">LTE (recommended)</string>
+ <!-- Text for Network lte only [CHAR LIMIT=NONE] -->
+ <string name="network_lte_only">LTE only</string>
<!-- Text for Network 4g [CHAR LIMIT=NONE] -->
<string name="network_4G">4G (recommended)</string>
+ <!-- Text for Network 4g only [CHAR LIMIT=NONE] -->
+ <string name="network_4G_only">4G only</string>
<!-- Text for Network 3g [CHAR LIMIT=NONE] -->
<string name="network_3G" translatable="false">3G</string>
<!-- Text for Network 2g [CHAR LIMIT=NONE] -->
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: