@@ -22,15 +22,13 @@ import chat.rocket.common.RocketChatException
2222import chat.rocket.common.model.RoomType
2323import chat.rocket.common.model.User
2424import chat.rocket.common.model.roomTypeOf
25- import chat.rocket.core.internal.realtime .createDirectMessage
25+ import chat.rocket.core.internal.rest .createDirectMessage
2626import chat.rocket.core.internal.rest.me
2727import chat.rocket.core.internal.rest.show
2828import kotlinx.coroutines.withTimeout
2929import timber.log.Timber
3030import javax.inject.Inject
3131import javax.inject.Named
32- import kotlin.coroutines.resume
33- import kotlin.coroutines.suspendCoroutine
3432
3533class ChatRoomsPresenter @Inject constructor(
3634 private val view : ChatRoomsView ,
@@ -140,8 +138,11 @@ class ChatRoomsPresenter @Inject constructor(
140138 } else {
141139 retryIO(" createDirectMessage($name )" ) {
142140 withTimeout(10000 ) {
143- createDirectMessage(name)
144- FetchChatRoomsInteractor (client, dbManager).refreshChatRooms()
141+ try {
142+ client.createDirectMessage(name)
143+ } catch (ex: Exception ) {
144+ Timber .e(ex)
145+ }
145146 }
146147 }
147148 val fromTo = mutableListOf (myself.id, id).apply {
@@ -153,6 +154,8 @@ class ChatRoomsPresenter @Inject constructor(
153154 id
154155 }
155156
157+ FetchChatRoomsInteractor (client, dbManager).refreshChatRooms()
158+
156159 navigator.toChatRoom(
157160 chatRoomId = id,
158161 chatRoomName = roomName,
@@ -190,10 +193,4 @@ class ChatRoomsPresenter @Inject constructor(
190193 }
191194 return null
192195 }
193-
194- private suspend fun createDirectMessage (name : String ): Boolean = suspendCoroutine { cont ->
195- client.createDirectMessage(name) { success, _ ->
196- cont.resume(success)
197- }
198- }
199196}
0 commit comments