Предположу, что проблема может быть в том, что при вызове метода imageView.setImageBitmap(bitmap) изображение не отображается, потому что в коде не устанавливается LayoutParams для ImageView. В этом случае размеры ImageView не определены и установка изображения не может отобразить его на экране.
Попробуйте установить параметры макета в коде до установки изображения. Например, для установки размера можно использовать setMinimumWidth() и setMinimumHeight(), а для установки макета setLayoutParams().
Кроме того, убедитесь, что изображение успешно декодировано и что оно не равно null. Для этого вы можете использовать проверку bitmap != null.
Вот как может выглядеть код с установкой параметров макета:
val imageView: ImageView = findViewById(R.id.imageView)
val bitmap = BitmapFactory.decodeByteArray(buffer, 0, image)
if (bitmap != null) {
imageView.minimumWidth = bitmap.width
imageView.minimumHeight = bitmap.height
val params: ViewGroup.LayoutParams = ViewGroup.LayoutParams(bitmap.width, bitmap.height)
imageView.layoutParams = params
imageView.setImageBitmap(bitmap)
}
Если это не поможет, попробуйте добавить обработку исключений и посмотрите, возникают ли какие-либо ошибки.