Show caller stack trace
Summary: On Android, the stack trace looks different so we don't need to use the Regex we use on iOS. We can simply display all the lines in the trace. Reviewed By: pasqualeanatriello Differential Revision: D17181400 fbshipit-source-id: e471da17b89806a161edc7edcf05ac6faed44bf0
This commit is contained in:
committed by
Facebook Github Bot
parent
73e8c03eea
commit
4d324075e9
@@ -40,7 +40,8 @@ public class ChangesetDebug implements ChangesetDebugListener {
|
||||
String surfaceId,
|
||||
String id,
|
||||
FlipperArray tree,
|
||||
FlipperObject changesetData);
|
||||
FlipperObject changesetData,
|
||||
StackTraceElement[] trace);
|
||||
}
|
||||
|
||||
public static void setListener(ChangesetListener listener) {
|
||||
@@ -103,7 +104,8 @@ public class ChangesetDebug implements ChangesetDebugListener {
|
||||
surfaceId,
|
||||
sChangesetIdGenerator.incrementAndGet() + "-" + surfaceId,
|
||||
tree.build(),
|
||||
changesetData.build());
|
||||
changesetData.build(),
|
||||
changesetDebugInfo.getStackTrace());
|
||||
}
|
||||
|
||||
private static boolean isEventAsync(@ApplyNewChangeSet int source) {
|
||||
|
||||
@@ -62,7 +62,8 @@ public class SectionsFlipperPlugin implements FlipperPlugin, ChangesetListener {
|
||||
String surfaceId,
|
||||
String id,
|
||||
FlipperArray tree,
|
||||
FlipperObject changesetData) {
|
||||
FlipperObject changesetData,
|
||||
StackTraceElement[] trace) {
|
||||
if (mConnection == null) {
|
||||
return;
|
||||
}
|
||||
@@ -84,7 +85,9 @@ public class SectionsFlipperPlugin implements FlipperPlugin, ChangesetListener {
|
||||
.put("reason", reason)
|
||||
.put("surface_key", surfaceId)
|
||||
.put("tree_generation_timestamp", 10000) // TODO
|
||||
.put("stack_trace", new FlipperArray.Builder().build())
|
||||
.put("payload", new FlipperObject.Builder().build())
|
||||
.put("stack_trace", getStackTrace(trace))
|
||||
.put("skip_stack_trace_format", true)
|
||||
.put("payload", eventPayloadBuilder.build())
|
||||
.build());
|
||||
|
||||
@@ -122,4 +125,14 @@ public class SectionsFlipperPlugin implements FlipperPlugin, ChangesetListener {
|
||||
.put("changeset", changesetData)
|
||||
.build());
|
||||
}
|
||||
|
||||
private FlipperArray getStackTrace(StackTraceElement[] trace) {
|
||||
final FlipperArray.Builder builder = new FlipperArray.Builder();
|
||||
|
||||
for (StackTraceElement element : trace) {
|
||||
builder.put(element.toString() + "\n");
|
||||
}
|
||||
|
||||
return builder.build();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user