package com.athena.asm.util.task;
import java.util.ArrayList;
import java.util.List;
import android.app.ProgressDialog;
import android.content.Context;
import android.os.AsyncTask;
import android.widget.Toast;
import com.athena.asm.listener.RefreshEventListener;
import com.athena.asm.util.SmthSupport;
import com.athena.asm.viewmodel.PostListViewModel;
public class DeletePostTask extends AsyncTask<String, Integer, String> {
private ProgressDialog pdialog;
private Context m_context;
private PostListViewModel m_viewModel;
private String m_boardName;
private String m_postID;
private List<RefreshEventListener> m_listners = new ArrayList<RefreshEventListener>();
private boolean m_result;
public DeletePostTask(Context ctx, PostListViewModel viewModel, String boardname, String postid, RefreshEventListener listener) {
m_viewModel = viewModel;
m_context = ctx;
pdialog = new ProgressDialog(ctx);
m_boardName = boardname;
m_postID = postid;
if(listener != null)
m_listners.add(listener);
}
@Override
protected void onPreExecute() {
pdialog.setMessage("删除帖子中...");
pdialog.show();
}
@Override
protected String doInBackground(String... params) {
SmthSupport smthSupport = m_viewModel.getSmthSupport();
m_result = smthSupport.deletePost(m_boardName, m_postID);
pdialog.cancel();
return null;
}
@Override
protected void onPostExecute(String result) {
if (m_result) {
// refresh current post
String alert = String.format("帖子(id=%s)已删除!", m_postID);
Toast.makeText(m_context, alert, Toast.LENGTH_SHORT).show();
for(RefreshEventListener listner: m_listners) {
listner.refresh();
}
} else {
String alert = String.format("帖子(id=%s)删除失败!", m_postID);
Toast.makeText(m_context, alert, Toast.LENGTH_SHORT).show();
}
}
}