package com.shizhefei.task; import com.shizhefei.mvc.ResponseSender; /** * Created by luckyjayce on 2017/4/17. */ public class ResponseSenderCallback<DATA> implements ICallback<DATA> { private ResponseSender<DATA> sender; private Code code; public ResponseSenderCallback(ResponseSender<DATA> sender) { this.sender = sender; } public Code getCode() { return code; } @Override public void onPreExecute(Object task) { } @Override public void onProgress(Object task, int percent, long current, long total, Object extraData) { sender.sendProgress(current, total, extraData); } @Override public void onPostExecute(Object task, Code code, Exception exception, DATA data) { this.code = code; switch (code) { case SUCCESS: sender.sendData(data); break; case EXCEPTION: sender.sendError(exception); break; } } }