diff options
author | Sarah Chin <sarahchin@google.com> | 2020-03-19 15:47:56 -0700 |
---|---|---|
committer | Sarah Chin <sarahchin@google.com> | 2020-04-14 18:07:55 -0700 |
commit | 3ff26a3bed3853e24585b25cfd9e6d5b7b154528 (patch) | |
tree | bbf0c708e4517e6efbc76781ceea4f3d9c238f2b | |
parent | 688857ea3b40a7b2a05e421627ac7e691dc2e371 (diff) |
Update Bands API
Test: build
Bug: 151842542
Change-Id: Ib033758d469b9b485eb7cce6c026b5a649e6a6fa
Merged-In: Ib033758d469b9b485eb7cce6c026b5a649e6a6fa
-rw-r--r-- | api/current.txt | 18 | ||||
-rw-r--r-- | telephony/java/android/telephony/AccessNetworkConstants.java | 41 | ||||
-rw-r--r-- | telephony/java/android/telephony/AccessNetworkUtils.java | 46 |
3 files changed, 95 insertions, 10 deletions
diff --git a/api/current.txt b/api/current.txt index 317ec9341e99..2d86ace263c2 100644 --- a/api/current.txt +++ b/api/current.txt @@ -44557,14 +44557,26 @@ package android.telephony { field public static final int BAND_46 = 46; // 0x2e field public static final int BAND_47 = 47; // 0x2f field public static final int BAND_48 = 48; // 0x30 + field public static final int BAND_49 = 49; // 0x31 field public static final int BAND_5 = 5; // 0x5 + field public static final int BAND_50 = 50; // 0x32 + field public static final int BAND_51 = 51; // 0x33 + field public static final int BAND_52 = 52; // 0x34 + field public static final int BAND_53 = 53; // 0x35 field public static final int BAND_6 = 6; // 0x6 field public static final int BAND_65 = 65; // 0x41 field public static final int BAND_66 = 66; // 0x42 field public static final int BAND_68 = 68; // 0x44 field public static final int BAND_7 = 7; // 0x7 field public static final int BAND_70 = 70; // 0x46 + field public static final int BAND_71 = 71; // 0x47 + field public static final int BAND_72 = 72; // 0x48 + field public static final int BAND_73 = 73; // 0x49 + field public static final int BAND_74 = 74; // 0x4a field public static final int BAND_8 = 8; // 0x8 + field public static final int BAND_85 = 85; // 0x55 + field public static final int BAND_87 = 87; // 0x57 + field public static final int BAND_88 = 88; // 0x58 field public static final int BAND_9 = 9; // 0x9 } @@ -44628,7 +44640,13 @@ package android.telephony { field public static final int BAND_83 = 83; // 0x53 field public static final int BAND_84 = 84; // 0x54 field public static final int BAND_86 = 86; // 0x56 + field public static final int BAND_89 = 89; // 0x59 field public static final int BAND_90 = 90; // 0x5a + field public static final int BAND_91 = 91; // 0x5b + field public static final int BAND_92 = 92; // 0x5c + field public static final int BAND_93 = 93; // 0x5d + field public static final int BAND_94 = 94; // 0x5e + field public static final int BAND_95 = 95; // 0x5f } public static final class AccessNetworkConstants.UtranBand { diff --git a/telephony/java/android/telephony/AccessNetworkConstants.java b/telephony/java/android/telephony/AccessNetworkConstants.java index 558f4cd24471..39a754389254 100644 --- a/telephony/java/android/telephony/AccessNetworkConstants.java +++ b/telephony/java/android/telephony/AccessNetworkConstants.java @@ -19,9 +19,9 @@ package android.telephony; import android.annotation.IntDef; import android.annotation.SystemApi; import android.annotation.TestApi; -import android.hardware.radio.V1_1.EutranBands; import android.hardware.radio.V1_1.GeranBands; import android.hardware.radio.V1_5.AccessNetwork; +import android.hardware.radio.V1_5.EutranBands; import android.hardware.radio.V1_5.UtranBands; import java.lang.annotation.Retention; @@ -212,7 +212,8 @@ public final class AccessNetworkConstants { /** * Frequency bands for EUTRAN. - * http://www.etsi.org/deliver/etsi_ts/136100_136199/136101/14.03.00_60/ts_136101v140p.pdf + * 3GPP TS 36.101, Version 16.4.0, Table 5.5: Operating bands + * https://www.etsi.org/deliver/etsi_ts/136100_136199/136101/15.09.00_60/ts_136101v150900p.pdf */ public static final class EutranBand { public static final int BAND_1 = EutranBands.BAND_1; @@ -259,10 +260,22 @@ public final class AccessNetworkConstants { public static final int BAND_46 = EutranBands.BAND_46; public static final int BAND_47 = EutranBands.BAND_47; public static final int BAND_48 = EutranBands.BAND_48; + public static final int BAND_49 = EutranBands.BAND_49; + public static final int BAND_50 = EutranBands.BAND_50; + public static final int BAND_51 = EutranBands.BAND_51; + public static final int BAND_52 = EutranBands.BAND_52; + public static final int BAND_53 = EutranBands.BAND_53; public static final int BAND_65 = EutranBands.BAND_65; public static final int BAND_66 = EutranBands.BAND_66; public static final int BAND_68 = EutranBands.BAND_68; public static final int BAND_70 = EutranBands.BAND_70; + public static final int BAND_71 = EutranBands.BAND_71; + public static final int BAND_72 = EutranBands.BAND_72; + public static final int BAND_73 = EutranBands.BAND_73; + public static final int BAND_74 = EutranBands.BAND_74; + public static final int BAND_85 = EutranBands.BAND_85; + public static final int BAND_87 = EutranBands.BAND_87; + public static final int BAND_88 = EutranBands.BAND_88; /** @hide */ private EutranBand() {}; @@ -305,9 +318,11 @@ public final class AccessNetworkConstants { /** * Frequency bands for NGRAN + * https://www.etsi.org/deliver/etsi_ts/138100_138199/13810101/15.08.02_60/ts_13810101v150802p.pdf + * https://www.etsi.org/deliver/etsi_ts/138100_138199/13810102/15.08.00_60/ts_13810102v150800p.pdf */ public static final class NgranBands { - /** FR1 bands */ + /** 3GPP TS 38.101-1, Version 16.2.0, Table 5.2-1: FR1 bands */ public static final int BAND_1 = android.hardware.radio.V1_5.NgranBands.BAND_1; public static final int BAND_2 = android.hardware.radio.V1_5.NgranBands.BAND_2; public static final int BAND_3 = android.hardware.radio.V1_5.NgranBands.BAND_3; @@ -346,9 +361,15 @@ public final class AccessNetworkConstants { public static final int BAND_83 = android.hardware.radio.V1_5.NgranBands.BAND_83; public static final int BAND_84 = android.hardware.radio.V1_5.NgranBands.BAND_84; public static final int BAND_86 = android.hardware.radio.V1_5.NgranBands.BAND_86; + public static final int BAND_89 = android.hardware.radio.V1_5.NgranBands.BAND_89; public static final int BAND_90 = android.hardware.radio.V1_5.NgranBands.BAND_90; + public static final int BAND_91 = android.hardware.radio.V1_5.NgranBands.BAND_91; + public static final int BAND_92 = android.hardware.radio.V1_5.NgranBands.BAND_92; + public static final int BAND_93 = android.hardware.radio.V1_5.NgranBands.BAND_93; + public static final int BAND_94 = android.hardware.radio.V1_5.NgranBands.BAND_94; + public static final int BAND_95 = android.hardware.radio.V1_5.NgranBands.BAND_95; - /** FR2 bands */ + /** 3GPP TS 38.101-2, Version 16.2.0, Table 5.2-1: FR2 bands */ public static final int BAND_257 = android.hardware.radio.V1_5.NgranBands.BAND_257; public static final int BAND_258 = android.hardware.radio.V1_5.NgranBands.BAND_258; public static final int BAND_260 = android.hardware.radio.V1_5.NgranBands.BAND_260; @@ -398,7 +419,13 @@ public final class AccessNetworkConstants { BAND_83, BAND_84, BAND_86, + BAND_89, BAND_90, + BAND_91, + BAND_92, + BAND_93, + BAND_94, + BAND_95, BAND_257, BAND_258, BAND_260, @@ -495,7 +522,13 @@ public final class AccessNetworkConstants { case BAND_83: case BAND_84: case BAND_86: + case BAND_89: case BAND_90: + case BAND_91: + case BAND_92: + case BAND_93: + case BAND_94: + case BAND_95: return FREQUENCY_RANGE_GROUP_1; case BAND_257: case BAND_258: diff --git a/telephony/java/android/telephony/AccessNetworkUtils.java b/telephony/java/android/telephony/AccessNetworkUtils.java index 5d2c225f28ec..981ed450004a 100644 --- a/telephony/java/android/telephony/AccessNetworkUtils.java +++ b/telephony/java/android/telephony/AccessNetworkUtils.java @@ -34,12 +34,10 @@ public class AccessNetworkUtils { return DUPLEX_MODE_UNKNOWN; } - if (band >= EutranBand.BAND_68) { + if (band > EutranBand.BAND_88) { return DUPLEX_MODE_UNKNOWN; } else if (band >= EutranBand.BAND_65) { return DUPLEX_MODE_FDD; - } else if (band >= EutranBand.BAND_47) { - return DUPLEX_MODE_UNKNOWN; } else if (band >= EutranBand.BAND_33) { return DUPLEX_MODE_TDD; } else if (band >= EutranBand.BAND_1) { @@ -58,17 +56,53 @@ public class AccessNetworkUtils { * @return Operating band number, or {@link #INVALID_BAND} if no corresponding band exists */ public static int getOperatingBandForEarfcn(int earfcn) { - if (earfcn > 67535) { + if (earfcn > 70645) { + return INVALID_BAND; + } else if (earfcn >= 70596) { + return EutranBand.BAND_88; + } else if (earfcn >= 70546) { + return EutranBand.BAND_87; + } else if (earfcn >= 70366) { + return EutranBand.BAND_85; + } else if (earfcn > 69465) { + return INVALID_BAND; + } else if (earfcn >= 69036) { + return EutranBand.BAND_74; + } else if (earfcn >= 68986) { + return EutranBand.BAND_73; + } else if (earfcn >= 68936) { + return EutranBand.BAND_72; + } else if (earfcn >= 68586) { + return EutranBand.BAND_71; + } else if (earfcn >= 68336) { + return EutranBand.BAND_70; + } else if (earfcn > 67835) { return INVALID_BAND; + } else if (earfcn >= 67536) { + return EutranBand.BAND_68; } else if (earfcn >= 67366) { return INVALID_BAND; // band 67 only for CarrierAgg } else if (earfcn >= 66436) { return EutranBand.BAND_66; } else if (earfcn >= 65536) { return EutranBand.BAND_65; - } else if (earfcn > 54339) { + } else if (earfcn > 60254) { return INVALID_BAND; - } else if (earfcn >= 46790 /* inferred from the end range of BAND_45 */) { + } else if (earfcn >= 60140) { + return EutranBand.BAND_53; + } else if (earfcn >= 59140) { + return EutranBand.BAND_52; + } else if (earfcn >= 59090) { + return EutranBand.BAND_51; + } else if (earfcn >= 58240) { + return EutranBand.BAND_50; + } else if (earfcn >= 56740) { + return EutranBand.BAND_49; + } else if (earfcn >= 55240) { + return EutranBand.BAND_48; + } else if (earfcn >= 54540) { + return EutranBand.BAND_47; + } else if (earfcn >= 46790) { return EutranBand.BAND_46; } else if (earfcn >= 46590) { return EutranBand.BAND_45; |