package com.mm.android.deviceaddmodule.mobilecommon.base;
|
|
import android.os.Handler;
|
import android.os.Looper;
|
import android.os.Message;
|
|
import com.mm.android.deviceaddmodule.mobilecommon.businesstip.HandleMessageCode;
|
import com.mm.android.deviceaddmodule.mobilecommon.utils.BusinessAuthUtil;
|
import com.mm.android.deviceaddmodule.mobilecommon.utils.LogUtil;
|
|
import java.util.concurrent.atomic.AtomicBoolean;
|
|
/**
|
* 文件描述:文件名、类名 功能说明: 版权申明:
|
*
|
*/
|
|
public abstract class BaseHandler extends Handler {
|
|
private final static String TAG = "LeChange.BaseHandler";
|
|
private AtomicBoolean isCancled = new AtomicBoolean(false);
|
|
public BaseHandler(){
|
super();
|
}
|
public BaseHandler(Looper looper){
|
super(looper);
|
}
|
|
@Override
|
public void handleMessage(Message msg) {
|
super.handleMessage(msg);
|
if (!isCancled.get()) {
|
if (msg.what == HandleMessageCode.HMC_EXCEPTION) {
|
LogUtil.debugLog(TAG, "base hander throw exception. what =" + msg.what);
|
|
if (BusinessAuthUtil.isAuthFailed(msg.arg1)) {
|
authError(msg);
|
return ;
|
}
|
}
|
handleBusiness(msg);
|
}
|
}
|
|
/**
|
* 回调信息
|
*
|
* @param msg
|
*/
|
public abstract void handleBusiness(Message msg);
|
|
/**
|
* 鉴权信息失败
|
*/
|
public void authError(Message msg) {
|
|
}
|
|
/**
|
* 取消数据回调
|
*/
|
public void cancle() {
|
isCancled.set(true);
|
}
|
|
/**
|
* 是否继续运行
|
*
|
* @return
|
*/
|
public boolean isCanceled() {
|
return isCancled.get();
|
}
|
}
|