package com.leansoft.nanorest.handler;
import com.leansoft.nanorest.callback.HttpCallback;
import com.leansoft.nanorest.domain.ResponseStatus;
import android.os.Handler;
import android.os.Looper;
public class UIThreadResponseHandler<T> extends BackgroundThreadResponseHandler<T> implements ResponseHandler<T> {
public static final String TAG = UIThreadResponseHandler.class.getSimpleName();
private static Handler handler;
public UIThreadResponseHandler(HttpCallback<T> callback) {
super(callback);
if (handler == null) {
handler = new Handler(Looper.getMainLooper());
}
}
@Override
public void handleSuccess(final T responseData) {
handler.post(new Runnable() {
@Override
public void run() {
if (callback != null) {
callback.onSuccess(responseData);
}
}
});
}
@Override
public void handleError(final ResponseStatus status) {
handler.post(new Runnable() {
@Override
public void run() {
if (callback != null) {
callback.onHttpError(status);
}
}
});
}
}