package com.aiosman.ravenow.utils import com.tencent.imsdk.v2.V2TIMCallback import com.tencent.imsdk.v2.V2TIMManager import com.tencent.imsdk.v2.V2TIMUserFullInfo import com.tencent.imsdk.v2.V2TIMValueCallback import kotlin.coroutines.suspendCoroutine object TrtcHelper { suspend fun loadUnreadCount(): Long { return suspendCoroutine { continuation -> V2TIMManager.getConversationManager() .getTotalUnreadMessageCount(object : V2TIMValueCallback { override fun onSuccess(t: Long?) { continuation.resumeWith(Result.success(t ?: 0)) } override fun onError(code: Int, desc: String?) { continuation.resumeWith(Result.failure(Exception("Error $code: $desc"))) } }); } } suspend fun updateTrtcProfile( avatar: String?, nickName: String? ) { val info = V2TIMUserFullInfo() nickName?.let { info.setNickname(it) } avatar?.let { info.faceUrl = it } return suspendCoroutine { continuation -> V2TIMManager.getInstance().setSelfInfo(info, object : V2TIMCallback { override fun onError(code: Int, desc: String?) { continuation.resumeWith(Result.failure(Exception("Error $code: $desc"))) } override fun onSuccess() { continuation.resumeWith(Result.success(Unit)) } }) } } }