package com.kaorisan.manager; import org.json.JSONException; import org.json.JSONObject; import android.os.AsyncTask; import com.kaorisan.beans.AccountDashBoard; import com.kaorisan.common.DebugLog; import com.kaorisan.dataLayer.CacheData; import com.kaorisan.service.NetworkService; public class AccountDashBoardManager { public interface OnGetAccountDashBoardResult { void onGetDashBoardResultMethod(boolean isSuccess, AccountDashBoard accountDashBoard, String message); } OnGetAccountDashBoardResult callbackOnGetAccountDashBoardResult = null; public void getAccountDashBoard(String token, OnGetAccountDashBoardResult onGetAccountDashBoardResult) { callbackOnGetAccountDashBoardResult = onGetAccountDashBoardResult; final NetworkService service = new NetworkService(); new AsyncTask<String, String, AccountDashBoard>() { @Override protected AccountDashBoard doInBackground(String... params) { JSONObject jsonResult = service.getAccountDashboard(params[0]); AccountDashBoard accountDashBoard = new AccountDashBoard(); try { if (jsonResult != null) { if (jsonResult.has("id")) { accountDashBoard.setId(jsonResult.getInt("id")); } if (jsonResult.has("name")) { accountDashBoard.setName(jsonResult.getString("name")); } if (jsonResult.has("plan")) { accountDashBoard.setPlanName(jsonResult.getString("plan")); } if (jsonResult.has("created_at")) { accountDashBoard.setCreateAt(jsonResult .getInt("created_at")); } if (jsonResult.has("user_requests")) { accountDashBoard.setUserRequest(jsonResult.getInt("user_requests")); } if (jsonResult.has("total_requests")) { accountDashBoard.setTotalRequest(jsonResult.getInt("total_requests")); } if (jsonResult.has("email")) { accountDashBoard.setEmail(jsonResult.getString("email")); } if (jsonResult.has("image_url")) {accountDashBoard.setAvatar(jsonResult.getString("image_url")); } CacheData.getInstant().setAccountDashBoard(accountDashBoard); return accountDashBoard; } } catch (JSONException e) { DebugLog.loge("Exception: " + e.getMessage()); } return null; } protected void onPostExecute(AccountDashBoard accountDashBoard) { if (accountDashBoard != null) { callbackOnGetAccountDashBoardResult.onGetDashBoardResultMethod(true, accountDashBoard, null); } else { callbackOnGetAccountDashBoardResult.onGetDashBoardResultMethod(false, new AccountDashBoard(), "Disconnect"); } } }.execute(token); } }