only:refactoring: now `ProgramSelector.flashOpenbltSerialAutomatic` method knows previous calibrations #7357
This commit is contained in:
parent
a02fb0735c
commit
d1fa312d8e
|
@ -20,7 +20,6 @@ import static java.nio.file.StandardCopyOption.REPLACE_EXISTING;
|
|||
|
||||
public class CalibrationsBackuper {
|
||||
private static final Logging log = getLogging(CalibrationsBackuper.class);
|
||||
private static final String PREVIOUS_CALIBRATIONS_FILE_NAME = "prev_calibrations";
|
||||
|
||||
static Optional<CalibrationsInfo> readCalibrationsInfo(
|
||||
final BinaryProtocol binaryProtocol,
|
||||
|
@ -84,9 +83,10 @@ public class CalibrationsBackuper {
|
|||
}
|
||||
}
|
||||
|
||||
public static boolean backUpCurrentCalibrations(
|
||||
public static Optional<CalibrationsInfo> readAndBackupCurrentCalibrations(
|
||||
final PortResult ecuPort,
|
||||
final UpdateOperationCallbacks callbacks
|
||||
final UpdateOperationCallbacks callbacks,
|
||||
final String backupFileName
|
||||
) {
|
||||
return BinaryProtocolExecutor.executeWithSuspendedPortScanner(
|
||||
ecuPort.port,
|
||||
|
@ -96,21 +96,23 @@ public class CalibrationsBackuper {
|
|||
final Optional<CalibrationsInfo> calibrationsInfo = readCalibrationsInfo(binaryProtocol, callbacks);
|
||||
if (calibrationsInfo.isPresent()) {
|
||||
final CalibrationsInfo receivedCalibrations = calibrationsInfo.get();
|
||||
return backUpCalibrationsInfo(
|
||||
if (backUpCalibrationsInfo(
|
||||
binaryProtocol,
|
||||
receivedCalibrations,
|
||||
PREVIOUS_CALIBRATIONS_FILE_NAME,
|
||||
backupFileName,
|
||||
callbacks
|
||||
);
|
||||
} else {
|
||||
return false;
|
||||
)) {
|
||||
return calibrationsInfo;
|
||||
}
|
||||
}
|
||||
return Optional.empty();
|
||||
} catch (final Exception e) {
|
||||
log.error("Back up current calibrations failed:", e);
|
||||
callbacks.logLine("Back up current calibrations failed");
|
||||
return false;
|
||||
return Optional.empty();
|
||||
}
|
||||
}
|
||||
},
|
||||
Optional.empty()
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -23,13 +23,14 @@ import java.awt.event.ActionListener;
|
|||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
import java.util.function.Supplier;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static com.devexperts.logging.Logging.getLogging;
|
||||
import static com.rusefi.SerialPortScanner.SerialPortType.OpenBlt;
|
||||
import static com.rusefi.core.preferences.storage.PersistentConfiguration.getConfig;
|
||||
import static com.rusefi.maintenance.CalibrationsBackuper.backUpCurrentCalibrations;
|
||||
import static com.rusefi.maintenance.CalibrationsBackuper.readAndBackupCurrentCalibrations;
|
||||
import static com.rusefi.maintenance.UpdateMode.*;
|
||||
import static com.rusefi.ui.util.UiUtils.trueLayout;
|
||||
|
||||
|
@ -211,10 +212,17 @@ public class ProgramSelector {
|
|||
return newPorts;
|
||||
}
|
||||
|
||||
private static final String PREVIOUS_CALIBRATIONS_FILE_NAME = "prev_calibrations";
|
||||
|
||||
public static void flashOpenbltSerialAutomatic(JComponent parent, PortResult ecuPort, UpdateOperationCallbacks callbacks) {
|
||||
AutoupdateUtil.assertNotAwtThread();
|
||||
|
||||
if (!backUpCurrentCalibrations(ecuPort, callbacks)) {
|
||||
final Optional<CalibrationsInfo> prevCalibrations = readAndBackupCurrentCalibrations(
|
||||
ecuPort,
|
||||
callbacks,
|
||||
PREVIOUS_CALIBRATIONS_FILE_NAME
|
||||
);
|
||||
if (prevCalibrations.isEmpty()) {
|
||||
callbacks.logLine("Failed to back up current calibrations...");
|
||||
callbacks.error();
|
||||
return;
|
||||
|
|
Loading…
Reference in New Issue