summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbt <bt@rctt.net>2026-06-08 16:45:04 +0200
committerbt <bt@rctt.net>2026-06-08 16:45:04 +0200
commit1f216fc3cfd3e3b70bcfb94b157ca253515881ab (patch)
tree6998a96a2b0b497950fc19d3b329dd0b0138b3d0
parent39dc7341c8f19ead0912e036fbf730b6db06b147 (diff)
downloadnetmon-1f216fc3cfd3e3b70bcfb94b157ca253515881ab.tar.gz
netmon-1f216fc3cfd3e3b70bcfb94b157ca253515881ab.zip
Add logger
-rw-r--r--app/src/main/java/net/rctt/netmon/Cell.kt11
-rw-r--r--app/src/main/java/net/rctt/netmon/CellLogger.kt23
-rw-r--r--app/src/main/java/net/rctt/netmon/MainActivity.kt2
3 files changed, 35 insertions, 1 deletions
diff --git a/app/src/main/java/net/rctt/netmon/Cell.kt b/app/src/main/java/net/rctt/netmon/Cell.kt
index f292109..90d6eda 100644
--- a/app/src/main/java/net/rctt/netmon/Cell.kt
+++ b/app/src/main/java/net/rctt/netmon/Cell.kt
@@ -43,7 +43,7 @@ class CellLogItem {
var type: String = ""
var lac: Int = 0
var cid: Long = 0
-
+
var description: String = "Unknown"
var latitude: Double = 0.0
var longitude: Double = 0.0
@@ -101,4 +101,13 @@ class CellLogItem {
fun valid(): Boolean {
return lac != CellInfo.UNAVAILABLE
}
+
+ fun serialize(): List<String> {
+ return listOf(
+ type,
+ lac.toString(),
+ cid.toString(),
+ power.toString(),
+ )
+ }
} \ No newline at end of file
diff --git a/app/src/main/java/net/rctt/netmon/CellLogger.kt b/app/src/main/java/net/rctt/netmon/CellLogger.kt
new file mode 100644
index 0000000..dadf3c9
--- /dev/null
+++ b/app/src/main/java/net/rctt/netmon/CellLogger.kt
@@ -0,0 +1,23 @@
+package net.rctt.netmon
+
+import com.jsoizo.kotlincsv.writer.CsvWriter
+import java.io.FileOutputStream
+import java.io.OutputStreamWriter
+
+class CellLogger {
+ val writer: CsvWriter = CsvWriter()
+ var file: FileOutputStream = FileOutputStream("/storage/emulated/0/log.csv", true)
+ var output: OutputStreamWriter = OutputStreamWriter(file)
+
+ fun write(cells: List<CellLogItem>) {
+ val strings = mutableListOf<List<String>>()
+
+ cells.forEach { cell ->
+ strings.add(cell.serialize())
+ }
+
+ val csv = writer.writeAll(strings)
+ output.write(csv)
+ output.flush()
+ }
+} \ No newline at end of file
diff --git a/app/src/main/java/net/rctt/netmon/MainActivity.kt b/app/src/main/java/net/rctt/netmon/MainActivity.kt
index 6556b6d..a63b220 100644
--- a/app/src/main/java/net/rctt/netmon/MainActivity.kt
+++ b/app/src/main/java/net/rctt/netmon/MainActivity.kt
@@ -13,6 +13,7 @@ import org.osmdroid.config.Configuration
class MainActivity : AppCompatActivity() {
val cellDb = CellDb()
+ val cellLogger = CellLogger()
val currentCells: HashMap<String, CellLogItem> = hashMapOf()
lateinit var bottomNav: BottomNavigationView
@@ -115,6 +116,7 @@ class MainActivity : AppCompatActivity() {
currentCells[id]?.update(cellInfo)
}
+ cellLogger.write(currentCells.values.toList())
scanFragment?.refresh(currentCells)
mapFragment?.refresh(currentCells)
}