From 25429f085093d89d543a0b90e30d0d62d1b7dac9 Mon Sep 17 00:00:00 2001 From: hxb <hxb@hdlchina.com.cn> Date: 星期二, 30 八月 2022 09:37:38 +0800 Subject: [PATCH] 合并了IOS的代码 --- ZigbeeApp/Shared/Phone/MainPage/HomeMainPageForm.cs | 187 ++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 163 insertions(+), 24 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/MainPage/HomeMainPageForm.cs b/ZigbeeApp/Shared/Phone/MainPage/HomeMainPageForm.cs old mode 100755 new mode 100644 index 726e76a..ae83791 --- a/ZigbeeApp/Shared/Phone/MainPage/HomeMainPageForm.cs +++ b/ZigbeeApp/Shared/Phone/MainPage/HomeMainPageForm.cs @@ -84,6 +84,8 @@ this.AddSensorDeviceReportEvent(); //寮�鍚紶鎰熷櫒鐘舵�佽繕鍘熺殑绾跨▼ this.StartRecoverSenorStatuThread(); + //鏄剧ずApp鍏憡 + this.ShowAppNotice(); } /// <summary> @@ -100,7 +102,7 @@ //妤煎眰鍥炬爣 var btnFloorIcon = new IconViewControl(69); - btnFloorIcon.X = HdlControlResourse.XXLeft; + btnFloorIcon.X = ControlCommonResourse.XXLeft; btnFloorIcon.Gravity = Gravity.CenterVertical; btnFloorIcon.UnSelectedImagePath = "Item/Floor.png"; topFrameLayout.AddChidren(btnFloorIcon); @@ -135,7 +137,7 @@ //鍙瀵硅蹇嵎鏂瑰紡 Shared.Phone.Device.VideoIntercom.VideoMachine.AccountSupportVideo(topFrameLayout); //瀹夐槻蹇嵎鏂瑰紡 - if (HdlUserCenterResourse.ResidenceOption.SafetyShortcut) + if (UserCenterResourse.ResidenceOption.SafetyShortcut) { var btnSafety = new Controls.SafetyShortcutControl(); btnSafety.X = Application.GetRealWidth(860); @@ -152,7 +154,7 @@ //浣忓畢鍚嶅瓧 var btnHouseName = new NormalViewControl(700, 95, true); - btnHouseName.X = HdlControlResourse.XXLeft; + btnHouseName.X = ControlCommonResourse.XXLeft; btnHouseName.Y = Application.GetRealHeight(161); btnHouseName.TextSize = 24; btnHouseName.TextColor = ZigbeeColor.Current.GXCTextDeepBlackColor; @@ -188,7 +190,7 @@ private void InitMidFrameLayoutControl() { //鎴愬憳韬唤涓嶅厑璁告坊鍔犵綉鍏� - if (HdlUserCenterResourse.ResidenceOption.AuthorityNo == 3) + if (UserCenterResourse.UserInfo.AuthorityNo == 3) { //鍒濆鍖栧満鏅�,鍔熻兘鐨勫垏鎹㈡帶浠� this.InitSceneFunctionSwitchControl(); @@ -247,13 +249,13 @@ btnFunction.TextID = R.MyInternationalizationString.Function; btnFunction.TextAlignment = TextAlignment.Center; functionSceneView.AddChidren(btnFunction); - if (HdlUserCenterResourse.ResidenceOption.HomeMainPageSwitchIndex == 1) + if (UserCenterResourse.ResidenceOption.HomeMainPageSwitchIndex == 1) { btnScene.IsSelected = true; btnScene.TextSize = 17; btnScene.IsBold = true; } - else if (HdlUserCenterResourse.ResidenceOption.HomeMainPageSwitchIndex == 2) + else if (UserCenterResourse.ResidenceOption.HomeMainPageSwitchIndex == 2) { btnFunction.IsSelected = true; btnFunction.TextSize = 17; @@ -275,7 +277,7 @@ return; } //鍔熻兘鍒嗘敮閫夋嫨 - HdlUserCenterResourse.ResidenceOption.HomeMainPageSwitchIndex = 2; + UserCenterResourse.ResidenceOption.HomeMainPageSwitchIndex = 2; btnScene.IsSelected = false; btnScene.TextSize = 15; @@ -295,7 +297,7 @@ return; } //鍦烘櫙鍒嗘敮閫夋嫨 - HdlUserCenterResourse.ResidenceOption.HomeMainPageSwitchIndex = 1; + UserCenterResourse.ResidenceOption.HomeMainPageSwitchIndex = 1; btnScene.IsSelected = true; btnScene.TextSize = 17; @@ -549,9 +551,9 @@ var listDevice = new List<CommonDevice>(); foreach (var mainkeys in HdlRoomLogic.Current.NowMainPageRoom.ListDevice) { - var device = HdlDeviceCommonLogic.Current.GetDevice(mainkeys); + var device = LocalDevice.Current.GetDevice(mainkeys); //鍒ゆ柇璇ヨ澶囪兘鍚︽樉绀哄湪涓婚〉 - if (HdlDeviceCommonLogic.Current.CanShowInHomeHomeMainPage(device) == false) + if (LocalDevice.Current.CanShowInHomeHomeMainPage(device) == false) { continue; } @@ -630,6 +632,11 @@ { cardContr = new Controls.DevicePmSensorCardControl(); } + // 鏅捐。鏋� + else if (device.Type == DeviceType.Airer) + { + cardContr = new Controls.DeviceAirerCardControl(); + } //褰╃伅(璋冨厜鍣�) else if (device.Type == DeviceType.DimmableLight) { @@ -643,7 +650,17 @@ //娓╂箍搴� 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) @@ -656,7 +673,7 @@ cardContr = new Controls.DeviceColorTemperatureCardControl(); } //鏃犳硶璇嗗埆 - else + if (cardContr == null) { cardContr = new Controls.DeviceCardCommon(); } @@ -670,7 +687,7 @@ cardContr.CardNeedRemoveEvent += () => { //閲嶇疆璁惧鍗$墖鎺т欢鍧愭爣(鍗$墖闇�瑕佽鍒犻櫎涓撶敤) - this.ResetDeviceCardControlLocation(HdlDeviceCommonLogic.Current.GetDeviceMainKeys(device)); + this.ResetDeviceCardControlLocation(LocalDevice.Current.GetDeviceMainKeys(device)); }; //璁惧璁℃暟 contrCount++; @@ -682,7 +699,7 @@ YY = cardContr.Bottom + this.GetPictrueRealSize(15); } //鎺т欢璁板綍鍒扮紦瀛樹腑 - this.dicDeviceCardControl[HdlDeviceCommonLogic.Current.GetDeviceMainKeys(device)] = cardContr; + this.dicDeviceCardControl[LocalDevice.Current.GetDeviceMainKeys(device)] = cardContr; //鍔犵紦瀛�,鐒跺悗鍙戝懡浠� listContr.Add(cardContr); @@ -697,6 +714,7 @@ } HdlThreadLogic.Current.RunThread(() => { + int sendCount = 0; while (listDeviceBackContr.Parent != null) { bool hadSend = false; @@ -712,7 +730,7 @@ //鍙戦�佽幏鍙栫姸鎬佺殑鍛戒护 listContr[i].SendStatuComand(); hadSend = true; - System.Threading.Thread.Sleep(200); + System.Threading.Thread.Sleep(300); } } if (hadSend == false) @@ -720,7 +738,13 @@ //濡傛灉宸茬粡鍏ㄩ儴鍥炶矾閮芥帴鏀朵簡缃戝叧鍥炲,鍒欎笉鍐嶄簩娆″彂閫� break; } - System.Threading.Thread.Sleep(2000); + sendCount++; + if (sendCount == 2) + { + //灏卞彂2娆� + break; + } + System.Threading.Thread.Sleep(5000); } }, ShowErrorMode.NO); } @@ -1057,7 +1081,7 @@ //璁╃晫闈㈠埆闂儊 HdlThreadLogic.Current.RunMainInThread(() => { - if (HdlUserCenterResourse.ResidenceOption.HomeMainPageSwitchIndex == 2) + if (UserCenterResourse.ResidenceOption.HomeMainPageSwitchIndex == 2) { //鍔熻兘 this.ShowFunction(); @@ -1113,11 +1137,23 @@ HdlThreadLogic.Current.RunMain(() => { //澶勭悊涓�鑸澶囩殑涓婃姤鏁版嵁 - string mainKeys = HdlDeviceCommonLogic.Current.GetDeviceMainKeys(report); + 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) { //鍒锋柊鍗$墖淇℃伅 - var locadevice = HdlDeviceCommonLogic.Current.GetDevice(mainKeys); + var locadevice = LocalDevice.Current.GetDevice(mainKeys); //宸茬粡鎺ユ敹鍒扮綉鍏崇殑鍙嶉 2020.05.09:鍒犻櫎Ack涓婚 this.dicDeviceCardControl[mainKeys].SetHadGetResponeResultStatu(); //鍒锋柊鎺т欢 @@ -1140,11 +1176,11 @@ { HdlThreadLogic.Current.RunMain(() => { - string mainKeys = HdlDeviceCommonLogic.Current.GetDeviceMainKeys(report); + string mainKeys = LocalDevice.Current.GetDeviceMainKeys(report); if (this.dicDeviceCardControl.ContainsKey(mainKeys) == true) { //鍒锋柊鍗$墖鐘舵�� - bool bolOnline = HdlDeviceCommonLogic.Current.CheckDeviceIsOnline(report); + bool bolOnline = Common.LocalDevice.Current.CheckDeviceIsOnline(report); this.dicDeviceCardControl[mainKeys].SetCardOnlineStatu(bolOnline); return; } @@ -1168,7 +1204,7 @@ HdlThreadLogic.Current.RunMain(() => { //澶勭悊浼犳劅鍣ㄤ笂鎶ユ暟鎹� - string mainKeys = HdlDeviceCommonLogic.Current.GetDeviceMainKeys(report); + string mainKeys = LocalDevice.Current.GetDeviceMainKeys(report); if (this.dicDeviceCardControl.ContainsKey(mainKeys) == true) { //寮�鍚崱鐗囬棯鐑佺壒鏁� @@ -1204,7 +1240,7 @@ HdlThreadLogic.Current.RunMain(() => { //璁惧鐘舵�佸繀椤诲埛鏂� - string statuText = HdlDeviceCommonLogic.Current.GetMainPageDeviceStatuText(contr.device); + string statuText = HdlDeviceOtherLogic.Current.GetDeviceStatu(contr.device); contr.SetDeviceStatuText(statuText); //浼犳劅鍣ㄥ垏鎹负鐏拌壊鐘舵�� contr.SwitchCardStatuAppeal(false); @@ -1280,6 +1316,109 @@ 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 鈻� 鐣岄潰閲嶆柊婵�娲讳簨浠禵__________________ @@ -1293,6 +1432,6 @@ return 1; } - #endregion +#endregion } } -- Gitblit v1.8.0