private void updateQosRule(int uploadSpeed, int downloadSpeed, String ip) { QosObj qosObj = new QosObj(uploadSpeed, downloadSpeed, ip, qosRule.getIndex()); String ssid = WifiManagerUtil.getWifiName(mContext); boolean is5 = (ssid != null && ssid.equals(Settings.getNetName5(mContext))); if (Global.getInstance(mContext).isOuterNet()) { XMPPClient xmppClient = Global.getInstance(mContext).getXMPPClient(); if (xmppClient != null && xmppClient.isConnected()) { if (is5) xmppClient.updateQosRule5( Settings.getMacAddress(mContext), Settings.getRouteMacAddress(mContext), uploadSpeed + "-" + downloadSpeed + "-" + qosObj.getClass() + "-" + ip); else xmppClient.updateQosRule2( Settings.getMacAddress(mContext), Settings.getRouteMacAddress(mContext), uploadSpeed + "-" + downloadSpeed + "-" + qosObj.getClass() + "-" + ip); } } else { shareCircleClient = Global.getInstance(mContext).getShareCircleClient(); if (shareCircleClient.isConnected()) { UserMessage message = new UserMessage(); PdmClientMessage clientMsg = new PdmClientMessage(qosObj, null); if (is5) { message.messageType = PdmClientMessageType.SET_DEVICE_QOSRULE_5.intValue(); } else { message.messageType = PdmClientMessageType.SET_DEVICE_QOSRULE_2.intValue(); } message.messageData = clientMsg; shareCircleClient.sendMessage(message); } else { Toast.makeText(mContext, R.string.network_disconnect, Toast.LENGTH_SHORT).show(); } } }
private void initLimit(ConnectDevice device) { qosRule = device.qosRule; if (qosRule == null) { // 没有设置流量限制 qosRule = new QosRule(); uploadState = false; downloadState = false; } else { if (qosRule.getUplinkSpeed() == null || qosRule.getUplinkSpeed().contains("-")) { uploadState = false; uploadText.setText("0"); } else { uploadState = true; String uploadSeepText = MyUtils.formatNetRate(qosRule.getUplinkSpeed()); if (uploadSeepText.endsWith("K")) { uploadUnit = UnitType.KB; uploadText.setText(uploadSeepText.substring(0, uploadSeepText.indexOf("K")).trim()); } else { uploadUnit = UnitType.MB; uploadText.setText(uploadSeepText.substring(0, uploadSeepText.indexOf("M")).trim()); } tv_uploadUnit.setText(uploadUnit.getText()); } if (StringUtil.isNullOrEmpty(qosRule.getDownlinkSpeed()) || qosRule.getDownlinkSpeed().contains("-")) { downloadText.setText("0"); downloadState = false; } else { downloadState = true; String downloadSeepText = MyUtils.formatNetRate(qosRule.getDownlinkSpeed()); if (downloadSeepText.endsWith("K")) { downloadUnit = UnitType.KB; downloadText.setText(downloadSeepText.substring(0, downloadSeepText.indexOf("K")).trim()); } else { downloadUnit = UnitType.MB; downloadText.setText(downloadSeepText.substring(0, downloadSeepText.indexOf("M")).trim()); } tv_downloadUnit.setText(downloadUnit.getText()); } } }