package kz.virtex.htc.tweaker.utils; import android.util.Log; import de.robv.android.xposed.XposedBridge; public class ParseExceptionContents { final static String newLine = System.getProperty("line.separator"); final static String headerLine = "---------------------------------------------------------------------"; final static String headerTitlePortion = "-- StackTraceElement Index #"; public static void xposed(StackTraceElement[] stackTrace) { XposedBridge.log(build(stackTrace)); } public static void logd(StackTraceElement[] stackTrace) { Log.d("ParseExceptionContents", build(stackTrace)); } public static void loge(StackTraceElement[] stackTrace) { Log.e("ParseExceptionContents", build(stackTrace)); } private static String build(StackTraceElement[] stackTrace) { int index = 0; StringBuilder builder = new StringBuilder(); builder.append(headerLine + newLine); for (StackTraceElement element : stackTrace) { final String exceptionMsg = "ClassName: " + element.getClassName() + newLine + "MethodName: " + element.getMethodName() + newLine + "FileName: " + element.getFileName() + newLine + "LineNumber: " + element.getLineNumber() + newLine + "\t" + newLine ; builder.append(headerTitlePortion + index++ + newLine); builder.append(exceptionMsg); } return builder.toString(); } }