From 5c282707a9c8183f165adabb478d4315afaf3676 Mon Sep 17 00:00:00 2001 From: bt Date: Sun, 3 May 2026 22:51:03 +0200 Subject: Use "requestCellInfoUpdate' to get cell info faster --- app/src/main/AndroidManifest.xml | 2 + app/src/main/java/net/rctt/netmon/MainActivity.kt | 110 +++++++++++++--------- 2 files changed, 66 insertions(+), 46 deletions(-) (limited to 'app/src/main') diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index d036883..f8bbdd0 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -3,6 +3,8 @@ + + { - logDetected("GSM") - } - is CellInfoLte -> { - val id = cell.cellIdentity - if (id.ci == 2147483647) { - continue - } + tel.requestCellInfoUpdate(mainExecutor, object : CellInfoCallback() { + @RequiresPermission(Manifest.permission.ACCESS_FINE_LOCATION) + override fun onCellInfo(cellList: List) { + cellView.removeAllViews() + for (cell in cellList) { + when (cell) { + is CellInfoGsm -> { + logDetected("GSM") + } - logDetected("LTE") - logCell("CID: ${id.ci}") - logCell("PCI: ${id.pci}") - logCell("TAC: ${id.tac}") - logCell("EARFCN ${id.earfcn}") - logCell("BANDWIDTH: ${id.bandwidth}") - logCell("RSRP: ${cell.cellSignalStrength.rsrp}") - logCell("DBM: ${cell.cellSignalStrength.dbm}") - logCell("STATUS: ${cell.cellConnectionStatus}") - logCell("") - } - is CellInfoNr -> { - logDetected("NR") - } - is CellInfoTdscdma -> { - logDetected("TDSCDMA") - } - is CellInfoWcdma -> { - logDetected("WCDMA") + is CellInfoLte -> { + val id = cell.cellIdentity + if (id.ci == 2147483647) { + continue + } + + logDetected("LTE") + logCell("CID: ${id.ci}") + logCell("PCI: ${id.pci}") + logCell("TAC: ${id.tac}") + logCell("EARFCN ${id.earfcn}") + logCell("BANDWIDTH: ${id.bandwidth}") + logCell("RSRP: ${cell.cellSignalStrength.rsrp}") + logCell("DBM: ${cell.cellSignalStrength.dbm}") + logCell("STATUS: ${cell.cellConnectionStatus}") + logCell("") + } + + is CellInfoNr -> { + logDetected("NR") + } + + is CellInfoTdscdma -> { + logDetected("TDSCDMA") + } + + is CellInfoWcdma -> { + logDetected("WCDMA") + } + } } } - } + }) } @SuppressLint("SimpleDateFormat", "SetTextI18n") @@ -121,4 +139,4 @@ class MainActivity : AppCompatActivity() { cellView.addView(msg) Log.d("NETMON", text) } -} \ No newline at end of file +} -- cgit v1.2.3