package com.athena.asm.util.task;
import android.app.ProgressDialog;
import android.content.Context;
import android.os.AsyncTask;
import android.widget.Toast;
import com.athena.asm.util.SmthSupport;
import com.athena.asm.viewmodel.HomeViewModel;
public class EditFavoriteTask extends AsyncTask<String, Integer, String> {
public static int FAVORITE_ADD = 0;
public static int FAVORITE_DELETE = 1;
private ProgressDialog pdialog;
private HomeViewModel m_viewModel;
private Context m_context;
private String m_groupID;
private String m_boardName;
private String m_boardID;
private int m_action;
private boolean m_result;
public EditFavoriteTask(Context ctx, HomeViewModel viewModel, String groupid, String boardname, String boardid, int action) {
m_context = ctx;
m_viewModel = viewModel;
pdialog = new ProgressDialog(ctx);
m_groupID = groupid;
m_boardName = boardname;
m_boardID = boardid;
m_action = action;
}
@Override
protected void onPreExecute() {
pdialog.setMessage("修改收藏夹...");
pdialog.show();
}
@Override
protected String doInBackground(String... params) {
SmthSupport smthSupport = SmthSupport.getInstance();
if( m_action == FAVORITE_ADD){
m_result = smthSupport.addBoardToFavorite(m_groupID, m_boardName);
} else if (m_action == FAVORITE_DELETE ){
m_result = smthSupport.removeBoardFromFavorite(m_groupID, m_boardName, m_boardID);
}
pdialog.cancel();
return null;
}
@Override
protected void onPostExecute(String result) {
if (m_result) {
// show toast
if(m_action == FAVORITE_ADD) {
String alert = String.format("版面\"%s\"已添加到收藏夹!", m_boardName);
Toast.makeText(m_context, alert, Toast.LENGTH_SHORT).show();
} else if (m_action == FAVORITE_DELETE){
String alert = String.format("版面\"%s\"已从收藏夹删除!", m_boardName);
Toast.makeText(m_context, alert, Toast.LENGTH_SHORT).show();
}
// refresh favorite list
m_context.deleteFile("FavList");
m_viewModel.setFavList(null);
m_viewModel.notifyFavListChanged();
} else {
String alert = String.format("操作版面\"%s\"失败!", m_boardName);
Toast.makeText(m_context, alert, Toast.LENGTH_SHORT).show();
}
}
}