package org.croudtrip.utils;
import android.content.Context;
import com.google.common.base.Optional;
import rx.functions.Action1;
import timber.log.Timber;
public class CrashCallback implements Action1<Throwable> {
private final Context context;
private final String logMsg;
private final Optional<Action1<Throwable>> nextAction;
public CrashCallback(Context context, String logMsg) {
this(context, logMsg, null);
}
public CrashCallback(Context context, String logMsg, Action1<Throwable> nextAction) {
this.context = context;
this.logMsg = logMsg;
this.nextAction = Optional.fromNullable(nextAction);
}
@Override
public void call(Throwable throwable) {
Timber.e(throwable, logMsg);
CrashPopup.show(context, throwable);
if (nextAction.isPresent()) nextAction.get().call(throwable);
}
}