use of com.faforever.client.notification.ReportAction in project downlords-faf-client by FAForever.
the class FafServerAccessorImpl method onUIDNotExecuted.
@VisibleForTesting
protected void onUIDNotExecuted(Exception e) {
logger.error("UID.exe not executed", e);
if (e.getMessage() == null) {
return;
}
notificationService.addNotification(new ImmediateNotification(i18n.get("UIDNotExecuted"), e.getMessage(), Severity.ERROR, Collections.singletonList(new ReportAction(i18n, reportingService, e))));
}
use of com.faforever.client.notification.ReportAction in project downlords-faf-client by FAForever.
the class ReplayServiceImpl method runLiveReplay.
@Override
public void runLiveReplay(URI uri) {
logger.debug("Running replay from URL: {}", uri);
if (!uri.getScheme().equals(FAF_LIFE_PROTOCOL)) {
throw new IllegalArgumentException("Invalid protocol: " + uri.getScheme());
}
Map<String, String> queryParams = Splitter.on('&').trimResults().withKeyValueSeparator("=").split(uri.getQuery());
String gameType = queryParams.get("mod");
String mapName = noCatch(() -> decode(queryParams.get("map"), UTF_8.name()));
Integer gameId = Integer.parseInt(uri.getPath().split("/")[1]);
try {
URI replayUri = new URI(GPGNET_SCHEME, null, uri.getHost(), uri.getPort(), uri.getPath(), null, null);
gameService.runWithLiveReplay(replayUri, gameId, gameType, mapName).exceptionally(throwable -> {
notificationService.addNotification(new ImmediateNotification(i18n.get("errorTitle"), i18n.get("liveReplayCouldNotBeStarted"), Severity.ERROR, throwable, asList(new DismissAction(i18n), new ReportAction(i18n, reportingService, throwable))));
return null;
});
} catch (URISyntaxException e) {
throw new RuntimeException(e);
}
}
use of com.faforever.client.notification.ReportAction in project downlords-faf-client by FAForever.
the class JoinGameHelper method join.
public void join(Game game, String password, boolean ignoreRating) {
Player currentPlayer = playerService.getCurrentPlayer().orElseThrow(() -> new IllegalStateException("Player has not been set"));
int playerRating = RatingUtil.getRoundedGlobalRating(currentPlayer);
if (!preferencesService.isGamePathValid()) {
CompletableFuture<Path> gameDirectoryFuture = new CompletableFuture<>();
eventBus.post(new GameDirectoryChooseEvent(gameDirectoryFuture));
gameDirectoryFuture.thenAccept(path -> Optional.ofNullable(path).ifPresent(path1 -> join(game, password, ignoreRating)));
return;
}
if (!ignoreRating && (playerRating < game.getMinRating() || playerRating > game.getMaxRating())) {
showRatingOutOfBoundsConfirmation(playerRating, game, password);
return;
}
if (game.getPasswordProtected() && password == null) {
EnterPasswordController enterPasswordController = uiService.loadFxml("theme/enter_password.fxml");
enterPasswordController.setOnPasswordEnteredListener(this::join);
enterPasswordController.setGame(game);
enterPasswordController.setIgnoreRating(ignoreRating);
enterPasswordController.showPasswordDialog(StageHolder.getStage());
} else {
gameService.joinGame(game, password).exceptionally(throwable -> {
logger.warn("Game could not be joined", throwable);
notificationService.addNotification(new ImmediateNotification(i18n.get("errorTitle"), i18n.get("games.couldNotJoin"), ERROR, throwable, asList(new DismissAction(i18n), new ReportAction(i18n, reportingService, throwable))));
return null;
});
}
}
use of com.faforever.client.notification.ReportAction in project downlords-faf-client by FAForever.
the class ModDetailController method onInstallButtonClicked.
public void onInstallButtonClicked() {
installButton.setVisible(false);
modService.downloadAndInstallMod(modVersion, progressBar.progressProperty(), progressLabel.textProperty()).thenRun(() -> uninstallButton.setVisible(true)).exceptionally(throwable -> {
notificationService.addNotification(new ImmediateNotification(i18n.get("errorTitle"), i18n.get("modVault.installationFailed", modVersion.getDisplayName(), throwable.getLocalizedMessage()), Severity.ERROR, throwable, singletonList(new ReportAction(i18n, reportingService, throwable))));
return null;
});
}
use of com.faforever.client.notification.ReportAction in project downlords-faf-client by FAForever.
the class MapDetailController method onInstallButtonClicked.
public void onInstallButtonClicked() {
installButton.setVisible(false);
mapService.downloadAndInstallMap(map, progressBar.progressProperty(), progressLabel.textProperty()).thenRun(() -> setInstalled(true)).exceptionally(throwable -> {
notificationService.addNotification(new ImmediateNotification(i18n.get("errorTitle"), i18n.get("mapVault.installationFailed", map.getDisplayName(), throwable.getLocalizedMessage()), Severity.ERROR, throwable, singletonList(new ReportAction(i18n, reportingService, throwable))));
setInstalled(false);
return null;
});
}
Aggregations