黄学彪
2019-12-17 5986f63b75bd81c6cef262c670e9251c038cbf5d
ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddDevicePage.cs
@@ -16,14 +16,8 @@
        /// <param name="common">Common.</param>
        public void Changed(CommonDevice common)
        {
            //if (common.Type != ZigBee.Device.DeviceType.OnOffSwitch)
            //{
            //    return;
            //}
            Shared.Application.RunOnMainThread(() =>
            {
                //var dev = common as Panel;
            });
        }
@@ -111,6 +105,12 @@
                Gravity = Gravity.CenterVertical,
            };
            btnAddFrameLayout.AddChidren(btnBindDown);
            if (Common.Config.Instance.Home.FloorDics.Count == 0)
            {
                btnBindDown.Visible = false;
            }
            btnBindDown.MouseDownEventHandler += (sender, e) =>
            {
                SideslipFramelayout();
@@ -157,7 +157,7 @@
            {
                Width = Application.GetRealWidth(907),
                Gravity = Gravity.CenterHorizontal,
                Radius = (uint)Application.GetRealHeight(120) / 2,
                Radius = (uint)Application.GetRealHeight(127) / 2,
                TextID = R.MyInternationalizationString.ChooseKeyMode,
                BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack,
                TextColor = Shared.Common.ZigbeeColor.Current.XMWhite,
@@ -171,23 +171,34 @@
            dicFloor = Common.Room.CurrentRoom.GetFloorSortList();
            currentKey.currentSelectFloorId = BindInfo.GetCurrentSelectFloorId();
            btnFloorText.Text = BindInfo.GetCurrentSelectFloorIdName();
            // 获取楼层对应对房间
            foreach (var room in Shared.Common.Room.Lists)
            if (Common.Config.Instance.Home.FloorDics.Count == 0)
            {
                if (room.FloorId == currentKey.currentSelectFloorId)
                // 获取没有楼层房间
                foreach (var room in Shared.Common.Room.Lists)
                {
                    roomList.Add(room);
                    if (string.IsNullOrEmpty(room.FloorId))
                    {
                        roomList.Add(room);
                    }
                }
            }
            //当前按键所有显示房间的所有设备处理
            var aa = GetALlDispalyRoomDeviceList();
            else
            {
                // 获取楼层对应对房间
                foreach (var room in Shared.Common.Room.Lists)
                {
                    if (room.FloorId == currentKey.currentSelectFloorId)
                    {
                        roomList.Add(room);
                    }
                }
            }
            //首次拿到所有房间中按键的目标并存储
            //if (IsInitEntry)
            //{
            //首次拿到所有房间中按键的目标并存储
            GetALlDispalyRoomDeviceList();
            if (currentKeyAllRoomDeviceList.Count != 0)
            {
                if (currentKey.bindList != null && currentKey.bindList.Count != 0)
                if (currentKey.bindList.Count != 0)
                {
                    foreach (var devA in currentKeyAllRoomDeviceList)
                    {
@@ -203,7 +214,7 @@
                    }
                }
            }
            if (oldTargetList != null)
            if (oldTargetList.Count != 0)
            {
                foreach (var de in oldTargetList.Keys)
                {
@@ -212,7 +223,10 @@
                }
            }
            //}
            if (roomList.Count == 0)
            {
                return;
            }
            Shared.Common.Room curRoom = roomList[0];
            int index = 0;
            RefreshRoomList(curRoom, btnChooseKeyMode, ref index);
@@ -227,9 +241,23 @@
                btnChooseKeyMode.Enable = true;
                btnChooseKeyMode.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack;
            }
            if (targetList.Count == 0)
            {
                btnChooseKeyMode.Enable = false;
                btnChooseKeyMode.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect;
            }
            else
            {
                btnChooseKeyMode.Enable = true;
                btnChooseKeyMode.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack;
            }
            btnChooseKeyMode.MouseUpEventHandler += (sender, e) =>
            {
                if (targetList.Count == 0)
                {
                    new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.BindDeviceTargetIsEmpty), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnChooseKeyMode);
                    return;
                }
                this.RemoveFromParent();
                var chooseKeyModePage = new Shared.Phone.UserCenter.DeviceBind.ChooseKeyModePage(currentKey, curDeviceBindType, targetList);
@@ -282,12 +310,11 @@
                var btnRoomFrameLayout = new FrameLayout
                {
                    Height = Application.GetRealHeight(78),
                    Width = Application.GetRealWidth(187),
                    Y = Application.GetRealHeight(58),
                    X = Application.GetRealWidth(58),
                    Radius = (uint)Application.GetMinRealAverage(78 / 2),
                    BorderColor = Shared.Common.ZigbeeColor.Current.XMOrange,
                    Height = Application.GetRealHeight(159),
                    Width = Application.GetRealWidth(255),
                    Y = Application.GetRealHeight(23),
                    X = Application.GetRealWidth(5),
                    BackgroundImagePath = "Item/RoomIconBackground.png",
                    BorderWidth = 1,
                };
                btnHorizontalScrolViewLayout.AddChidren(btnRoomFrameLayout);
@@ -308,9 +335,7 @@
                btnRoom.IsSelected = false;
                if (index == 0)
                {
                    btnRoom.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMOrange;
                    btnRoomFrameLayout.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMOrange;
                    btnRoomFrameLayout.BorderWidth = 0;
                    btnRoomFrameLayout.BackgroundImagePath = "Item/RoomIconBackgroundSelected.png";
                    btnRoom.TextColor = Shared.Common.ZigbeeColor.Current.XMWhite;
                    curentOldRoom = btnRoom;
                    curentOldRoomFrameLayout = btnRoomFrameLayout;
@@ -322,24 +347,9 @@
                        if (curentOldRoom != null)
                        {
                            curentOldRoom.TextColor = Shared.Common.ZigbeeColor.Current.XMGray3;
                            curentOldRoom.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMMidFrameLayout;
                        }
                        curentOldRoom = btnRoom;
                        curentOldRoom.TextColor = Shared.Common.ZigbeeColor.Current.XMWhite;
                        curentOldRoom.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMOrange;
                        curRoom = room;
                        currentKey.RoomId = room.Id;
                        RefreshDeviceList(curRoom);
                        if (curTypeDeviceList.Count == 0)
                        {
                            btnChooseKeyMode.Enable = false;
                            btnChooseKeyMode.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect;
                        }
                        else
                        {
                            btnChooseKeyMode.Enable = true;
                            btnChooseKeyMode.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack;
                        }
                    }
                    if (btnRoomFrameLayout.BorderWidth == 1)
@@ -347,35 +357,39 @@
                        if (curentOldRoomFrameLayout != null)
                        {
                            curentOldRoomFrameLayout.BorderWidth = 1;
                            curentOldRoomFrameLayout.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMMidFrameLayout;
                            curentOldRoomFrameLayout.BorderColor = Shared.Common.ZigbeeColor.Current.XMOrange;
                            curentOldRoomFrameLayout.BackgroundImagePath = "Item/RoomIconBackground.png";
                        }
                        curentOldRoomFrameLayout = btnRoomFrameLayout;
                        curentOldRoomFrameLayout.BorderWidth = 0;
                        curentOldRoomFrameLayout.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMOrange;
                        curRoom = room;
                        currentKey.RoomId = room.Id;
                        RefreshDeviceList(curRoom);
                        if (curTypeDeviceList.Count == 0)
                        {
                            btnChooseKeyMode.Enable = false;
                            btnChooseKeyMode.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect;
                        }
                        else
                        {
                            btnChooseKeyMode.Enable = true;
                            btnChooseKeyMode.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack;
                        }
                        curentOldRoomFrameLayout.BackgroundImagePath = "Item/RoomIconBackgroundSelected.png";
                    }
                    curRoom = room;
                    currentKey.RoomId = room.Id;
                    RefreshDeviceList(curRoom);
                    if (curTypeDeviceList.Count == 0)
                    {
                        btnChooseKeyMode.Enable = false;
                        btnChooseKeyMode.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect;
                    }
                    else
                    {
                        btnChooseKeyMode.Enable = true;
                        btnChooseKeyMode.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack;
                    }
                    if (targetList.Count == 0)
                    {
                        btnChooseKeyMode.Enable = false;
                        btnChooseKeyMode.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect;
                    }
                    else
                    {
                        btnChooseKeyMode.Enable = true;
                        btnChooseKeyMode.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack;
                    }
                };
                btnRoom.MouseUpEventHandler += eHandlerRoom;
                btnRoomFrameLayout.MouseUpEventHandler += eHandlerRoom;
                var btnEmpty = new Button
                {
                    Width = Application.GetRealWidth(58),
                    X = btnRoom.Right,
                };
                btnHorizontalScrolViewLayout.AddChidren(btnEmpty);
                index++;
            }
            BindInfo.FinishDisplay(roomTempList, btnChooseKeyMode);
@@ -391,10 +405,6 @@
                case "AddSwitch":
                    foreach (var r in Shared.Common.Room.Lists)
                    {
                        if (r.IsLove == true)
                        {
                            var aa = 0; ;
                        }
                        if (r.DeviceUIList.Count == 0)
                        {
                            continue;
@@ -522,6 +532,10 @@
            int curIndex = 0;
            foreach (var device in curTypeDeviceList)
            {
                if (device.CommonDevice != null && device.CommonDevice.IsOnline == 0)
                {
                    continue;
                }
                #region 绑定表UI显(无数据处理)
                var rowLayout = new FrameLayout()
                {
@@ -559,7 +573,6 @@
                    X = Application.GetRealWidth(861 + 81),
                    Y = Application.GetRealHeight(35),
                    SelectedImagePath = "DoorLock/SelectedIcon.png",
                    //Text = device.CommonDevice?.DeviceEpointName,
                    TextColor = Shared.Common.ZigbeeColor.Current.XMWhite,
                    Visible = false,
                    Tag = device.CommonDevice?.DeviceEpointName,
@@ -576,7 +589,7 @@
                };
                rowLayout.AddChidren(line2);
                if (curIndex == curRoom.SceneUIList.Count - 1)
                if (curIndex == curRoom.DeviceUIList.Count - 1)
                {
                    line2.Visible = false;
                }
@@ -594,9 +607,26 @@
                    }
                    else
                    {
                        targetList.Add(device.CommonDevice);
                        btnChoose.IsSelected = true;
                        btnChoose.Visible = true;
                        if (targetList.Count > 7)
                        {
                            new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.BindFull), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance);
                        }
                        else
                        {
                            targetList.Add(device.CommonDevice);
                            btnChoose.IsSelected = true;
                            btnChoose.Visible = true;
                        }
                    }
                    if (targetList.Count == 0)
                    {
                        btnChooseKeyMode.Enable = false;
                        btnChooseKeyMode.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect;
                    }
                    else
                    {
                        btnChooseKeyMode.Enable = true;
                        btnChooseKeyMode.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack;
                    }
                };
                rowLayout.MouseUpEventHandler += hander;
@@ -624,7 +654,16 @@
                curIndex++;
            }
            //IsInitEntry = false;
            if (targetList.Count == 0)
            {
                btnChooseKeyMode.Enable = false;
                btnChooseKeyMode.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect;
            }
            else
            {
                btnChooseKeyMode.Enable = true;
                btnChooseKeyMode.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack;
            }
        }
        // 侧边导航栏