diff --git a/res/values/strings.xml b/res/values/strings.xml index b360c4b11..6a9de6529 100755 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -362,11 +362,27 @@ Preferred network mode: CDMA only Preferred network mode: EvDo only - - Preferred network mode: LTE / CDMA + + Preferred network mode: CDMA/EvDo/GSM/WCDMA + + Preferred network mode: LTE + + Preferred network mode: GSM/WCDMA/LTE + + Preferred network mode: CDMA+LTE/EVDO + + Preferred network mode: Global + + Preferred network mode: LTE / WCDMA + - LTE/CDMA + LTE / WCDMA + LTE + Global + GSM/WCDMA/LTE + CDMA + LTE/EvDo + CDMA/EvDo/GSM/WCDMA EvDo only CDMA w/o EvDo CDMA/EvDo auto @@ -376,6 +392,11 @@ GSM/WCDMA preferred + "12" + "11" + "10" + "9" + "8" "7" "6" "5" @@ -385,15 +406,6 @@ "1" "0" - - - LTE/CDMA - CDMA - - - "7" - "4" - Data enabled diff --git a/src/com/android/phone/MobileNetworkSettings.java b/src/com/android/phone/MobileNetworkSettings.java index a81d7c2c9..d11ca0e46 100644 --- a/src/com/android/phone/MobileNetworkSettings.java +++ b/src/com/android/phone/MobileNetworkSettings.java @@ -244,10 +244,6 @@ protected void onCreate(Bundle icicle) { mCdmaOptions = new CdmaOptions(this, prefSet, mPhone); if (isLteOnCdma) { mButtonPreferredNetworkMode.setOnPreferenceChangeListener(this); - mButtonPreferredNetworkMode.setEntries( - R.array.preferred_network_mode_choices_lte); - mButtonPreferredNetworkMode.setEntryValues( - R.array.preferred_network_mode_values_lte); int settingsNetworkMode = android.provider.Settings.Global.getInt( mPhone.getContext().getContentResolver(), android.provider.Settings.Global.PREFERRED_NETWORK_MODE, @@ -332,41 +328,27 @@ public boolean onPreferenceChange(Preference preference, Object objValue) { android.provider.Settings.Global.PREFERRED_NETWORK_MODE, preferredNetworkMode); if (buttonNetworkMode != settingsNetworkMode) { int modemNetworkMode; - switch(buttonNetworkMode) { - case Phone.NT_MODE_GLOBAL: - modemNetworkMode = Phone.NT_MODE_GLOBAL; - break; - case Phone.NT_MODE_EVDO_NO_CDMA: - modemNetworkMode = Phone.NT_MODE_EVDO_NO_CDMA; - break; - case Phone.NT_MODE_CDMA_NO_EVDO: - modemNetworkMode = Phone.NT_MODE_CDMA_NO_EVDO; - break; - case Phone.NT_MODE_CDMA: - modemNetworkMode = Phone.NT_MODE_CDMA; - break; - case Phone.NT_MODE_GSM_UMTS: - modemNetworkMode = Phone.NT_MODE_GSM_UMTS; - break; - case Phone.NT_MODE_WCDMA_ONLY: - modemNetworkMode = Phone.NT_MODE_WCDMA_ONLY; - break; - case Phone.NT_MODE_GSM_ONLY: - modemNetworkMode = Phone.NT_MODE_GSM_ONLY; - break; + // if new mode is invalid ignore it + switch (buttonNetworkMode) { case Phone.NT_MODE_WCDMA_PREF: - modemNetworkMode = Phone.NT_MODE_WCDMA_PREF; + case Phone.NT_MODE_GSM_ONLY: + case Phone.NT_MODE_WCDMA_ONLY: + case Phone.NT_MODE_GSM_UMTS: + case Phone.NT_MODE_CDMA: + case Phone.NT_MODE_CDMA_NO_EVDO: + case Phone.NT_MODE_EVDO_NO_CDMA: + case Phone.NT_MODE_GLOBAL: + case Phone.NT_MODE_LTE_CDMA_AND_EVDO: + case Phone.NT_MODE_LTE_GSM_WCDMA: + case Phone.NT_MODE_LTE_CMDA_EVDO_GSM_WCDMA: + case Phone.NT_MODE_LTE_ONLY: + case Phone.NT_MODE_LTE_WCDMA: + // This is one of the modes we recognize + modemNetworkMode = buttonNetworkMode; break; default: - modemNetworkMode = Phone.PREFERRED_NT_MODE; - } - - // If button has no valid selection && setting is LTE ONLY - // mode, let the setting stay in LTE ONLY mode. UI is not - // supported but LTE ONLY mode could be used in testing. - if ((modemNetworkMode == Phone.PREFERRED_NT_MODE) && - (settingsNetworkMode == Phone.NT_MODE_LTE_ONLY)) { - return true; + loge("Invalid Network Mode (" + buttonNetworkMode + ") chosen. Ignore."); + return true; } UpdatePreferredNetworkModeSummary(buttonNetworkMode); @@ -431,7 +413,12 @@ private void handleGetPreferredNetworkTypeResponse(Message msg) { modemNetworkMode == Phone.NT_MODE_CDMA || modemNetworkMode == Phone.NT_MODE_CDMA_NO_EVDO || modemNetworkMode == Phone.NT_MODE_EVDO_NO_CDMA || - modemNetworkMode == Phone.NT_MODE_GLOBAL ) { + modemNetworkMode == Phone.NT_MODE_GLOBAL || + modemNetworkMode == Phone.NT_MODE_LTE_CDMA_AND_EVDO || + modemNetworkMode == Phone.NT_MODE_LTE_GSM_WCDMA || + modemNetworkMode == Phone.NT_MODE_LTE_CMDA_EVDO_GSM_WCDMA || + modemNetworkMode == Phone.NT_MODE_LTE_ONLY || + modemNetworkMode == Phone.NT_MODE_LTE_WCDMA) { if (DBG) { log("handleGetPreferredNetworkTypeResponse: if 1: modemNetworkMode = " + modemNetworkMode); @@ -460,9 +447,6 @@ private void handleGetPreferredNetworkTypeResponse(Message msg) { UpdatePreferredNetworkModeSummary(modemNetworkMode); // changes the mButtonPreferredNetworkMode accordingly to modemNetworkMode mButtonPreferredNetworkMode.setValue(Integer.toString(modemNetworkMode)); - } else if (modemNetworkMode == Phone.NT_MODE_LTE_ONLY) { - // LTE Only mode not yet supported on UI, but could be used for testing - if (DBG) log("handleGetPreferredNetworkTypeResponse: lte only: no action"); } else { if (DBG) log("handleGetPreferredNetworkTypeResponse: else: reset to default"); resetNetworkModeToDefault(); @@ -536,10 +520,33 @@ private void UpdatePreferredNetworkModeSummary(int NetworkMode) { mButtonPreferredNetworkMode.setSummary( R.string.preferred_network_mode_evdo_only_summary); break; + case Phone.NT_MODE_LTE_ONLY: + mButtonPreferredNetworkMode.setSummary( + R.string.preferred_network_mode_lte_summary); + break; + case Phone.NT_MODE_LTE_GSM_WCDMA: + mButtonPreferredNetworkMode.setSummary( + R.string.preferred_network_mode_lte_gsm_wcdma_summary); + break; + case Phone.NT_MODE_LTE_CDMA_AND_EVDO: + mButtonPreferredNetworkMode.setSummary( + R.string.preferred_network_mode_lte_cdma_evdo_summary); + break; + case Phone.NT_MODE_LTE_CMDA_EVDO_GSM_WCDMA: + mButtonPreferredNetworkMode.setSummary( + R.string.preferred_network_mode_global_summary); + break; case Phone.NT_MODE_GLOBAL: + mButtonPreferredNetworkMode.setSummary( + R.string.preferred_network_mode_cdma_evdo_gsm_wcdma_summary); + break; + case Phone.NT_MODE_LTE_WCDMA: + mButtonPreferredNetworkMode.setSummary( + R.string.preferred_network_mode_lte_wcdma_summary); + break; default: mButtonPreferredNetworkMode.setSummary( - R.string.preferred_network_mode_lte_cdma_summary); + R.string.preferred_network_mode_global_summary); } } @@ -566,6 +573,10 @@ private static void log(String msg) { Log.d(LOG_TAG, msg); } + private static void loge(String msg) { + Log.e(LOG_TAG, msg); + } + @Override public boolean onOptionsItemSelected(MenuItem item) { final int itemId = item.getItemId();