session-android/src/org/thoughtcrime/securesms/logging/UncaughtExceptionLogger.java
Greyson Parrelli 11a2ed0743 Increase reliability of locally logging crashes.
Exception logging tends to be race-y, so now we block and wait
for all logs to be written before continuing with the crash.
2019-04-10 12:53:55 -04:00

22 lines
646 B
Java

package org.thoughtcrime.securesms.logging;
import android.support.annotation.NonNull;
public class UncaughtExceptionLogger implements Thread.UncaughtExceptionHandler {
private static final String TAG = UncaughtExceptionLogger.class.getSimpleName();
private final Thread.UncaughtExceptionHandler originalHandler;
public UncaughtExceptionLogger(@NonNull Thread.UncaughtExceptionHandler originalHandler) {
this.originalHandler = originalHandler;
}
@Override
public void uncaughtException(Thread t, Throwable e) {
Log.e(TAG, "", e);
Log.blockUntilAllWritesFinished();
originalHandler.uncaughtException(t, e);
}
}