黄学彪
2020-12-17 9f326f4000847e6167d8166fa2f6a66f53cb3734
ZigbeeApp/Shared/Phone/Device/Logic/CurrentDeviceState.cs
@@ -12,17 +12,17 @@
        /// 选中该设备功能作为条件或者目标的视图方法
        /// </summary>
        /// <param name="common">Common.</param>
        public static void CurrentDeviceView(FrameLayout flMain, CommonDevice common, bool edit, string str)
        public static void CurrentDeviceView(FrameLayout flMain, CommonDevice common, bool edit, string str,int intValue)
        {
            #region  -------界面布局部分
            //不让当前界面滑动
            UserView.HomePage.Instance.ScrollEnabled = false;
            CompleteView completeView = new CompleteView();
            flMain.AddChidren(completeView.Show(1));
            completeView.Btntitle.Text = LocalDevice.Current.GetDeviceEpointName(common);
            completeView.Btntitle.Text = HdlDeviceCommonLogic.Current.GetDeviceEpointName(common);
            EventHandler<MouseEventArgs> clickcancel = (sender, e) =>
            {
                if (!edit)
                if (edit)
                {
                    UserView.HomePage.Instance.ScrollEnabled = true;
                }
@@ -59,18 +59,19 @@
            };
            var horizontalSeekBarVol = new DiyImageSeekBar
            {
                //Y = openView.frameLayout.Bottom,
                X = Application.GetRealWidth(80),
                Width = Application.GetRealWidth(915),
                Height = Application.GetRealHeight(160),
                //Y = openView.frameLayout.Bottom,//进度条父控件Y坐标
                X = Application.GetRealWidth(80),//进度条X坐标
                Width = Application.GetRealWidth(915),//进度条的长度
                Height = Application.GetRealHeight(160),//进度条父控件高度
                IsProgressTextShow = true,//显示百分比
                IsClickable = false,//进度条是否滑动
                ProgressBarColor = ZigbeeColor.Current.LogicProgressColorSelected,//选中进度条颜色
                ThumbImagePath = "ZigeeLogic/progressbtn2.png",//进度条按钮图标
                ThumbImageHeight = Application.GetRealHeight(56),//进度条按钮图标的高度(默认正方形:宽和高一样)
                ProgressTextColor = ZigbeeColor.Current.LogicBtnCancelColor,
                ProgressTextSize = 9,//显示百分比字体大小12
                SeekBarViewHeight = Application.GetRealHeight(5),//进度条的高度10
                ProgressTextSize = 12,//显示百分比字体大小12
                SeekBarViewHeight = Application.GetRealHeight(6),//进度条的高度10
                SeekBarPadding = 30,
            };
            #endregion
            #endregion
@@ -99,33 +100,28 @@
            {
                if (_if[0]== "condition")
                {
                    foreach (var deviceinfo in Common.Logic.CurrentLogic.Conditions)
                    var deviceinfo = Common.Logic.CurrentLogic.Conditions[intValue];
                    if (deviceinfo["Type"] == "1")
                    {
                        if (deviceinfo["Type"] == "1")
                        if (common.DeviceAddr == deviceinfo["MacAddr"] && common.DeviceEpoint.ToString() == deviceinfo["Epoint"])
                        {
                            if (common.DeviceAddr == deviceinfo["MacAddr"] && common.DeviceEpoint.ToString() == deviceinfo["Epoint"])
                            {
                                devices = deviceinfo;
                                break;
                            devices = deviceinfo;
                            }
                        }
                    }
                }
                else
                {
                    foreach (var deviceinfo in Common.Logic.CurrentLogic.Actions)
                    var deviceinfo = Common.Logic.CurrentLogic.Actions[intValue];
                    if (deviceinfo["LinkType"].ToString() == "0")
                    {
                        if (deviceinfo["LinkType"].ToString() == "0")
                        {
                            if (deviceinfo["DeviceAddr"].ToString() == common.DeviceAddr && deviceinfo["Epoint"].ToString() == common.DeviceEpoint.ToString())
                            {
                                TaskList = deviceinfo["TaskList"] as List<Dictionary<string, string>>;
                                break;
                            }
                        if (deviceinfo["DeviceAddr"].ToString() == common.DeviceAddr && deviceinfo["Epoint"].ToString() == common.DeviceEpoint.ToString())
                        {
                            TaskList = deviceinfo["TaskList"] as List<Dictionary<string, string>>;
                        }
                    }
                }
            }
            #endregion
@@ -298,7 +294,7 @@
                        Send.dictionary(deviceConditionsInfo, "AttriButeId", "1281");
                        Send.dictionary(deviceConditionsInfo, "AttriButeData2", "0");
                        int timevalue = 0;
                        int timeValue = 0;
                        ///点击确认事件
                        openView.clickviewBtn.MouseUpEventHandler += (sender, e) =>
                        {
@@ -309,10 +305,11 @@
                            closeView.selectedIconBtn.Visible = false;
                            if (iASZonedevice.IasDeviceType == 13)
                            {
                                closeView.selectedIconBtn.Visible = true;
                            }
                            Send.dictionary(deviceConditionsInfo, "Range", "5");
                            Send.dictionary(deviceConditionsInfo, "AttriButeData1", "1");
                            Send.dictionary(deviceConditionsInfo, "AttriButeData1", "3");//支持1和2;1+2=3
                        };
                        ///点击取消事件
                        closeView.clickviewBtn.MouseUpEventHandler += (sender, e) =>
@@ -322,53 +319,109 @@
                            closeView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor;
                            openView.selectedIconBtn.Visible = false;
                            closeView.selectedIconBtn.Visible = true;
                            Send.dictionary(deviceConditionsInfo, "Range", "1");
                            Send.dictionary(deviceConditionsInfo, "AttriButeData1", "0");
                            if (iASZonedevice.IasDeviceType == 13)
                            Send.dictionary(deviceConditionsInfo, "Range", "8");//1
                            Send.dictionary(deviceConditionsInfo, "AttriButeData1", "3");//0
                            if (iASZonedevice.IasDeviceType == 13|| iASZonedevice.IasDeviceType == 541)
                            {
                                SelectedDeviceStatus = "";
                                openView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
                                closeView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
                                openView.selectedIconBtn.Visible = false;
                                closeView.selectedIconBtn.Visible = true;
                                var ignoreTime = new IgnoreTime();
                                UserView.HomePage.Instance.AddChidren(ignoreTime);
                                UserView.HomePage.Instance.PageIndex += 1;
                                ignoreTime.Show(common, closeView.titleBtn.Text, edit, timevalue);
                                ignoreTime.Show(common, closeView.titleBtn.Text, edit, timeValue, _if[1]);
                            }
                        };
                        switch (iASZonedevice.IasDeviceType)
                        {
                            case 13:
                                {
                                    openView.titleBtn.TextID = MyInternationalizationString.someone;
                                    closeView.titleBtn.TextID = MyInternationalizationString.unattendedtime1;
                                    closeView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
                                    closeView.selectedIconBtn.UnSelectedImagePath = "ZigeeLogic/next.png";
                                    closeView.selectedIconBtn.Visible = true;
                                    completeView.Show(2).AddChidren(openView.Show());
                                    completeView.Show(2).AddChidren(closeView.Show());
                                    if (common.ModelIdentifier == "MSPIRB-ZB.10")
                                    {
                                        int _height = 3;
                                        if (edit)
                                        {
                                            _height = 2;
                                        }
                                        var view = completeView.Show(_height);
                                        openView.titleBtn.TextID = MyInternationalizationString.someone;
                                        closeView.titleBtn.TextID = MyInternationalizationString.unattendedtime1;
                                        closeView.selectedIconBtn.UnSelectedImagePath = "ZigeeLogic/next.png";
                                        closeView.selectedIconBtn.Visible = true;
                                        view.AddChidren(openView.Show());
                                        view.AddChidren(closeView.Show());
                                        takebackView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
                                        takebackView.selectedIconBtn.Visible = true;
                                        takebackView.titleBtn.TextID = MyInternationalizationString.ambientLight;
                                        takebackView.selectedIconBtn.UnSelectedImagePath = "ZigeeLogic/next.png";
                                        if (edit)
                                        {
                                            if (devices["Cluster_ID"] == "1024")
                                            {
                                                flMain.RemoveFromParent();
                                                var illumination = new Illumination();
                                                UserView.HomePage.Instance.AddChidren(illumination);
                                                UserView.HomePage.Instance.PageIndex += 1;
                                                illumination.Show(common, takebackView.titleBtn.Text, int.Parse(devices["AttriButeData1"]), true);
                                            }
                                            else
                                            {
                                                closeView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
                                            }
                                        }
                                        else
                                        {
                                            view.AddChidren(takebackView.Show());
                                        }
                                        takebackView.clickviewBtn.MouseUpEventHandler += (sender, e) =>
                                        {
                                            SelectedDeviceStatus = "";
                                            openView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
                                            openView.selectedIconBtn.Visible = false;
                                            var illumination = new Illumination();
                                            UserView.HomePage.Instance.AddChidren(illumination);
                                            UserView.HomePage.Instance.PageIndex += 1;
                                            illumination.Show(common, takebackView.titleBtn.Text, 0, false);
                                        };
                                    }
                                    else
                                    {
                                        openView.titleBtn.TextID = MyInternationalizationString.someone;
                                        closeView.titleBtn.TextID = MyInternationalizationString.unattendedtime1;
                                        closeView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
                                        closeView.selectedIconBtn.UnSelectedImagePath = "ZigeeLogic/next.png";
                                        closeView.selectedIconBtn.Visible = true;
                                        completeView.Show(2).AddChidren(openView.Show());
                                        completeView.Show(2).AddChidren(closeView.Show());
                                    }
                                }
                                break;
                            case 21:
                            case 22:
                                {
                                    #region
                                    var view = completeView.Show(3);
                                    openView.titleBtn.TextID = MyInternationalizationString.logicopen;
                                    closeView.titleBtn.TextID = MyInternationalizationString.logicclose;
                                    completeView.Show(3).AddChidren(openView.Show());
                                    completeView.Show(3).AddChidren(closeView.Show());
                                    view.AddChidren(openView.Show());
                                    view.AddChidren(closeView.Show());
                                    mFunView timeoutView = new mFunView();
                                    timeoutView.frameLayout.Y = closeView.frameLayout.Bottom;
                                    timeoutView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
                                    completeView.Show(3).AddChidren(timeoutView.Show());
                                    timeoutView.titleBtn.TextID = MyInternationalizationString.closetimeout;
                                    timeoutView.selectedIconBtn.UnSelectedImagePath = "ZigeeLogic/next.png";
                                    timeoutView.clickviewBtn.MouseUpEventHandler += (sender, e) =>
                                    takebackView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
                                    takebackView.selectedIconBtn.Visible = true;
                                    takebackView.titleBtn.TextID = MyInternationalizationString.closetimeout;
                                    takebackView.selectedIconBtn.UnSelectedImagePath = "ZigeeLogic/next.png";
                                    view.AddChidren(takebackView.Show());
                                    takebackView.clickviewBtn.MouseUpEventHandler += (sender, e) =>
                                    {
                                        SelectedDeviceStatus = "";
                                        openView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
@@ -378,7 +431,7 @@
                                        var ignoreTime = new IgnoreTime();
                                        UserView.HomePage.Instance.AddChidren(ignoreTime);
                                        UserView.HomePage.Instance.PageIndex += 1;
                                        ignoreTime.Show(common, timeoutView.titleBtn.Text, edit, timevalue);
                                        ignoreTime.Show(common, takebackView.titleBtn.Text, edit, timeValue, _if[1]);
                                    };
@@ -387,7 +440,7 @@
                                break;
                            case 40:
                                {
                                    openView.titleBtn.TextID = MyInternationalizationString.smokescreen;
                                    openView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
                                    completeView.Show(1).AddChidren(openView.Show());
@@ -437,30 +490,32 @@
                        {
                            if (devices["AttriButeId"] == "1281")
                            {
                                if (devices["AttriButeData1"] == "1")
                                if (devices.ContainsKey("IgnoreTime")&& devices["IgnoreTime"]!="0")
                                {
                                    openView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor;
                                    closeView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
                                    openView.selectedIconBtn.Visible = true;
                                    closeView.selectedIconBtn.Visible = false;
                                    timeValue = int.Parse(devices["IgnoreTime"]);
                                }
                                else
                                {
                                    if (devices.ContainsKey("IgnoreTime"))
                                    if (devices["Range"]== "5")
                                    {
                                        timevalue = int.Parse(devices["IgnoreTime"]);
                                        openView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor;
                                        closeView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
                                        openView.selectedIconBtn.Visible = true;
                                        closeView.selectedIconBtn.Visible = false;
                                    }
                                    else
                                    {
                                        openView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
                                        closeView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor;
                                        openView.selectedIconBtn.Visible = false;
                                        closeView.titleBtn.Visible = true;
                                        closeView.selectedIconBtn.Visible = true;
                                    }
                                }
                            }
                        }
                    }
@@ -475,7 +530,8 @@
                        Send.dictionary(deviceConditionsInfo, "AttriButeData2", "0");
                        completeView.Show(l).AddChidren(openView.Show());
                        openView.titleBtn.Text = Language.StringByID(MyInternationalizationString.OnOffSwitch) + common.DeviceEpoint.ToString();
                        openView.titleBtn.Text = HdlDeviceCommonLogic.Current.GetDeviceEpointName(common);
                        //openView.titleBtn.Text =Language.StringByID(MyInternationalizationString.OnOffSwitch) + common.DeviceEpoint.ToString();
                        openView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
                        openView.clickviewBtn.MouseUpEventHandler += (sender, e) =>
                        {
@@ -493,7 +549,7 @@
                    }
                    break;
                case DeviceType.DoorLock:
                    {
                    {
                        flMain.RemoveFromParent();
                        var memberList = new MemberList();
@@ -623,8 +679,8 @@
                                    break;
                            }
                            //查找索引
                            index1 = mList1.IndexOf(s);
                            //转换温度值/100
                            index1 = mList1.IndexOf(s);
                            //转换温度值/100
                            var dd = (int.Parse(devices["AttriButeData1"])/100).ToString();
                            index2 = mList2.IndexOf(dd);
@@ -1202,6 +1258,22 @@
                        };
                    }
                    break;
                case DeviceType.ColorTemperatureLight: {
                        flMain.RemoveFromParent();
                        var nightlight = new Nightlight();
                        UserView.HomePage.Instance.AddChidren(nightlight);
                        UserView.HomePage.Instance.PageIndex += 1;
                        if (edit)
                        {
                            nightlight.Show(common, edit, _if[1], Common.Logic.CurrentLogic.Actions[intValue]);
                        }
                        else
                        {
                            nightlight.Show(common, edit, _if[1]);
                        }
                    }
                    break;
            }
            completeView.Btncomplete.MouseUpEventHandler += (sender, e) =>
            {
@@ -1228,7 +1300,7 @@
                {
                    if (!edit)
                    {
                        var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Normal,
                        var alert = new ShowMsgControl(ShowMsgType.Normal,
                                    Language.StringByID(MyInternationalizationString.selectdevicestatuscondition),
                                   Language.StringByID(MyInternationalizationString.confrim));
                        alert.Show();