package com.cheng.multithreadstudy.sunframework.proxy; import android.os.Message; import com.cheng.multithreadstudy.sunframework.proxy.handler.BaseHandler; /** * 被封装过的Handler */ public class MessageProxy { private BaseHandler mHandler; public MessageProxy(BaseHandler handler) { this.mHandler = handler; } public Message obtionMessage(int what) { return mHandler.obtainMessage(what); } public void sendMessage(Message msg) { mHandler.sendMessage(msg); } public void sendMessageDelay(Message msg, long delayMillis) { mHandler.sendMessageDelayed(msg, delayMillis); } public void postRunnableDelay(Runnable runnable, long delayMillis) { mHandler.postDelayed(runnable, delayMillis); } public void postRunnable(Runnable runnable) { mHandler.post(runnable); } public void removeRunnable(Runnable r) { mHandler.removeCallbacks(r); } public void removeCallBack(Runnable runnable) { mHandler.removeCallbacks(runnable); } public void showDialog() { Message msg = mHandler.obtainMessage(MessageArg.WHAT.UI_MESSAGE); msg.arg1 = MessageArg.ARG1.PROGRESSDIALOG_MESSAGE; msg.arg2 = 1; mHandler.sendMessage(msg); } public void showCancelableDialog() { Message msg = mHandler.obtainMessage(MessageArg.WHAT.UI_MESSAGE); msg.arg1 = MessageArg.ARG1.PROGRESSDIALOG_MESSAGE; msg.arg2 = 2; mHandler.sendMessage(msg); } public void hideDialog() { Message msg = mHandler.obtainMessage(MessageArg.WHAT.UI_MESSAGE); msg.arg1 = MessageArg.ARG1.PROGRESSDIALOG_MESSAGE; msg.arg2 = 0; mHandler.sendMessage(msg); } public void clearAllMessage() { // mHandler.removeMessages(MessageArg.WHAT.UI_MESSAGE); mHandler.onDestroy(); } }