Fix duplicate

Signed-off-by: Mario Danic <mario@lovelyhq.com>
This commit is contained in:
Mario Danic 2020-03-22 19:43:55 +01:00
parent 84cb7cc45a
commit 4b12ede79e
No known key found for this signature in database
GPG Key ID: CDE0BBD2738C4CC0
2 changed files with 27 additions and 9 deletions

View File

@ -39,8 +39,8 @@ android {
targetSdkVersion 28
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
versionCode 133
versionName "8.0.6"
versionCode 134
versionName "8.0.7"
flavorDimensions "default"
renderscriptTargetApi 19

View File

@ -194,6 +194,8 @@ class ChatController(args: Bundle) : BaseController(args), MessagesListAdapter
var lobbyTimerHandler: Handler? = null
val roomJoined: Boolean = false
var pastPreconditionFailed = false
var futurePreconditionFailed = false
init {
setHasOptionsMenu(true)
@ -471,8 +473,6 @@ class ChatController(args: Bundle) : BaseController(args), MessagesListAdapter
// we're starting
if (TextUtils.isEmpty(roomToken)) {
handleFromNotification()
} else {
getRoomInfo()
}
}
}
@ -529,11 +529,25 @@ class ChatController(args: Bundle) : BaseController(args), MessagesListAdapter
lobbyView?.visibility = View.GONE
messagesListView?.visibility = View.VISIBLE
messageInput?.visibility = View.VISIBLE
if (isFirstMessagesProcessing && pastPreconditionFailed) {
pastPreconditionFailed = false
pullChatMessages(0)
} else if (futurePreconditionFailed) {
futurePreconditionFailed = false
pullChatMessages(1)
}
}
} else {
lobbyView?.visibility = View.GONE
messagesListView?.visibility = View.VISIBLE
messageInput?.visibility = View.VISIBLE
if (isFirstMessagesProcessing && pastPreconditionFailed) {
pastPreconditionFailed = false
pullChatMessages(0)
} else if (futurePreconditionFailed) {
futurePreconditionFailed = false
pullChatMessages(1)
}
}
}
@ -913,7 +927,7 @@ class ChatController(args: Bundle) : BaseController(args), MessagesListAdapter
}
if (currentConversation != null && currentConversation!!.shouldShowLobby(conversationUser)) {
return
//return
}
val fieldMap = HashMap<String, Int>()
@ -964,13 +978,15 @@ class ChatController(args: Bundle) : BaseController(args), MessagesListAdapter
override fun onNext(response: Response<*>) {
if (response.code() == 304) {
pullChatMessages(1)
} else if (response.code() == 412) {
futurePreconditionFailed = true
} else {
processMessages(response, true, finalTimeout)
}
}
override fun onError(e: Throwable) {
}
override fun onComplete() {
@ -983,7 +999,6 @@ class ChatController(args: Bundle) : BaseController(args), MessagesListAdapter
ApiUtils.getUrlForChat(conversationUser?.baseUrl, roomToken), fieldMap)
?.subscribeOn(Schedulers.io())
?.observeOn(AndroidSchedulers.mainThread())
?.retry(3) { observable -> inConversation && !wasDetached }
?.takeWhile { observable -> inConversation && !wasDetached }
?.subscribe(object : Observer<Response<*>> {
override fun onSubscribe(d: Disposable) {
@ -991,11 +1006,14 @@ class ChatController(args: Bundle) : BaseController(args), MessagesListAdapter
}
override fun onNext(response: Response<*>) {
processMessages(response, false, 0)
if (response.code() == 412) {
pastPreconditionFailed = true
} else {
processMessages(response, false, 0)
}
}
override fun onError(e: Throwable) {
}
override fun onComplete() {