|
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