Skip to content

Commit f314812

Browse files
committed
add BLEObservingReceiver to start observerService by intent
1 parent 413cf5a commit f314812

1 file changed

Lines changed: 42 additions & 0 deletions

File tree

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
package br.ufc.predetect.ble.receivers
2+
3+
import android.content.BroadcastReceiver
4+
import android.content.Context
5+
import android.content.Intent
6+
import android.util.Log
7+
import br.ufc.predetect.ble.constants.ACTION_START_OBSERVING_SERVICE
8+
import br.ufc.predetect.ble.constants.BLE_BUNDLE
9+
import br.ufc.predetect.ble.constants.LOG_TAG
10+
import br.ufc.predetect.ble.services.BLENetworkObserverService
11+
import br.ufc.predetect.ble.utils.createBeaconBundle
12+
import br.ufc.quixada.predetect.common.utils.TOKEN_OBSERVER
13+
import java.util.*
14+
15+
class BLEObservingReceiver : BroadcastReceiver() {
16+
17+
override fun onReceive(context: Context?, intent: Intent?) {
18+
context?.let { ctx ->
19+
intent?.action?.run {
20+
if (this == ACTION_START_OBSERVING_SERVICE) {
21+
val serviceIntent = Intent(context, BLENetworkObserverService::class.java)
22+
23+
val sleepTimeOneMinute: Long = 60_000
24+
val token = "token${UUID.randomUUID()}"
25+
26+
serviceIntent.putExtra(TOKEN_OBSERVER, token)
27+
28+
Log.d(LOG_TAG, "BLEObservingReceiver: $token")
29+
30+
val btMACsToObserve : List<String> = intent.getStringArrayListExtra("btMACsToObserve")
31+
val timeInMinutes : Int = intent.getIntExtra("timeInMinutes", 1)
32+
val maxRangeInMeters : Double = intent.getDoubleExtra("maxRangeInMeters", 10.0)
33+
34+
serviceIntent.putExtra(BLE_BUNDLE, createBeaconBundle(btMACsToObserve, timeInMinutes * sleepTimeOneMinute, maxRangeInMeters))
35+
36+
ctx.startService(serviceIntent)
37+
}
38+
}
39+
}
40+
}
41+
42+
}

0 commit comments

Comments
 (0)