Я использую Smack для загрузки аватара. Это занимает много времени и большую часть этого времени истекает (иногда даже 2 мин не достаточно). Есть ли способ, которым я могу улучшить это? Есть ли другой способ быстро загрузить аватар?
Я знаю, что у меня может быть только моя собственная служба http, обслуживающая аватары, но я не хочу go по этому маршруту прямо сейчас. Получение аватара VCard происходит очень быстро.
Я использую Smack 4.3.0, и журналы Smack находятся здесь: https://pastebin.com/dQbSEpmJ
Вот код, который я использую:
fun setPhoto(path: String) = viewModelScope.launch(Dispatchers.IO) {
try {
val file = File(path)
val vCardMgr = VCardManager.getInstanceFor(connection)
val vCard = vCardMgr.loadVCard()
vCard.setAvatar(Base64.encodeToString(file.readBytes(), Base64.DEFAULT), FileUtils.getMimeType(path))
vCardMgr.saveVCard(vCard)
} catch (e: Exception) {
launch(Dispatchers.Main){
Toast.makeText(chatApp.applicationContext, e.message, Toast.LENGTH_LONG).show()
}
}
}