Files
rider-pro-android-app/app/src/main/java/com/aiosman/ravenow/utils/TrtcHelper.kt

44 lines
1.5 KiB
Kotlin
Raw Normal View History

2024-11-17 20:07:42 +08:00
package com.aiosman.ravenow.utils
2024-09-27 21:29:30 +08:00
import com.tencent.imsdk.v2.V2TIMCallback
2024-09-27 21:29:30 +08:00
import com.tencent.imsdk.v2.V2TIMManager
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")))
}
});
}
}
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
}