Ошибка Suspend functions cannot be made Composable при попытке скачать файл
При попытке скачать файл, получаю ошибку:
Suspend functions cannot be made Composable
Как можно поправить?
@Composable
suspend fun CheckVerMain(): File? {
val context = LocalContext.current
val retrofit = RetrofitProvider.getInstance().create(CheckVerService::class.java)
return try {
val requestBody = retrofit.downloadFile()
val file = requestBody.byteStream().toContent(context)
file
} catch (e: Exception) {
Log.d("res", "ERROR DOWNLOAD = ${e.printStackTrace()}")
null
}
}
private fun InputStream.toContent(context: Context): File {
use {
val file = File(context.cacheDir, "book.epub")
FileOutputStream(file).use { output ->
val buffer = ByteArray(4 * 1024)
var read: Int
while (read(buffer).also { read = it } != -1) {
output.write(buffer, 0, read)
}
output.flush()
}
return file
}
}