Add TDSCDMA family
Bug: 22639018
Change-Id: I8dd93a26309cc13c2744efcd3bdc3ea9dd06e088
diff --git a/res/values-mcc460/config.xml b/res/values-mcc460/config.xml
new file mode 100644
index 0000000..ca78491
--- /dev/null
+++ b/res/values-mcc460/config.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2015 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<resources>
+ <!-- Show enabled tdscdma option for device -->
+ <bool name="config_support_tdscdma" translatable="false">true</bool>
+</resources>
diff --git a/res/values/config.xml b/res/values/config.xml
old mode 100755
new mode 100644
index c0e808d..e0ea198
--- a/res/values/config.xml
+++ b/res/values/config.xml
@@ -138,6 +138,8 @@
<bool name="config_prefer_2g" translatable="false">true</bool>
<!-- Show enabled lte option for lte device -->
<bool name="config_enabled_lte" translatable="false">false</bool>
+ <!-- Show enabled tdscdma option for device -->
+ <bool name="config_support_tdscdma" translatable="false">false</bool>
<!-- Show cdma auto network mode in (glabal) roaming -->
<!-- DEPRECATED: Use CarrierConfigManager#KEY_SHOW_CDMA_CHOICES_BOOL -->
<bool name="config_show_cdma" translatable="false">false</bool>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 360e9ef..0c71347 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -393,6 +393,8 @@
<string name="preferred_network_mode_lte_gsm_umts_summary">Preferred network mode: LTE / GSM / UMTS</string>
<!-- Mobile network settings, summary for preferred network mode LTE / CDMA [CHAR LIMIT=100] -->
<string name="preferred_network_mode_lte_cdma_summary">Preferred network mode: LTE / CDMA</string>
+ <!-- Mobile network settings, summary for preferred network mode TDSCDMTA [CHAR LIMIT=100] -->
+ <string name="preferred_network_mode_tdscdma_summary">Preferred network mode: TDSCDMA</string>
<string-array name="preferred_network_mode_choices">
<item>LTE / WCDMA</item>
@@ -594,6 +596,7 @@
<string name="network_2G" translatable="false">2G</string>
<string name="network_1x" translatable="false">1x</string>
<string name="network_global">Global</string>
+ <string name="network_tdscdma">TDSCDMA Only</string>
<string-array name="enabled_networks_except_gsm_choices" translatable="false">
<item>@string/network_lte</item>
@@ -671,6 +674,19 @@
<item>"10"</item>
</string-array>
+ <string-array name="enabled_networks_tdscdma_choices" translatable="false">
+ <item>@string/network_lte</item>
+ <item>@string/network_3G</item>
+ <item>@string/network_2G</item>
+ <item>@string/network_tdscdma</item>
+ </string-array>
+ <string-array name="enabled_networks_tdscdma_values" translatable="false">
+ <item>"22"</item>
+ <item>"18"</item>
+ <item>"1"</item>
+ <item>"13"</item>
+ </string-array>
+
<!-- CDMA System select strings -->
<!-- Mobile network settings screen, setting option name -->
<string name="cdma_system_select_title">System select</string>
diff --git a/src/com/android/phone/MobileNetworkSettings.java b/src/com/android/phone/MobileNetworkSettings.java
index a457c47..1c65089 100644
--- a/src/com/android/phone/MobileNetworkSettings.java
+++ b/src/com/android/phone/MobileNetworkSettings.java
@@ -609,7 +609,12 @@
mGsmUmtsOptions = null;
}
} else if (phoneType == PhoneConstants.PHONE_TYPE_GSM) {
- if (!carrierConfig.getBoolean(CarrierConfigManager.KEY_PREFER_2G_BOOL)
+ if (getResources().getBoolean(R.bool.config_support_tdscdma)) {
+ mButtonEnabledNetworks.setEntries(
+ R.array.enabled_networks_tdscdma_choices);
+ mButtonEnabledNetworks.setEntryValues(
+ R.array.enabled_networks_tdscdma_values);
+ } else if (!carrierConfig.getBoolean(CarrierConfigManager.KEY_PREFER_2G_BOOL)
&& !getResources().getBoolean(R.bool.config_enabled_lte)) {
mButtonEnabledNetworks.setEntries(
R.array.enabled_networks_except_gsm_lte_choices);
@@ -797,6 +802,16 @@
case Phone.NT_MODE_LTE_CDMA_EVDO_GSM_WCDMA:
case Phone.NT_MODE_LTE_ONLY:
case Phone.NT_MODE_LTE_WCDMA:
+ case Phone.NT_MODE_TDSCDMA_ONLY:
+ case Phone.NT_MODE_TDSCDMA_WCDMA:
+ case Phone.NT_MODE_LTE_TDSCDMA:
+ case Phone.NT_MODE_TDSCDMA_GSM:
+ case Phone.NT_MODE_LTE_TDSCDMA_GSM:
+ case Phone.NT_MODE_TDSCDMA_GSM_WCDMA:
+ case Phone.NT_MODE_LTE_TDSCDMA_WCDMA:
+ case Phone.NT_MODE_LTE_TDSCDMA_GSM_WCDMA:
+ case Phone.NT_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA:
+ case Phone.NT_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA:
// This is one of the modes we recognize
modemNetworkMode = buttonNetworkMode;
break;
@@ -832,6 +847,16 @@
case Phone.NT_MODE_CDMA:
case Phone.NT_MODE_CDMA_NO_EVDO:
case Phone.NT_MODE_LTE_CDMA_AND_EVDO:
+ case Phone.NT_MODE_TDSCDMA_ONLY:
+ case Phone.NT_MODE_TDSCDMA_WCDMA:
+ case Phone.NT_MODE_LTE_TDSCDMA:
+ case Phone.NT_MODE_TDSCDMA_GSM:
+ case Phone.NT_MODE_LTE_TDSCDMA_GSM:
+ case Phone.NT_MODE_TDSCDMA_GSM_WCDMA:
+ case Phone.NT_MODE_LTE_TDSCDMA_WCDMA:
+ case Phone.NT_MODE_LTE_TDSCDMA_GSM_WCDMA:
+ case Phone.NT_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA:
+ case Phone.NT_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA:
// This is one of the modes we recognize
modemNetworkMode = buttonNetworkMode;
break;
@@ -943,6 +968,8 @@
private void UpdatePreferredNetworkModeSummary(int NetworkMode) {
switch(NetworkMode) {
+ case Phone.NT_MODE_TDSCDMA_GSM_WCDMA:
+ case Phone.NT_MODE_TDSCDMA_GSM:
case Phone.NT_MODE_WCDMA_PREF:
mButtonPreferredNetworkMode.setSummary(
R.string.preferred_network_mode_wcdma_perf_summary);
@@ -951,6 +978,7 @@
mButtonPreferredNetworkMode.setSummary(
R.string.preferred_network_mode_gsm_only_summary);
break;
+ case Phone.NT_MODE_TDSCDMA_WCDMA:
case Phone.NT_MODE_WCDMA_ONLY:
mButtonPreferredNetworkMode.setSummary(
R.string.preferred_network_mode_wcdma_only_summary);
@@ -980,10 +1008,13 @@
mButtonPreferredNetworkMode.setSummary(
R.string.preferred_network_mode_evdo_only_summary);
break;
+ case Phone.NT_MODE_LTE_TDSCDMA:
case Phone.NT_MODE_LTE_ONLY:
mButtonPreferredNetworkMode.setSummary(
R.string.preferred_network_mode_lte_summary);
break;
+ case Phone.NT_MODE_LTE_TDSCDMA_GSM:
+ case Phone.NT_MODE_LTE_TDSCDMA_GSM_WCDMA:
case Phone.NT_MODE_LTE_GSM_WCDMA:
mButtonPreferredNetworkMode.setSummary(
R.string.preferred_network_mode_lte_gsm_wcdma_summary);
@@ -992,6 +1023,11 @@
mButtonPreferredNetworkMode.setSummary(
R.string.preferred_network_mode_lte_cdma_evdo_summary);
break;
+ case Phone.NT_MODE_TDSCDMA_ONLY:
+ mButtonPreferredNetworkMode.setSummary(
+ R.string.preferred_network_mode_tdscdma_summary);
+ break;
+ case Phone.NT_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA:
case Phone.NT_MODE_LTE_CDMA_EVDO_GSM_WCDMA:
if (mPhone.getPhoneType() == PhoneConstants.PHONE_TYPE_CDMA ||
mIsGlobalCdma ||
@@ -1003,10 +1039,12 @@
R.string.preferred_network_mode_lte_summary);
}
break;
+ case Phone.NT_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA:
case Phone.NT_MODE_GLOBAL:
mButtonPreferredNetworkMode.setSummary(
R.string.preferred_network_mode_cdma_evdo_gsm_wcdma_summary);
break;
+ case Phone.NT_MODE_LTE_TDSCDMA_WCDMA:
case Phone.NT_MODE_LTE_WCDMA:
mButtonPreferredNetworkMode.setSummary(
R.string.preferred_network_mode_lte_wcdma_summary);
@@ -1019,6 +1057,13 @@
private void UpdateEnabledNetworksValueAndSummary(int NetworkMode) {
switch (NetworkMode) {
+ case Phone.NT_MODE_TDSCDMA_WCDMA:
+ case Phone.NT_MODE_TDSCDMA_GSM_WCDMA:
+ case Phone.NT_MODE_TDSCDMA_GSM:
+ mButtonEnabledNetworks.setValue(
+ Integer.toString(Phone.NT_MODE_TDSCDMA_GSM_WCDMA));
+ mButtonEnabledNetworks.setSummary(R.string.network_3G);
+ break;
case Phone.NT_MODE_WCDMA_ONLY:
case Phone.NT_MODE_GSM_UMTS:
case Phone.NT_MODE_WCDMA_PREF:
@@ -1076,6 +1121,11 @@
mButtonEnabledNetworks.setSummary(R.string.network_lte);
}
break;
+ case Phone.NT_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA:
+ mButtonEnabledNetworks.setValue(
+ Integer.toString(Phone.NT_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA));
+ mButtonEnabledNetworks.setSummary(R.string.network_3G);
+ break;
case Phone.NT_MODE_CDMA:
case Phone.NT_MODE_EVDO_NO_CDMA:
case Phone.NT_MODE_GLOBAL:
@@ -1088,6 +1138,37 @@
Integer.toString(Phone.NT_MODE_CDMA_NO_EVDO));
mButtonEnabledNetworks.setSummary(R.string.network_1x);
break;
+ case Phone.NT_MODE_TDSCDMA_ONLY:
+ mButtonEnabledNetworks.setValue(
+ Integer.toString(Phone.NT_MODE_TDSCDMA_ONLY));
+ mButtonEnabledNetworks.setSummary(R.string.network_tdscdma);
+ break;
+ case Phone.NT_MODE_LTE_TDSCDMA_GSM:
+ case Phone.NT_MODE_LTE_TDSCDMA_GSM_WCDMA:
+ case Phone.NT_MODE_LTE_TDSCDMA:
+ case Phone.NT_MODE_LTE_TDSCDMA_WCDMA:
+ case Phone.NT_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA:
+ if (getResources().getBoolean(R.bool.config_support_tdscdma)) {
+ mButtonEnabledNetworks.setValue(
+ Integer.toString(Phone.NT_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA));
+ mButtonEnabledNetworks.setSummary(R.string.network_lte);
+ } else {
+ if (isWorldMode()) {
+ controlCdmaOptions(true);
+ controlGsmOptions(false);
+ }
+ mButtonEnabledNetworks.setValue(
+ Integer.toString(Phone.NT_MODE_LTE_CDMA_EVDO_GSM_WCDMA));
+ if (mPhone.getPhoneType() == PhoneConstants.PHONE_TYPE_CDMA ||
+ mIsGlobalCdma ||
+ isWorldMode()) {
+ mButtonEnabledNetworks.setSummary(R.string.network_global);
+ } else {
+ mButtonEnabledNetworks.setSummary((mShow4GForLTE == true)
+ ? R.string.network_4G : R.string.network_lte);
+ }
+ }
+ break;
case Phone.NT_MODE_LTE_CDMA_EVDO_GSM_WCDMA:
if (isWorldMode()) {
controlCdmaOptions(true);