package org.shikato.infodumper.dump; import android.app.ActivityManager; import android.content.Context; import com.facebook.stetho.dumpapp.DumpException; import java.util.LinkedHashMap; import java.util.List; public class ErrorDumper implements InfoDumper { @Override public String getTitle() { return "ERROR"; } @Override public LinkedHashMap<String, String> getDumpMap(Context context) throws DumpException { ActivityManager activityManager = ((ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE)); List<ActivityManager.ProcessErrorStateInfo> errorStateInfo = activityManager.getProcessesInErrorState(); if (errorStateInfo == null) return null; LinkedHashMap<String, String> dumps = new LinkedHashMap<>(); for (ActivityManager.ProcessErrorStateInfo error : errorStateInfo) { dumps.put("Error.condition", Integer.toString(error.condition)); // CRASHED,NOT_RESPONDING,NO_ERROR dumps.put("Error.longMsg", error.longMsg); dumps.put("Error.shortMsg", error.shortMsg); dumps.put("Error.pid", Integer.toString(error.pid)); dumps.put("Error.processName", error.processName); dumps.put("Error.stackTrace", error.stackTrace); dumps.put("Error.tag", error.tag); dumps.put("Error.uid", Integer.toString(error.uid)); } return dumps; } @Override public List<String> getDumpList(Context context) throws DumpException { return null; } @Override public String getErrorMessage() { return "No Error"; } }