mirror of
https://github.com/nextcloud/talk-android
synced 2025-07-15 16:55:03 +01:00
Fix #341
This commit is contained in:
parent
732a24692e
commit
ec2557567c
@ -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,62 +739,64 @@ public class ChatController extends BaseController implements MessagesListAdapte
|
||||
fieldMap.put("lastKnownMessageId", lastKnown);
|
||||
}
|
||||
|
||||
if (lookIntoFuture == 1) {
|
||||
ncApi.pullChatMessages(credentials, ApiUtils.getUrlForChat(baseUrl, roomToken), fieldMap)
|
||||
.subscribeOn(Schedulers.newThread())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.takeWhile(observable -> inChat)
|
||||
.retry(3, observable -> inChat)
|
||||
.subscribe(new Observer<Response>() {
|
||||
@Override
|
||||
public void onSubscribe(Disposable d) {
|
||||
disposableList.add(d);
|
||||
}
|
||||
if (!wasDetached) {
|
||||
if (lookIntoFuture == 1) {
|
||||
ncApi.pullChatMessages(credentials, ApiUtils.getUrlForChat(baseUrl, roomToken), fieldMap)
|
||||
.subscribeOn(Schedulers.newThread())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.takeWhile(observable -> inChat && !wasDetached)
|
||||
.retry(3, observable -> inChat && !wasDetached)
|
||||
.subscribe(new Observer<Response>() {
|
||||
@Override
|
||||
public void onSubscribe(Disposable d) {
|
||||
disposableList.add(d);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNext(Response response) {
|
||||
processMessages(response, true);
|
||||
}
|
||||
@Override
|
||||
public void onNext(Response response) {
|
||||
processMessages(response, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(Throwable e) {
|
||||
@Override
|
||||
public void onError(Throwable e) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onComplete() {
|
||||
pullChatMessages(1);
|
||||
}
|
||||
});
|
||||
@Override
|
||||
public void onComplete() {
|
||||
pullChatMessages(1);
|
||||
}
|
||||
});
|
||||
|
||||
} else {
|
||||
ncApi.pullChatMessages(credentials,
|
||||
ApiUtils.getUrlForChat(baseUrl, roomToken), fieldMap)
|
||||
.subscribeOn(Schedulers.newThread())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.retry(3, observable -> inChat)
|
||||
.takeWhile(observable -> inChat)
|
||||
.subscribe(new Observer<Response>() {
|
||||
@Override
|
||||
public void onSubscribe(Disposable d) {
|
||||
disposableList.add(d);
|
||||
}
|
||||
} else {
|
||||
ncApi.pullChatMessages(credentials,
|
||||
ApiUtils.getUrlForChat(baseUrl, roomToken), fieldMap)
|
||||
.subscribeOn(Schedulers.newThread())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.retry(3, observable -> inChat && !wasDetached)
|
||||
.takeWhile(observable -> inChat && !wasDetached)
|
||||
.subscribe(new Observer<Response>() {
|
||||
@Override
|
||||
public void onSubscribe(Disposable d) {
|
||||
disposableList.add(d);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNext(Response response) {
|
||||
processMessages(response, false);
|
||||
}
|
||||
@Override
|
||||
public void onNext(Response response) {
|
||||
processMessages(response, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(Throwable e) {
|
||||
@Override
|
||||
public void onError(Throwable e) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onComplete() {
|
||||
@Override
|
||||
public void onComplete() {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user