mirror of
https://github.com/nextcloud/talk-android
synced 2025-06-20 12:09:45 +01:00
Refactor pullChatMessages request
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
This commit is contained in:
parent
21606bc9c1
commit
7065b18d07
@ -2234,7 +2234,11 @@ class ChatController(args: Bundle) :
|
||||
}
|
||||
}
|
||||
|
||||
fun pullChatMessages(lookIntoFuture: Boolean, setReadMarker: Boolean = true, xChatLastCommonRead: Int? = null) {
|
||||
fun pullChatMessages(
|
||||
lookIntoFuture: Boolean,
|
||||
setReadMarker: Boolean = true,
|
||||
xChatLastCommonRead: Int? = null
|
||||
) {
|
||||
if (!validSessionId()) {
|
||||
return
|
||||
}
|
||||
@ -2301,8 +2305,6 @@ class ChatController(args: Bundle) :
|
||||
apiVersion = ApiUtils.getChatApiVersion(conversationUser, intArrayOf(1))
|
||||
}
|
||||
|
||||
if (lookIntoFuture) {
|
||||
Log.d(TAG, "pullChatMessages - pullChatMessages[lookIntoFuture > 0] - calling")
|
||||
ncApi.pullChatMessages(
|
||||
credentials,
|
||||
ApiUtils.getUrlForChat(apiVersion, conversationUser?.baseUrl, roomToken),
|
||||
@ -2317,8 +2319,9 @@ class ChatController(args: Bundle) :
|
||||
|
||||
@Suppress("Detekt.TooGenericExceptionCaught")
|
||||
override fun onNext(response: Response<*>) {
|
||||
Log.d(TAG, "pullChatMessages - pullChatMessages[lookIntoFuture > 0] - got response")
|
||||
pullChatMessagesPending = false
|
||||
|
||||
if (lookIntoFuture) {
|
||||
if (response.code() == HTTP_CODE_NOT_MODIFIED) {
|
||||
Log.d(TAG, "pullChatMessages - quasi recursive call to pullChatMessages")
|
||||
pullChatMessages(true, setReadMarker, xChatLastCommonRead)
|
||||
@ -2327,48 +2330,19 @@ class ChatController(args: Bundle) :
|
||||
} else {
|
||||
processMessagesResponse(response, true)
|
||||
}
|
||||
|
||||
processExpiredMessages()
|
||||
}
|
||||
|
||||
override fun onError(e: Throwable) {
|
||||
Log.e(TAG, "pullChatMessages - pullChatMessages[lookIntoFuture > 0] - ERROR", e)
|
||||
pullChatMessagesPending = false
|
||||
}
|
||||
|
||||
override fun onComplete() {
|
||||
pullChatMessagesPending = false
|
||||
}
|
||||
})
|
||||
} else {
|
||||
Log.d(TAG, "pullChatMessages - pullChatMessages[lookIntoFuture <= 0] - calling")
|
||||
ncApi.pullChatMessages(
|
||||
credentials,
|
||||
ApiUtils.getUrlForChat(apiVersion, conversationUser?.baseUrl, roomToken),
|
||||
fieldMap
|
||||
)
|
||||
?.subscribeOn(Schedulers.io())
|
||||
?.observeOn(AndroidSchedulers.mainThread())
|
||||
?.subscribe(object : Observer<Response<*>> {
|
||||
override fun onSubscribe(d: Disposable) {
|
||||
disposables.add(d)
|
||||
}
|
||||
|
||||
@Suppress("Detekt.TooGenericExceptionCaught")
|
||||
override fun onNext(response: Response<*>) {
|
||||
Log.d(TAG, "pullChatMessages - pullChatMessages[lookIntoFuture <= 0] - got response")
|
||||
pullChatMessagesPending = false
|
||||
if (response.code() == HTTP_CODE_PRECONDITION_FAILED) {
|
||||
pastPreconditionFailed = true
|
||||
} else {
|
||||
processMessagesResponse(response, false)
|
||||
}
|
||||
}
|
||||
|
||||
processExpiredMessages()
|
||||
}
|
||||
|
||||
override fun onError(e: Throwable) {
|
||||
Log.e(TAG, "pullChatMessages - pullChatMessages[lookIntoFuture <= 0] - ERROR", e)
|
||||
Log.e(TAG, "pullChatMessages - pullChatMessages ERROR", e)
|
||||
pullChatMessagesPending = false
|
||||
}
|
||||
|
||||
@ -2377,7 +2351,6 @@ class ChatController(args: Bundle) :
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
private fun processExpiredMessages() {
|
||||
fun deleteExpiredMessages() {
|
||||
|
Loading…
Reference in New Issue
Block a user