old mode 100755
new mode 100644
| | |
| | | this.AddSensorDeviceReportEvent();
|
| | | //开启传感器状态还原的线程
|
| | | this.StartRecoverSenorStatuThread();
|
| | | //显示App公告
|
| | | this.ShowAppNotice();
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | |
| | | this.listBodyContr.frameTable.AddChidren(bg);
|
| | |
|
| | | var tip = new NormalViewControl(this.GetPictrueRealSize(717), this.GetPictrueRealSize(58), false);
|
| | | tip.Y = Application.GetRealHeight(815);
|
| | | tip.Y = bg.Bottom + Application.GetRealHeight(35);
|
| | | tip.Gravity = Gravity.CenterHorizontal;
|
| | | tip.TextID = R.MyInternationalizationString.NewAccountNeedBingGW;
|
| | | tip.TextColor = ZigbeeColor.Current.GXCTextGrayColor;
|
| | |
| | | this.listBodyContr.frameTable.AddChidren(tip);
|
| | |
|
| | | var addBG = new PicViewControl(971, 366);
|
| | | addBG.Y = Application.GetRealHeight(1048);
|
| | | addBG.Y = tip.Bottom + Application.GetRealHeight(176);
|
| | | addBG.UnSelectedImagePath = "Item/VirtualFrame.png";
|
| | | addBG.Gravity = Gravity.CenterHorizontal;
|
| | | this.listBodyContr.frameTable.AddChidren(addBG);
|
| | |
|
| | | var addGatewayBtn = new IconViewControl(89);
|
| | | addGatewayBtn.Y = Application.GetRealHeight(1143);
|
| | | addGatewayBtn.Y = tip.Bottom + Application.GetRealHeight(271);
|
| | | addGatewayBtn.UnSelectedImagePath = "Item/Add_GW.png";
|
| | | addGatewayBtn.Gravity = Gravity.CenterHorizontal;
|
| | | this.listBodyContr.frameTable.AddChidren(addGatewayBtn);
|
| | |
| | | };
|
| | |
|
| | | var addTip = new PicViewControl(717, 58);
|
| | | addTip.Y = Application.GetRealHeight(1256);
|
| | | addTip.Y = addGatewayBtn.Bottom + Application.GetRealHeight(23);
|
| | | addTip.Gravity = Gravity.CenterHorizontal;
|
| | | addTip.TextID = R.MyInternationalizationString.AddSmartGW;
|
| | | addTip.TextColor = ZigbeeColor.Current.GXCTextBlackColor;
|
| | |
| | | {
|
| | | cardContr = new Controls.DevicePmSensorCardControl();
|
| | | }
|
| | | // 晾衣架 |
| | | else if (device.Type == DeviceType.Airer)
|
| | | {
|
| | | cardContr = new Controls.DeviceAirerCardControl();
|
| | | }
|
| | | //彩灯(调光器)
|
| | | else if (device.Type == DeviceType.DimmableLight)
|
| | | {
|
| | |
| | | //温湿度
|
| | | else if (device.Type == DeviceType.TemperatureSensor)
|
| | | {
|
| | | cardContr = new Controls.DeviceTemperatureCardControl();
|
| | | //空气质量传感器 |
| | | //获取设备类型
|
| | | var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { device });
|
| | | if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.AirQualitySensor)
|
| | | {
|
| | | cardContr = new Controls.DeviceAirQualitySensorCardControl();
|
| | | }
|
| | | else
|
| | | {
|
| | | cardContr = new Controls.DeviceTemperatureCardControl();
|
| | | }
|
| | | }
|
| | | //门锁
|
| | | else if (device.Type == DeviceType.DoorLock)
|
| | |
| | | cardContr = new Controls.DeviceColorTemperatureCardControl();
|
| | | }
|
| | | //无法识别
|
| | | else
|
| | | if (cardContr == null)
|
| | | {
|
| | | cardContr = new Controls.DeviceCardCommon();
|
| | | }
|
| | |
| | | }
|
| | | HdlThreadLogic.Current.RunThread(() =>
|
| | | {
|
| | | for (int i = 0; i < listContr.Count; i++)
|
| | | int sendCount = 0;
|
| | | while (listDeviceBackContr.Parent != null)
|
| | | {
|
| | | if (listDeviceBackContr.Parent == null)
|
| | | bool hadSend = false;
|
| | | for (int i = 0; i < listContr.Count; i++)
|
| | | {
|
| | | return;
|
| | | if (listDeviceBackContr.Parent == null)
|
| | | {
|
| | | return;
|
| | | }
|
| | | //如果还没有接收到数据,则再次发送
|
| | | if (listContr[i].ReceiveResponeResultStatu() == false)
|
| | | {
|
| | | //发送获取状态的命令
|
| | | listContr[i].SendStatuComand();
|
| | | hadSend = true;
|
| | | System.Threading.Thread.Sleep(300);
|
| | | }
|
| | | }
|
| | | System.Threading.Thread.Sleep(200);
|
| | | //发送获取状态的命令
|
| | | listContr[i].SendStatuComand();
|
| | | if (hadSend == false)
|
| | | {
|
| | | //如果已经全部回路都接收了网关回复,则不再二次发送
|
| | | break;
|
| | | }
|
| | | sendCount++;
|
| | | if (sendCount == 2)
|
| | | {
|
| | | //就发2次
|
| | | break;
|
| | | }
|
| | | System.Threading.Thread.Sleep(5000);
|
| | | }
|
| | |
|
| | | }, ShowErrorMode.NO);
|
| | | }
|
| | | });
|
| | |
| | | {
|
| | | //处理一般设备的上报数据
|
| | | string mainKeys = LocalDevice.Current.GetDeviceMainKeys(report);
|
| | |
|
| | | //晾衣架上报需要特殊处理,其他上报的回路统一转为端点1
|
| | | var tempList = LocalDevice.Current.GetDevicesByMac(report.DeviceAddr);
|
| | | if (tempList.Count > 0)
|
| | | {
|
| | | var tempDeviceEnum = LocalDevice.Current.GetMyDeviceEnumInfo(tempList);
|
| | | if (tempDeviceEnum.ConcreteType == Common.DeviceConcreteType.Airer)
|
| | | {
|
| | | mainKeys = report.DeviceAddr + "_" + 1;
|
| | | }
|
| | | }
|
| | |
|
| | | if (this.dicDeviceCardControl.ContainsKey(mainKeys) == true)
|
| | | {
|
| | | //刷新卡片信息
|
| | |
| | | //设备状态必须刷新
|
| | | string statuText = HdlDeviceOtherLogic.Current.GetDeviceStatu(contr.device);
|
| | | contr.SetDeviceStatuText(statuText);
|
| | | //传感器切换为灰色状态
|
| | | contr.SwitchCardStatuAppeal(false);
|
| | |
|
| | | }, ShowErrorMode.NO);
|
| | | }
|
| | |
| | | return true;
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 显示App公告
|
| | | /// </summary>
|
| | | private void ShowAppNotice()
|
| | | {
|
| | | HdlThreadLogic.Current.RunThread(() =>
|
| | | {
|
| | | if (HdlFirmwareUpdateLogic.CheckCanShowNotice() == true)
|
| | | {
|
| | | while (this.IsFormOpen("HdlAutoBackupForm") == true)
|
| | | {
|
| | | //自动备份的界面正在打开中
|
| | | System.Threading.Thread.Sleep(1000);
|
| | | }
|
| | | HdlThreadLogic.Current.RunMain(() =>
|
| | | {
|
| | | //加载系统公告
|
| | | var form2 = new AppNoticeForm();
|
| | | UserView.UserPage.Instance.AddChidren(form2);
|
| | | form2.Show();
|
| | | form2.FinishEvent += () =>
|
| | | {
|
| | | HdlThreadLogic.Current.RunThread(() =>
|
| | | {
|
| | | System.Threading.Thread.Sleep(1000);
|
| | | //显示App升级的弹窗
|
| | | this.ShowUpdateAppDialog();
|
| | |
|
| | | }, ShowErrorMode.NO);
|
| | | };
|
| | |
|
| | | }, ShowErrorMode.NO);
|
| | | }
|
| | | else
|
| | | {
|
| | | //显示App升级的弹窗
|
| | | this.ShowUpdateAppDialog();
|
| | | }
|
| | | }, ShowErrorMode.NO);
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 显示App升级的弹窗
|
| | | /// </summary>
|
| | | private void ShowUpdateAppDialog()
|
| | | {
|
| | | //App升级提示
|
| | | if (string.IsNullOrEmpty(FirmwareUpdateResourse.AppNeedUpdateUrl) == false)
|
| | | {
|
| | | //整了一次之后就不整了
|
| | | string updateUrl = FirmwareUpdateResourse.AppNeedUpdateUrl;
|
| | | FirmwareUpdateResourse.AppNeedUpdateUrl = string.Empty;
|
| | |
|
| | | while (this.IsFormOpen("HdlAutoBackupForm") == true)
|
| | | {
|
| | | //自动备份的界面正在打开中
|
| | | System.Threading.Thread.Sleep(1000);
|
| | | }
|
| | | //发现APP新版本,马上升级{0}开启新体验哦~
|
| | | this.ShowMassage(ShowMsgType.Confirm, Language.StringByID(R.MyInternationalizationString.uAppUpdateMsg1).Replace("{0}", "\r\n"), () =>
|
| | | {
|
| | | #if iOS
|
| | | Uri url = new Uri(updateUrl);
|
| | | UIKit.UIApplication.SharedApplication.OpenUrl(url);
|
| | | #endif
|
| | | #if Android
|
| | | HDLUtils.OpenUrl(updateUrl);
|
| | | #endif
|
| | | }, Language.StringByID(R.MyInternationalizationString.uLevelUp));
|
| | | //App升级提示优先
|
| | | return;
|
| | | }
|
| | | //网关升级提示
|
| | | if (FirmwareUpdateResourse.ListGatewayNeedUpdate.Count > 0)
|
| | | {
|
| | | //整完之后就清空
|
| | | var listGateway = new List<string>();
|
| | | listGateway.AddRange(FirmwareUpdateResourse.ListGatewayNeedUpdate);
|
| | | FirmwareUpdateResourse.ListGatewayNeedUpdate = new List<string>();
|
| | |
|
| | | while (this.IsFormOpen("HdlAutoBackupForm") == true)
|
| | | {
|
| | | //自动备份的界面正在打开中
|
| | | System.Threading.Thread.Sleep(1000);
|
| | | }
|
| | | foreach (var gwId in listGateway)
|
| | | {
|
| | | //目前只整一个
|
| | | if (HdlGatewayLogic.Current.IsGatewayExist(gwId) == true)
|
| | | {
|
| | | //发现网关新版本,马上升级{0}开启新体验哦~
|
| | | this.ShowMassage(ShowMsgType.Confirm, Language.StringByID(R.MyInternationalizationString.uGatewayUpdateMsg1).Replace("{0}", "\r\n"), () =>
|
| | | {
|
| | | var form = new UserCenter.GatewayUpdate.GatewayFirmwareUpdateForm();
|
| | | form.AddForm(HdlGatewayLogic.Current.GetLocalGateway(gwId));
|
| | | });
|
| | | break;
|
| | | }
|
| | | }
|
| | | return;
|
| | | }
|
| | | }
|
| | |
|
| | | #endregion
|
| | |
|
| | | #region ■ 界面重新激活事件___________________
|
| | |
| | | return 1;
|
| | | }
|
| | |
|
| | | #endregion
|
| | | #endregion
|
| | | }
|
| | | }
|