2024-11-17 20:07:42 +08:00
|
|
|
package com.aiosman.ravenow.utils
|
2024-09-27 21:29:30 +08:00
|
|
|
|
2024-11-30 22:24:28 +08:00
|
|
|
import com.tencent.imsdk.v2.V2TIMCallback
|
2024-09-27 21:29:30 +08:00
|
|
|
import com.tencent.imsdk.v2.V2TIMManager
|
2024-11-30 22:24:28 +08:00
|
|
|
import com.tencent.imsdk.v2.V2TIMUserFullInfo
|
2024-09-27 21:29:30 +08:00
|
|
|
import com.tencent.imsdk.v2.V2TIMValueCallback
|
|
|
|
|
import kotlin.coroutines.suspendCoroutine
|
|
|
|
|
|
|
|
|
|
object TrtcHelper {
|
|
|
|
|
suspend fun loadUnreadCount(): Long {
|
|
|
|
|
return suspendCoroutine { continuation ->
|
|
|
|
|
V2TIMManager.getConversationManager()
|
|
|
|
|
.getTotalUnreadMessageCount(object : V2TIMValueCallback<Long> {
|
|
|
|
|
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")))
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}
|
2024-11-30 22:24:28 +08:00
|
|
|
|
|
|
|
|
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))
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
}
|
2024-09-27 21:29:30 +08:00
|
|
|
}
|