mirror of
https://github.com/Divested-Mobile/DivestOS-Build.git
synced 2024-07-28 06:02:37 +00:00
139 lines
7.3 KiB
Diff
139 lines
7.3 KiB
Diff
From a701093b129688269e41b2ab7d2706344225e94e Mon Sep 17 00:00:00 2001
|
|
From: Pratyush <codelab@pratyush.dev>
|
|
Date: Fri, 19 Aug 2022 11:05:36 +0530
|
|
Subject: [PATCH] LTE Only Mode
|
|
|
|
Co-authored-by: inthewaves <inthewaves@pm.me>
|
|
|
|
Squashed with: Fix LTE Only mode on World Mode
|
|
Co-authored-by: flawedworld <flawedworld@flawed.world>
|
|
---
|
|
res/values/strings.xml | 6 +++++
|
|
...nabledNetworkModePreferenceController.java | 24 ++++++++++++++++++-
|
|
...ferredNetworkModePreferenceController.java | 2 +-
|
|
3 files changed, 30 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/res/values/strings.xml b/res/values/strings.xml
|
|
index 716302483e0..5acbef2c09a 100644
|
|
--- a/res/values/strings.xml
|
|
+++ b/res/values/strings.xml
|
|
@@ -11065,6 +11065,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] -->
|
|
@@ -11130,8 +11132,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 2a355adaae4..03d5f20f16f 100644
|
|
--- a/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java
|
|
+++ b/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java
|
|
@@ -95,7 +95,7 @@ public int getAvailabilityStatus(int subId) {
|
|
CarrierConfigManager.KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL)
|
|
|| carrierConfig.getBoolean(
|
|
CarrierConfigManager.KEY_HIDE_PREFERRED_NETWORK_TYPE_BOOL)) {
|
|
- visible = false;
|
|
+ visible = true;
|
|
} else if (carrierConfig.getBoolean(CarrierConfigManager.KEY_WORLD_PHONE_BOOL)) {
|
|
visible = false;
|
|
} else if (!isCallStateIdle()) {
|
|
@@ -290,6 +290,7 @@ public void updateConfig() {
|
|
}
|
|
|
|
void setPreferenceEntries() {
|
|
+ boolean lteOnlyUnsupported = false;
|
|
mTelephonyManager = mTelephonyManager.createForSubscriptionId(mSubId);
|
|
|
|
clearAllEntries();
|
|
@@ -305,6 +306,7 @@ void setPreferenceEntries() {
|
|
.addFormat(UiOptions.PresentFormat.addGlobalEntry);
|
|
break;
|
|
case ENABLED_NETWORKS_CDMA_NO_LTE_CHOICES:
|
|
+ lteOnlyUnsupported = true;
|
|
uiOptions = uiOptions
|
|
.setChoices(R.array.enabled_networks_cdma_no_lte_values)
|
|
.addFormat(UiOptions.PresentFormat.add3gEntry)
|
|
@@ -324,6 +326,7 @@ void setPreferenceEntries() {
|
|
.addFormat(UiOptions.PresentFormat.add2gEntry);
|
|
break;
|
|
case ENABLED_NETWORKS_EXCEPT_GSM_LTE_CHOICES:
|
|
+ lteOnlyUnsupported = true;
|
|
uiOptions = uiOptions
|
|
.setChoices(R.array.enabled_networks_except_gsm_lte_values)
|
|
.addFormat(UiOptions.PresentFormat.add3gEntry);
|
|
@@ -341,6 +344,7 @@ void setPreferenceEntries() {
|
|
.addFormat(UiOptions.PresentFormat.add3gEntry);
|
|
break;
|
|
case ENABLED_NETWORKS_EXCEPT_LTE_CHOICES:
|
|
+ lteOnlyUnsupported = true;
|
|
uiOptions = uiOptions
|
|
.setChoices(R.array.enabled_networks_except_lte_values)
|
|
.addFormat(UiOptions.PresentFormat.add3gEntry)
|
|
@@ -389,6 +393,11 @@ void setPreferenceEntries() {
|
|
throw new IllegalArgumentException(
|
|
uiOptions.getType().name() + " index error.");
|
|
}
|
|
+
|
|
+ if (!lteOnlyUnsupported){
|
|
+ addLteOnlyEntry();
|
|
+ }
|
|
+
|
|
// Compose options based on given values and formats.
|
|
IntStream.range(0, formatList.size()).forEach(entryIndex -> {
|
|
switch (formatList.get(entryIndex)) {
|
|
@@ -575,6 +584,9 @@ void setPreferenceValueAndSummary(int networkMode) {
|
|
break;
|
|
}
|
|
case TelephonyManagerConstants.NETWORK_MODE_LTE_ONLY:
|
|
+ setSummary(mShow4gForLTE
|
|
+ ? R.string.network_4G_only : R.string.network_lte_only);
|
|
+ break;
|
|
case TelephonyManagerConstants.NETWORK_MODE_LTE_WCDMA:
|
|
if (!mIsGlobalCdma) {
|
|
setSelectedEntry(
|
|
@@ -840,6 +852,16 @@ private void add1xEntry(int value) {
|
|
mEntriesValue.add(value);
|
|
}
|
|
|
|
+ private void addLteOnlyEntry() {
|
|
+ if (mShow4gForLTE) {
|
|
+ mEntries.add(mContext.getString(R.string.network_4G_only));
|
|
+ mEntriesValue.add(TelephonyManagerConstants.NETWORK_MODE_LTE_ONLY);
|
|
+ } else {
|
|
+ mEntries.add(mContext.getString(R.string.network_lte_only));
|
|
+ mEntriesValue.add(TelephonyManagerConstants.NETWORK_MODE_LTE_ONLY);
|
|
+ }
|
|
+ }
|
|
+
|
|
private void addCustomEntry(String name, int value) {
|
|
mEntries.add(name);
|
|
mEntriesValue.add(value);
|
|
diff --git a/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceController.java b/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceController.java
|
|
index bdfeace1be6..535645a8647 100644
|
|
--- a/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceController.java
|
|
+++ b/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceController.java
|
|
@@ -137,7 +137,7 @@ private int getPreferredNetworkModeSummaryResId(int NetworkMode) {
|
|
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:
|