package altosui;
-import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
-import javax.swing.filechooser.FileNameExtensionFilter;
-import javax.swing.table.*;
import java.io.*;
-import java.util.*;
-import java.text.*;
-import java.util.prefs.*;
import java.util.concurrent.*;
-
-import libaltosJNI.*;
+import org.altusmetrum.altoslib_1.*;
public class AltosEepromDelete implements Runnable {
AltosEepromList flights;
private void DeleteLog (AltosEepromLog log)
throws IOException, InterruptedException, TimeoutException {
- if (flights.config_data.flight_log_max != 0) {
+ if (flights.config_data.flight_log_max != 0 || flights.config_data.log_format != 0) {
/* Devices with newer firmware can erase the
* flash blocks containing each flight
}
public void run () {
- if (remote)
- serial_line.start_remote();
-
success = false;
try {
+ if (remote)
+ serial_line.start_remote();
+
for (AltosEepromLog log : flights) {
- if (log.delete) {
+ if (log.selected) {
DeleteLog(log);
}
}
show_error (String.format("Connection to \"%s\" failed",
serial_line.device.toShortString()),
"Connection Failed");
+ } finally {
+ try {
+ if (remote)
+ serial_line.stop_remote();
+ } catch (InterruptedException ie) {
+ } finally {
+ serial_line.flush_output();
+ serial_line.close();
+ }
}
- if (remote)
- serial_line.stop_remote();
- serial_line.flush_output();
- serial_line.close();
if (listener != null) {
Runnable r = new Runnable() {
public void run() {