1
0
mirror of https://github.com/arduino/Arduino.git synced 2025-02-17 11:54:33 +01:00

re-asking for password if previous upload failed

This commit is contained in:
Federico Fissore 2013-04-18 11:23:58 +02:00
parent dc71ab77bf
commit 0c03dc8db9

View File

@ -1665,24 +1665,27 @@ public class Sketch {
Uploader uploader = new UploaderFactory().newUploader(target.getBoards().get(board), Preferences.get("serial.port"));
if (uploader.requiresAuthorization() && !Preferences.has(uploader.getAuthorizationKey())) {
PasswordAuthorizationDialog dialog = new PasswordAuthorizationDialog(editor);
dialog.setLocationRelativeTo(editor);
dialog.setVisible(true);
boolean success = false;
do {
if (uploader.requiresAuthorization() && !Preferences.has(uploader.getAuthorizationKey())) {
PasswordAuthorizationDialog dialog = new PasswordAuthorizationDialog(editor);
dialog.setLocationRelativeTo(editor);
dialog.setVisible(true);
if (dialog.isCancelled()) {
editor.statusNotice(_("Upload cancelled"));
return false;
if (dialog.isCancelled()) {
editor.statusNotice(_("Upload cancelled"));
return false;
}
Preferences.set(uploader.getAuthorizationKey(), DigestUtils.sha512Hex(dialog.getPassword()));
}
Preferences.set(uploader.getAuthorizationKey(), DigestUtils.sha512Hex(dialog.getPassword()));
}
success = uploader.uploadUsingPreferences(buildPath, suggestedClassName, usingProgrammer);
boolean success = uploader.uploadUsingPreferences(buildPath, suggestedClassName, usingProgrammer);
if (uploader.requiresAuthorization() && !success) {
Preferences.remove(uploader.getAuthorizationKey());
}
if (uploader.requiresAuthorization() && !success) {
Preferences.remove(uploader.getAuthorizationKey());
}
} while (uploader.requiresAuthorization() && !success);
return success;
}