Code cleanup
This commit is contained in:
parent
0d0311fbfc
commit
bcf4ab1d47
|
@ -44,28 +44,28 @@ public class SetStopDateAction {
|
|||
|
||||
public CompletableFuture<Boolean> execute() {
|
||||
source.setCursor(Cursor.WAIT);
|
||||
DatePicker datePicker = new DatePicker();
|
||||
GridPane gridPane = new GridPane();
|
||||
var datePicker = new DatePicker();
|
||||
var gridPane = new GridPane();
|
||||
gridPane.setHgap(10);
|
||||
gridPane.setVgap(10);
|
||||
gridPane.setPadding(new Insets(20, 150, 10, 10));
|
||||
gridPane.add(new Label("Stop at"), 0, 0);
|
||||
gridPane.add(datePicker, 1, 0);
|
||||
gridPane.add(new Label("And then"), 0, 1);
|
||||
ToggleGroup toggleGroup = new ToggleGroup();
|
||||
RadioButton pauseButton = new RadioButton("pause recording");
|
||||
var toggleGroup = new ToggleGroup();
|
||||
var pauseButton = new RadioButton("pause recording");
|
||||
pauseButton.setSelected(model.getRecordUntilSubsequentAction() == PAUSE);
|
||||
pauseButton.setToggleGroup(toggleGroup);
|
||||
RadioButton removeButton = new RadioButton("remove model");
|
||||
var removeButton = new RadioButton("remove model");
|
||||
removeButton.setSelected(model.getRecordUntilSubsequentAction() == REMOVE);
|
||||
removeButton.setToggleGroup(toggleGroup);
|
||||
HBox row = new HBox();
|
||||
var row = new HBox();
|
||||
row.getChildren().addAll(pauseButton, removeButton);
|
||||
HBox.setMargin(pauseButton, new Insets(5));
|
||||
HBox.setMargin(removeButton, new Insets(5));
|
||||
gridPane.add(row, 1, 1);
|
||||
if (model.isRecordingTimeLimited()) {
|
||||
LocalDate localDate = LocalDate.ofInstant(model.getRecordUntil(), ZoneId.systemDefault());
|
||||
var localDate = LocalDate.ofInstant(model.getRecordUntil(), ZoneId.systemDefault());
|
||||
datePicker.setValue(localDate);
|
||||
}
|
||||
boolean userClickedOk = Dialogs.showCustomInput(source.getScene(), "Stop Recording at", gridPane);
|
||||
|
@ -73,7 +73,7 @@ public class SetStopDateAction {
|
|||
if (userClickedOk) {
|
||||
SubsequentAction action = pauseButton.isSelected() ? PAUSE : REMOVE;
|
||||
LOG.info("Stop at {} and {}", datePicker.getValue(), action);
|
||||
Instant stopAt = Instant.from(datePicker.getValue().atStartOfDay().atZone(ZoneId.systemDefault()));
|
||||
var stopAt = Instant.from(datePicker.getValue().atStartOfDay().atZone(ZoneId.systemDefault()));
|
||||
model.setRecordUntil(stopAt);
|
||||
model.setRecordUntilSubsequentAction(action);
|
||||
try {
|
||||
|
|
|
@ -143,7 +143,7 @@ public class RecordingsTab extends Tab implements TabSelectionListener, Shutdown
|
|||
TableColumn<JavaFxRecording, Instant> date = new TableColumn<>("Date");
|
||||
date.setId("date");
|
||||
date.setCellValueFactory(cdf -> {
|
||||
Instant instant = cdf.getValue().getStartDate();
|
||||
var instant = cdf.getValue().getStartDate();
|
||||
return new SimpleObjectProperty<>(instant);
|
||||
});
|
||||
date.setCellFactory(new DateTimeCellFactory<>());
|
||||
|
@ -175,15 +175,15 @@ public class RecordingsTab extends Tab implements TabSelectionListener, Shutdown
|
|||
table.addEventFilter(KeyEvent.KEY_PRESSED, this::onKeyPressed);
|
||||
scrollPane.setContent(table);
|
||||
|
||||
HBox spaceBox = new HBox(5);
|
||||
Label spaceLeftLabel = new Label("Space left on device");
|
||||
var spaceBox = new HBox(5);
|
||||
var spaceLeftLabel = new Label("Space left on device");
|
||||
spaceBox.getChildren().add(spaceLeftLabel);
|
||||
spaceLeft = new ProgressBar(0);
|
||||
spaceLeft.setPrefSize(200, 22);
|
||||
spaceFreeLabel = new Label();
|
||||
spaceFreeLabel.setFont(Font.font(11));
|
||||
StackPane stack = new StackPane(spaceLeft, spaceFreeLabel);
|
||||
Label spaceUsedLabel = new Label("Space used:");
|
||||
var stack = new StackPane(spaceLeft, spaceFreeLabel);
|
||||
var spaceUsedLabel = new Label("Space used:");
|
||||
spaceUsedValue = new Label();
|
||||
spaceBox.getChildren().addAll(stack, spaceUsedLabel, spaceUsedValue);
|
||||
HBox.setMargin(spaceLeftLabel, new Insets(2, 0, 0, 0));
|
||||
|
@ -191,7 +191,7 @@ public class RecordingsTab extends Tab implements TabSelectionListener, Shutdown
|
|||
HBox.setMargin(spaceUsedValue, new Insets(2, 0, 0, 0));
|
||||
BorderPane.setMargin(spaceBox, new Insets(5));
|
||||
|
||||
BorderPane root = new BorderPane();
|
||||
var root = new BorderPane();
|
||||
root.setPadding(new Insets(5));
|
||||
root.setTop(spaceBox);
|
||||
root.setCenter(scrollPane);
|
||||
|
@ -247,7 +247,7 @@ public class RecordingsTab extends Tab implements TabSelectionListener, Shutdown
|
|||
if (event.getButton() == MouseButton.PRIMARY && event.getClickCount() == 2) {
|
||||
Recording recording = table.getSelectionModel().getSelectedItem();
|
||||
if (recording != null) {
|
||||
State state = recording.getStatus();
|
||||
var state = recording.getStatus();
|
||||
if(state == FINISHED || state == RECORDING && config.getSettings().localRecording) {
|
||||
play(recording);
|
||||
}
|
||||
|
@ -281,7 +281,7 @@ public class RecordingsTab extends Tab implements TabSelectionListener, Shutdown
|
|||
});
|
||||
updateService.setOnFailed(event -> {
|
||||
LOG.info("Couldn't get list of recordings from recorder", event.getSource().getException());
|
||||
AutosizeAlert autosizeAlert = new AutosizeAlert(AlertType.ERROR, getTabPane().getScene());
|
||||
var autosizeAlert = new AutosizeAlert(AlertType.ERROR, getTabPane().getScene());
|
||||
autosizeAlert.setTitle("Whoopsie!");
|
||||
autosizeAlert.setHeaderText("Recordings not available");
|
||||
autosizeAlert.setContentText("An error occurred while retrieving the list of recordings");
|
||||
|
@ -300,7 +300,7 @@ public class RecordingsTab extends Tab implements TabSelectionListener, Shutdown
|
|||
spaceLeft.setProgress(free);
|
||||
double totalGiB = ((double) spaceTotal) / 1024 / 1024 / 1024;
|
||||
double freeGiB = ((double) spaceFree) / 1024 / 1024 / 1024;
|
||||
DecimalFormat df = new DecimalFormat("0.00");
|
||||
var df = new DecimalFormat("0.00");
|
||||
String tt = df.format(freeGiB) + " / " + df.format(totalGiB) + " GiB";
|
||||
spaceLeft.setTooltip(new Tooltip(tt));
|
||||
spaceFreeLabel.setText(tt);
|
||||
|
@ -367,7 +367,7 @@ public class RecordingsTab extends Tab implements TabSelectionListener, Shutdown
|
|||
}
|
||||
};
|
||||
ExecutorService executor = Executors.newSingleThreadExecutor(r -> {
|
||||
Thread t = new Thread(r);
|
||||
var t = new Thread(r);
|
||||
t.setDaemon(true);
|
||||
t.setName("RecordingsTab UpdateService");
|
||||
return t;
|
||||
|
@ -398,7 +398,7 @@ public class RecordingsTab extends Tab implements TabSelectionListener, Shutdown
|
|||
contextMenu.setAutoFix(true);
|
||||
|
||||
JavaFxRecording first = recordings.get(0);
|
||||
MenuItem openInPlayer = new MenuItem("Open in Player");
|
||||
var openInPlayer = new MenuItem("Open in Player");
|
||||
openInPlayer.setOnAction(e -> play(first));
|
||||
if (first.getStatus() == FINISHED || Config.getInstance().getSettings().localRecording) {
|
||||
contextMenu.getItems().add(openInPlayer);
|
||||
|
@ -408,62 +408,62 @@ public class RecordingsTab extends Tab implements TabSelectionListener, Shutdown
|
|||
contextMenu.getItems().add(openInPlayer);
|
||||
}
|
||||
|
||||
MenuItem openContactSheet = new MenuItem("Open contact sheet");
|
||||
var openContactSheet = new MenuItem("Open contact sheet");
|
||||
openContactSheet.setOnAction(e -> openContactSheet(first));
|
||||
openContactSheet.setDisable(first.getContactSheet().isEmpty());
|
||||
contextMenu.getItems().add(openContactSheet);
|
||||
|
||||
MenuItem stopRecording = new MenuItem("Stop Recording");
|
||||
var stopRecording = new MenuItem("Stop Recording");
|
||||
stopRecording.setOnAction(e -> stopRecording(recordings.stream().map(JavaFxRecording::getModel).collect(Collectors.toList())));
|
||||
if (recordings.stream().anyMatch(r -> r.getStatus() == RECORDING)) {
|
||||
contextMenu.getItems().add(stopRecording);
|
||||
}
|
||||
|
||||
MenuItem pauseRecording = new MenuItem("Pause Recording");
|
||||
var pauseRecording = new MenuItem("Pause Recording");
|
||||
pauseRecording.setOnAction(e -> pauseRecording(recordings.stream().map(JavaFxRecording::getModel).collect(Collectors.toList())));
|
||||
if (recordings.stream().anyMatch(r -> r.getStatus() == RECORDING)) {
|
||||
contextMenu.getItems().add(pauseRecording);
|
||||
}
|
||||
|
||||
MenuItem deleteRecording = new MenuItem("Delete");
|
||||
var deleteRecording = new MenuItem("Delete");
|
||||
deleteRecording.setOnAction(e -> delete(recordings));
|
||||
if (first.getStatus() == FINISHED || first.getStatus() == WAITING || first.getStatus() == FAILED || recordings.size() > 1) {
|
||||
contextMenu.getItems().add(deleteRecording);
|
||||
deleteRecording.setDisable(recordings.stream().allMatch(Recording::isPinned));
|
||||
}
|
||||
|
||||
MenuItem followModels = new MenuItem("Follow Model");
|
||||
var followModels = new MenuItem("Follow Model");
|
||||
followModels.setOnAction(e -> follow(recordings.stream().map(JavaFxRecording::getModel).collect(Collectors.toList())));
|
||||
followModels.setDisable(!recordings.stream().map(JavaFxRecording::getModel).allMatch(m -> m.getSite().supportsFollow() && m.getSite().credentialsAvailable()));
|
||||
contextMenu.getItems().add(followModels);
|
||||
|
||||
MenuItem openDir = new MenuItem("Open directory");
|
||||
var openDir = new MenuItem("Open directory");
|
||||
openDir.setOnAction(e -> onOpenDirectory(first));
|
||||
if (Config.getInstance().getSettings().localRecording) {
|
||||
contextMenu.getItems().add(openDir);
|
||||
}
|
||||
|
||||
MenuItem downloadRecording = new MenuItem("Download");
|
||||
var downloadRecording = new MenuItem("Download");
|
||||
downloadRecording.setOnAction(e -> download(first));
|
||||
if (!Config.getInstance().getSettings().localRecording && first.getStatus() == FINISHED) {
|
||||
contextMenu.getItems().add(downloadRecording);
|
||||
}
|
||||
|
||||
MenuItem notes = new MenuItem("Notes");
|
||||
var notes = new MenuItem("Notes");
|
||||
notes.setOnAction(e -> notes(first));
|
||||
contextMenu.getItems().add(notes);
|
||||
|
||||
if (first.isPinned()) {
|
||||
MenuItem unpinRecording = new MenuItem("Unpin");
|
||||
var unpinRecording = new MenuItem("Unpin");
|
||||
unpinRecording.setOnAction(e -> unpin(recordings));
|
||||
contextMenu.getItems().add(unpinRecording);
|
||||
} else {
|
||||
MenuItem pinRecording = new MenuItem("Pin");
|
||||
var pinRecording = new MenuItem("Pin");
|
||||
pinRecording.setOnAction(e -> pin(recordings));
|
||||
contextMenu.getItems().add(pinRecording);
|
||||
}
|
||||
|
||||
MenuItem rerunPostProcessing = new MenuItem("Rerun Post-Processing");
|
||||
var rerunPostProcessing = new MenuItem("Rerun Post-Processing");
|
||||
rerunPostProcessing.setOnAction(e -> triggerPostProcessing(recordings));
|
||||
contextMenu.getItems().add(rerunPostProcessing);
|
||||
rerunPostProcessing.setDisable(!recordings.stream().allMatch(Recording::canBePostProcessed));
|
||||
|
@ -481,7 +481,7 @@ public class RecordingsTab extends Tab implements TabSelectionListener, Shutdown
|
|||
}
|
||||
|
||||
private void stopRecording(List<Model> selectedModels) {
|
||||
boolean confirmed = true;
|
||||
var confirmed = true;
|
||||
if (Config.getInstance().getSettings().confirmationForDangerousActions) {
|
||||
int n = selectedModels.size();
|
||||
String plural = n > 1 ? "s" : "";
|
||||
|
@ -506,7 +506,7 @@ public class RecordingsTab extends Tab implements TabSelectionListener, Shutdown
|
|||
try {
|
||||
target = File.createTempFile("cs_", ".jpg");
|
||||
target.deleteOnExit();
|
||||
FileDownload download = new FileDownload(CamrecApplication.httpClient, p -> {
|
||||
var download = new FileDownload(CamrecApplication.httpClient, p -> {
|
||||
if (p == 100) {
|
||||
DesktopIntegration.open(target);
|
||||
}
|
||||
|
@ -554,7 +554,7 @@ public class RecordingsTab extends Tab implements TabSelectionListener, Shutdown
|
|||
List<Exception> exceptions = new ArrayList<>();
|
||||
try {
|
||||
for (JavaFxRecording javaFxRecording : recordings) {
|
||||
Recording rec = javaFxRecording.getDelegate();
|
||||
var rec = javaFxRecording.getDelegate();
|
||||
try {
|
||||
recorder.pin(rec);
|
||||
javaFxRecording.setPinned(true);
|
||||
|
@ -579,7 +579,7 @@ public class RecordingsTab extends Tab implements TabSelectionListener, Shutdown
|
|||
List<Exception> exceptions = new ArrayList<>();
|
||||
try {
|
||||
for (JavaFxRecording javaFxRecording : recordings) {
|
||||
Recording rec = javaFxRecording.getDelegate();
|
||||
var rec = javaFxRecording.getDelegate();
|
||||
try {
|
||||
recorder.unpin(rec);
|
||||
javaFxRecording.setPinned(false);
|
||||
|
@ -604,7 +604,7 @@ public class RecordingsTab extends Tab implements TabSelectionListener, Shutdown
|
|||
ensureKeyCodeIsLetterOrDigit(code);
|
||||
|
||||
// determine where to start looking for the next model
|
||||
int startAt = 0;
|
||||
var startAt = 0;
|
||||
if (table.getSelectionModel().getSelectedIndex() >= 0) {
|
||||
startAt = table.getSelectionModel().getSelectedIndex() + 1;
|
||||
if (startAt >= table.getItems().size()) {
|
||||
|
@ -645,7 +645,7 @@ public class RecordingsTab extends Tab implements TabSelectionListener, Shutdown
|
|||
}
|
||||
|
||||
private void onOpenDirectory(JavaFxRecording first) {
|
||||
File tsFile = first.getAbsoluteFile();
|
||||
var tsFile = first.getAbsoluteFile();
|
||||
GlobalThreadPool.submit(() -> DesktopIntegration.open(tsFile.getParent()));
|
||||
}
|
||||
|
||||
|
@ -665,10 +665,10 @@ public class RecordingsTab extends Tab implements TabSelectionListener, Shutdown
|
|||
private void download(Recording recording) {
|
||||
LOG.debug("Path {}", recording.getAbsoluteFile());
|
||||
String filename = proposeTargetFilename(recording);
|
||||
FileChooser chooser = new FileChooser();
|
||||
var chooser = new FileChooser();
|
||||
chooser.setInitialFileName(filename);
|
||||
if (config.getSettings().lastDownloadDir != null && !config.getSettings().lastDownloadDir.equals("")) {
|
||||
File dir = new File(config.getSettings().lastDownloadDir);
|
||||
var dir = new File(config.getSettings().lastDownloadDir);
|
||||
while (!dir.exists()) {
|
||||
dir = dir.getParentFile();
|
||||
}
|
||||
|
@ -689,7 +689,7 @@ public class RecordingsTab extends Tab implements TabSelectionListener, Shutdown
|
|||
} else {
|
||||
String downloadFilename = config.getSettings().downloadFilename;
|
||||
String fileSuffix = config.getSettings().ffmpegFileSuffix;
|
||||
PostProcessingContext ctx = new PostProcessingContext();
|
||||
var ctx = new PostProcessingContext();
|
||||
ctx.setRecording(recording);
|
||||
ctx.setConfig(config);
|
||||
return new DownloadPostprocessor().fillInPlaceHolders(downloadFilename, ctx) + '.' + fileSuffix;
|
||||
|
@ -697,16 +697,16 @@ public class RecordingsTab extends Tab implements TabSelectionListener, Shutdown
|
|||
}
|
||||
|
||||
private void startDownloadThread(File target, Recording recording) {
|
||||
Thread t = new Thread(() -> {
|
||||
var t = new Thread(() -> {
|
||||
try {
|
||||
String hlsBase = config.getServerUrl() + "/hls";
|
||||
if (recording.isSingleFile()) {
|
||||
URL url = new URL(hlsBase + '/' + recording.getId());
|
||||
FileDownload download = new FileDownload(CamrecApplication.httpClient, createDownloadListener(recording));
|
||||
var url = new URL(hlsBase + '/' + recording.getId());
|
||||
var download = new FileDownload(CamrecApplication.httpClient, createDownloadListener(recording));
|
||||
download.start(url, target);
|
||||
} else {
|
||||
URL url = new URL(hlsBase + '/' + recording.getId() + "/playlist.m3u8");
|
||||
RecordingDownload download = new RecordingDownload(CamrecApplication.httpClient);
|
||||
var url = new URL(hlsBase + '/' + recording.getId() + "/playlist.m3u8");
|
||||
var download = new RecordingDownload(CamrecApplication.httpClient);
|
||||
download.init(config, recording.getModel(), Instant.now(), Executors.newSingleThreadExecutor());
|
||||
LOG.info("Downloading {}", url);
|
||||
download.downloadFinishedRecording(url.toString(), target, createDownloadListener(recording), recording.getSizeInByte());
|
||||
|
@ -714,6 +714,10 @@ public class RecordingsTab extends Tab implements TabSelectionListener, Shutdown
|
|||
} catch (FileNotFoundException e) {
|
||||
showErrorDialog(ERROR_WHILE_DOWNLOADING_RECORDING, "The target file couldn't be created", e);
|
||||
LOG.error(ERROR_WHILE_DOWNLOADING_RECORDING, e);
|
||||
} catch (InterruptedException e) {
|
||||
Thread.currentThread().interrupt();
|
||||
showErrorDialog(ERROR_WHILE_DOWNLOADING_RECORDING, "The recording could not be downloaded", e);
|
||||
LOG.error(ERROR_WHILE_DOWNLOADING_RECORDING, e);
|
||||
} catch (Exception e) {
|
||||
showErrorDialog(ERROR_WHILE_DOWNLOADING_RECORDING, "The recording could not be downloaded", e);
|
||||
LOG.error(ERROR_WHILE_DOWNLOADING_RECORDING, e);
|
||||
|
@ -721,8 +725,7 @@ public class RecordingsTab extends Tab implements TabSelectionListener, Shutdown
|
|||
Platform.runLater(() -> {
|
||||
recording.setStatus(FINISHED);
|
||||
recording.setProgress(-1);
|
||||
RecordingStateChangedEvent evt = new RecordingStateChangedEvent(target, recording.getStatus(), recording.getModel(),
|
||||
recording.getStartDate());
|
||||
var evt = new RecordingStateChangedEvent(target, recording.getStatus(), recording.getModel(), recording.getStartDate());
|
||||
EventBusHolder.BUS.post(evt);
|
||||
});
|
||||
}
|
||||
|
@ -751,10 +754,10 @@ public class RecordingsTab extends Tab implements TabSelectionListener, Shutdown
|
|||
|
||||
private void showErrorDialog(final String title, final String msg, final List<Exception> exceptions) {
|
||||
Platform.runLater(() -> {
|
||||
AutosizeAlert autosizeAlert = new AutosizeAlert(AlertType.ERROR, getTabPane().getScene());
|
||||
var autosizeAlert = new AutosizeAlert(AlertType.ERROR, getTabPane().getScene());
|
||||
autosizeAlert.setTitle(title);
|
||||
autosizeAlert.setHeaderText(msg);
|
||||
StringBuilder contentText = new StringBuilder("On or more error(s) occurred:");
|
||||
var contentText = new StringBuilder("On or more error(s) occurred:");
|
||||
for (Exception exception : exceptions) {
|
||||
contentText.append("\n• ").append(exception.getLocalizedMessage());
|
||||
}
|
||||
|
@ -785,7 +788,7 @@ public class RecordingsTab extends Tab implements TabSelectionListener, Shutdown
|
|||
Recording r = recordings.get(0);
|
||||
msg = "Delete " + r.getModel().getName() + "/" + r.getStartDate() + " for good?";
|
||||
}
|
||||
AutosizeAlert confirm = new AutosizeAlert(AlertType.CONFIRMATION, msg, getTabPane().getScene(), YES, NO);
|
||||
var confirm = new AutosizeAlert(AlertType.CONFIRMATION, msg, getTabPane().getScene(), YES, NO);
|
||||
confirm.setTitle("Delete recording?");
|
||||
confirm.setHeaderText(msg);
|
||||
confirm.setContentText("");
|
||||
|
@ -834,9 +837,9 @@ public class RecordingsTab extends Tab implements TabSelectionListener, Shutdown
|
|||
Config.getInstance().getSettings().recordingsSortType = col.getSortType().toString();
|
||||
}
|
||||
int columns = table.getColumns().size();
|
||||
double[] columnWidths = new double[columns];
|
||||
String[] columnIds = new String[columns];
|
||||
for (int i = 0; i < columnWidths.length; i++) {
|
||||
var columnWidths = new double[columns];
|
||||
var columnIds = new String[columns];
|
||||
for (var i = 0; i < columnWidths.length; i++) {
|
||||
columnWidths[i] = table.getColumns().get(i).getWidth();
|
||||
columnIds[i] = table.getColumns().get(i).getId();
|
||||
}
|
||||
|
@ -867,8 +870,8 @@ public class RecordingsTab extends Tab implements TabSelectionListener, Shutdown
|
|||
private void restoreColumnOrder() {
|
||||
String[] columnIds = Config.getInstance().getSettings().recordingsColumnIds;
|
||||
ObservableList<TableColumn<JavaFxRecording, ?>> columns = table.getColumns();
|
||||
for (int i = 0; i < columnIds.length; i++) {
|
||||
for (int j = 0; j < table.getColumns().size(); j++) {
|
||||
for (var i = 0; i < columnIds.length; i++) {
|
||||
for (var j = 0; j < table.getColumns().size(); j++) {
|
||||
if (Objects.equals(columnIds[i], columns.get(j).getId())) {
|
||||
TableColumn<JavaFxRecording, ?> col = columns.get(j);
|
||||
columns.remove(j); // NOSONAR
|
||||
|
@ -881,7 +884,7 @@ public class RecordingsTab extends Tab implements TabSelectionListener, Shutdown
|
|||
private void restoreColumnWidths() {
|
||||
double[] columnWidths = Config.getInstance().getSettings().recordingsColumnWidths;
|
||||
if (columnWidths != null && columnWidths.length == table.getColumns().size()) {
|
||||
for (int i = 0; i < columnWidths.length; i++) {
|
||||
for (var i = 0; i < columnWidths.length; i++) {
|
||||
table.getColumns().get(i).setPrefWidth(columnWidths[i]);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue