package Ġnet . mik soft . covid co fight . domain . ble Ċ Ċ import Ġandroid . bluetooth . Bluetooth Device Ċ import Ġandroid . bluetooth . Bluetooth Gatt Ċ import Ġandroid . bluetooth . Bluetooth GattCharacteristic Ċ import Ġandroid . content . Context Ċ import Ġnet . mik soft . covid co fight . domain . Entries Controller Ċ import Ġno . n ord ic semi . android . ble . B le Manager Ċ import Ġno . n ord ic semi . android . ble . B le Manager Callbacks Ċ import Ġno . n ord ic semi . android . ble . data . Data Ċ Ċ class ĠMy B le Manager ( context : ĠContext ) Ġ: ĊĠĠĠ ĠB le Manager < B le Manager Callbacks ? >( context ) Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġfirst Characteristic : ĠBluetooth GattCharacteristic ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġget Gatt Callback (): ĠB le Manager Gatt Callback Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠMy Manager Gatt Callback () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġinner Ġclass ĠMy Manager Gatt Callback Ġ: ĠB le Manager Gatt Callback () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġis Required Service Supported ( g att : ĠBluetooth Gatt ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġservice Ġ= Ġg att . getService ( Service Const . SERVICE _ UUID ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( service Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfirst Characteristic Ġ= Ġservice . get Characteristic ( Service Const . CHAR _ UUID ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfirst Characteristic Ġ!= Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġinitialize () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġread Characteristic ( first Characteristic ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Ġ{ Ġbluetooth Device : ĠBluetooth Device , Ġdata : ĠData Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdecoded Ġ= Ġdata . value ?. toString ( Charsets . UTF _ 8 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( decoded Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEnt ries Controller . log ( decoded ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠListener Controller . add Successfully Logged Device ( bluetooth Device ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. enqueue () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Device Disconnected () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfirst Characteristic Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ