Remove TelephonyManagerConstants

- Must migrated to TelephonyManager directly
- Except NETWORK_MODE_UNKNOWN not in TelephonyManager, moved to
  newly created NetworkModes
- Move addNrToLteNetworkMode() and reduceNrToLteNetworkMode() to
  NetworkModes and adding tests

Bug: 373771849
Flag: EXEMPT refactor
Test: manual - on sims settings
Test: unit tests
Change-Id: I0781a59905415aa7896510ad086d19da48e8ba37
This commit is contained in:
Chaohui Wang
2024-10-17 15:24:08 +08:00
parent 3b0a93df8b
commit bf5c04e16b
9 changed files with 304 additions and 430 deletions

View File

@@ -21,6 +21,8 @@ import static androidx.lifecycle.Lifecycle.Event.ON_STOP;
import static com.android.settings.network.telephony.EnabledNetworkModePreferenceControllerHelperKt.getNetworkModePreferenceType; import static com.android.settings.network.telephony.EnabledNetworkModePreferenceControllerHelperKt.getNetworkModePreferenceType;
import static com.android.settings.network.telephony.EnabledNetworkModePreferenceControllerHelperKt.setAllowedNetworkTypes; import static com.android.settings.network.telephony.EnabledNetworkModePreferenceControllerHelperKt.setAllowedNetworkTypes;
import static com.android.settings.network.telephony.mode.NetworkModes.addNrToLteNetworkMode;
import static com.android.settings.network.telephony.mode.NetworkModes.reduceNrToLteNetworkMode;
import android.content.Context; import android.content.Context;
import android.content.res.Resources; import android.content.res.Resources;
@@ -53,7 +55,6 @@ import com.android.settings.network.CarrierConfigCache;
import com.android.settings.network.SubscriptionsChangeListener; import com.android.settings.network.SubscriptionsChangeListener;
import com.android.settings.network.telephony.NetworkModeChoicesProto.EnabledNetworks; import com.android.settings.network.telephony.NetworkModeChoicesProto.EnabledNetworks;
import com.android.settings.network.telephony.NetworkModeChoicesProto.UiOptions; import com.android.settings.network.telephony.NetworkModeChoicesProto.UiOptions;
import com.android.settings.network.telephony.TelephonyConstants.TelephonyManagerConstants;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
@@ -429,14 +430,14 @@ public class EnabledNetworkModePreferenceController extends
addLteEntry(entryValuesInt[entryIndex]); addLteEntry(entryValuesInt[entryIndex]);
break; break;
case add5gEntry: case add5gEntry:
add5gEntry(addNrToLteNetworkType(entryValuesInt[entryIndex])); add5gEntry(addNrToLteNetworkMode(entryValuesInt[entryIndex]));
break; break;
case add5gAnd4gEntry: case add5gAnd4gEntry:
add5gEntry(addNrToLteNetworkType(entryValuesInt[entryIndex])); add5gEntry(addNrToLteNetworkMode(entryValuesInt[entryIndex]));
add4gEntry(entryValuesInt[entryIndex]); add4gEntry(entryValuesInt[entryIndex]);
break; break;
case add5gAndLteEntry: case add5gAndLteEntry:
add5gEntry(addNrToLteNetworkType(entryValuesInt[entryIndex])); add5gEntry(addNrToLteNetworkMode(entryValuesInt[entryIndex]));
addLteEntry(entryValuesInt[entryIndex]); addLteEntry(entryValuesInt[entryIndex]);
break; break;
default: default:
@@ -451,7 +452,7 @@ public class EnabledNetworkModePreferenceController extends
TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER)); TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER));
if (!showNrList()) { if (!showNrList()) {
Log.d(LOG_TAG, "Network mode :" + networkMode + " reduce NR"); Log.d(LOG_TAG, "Network mode :" + networkMode + " reduce NR");
networkMode = reduceNrToLteNetworkType(networkMode); networkMode = reduceNrToLteNetworkMode(networkMode);
} }
Log.d(LOG_TAG, "getPreferredNetworkMode: " + networkMode); Log.d(LOG_TAG, "getPreferredNetworkMode: " + networkMode);
return networkMode; return networkMode;
@@ -472,16 +473,16 @@ public class EnabledNetworkModePreferenceController extends
enabledNetworkType = EnabledNetworks.ENABLED_NETWORKS_CDMA_CHOICES; enabledNetworkType = EnabledNetworks.ENABLED_NETWORKS_CDMA_CHOICES;
} else { } else {
switch (settingsNetworkMode) { switch (settingsNetworkMode) {
case TelephonyManagerConstants.NETWORK_MODE_CDMA_EVDO: case TelephonyManager.NETWORK_MODE_CDMA_EVDO:
case TelephonyManagerConstants.NETWORK_MODE_CDMA_NO_EVDO: case TelephonyManager.NETWORK_MODE_CDMA_NO_EVDO:
case TelephonyManagerConstants.NETWORK_MODE_EVDO_NO_CDMA: case TelephonyManager.NETWORK_MODE_EVDO_NO_CDMA:
enabledNetworkType = enabledNetworkType =
EnabledNetworks.ENABLED_NETWORKS_CDMA_NO_LTE_CHOICES; EnabledNetworks.ENABLED_NETWORKS_CDMA_NO_LTE_CHOICES;
break; break;
case TelephonyManagerConstants.NETWORK_MODE_GLOBAL: case TelephonyManager.NETWORK_MODE_GLOBAL:
case TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO: case TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO:
case TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA: case TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA:
case TelephonyManagerConstants.NETWORK_MODE_LTE_ONLY: case TelephonyManager.NETWORK_MODE_LTE_ONLY:
enabledNetworkType = enabledNetworkType =
EnabledNetworks.ENABLED_NETWORKS_CDMA_ONLY_LTE_CHOICES; EnabledNetworks.ENABLED_NETWORKS_CDMA_ONLY_LTE_CHOICES;
break; break;
@@ -539,46 +540,42 @@ public class EnabledNetworkModePreferenceController extends
void setPreferenceValueAndSummary(int networkMode) { void setPreferenceValueAndSummary(int networkMode) {
setSelectedEntry(networkMode); setSelectedEntry(networkMode);
switch (networkMode) { switch (networkMode) {
case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_WCDMA: case TelephonyManager.NETWORK_MODE_TDSCDMA_WCDMA:
case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA: case TelephonyManager.NETWORK_MODE_TDSCDMA_GSM_WCDMA:
case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM: case TelephonyManager.NETWORK_MODE_TDSCDMA_GSM:
setSelectedEntry( setSelectedEntry(TelephonyManager.NETWORK_MODE_TDSCDMA_GSM_WCDMA);
TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA);
setSummary(R.string.network_3G); setSummary(R.string.network_3G);
break; break;
case TelephonyManagerConstants.NETWORK_MODE_WCDMA_ONLY: case TelephonyManager.NETWORK_MODE_WCDMA_ONLY:
case TelephonyManagerConstants.NETWORK_MODE_GSM_UMTS: case TelephonyManager.NETWORK_MODE_GSM_UMTS:
case TelephonyManagerConstants.NETWORK_MODE_WCDMA_PREF: case TelephonyManager.NETWORK_MODE_WCDMA_PREF:
if (!mIsGlobalCdma) { if (!mIsGlobalCdma) {
setSelectedEntry(TelephonyManagerConstants.NETWORK_MODE_WCDMA_PREF); setSelectedEntry(TelephonyManager.NETWORK_MODE_WCDMA_PREF);
setSummary(R.string.network_3G); setSummary(R.string.network_3G);
} else { } else {
setSelectedEntry( setSelectedEntry(TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA);
TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA);
setSummary(R.string.network_global); setSummary(R.string.network_global);
} }
break; break;
case TelephonyManagerConstants.NETWORK_MODE_GSM_ONLY: case TelephonyManager.NETWORK_MODE_GSM_ONLY:
if (!mIsGlobalCdma) { if (!mIsGlobalCdma) {
setSelectedEntry(TelephonyManagerConstants.NETWORK_MODE_GSM_ONLY); setSelectedEntry(TelephonyManager.NETWORK_MODE_GSM_ONLY);
setSummary(R.string.network_2G); setSummary(R.string.network_2G);
} else { } else {
setSelectedEntry( setSelectedEntry(TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA);
TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA);
setSummary(R.string.network_global); setSummary(R.string.network_global);
} }
break; break;
case TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA: case TelephonyManager.NETWORK_MODE_LTE_GSM_WCDMA:
if (MobileNetworkUtils.isWorldMode(mContext, mSubId)) { if (MobileNetworkUtils.isWorldMode(mContext, mSubId)) {
setSummary( setSummary(
R.string.preferred_network_mode_lte_gsm_umts_summary); R.string.preferred_network_mode_lte_gsm_umts_summary);
break; break;
} }
case TelephonyManagerConstants.NETWORK_MODE_LTE_ONLY: case TelephonyManager.NETWORK_MODE_LTE_ONLY:
case TelephonyManagerConstants.NETWORK_MODE_LTE_WCDMA: case TelephonyManager.NETWORK_MODE_LTE_WCDMA:
if (!mIsGlobalCdma) { if (!mIsGlobalCdma) {
setSelectedEntry( setSelectedEntry(TelephonyManager.NETWORK_MODE_LTE_GSM_WCDMA);
TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA);
if (is5gEntryDisplayed()) { if (is5gEntryDisplayed()) {
setSummary(mShow4gForLTE setSummary(mShow4gForLTE
? R.string.network_4G_pure : R.string.network_lte_pure); ? R.string.network_4G_pure : R.string.network_lte_pure);
@@ -587,55 +584,52 @@ public class EnabledNetworkModePreferenceController extends
? R.string.network_4G : R.string.network_lte); ? R.string.network_4G : R.string.network_lte);
} }
} else { } else {
setSelectedEntry( setSelectedEntry(TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA);
TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA);
setSummary(R.string.network_global); setSummary(R.string.network_global);
} }
break; break;
case TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO: case TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO:
if (MobileNetworkUtils.isWorldMode(mContext, mSubId)) { if (MobileNetworkUtils.isWorldMode(mContext, mSubId)) {
setSummary( setSummary(
R.string.preferred_network_mode_lte_cdma_summary); R.string.preferred_network_mode_lte_cdma_summary);
} else { } else {
setSelectedEntry( setSelectedEntry(TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO);
TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO);
setSummary(is5gEntryDisplayed() setSummary(is5gEntryDisplayed()
? R.string.network_lte_pure : R.string.network_lte); ? R.string.network_lte_pure : R.string.network_lte);
} }
break; break;
case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA: case TelephonyManager.NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA:
setSelectedEntry( setSelectedEntry(TelephonyManager.NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA);
TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA);
setSummary(R.string.network_3G); setSummary(R.string.network_3G);
break; break;
case TelephonyManagerConstants.NETWORK_MODE_CDMA_EVDO: case TelephonyManager.NETWORK_MODE_CDMA_EVDO:
case TelephonyManagerConstants.NETWORK_MODE_EVDO_NO_CDMA: case TelephonyManager.NETWORK_MODE_EVDO_NO_CDMA:
case TelephonyManagerConstants.NETWORK_MODE_GLOBAL: case TelephonyManager.NETWORK_MODE_GLOBAL:
setSelectedEntry(TelephonyManagerConstants.NETWORK_MODE_CDMA_EVDO); setSelectedEntry(TelephonyManager.NETWORK_MODE_CDMA_EVDO);
setSummary(R.string.network_3G); setSummary(R.string.network_3G);
break; break;
case TelephonyManagerConstants.NETWORK_MODE_CDMA_NO_EVDO: case TelephonyManager.NETWORK_MODE_CDMA_NO_EVDO:
setSelectedEntry(TelephonyManagerConstants.NETWORK_MODE_CDMA_NO_EVDO); setSelectedEntry(TelephonyManager.NETWORK_MODE_CDMA_NO_EVDO);
setSummary(R.string.network_1x); setSummary(R.string.network_1x);
break; break;
case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_ONLY: case TelephonyManager.NETWORK_MODE_TDSCDMA_ONLY:
setSelectedEntry(TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_ONLY); setSelectedEntry(TelephonyManager.NETWORK_MODE_TDSCDMA_ONLY);
setSummary(R.string.network_3G); setSummary(R.string.network_3G);
break; break;
case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM: case TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_GSM:
case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA: case TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA:
case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA: case TelephonyManager.NETWORK_MODE_LTE_TDSCDMA:
case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_WCDMA: case TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_WCDMA:
case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA: case TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA:
case TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA: case TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA:
if (MobileNetworkUtils.isTdscdmaSupported(mContext, mSubId)) { if (MobileNetworkUtils.isTdscdmaSupported(mContext, mSubId)) {
setSelectedEntry(TelephonyManagerConstants setSelectedEntry(
.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA); TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA);
setSummary(is5gEntryDisplayed() setSummary(is5gEntryDisplayed()
? R.string.network_lte_pure : R.string.network_lte); ? R.string.network_lte_pure : R.string.network_lte);
} else { } else {
setSelectedEntry( setSelectedEntry(
TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA); TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA);
if (mTelephonyManager.getPhoneType() == TelephonyManager.PHONE_TYPE_CDMA if (mTelephonyManager.getPhoneType() == TelephonyManager.PHONE_TYPE_CDMA
|| mIsGlobalCdma || mIsGlobalCdma
|| MobileNetworkUtils.isWorldMode(mContext, mSubId)) { || MobileNetworkUtils.isWorldMode(mContext, mSubId)) {
@@ -652,30 +646,28 @@ public class EnabledNetworkModePreferenceController extends
} }
break; break;
case TelephonyManagerConstants.NETWORK_MODE_NR_ONLY: case TelephonyManager.NETWORK_MODE_NR_ONLY:
case TelephonyManagerConstants.NETWORK_MODE_NR_LTE: case TelephonyManager.NETWORK_MODE_NR_LTE:
case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_GSM_WCDMA: case TelephonyManager.NETWORK_MODE_NR_LTE_GSM_WCDMA:
case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_WCDMA: case TelephonyManager.NETWORK_MODE_NR_LTE_WCDMA:
setSelectedEntry(TelephonyManager.NETWORK_MODE_NR_LTE_GSM_WCDMA);
setSummary(getResourcesForSubId().getString(R.string.network_5G_recommended));
break;
case TelephonyManager.NETWORK_MODE_NR_LTE_TDSCDMA:
case TelephonyManager.NETWORK_MODE_NR_LTE_TDSCDMA_GSM:
case TelephonyManager.NETWORK_MODE_NR_LTE_TDSCDMA_WCDMA:
case TelephonyManager.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA:
case TelephonyManager.NETWORK_MODE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA:
setSelectedEntry( setSelectedEntry(
TelephonyManagerConstants.NETWORK_MODE_NR_LTE_GSM_WCDMA); TelephonyManager.NETWORK_MODE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA);
setSummary(getResourcesForSubId().getString(R.string.network_5G_recommended)); setSummary(getResourcesForSubId().getString(R.string.network_5G_recommended));
break; break;
case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA: case TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO:
case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM: setSelectedEntry(TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO);
case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_WCDMA:
case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA:
case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA:
setSelectedEntry(TelephonyManagerConstants
.NETWORK_MODE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA);
setSummary(getResourcesForSubId().getString(R.string.network_5G_recommended)); setSummary(getResourcesForSubId().getString(R.string.network_5G_recommended));
break; break;
case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO: case TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA:
setSelectedEntry(TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO); setSelectedEntry(TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA);
setSummary(getResourcesForSubId().getString(R.string.network_5G_recommended));
break;
case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA:
setSelectedEntry(
TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA);
if (mTelephonyManager.getPhoneType() == TelephonyManager.PHONE_TYPE_CDMA if (mTelephonyManager.getPhoneType() == TelephonyManager.PHONE_TYPE_CDMA
|| mIsGlobalCdma || mIsGlobalCdma
|| MobileNetworkUtils.isWorldMode(mContext, mSubId)) { || MobileNetworkUtils.isWorldMode(mContext, mSubId)) {
@@ -692,74 +684,6 @@ public class EnabledNetworkModePreferenceController extends
} }
} }
/**
* Transform LTE network mode to 5G network mode.
*
* @param networkType an LTE network mode without 5G.
* @return the corresponding network mode with 5G.
*/
private int addNrToLteNetworkType(int networkType) {
switch (networkType) {
case TelephonyManagerConstants.NETWORK_MODE_LTE_ONLY:
return TelephonyManagerConstants.NETWORK_MODE_NR_LTE;
case TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO:
return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO;
case TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA:
return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_GSM_WCDMA;
case TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA:
return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA;
case TelephonyManagerConstants.NETWORK_MODE_LTE_WCDMA:
return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_WCDMA;
case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA:
return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA;
case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM:
return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM;
case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_WCDMA:
return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_WCDMA;
case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA:
return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA;
case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA:
return TelephonyManagerConstants
.NETWORK_MODE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA;
default:
return networkType; // not LTE
}
}
/**
* Transform NR5G network mode to LTE network mode.
*
* @param networkType an 5G network mode.
* @return the corresponding network mode without 5G.
*/
private int reduceNrToLteNetworkType(int networkType) {
switch (networkType) {
case TelephonyManagerConstants.NETWORK_MODE_NR_LTE:
return TelephonyManagerConstants.NETWORK_MODE_LTE_ONLY;
case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO:
return TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO;
case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_GSM_WCDMA:
return TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA;
case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA:
return TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA;
case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_WCDMA:
return TelephonyManagerConstants.NETWORK_MODE_LTE_WCDMA;
case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA:
return TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA;
case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM:
return TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM;
case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_WCDMA:
return TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_WCDMA;
case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA:
return TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA;
case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA:
return TelephonyManagerConstants
.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA;
default:
return networkType; // do nothing
}
}
private void setPreferenceValueAndSummary() { private void setPreferenceValueAndSummary() {
setPreferenceValueAndSummary(getPreferredNetworkMode()); setPreferenceValueAndSummary(getPreferredNetworkMode());
} }
@@ -772,7 +696,7 @@ public class EnabledNetworkModePreferenceController extends
* Add 5G option. Only show the UI when device supported 5G and allowed 5G. * Add 5G option. Only show the UI when device supported 5G and allowed 5G.
*/ */
private void add5gEntry(int value) { private void add5gEntry(int value) {
boolean isNRValue = value >= TelephonyManagerConstants.NETWORK_MODE_NR_ONLY; boolean isNRValue = value >= TelephonyManager.NETWORK_MODE_NR_ONLY;
if (showNrList() && isNRValue) { if (showNrList() && isNRValue) {
mEntries.add(getResourcesForSubId().getString(R.string.network_5G_recommended)); mEntries.add(getResourcesForSubId().getString(R.string.network_5G_recommended));
mEntriesValue.add(value); mEntriesValue.add(value);
@@ -792,7 +716,7 @@ public class EnabledNetworkModePreferenceController extends
+ " allowed5GNetworkType: " + mAllowed5gNetworkType); + " allowed5GNetworkType: " + mAllowed5gNetworkType);
mEntries.add(getResourcesForSubId().getString(R.string.network_global)); mEntries.add(getResourcesForSubId().getString(R.string.network_global));
if (showNrList()) { if (showNrList()) {
value = addNrToLteNetworkType(value); value = addNrToLteNetworkMode(value);
} }
mEntriesValue.add(value); mEntriesValue.add(value);
} }

View File

@@ -18,11 +18,6 @@ package com.android.settings.network.telephony;
import static android.provider.Telephony.Carriers.ENFORCE_MANAGED_URI; import static android.provider.Telephony.Carriers.ENFORCE_MANAGED_URI;
import static com.android.settings.network.telephony.TelephonyConstants.TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO;
import static com.android.settings.network.telephony.TelephonyConstants.TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA;
import static com.android.settings.network.telephony.TelephonyConstants.TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO;
import static com.android.settings.network.telephony.TelephonyConstants.TelephonyManagerConstants.NETWORK_MODE_NR_LTE_GSM_WCDMA;
import android.app.KeyguardManager; import android.app.KeyguardManager;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
@@ -75,7 +70,6 @@ import com.android.settings.core.SubSettingLauncher;
import com.android.settings.network.CarrierConfigCache; import com.android.settings.network.CarrierConfigCache;
import com.android.settings.network.SubscriptionUtil; import com.android.settings.network.SubscriptionUtil;
import com.android.settings.network.ims.WifiCallingQueryImsState; import com.android.settings.network.ims.WifiCallingQueryImsState;
import com.android.settings.network.telephony.TelephonyConstants.TelephonyManagerConstants;
import com.android.settings.network.telephony.wificalling.WifiCallingRepository; import com.android.settings.network.telephony.wificalling.WifiCallingRepository;
import com.android.settingslib.core.instrumentation.Instrumentable; import com.android.settingslib.core.instrumentation.Instrumentable;
import com.android.settingslib.graph.SignalDrawable; import com.android.settingslib.graph.SignalDrawable;
@@ -328,10 +322,10 @@ public class MobileNetworkUtils {
(int) telephonyManager.getAllowedNetworkTypesForReason( (int) telephonyManager.getAllowedNetworkTypesForReason(
TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER)); TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER));
if (settingsNetworkMode == NETWORK_MODE_LTE_GSM_WCDMA if (settingsNetworkMode == TelephonyManager.NETWORK_MODE_LTE_GSM_WCDMA
|| settingsNetworkMode == NETWORK_MODE_LTE_CDMA_EVDO || settingsNetworkMode == TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO
|| settingsNetworkMode == NETWORK_MODE_NR_LTE_GSM_WCDMA || settingsNetworkMode == TelephonyManager.NETWORK_MODE_NR_LTE_GSM_WCDMA
|| settingsNetworkMode == NETWORK_MODE_NR_LTE_CDMA_EVDO) { || settingsNetworkMode == TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO) {
return true; return true;
} }
@@ -359,10 +353,10 @@ public class MobileNetworkUtils {
(int) telephonyManager.getAllowedNetworkTypesForReason( (int) telephonyManager.getAllowedNetworkTypesForReason(
TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER)); TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER));
if (isWorldMode(context, subId)) { if (isWorldMode(context, subId)) {
if (networkMode == NETWORK_MODE_LTE_CDMA_EVDO if (networkMode == TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO
|| networkMode == NETWORK_MODE_LTE_GSM_WCDMA || networkMode == TelephonyManager.NETWORK_MODE_LTE_GSM_WCDMA
|| networkMode == NETWORK_MODE_NR_LTE_CDMA_EVDO || networkMode == TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO
|| networkMode == NETWORK_MODE_NR_LTE_GSM_WCDMA) { || networkMode == TelephonyManager.NETWORK_MODE_NR_LTE_GSM_WCDMA) {
return true; return true;
} else if (shouldSpeciallyUpdateGsmCdma(context, subId)) { } else if (shouldSpeciallyUpdateGsmCdma(context, subId)) {
return true; return true;
@@ -426,14 +420,14 @@ public class MobileNetworkUtils {
final int networkMode = RadioAccessFamily.getNetworkTypeFromRaf( final int networkMode = RadioAccessFamily.getNetworkTypeFromRaf(
(int) telephonyManager.getAllowedNetworkTypesForReason( (int) telephonyManager.getAllowedNetworkTypesForReason(
TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER)); TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER));
if (networkMode == TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO) { if (networkMode == TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO) {
return false; return false;
} }
if (shouldSpeciallyUpdateGsmCdma(context, subId)) { if (shouldSpeciallyUpdateGsmCdma(context, subId)) {
return false; return false;
} }
if (networkMode == TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA) { if (networkMode == TelephonyManager.NETWORK_MODE_LTE_GSM_WCDMA) {
return true; return true;
} }
} }
@@ -541,13 +535,13 @@ public class MobileNetworkUtils {
final int networkMode = RadioAccessFamily.getNetworkTypeFromRaf( final int networkMode = RadioAccessFamily.getNetworkTypeFromRaf(
(int) telephonyManager.getAllowedNetworkTypesForReason( (int) telephonyManager.getAllowedNetworkTypesForReason(
TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER)); TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER));
if (networkMode == TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM if (networkMode == TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_GSM
|| networkMode == TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA || networkMode == TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA
|| networkMode == TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA || networkMode == TelephonyManager.NETWORK_MODE_LTE_TDSCDMA
|| networkMode == TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_WCDMA || networkMode == TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_WCDMA
|| networkMode || networkMode
== TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA == TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA
|| networkMode == TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA) { || networkMode == TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA) {
if (!isTdscdmaSupported(context, subId)) { if (!isTdscdmaSupported(context, subId)) {
return true; return true;
} }

View File

@@ -32,7 +32,7 @@ import androidx.preference.Preference;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.core.BasePreferenceController; import com.android.settings.core.BasePreferenceController;
import com.android.settings.network.CarrierConfigCache; import com.android.settings.network.CarrierConfigCache;
import com.android.settings.network.telephony.TelephonyConstants.TelephonyManagerConstants; import com.android.settings.network.telephony.mode.NetworkModes;
/** /**
* Preference controller for "Preferred network mode" * Preference controller for "Preferred network mode"
@@ -93,54 +93,54 @@ public class PreferredNetworkModePreferenceController extends BasePreferenceCont
private int getPreferredNetworkMode() { private int getPreferredNetworkMode() {
if (mTelephonyManager == null) { if (mTelephonyManager == null) {
Log.w(TAG, "TelephonyManager is null"); Log.w(TAG, "TelephonyManager is null");
return TelephonyManagerConstants.NETWORK_MODE_UNKNOWN; return NetworkModes.NETWORK_MODE_UNKNOWN;
} }
return RadioAccessFamily.getNetworkTypeFromRaf( return RadioAccessFamily.getNetworkTypeFromRaf(
(int) mTelephonyManager.getAllowedNetworkTypesForReason( (int) mTelephonyManager.getAllowedNetworkTypesForReason(
TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER)); TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER));
} }
private int getPreferredNetworkModeSummaryResId(int NetworkMode) { private int getPreferredNetworkModeSummaryResId(int networkMode) {
switch (NetworkMode) { switch (networkMode) {
case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA: case TelephonyManager.NETWORK_MODE_TDSCDMA_GSM_WCDMA:
return R.string.preferred_network_mode_tdscdma_gsm_wcdma_summary; return R.string.preferred_network_mode_tdscdma_gsm_wcdma_summary;
case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM: case TelephonyManager.NETWORK_MODE_TDSCDMA_GSM:
return R.string.preferred_network_mode_tdscdma_gsm_summary; return R.string.preferred_network_mode_tdscdma_gsm_summary;
case TelephonyManagerConstants.NETWORK_MODE_WCDMA_PREF: case TelephonyManager.NETWORK_MODE_WCDMA_PREF:
return R.string.preferred_network_mode_wcdma_perf_summary; return R.string.preferred_network_mode_wcdma_perf_summary;
case TelephonyManagerConstants.NETWORK_MODE_GSM_ONLY: case TelephonyManager.NETWORK_MODE_GSM_ONLY:
return R.string.preferred_network_mode_gsm_only_summary; return R.string.preferred_network_mode_gsm_only_summary;
case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_WCDMA: case TelephonyManager.NETWORK_MODE_TDSCDMA_WCDMA:
return R.string.preferred_network_mode_tdscdma_wcdma_summary; return R.string.preferred_network_mode_tdscdma_wcdma_summary;
case TelephonyManagerConstants.NETWORK_MODE_WCDMA_ONLY: case TelephonyManager.NETWORK_MODE_WCDMA_ONLY:
return R.string.preferred_network_mode_wcdma_only_summary; return R.string.preferred_network_mode_wcdma_only_summary;
case TelephonyManagerConstants.NETWORK_MODE_GSM_UMTS: case TelephonyManager.NETWORK_MODE_GSM_UMTS:
return R.string.preferred_network_mode_gsm_wcdma_summary; return R.string.preferred_network_mode_gsm_wcdma_summary;
case TelephonyManagerConstants.NETWORK_MODE_CDMA_EVDO: case TelephonyManager.NETWORK_MODE_CDMA_EVDO:
return mTelephonyManager.isLteCdmaEvdoGsmWcdmaEnabled() return mTelephonyManager.isLteCdmaEvdoGsmWcdmaEnabled()
? R.string.preferred_network_mode_cdma_summary ? R.string.preferred_network_mode_cdma_summary
: R.string.preferred_network_mode_cdma_evdo_summary; : R.string.preferred_network_mode_cdma_evdo_summary;
case TelephonyManagerConstants.NETWORK_MODE_CDMA_NO_EVDO: case TelephonyManager.NETWORK_MODE_CDMA_NO_EVDO:
return R.string.preferred_network_mode_cdma_only_summary; return R.string.preferred_network_mode_cdma_only_summary;
case TelephonyManagerConstants.NETWORK_MODE_EVDO_NO_CDMA: case TelephonyManager.NETWORK_MODE_EVDO_NO_CDMA:
return R.string.preferred_network_mode_evdo_only_summary; return R.string.preferred_network_mode_evdo_only_summary;
case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA: case TelephonyManager.NETWORK_MODE_LTE_TDSCDMA:
return R.string.preferred_network_mode_lte_tdscdma_summary; return R.string.preferred_network_mode_lte_tdscdma_summary;
case TelephonyManagerConstants.NETWORK_MODE_LTE_ONLY: case TelephonyManager.NETWORK_MODE_LTE_ONLY:
return R.string.preferred_network_mode_lte_summary; return R.string.preferred_network_mode_lte_summary;
case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM: case TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_GSM:
return R.string.preferred_network_mode_lte_tdscdma_gsm_summary; return R.string.preferred_network_mode_lte_tdscdma_gsm_summary;
case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA: case TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA:
return R.string.preferred_network_mode_lte_tdscdma_gsm_wcdma_summary; return R.string.preferred_network_mode_lte_tdscdma_gsm_wcdma_summary;
case TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA: case TelephonyManager.NETWORK_MODE_LTE_GSM_WCDMA:
return R.string.preferred_network_mode_lte_gsm_wcdma_summary; return R.string.preferred_network_mode_lte_gsm_wcdma_summary;
case TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO: case TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO:
return R.string.preferred_network_mode_lte_cdma_evdo_summary; return R.string.preferred_network_mode_lte_cdma_evdo_summary;
case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_ONLY: case TelephonyManager.NETWORK_MODE_TDSCDMA_ONLY:
return R.string.preferred_network_mode_tdscdma_summary; return R.string.preferred_network_mode_tdscdma_summary;
case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA: case TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA:
return R.string.preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary; return R.string.preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary;
case TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA: case TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA:
if (mTelephonyManager.getPhoneType() == TelephonyManager.PHONE_TYPE_CDMA if (mTelephonyManager.getPhoneType() == TelephonyManager.PHONE_TYPE_CDMA
|| mIsGlobalCdma || mIsGlobalCdma
|| MobileNetworkUtils.isWorldMode(mContext, mSubId)) { || MobileNetworkUtils.isWorldMode(mContext, mSubId)) {
@@ -148,35 +148,35 @@ public class PreferredNetworkModePreferenceController extends BasePreferenceCont
} else { } else {
return R.string.preferred_network_mode_lte_summary; return R.string.preferred_network_mode_lte_summary;
} }
case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA: case TelephonyManager.NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA:
return R.string.preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary; return R.string.preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary;
case TelephonyManagerConstants.NETWORK_MODE_GLOBAL: case TelephonyManager.NETWORK_MODE_GLOBAL:
return R.string.preferred_network_mode_cdma_evdo_gsm_wcdma_summary; return R.string.preferred_network_mode_cdma_evdo_gsm_wcdma_summary;
case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_WCDMA: case TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_WCDMA:
return R.string.preferred_network_mode_lte_tdscdma_wcdma_summary; return R.string.preferred_network_mode_lte_tdscdma_wcdma_summary;
case TelephonyManagerConstants.NETWORK_MODE_LTE_WCDMA: case TelephonyManager.NETWORK_MODE_LTE_WCDMA:
return R.string.preferred_network_mode_lte_wcdma_summary; return R.string.preferred_network_mode_lte_wcdma_summary;
case TelephonyManagerConstants.NETWORK_MODE_NR_ONLY: case TelephonyManager.NETWORK_MODE_NR_ONLY:
return R.string.preferred_network_mode_nr_only_summary; return R.string.preferred_network_mode_nr_only_summary;
case TelephonyManagerConstants.NETWORK_MODE_NR_LTE: case TelephonyManager.NETWORK_MODE_NR_LTE:
return R.string.preferred_network_mode_nr_lte_summary; return R.string.preferred_network_mode_nr_lte_summary;
case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO: case TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO:
return R.string.preferred_network_mode_nr_lte_cdma_evdo_summary; return R.string.preferred_network_mode_nr_lte_cdma_evdo_summary;
case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_GSM_WCDMA: case TelephonyManager.NETWORK_MODE_NR_LTE_GSM_WCDMA:
return R.string.preferred_network_mode_nr_lte_gsm_wcdma_summary; return R.string.preferred_network_mode_nr_lte_gsm_wcdma_summary;
case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA: case TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA:
return R.string.preferred_network_mode_global_summary; return R.string.preferred_network_mode_global_summary;
case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_WCDMA: case TelephonyManager.NETWORK_MODE_NR_LTE_WCDMA:
return R.string.preferred_network_mode_nr_lte_wcdma_summary; return R.string.preferred_network_mode_nr_lte_wcdma_summary;
case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA: case TelephonyManager.NETWORK_MODE_NR_LTE_TDSCDMA:
return R.string.preferred_network_mode_nr_lte_tdscdma_summary; return R.string.preferred_network_mode_nr_lte_tdscdma_summary;
case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM: case TelephonyManager.NETWORK_MODE_NR_LTE_TDSCDMA_GSM:
return R.string.preferred_network_mode_nr_lte_tdscdma_gsm_summary; return R.string.preferred_network_mode_nr_lte_tdscdma_gsm_summary;
case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_WCDMA: case TelephonyManager.NETWORK_MODE_NR_LTE_TDSCDMA_WCDMA:
return R.string.preferred_network_mode_nr_lte_tdscdma_wcdma_summary; return R.string.preferred_network_mode_nr_lte_tdscdma_wcdma_summary;
case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA: case TelephonyManager.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA:
return R.string.preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary; return R.string.preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary;
case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA: case TelephonyManager.NETWORK_MODE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA:
return R.string.preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary; return R.string.preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary;
default: default:
return R.string.preferred_network_mode_global_summary; return R.string.preferred_network_mode_global_summary;

View File

@@ -23,188 +23,6 @@ import android.telephony.TelephonyManager;
*/ */
public class TelephonyConstants { public class TelephonyConstants {
/**
* Copied from {@link android.telephony.TelephonyManager}
*/
public static class TelephonyManagerConstants {
// Network modes are in turn copied from RILConstants
// with one difference: NETWORK_MODE_CDMA is named NETWORK_MODE_CDMA_EVDO
public static final int NETWORK_MODE_UNKNOWN = -1;
/**
* GSM, WCDMA (WCDMA preferred)
*/
public static final int NETWORK_MODE_WCDMA_PREF = 0;
/**
* GSM only
*/
public static final int NETWORK_MODE_GSM_ONLY = 1;
/**
* WCDMA only
*/
public static final int NETWORK_MODE_WCDMA_ONLY = 2;
/**
* GSM, WCDMA (auto mode, according to PRL)
*/
public static final int NETWORK_MODE_GSM_UMTS = 3;
/**
* CDMA and EvDo (auto mode, according to PRL)
* this is NETWORK_MODE_CDMA in RILConstants.java
*/
public static final int NETWORK_MODE_CDMA_EVDO = 4;
/**
* CDMA only
*/
public static final int NETWORK_MODE_CDMA_NO_EVDO = 5;
/**
* EvDo only
*/
public static final int NETWORK_MODE_EVDO_NO_CDMA = 6;
/**
* GSM, WCDMA, CDMA, and EvDo (auto mode, according to PRL)
*/
public static final int NETWORK_MODE_GLOBAL = 7;
/**
* LTE, CDMA and EvDo
*/
public static final int NETWORK_MODE_LTE_CDMA_EVDO = 8;
/**
* LTE, GSM and WCDMA
*/
public static final int NETWORK_MODE_LTE_GSM_WCDMA = 9;
/**
* LTE, CDMA, EvDo, GSM, and WCDMA
*/
public static final int NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA = 10;
/**
* LTE only mode.
*/
public static final int NETWORK_MODE_LTE_ONLY = 11;
/**
* LTE and WCDMA
*/
public static final int NETWORK_MODE_LTE_WCDMA = 12;
/**
* TD-SCDMA only
*/
public static final int NETWORK_MODE_TDSCDMA_ONLY = 13;
/**
* TD-SCDMA and WCDMA
*/
public static final int NETWORK_MODE_TDSCDMA_WCDMA = 14;
/**
* LTE and TD-SCDMA
*/
public static final int NETWORK_MODE_LTE_TDSCDMA = 15;
/**
* TD-SCDMA and GSM
*/
public static final int NETWORK_MODE_TDSCDMA_GSM = 16;
/**
* TD-SCDMA, GSM and LTE
*/
public static final int NETWORK_MODE_LTE_TDSCDMA_GSM = 17;
/**
* TD-SCDMA, GSM and WCDMA
*/
public static final int NETWORK_MODE_TDSCDMA_GSM_WCDMA = 18;
/**
* LTE, TD-SCDMA and WCDMA
*/
public static final int NETWORK_MODE_LTE_TDSCDMA_WCDMA = 19;
/**
* LTE, TD-SCDMA, GSM, and WCDMA
*/
public static final int NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA = 20;
/**
* TD-SCDMA, CDMA, EVDO, GSM and WCDMA
*/
public static final int NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA = 21;
/**
* LTE, TDCSDMA, CDMA, EVDO, GSM and WCDMA
*/
public static final int NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA = 22;
/**
* NR 5G only mode
*/
public static final int NETWORK_MODE_NR_ONLY = 23;
/**
* NR 5G, LTE
*/
public static final int NETWORK_MODE_NR_LTE = 24;
/**
* NR 5G, LTE, CDMA and EvDo
*/
public static final int NETWORK_MODE_NR_LTE_CDMA_EVDO = 25;
/**
* NR 5G, LTE, GSM and WCDMA
*/
public static final int NETWORK_MODE_NR_LTE_GSM_WCDMA = 26;
/**
* NR 5G, LTE, CDMA, EvDo, GSM and WCDMA
*/
public static final int NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA = 27;
/**
* NR 5G, LTE and WCDMA
*/
public static final int NETWORK_MODE_NR_LTE_WCDMA = 28;
/**
* NR 5G, LTE and TDSCDMA
*/
public static final int NETWORK_MODE_NR_LTE_TDSCDMA = 29;
/**
* NR 5G, LTE, TD-SCDMA and GSM
*/
public static final int NETWORK_MODE_NR_LTE_TDSCDMA_GSM = 30;
/**
* NR 5G, LTE, TD-SCDMA, WCDMA
*/
public static final int NETWORK_MODE_NR_LTE_TDSCDMA_WCDMA = 31;
/**
* NR 5G, LTE, TD-SCDMA, GSM and WCDMA
*/
public static final int NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA = 32;
/**
* NR 5G, LTE, TD-SCDMA, CDMA, EVDO, GSM and WCDMA
*/
public static final int NETWORK_MODE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA = 33;
}
/** /**
* Copied from {@link android.telephony.RadioAccessFamily} * Copied from {@link android.telephony.RadioAccessFamily}
*/ */

View File

@@ -16,9 +16,10 @@
package com.android.settings.network.telephony.cdma; package com.android.settings.network.telephony.cdma;
import static com.android.settings.network.telephony.TelephonyConstants.TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA; import static android.telephony.TelephonyManager.NETWORK_MODE_LTE_GSM_WCDMA;
import static com.android.settings.network.telephony.TelephonyConstants.TelephonyManagerConstants.NETWORK_MODE_NR_LTE_GSM_WCDMA; import static android.telephony.TelephonyManager.NETWORK_MODE_NR_LTE_GSM_WCDMA;
import static com.android.settings.network.telephony.TelephonyConstants.TelephonyManagerConstants.NETWORK_MODE_UNKNOWN;
import static com.android.settings.network.telephony.mode.NetworkModes.NETWORK_MODE_UNKNOWN;
import android.content.Context; import android.content.Context;
import android.provider.Settings; import android.provider.Settings;

View File

@@ -0,0 +1,86 @@
/*
* Copyright (C) 2024 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.
*/
package com.android.settings.network.telephony.mode
import android.telephony.TelephonyManager
import com.google.common.collect.ImmutableBiMap
/** Network mode related utilities. */
object NetworkModes {
const val NETWORK_MODE_UNKNOWN = -1
private val LteToNrNetworkModeMap =
ImmutableBiMap.builder<Int, Int>()
.put(TelephonyManager.NETWORK_MODE_LTE_ONLY, TelephonyManager.NETWORK_MODE_NR_LTE)
.put(
TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO,
TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO,
)
.put(
TelephonyManager.NETWORK_MODE_LTE_GSM_WCDMA,
TelephonyManager.NETWORK_MODE_NR_LTE_GSM_WCDMA,
)
.put(
TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA,
TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA,
)
.put(
TelephonyManager.NETWORK_MODE_LTE_WCDMA,
TelephonyManager.NETWORK_MODE_NR_LTE_WCDMA,
)
.put(
TelephonyManager.NETWORK_MODE_LTE_TDSCDMA,
TelephonyManager.NETWORK_MODE_NR_LTE_TDSCDMA,
)
.put(
TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_GSM,
TelephonyManager.NETWORK_MODE_NR_LTE_TDSCDMA_GSM,
)
.put(
TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_WCDMA,
TelephonyManager.NETWORK_MODE_NR_LTE_TDSCDMA_WCDMA,
)
.put(
TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA,
TelephonyManager.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA,
)
.put(
TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA,
TelephonyManager.NETWORK_MODE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA,
)
.build()
/**
* Transforms LTE network mode to 5G network mode.
*
* @param networkMode an LTE network mode without 5G.
* @return the corresponding network mode with 5G.
*/
@JvmStatic
fun addNrToLteNetworkMode(networkMode: Int): Int =
LteToNrNetworkModeMap.getOrElse(networkMode) { networkMode }
/**
* Transforms NR5G network mode to LTE network mode.
*
* @param networkMode an 5G network mode.
* @return the corresponding network mode without 5G.
*/
@JvmStatic
fun reduceNrToLteNetworkMode(networkMode: Int): Int =
LteToNrNetworkModeMap.inverse().getOrElse(networkMode) { networkMode }
}

View File

@@ -0,0 +1,59 @@
/*
* Copyright (C) 2024 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.
*/
package com.android.settings.network.telephony.mode
import android.telephony.TelephonyManager
import androidx.test.ext.junit.runners.AndroidJUnit4
import com.google.common.truth.Truth.assertThat
import org.junit.Test
import org.junit.runner.RunWith
@RunWith(AndroidJUnit4::class)
class NetworkModesTest {
@Test
fun addNrToLteNetworkMode_lteOnly() {
val nrNetworkMode =
NetworkModes.addNrToLteNetworkMode(TelephonyManager.NETWORK_MODE_LTE_ONLY)
assertThat(nrNetworkMode).isEqualTo(TelephonyManager.NETWORK_MODE_NR_LTE)
}
@Test
fun addNrToLteNetworkMode_lteCdmaEvdo() {
val nrNetworkMode =
NetworkModes.addNrToLteNetworkMode(TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO)
assertThat(nrNetworkMode).isEqualTo(TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO)
}
@Test
fun reduceNrToLteNetworkMode_nrLte() {
val lteNetworkMode =
NetworkModes.reduceNrToLteNetworkMode(TelephonyManager.NETWORK_MODE_NR_LTE)
assertThat(lteNetworkMode).isEqualTo(TelephonyManager.NETWORK_MODE_LTE_ONLY)
}
@Test
fun reduceNrToLteNetworkMode_nrLteCdmaEvdo() {
val lteNetworkMode =
NetworkModes.reduceNrToLteNetworkMode(TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO)
assertThat(lteNetworkMode).isEqualTo(TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO)
}
}

View File

@@ -52,7 +52,6 @@ import androidx.test.core.app.ApplicationProvider;
import androidx.test.ext.junit.runners.AndroidJUnit4; import androidx.test.ext.junit.runners.AndroidJUnit4;
import com.android.settings.network.CarrierConfigCache; import com.android.settings.network.CarrierConfigCache;
import com.android.settings.network.telephony.TelephonyConstants.TelephonyManagerConstants;
import com.android.settingslib.core.lifecycle.Lifecycle; import com.android.settingslib.core.lifecycle.Lifecycle;
import org.junit.Before; import org.junit.Before;
@@ -149,7 +148,7 @@ public class EnabledNetworkModePreferenceControllerTest {
@Test @Test
public void updateState_selectedOn5gItem() { public void updateState_selectedOn5gItem() {
mockAllowedNetworkTypes(ALLOWED_ALL_NETWORK_TYPE); mockAllowedNetworkTypes(ALLOWED_ALL_NETWORK_TYPE);
mockEnabledNetworkMode(TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA); mockEnabledNetworkMode(TelephonyManager.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA);
mockAccessFamily(TelephonyManager.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA); mockAccessFamily(TelephonyManager.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA);
mController.init(SUB_ID, mFragmentManager); mController.init(SUB_ID, mFragmentManager);
@@ -161,14 +160,13 @@ public class EnabledNetworkModePreferenceControllerTest {
mController.updateState(mPreference); mController.updateState(mPreference);
assertThat(mPreference.getValue()).isEqualTo( assertThat(mPreference.getValue()).isEqualTo(
String.valueOf( String.valueOf(TelephonyManager.NETWORK_MODE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA));
TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA));
} }
@UiThreadTest @UiThreadTest
@Test @Test
public void updateState_disAllowed5g_5gOptionHidden() { public void updateState_disAllowed5g_5gOptionHidden() {
mockEnabledNetworkMode(TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA); mockEnabledNetworkMode(TelephonyManager.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA);
mockAccessFamily(TelephonyManager.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA); mockAccessFamily(TelephonyManager.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA);
mockAllowedNetworkTypes(DISABLED_5G_NETWORK_TYPE); mockAllowedNetworkTypes(DISABLED_5G_NETWORK_TYPE);
mController.init(SUB_ID, mFragmentManager); mController.init(SUB_ID, mFragmentManager);
@@ -188,7 +186,7 @@ public class EnabledNetworkModePreferenceControllerTest {
@UiThreadTest @UiThreadTest
@Test @Test
public void updateState_disAllowed5g_selectOn4gOption() { public void updateState_disAllowed5g_selectOn4gOption() {
mockEnabledNetworkMode(TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA); mockEnabledNetworkMode(TelephonyManager.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA);
mockAccessFamily(TelephonyManager.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA); mockAccessFamily(TelephonyManager.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA);
mockAllowedNetworkTypes(DISABLED_5G_NETWORK_TYPE); mockAllowedNetworkTypes(DISABLED_5G_NETWORK_TYPE);
mController.init(SUB_ID, mFragmentManager); mController.init(SUB_ID, mFragmentManager);
@@ -200,14 +198,13 @@ public class EnabledNetworkModePreferenceControllerTest {
mController.updateState(mPreference); mController.updateState(mPreference);
assertThat(mPreference.getValue()).isEqualTo( assertThat(mPreference.getValue()).isEqualTo(
String.valueOf( String.valueOf(TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA));
TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA));
} }
@UiThreadTest @UiThreadTest
@Test @Test
public void updateState_NrEnableBoolFalse_5gOptionHidden() { public void updateState_NrEnableBoolFalse_5gOptionHidden() {
mockEnabledNetworkMode(TelephonyManagerConstants.NETWORK_MODE_NR_LTE_GSM_WCDMA); mockEnabledNetworkMode(TelephonyManager.NETWORK_MODE_NR_LTE_GSM_WCDMA);
mockAccessFamily(TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA); mockAccessFamily(TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA);
mockAllowedNetworkTypes(DISABLED_5G_NETWORK_TYPE); mockAllowedNetworkTypes(DISABLED_5G_NETWORK_TYPE);
@@ -221,8 +218,7 @@ public class EnabledNetworkModePreferenceControllerTest {
mController.updateState(mPreference); mController.updateState(mPreference);
assertThat(mPreference.getValue()).isEqualTo( assertThat(mPreference.getValue()).isEqualTo(
String.valueOf( String.valueOf(TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA));
TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA));
assertThat(mPreference.getEntryValues()) assertThat(mPreference.getEntryValues())
.asList() .asList()
.doesNotContain( .doesNotContain(
@@ -264,14 +260,13 @@ public class EnabledNetworkModePreferenceControllerTest {
mController.updateState(mPreference); mController.updateState(mPreference);
assertThat(mPreference.getValue()).isEqualTo( assertThat(mPreference.getValue()).isEqualTo(
String.valueOf( String.valueOf(TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA));
TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA));
} }
@UiThreadTest @UiThreadTest
@Test @Test
public void updateState_updateByNetworkMode() { public void updateState_updateByNetworkMode() {
mockEnabledNetworkMode(TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA); mockEnabledNetworkMode(TelephonyManager.NETWORK_MODE_TDSCDMA_GSM_WCDMA);
// NETWORK_MODE_TDSCDMA_GSM_WCDMA = RAF_TD_SCDMA | GSM | WCDMA // NETWORK_MODE_TDSCDMA_GSM_WCDMA = RAF_TD_SCDMA | GSM | WCDMA
when(mTelephonyManager.getAllowedNetworkTypesForReason( when(mTelephonyManager.getAllowedNetworkTypesForReason(
@@ -280,14 +275,14 @@ public class EnabledNetworkModePreferenceControllerTest {
mController.updateState(mPreference); mController.updateState(mPreference);
assertThat(mPreference.getValue()).isEqualTo( assertThat(mPreference.getValue()).isEqualTo(
String.valueOf(TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA)); String.valueOf(TelephonyManager.NETWORK_MODE_TDSCDMA_GSM_WCDMA));
assertThat(mPreference.getSummary()).isEqualTo("3G"); assertThat(mPreference.getSummary()).isEqualTo("3G");
} }
@UiThreadTest @UiThreadTest
@Test @Test
public void updateState_updateByNetworkMode_useDefaultValue() { public void updateState_updateByNetworkMode_useDefaultValue() {
mockEnabledNetworkMode(TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA); mockEnabledNetworkMode(TelephonyManager.NETWORK_MODE_LTE_GSM_WCDMA);
// NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA = LTE | CDMA | EVDO | GSM | WCDMA // NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA = LTE | CDMA | EVDO | GSM | WCDMA
when(mTelephonyManager.getAllowedNetworkTypesForReason( when(mTelephonyManager.getAllowedNetworkTypesForReason(
@@ -296,41 +291,41 @@ public class EnabledNetworkModePreferenceControllerTest {
mController.updateState(mPreference); mController.updateState(mPreference);
assertThat(mPreference.getValue()).isEqualTo( assertThat(mPreference.getValue()).isEqualTo(
String.valueOf(TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA)); String.valueOf(TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA));
} }
@UiThreadTest @UiThreadTest
@Test @Test
public void onPreferenceChange_updateSuccess() { public void onPreferenceChange_updateSuccess() {
mockEnabledNetworkMode(TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA); mockEnabledNetworkMode(TelephonyManager.NETWORK_MODE_LTE_GSM_WCDMA);
doReturn(true).when(mTelephonyManager).setPreferredNetworkTypeBitmask( doReturn(true).when(mTelephonyManager).setPreferredNetworkTypeBitmask(
RadioAccessFamily.getRafFromNetworkType( RadioAccessFamily.getRafFromNetworkType(
TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA)); TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA));
mController.updateState(mPreference); mController.updateState(mPreference);
mController.onViewCreated(new TestLifecycleOwner()); mController.onViewCreated(new TestLifecycleOwner());
mController.onPreferenceChange(mPreference, mController.onPreferenceChange(mPreference,
String.valueOf(TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA)); String.valueOf(TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA));
assertThat(mPreference.getValue()).isEqualTo( assertThat(mPreference.getValue()).isEqualTo(
String.valueOf(TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA)); String.valueOf(TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA));
} }
@UiThreadTest @UiThreadTest
@Test @Test
public void onPreferenceChange_updateFail() { public void onPreferenceChange_updateFail() {
mockEnabledNetworkMode(TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA); mockEnabledNetworkMode(TelephonyManager.NETWORK_MODE_LTE_GSM_WCDMA);
doReturn(false).when(mTelephonyManager).setPreferredNetworkTypeBitmask( doReturn(false).when(mTelephonyManager).setPreferredNetworkTypeBitmask(
RadioAccessFamily.getRafFromNetworkType( RadioAccessFamily.getRafFromNetworkType(
TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA)); TelephonyManager.NETWORK_MODE_LTE_GSM_WCDMA));
mController.updateState(mPreference); mController.updateState(mPreference);
mController.onViewCreated(new TestLifecycleOwner()); mController.onViewCreated(new TestLifecycleOwner());
mController.onPreferenceChange(mPreference, mController.onPreferenceChange(mPreference,
String.valueOf(TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA)); String.valueOf(TelephonyManager.NETWORK_MODE_LTE_GSM_WCDMA));
assertThat(mPreference.getValue()).isNotEqualTo( assertThat(mPreference.getValue()).isNotEqualTo(
String.valueOf(TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA)); String.valueOf(TelephonyManager.NETWORK_MODE_LTE_GSM_WCDMA));
} }
@UiThreadTest @UiThreadTest
@@ -341,7 +336,7 @@ public class EnabledNetworkModePreferenceControllerTest {
PreferenceScreen screen = preferenceManager.createPreferenceScreen(mContext); PreferenceScreen screen = preferenceManager.createPreferenceScreen(mContext);
mPreference.setKey(KEY); mPreference.setKey(KEY);
screen.addPreference(mPreference); screen.addPreference(mPreference);
mockEnabledNetworkMode(TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA); mockEnabledNetworkMode(TelephonyManager.NETWORK_MODE_TDSCDMA_GSM_WCDMA);
// NETWORK_MODE_TDSCDMA_GSM_WCDMA = RAF_TD_SCDMA | GSM | WCDMA // NETWORK_MODE_TDSCDMA_GSM_WCDMA = RAF_TD_SCDMA | GSM | WCDMA
when(mTelephonyManager.getAllowedNetworkTypesForReason( when(mTelephonyManager.getAllowedNetworkTypesForReason(
@@ -353,7 +348,7 @@ public class EnabledNetworkModePreferenceControllerTest {
mLifecycle.handleLifecycleEvent(ON_START); mLifecycle.handleLifecycleEvent(ON_START);
assertThat(Integer.parseInt(mPreference.getValue())).isEqualTo( assertThat(Integer.parseInt(mPreference.getValue())).isEqualTo(
TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA); TelephonyManager.NETWORK_MODE_TDSCDMA_GSM_WCDMA);
assertThat(mPreference.getSummary()).isEqualTo("3G"); assertThat(mPreference.getSummary()).isEqualTo("3G");
} }
@@ -412,20 +407,19 @@ public class EnabledNetworkModePreferenceControllerTest {
} }
private void mockEnabledNetworkMode(int networkMode) { private void mockEnabledNetworkMode(int networkMode) {
if (networkMode == TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA) { if (networkMode == TelephonyManager.NETWORK_MODE_TDSCDMA_GSM_WCDMA) {
mockPhoneType(TelephonyManager.PHONE_TYPE_GSM); mockPhoneType(TelephonyManager.PHONE_TYPE_GSM);
mPersistableBundle.putBoolean(CarrierConfigManager.KEY_SUPPORT_TDSCDMA_BOOL, true); mPersistableBundle.putBoolean(CarrierConfigManager.KEY_SUPPORT_TDSCDMA_BOOL, true);
} else if (networkMode == TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA } else if (networkMode == TelephonyManager.NETWORK_MODE_LTE_GSM_WCDMA
|| networkMode == TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA) { || networkMode == TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA) {
mockPhoneType(TelephonyManager.PHONE_TYPE_GSM); mockPhoneType(TelephonyManager.PHONE_TYPE_GSM);
mPersistableBundle.putBoolean(CarrierConfigManager.KEY_PREFER_2G_BOOL, true); mPersistableBundle.putBoolean(CarrierConfigManager.KEY_PREFER_2G_BOOL, true);
mPersistableBundle.putBoolean(CarrierConfigManager.KEY_LTE_ENABLED_BOOL, true); mPersistableBundle.putBoolean(CarrierConfigManager.KEY_LTE_ENABLED_BOOL, true);
} else if (networkMode == TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA) { } else if (networkMode == TelephonyManager.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA) {
mockPhoneType(TelephonyManager.PHONE_TYPE_GSM); mockPhoneType(TelephonyManager.PHONE_TYPE_GSM);
mPersistableBundle.putBoolean(CarrierConfigManager.KEY_SUPPORT_TDSCDMA_BOOL, true); mPersistableBundle.putBoolean(CarrierConfigManager.KEY_SUPPORT_TDSCDMA_BOOL, true);
} else if (networkMode == TelephonyManagerConstants.NETWORK_MODE_NR_LTE_GSM_WCDMA } else if (networkMode == TelephonyManager.NETWORK_MODE_NR_LTE_GSM_WCDMA
|| networkMode || networkMode == TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA) {
== TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA) {
mockPhoneType(TelephonyManager.PHONE_TYPE_GSM); mockPhoneType(TelephonyManager.PHONE_TYPE_GSM);
mPersistableBundle.putBoolean(CarrierConfigManager.KEY_PREFER_2G_BOOL, true); mPersistableBundle.putBoolean(CarrierConfigManager.KEY_PREFER_2G_BOOL, true);
mPersistableBundle.putBoolean(CarrierConfigManager.KEY_LTE_ENABLED_BOOL, true); mPersistableBundle.putBoolean(CarrierConfigManager.KEY_LTE_ENABLED_BOOL, true);

View File

@@ -40,7 +40,6 @@ import androidx.test.core.app.ApplicationProvider;
import androidx.test.ext.junit.runners.AndroidJUnit4; import androidx.test.ext.junit.runners.AndroidJUnit4;
import com.android.settings.network.CarrierConfigCache; import com.android.settings.network.CarrierConfigCache;
import com.android.settings.network.telephony.TelephonyConstants.TelephonyManagerConstants;
import com.android.settings.testutils.ResourcesUtils; import com.android.settings.testutils.ResourcesUtils;
import org.junit.Before; import org.junit.Before;
@@ -99,7 +98,7 @@ public class PreferredNetworkModePreferenceControllerTest {
mController.updateState(mPreference); mController.updateState(mPreference);
assertThat(mPreference.getValue()).isEqualTo( assertThat(mPreference.getValue()).isEqualTo(
String.valueOf(TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA)); String.valueOf(TelephonyManager.NETWORK_MODE_TDSCDMA_GSM_WCDMA));
assertThat(mPreference.getSummary()).isEqualTo( assertThat(mPreference.getSummary()).isEqualTo(
ResourcesUtils.getResourcesString(mContext, ResourcesUtils.getResourcesString(mContext,
"preferred_network_mode_tdscdma_gsm_wcdma_summary")); "preferred_network_mode_tdscdma_gsm_wcdma_summary"));
@@ -108,11 +107,10 @@ public class PreferredNetworkModePreferenceControllerTest {
@Test @Test
public void onPreferenceChange_updateNetworkMode() { public void onPreferenceChange_updateNetworkMode() {
mController.onPreferenceChange(mPreference, mController.onPreferenceChange(mPreference,
String.valueOf(TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA)); String.valueOf(TelephonyManager.NETWORK_MODE_LTE_TDSCDMA));
verify(mTelephonyManager, times(1)).setAllowedNetworkTypesForReason( verify(mTelephonyManager, times(1)).setAllowedNetworkTypesForReason(
TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER, TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER,
RadioAccessFamily.getRafFromNetworkType( RadioAccessFamily.getRafFromNetworkType(TelephonyManager.NETWORK_MODE_LTE_TDSCDMA));
TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA));
} }
} }