@Test public void handleExceptionAndPassOnExplicitlySetDontIgnore() { mExceptionHandler.setIgnoreDefaultExceptionHandler(false); handleExceptionAndPassOn(); }
@VisibleForTesting void setIgnoreDefaultExceptionHandler(boolean ignoreDefaultExceptionHandler) { mIgnoreDefaultExceptionHandler = ignoreDefaultExceptionHandler; if (ignoreDefaultExceptionHandler) { mDefaultUncaughtExceptionHandler = null; } }
UncaughtExceptionHandler implements Thread.UncaughtExceptionHandler { @VisibleForTesting void setIgnoreDefaultExceptionHandler(boolean ignoreDefaultExceptionHandler) { mIgnoreDefaultExceptionHandler = ignoreDefaultExceptionHandler; if (ignoreDefaultExceptionHandler) { mDefaultUncaughtExceptionHandler = null; } } }
UncaughtExceptionHandler implements Thread.UncaughtExceptionHandler { @VisibleForTesting void setIgnoreDefaultExceptionHandler(boolean ignoreDefaultExceptionHandler) { mIgnoreDefaultExceptionHandler = ignoreDefaultExceptionHandler; if (ignoreDefaultExceptionHandler) { mDefaultUncaughtExceptionHandler = null; } }  }
UncaughtExceptionHandler implements Thread.UncaughtExceptionHandler { @VisibleForTesting void setIgnoreDefaultExceptionHandler(boolean ignoreDefaultExceptionHandler) { mIgnoreDefaultExceptionHandler = ignoreDefaultExceptionHandler; if (ignoreDefaultExceptionHandler) { mDefaultUncaughtExceptionHandler = null; } }  @Override void uncaughtException(Thread thread, Throwable exception); }
UncaughtExceptionHandler implements Thread.UncaughtExceptionHandler { @VisibleForTesting void setIgnoreDefaultExceptionHandler(boolean ignoreDefaultExceptionHandler) { mIgnoreDefaultExceptionHandler = ignoreDefaultExceptionHandler; if (ignoreDefaultExceptionHandler) { mDefaultUncaughtExceptionHandler = null; } }  @Override void uncaughtException(Thread thread, Throwable exception);  }