Listar dispositivos BLE cercanos android

estoy empezando en el tema de Kotlin y necesito implementar un escáner de BLE devices para una app movil, pero estoy encontrando bastantes quebraderos de cabeza. En primer lugar dispongo de una funcion scan:

fun scan() {     if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {                     mBluetoothAdapter?.startLeScan(mLeScanCallback)     } else {          mLEScanner = mBluetoothAdapter!!.bluetoothLeScanner         mLEScanner!!.startScan(mScanCallback)     } } 

Tras la cual implemento un ScanCallback en el cual de momento estoy haciendo pruebas con dos nombres “a pelo” los cuales son Running Speed y EnvSens_Wearable, los cuales si se encuentran y a los que me permite conectarme correctamente y descubrir sus servicios correctamente, mi problema viene en el momento en el que quiero obtener la lista completa de todos los elementos escaneados en el proceso, desconozco si existe alguna lista o función que los pueda mostrar por defecto.

private val mScanCallback = object : ScanCallback() {     override fun onScanResult(callbackType: Int, result: ScanResult) {         mLeDevice = result.device          if(mLeDevice?.name == "Running Speed" || mLeDevice?.name == "EnvSens_Wearable"){             globalAdress = mLeDevice!!.address             globalName = mLeDevice!!.name             mLEScanner!!.stopScan(this)             broadcastUpdate(ACTION_BLESCAN_CALLBACK)         } else {              mLEScanner!!.stopScan(this)             broadcastUpdate(ACTION_DEVICES_NONE_FOUND)         }      } } 

He intentado crear una lista de BluetoothDevices en la que ir añadiendo los resultados del escaneado:

val mLeDevices: MutableList<BluetoothDevice>?= null 

y en el scancallback

mLeDevicesList.add(mLeDevice!!) 

Pero al contar los elementos de ésta con:

mLeDevicesList.count()  

Me retorna un null.

De manera que, en resumen, tengo dos cuestiones. ¿El resultado del escaneado de startScan(mScanCallback) se guarda en alguna lista que desconozco o existe alguna manera de obtener estos resultados de forma que no sea individual? En caso de que la anterior pregunta tenga una respuesta negativa, ¿Cómo crear una lista propia de la que posteriormente pueda obtener todos los resultados del escaneado?

Muchas gracias de antemano.