From 351bdda734832d821a9764b0cde8be5d83c4ec50 Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期四, 01 十二月 2022 09:56:25 +0800 Subject: [PATCH] 2022年12月01日09:56:23 --- ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddScenePage.cs | 436 +++++++++++++++++++++++++++-------------------------- 1 files changed, 222 insertions(+), 214 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddScenePage.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddScenePage.cs index e5976fd..5348f72 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddScenePage.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddScenePage.cs @@ -9,15 +9,17 @@ namespace Shared.Phone.UserCenter.DeviceBind { + /// <summary> + /// 鏅�氶潰鏉跨殑缁戝畾鍦烘櫙鐣岄潰銆愬彧鍙粦瀹�1涓満鏅�� + /// </summary> public class AddScenePage : BindCommonLayout { /// 鏋勯�犲嚱鏁� /// </summary> /// <param name="doorLock"></param> - public AddScenePage(ZigBee.Device.Panel key, List<ScenesListInfo> gwScenesList) + public AddScenePage(ZigBee.Device.Panel key) { this.currentKey = key; - gwCurScenesList = gwScenesList; } #region 鍙橀噺鐢虫槑 @@ -52,7 +54,7 @@ /// <summary> /// 淇濆瓨瀹屾垚鎸夐挳 /// </summary> - Button btnFinifh; + Button btnFinish; /// <summary> /// 妤煎眰鏂囨湰 /// </summary> @@ -62,10 +64,7 @@ /// </summary> Dictionary<string, string> dicFloor; List<SceneUI> currentKeyAllRoomSceneList = new List<SceneUI>(); - /// <summary> - /// 缃戝叧涓殑鍦烘櫙鍒楄〃 - /// </summary> - public List<ScenesListInfo> gwCurScenesList = new List<ScenesListInfo>(); + #endregion /// <summary> @@ -169,7 +168,7 @@ }; this.midFrameLayout.AddChidren(bottomFrameLayout); - btnFinifh = new Button() + btnFinish = new Button() { Width = Application.GetRealWidth(907), Gravity = Gravity.CenterHorizontal, @@ -180,10 +179,10 @@ IsBold = true, TextSize = 16, }; - bottomFrameLayout.AddChidren(btnFinifh); + bottomFrameLayout.AddChidren(btnFinish); #endregion - #region 鏁版嵁澶勭悊 + #region 鏁版嵁澶勭悊 //鑾峰彇妤煎眰 dicFloor = HdlRoomLogic.Current.GetFloorSortList(); currentKey.currentSelectFloorId = BindInfo.GetCurrentSelectFloorId(); @@ -240,217 +239,222 @@ if (curRoom.ListSceneId.Count == 0) { - btnFinifh.Enable = false; - btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect; + btnFinish.Enable = false; + btnFinish.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect; } else { - btnFinifh.Enable = true; - btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; + btnFinish.Enable = true; + btnFinish.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; } if (targetListDevice.Count == 0 && targetListScene.Count == 0) { - btnFinifh.Enable = false; - btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect; + btnFinish.Enable = false; + btnFinish.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect; } else { - btnFinifh.Enable = true; - btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; + btnFinish.Enable = true; + btnFinish.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; } - btnFinifh.MouseUpEventHandler += async (sender, e) => + btnFinish.MouseUpEventHandler += (sender, e) => { bool isFinish = false; - try + System.Threading.Tasks.Task.Run(() => { - if (targetListDevice.Count == 0 && targetListScene.Count == 0) + try { - Application.RunOnMainThread(() => - { - var myTip = new Tip(); - myTip.Direction = AMPopTipDirection.None; - myTip.CloseTime = 2; - myTip.Text = Language.StringByID(R.MyInternationalizationString.BindDeviceTargetIsEmpty); - myTip.Show(Common.CommonPage.Instance); - }); - return; - } - - Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); }); - if (currentKey.bindList.Count != 0) - { - var bindResult = await currentKey.ClearBindInfoAsync(); - if (bindResult != null && bindResult.clearBindInfoResponseData != null) - { - if (bindResult.clearBindInfoResponseData.Result != 0) - { - Application.RunOnMainThread(() => - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.BindFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh); - CommonPage.Loading.Hide(); - }); - btnFinifh.Enable = true; - btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; - return; - } - else - { - currentKey.bindList.Clear(); - } - } - else + if (targetListDevice.Count == 0 && targetListScene.Count == 0) { Application.RunOnMainThread(() => { + var myTip = new Tip(); + myTip.Direction = AMPopTipDirection.None; + myTip.CloseTime = 2; + myTip.Text = Language.StringByID(R.MyInternationalizationString.BindDeviceTargetIsEmpty); + myTip.Show(Common.CommonPage.Instance); + }); + return; + } + + Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); }); + if (currentKey.bindList.Count != 0) + { + var bindResult = HdlDeviceBindLogic.Current.ClearBindInfoAsync(currentKey); + if (bindResult != null && bindResult.clearBindInfoResponseData != null) + { + if (bindResult.clearBindInfoResponseData.Result != 0) + { + Application.RunOnMainThread(() => + { + btnFinish.Enable = true; + btnFinish.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.BindFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish); + CommonPage.Loading.Hide(); + }); + return; + } + else + { + currentKey.bindList.Clear(); + } + } + else + { + Application.RunOnMainThread(() => + { + btnFinish.Enable = true; + btnFinish.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; + CommonPage.Loading.Hide(); + var myTip = new Tip(); + myTip.Direction = AMPopTipDirection.None; + myTip.CloseTime = 2; + myTip.Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime) + "(" + "5006" + ")"; + myTip.Show(Common.CommonPage.Instance); + }); + return; + } + } + + var temp = HdlDeviceBindLogic.Current.ConfigureHdlKeyValueAsync(currentKey, Panel.KeyMode.Scene_Trigger); + if (temp == null || temp.setWritableValueResponData == null) + { + Application.RunOnMainThread(() => + { + btnFinish.Enable = true; + btnFinish.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; CommonPage.Loading.Hide(); var myTip = new Tip(); myTip.Direction = AMPopTipDirection.None; myTip.CloseTime = 2; - myTip.Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime); + myTip.Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime) + "(" + "120_ 6533" + ")"; myTip.Show(Common.CommonPage.Instance); }); - btnFinifh.Enable = true; - btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; return; } - } - - var temp = await currentKey.ConfigureHdlKeyValueAsync(Panel.KeyMode.Scene_Trigger); - if (temp == null || temp.setWritableValueResponData == null) - { - Application.RunOnMainThread(() => + if (temp.setWritableValueResponData.Status != 0) { - CommonPage.Loading.Hide(); - var myTip = new Tip(); - myTip.Direction = AMPopTipDirection.None; - myTip.CloseTime = 2; - myTip.Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime); - myTip.Show(Common.CommonPage.Instance); - }); - btnFinifh.Enable = true; - btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; - return; - } - if (temp.setWritableValueResponData.Status != 0) - { - Application.RunOnMainThread(() => - { - var myTip = new Tip(); - myTip.Direction = AMPopTipDirection.None; - myTip.CloseTime = 2; - myTip.Text = Language.StringByID(R.MyInternationalizationString.ChangeBindMode); - myTip.Show(Common.CommonPage.Instance); - CommonPage.Loading.Hide(); - }); - btnFinifh.Enable = true; - btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; - return; - } - else - { - currentKey.panelMode = 1; - var addBindeDev = new AddBindData(); - addBindeDev.DeviceAddr = currentKey.DeviceAddr; - addBindeDev.Epoint = currentKey.DeviceEpoint; - foreach (var de in targetListDevice) - { - if (de.DeviceAddr != null) + Application.RunOnMainThread(() => { - var addBindInfo = new AddBindListObj(); - addBindInfo.BindType = 0; - addBindInfo.BindCluster = 6; - addBindInfo.BindMacAddr = de.DeviceAddr; - addBindInfo.BindEpoint = de.DeviceEpoint; + btnFinish.Enable = true; + btnFinish.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; + var myTip = new Tip(); + myTip.Direction = AMPopTipDirection.None; + myTip.CloseTime = 2; + myTip.Text = Language.StringByID(R.MyInternationalizationString.ChangeBindMode); + myTip.Show(Common.CommonPage.Instance); + CommonPage.Loading.Hide(); + }); + return; + } + else + { + currentKey.panelMode = 1; + var addBindeDev = new AddBindData(); + addBindeDev.DeviceAddr = currentKey.DeviceAddr; + addBindeDev.Epoint = currentKey.DeviceEpoint; + foreach (var de in targetListDevice) + { + if (de.DeviceAddr != null) + { + var addBindInfo = new AddBindListObj(); + addBindInfo.BindType = 0; + addBindInfo.BindCluster = 6; + addBindInfo.BindMacAddr = de.DeviceAddr; + addBindInfo.BindEpoint = de.DeviceEpoint; + addBindeDev.BindList.Add(addBindInfo); + } + } + foreach (var de in targetListScene) + { + var addBindInfo = new AddBindListObj(); + addBindInfo.BindType = 1; + addBindInfo.BindCluster = 6; + addBindInfo.BindScenesId = de.Id; addBindeDev.BindList.Add(addBindInfo); } - } - foreach (var de in targetListScene) - { - var addBindInfo = new AddBindListObj(); - addBindInfo.BindType = 1; - addBindInfo.BindCluster = 6; - addBindInfo.BindScenesId = de.Id; - addBindeDev.BindList.Add(addBindInfo); - } - var dev = new AddedDeviceBindResponseAllData(); - dev = await currentKey.AddDeviceBindAsync(addBindeDev); - if (dev != null && dev.addedDeviceBindResponseData != null) - { - if (dev.addedDeviceBindResponseData.Result == 0) + var dev = new AddedDeviceBindResponseAllData(); + dev = HdlDeviceBindLogic.Current.AddDeviceBindAsync(addBindeDev); + if (dev != null && dev.addedDeviceBindResponseData != null) { - currentKey.bindList = dev.addedDeviceBindResponseData.BindList; - targetListDevice.Clear(); - targetListScene.Clear(); - isFinish = true; - if (isFinish) + if (dev.addedDeviceBindResponseData.Result == 0) { - if (action != null) + currentKey.bindList = dev.addedDeviceBindResponseData.BindList; + targetListDevice.Clear(); + targetListScene.Clear(); + isFinish = true; + Application.RunOnMainThread(() => { - action(currentKey.bindList); - } - this.RemoveFromParent(); + if (isFinish) + { + if (action != null) + { + action(currentKey.bindList); + } + this.RemoveFromParent(); + } + else + { + this.RemoveFromParent(); + } + CommonPage.Loading.Hide(); + btnFinish.Enable = true; + btnFinish.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; + }); + } + else if (dev.addedDeviceBindResponseData.Result == 1) + { + Application.RunOnMainThread(() => + { + btnFinish.Enable = true; + btnFinish.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; + CommonPage.Loading.Hide(); + new Tip() + { + MaxWidth = 150, + Text = Language.StringByID(R.MyInternationalizationString.BindFailed), + Direction = AMPopTipDirection.Up, + CloseTime = 1 + }.Show(btnFinish); + }); + return; } else { - this.RemoveFromParent(); - } - Application.RunOnMainThread(() => - { - CommonPage.Loading.Hide(); - btnFinifh.Enable = true; - btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; - }); - } - else if (dev.addedDeviceBindResponseData.Result == 1) - { - Application.RunOnMainThread(() => - { - CommonPage.Loading.Hide(); - new Tip() + Application.RunOnMainThread(() => { - MaxWidth = 150, - Text = Language.StringByID(R.MyInternationalizationString.BindFailed), - Direction = AMPopTipDirection.Up, - CloseTime = 1 - }.Show(btnFinifh); - }); - btnFinifh.Enable = true; - btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; - return; + btnFinish.Enable = true; + btnFinish.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; + CommonPage.Loading.Hide(); + new Tip() + { + MaxWidth = 150, + Text = Language.StringByID(R.MyInternationalizationString.BindUnknownError), + Direction = AMPopTipDirection.Up, + CloseTime = 1 + }.Show(btnFinish); + }); + + return; + } } else { Application.RunOnMainThread(() => { + btnFinish.Enable = true; + btnFinish.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; CommonPage.Loading.Hide(); - new Tip() - { - MaxWidth = 150, - Text = Language.StringByID(R.MyInternationalizationString.BindUnknownError), - Direction = AMPopTipDirection.Up, - CloseTime = 1 - }.Show(btnFinifh); + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime) + "(" + "5001" + ")", Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish); }); - btnFinifh.Enable = true; - btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; + return; } } - else - { - Application.RunOnMainThread(() => - { - CommonPage.Loading.Hide(); - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh); - }); - btnFinifh.Enable = true; - btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; - return; - } } - } - catch { } + catch { } + }); }; #endregion } @@ -490,11 +494,11 @@ { roomTempList.Add(room); } - if (roomTempList.Count != 0) - { - curRoom = roomTempList[0]; - } - + } + for (int i = 0; i < roomTempList.Count; i++) + { + var room = roomTempList[i]; + curRoom = roomTempList[0]; var btnRoomFrameLayout = new FrameLayout { Height = Application.GetMinReal(159), @@ -509,7 +513,7 @@ var btnRoom = new Button { Height = Application.GetRealHeight(58), - Width = Application.GetRealWidth(127), + Width = Application.GetRealWidth(255), Y = Application.GetRealHeight(58), X = Application.GetRealWidth(14), Text = room.Name, @@ -527,6 +531,20 @@ curentOldRoom = btnRoom; curentOldRoomFrameLayout = btnRoomFrameLayout; } + + if (index == roomTempList.Count - 1 && index > 2) + { + var btnRoomFrameLayoutEmpty = new FrameLayout + { + Height = Application.GetMinReal(159), + Width = Application.GetMinReal(50), + Y = Application.GetRealHeight(23), + X = Application.GetRealWidth(5), + BorderWidth = 1, + }; + btnHorizontalScrolViewLayout.AddChidren(btnRoomFrameLayoutEmpty); + } + EventHandler<MouseEventArgs> eHandlerRoom = (sender, e) => { if (!btnRoom.IsSelected) @@ -553,23 +571,23 @@ curRoom = room; if (curRoom.ListSceneId.Count == 0) { - btnFinifh.Enable = false; - btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect; + btnFinish.Enable = false; + btnFinish.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect; } else { - btnFinifh.Enable = true; - btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; + btnFinish.Enable = true; + btnFinish.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; } if (targetListDevice.Count == 0 && targetListScene.Count == 0) { - btnFinifh.Enable = false; - btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect; + btnFinish.Enable = false; + btnFinish.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect; } else { - btnFinifh.Enable = true; - btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; + btnFinish.Enable = true; + btnFinish.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; } RefreshSceneList(curRoom); @@ -578,7 +596,7 @@ btnRoomFrameLayout.MouseUpEventHandler += eHandlerRoom; index++; } - BindInfo.FinishDisplay(roomTempList, btnFinifh); + BindInfo.FinishDisplay(roomTempList, btnFinish); RefreshSceneList(curRoom); } @@ -598,8 +616,8 @@ var currentSceneUIList = GetMatchSceneUIList(curRoom); if (currentSceneUIList.Count == 0) { - btnFinifh.Enable = false; - btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect; + btnFinish.Enable = false; + btnFinish.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect; return; } foreach (var scene in currentSceneUIList) @@ -694,16 +712,10 @@ } } - bool IsTip = false; EventHandler<MouseEventArgs> hander = (sender, e) => { if (currentKey.bindList.Count != 0) { - if (IsTip) - { - return; - } - IsTip = true; if (btnChoose.IsSelected) { new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.BindExist), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnBindName); @@ -727,13 +739,13 @@ } if (targetListDevice.Count == 0 && targetListScene.Count == 0) { - btnFinifh.Enable = false; - btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect; + btnFinish.Enable = false; + btnFinish.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect; } else { - btnFinifh.Enable = true; - btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; + btnFinish.Enable = true; + btnFinish.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; } }; rowLayout.MouseUpEventHandler += hander; @@ -744,13 +756,13 @@ } if (targetListDevice.Count == 0 && targetListScene.Count == 0) { - btnFinifh.Enable = false; - btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect; + btnFinish.Enable = false; + btnFinish.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect; } else { - btnFinifh.Enable = true; - btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; + btnFinish.Enable = true; + btnFinish.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; } } @@ -897,13 +909,13 @@ RefreshSceneList(roomList[0]); if (targetListDevice.Count == 0 && targetListScene.Count == 0) { - btnFinifh.Enable = false; - btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect; + btnFinish.Enable = false; + btnFinish.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect; } else { - btnFinifh.Enable = true; - btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; + btnFinish.Enable = true; + btnFinish.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; } dialog.Close(); }; @@ -933,7 +945,7 @@ List<SceneUI> GetALlDispalyRoomSceneList() { currentKeyAllRoomSceneList.Clear(); - // 鑾峰彇鎵�鏈夋埧闂� + // 鑾峰彇鎵�鏈夋埧闂� var listAllRoom = HdlRoomLogic.Current.GetAllListRooms(); foreach (var room in listAllRoom) { @@ -975,11 +987,7 @@ { continue; } - var gwSc = gwCurScenesList.Find(obj => (obj.ScenesId == sceneId)); - if (gwSc != null) - { - tempSceneUIList.Add(scene); - } + tempSceneUIList.Add(scene); } return tempSceneUIList; } -- Gitblit v1.8.0