Skip to content

Commit

Permalink
Fix map image and status image change
Browse files Browse the repository at this point in the history
  • Loading branch information
Sheikah45 committed Nov 15, 2020
1 parent 2f537b1 commit 09a35d1
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 22 deletions.
46 changes: 25 additions & 21 deletions src/main/java/com/faforever/client/chat/ChatUserService.java
Original file line number Diff line number Diff line change
Expand Up @@ -63,52 +63,56 @@ public void populateClan(ChatChannelUser chatChannelUser) {
public void populateAvatar(ChatChannelUser chatChannelUser) {
if (chatChannelUser.getAvatar().isEmpty()) {
chatChannelUser.getPlayer()
.ifPresent(player -> Platform.runLater(() -> {
.ifPresent(player -> {
Image avatar;
if (!Strings.isNullOrEmpty(player.getAvatarUrl())) {
chatChannelUser.setAvatar(avatarService.loadAvatar(player.getAvatarUrl()));
avatar = avatarService.loadAvatar(player.getAvatarUrl());
} else {
chatChannelUser.setAvatar(null);
avatar = null;
}
}));
Platform.runLater(() -> {
chatChannelUser.setAvatar(avatar);
});
});
}
}

public void populateCountry(ChatChannelUser chatChannelUser) {
if (chatChannelUser.getCountryFlag().isEmpty()) {
chatChannelUser.getPlayer()
.ifPresent(player -> Platform.runLater(() -> {
.ifPresent(player -> {
Optional<Image> countryFlag = countryFlagService.loadCountryFlag(player.getCountry());
if (countryFlag.isPresent()) {
chatChannelUser.setCountryFlag(countryFlag.get());
} else {
chatChannelUser.setCountryFlag(null);
}
chatChannelUser.setCountryName(i18n.getCountryNameLocalized(player.getCountry()));
}));
Platform.runLater(() -> {
chatChannelUser.setCountryFlag(countryFlag.orElse(null));
chatChannelUser.setCountryName(i18n.getCountryNameLocalized(player.getCountry()));
});
});
}
}

public void populateGameStatus(ChatChannelUser chatChannelUser) {
chatChannelUser.getPlayer()
.ifPresent(player -> Platform.runLater(() -> {
.ifPresent(player -> {
PlayerStatus status = player.getStatus();
Image playerStatusImage = switch (status) {
case HOSTING -> uiService.getThemeImage(UiService.CHAT_LIST_STATUS_HOSTING);
case LOBBYING -> uiService.getThemeImage(UiService.CHAT_LIST_STATUS_LOBBYING);
case PLAYING -> uiService.getThemeImage(UiService.CHAT_LIST_STATUS_PLAYING);
default -> null;
};
chatChannelUser.setStatusTooltipText(i18n.get(status.getI18nKey()));
chatChannelUser.setStatusImage(playerStatusImage);

Image mapImage;
if (status != PlayerStatus.IDLE) {
chatChannelUser.setMapImage(mapService.loadPreview(player.getGame().getMapFolderName(), PreviewSize.SMALL));
mapImage = mapService.loadPreview(player.getGame().getMapFolderName(), PreviewSize.SMALL);
} else {
chatChannelUser.setMapImage(null);
mapImage = null;
}

chatChannelUser.setStatus(status);
}));
Platform.runLater(() -> {
chatChannelUser.setStatusTooltipText(i18n.get(status.getI18nKey()));
chatChannelUser.setStatusImage(playerStatusImage);
chatChannelUser.setMapImage(mapImage);
chatChannelUser.setStatus(status);
});
});
}

@Subscribe
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -206,14 +206,14 @@ private void updateGameDataForPlayer(Game game, Player player) {

if (!playersByGame.get(game.getId()).contains(player)) {
player.setGame(game);
updatePlayerChatUsers(player);
playersByGame.get(game.getId()).add(player);
if (player.getSocialStatus() == FRIEND
&& game.getStatus() == GameStatus.OPEN
&& game.getGameType() != GameType.MATCHMAKER) {
eventBus.post(new FriendJoinedGameEvent(player, game));
}
}
updatePlayerChatUsers(player);
}


Expand Down

0 comments on commit 09a35d1

Please sign in to comment.