From 23532fa8ad34c89b6d24b01eaef6475fd0aad898 Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期三, 15 四月 2020 18:08:24 +0800 Subject: [PATCH] ??????? --- ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddDevicePage.cs | 234 +++++++++++++++++++++++++++++++++------------------------- 1 files changed, 132 insertions(+), 102 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddDevicePage.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddDevicePage.cs index c57bf0f..cdbc6d0 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddDevicePage.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddDevicePage.cs @@ -1,26 +1,14 @@ 锘縰sing System; using System.Collections.Generic; using Shared.Common; -using Shared.Phone.Device.Light; using Shared.Phone.UserCenter.Device; using ZigBee.Device; using static ZigBee.Device.BindObj; using static ZigBee.Device.Panel; namespace Shared.Phone.UserCenter.DeviceBind { - public class AddDevicePage : BindCommonLayout, ZigBee.Common.IStatus + public class AddDevicePage : BindCommonLayout { - /// <summary> - /// 鎸夐敭妯″紡鎺ユ敹 - /// </summary> - /// <param name="common">Common.</param> - public void Changed(CommonDevice common) - { - Shared.Application.RunOnMainThread(() => - { - }); - } - /// 鏋勯�犲嚱鏁� /// </summary> /// <param name="doorLock"></param> @@ -30,27 +18,68 @@ this.curDeviceBindType = deviceBindType; } - #region 鈼� 鍙橀噺鐢虫槑__________________________ + #region 鍙橀噺鐢虫槑 + /// <summary> + /// 褰撳墠鎸夐敭 + /// </summary> ZigBee.Device.Panel currentKey; - //鏄剧ず琚粦瀹氳澶囨垨鍦烘櫙鐨剉iew + /// <summary> + /// 鏄剧ず琚粦瀹氳澶囨垨鍦烘櫙鐨剉iew + /// </summary> VerticalScrolViewLayout midVerticalScrolViewLayout; + /// <summary> + /// 鏄剧ず鎴块棿鐨剉iew + /// </summary> HorizontalScrolViewLayout btnHorizontalScrolViewLayout; /// <summary> /// 鎸夐敭閰嶇疆鐨勭洰鏍囧垪琛� /// </summary> List<CommonDevice> targetList = new List<CommonDevice>(); + /// <summary> + /// 鎴块棿鍒楄〃 + /// </summary> List<Room> roomList = new List<Room>(); + /// <summary> + /// 娣诲姞璁惧鍚庣殑鍥炶皟 + /// </summary> public Action<List<BindListResponseObj>> actionAddDevicePage; - List<DeviceUI> curTypeDeviceList = new List<DeviceUI> { }; + /// <summary> + /// 褰撳墠璁惧绫诲瀷鍒楄〃 + /// </summary> + List<CommonDevice> curTypeDeviceList = new List<CommonDevice> { }; + /// <summary> + /// 褰撳墠璁惧缁戝畾绫诲瀷 + /// </summary> string curDeviceBindType = ""; + /// <summary> + /// 妤煎眰鏂囨湰 + /// </summary> Button btnFloorText; + /// <summary> + /// 妤煎眰琛� + /// </summary> Dictionary<string, string> dicFloor; + /// <summary> + /// 褰撳墠閫夋嫨鐨勬寜閿ā寮� + /// </summary> Button btnChooseKeyMode; - bool IsInitEntry = false;//鏄惁棣栨杩涘叆璇ラ〉 - List<DeviceUI> currentKeyAllRoomDeviceList = new List<DeviceUI>(); + /// <summary> + /// 鏄惁棣栨杩涘叆璇ラ〉 + /// </summary> + bool IsInitEntry = false; + /// <summary> + /// 褰撳墠鎸夐敭鐨勬墍鏈夋埧闂磋澶囧垪琛� + /// </summary> + List<CommonDevice> currentKeyAllRoomDeviceList = new List<CommonDevice>(); + /// <summary> + /// 涓存椂瀛樺偍鐨勭洰鏍囧垪琛� + /// </summary> Dictionary<string, CommonDevice> oldTargetList = new Dictionary<string, CommonDevice> { }; #endregion + /// <summary> + /// 娣诲姞璁惧鏄剧ず + /// </summary> public void Show() { targetList.Clear(); @@ -98,8 +127,8 @@ var btnBindDown = new Button { - Height = Application.GetRealHeight(69), - Width = Application.GetRealWidth(69), + Height = Application.GetMinReal(69), + Width = Application.GetMinReal(69), X = Application.GetRealWidth(200 - 77), UnSelectedImagePath = "BindPic/BindDown.png", Gravity = Gravity.CenterVertical, @@ -126,6 +155,9 @@ MidFrameLayoutContent(btnFloorText); } + /// <summary> + /// 涓儴甯冨眬 + /// </summary> async void MidFrameLayoutContent(Button btnFloorText) { #region UI @@ -177,14 +209,15 @@ #region 鏁版嵁澶勭悊 //鑾峰彇妤煎眰 - dicFloor = Common.Room.CurrentRoom.GetFloorSortList(); + dicFloor = HdlRoomLogic.Current.GetFloorSortList(); currentKey.currentSelectFloorId = BindInfo.GetCurrentSelectFloorId(); btnFloorText.Text = BindInfo.GetCurrentSelectFloorIdName(); if (Common.Config.Instance.Home.FloorDics.Count == 0) { // 鑾峰彇娌℃湁妤煎眰鎴块棿 - foreach (var room in Shared.Common.Room.Lists) + var listAllRoom = HdlRoomLogic.Current.GetAllListRooms(); + foreach (var room in listAllRoom) { if (string.IsNullOrEmpty(room.FloorId)) { @@ -193,9 +226,10 @@ } } else - { - // 鑾峰彇妤煎眰瀵瑰簲瀵规埧闂� - foreach (var room in Shared.Common.Room.Lists) + { + // 鑾峰彇妤煎眰瀵瑰簲瀵规埧闂� + var listAllRoom = HdlRoomLogic.Current.GetAllListRooms(); + foreach (var room in listAllRoom) { if (room.FloorId == currentKey.currentSelectFloorId) { @@ -211,13 +245,13 @@ { foreach (var devA in currentKeyAllRoomDeviceList) { - var id = devA.CommonDevice?.DeviceAddr + devA.CommonDevice?.DeviceEpoint; + var id = devA.DeviceAddr + devA.DeviceEpoint; var dev = currentKey.bindList.Find(obj => (obj != null) && (obj.BindMacAddr + obj.BindEpoint == id)); if (dev != null) { if (!oldTargetList.ContainsKey(id)) { - oldTargetList.Add(id, devA.CommonDevice); + oldTargetList.Add(id, devA); } } } @@ -319,8 +353,8 @@ var btnRoomFrameLayout = new FrameLayout { - Height = Application.GetRealHeight(159), - Width = Application.GetRealWidth(255), + Height = Application.GetMinReal(159), + Width = Application.GetMinReal(255), Y = Application.GetRealHeight(23), X = Application.GetRealWidth(5), BackgroundImagePath = "Item/RoomIconBackground.png", @@ -405,16 +439,20 @@ RefreshDeviceList(curRoom); } - //褰撳墠鎸夐敭鎵�鏈夋樉绀烘埧闂寸殑鎵�鏈夎澶囧鐞� - List<DeviceUI> GetALlDispalyRoomDeviceList() + /// <summary> + /// 褰撳墠鎸夐敭鎵�鏈夋樉绀烘埧闂寸殑鎵�鏈夎澶囧鐞� + /// </summary> + /// <returns></returns> + List<CommonDevice> GetALlDispalyRoomDeviceList() { - currentKeyAllRoomDeviceList.Clear(); + currentKeyAllRoomDeviceList.Clear(); + var listAllRoom = HdlRoomLogic.Current.GetAllListRooms(); switch (curDeviceBindType) { case "AddSwitch": - foreach (var r in Shared.Common.Room.Lists) + foreach (var r in listAllRoom) { - if (r.DeviceUIList.Count == 0) + if (r.ListDevice.Count == 0) { continue; } @@ -422,11 +460,12 @@ { continue; } - foreach (var device in r.DeviceUIList) + foreach (var deviceKeys in r.ListDevice) { - if (device.CommonDevice != null) + var device = LocalDevice.Current.GetDevice(deviceKeys); + if (device != null) { - var dev = device.CommonDevice.InClusterList.Find(obj => (obj != null) && (obj.InCluster == 6)); + var dev = device.InClusterList.Find(obj => (obj != null) && (obj.InCluster == 6)); if (dev != null) { currentKeyAllRoomDeviceList.Add(device); @@ -436,21 +475,22 @@ } break; case "AddDimmer": - foreach (var r in Shared.Common.Room.Lists) + foreach (var r in listAllRoom) { - if (r.DeviceUIList.Count == 0) + if (r.ListDevice.Count == 0) { continue; } if (r.IsLove == true) { continue; - } - foreach (var device in r.DeviceUIList) + } + foreach (var deviceKeys in r.ListDevice) { - if (device.CommonDevice != null) + var device = LocalDevice.Current.GetDevice(deviceKeys); + if (device != null) { - var dev = device.CommonDevice.InClusterList.Find(obj => (obj != null) && (obj.InCluster == 8)); + var dev = device.InClusterList.Find(obj => (obj != null) && (obj.InCluster == 8)); if (dev != null) { currentKeyAllRoomDeviceList.Add(device); @@ -460,9 +500,9 @@ } break; case "AddCurtain": - foreach (var r in Shared.Common.Room.Lists) + foreach (var r in listAllRoom) { - if (r.DeviceUIList.Count == 0) + if (r.ListDevice.Count == 0) { continue; } @@ -470,11 +510,12 @@ { continue; } - foreach (var device in r.DeviceUIList) + foreach (var deviceKeys in r.ListDevice) { - if (device.CommonDevice != null) + var device = LocalDevice.Current.GetDevice(deviceKeys); + if (device != null) { - var dev = device.CommonDevice.InClusterList.Find(obj => (obj != null) && (obj.InCluster == 258)); + var dev = device.InClusterList.Find(obj => (obj != null) && (obj.InCluster == 258)); if (dev != null) { currentKeyAllRoomDeviceList.Add(device); @@ -488,7 +529,7 @@ } /// <summary> - /// 鎸夐敭缁戝畾鍦烘櫙琛ㄦ樉绀� + /// 鎸夐敭缁戝畾鐩爣琛ㄦ樉绀� /// </summary> /// <param name="gateway">Gateway.</param> /// <param name="key">Key.</param> @@ -499,11 +540,12 @@ switch (curDeviceBindType) { case "AddSwitch": - foreach (var device in curRoom.DeviceUIList) - { - if (device.CommonDevice != null) + foreach (var deviceKeys in curRoom.ListDevice) + { + var device = LocalDevice.Current.GetDevice(deviceKeys); + if (device != null) { - var dev = device.CommonDevice.InClusterList.Find(obj => (obj != null) && (obj.InCluster == 6)); + var dev = device.InClusterList.Find(obj => (obj != null) && (obj.InCluster == 6)); if (dev != null) { curTypeDeviceList.Add(device); @@ -511,12 +553,13 @@ } } break; - case "AddDimmer": - foreach (var device in curRoom.DeviceUIList) - { - if (device.CommonDevice != null) + case "AddDimmer": + foreach (var deviceKeys in curRoom.ListDevice) + { + var device = LocalDevice.Current.GetDevice(deviceKeys); + if (device != null) { - var dev = device.CommonDevice.InClusterList.Find(obj => (obj != null) && (obj.InCluster == 8)); + var dev = device.InClusterList.Find(obj => (obj != null) && (obj.InCluster == 8)); if (dev != null) { curTypeDeviceList.Add(device); @@ -524,12 +567,13 @@ } } break; - case "AddCurtain": - foreach (var device in curRoom.DeviceUIList) - { - if (device.CommonDevice != null) + case "AddCurtain": + foreach (var deviceKeys in curRoom.ListDevice) + { + var device = LocalDevice.Current.GetDevice(deviceKeys); + if (device != null) { - var dev = device.CommonDevice.InClusterList.Find(obj => (obj != null) && (obj.InCluster == 258)); + var dev = device.InClusterList.Find(obj => (obj != null) && (obj.InCluster == 258)); if (dev != null) { curTypeDeviceList.Add(device); @@ -542,7 +586,7 @@ foreach (var device in curTypeDeviceList) { curIndex++; - if (device.CommonDevice != null && device.CommonDevice.IsOnline == 0) + if (device != null && device.IsOnline == 0) { continue; } @@ -551,7 +595,7 @@ { Height = Application.GetRealHeight(23 + 127), BackgroundColor = Shared.Common.ZigbeeColor.Current.XMWhite, - Tag = device.CommonDevice?.DeviceEpointName, + Tag = device.DeviceEpointName, }; midVerticalScrolViewLayout.AddChidren(rowLayout); @@ -562,7 +606,7 @@ Width = Application.GetMinRealAverage(81), Height = Application.GetMinRealAverage(81), UnSelectedImagePath = device.IconPath, - Tag = device.CommonDevice?.DeviceEpointName, + Tag = device.DeviceEpointName, }; rowLayout.AddChidren(devicePic); @@ -572,22 +616,25 @@ X = devicePic.Right + Application.GetRealWidth(20), TextColor = Shared.Common.ZigbeeColor.Current.TextBlack, TextAlignment = TextAlignment.CenterLeft, - Tag = device.CommonDevice?.DeviceEpointName, + Tag = device.DeviceEpointName, + Text = Common.LocalDevice.Current.GetDeviceEpointName(device), TextSize = 15, }; rowLayout.AddChidren(btnBindName); var btnChoose = new Button() { - Width = Application.GetRealWidth(60), - Height = Application.GetRealHeight(60), + Width = Application.GetMinReal(60), + Height = Application.GetMinReal(60), X = Application.GetRealWidth(861 + 81), Y = Application.GetRealHeight(35), SelectedImagePath = "DoorLock/SelectedIcon.png", TextColor = Shared.Common.ZigbeeColor.Current.XMWhite, Visible = false, - Tag = device.CommonDevice?.DeviceEpointName, + Tag = device.DeviceEpointName, + Gravity = Gravity.CenterVertical, }; + rowLayout.AddChidren(btnChoose); var line2 = new Button() @@ -612,7 +659,7 @@ if (!btnChoose.IsSelected) { - targetList.Remove(device.CommonDevice); + targetList.Remove(device); btnChoose.IsSelected = false; btnChoose.Visible = false; } @@ -624,7 +671,7 @@ } else { - targetList.Add(device.CommonDevice); + targetList.Add(device); btnChoose.IsSelected = true; btnChoose.Visible = true; } @@ -645,17 +692,9 @@ btnBindName.MouseUpEventHandler += hander; btnChoose.MouseUpEventHandler += hander; - if (string.IsNullOrEmpty(device.CommonDevice?.DeviceEpointName)) - { - btnBindName.Text = device.CommonDevice?.DeviceAddr + "_" + device.CommonDevice?.DeviceEpoint; - } - else - { - btnBindName.Text = device.CommonDevice?.DeviceEpointName; - } foreach (var bindedDev in targetList) { - var id = device.CommonDevice?.DeviceAddr + device.CommonDevice?.DeviceEpoint; + var id = device.DeviceAddr + device.DeviceEpoint; if (id == bindedDev.DeviceAddr + bindedDev.DeviceEpoint) { btnChoose.IsSelected = true; @@ -675,7 +714,9 @@ } } - // 渚ц竟瀵艰埅鏍� + /// <summary> + /// 閫夋嫨妤煎眰鐨勪晶杈规爮 + /// </summary> void SideslipFramelayout() { var dialog = new Dialog @@ -692,8 +733,8 @@ var sidelipFrameLayout = new FrameLayout() { - Height = Application.GetRealHeight(783), - Width = Application.GetRealWidth(449), + Height = Application.GetMinReal(783), + Width = Application.GetMinReal(449), Y = Application.GetRealHeight(161), X = Application.GetRealWidth(596), BackgroundImagePath = "DoorLock/SideslipPic.png", @@ -735,8 +776,8 @@ var btnAllMethod = new Button() { - Width = Application.GetRealWidth(81), - Height = Application.GetRealHeight(81), + Width = Application.GetMinReal(81), + Height = Application.GetMinReal(81), Y = Application.GetRealHeight(55), UnSelectedImagePath = "Floor/Floor.png", SelectedImagePath = "Floor/FloorSelected.png", @@ -789,10 +830,11 @@ btnMethodText.IsSelected = true; oldbuttonText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack; oldbuttonText.IsBold = true; - } - - //鑾峰彇妤煎眰瀵瑰簲鐨勬埧闂� - foreach (var room in Shared.Common.Room.Lists) + } + + //鑾峰彇妤煎眰瀵瑰簲鐨勬埧闂� + var listAllRoom = HdlRoomLogic.Current.GetAllListRooms(); + foreach (var room in listAllRoom) { if (room.FloorId == currentKey.currentSelectFloorId) { @@ -818,18 +860,6 @@ rowFrameLayout.MouseUpEventHandler += hander; btnMethodText.MouseUpEventHandler += hander; } - } - - public void DeviceInfoChange(CommonDevice common, string typeTag) - { - } - - public void ChangedILogicStatus(ZigBee.Device.Logic logic) - { - } - - public void ChangedISceneStatus(Scene scene) - { } } } -- Gitblit v1.8.0