package com.qiwenge.android.async; import android.content.Context; import android.os.AsyncTask; import android.util.Log; import com.loopj.android.http.RequestParams; import com.qiwenge.android.listeners.CommonHandler; import com.qiwenge.android.entity.Book; import com.qiwenge.android.utils.ApiUtils; import com.qiwenge.android.utils.PushUtils; import com.qiwenge.android.utils.book.BookManager; import com.qiwenge.android.utils.http.BaseResponseHandler; import com.qiwenge.android.utils.http.JHttpClient; /** * 异步从书架移除书 */ public class AsyncRemoveBook extends AsyncTask<Book, Integer, Boolean> { private CommonHandler mHandler; private Context mContext; private String bookId = ""; public AsyncRemoveBook(Context context, CommonHandler handler) { mContext = context; mHandler = handler; } @Override protected Boolean doInBackground(Book... params) { if (params != null && params[0] != null) { Book book = params[0]; bookId = book.getId(); BookManager.getInstance().delete(mContext, book); new PushUtils(mContext).setTags(BookManager.getInstance().getAll()); return true; } else { return false; } } @Override protected void onPreExecute() { if (mHandler != null) mHandler.onStart(); } @Override protected void onPostExecute(Boolean result) { if (result) { deleteProgresses(bookId); if (mHandler != null) { mHandler.onSuccess(); } } else { mHandler.onFailure(); } } /** * 移除小说的时候,删除服务器上的进度 * * @param bookId */ private void deleteProgresses(String bookId) { String url = ApiUtils.getProgresses(); RequestParams params = new RequestParams(); params.put("book_id", bookId); JHttpClient.delete(url, params, new BaseResponseHandler() { @Override public void onSuccess(String result) { Log.i("BookShelf", "deleteProgresses-onSuccess"); } }); } }