Function

consume

Helper function to consume parts of [TransferableContent] in Android by splitting it to [ClipData.

ReceiveContentBasicSample

@OptIn(ExperimentalFoundationApi::class)
@Composable
fun ReceiveContentBasicSample() {
    val state = rememberTextFieldState()
    var images by remember { mutableStateOf<List<ImageBitmap>>(emptyList()) }
    Column {
        Row { images.forEach { Image(bitmap = it, contentDescription = null) } }
        BasicTextField(
            state = state,
            modifier =
                Modifier.contentReceiver { transferableContent ->
                    if (!transferableContent.hasMediaType(MediaType.Image)) {
                        return@contentReceiver transferableContent
                    }
                    val newImages = mutableListOf<ImageBitmap>()
                    transferableContent
                        .consume { item ->
                            // only consume this item if we can read an imageBitmap
                            item.readImageBitmap()?.let {
                                newImages += it
                                true
                            } ?: false
                        }
                        .also { images = newImages }
                },
        )
    }
}