conflict fixed

This commit is contained in:
Awin Huang
2024-10-25 14:57:52 +08:00
14 changed files with 215 additions and 15 deletions

View File

@@ -173,6 +173,7 @@ class KirbyDevice(
Log.i("BleListener", "Char received: $payload")
val base64Payload = Base64.getEncoder().encodeToString(characteristic.value)
publishMeasurement(base64Payload)
// publishMeasurementAutoServer(measurement)
loggerDb.writeLog(measurement)
}
@@ -216,6 +217,50 @@ class KirbyDevice(
queue.add(request)
}
private fun publishMeasurementAutoServer(measurement: DecoderIaq.Measurement) {
// Read url from SharedPreferences
val sharedPref = context.getSharedPreferences(context.getString(R.string.app_name), Context.MODE_PRIVATE)
val url = sharedPref.getString(
"kirby_data_post_url",
context.getString(R.string.kirby_data_post_url_default)) ?: context.getString(R.string.kirby_data_post_url_default)
val accessKey = BuildConfig.API_KEY
if(url.isEmpty()) {
return
}
val eui = "0000${bleDevice.address.replace(":", "")}"
val postData = JSONObject()
try {
// Log.i("POST", "Transmitting for $eui: $payload")
postData.put("accessKey", "${accessKey}_fromAndroid")
postData.put("eui", eui)
postData.put("deviceId", measurement.deviceId)
postData.put("msgType", measurement.msgType)
postData.put("co2", measurement.co2)
postData.put("voc", measurement.voc)
postData.put("humidity", measurement.humidity)
postData.put("temperature", measurement.temperature)
postData.put("pressure", measurement.pressure)
postData.put("occupancy", measurement.occupancy)
postData.put("pm25", measurement.pm25)
postData.put("pm10", measurement.pm10)
} catch (e: JSONException) {
e.printStackTrace()
}
val request = JsonObjectRequest(
Request.Method.POST, url, postData,
{ response ->
Log.i("sendDataResponse", "Response is: $response")
}
) { error -> error.printStackTrace() }
queue.add(request)
}
private val measurements = ArrayList<Payload>()
private val maxMeasurements = 20