Skip to content
Snippets Groups Projects
Commit 47ecbaf0 authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Add NR bands to service state."

parents c70e0d3b f081b351
No related branches found
No related tags found
No related merge requests found
......@@ -4,8 +4,8 @@ import static android.telephony.ServiceState.DUPLEX_MODE_FDD;
import static android.telephony.ServiceState.DUPLEX_MODE_TDD;
import static android.telephony.ServiceState.DUPLEX_MODE_UNKNOWN;
import android.telephony.AccessNetworkConstants.EutranBandArfcnFrequency;
import android.telephony.AccessNetworkConstants.EutranBand;
import android.telephony.AccessNetworkConstants.EutranBandArfcnFrequency;
import android.telephony.AccessNetworkConstants.GeranBand;
import android.telephony.AccessNetworkConstants.GeranBandArfcnFrequency;
import android.telephony.AccessNetworkConstants.NgranArfcnFrequency;
......@@ -13,7 +13,6 @@ import android.telephony.AccessNetworkConstants.NgranBands;
import android.telephony.AccessNetworkConstants.UtranBand;
import android.telephony.AccessNetworkConstants.UtranBandArfcnFrequency;
import android.telephony.ServiceState.DuplexMode;
import android.util.Log;
import java.util.Arrays;
import java.util.HashSet;
......@@ -231,6 +230,110 @@ public class AccessNetworkUtils {
return INVALID_BAND;
}
/**
* Gets the NR Operating band for a given downlink NRARFCN.
*
* <p>See 3GPP TS 38.104 Table 5.2-1 NR operating bands in FR1 and
* Table 5.2-2 NR operating bands in FR2
*
* @param nrarfcn The downlink NRARFCN
* @return Operating band number, or {@link #INVALID_BAND} if no corresponding band exists
*/
public static int getOperatingBandForNrarfcn(int nrarfcn) {
if (nrarfcn >= 2110 && nrarfcn <= 2170) {
return NgranBands.BAND_1;
} else if (nrarfcn >= 1930 && nrarfcn <= 1990) {
return NgranBands.BAND_2;
} else if (nrarfcn >= 1805 && nrarfcn <= 1880) {
return NgranBands.BAND_3;
} else if (nrarfcn >= 869 && nrarfcn <= 894) {
return NgranBands.BAND_5;
} else if (nrarfcn >= 2620 && nrarfcn <= 2690) {
return NgranBands.BAND_7;
} else if (nrarfcn >= 925 && nrarfcn <= 960) {
return NgranBands.BAND_8;
} else if (nrarfcn >= 729 && nrarfcn <= 746) {
return NgranBands.BAND_12;
} else if (nrarfcn >= 758 && nrarfcn <= 768) {
return NgranBands.BAND_14;
} else if (nrarfcn >= 860 && nrarfcn <= 875) {
return NgranBands.BAND_18;
} else if (nrarfcn >= 791 && nrarfcn <= 821) {
return NgranBands.BAND_20;
} else if (nrarfcn >= 1930 && nrarfcn <= 1995) {
return NgranBands.BAND_25;
} else if (nrarfcn >= 859 && nrarfcn <= 894) {
return NgranBands.BAND_26;
} else if (nrarfcn >= 758 && nrarfcn <= 803) {
return NgranBands.BAND_28;
} else if (nrarfcn >= 717 && nrarfcn <= 728) {
return NgranBands.BAND_29;
} else if (nrarfcn >= 2350 && nrarfcn <= 2360) {
return NgranBands.BAND_30;
} else if (nrarfcn >= 2010 && nrarfcn <= 2025) {
return NgranBands.BAND_34;
} else if (nrarfcn >= 2570 && nrarfcn <= 2620) {
return NgranBands.BAND_38;
} else if (nrarfcn >= 1880 && nrarfcn <= 1920) {
return NgranBands.BAND_39;
} else if (nrarfcn >= 2300 && nrarfcn <= 2400) {
return NgranBands.BAND_40;
} else if (nrarfcn >= 2496 && nrarfcn <= 2690) {
return NgranBands.BAND_41;
} else if (nrarfcn >= 5150 && nrarfcn <= 5925) {
return NgranBands.BAND_46;
} else if (nrarfcn >= 3550 && nrarfcn <= 3700) {
return NgranBands.BAND_48;
} else if (nrarfcn >= 1432 && nrarfcn <= 1517) {
return NgranBands.BAND_50;
} else if (nrarfcn >= 1427 && nrarfcn <= 1432) {
return NgranBands.BAND_51;
} else if (nrarfcn >= 2483 && nrarfcn <= 2495) {
return NgranBands.BAND_53;
} else if (nrarfcn >= 2110 && nrarfcn <= 2200) {
return NgranBands.BAND_65; // BAND_66 has the same channels
} else if (nrarfcn >= 1995 && nrarfcn <= 2020) {
return NgranBands.BAND_70;
} else if (nrarfcn >= 617 && nrarfcn <= 652) {
return NgranBands.BAND_71;
} else if (nrarfcn >= 1475 && nrarfcn <= 1518) {
return NgranBands.BAND_74;
} else if (nrarfcn >= 1432 && nrarfcn <= 1517) {
return NgranBands.BAND_75;
} else if (nrarfcn >= 1427 && nrarfcn <= 1432) {
return NgranBands.BAND_76;
} else if (nrarfcn >= 3300 && nrarfcn <= 4200) {
return NgranBands.BAND_77;
} else if (nrarfcn >= 3300 && nrarfcn <= 3800) {
return NgranBands.BAND_78;
} else if (nrarfcn >= 4400 && nrarfcn <= 5000) {
return NgranBands.BAND_79;
} else if (nrarfcn >= 2496 && nrarfcn <= 2690) {
return NgranBands.BAND_90;
} else if (nrarfcn >= 1427 && nrarfcn <= 1432) {
return NgranBands.BAND_91;
} else if (nrarfcn >= 1427 && nrarfcn <= 1432) {
return NgranBands.BAND_92;
} else if (nrarfcn >= 1432 && nrarfcn <= 1517) {
return NgranBands.BAND_93;
} else if (nrarfcn >= 1427 && nrarfcn <= 1432) {
return NgranBands.BAND_94;
} else if (nrarfcn >= 1432 && nrarfcn <= 1517) {
return NgranBands.BAND_94;
} else if (nrarfcn >= 5925 && nrarfcn <= 7125) {
return NgranBands.BAND_96;
} else if (nrarfcn >= 26500 && nrarfcn <= 29500) {
return NgranBands.BAND_257;
} else if (nrarfcn >= 24250 && nrarfcn <= 27500) {
return NgranBands.BAND_258;
} else if (nrarfcn >= 37000 && nrarfcn <= 40000) {
return NgranBands.BAND_260;
} else if (nrarfcn >= 27500 && nrarfcn <= 28350) {
return NgranBands.BAND_261;
}
return INVALID_BAND;
}
/**
* Gets the GERAN Operating band for a given ARFCN.
*
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment