Skip to content

Commit 9d1b4e8

Browse files
committed
優先的に返す処理に au のバンドの足りない分を追加とテスト
1 parent c22a6a2 commit 9d1b4e8

File tree

2 files changed

+18
-4
lines changed

2 files changed

+18
-4
lines changed

app/src/main/java/io/github/takusan23/newradiosupporter/tool/CarrierNrBandDictionary.kt

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@ import io.github.takusan23.newradiosupporter.tool.data.CarrierNrBandData
99
*
1010
* そのため、日本だけですが、通信キャリアが提供している 5G バンドを優先的に探すようにします。
1111
* そのためには提供しているバンドを用意しておく必要があるので書きました。
12+
*
13+
* 出典は
14+
* バンドは各キャリアのサイト
15+
* MCC/MNC(PLMN)は総務省より→電気通信番号指定状況
1216
*/
1317
object CarrierNrBandDictionary {
1418

@@ -31,21 +35,22 @@ object CarrierNrBandDictionary {
3135
// au
3236
CarrierNrBandData(
3337
mcc = "440",
34-
mnc = listOf("50", "51", "52", "53", "54"),
38+
mnc = listOf("01", "50", "51", "52", "53", "54", "55"),
3539
provideNrBandList = listOf(
3640
"n28",
3741
"n3",
38-
"n40", // 2024年から?
42+
"n40",
43+
"n41",
3944
"n77",
4045
"n78",
4146
"n257"
4247
)
4348
),
4449

45-
// ソフトバンク
50+
// ソフトバンク、ワイモバイル
4651
CarrierNrBandData(
4752
mcc = "440",
48-
mnc = listOf("20"),
53+
mnc = listOf("00", "20", "21"),
4954
provideNrBandList = listOf(
5055
"n3",
5156
"n28",

app/src/test/java/io/github/takusan23/newradiosupporter/tool/BandDictionaryToolTest.kt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,8 @@ class BandDictionaryToolTest {
101101
val nrarfcnN48N77N78 = 643334
102102
// バンド n20 n28 に一致する NR-ARFCN
103103
val nrarfcnN20N28 = 159630
104+
// バンド n38 n41 に一致する NR-ARFCN
105+
val nrarfcnN38N41 = 522990
104106

105107
// ドコモ なら n78
106108
// au softbank 楽天 なら 77 になるべき
@@ -123,6 +125,13 @@ class BandDictionaryToolTest {
123125
Assert.assertEquals(BandDictionaryTool.tryFixNrBand(softbank.first, softbank.second, nrarfcn, maybeBand), "n28")
124126
Assert.assertEquals(BandDictionaryTool.tryFixNrBand(rakuten.first, rakuten.second, nrarfcn, maybeBand), "n28")
125127
}
128+
129+
// 愚直に計算するとバンド n38 だが、au では提供してないため n41 になるべき
130+
nrarfcnN38N41.also { nrarfcn ->
131+
val bandN38N41 = BandDictionaryTool.toNrBandList(nrarfcn)
132+
val maybeBand = bandN38N41.first()
133+
Assert.assertEquals(BandDictionaryTool.tryFixNrBand(au.first, au.second, nrarfcn, maybeBand), "n41")
134+
}
126135
}
127136

128137
@Test

0 commit comments

Comments
 (0)