package com.common.openapi;
|
|
import android.os.Message;
|
|
import com.common.openapi.entity.DeviceLocalCacheData;
|
import com.mm.android.deviceaddmodule.mobilecommon.AppConsume.BusinessException;
|
import com.mm.android.deviceaddmodule.mobilecommon.AppConsume.BusinessRunnable;
|
import com.mm.android.deviceaddmodule.mobilecommon.base.LCBusinessHandler;
|
import com.mm.android.deviceaddmodule.mobilecommon.businesstip.BusinessErrorTip;
|
import com.mm.android.deviceaddmodule.mobilecommon.businesstip.HandleMessageCode;
|
|
public class DeviceLocalCacheService {
|
|
/**
|
* 添加设备缓存信息
|
* @param localCacheData
|
*/
|
public void addLocalCache(final DeviceLocalCacheData localCacheData) {
|
new BusinessRunnable(null) {
|
@Override
|
public void doBusiness() throws BusinessException {
|
try {
|
DeviceLocalCacheManager deviceLocalCacheManager = ClassInstanceManager.newInstance().getDeviceLocalCacheManager();
|
deviceLocalCacheManager.addLocalCache(localCacheData);
|
} catch (Throwable e) {
|
throw e;
|
}
|
}
|
};
|
}
|
|
/**
|
* 获取设备缓存信息
|
* @param localCacheData
|
* @param deviceCacheCallBack
|
*/
|
public void findLocalCache(final DeviceLocalCacheData localCacheData, final IGetDeviceInfoCallBack.IDeviceCacheCallBack deviceCacheCallBack) {
|
final LCBusinessHandler handler = new LCBusinessHandler() {
|
@Override
|
public void handleBusiness(Message msg) {
|
if (deviceCacheCallBack == null) {
|
return;
|
}
|
if (msg.what == HandleMessageCode.HMC_SUCCESS) {
|
//成功
|
deviceCacheCallBack.deviceCache((DeviceLocalCacheData) msg.obj);
|
} else {
|
//失败
|
deviceCacheCallBack.onError(BusinessErrorTip.throwError(msg));
|
}
|
}
|
};
|
new BusinessRunnable(handler) {
|
@Override
|
public void doBusiness() throws BusinessException {
|
try {
|
DeviceLocalCacheData localCache = ClassInstanceManager.newInstance().getDeviceLocalCacheManager().findLocalCache(localCacheData);
|
if (localCache != null) {
|
handler.obtainMessage(HandleMessageCode.HMC_SUCCESS, localCache).sendToTarget();
|
} else {
|
throw new BusinessException("null point");
|
}
|
} catch (Throwable e) {
|
throw e;
|
}
|
}
|
};
|
}
|
}
|