|
37 | 37 | import org.json.JSONArray; |
38 | 38 |
|
39 | 39 | import java.awt.Desktop; |
40 | | -import java.io.BufferedReader; |
41 | 40 | import java.io.File; |
42 | 41 | import java.io.FileNotFoundException; |
43 | 42 | import java.io.IOException; |
44 | 43 | import java.io.InputStream; |
45 | | -import java.io.InputStreamReader; |
46 | 44 | import java.net.URL; |
47 | 45 | import java.util.ArrayList; |
48 | 46 | import java.util.Arrays; |
@@ -253,7 +251,7 @@ private void run(String device) { |
253 | 251 | File locationToSaveBlobs = new File(pathField.getText()); |
254 | 252 | //noinspection ResultOfMethodCallIgnored |
255 | 253 | locationToSaveBlobs.mkdirs(); |
256 | | - ArrayList<String> args = new ArrayList<>(Arrays.asList(tsschecker.getPath(), "-d", device, "-s", "-e", ecidField.getText(), "--save-path", pathField.getText())); |
| 254 | + ArrayList<String> args = new ArrayList<>(Arrays.asList(tsschecker.getPath(), "--nocache", "-d", device, "-s", "-e", ecidField.getText(), "--save-path", pathField.getText())); |
257 | 255 | if (getBoardConfig) { |
258 | 256 | Collections.addAll(args, "--boardconfig", boardConfigField.getText()); |
259 | 257 | } |
@@ -297,36 +295,17 @@ private void run(String device) { |
297 | 295 | } else { |
298 | 296 | Collections.addAll(args, "-i", versionField.getText()); |
299 | 297 | } |
300 | | - Process proc; |
| 298 | + String tsscheckerLog; |
301 | 299 | try { |
302 | 300 | log("Running: " + args.toString()); |
303 | | - proc = new ProcessBuilder(args).start(); |
| 301 | + tsscheckerLog = executeProgram(args.toArray(new String[0])); |
304 | 302 | } catch (IOException e) { |
305 | 303 | newReportableError("There was an error starting tsschecker.", e.toString()); |
306 | 304 | e.printStackTrace(); |
307 | 305 | deleteTempFiles(tsschecker, buildManifestPlist); |
308 | 306 | return; |
309 | 307 | } |
310 | | - String tsscheckerLog; |
311 | | - try (BufferedReader reader = new BufferedReader(new InputStreamReader(proc.getInputStream()))) { |
312 | | - StringBuilder logBuilder = new StringBuilder(); |
313 | | - String line; |
314 | | - while ((line = reader.readLine()) != null) { |
315 | | - log(line + "\n"); |
316 | | - logBuilder.append(line).append("\n"); |
317 | | - } |
318 | | - tsscheckerLog = logBuilder.toString(); |
319 | | - } catch (IOException e) { |
320 | | - newReportableError("There was an error getting the tsschecker result", e.toString()); |
321 | | - e.printStackTrace(); |
322 | | - deleteTempFiles(tsschecker, buildManifestPlist); |
323 | | - return; |
324 | | - } |
325 | | - try { |
326 | | - proc.waitFor(); |
327 | | - } catch (InterruptedException e) { |
328 | | - newReportableError("The tsschecker process was interrupted.", e.toString()); |
329 | | - } |
| 308 | + |
330 | 309 | if (tsscheckerLog.contains("Saved shsh blobs")) { |
331 | 310 | Alert alert = new Alert(Alert.AlertType.INFORMATION, "Successfully saved blobs in\n" + pathField.getText(), ButtonType.OK); |
332 | 311 | alert.setHeaderText("Success!"); |
@@ -1267,6 +1246,7 @@ public void goButtonHandler() { |
1267 | 1246 | private static boolean isTextFieldValid(CheckBox checkBox, TextField textField) { |
1268 | 1247 | return isTextFieldValid(checkBox.isSelected(), textField); |
1269 | 1248 | } |
| 1249 | + |
1270 | 1250 | private static boolean isTextFieldValid(boolean isTextFieldRequired, TextField textField) { |
1271 | 1251 | if (isTextFieldRequired && "".equals(textField.getText())) { |
1272 | 1252 | textField.setEffect(errorBorder); |
|
0 commit comments