lss
2020-06-12 9c16d3614d9b88c637f967518a329f239fcd3aaf
ZigbeeApp/Shared/Phone/Device/Logic/LogicCommunalPage.cs
@@ -43,7 +43,7 @@
            var middle = new VerticalScrolViewLayout
            {
                Y = view.topRowLayout.Bottom,
                Height = Application.GetRealHeight(1920 - 184-180),
                Height = Application.GetRealHeight(Method.H - 184-180),
                BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor,
            };
            this.AddChidren(middle);
@@ -280,7 +280,7 @@
                        case 1:
                            {
                                var deviceinof = Method.GetCommonDevice(conditions["MacAddr"], conditions["Epoint"]);
                                name = deviceinof.DeviceEpointName;
                                name = LocalDevice.Current.GetDeviceEpointName(deviceinof);
                                selecteddevice.regionNameBtn.Visible = true;
                                Method.RoomNmae(selecteddevice.regionNameBtn, deviceinof);
@@ -312,11 +312,7 @@
                                            {
                                                case 13:
                                                    {
                                                        if (intvalue == "1")
                                                        {
                                                            state=Language.StringByID( MyInternationalizationString.someone);
                                                        }
                                                        else
                                                        if (conditions.ContainsKey("IgnoreTime"))
                                                        {
                                                            int minute = int.Parse(conditions["IgnoreTime"]) / 60;
                                                            int second = int.Parse(conditions["IgnoreTime"]) % 60;
@@ -340,48 +336,55 @@
                                                            }
                                                        }
                                                        else
                                                        {
                                                            state = Language.StringByID(MyInternationalizationString.someone);
                                                        }
                                                    }
                                                    break;
                                                case 21:
                                                case 22:
                                                    {
                                                        if (intvalue == "1")
                                                        if (conditions.ContainsKey("IgnoreTime"))
                                                        {
                                                            state =Language.StringByID( MyInternationalizationString.logicopen);
                                                        }
                                                        else
                                                        {
                                                            if (conditions.ContainsKey("IgnoreTime"))
                                                            int minute = int.Parse(conditions["IgnoreTime"]) / 60;
                                                            int second = int.Parse(conditions["IgnoreTime"]) % 60;
                                                            if (minute != 0 && second != 0)
                                                            {
                                                                int minute = int.Parse(conditions["IgnoreTime"]) / 60;
                                                                int second = int.Parse(conditions["IgnoreTime"]) % 60;
                                                                if (minute != 0 && second != 0)
                                                                {
                                                                    state = minute.ToString() + Language.StringByID(MyInternationalizationString.minute) + second.ToString() + Language.StringByID(MyInternationalizationString.second) + Language.StringByID(MyInternationalizationString.closetime);
                                                                }
                                                                else
                                                                {
                                                                    if (minute == 0 && second != 0)
                                                                    {
                                                                        state = second.ToString() + Language.StringByID(MyInternationalizationString.second) + Language.StringByID(MyInternationalizationString.closetime);
                                                                    }
                                                                    if (minute != 0 && second == 0)
                                                                    {
                                                                        state = minute.ToString() + Language.StringByID(MyInternationalizationString.Minute) + Language.StringByID(MyInternationalizationString.closetime);
                                                                    }
                                                                }
                                                                state = minute.ToString() + Language.StringByID(MyInternationalizationString.minute) + second.ToString() + Language.StringByID(MyInternationalizationString.second) + Language.StringByID(MyInternationalizationString.closetime);
                                                            }
                                                            else
                                                            {
                                                                state =Language.StringByID(MyInternationalizationString.logicclose);
                                                                if (minute == 0 && second != 0)
                                                                {
                                                                    state = second.ToString() + Language.StringByID(MyInternationalizationString.second) + Language.StringByID(MyInternationalizationString.closetime);
                                                                }
                                                                if (minute != 0 && second == 0)
                                                                {
                                                                    state = minute.ToString() + Language.StringByID(MyInternationalizationString.Minute) + Language.StringByID(MyInternationalizationString.closetime);
                                                                }
                                                            }
                                                        }
                                                        else
                                                        {
                                                            if (intvalue == "1")
                                                            {
                                                                state = Language.StringByID(MyInternationalizationString.logicopen);
                                                            }
                                                            else
                                                            {
                                                                state = Language.StringByID(MyInternationalizationString.logicclose);
                                                            }
                                                        }
                                                    }
                                                    break;
                                                case 40:
@@ -450,7 +453,7 @@
                                                {
                                                    if (Common.Logic.CurrentLogic.Accounts[a]["UserId"] == conditions["AttriButeData2"])
                                                    {
                                                        state = Common.Logic.CurrentLogic.Accounts[a]["Account"];
                                                        state = Common.Logic.CurrentLogic.Accounts[a]["AccountName"];
                                                        break;
                                                    }
@@ -499,16 +502,18 @@
                                                        s = "≤";
                                                    }
                                                    break;
                                            }
                                            }
                                            ///转换温度值/100
                                            string srtValue = (int.Parse(conditions["AttriButeData1"]) / 100).ToString();
                                            if (conditions["Cluster_ID"] == "1026")
                                            {
                                                icon = "ZigeeLogic/temperature.png";
                                                state = s + conditions["AttriButeData1"] + "℃";
                                                state = s + srtValue + "℃";
                                            }
                                            else
                                            {
                                                icon = "ZigeeLogic/humidity.png";
                                                state = s + conditions["AttriButeData1"] + "%";
                                                state = s + srtValue + "%";
                                            }
                                            break;
@@ -561,11 +566,11 @@
                                    {
                                        if (conditions["AtHome"] == "1")
                                        {
                                            state = Language.StringByID(MyInternationalizationString.athome) + radius["Radius"] + "米";
                                            state = Language.StringByID(MyInternationalizationString.athome) + radius["Radius"] + Language.StringByID(MyInternationalizationString.mi);
                                        }
                                        else
                                        {
                                            state = Language.StringByID(MyInternationalizationString.leavehome) + radius["Radius"] + "米";
                                            state = Language.StringByID(MyInternationalizationString.leavehome) + radius["Radius"] + Language.StringByID(MyInternationalizationString.mi);
                                        }
                                    }
                                }
@@ -660,10 +665,11 @@
                        alert.ConfirmClickEvent += () =>
                        {
                            Common.Logic.CurrentLogic.Conditions.Remove(conditions);
                            var logicCommunalPage = new LogicCommunalPage();
                            UserView.HomePage.Instance.AddChidren(logicCommunalPage);
                            UserView.HomePage.Instance.PageIndex += 1;
                            logicCommunalPage.Show(() => { });
                            selecteddevice.selecetdFrameLayout.RemoveFromParent();
                            //var logicCommunalPage = new LogicCommunalPage();
                            //UserView.HomePage.Instance.AddChidren(logicCommunalPage);
                            //UserView.HomePage.Instance.PageIndex += 1;
                            //logicCommunalPage.Show(() => { });
                        };
                    };
@@ -724,7 +730,7 @@
                            {
                                var deviceinof = Method.GetCommonDevice(actions["DeviceAddr"].ToString(), actions["Epoint"].ToString());
                                name = deviceinof.DeviceEpointName;
                                name = LocalDevice.Current.GetDeviceEpointName(deviceinof);
                                actiondevice.regionNameBtn.Visible = true;
                                Method.RoomNmae(actiondevice.regionNameBtn, deviceinof);
                                switch (deviceinof.Type)
@@ -1151,11 +1157,12 @@
                        alert.ConfirmClickEvent += () =>
                        {
                            Common.Logic.CurrentLogic.Actions.Remove(actions);
                            actiondevice.selecetdFrameLayout.RemoveFromParent();
                            // devicesFrameLayout.RemoveFromParent();
                            var logicCommunalPage = new LogicCommunalPage();
                            UserView.HomePage.Instance.AddChidren(logicCommunalPage);
                            UserView.HomePage.Instance.PageIndex += 1;
                            logicCommunalPage.Show(() => { });
                            //var logicCommunalPage = new LogicCommunalPage();
                            //UserView.HomePage.Instance.AddChidren(logicCommunalPage);
                            //UserView.HomePage.Instance.PageIndex += 1;
                            //logicCommunalPage.Show(() => { });
                        };
                    };
@@ -1324,50 +1331,7 @@
            };
        }
        /// <summary>
        /// 闪现式提示框的方法
        /// </summary>
        /// <param name="tipText">提示内容</param>
        /// <param name="second">停留时间单位为s</param>
        public void TipView(string tipText, int second = 1)
        {
            var frameLayout = new FrameLayout { BackgroundColor = 0x50000000 };
            this.AddChidren(frameLayout);
            var btn = new Button
            {
                Gravity = Gravity.Center,
                Text = tipText,
                BackgroundColor = 0xff1f1f1f,
                Width = Application.GetRealWidth(500),
                Height = Application.GetRealHeight(100),
                Radius = (uint)Application.GetRealHeight(50),
            };
            frameLayout.AddChidren(btn);
            var dateTime1 = DateTime.Now;
            new System.Threading.Thread(() =>
            {
                Application.RunOnMainThread(() =>
                {
                    while (true)
                    {
                        if ((DateTime.Now - dateTime1).TotalMilliseconds > second * 1000)
                        {
                            //默认一秒关闭
                            frameLayout.RemoveFromParent();
                            break;
                        }
                    }
                });
            })
            { IsBackground = true }.Start();
        }
    }
}