更新聊天
This commit is contained in:
@@ -22,7 +22,11 @@ import com.tencent.imsdk.v2.V2TIMCallback
|
||||
import com.tencent.imsdk.v2.V2TIMLogListener
|
||||
import com.tencent.imsdk.v2.V2TIMManager
|
||||
import com.tencent.imsdk.v2.V2TIMSDKConfig
|
||||
import com.tencent.imsdk.v2.V2TIMUserFullInfo
|
||||
import com.tencent.imsdk.v2.V2TIMValueCallback
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlin.coroutines.suspendCoroutine
|
||||
|
||||
|
||||
object AppState {
|
||||
var UserId: Int? = null
|
||||
@@ -60,24 +64,46 @@ object AppState {
|
||||
V2TIMManager.getInstance().initSDK(context, appConfig.trtcAppId, config)
|
||||
try {
|
||||
val sign = accountService.getMyTrtcSign()
|
||||
V2TIMManager.getInstance().login(
|
||||
sign.userId,
|
||||
sign.sig,
|
||||
object : V2TIMCallback {
|
||||
override fun onError(code: Int, desc: String?) {
|
||||
Log.e("V2TIMManager", "login failed: $code, $desc")
|
||||
}
|
||||
|
||||
override fun onSuccess() {
|
||||
Log.d("V2TIMManager", "login success")
|
||||
}
|
||||
}
|
||||
)
|
||||
loginToTrtc(sign.userId, sign.sig)
|
||||
updateTrtcUserProfile()
|
||||
} catch (e: Exception) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
suspend fun loginToTrtc(userId: String, userSig: String): Boolean {
|
||||
return suspendCoroutine { continuation ->
|
||||
V2TIMManager.getInstance().login(userId, userSig, object : V2TIMCallback {
|
||||
override fun onError(code: Int, desc: String?) {
|
||||
continuation.resumeWith(Result.failure(Exception("Login failed: $code, $desc")))
|
||||
}
|
||||
|
||||
override fun onSuccess() {
|
||||
continuation.resumeWith(Result.success(true))
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
suspend fun updateTrtcUserProfile() {
|
||||
val accountService: AccountService = AccountServiceImpl()
|
||||
val profile = accountService.getMyAccountProfile()
|
||||
val info = V2TIMUserFullInfo()
|
||||
info.setNickname(profile.nickName)
|
||||
info.faceUrl = profile.avatar
|
||||
info.selfSignature = profile.bio
|
||||
return suspendCoroutine { continuation ->
|
||||
V2TIMManager.getInstance().setSelfInfo(info, object : V2TIMCallback {
|
||||
override fun onError(code: Int, desc: String?) {
|
||||
continuation.resumeWith(Result.failure(Exception("Update user profile failed: $code, $desc")))
|
||||
}
|
||||
|
||||
override fun onSuccess() {
|
||||
continuation.resumeWith(Result.success(Unit))
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
fun ReloadAppState() {
|
||||
// 重置动态列表页面
|
||||
|
||||
Reference in New Issue
Block a user