Skip to content
Snippets Groups Projects
Commit f137076e authored by Andreas Schildbach's avatar Andreas Schildbach
Browse files

UpdateClockJob, ScannerFragment: Apply Bluetooth MAC filter for CA:4D:10 prefix.

parent 33d02845
No related branches found
No related tags found
No related merge requests found
...@@ -24,6 +24,8 @@ package de.ccc.events.badge.card10 ...@@ -24,6 +24,8 @@ package de.ccc.events.badge.card10
import java.util.* import java.util.*
const val CARD10_BLUETOOTH_MAC_PREFIX = "CA:4D:10"
val GENERIC_ACCESS_SERVICE_UUID = UUID.fromString("00001800-0000-1000-8000-00805f9b34fb") val GENERIC_ACCESS_SERVICE_UUID = UUID.fromString("00001800-0000-1000-8000-00805f9b34fb")
val DEVICE_NAME_CHARACTERISTIC_UUID = UUID.fromString("00002a00-0000-1000-8000-00805f9b34fb") val DEVICE_NAME_CHARACTERISTIC_UUID = UUID.fromString("00002a00-0000-1000-8000-00805f9b34fb")
......
...@@ -29,6 +29,7 @@ import android.bluetooth.BluetoothGattCharacteristic ...@@ -29,6 +29,7 @@ import android.bluetooth.BluetoothGattCharacteristic
import android.content.Context import android.content.Context
import androidx.work.Worker import androidx.work.Worker
import androidx.work.WorkerParameters import androidx.work.WorkerParameters
import de.ccc.events.badge.card10.CARD10_BLUETOOTH_MAC_PREFIX
import de.ccc.events.badge.card10.CARD10_SERVICE_UUID import de.ccc.events.badge.card10.CARD10_SERVICE_UUID
import de.ccc.events.badge.card10.TIME_CHARACTERISTIC_UUID import de.ccc.events.badge.card10.TIME_CHARACTERISTIC_UUID
import java.nio.ByteBuffer import java.nio.ByteBuffer
...@@ -41,6 +42,7 @@ class UpdateClockJob(context: Context, workerParameters: WorkerParameters) : Wor ...@@ -41,6 +42,7 @@ class UpdateClockJob(context: Context, workerParameters: WorkerParameters) : Wor
override fun doWork(): Result { override fun doWork(): Result {
System.out.println("=== doWork() job started") System.out.println("=== doWork() job started")
for (device in bluetoothAdapter.bondedDevices) { for (device in bluetoothAdapter.bondedDevices) {
if (device.address.startsWith(CARD10_BLUETOOTH_MAC_PREFIX, true)) {
System.out.println("=== doWork() ${device}") System.out.println("=== doWork() ${device}")
var gatt: BluetoothGatt? = null var gatt: BluetoothGatt? = null
try { try {
...@@ -86,10 +88,11 @@ class UpdateClockJob(context: Context, workerParameters: WorkerParameters) : Wor ...@@ -86,10 +88,11 @@ class UpdateClockJob(context: Context, workerParameters: WorkerParameters) : Wor
x.printStackTrace() x.printStackTrace()
} finally { } finally {
gatt?.close(); gatt?.close();
System.out.println("=== doWork() job finished") }
} }
} }
System.out.println("=== doWork() job finished (success)")
return Result.success() return Result.success()
} }
} }
...@@ -40,7 +40,7 @@ import java.util.concurrent.CountDownLatch ...@@ -40,7 +40,7 @@ import java.util.concurrent.CountDownLatch
class MoodFragment : Fragment() { class MoodFragment : Fragment() {
// TODO pick from list of paired card10s, possibly present selection // TODO pick from list of paired card10s, possibly present selection
private val REMOTE_DEVICE_BLUETOOTH_MAC = "00:05:8B:44:02:03" private val REMOTE_DEVICE_BLUETOOTH_MAC = "CA:4D:10:44:02:03"
private lateinit var gatt: BluetoothGatt private lateinit var gatt: BluetoothGatt
private var rocketsCharacteristic: BluetoothGattCharacteristic? = null private var rocketsCharacteristic: BluetoothGattCharacteristic? = null
......
...@@ -36,6 +36,7 @@ import android.view.View ...@@ -36,6 +36,7 @@ import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import de.ccc.events.badge.card10.CARD10_BLUETOOTH_MAC_PREFIX
import de.ccc.events.badge.card10.R import de.ccc.events.badge.card10.R
import kotlinx.android.synthetic.main.scanner_fragment.* import kotlinx.android.synthetic.main.scanner_fragment.*
...@@ -47,8 +48,7 @@ class ScannerFragment : Fragment() { ...@@ -47,8 +48,7 @@ class ScannerFragment : Fragment() {
val callback = object : ScanCallback() { val callback = object : ScanCallback() {
override fun onScanResult(callbackType: Int, result: ScanResult) { override fun onScanResult(callbackType: Int, result: ScanResult) {
val device = result.device val device = result.device
if (device.name == null) if (device.address.startsWith(CARD10_BLUETOOTH_MAC_PREFIX, true)) {
return
listAdapter.put( listAdapter.put(
Device( Device(
btMac = device.address, btMac = device.address,
...@@ -58,6 +58,7 @@ class ScannerFragment : Fragment() { ...@@ -58,6 +58,7 @@ class ScannerFragment : Fragment() {
) )
} }
} }
}
val receiver = object : BroadcastReceiver() { val receiver = object : BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent) { override fun onReceive(context: Context, intent: Intent) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment