Я наконец-то понял это. Я рисую черные квадраты на растровом изображении, каждый раз, когда мл-комплект находит азте c -код на растровом изображении в координатах, заданных набором firebase ml, и затем повторяю процесс
/**
* recurrently analyzes the data from the bitmap it first checks weather we have any codes in bitmap if we have it adds them to result
* then it invokes function that paints black squere in position of the code and scans it one more time
* - it is a workaround for limitation of ma kit that it enables to scan no more than 10 picture at a time
* */
tailrec suspend fun getAllCodes (
bitMap: Bitmap,
listPrim: List<FirebaseVisionBarcode>,
canvas: Canvas
) : List<FirebaseVisionBarcode> {
val newList = fromBitMapToBarcodeImages (bitMap)
addBlackSquareInCodePlace(bitMap,newList,canvas)
if (newList.isEmpty()) {
return listPrim.union(newList).toList()
}
//executed if new list is not empty
return getAllCodes (bitMap, listPrim.union(newList).toList(),canvas)
}
/**
*adds a black square in place of a scanned code and gives back midified bitmap
* */
suspend fun addBlackSquareInCodePlace(
bitMap: Bitmap,
listOfBarCodeData: List<FirebaseVisionBarcode>,
canvas: Canvas
) : Bitmap{
pushBitmapToDrive(bitMap,"aswa"+ listOfBarCodeData.size,"1r6peFVJfcXM0KCDJUt-_QNP_RS8JAl65")
listOfBarCodeData.forEach {
it.boundingBox?.let { it1 -> canvas.drawRect(it1,paint) };
}
return bitMap
}
.