package org.briarproject.android.controller.handler; import android.support.annotation.UiThread; import org.briarproject.android.DestroyableContext; public abstract class UiResultHandler implements ResultHandler { private final DestroyableContext listener; protected UiResultHandler(DestroyableContext listener) { this.listener = listener; } @Override public void onResult(final R result) { listener.runOnUiThreadUnlessDestroyed(new Runnable() { @Override public void run() { onResultUi(result); } }); } @UiThread public abstract void onResultUi(R result); }