Skip to content

Commit 6ea66ea

Browse files
committed
Refactor: Removed code duplication in Export(App)Handlers
1 parent aebdba2 commit 6ea66ea

File tree

1 file changed

+15
-58
lines changed

1 file changed

+15
-58
lines changed

app/src/processing/app/Editor.java

Lines changed: 15 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -226,8 +226,8 @@ public boolean test(SketchController sketch) {
226226
Runnable presentHandler;
227227
private Runnable runAndSaveHandler;
228228
private Runnable presentAndSaveHandler;
229-
Runnable exportHandler;
230-
private Runnable exportAppHandler;
229+
private UploadHandler uploadHandler;
230+
private UploadHandler uploadUsingProgrammerHandler;
231231
private Runnable timeoutUploadHandler;
232232

233233
private Map<String, Tool> internalToolCache = new HashMap<String, Tool>();
@@ -1376,8 +1376,10 @@ private void resetHandlers() {
13761376
presentHandler = new BuildHandler(true);
13771377
runAndSaveHandler = new BuildHandler(false, true);
13781378
presentAndSaveHandler = new BuildHandler(true, true);
1379-
exportHandler = new DefaultExportHandler();
1380-
exportAppHandler = new DefaultExportAppHandler();
1379+
uploadHandler = new UploadHandler();
1380+
uploadHandler.setUsingProgrammer(false);
1381+
uploadUsingProgrammerHandler = new UploadHandler();
1382+
uploadUsingProgrammerHandler.setUsingProgrammer(true);
13811383
timeoutUploadHandler = new TimeoutUploadHandler();
13821384
}
13831385

@@ -2007,13 +2009,17 @@ synchronized public void handleExport(final boolean usingProgrammer) {
20072009
avoidMultipleOperations = true;
20082010

20092011
new Thread(timeoutUploadHandler).start();
2010-
new Thread(usingProgrammer ? exportAppHandler : exportHandler).start();
2012+
new Thread(usingProgrammer ? uploadUsingProgrammerHandler : uploadHandler).start();
20112013
}
20122014

2013-
// DAM: in Arduino, this is upload
2014-
class DefaultExportHandler implements Runnable {
2015-
public void run() {
2015+
class UploadHandler implements Runnable {
2016+
boolean usingProgrammer = false;
2017+
2018+
public void setUsingProgrammer(boolean usingProgrammer) {
2019+
this.usingProgrammer = usingProgrammer;
2020+
}
20162021

2022+
public void run() {
20172023
try {
20182024
removeAllLineHighlights();
20192025
if (serialMonitor != null) {
@@ -2025,7 +2031,7 @@ public void run() {
20252031

20262032
uploading = true;
20272033

2028-
boolean success = sketchController.exportApplet(false);
2034+
boolean success = sketchController.exportApplet(usingProgrammer);
20292035
if (success) {
20302036
statusNotice(tr("Done uploading."));
20312037
}
@@ -2108,55 +2114,6 @@ private void resumeOrCloseSerialPlotter() {
21082114
}
21092115
}
21102116

2111-
// DAM: in Arduino, this is upload (with verbose output)
2112-
class DefaultExportAppHandler implements Runnable {
2113-
public void run() {
2114-
2115-
try {
2116-
if (serialMonitor != null) {
2117-
serialMonitor.suspend();
2118-
}
2119-
if (serialPlotter != null) {
2120-
serialPlotter.suspend();
2121-
}
2122-
2123-
uploading = true;
2124-
2125-
boolean success = sketchController.exportApplet(true);
2126-
if (success) {
2127-
statusNotice(tr("Done uploading."));
2128-
}
2129-
} catch (SerialNotFoundException e) {
2130-
if (portMenu.getItemCount() == 0) statusError(e);
2131-
else if (serialPrompt()) run();
2132-
else statusNotice(tr("Upload canceled."));
2133-
} catch (PreferencesMapException e) {
2134-
statusError(I18n.format(
2135-
tr("Error while uploading: missing '{0}' configuration parameter"),
2136-
e.getMessage()));
2137-
} catch (RunnerException e) {
2138-
//statusError("Error during upload.");
2139-
//e.printStackTrace();
2140-
status.unprogress();
2141-
statusError(e);
2142-
} catch (Exception e) {
2143-
e.printStackTrace();
2144-
} finally {
2145-
avoidMultipleOperations = false;
2146-
populatePortMenu();
2147-
}
2148-
status.unprogress();
2149-
uploading = false;
2150-
//toolbar.clear();
2151-
toolbar.deactivateExport();
2152-
2153-
resumeOrCloseSerialMonitor();
2154-
resumeOrCloseSerialPlotter();
2155-
2156-
base.onBoardOrPortChange();
2157-
}
2158-
}
2159-
21602117
class TimeoutUploadHandler implements Runnable {
21612118

21622119
public void run() {

0 commit comments

Comments
 (0)