Bug fix: save java peripheral object in goOnConnect().
This commit is contained in:
parent
57f19407dd
commit
56813159c4
|
@ -277,7 +277,7 @@ func goOnScan(cname, cid *C.char, rssi C.int, dev C.jobject) {
|
||||||
func goOnConnect(p C.jobject, cid *C.char) {
|
func goOnConnect(p C.jobject, cid *C.char) {
|
||||||
id := C.GoString(cid)
|
id := C.GoString(cid)
|
||||||
|
|
||||||
peripheral := gBLE.retrievePeripheral(id)
|
peripheral := gBLE.retrievePeripheral(id, p)
|
||||||
|
|
||||||
if peripheral.peripheral == 0 {
|
if peripheral.peripheral == 0 {
|
||||||
log.Printf("goOnConnect(): peripheral == null")
|
log.Printf("goOnConnect(): peripheral == null")
|
||||||
|
@ -371,15 +371,22 @@ func goOnCharacteristicChanged(cid, ccuuid *C.char, char C.jobject, cvalue *C.ch
|
||||||
|
|
||||||
// internal convenience functions
|
// internal convenience functions
|
||||||
|
|
||||||
func (b *BLE) retrievePeripheral(id string) Peripheral {
|
func (b *BLE) retrievePeripheral(id string, devs ...C.jobject) Peripheral {
|
||||||
|
var dev C.jobject
|
||||||
|
if len(devs) > 0 {
|
||||||
|
dev = devs[0]
|
||||||
|
}
|
||||||
|
|
||||||
found := false
|
found := false
|
||||||
var peripheral Peripheral
|
var peripheral Peripheral
|
||||||
|
|
||||||
gBLE.peripherals.Lock()
|
gBLE.peripherals.Lock()
|
||||||
for _, item := range gBLE.peripherals.items {
|
for i, item := range gBLE.peripherals.items {
|
||||||
if item.p.Identifier == id {
|
if item.p.Identifier == id {
|
||||||
peripheral = item.p
|
peripheral = item.p
|
||||||
|
peripheral.peripheral = dev
|
||||||
found = true
|
found = true
|
||||||
|
gBLE.peripherals.items[i].p = peripheral
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user