package com.sogouchat.conversation; import com.sogouchat.R; import android.R.integer; import android.os.Handler; import android.os.Message; public class ConversationActivityHandler extends Handler { private ConversationActivity mActivity = null; private MessageLoadThread mMsgLoadThread; public ConversationActivityHandler(ConversationActivity activity) { // TODO Auto-generated constructor stub this.mActivity = activity; mMsgLoadThread = new MessageLoadThread(); mMsgLoadThread.start(); } @Override public void handleMessage(Message msg) { // TODO Auto-generated method stub switch (msg.what) { case R.id.load_message_list_done: mActivity.InitList(); break; case R.id.load_message_cancel: LoadMessageListCancel(); //mMsgLoadThread.stop(); mMsgLoadThread.getHandler().sendEmptyMessage(R.id.quit); break; case R.id.load_message_list: LoadMessageList(msg.arg1,(Handler) msg.obj); break; case R.id.load_message_mms_item_done: mActivity.Refresh(msg.arg1); break; case R.id.load_message_mms_item: LoadMmsPart(msg.arg1, msg.arg2, (Handler) msg.obj); break; default: break; } super.handleMessage(msg); } public void LoadMessageList(int nThreadID,Handler mH){ Message msg = new Message(); msg.what = R.id.load_message_list_inner; msg.obj = mH; msg.arg1 = nThreadID; mMsgLoadThread.getHandler().sendMessage(msg); } public void LoadMmsPart(int nThreadID ,int nPartID,Handler mH){ Message msg = new Message(); msg.what = R.id.load_message_mms_item; msg.obj = mH; msg.arg1 = nThreadID; msg.arg2 = nPartID; mMsgLoadThread.getHandler().sendMessage(msg); } public void LoadMessageListCancel(){ mMsgLoadThread.getHandler().removeMessages(R.id.load_message_list); } }