package com.kaorisan.manager;
import org.json.JSONException;
import org.json.JSONObject;
import android.os.AsyncTask;
import com.kaorisan.beans.DashBoard;
import com.kaorisan.beans.User;
import com.kaorisan.common.DebugLog;
import com.kaorisan.dataLayer.CacheData;
import com.kaorisan.service.NetworkService;
public class DashBoardManager {
public interface OnGetDashBoardResult {
void onGetDashBoardResultMethod(boolean isSuccess, DashBoard dashBoard,
String message);
}
OnGetDashBoardResult callbackOnGetDashBoardResult = null;
public interface OnGetInfoUserRsult {
void onGetInfoUserMethod(boolean isSuccess, User user, String message);
}
OnGetInfoUserRsult callbackOnGetInfoUserRsult = null;
public void getDashBoard(String token, OnGetDashBoardResult onGetDashBoardResult) {
callbackOnGetDashBoardResult = onGetDashBoardResult;
final NetworkService service = new NetworkService();
new AsyncTask<String, String, DashBoard>() {
@Override
protected DashBoard doInBackground(String... params) {
JSONObject jsonResult = service.getDashBoard(params[0]);
DashBoard dashBoard = null;
try {
if (jsonResult != null) {
dashBoard = new DashBoard();
if (jsonResult.has("open_task")) {
dashBoard.setOpenTask(jsonResult.getInt("open_task"));
}
if (jsonResult.has("closed_task")) {
dashBoard.setClosedTask(jsonResult.getInt("closed_task"));
}
if (jsonResult.has("available_task")) {
dashBoard.setAvailableTask(jsonResult.getInt("available_task"));
}
CacheData.getInstant().setDashBoard(dashBoard);
return dashBoard;
} else {
CacheData.getInstant().setDashBoard(null);
}
} catch (JSONException e) {
DebugLog.loge(e.getMessage());
}
return null;
}
protected void onPostExecute(DashBoard dashBoard) {
if (dashBoard != null) {
callbackOnGetDashBoardResult.onGetDashBoardResultMethod(true, dashBoard, null);
} else {
callbackOnGetDashBoardResult.onGetDashBoardResultMethod(false, new DashBoard(), "Disconnect");
}
}
}.execute(token);
}
}