mirror of
https://github.com/nextcloud/talk-android
synced 2025-07-17 01:35:03 +01:00
Fix an issue of sending multiple of the same message
Signed-off-by: Mario Danic <mario@lovelyhq.com>
This commit is contained in:
parent
220a4b292d
commit
d18f65ad0c
@ -396,7 +396,7 @@ public class ChatController extends BaseController implements MessagesListAdapte
|
|||||||
});
|
});
|
||||||
|
|
||||||
messageInputView.setInputListener(input -> {
|
messageInputView.setInputListener(input -> {
|
||||||
sendMessage(input, 1);
|
sendMessage(input);
|
||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -574,7 +574,7 @@ public class ChatController extends BaseController implements MessagesListAdapte
|
|||||||
void sendHello() {
|
void sendHello() {
|
||||||
if (!isHelloClicked) {
|
if (!isHelloClicked) {
|
||||||
isHelloClicked = true;
|
isHelloClicked = true;
|
||||||
sendMessage(getResources().getString(R.string.nc_hello) + " 👋", 1);
|
sendMessage(getResources().getString(R.string.nc_hello) + " 👋");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -672,63 +672,56 @@ public class ChatController extends BaseController implements MessagesListAdapte
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void sendMessage(CharSequence message, int attempt) {
|
private void sendMessage(CharSequence message) {
|
||||||
if (attempt < 4) {
|
|
||||||
|
|
||||||
ncApi.sendChatMessage(credentials, ApiUtils.getUrlForChat(baseUrl, roomToken), message, conversationUser
|
ncApi.sendChatMessage(credentials, ApiUtils.getUrlForChat(baseUrl, roomToken), message, conversationUser
|
||||||
.getDisplayName())
|
.getDisplayName())
|
||||||
.subscribeOn(Schedulers.newThread())
|
.subscribeOn(Schedulers.newThread())
|
||||||
.observeOn(AndroidSchedulers.mainThread())
|
.observeOn(AndroidSchedulers.mainThread())
|
||||||
.subscribe(new Observer<GenericOverall>() {
|
.subscribe(new Observer<GenericOverall>() {
|
||||||
@Override
|
@Override
|
||||||
public void onSubscribe(Disposable d) {
|
public void onSubscribe(Disposable d) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onNext(GenericOverall genericOverall) {
|
||||||
|
if (conversationUser.getUserId().equals("?") && TextUtils.isEmpty(myFirstMessage.toString())) {
|
||||||
|
myFirstMessage = message;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
if (popupBubble != null && popupBubble.isShown()) {
|
||||||
public void onNext(GenericOverall genericOverall) {
|
popupBubble.hide();
|
||||||
if (conversationUser.getUserId().equals("?") && TextUtils.isEmpty(myFirstMessage.toString())) {
|
}
|
||||||
myFirstMessage = message;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (popupBubble != null && popupBubble.isShown()) {
|
if (messagesListView != null) {
|
||||||
popupBubble.hide();
|
messagesListView.smoothScrollToPosition(0);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onError(Throwable e) {
|
||||||
|
if (e instanceof HttpException) {
|
||||||
|
int code = ((HttpException) e).code();
|
||||||
|
if (Integer.toString(code).startsWith("2")) {
|
||||||
|
if (conversationUser.getUserId().equals("?") && TextUtils.isEmpty(myFirstMessage.toString())) {
|
||||||
|
myFirstMessage = message;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (popupBubble != null && popupBubble.isShown()) {
|
||||||
|
popupBubble.hide();
|
||||||
|
}
|
||||||
|
|
||||||
if (messagesListView != null) {
|
|
||||||
messagesListView.smoothScrollToPosition(0);
|
messagesListView.smoothScrollToPosition(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onError(Throwable e) {
|
public void onComplete() {
|
||||||
if (e instanceof HttpException) {
|
|
||||||
int code = ((HttpException) e).code();
|
|
||||||
if (Integer.toString(code).startsWith("2")) {
|
|
||||||
if (conversationUser.getUserId().equals("?") && TextUtils.isEmpty(myFirstMessage.toString())) {
|
|
||||||
myFirstMessage = message;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (popupBubble != null && popupBubble.isShown()) {
|
}
|
||||||
popupBubble.hide();
|
});
|
||||||
}
|
|
||||||
|
|
||||||
messagesListView.smoothScrollToPosition(0);
|
|
||||||
} else {
|
|
||||||
sendMessage(message, attempt + 1);
|
|
||||||
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
sendMessage(message, attempt + 1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onComplete() {
|
|
||||||
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void pullChatMessages(int lookIntoFuture) {
|
private void pullChatMessages(int lookIntoFuture) {
|
||||||
|
Loading…
Reference in New Issue
Block a user