21
21
22
22
package processing .mode .android ;
23
23
24
+ import java .io .PrintStream ;
24
25
import java .util .Iterator ;
25
26
import java .util .List ;
26
27
import java .util .concurrent .*;
27
28
import java .util .regex .Matcher ;
28
29
import java .util .regex .Pattern ;
29
30
31
+ import processing .app .Editor ;
30
32
import processing .app .RunnerListener ;
31
33
import processing .app .SketchException ;
32
34
import processing .mode .java .runner .Runner ;
@@ -36,10 +38,22 @@ public class AndroidRunner implements DeviceListener {
36
38
AndroidBuild build ;
37
39
RunnerListener listener ;
38
40
41
+ protected PrintStream sketchErr ;
42
+ protected PrintStream sketchOut ;
43
+
39
44
40
45
public AndroidRunner (AndroidBuild build , RunnerListener listener ) {
41
46
this .build = build ;
42
47
this .listener = listener ;
48
+
49
+ if (listener instanceof Editor ) {
50
+ Editor editor = (Editor ) listener ;
51
+ sketchErr = editor .getConsole ().getErr ();
52
+ sketchOut = editor .getConsole ().getOut ();
53
+ } else {
54
+ sketchErr = System .err ;
55
+ sketchOut = System .out ;
56
+ }
43
57
}
44
58
45
59
@@ -263,7 +277,7 @@ public void stackTrace(final List<String> trace) {
263
277
// if (Runner.handleCommonErrors(exceptionClass, exceptionLine, listener)) {
264
278
// return;
265
279
// }
266
- Runner .handleCommonErrors (exceptionClass , exceptionLine , listener );
280
+ Runner .handleCommonErrors (exceptionClass , exceptionLine , listener , sketchErr );
267
281
268
282
while (frames .hasNext ()) {
269
283
final String line = frames .next ();
0 commit comments