|
|
|
@ -143,7 +143,7 @@ public class MQTTService extends Service { |
|
|
|
userName= DeviceData.getDeviceInfo(DeviceData.HINT_DEVICE_CODE); |
|
|
|
if(Constant.tywx){ |
|
|
|
passWord= AesUtil.md5(DeviceData.getDeviceInfo(DeviceData.HINT_DEVICE_MAC, SignWayUtil.getEthMacAddress())); |
|
|
|
Log.e("MQTTService","passWord:"+passWord); |
|
|
|
LoggerUtil.e("MQTTService","passWord:"+passWord); |
|
|
|
}else { |
|
|
|
passWord= MqttData.getMqttToken().getPassword(); |
|
|
|
} |
|
|
|
@ -185,8 +185,9 @@ public class MQTTService extends Service { |
|
|
|
// 用户名
|
|
|
|
conOpt.setUserName(userName); |
|
|
|
// 密码
|
|
|
|
conOpt.setPassword(passWord.toCharArray()); //将字符串转换为字符串数组
|
|
|
|
|
|
|
|
if(!StringUtil.isEmpty(passWord)){ |
|
|
|
conOpt.setPassword(passWord.toCharArray()); //将字符串转换为字符串数组
|
|
|
|
} |
|
|
|
// conOpt.setAutomaticReconnect(true);
|
|
|
|
|
|
|
|
// last will message
|
|
|
|
@ -234,11 +235,11 @@ public class MQTTService extends Service { |
|
|
|
sendOffline(); |
|
|
|
disconnectMqtt(); |
|
|
|
stopSelf(); |
|
|
|
// try {
|
|
|
|
// client.disconnect();
|
|
|
|
// } catch (MqttException e) {
|
|
|
|
// e.printStackTrace();
|
|
|
|
// }
|
|
|
|
try { |
|
|
|
client.disconnect(); |
|
|
|
} catch (MqttException e) { |
|
|
|
e.printStackTrace(); |
|
|
|
} |
|
|
|
EventBus.getDefault().unregister(this); |
|
|
|
super.onDestroy(); |
|
|
|
} |
|
|
|
@ -255,8 +256,8 @@ public class MQTTService extends Service { |
|
|
|
LoggerUtil.e(TAG,"MQTT尝试重连"); |
|
|
|
client.connect(conOpt, null, iMqttActionListener); |
|
|
|
} |
|
|
|
} catch (MqttException e) { |
|
|
|
e.printStackTrace(); |
|
|
|
} catch (Exception e) { |
|
|
|
LoggerUtil.e(TAG, "MQTT连接异常: " + e.getMessage()); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
@ -462,7 +463,10 @@ public class MQTTService extends Service { |
|
|
|
CloseMqttBean closeMqttBean =new Gson().fromJson(msg, new TypeToken<CloseMqttBean>() { |
|
|
|
}.getType()); |
|
|
|
|
|
|
|
LoggerUtil.e(TAG, "MQTT:"+closeMqttBean.getType()); |
|
|
|
if(closeMqttBean == null || closeMqttBean.getType() == null){ |
|
|
|
LoggerUtil.e(TAG,"sendCommand: type为空,忽略消息:"+msg); |
|
|
|
return; |
|
|
|
} |
|
|
|
if(closeMqttBean.getType().equals("app-update")){ |
|
|
|
//APP下发
|
|
|
|
appUpdate(closeMqttBean); |
|
|
|
@ -484,6 +488,7 @@ public class MQTTService extends Service { |
|
|
|
SignWayUtil.shutDown(); |
|
|
|
}else if(closeMqttBean.getType().equals("device-time-update")){ |
|
|
|
//定时开关机
|
|
|
|
if(closeMqttBean.getData() == null || closeMqttBean.getData().getTime() == null) return; |
|
|
|
PowerData.savePowerList(closeMqttBean.getData().getTime()); |
|
|
|
|
|
|
|
}else if(closeMqttBean.getType().equals("device-time-clear")){ |
|
|
|
@ -518,6 +523,7 @@ public class MQTTService extends Service { |
|
|
|
} |
|
|
|
}else if(closeMqttBean.getType().equals("device-edit")){ |
|
|
|
//设备信息编辑
|
|
|
|
if(closeMqttBean.getData() == null || closeMqttBean.getData().getDevice() == null) return; |
|
|
|
MqttDataBean.deviceData device = closeMqttBean.getData().getDevice(); |
|
|
|
DeviceData.saveDeviceName(device.getName()); |
|
|
|
DeviceData.saveDeviceInfo(DeviceData.HINT_DEVICE_TOUCH, String.valueOf(device.getTouch()));//设备触摸
|
|
|
|
@ -531,7 +537,6 @@ public class MQTTService extends Service { |
|
|
|
DeviceData.saveDeviceInfo(DeviceData.FLOOR_NAME, device.getFloor());//楼层名称
|
|
|
|
if(device.getFloorCode()!=null){ |
|
|
|
DeviceData.saveDeviceInfo(DeviceData.FLOOR_CODE, device.getFloorCode());//楼层code
|
|
|
|
|
|
|
|
} |
|
|
|
FloorData.getDeviceOptionsNew(DeviceData.getDeviceInfo(DeviceData.HINT_REG_KEY),null, null); |
|
|
|
} |
|
|
|
@ -663,9 +668,9 @@ public class MQTTService extends Service { |
|
|
|
} else if (!"".equals(Constant.androidBoardType)) { |
|
|
|
SignWayUtil.takeScreenshot(path); |
|
|
|
int retryCount = 0; |
|
|
|
final int MAX_RETRY = 15; |
|
|
|
final long SLEEP_MS = 300; |
|
|
|
long lastSize = 0; |
|
|
|
final int MAX_RETRY = 16; |
|
|
|
final long SLEEP_MS = 1000; |
|
|
|
long lastSize = -1; |
|
|
|
while (retryCount < MAX_RETRY) { |
|
|
|
File f = new File(path); |
|
|
|
if (f.exists()) { |
|
|
|
@ -679,12 +684,12 @@ public class MQTTService extends Service { |
|
|
|
} |
|
|
|
lastSize = currentSize; |
|
|
|
} |
|
|
|
retryCount++; |
|
|
|
try { |
|
|
|
Thread.sleep(SLEEP_MS); |
|
|
|
} catch (InterruptedException e) { |
|
|
|
break; |
|
|
|
} |
|
|
|
retryCount++; |
|
|
|
} |
|
|
|
} else { |
|
|
|
LoggerUtil.e("screenShot", "root截屏"); |
|
|
|
@ -749,6 +754,7 @@ public class MQTTService extends Service { |
|
|
|
final String localPath = StringUtil.strSplice(Constant.CACHE_PATH, "update/", appName); |
|
|
|
FileUtil.downloadFile(url, localPath, () -> { |
|
|
|
isDownloadFile = false; |
|
|
|
LoggerUtil.e("uploadApp", "APP下载完成"); |
|
|
|
AppUtil.installApp(localPath, DeviceUtil.getPackageName(), DeviceUtil.getPackageName(), true); |
|
|
|
}); |
|
|
|
} |
|
|
|
@ -763,7 +769,7 @@ public class MQTTService extends Service { |
|
|
|
try { |
|
|
|
SSLContext sc = SSLContext.getInstance("SSL"); |
|
|
|
try { |
|
|
|
sc.init(null,trustAllCerts,null); |
|
|
|
sc.init(null,trustAllCerts,new SecureRandom()); |
|
|
|
SSLSocketFactory factory = sc.getSocketFactory(); |
|
|
|
conOpt.setSocketFactory(factory); |
|
|
|
} catch (KeyManagementException e) { |
|
|
|
|