This commit is contained in:
Mario Danic 2018-11-04 01:12:05 +01:00
parent 732a24692e
commit ec2557567c

View File

@ -504,7 +504,6 @@ public class ChatController extends BaseController implements MessagesListAdapte
protected void onDetach(@NonNull View view) {
super.onDetach(view);
if (conversationUser.hasSpreedCapabilityWithName("no-ping")) {
dispose();
wasDetached = true;
}
}
@ -572,6 +571,8 @@ public class ChatController extends BaseController implements MessagesListAdapte
private void joinRoomWithPassword() {
wasDetached = false;
if (currentCall == null) {
ncApi.joinRoom(credentials, ApiUtils.getUrlForSettingMyselfAsActiveParticipant(baseUrl, roomToken), roomPassword)
.subscribeOn(Schedulers.newThread())
@ -738,12 +739,13 @@ public class ChatController extends BaseController implements MessagesListAdapte
fieldMap.put("lastKnownMessageId", lastKnown);
}
if (!wasDetached) {
if (lookIntoFuture == 1) {
ncApi.pullChatMessages(credentials, ApiUtils.getUrlForChat(baseUrl, roomToken), fieldMap)
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.takeWhile(observable -> inChat)
.retry(3, observable -> inChat)
.takeWhile(observable -> inChat && !wasDetached)
.retry(3, observable -> inChat && !wasDetached)
.subscribe(new Observer<Response>() {
@Override
public void onSubscribe(Disposable d) {
@ -771,8 +773,8 @@ public class ChatController extends BaseController implements MessagesListAdapte
ApiUtils.getUrlForChat(baseUrl, roomToken), fieldMap)
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.retry(3, observable -> inChat)
.takeWhile(observable -> inChat)
.retry(3, observable -> inChat && !wasDetached)
.takeWhile(observable -> inChat && !wasDetached)
.subscribe(new Observer<Response>() {
@Override
public void onSubscribe(Disposable d) {
@ -796,6 +798,7 @@ public class ChatController extends BaseController implements MessagesListAdapte
});
}
}
}
private void processMessages(Response response, boolean isFromTheFuture) {
if (response.code() == 200) {