package Ġuni . b rem en . condition recorder . bit al ino Ċ Ċ import Ġandroid . bluetooth . Bluetooth Device Ċ import Ġandroid . content . Broadcast Receiver Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . content . Intent Filter Ċ import Ġandroid . util . Log Ċ import Ġinfo . pl ux . pl ux api . B TH Device Scan Ċ import Ġinfo . pl ux . pl ux api . Constants Ċ import Ġio . reactivex . Scheduler Ċ import Ġuni . b rem en . condition recorder . Bluetooth Device Discovery Ċ Ċ class ĠBIT al ino Discovery ( private Ġval Ġcontext : ĠContext ) Ġ: ĠBluetooth Device Discovery () Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġb th Device Scan Ġ= ĠB TH Device Scan ( context ) ĊĊĠĠĠ Ġprivate Ġval Ġscan Devices Update Receiver Ġ= Ġobject Ġ: ĠBroadcast Receiver () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Receive ( context : ĠContext , Ġintent : ĠIntent ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġaction Ġ= Ġintent . action ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( action Ġ== ĠConstants . ACTION _ MESSAGE _ SCAN ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbluetooth Device Ġ= Ġintent . get Parcelable Extra < Bluetooth Device >( Constants . EXTRA _ DEVICE _ SCAN ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( bluetooth Device Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Device ( bluetooth Device ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" found Ġbit al ino Ġdevice : Ġ$ bluetooth Device ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonStart () Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . register Receiver ( scan Devices Update Receiver , ĠIntent Filter ( Constants . ACTION _ MESSAGE _ SCAN )) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġb th Device Scan . do Discovery () ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠonError ( e ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonComplete () Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġb th Device Scan . stop Scan () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġb th Device Scan . close Scan Receiver () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . unregister Receiver ( scan Devices Update Receiver ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . w ( TAG , Ġ" failed Ġto Ġstop Ġscan : Ġ${ e . message }") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġconst Ġval ĠTAG Ġ= Ġ" BIT al ino Discovery " ĊĊĠĠĠ Ġ} Ċ Ċ }