fix: prevent loading of messages from an other user
This commit is contained in:
parent
e02ea55179
commit
0fe3b666dd
2 changed files with 14 additions and 9 deletions
|
@ -32,11 +32,11 @@ public class ChatHistory {
|
|||
}
|
||||
|
||||
private void notifyHistoryLoaded() {
|
||||
historyListener.forEach(l -> l.onHistoryLoaded(history));
|
||||
historyListener.forEach(l -> l.onHistoryLoaded(user, history));
|
||||
}
|
||||
|
||||
private void notifyMessageAdded(Message message) {
|
||||
messageListener.forEach(l -> l.onMessageAdded(message));
|
||||
messageListener.forEach(l -> l.onMessageAdded(user, message));
|
||||
}
|
||||
|
||||
public void load() {
|
||||
|
@ -75,11 +75,11 @@ public class ChatHistory {
|
|||
}
|
||||
|
||||
public interface MessageAddedCallback {
|
||||
void onMessageAdded(Message message);
|
||||
void onMessageAdded(PeerUser user, Message message);
|
||||
}
|
||||
|
||||
public interface HistoryLoadedCallback {
|
||||
void onHistoryLoaded(ArrayList<Message> history);
|
||||
void onHistoryLoaded(PeerUser user, ArrayList<Message> history);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -33,6 +33,8 @@ public class ChatController implements Initializable {
|
|||
@FXML
|
||||
private VBox loadingContainer;
|
||||
|
||||
private PeerUser remoteUser;
|
||||
|
||||
public void addAttachmentListener(ButtonPressEvent listener) {
|
||||
chatFooterController.addAttachmentListener(listener);
|
||||
}
|
||||
|
@ -42,6 +44,7 @@ public class ChatController implements Initializable {
|
|||
}
|
||||
|
||||
public void setRemoteUser(PeerUser remoteUser) {
|
||||
this.remoteUser = remoteUser;
|
||||
this.chatHeaderController.setRemoteUser(remoteUser);
|
||||
setState(State.LOADING);
|
||||
|
||||
|
@ -51,13 +54,15 @@ public class ChatController implements Initializable {
|
|||
history.load();
|
||||
}
|
||||
|
||||
private void onHistoryLoaded(ArrayList<Message> messages) {
|
||||
messageList.setItems(FXCollections.observableArrayList(messages));
|
||||
messageList.scrollTo(messageList.getItems().size() - 1);
|
||||
setState(State.DONE);
|
||||
private void onHistoryLoaded(PeerUser user, ArrayList<Message> messages) {
|
||||
if (user.equals(remoteUser)) {
|
||||
messageList.setItems(FXCollections.observableArrayList(messages));
|
||||
messageList.scrollTo(messageList.getItems().size() - 1);
|
||||
setState(State.DONE);
|
||||
}
|
||||
}
|
||||
|
||||
private void onMessageAdded(Message message) {
|
||||
private void onMessageAdded(PeerUser user, Message message) {
|
||||
messageList.getItems().add(message);
|
||||
messageList.scrollTo(messageList.getItems().size() - 1);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue