From 0918c8c67cb83e56c276f0e0603a6066cea42bfc Mon Sep 17 00:00:00 2001 From: Kei Nakazawa Date: Tue, 27 May 2025 13:06:02 +0900 Subject: [PATCH] Add ARFCN field support to termux-telephony-cellinfo Adds E-ARFCN and NR-ARFCN field output to enable more accurate cellular signal frequency analysis and debugging. Changes: - Add E-ARFCN field for LTE cells (API level 24+) - Add NR-ARFCN field for 5G NR cells - Both fields provide absolute radio frequency channel numbers for precise frequency identification --- app/src/main/java/com/termux/api/apis/TelephonyAPI.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/src/main/java/com/termux/api/apis/TelephonyAPI.java b/app/src/main/java/com/termux/api/apis/TelephonyAPI.java index 6a751e6c8..6e1390d05 100644 --- a/app/src/main/java/com/termux/api/apis/TelephonyAPI.java +++ b/app/src/main/java/com/termux/api/apis/TelephonyAPI.java @@ -113,6 +113,10 @@ public void writeJson(JsonWriter out) throws Exception { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { writeIfKnown(out, "bands", lteInfo.getCellIdentity().getBands()); } + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { + writeIfKnown(out, "arfcn", lteInfo.getCellIdentity().getEarfcn()); + } } else if ((Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) && (cellInfo instanceof CellInfoNr)) { CellInfoNr nrInfo = (CellInfoNr) cellInfo; CellIdentityNr nrcellIdent = (CellIdentityNr) nrInfo.getCellIdentity(); @@ -140,6 +144,7 @@ public void writeJson(JsonWriter out) throws Exception { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { writeIfKnown(out, "bands", nrcellIdent.getBands()); } + writeIfKnown(out, "arfcn", nrcellIdent.getNrarfcn()); } else if (cellInfo instanceof CellInfoCdma) { CellInfoCdma cdmaInfo = (CellInfoCdma) cellInfo; out.name("type").value("cdma");