From d37fa7ba95616f6d4f23ab132bd904e7125431ef Mon Sep 17 00:00:00 2001 From: Pritesh Nandgaonkar Date: Thu, 29 Nov 2018 09:13:26 -0800 Subject: [PATCH] Change crash reporter plugin to send callstack array Summary: Change crash reporter plugin to send callstackas an array instead of string Reviewed By: jknoxville Differential Revision: D13254853 fbshipit-source-id: 0baefb3eb6d3afc38d0c6acc7840ddc981230f9d --- .../crashreporter/CrashReporterPlugin.java | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/android/src/main/java/com/facebook/flipper/plugins/crashreporter/CrashReporterPlugin.java b/android/src/main/java/com/facebook/flipper/plugins/crashreporter/CrashReporterPlugin.java index 8ef0ab3d1..d0590c443 100644 --- a/android/src/main/java/com/facebook/flipper/plugins/crashreporter/CrashReporterPlugin.java +++ b/android/src/main/java/com/facebook/flipper/plugins/crashreporter/CrashReporterPlugin.java @@ -9,11 +9,10 @@ package com.facebook.flipper.plugins.crashreporter; import android.app.Activity; import android.support.annotation.Nullable; +import com.facebook.flipper.core.FlipperArray; import com.facebook.flipper.core.FlipperConnection; import com.facebook.flipper.core.FlipperObject; import com.facebook.flipper.core.FlipperPlugin; -import java.io.PrintWriter; -import java.io.StringWriter; public class CrashReporterPlugin implements FlipperPlugin { public static final String ID = "CrashReporter"; @@ -41,15 +40,17 @@ public class CrashReporterPlugin implements FlipperPlugin { public void uncaughtException(Thread paramThread, Throwable paramThrowable) { if (mConnection != null) { FlipperConnection connection = mConnection; - StringWriter sw = new StringWriter(); - PrintWriter pw = new PrintWriter(sw); - paramThrowable.printStackTrace(pw); + FlipperArray.Builder builder = new FlipperArray.Builder(); + for (StackTraceElement stackTraceElement : paramThrowable.getStackTrace()) { + builder.put(stackTraceElement.toString()); + } + FlipperArray arr = builder.build(); connection.send( "crash-report", new FlipperObject.Builder() - .put("callstack", sw.toString()) - .put("cause", paramThrowable.toString()) - .put("reason", paramThrowable.toString()) + .put("callstack", arr) + .put("name", paramThrowable.toString()) + .put("reason", paramThrowable.getMessage()) .build()); } if (prevHandler != null) {