package com.xda.one.ui.helper;
import com.xda.one.api.misc.Consumer;
import android.app.Dialog;
import android.content.DialogInterface;
public abstract class CancellableCallbackHelper<T> implements Consumer<T>, Runnable,
DialogInterface.OnCancelListener {
private boolean mCancel;
public CancellableCallbackHelper(final Dialog dialog) {
dialog.setOnCancelListener(this);
}
@Override
public final void run(final T data) {
if (!mCancel) {
safeCallback(data);
}
}
@Override
public void onCancel(final DialogInterface dialog) {
mCancel = true;
}
public abstract void safeCallback(final T data);
}