1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-06-23 19:21:59 +03: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,6 +1665,8 @@ public class Sketch {
Uploader uploader = new UploaderFactory().newUploader(target.getBoards().get(board), Preferences.get("serial.port")); Uploader uploader = new UploaderFactory().newUploader(target.getBoards().get(board), Preferences.get("serial.port"));
boolean success = false;
do {
if (uploader.requiresAuthorization() && !Preferences.has(uploader.getAuthorizationKey())) { if (uploader.requiresAuthorization() && !Preferences.has(uploader.getAuthorizationKey())) {
PasswordAuthorizationDialog dialog = new PasswordAuthorizationDialog(editor); PasswordAuthorizationDialog dialog = new PasswordAuthorizationDialog(editor);
dialog.setLocationRelativeTo(editor); dialog.setLocationRelativeTo(editor);
@ -1678,11 +1680,12 @@ public class Sketch {
Preferences.set(uploader.getAuthorizationKey(), DigestUtils.sha512Hex(dialog.getPassword())); Preferences.set(uploader.getAuthorizationKey(), DigestUtils.sha512Hex(dialog.getPassword()));
} }
boolean success = uploader.uploadUsingPreferences(buildPath, suggestedClassName, usingProgrammer); success = uploader.uploadUsingPreferences(buildPath, suggestedClassName, usingProgrammer);
if (uploader.requiresAuthorization() && !success) { if (uploader.requiresAuthorization() && !success) {
Preferences.remove(uploader.getAuthorizationKey()); Preferences.remove(uploader.getAuthorizationKey());
} }
} while (uploader.requiresAuthorization() && !success);
return success; return success;
} }