From 505effa88b17ce8c3c7ac5403b76d9e5d0cfc2a5 Mon Sep 17 00:00:00 2001
From: wxr <wxr@hdlchina.com.cn>
Date: 星期一, 28 十月 2024 11:58:31 +0800
Subject: [PATCH] 谷歌版本问题修复

---
 HDL_ON/UI/UI2/FuntionControlView/FunctionBaseInfoSetPage.cs |  830 +++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 754 insertions(+), 76 deletions(-)

diff --git a/HDL_ON/UI/UI2/FuntionControlView/FunctionBaseInfoSetPage.cs b/HDL_ON/UI/UI2/FuntionControlView/FunctionBaseInfoSetPage.cs
index 7b0dd8e..6b0e73f 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/FunctionBaseInfoSetPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/FunctionBaseInfoSetPage.cs
@@ -1,5 +1,7 @@
 锘縰sing System;
+using System.Collections.Generic;
 using HDL_ON.DAL.Server;
+using HDL_ON.DriverLayer;
 using HDL_ON.Entity;
 using HDL_ON.UI.CSS;
 using Newtonsoft.Json.Linq;
@@ -36,6 +38,11 @@
         /// 鍚庨��鏃讹紝鍒锋柊涔嬪墠鐣岄潰鐨勬樉绀轰俊鎭�
         /// </summary>
         Action actionRefresh;
+
+        /// <summary>
+        /// 瑙g粦璁惧鍥炶皟
+        /// </summary>
+        public Action actionDel;
         #endregion
 
         public FunctionBaseInfoSetPage(Function func, Action action)
@@ -47,7 +54,14 @@
 
         public override void RemoveFromParent()
         {
-            actionRefresh?.Invoke();
+            new System.Threading.Thread(() =>
+            {
+                Application.RunOnMainThread(() =>
+                {
+                    actionRefresh?.Invoke();
+                });
+            })
+            { IsBackground = true }.Start();
             base.RemoveFromParent();
         }
 
@@ -57,15 +71,179 @@
         public void LoadPage(bool locationSetting = true)
         {
             bodyView.BackgroundColor = CSS_Color.BackgroundColor;
-            new TopViewDiv(bodyView, Language.StringByID(StringId.Setting)).LoadTopView(actionRefresh);
+            var topView = new TopViewDiv(bodyView, Language.StringByID(StringId.Setting));
+            topView.maginY = 10;
+            topView.LoadTopView();
+
 
             var contentView = new VerticalScrolViewLayout()
             {
-                Y = Application.GetRealHeight(64),
+                Y = Application.GetRealHeight(64+10),
                 Height = Application.GetRealHeight(600),
                 ScrollEnabled = false,
             };
             bodyView.AddChidren(contentView);
+
+            //鍙瀵硅
+            if (function.spk == SPK.LinphoneXiMo)
+            {
+                var linphoneConnectView = new FrameLayout()
+                {
+                    Height = Application.GetRealHeight(55),
+                    BackgroundColor = CSS_Color.MainBackgroundColor,
+                };
+                contentView.AddChidren(linphoneConnectView);
+
+                var linphoneConnectTitle = new Button()
+                {
+                    X = Application.GetRealWidth(16),
+                    Width = Application.GetRealWidth(160),
+                    TextAlignment = TextAlignment.CenterLeft,
+                    TextColor = CSS_Color.FirstLevelTitleColor,
+                    TextSize = CSS_FontSize.SubheadingFontSize,
+                    TextID = StringId.ConnectionMode,
+                };
+                linphoneConnectView.AddChidren(linphoneConnectTitle);
+
+                var linphoneConnectValues = new Button()
+                {
+                    X = Application.GetRealWidth(86),
+                    Width = Application.GetRealWidth(237),
+                    TextAlignment = TextAlignment.CenterRight,
+                    TextColor = CSS_Color.PromptingColor1,
+                    TextSize = CSS_FontSize.TextFontSize,
+                    Text = DB_ResidenceData.Instance.linphoneConnectType.ToString()
+                };
+                linphoneConnectView.AddChidren(linphoneConnectValues);
+
+                var linphoneConnectRight = new Button()
+                {
+                    X = Application.GetRealWidth(339),
+                    Gravity = Gravity.CenterVertical,
+                    Width = Application.GetMinRealAverage(16),
+                    Height = Application.GetMinRealAverage(16),
+                    UnSelectedImagePath = "Public/RightIcon.png",
+                };
+                linphoneConnectView.AddChidren(linphoneConnectRight);
+
+                linphoneConnectView.AddChidren(
+                    new Button()
+                    {
+                        Gravity = Gravity.CenterHorizontal,
+                        BackgroundColor = CSS_Color.DividingLineColor,
+                        Width = Application.GetRealWidth(343),
+                        Height = Application.GetRealHeight(1)
+                    });
+
+                EventHandler<MouseEventArgs> linphoneHandler = (senderBase, senderBasee) =>
+                {
+
+                    Dialog dialog = new Dialog();
+
+                    var pView = new FrameLayout()
+                    {
+                        BackgroundColor = CSS_Color.DialogTransparentColor1,
+                    };
+                    dialog.AddChidren(pView);
+
+                    var optionBaseView = new FrameLayout()
+                    {
+                        Y = Application.GetRealHeight(500),
+                        Height = Application.GetRealHeight(160),
+                        AnimateSpeed = 0.3f,
+                        Animate = Animate.DownToUp,
+                    };
+                    pView.AddChidren(optionBaseView);
+
+                    var optionView = new VerticalScrolViewLayout()
+                    {
+                        Gravity = Gravity.CenterHorizontal,
+                        Width = Application.GetRealWidth(343),
+                        Height = Application.GetRealHeight(100),
+                        BackgroundColor = CSS_Color.MainBackgroundColor,
+                        Radius = (uint)Application.GetRealWidth(12),
+                        ScrollEnabled = false,
+                    };
+                    optionBaseView.AddChidren(optionView);
+
+                    var btnUdp = new Button()
+                    {
+                        Height = Application.GetRealHeight(50),
+                        TextAlignment = TextAlignment.Center,
+                        TextColor = CSS_Color.TextualColor,
+                        SelectedTextColor = CSS_Color.MainColor,
+                        TextSize = CSS_FontSize.SubheadingFontSize,
+                        Text = "UDP",
+                        IsSelected = DB_ResidenceData.Instance.linphoneConnectType == LinphoneConnectType.UDP
+                    };
+                    optionView.AddChidren(btnUdp);
+
+                    optionView.AddChidren(new Button() { Height = Application.GetRealHeight(1), BackgroundColor = CSS_Color.DividingLineColor });
+
+                    var btnTcp = new Button()
+                    {
+                        Height = Application.GetRealHeight(50),
+                        TextAlignment = TextAlignment.Center,
+                        TextColor = CSS_Color.TextualColor,
+                        SelectedTextColor = CSS_Color.MainColor,
+                        TextSize = CSS_FontSize.SubheadingFontSize,
+                        Text = "TCP",
+                        IsSelected = DB_ResidenceData.Instance.linphoneConnectType == LinphoneConnectType.TCP
+                    };
+                    optionView.AddChidren(btnTcp);
+
+                    var btnCancel = new Button()
+                    {
+                        Gravity = Gravity.CenterHorizontal,
+                        Y = Application.GetRealHeight(8) + optionView.Bottom,
+                        Width = Application.GetRealWidth(343),
+                        Height = Application.GetRealHeight(50),
+                        BackgroundColor = CSS_Color.MainBackgroundColor,
+                        Radius = (uint)Application.GetRealWidth(12),
+                        TextID = StringId.Cancel,
+                        TextColor = CSS_Color.WarningColor,
+                        TextSize = CSS_FontSize.SubheadingFontSize,
+                    };
+                    optionBaseView.AddChidren(btnCancel);
+
+                    dialog.Show();
+
+                    pView.MouseUpEventHandler = (sender, e) =>
+                    {
+                        dialog.Close();
+                    };
+
+                    btnCancel.MouseUpEventHandler = (sender, e) =>
+                    {
+                        dialog.Close();
+                    };
+                    btnUdp.MouseUpEventHandler = (sender, e) =>
+                    {
+                        DB_ResidenceData.Instance.linphoneConnectType = LinphoneConnectType.UDP;
+                        DB_ResidenceData.Instance.SaveResidenceData();
+                        linphoneConnectValues.Text = LinphoneConnectType.UDP.ToString();
+                        dialog.Close();
+                        new PublicAssmebly().TipMsg(StringId.Tip, StringId.ConnectionModeChangeTip);
+                    };
+
+                    btnTcp.MouseUpEventHandler = (sender, e) =>
+                    {
+                        DB_ResidenceData.Instance.linphoneConnectType = LinphoneConnectType.TCP;
+                        DB_ResidenceData.Instance.SaveResidenceData();
+                        linphoneConnectValues.Text = LinphoneConnectType.TCP.ToString();
+                        dialog.Close();
+                        new PublicAssmebly().TipMsg(StringId.Tip, StringId.ConnectionModeChangeTip);
+                    };
+
+
+                };
+
+                linphoneConnectValues.MouseUpEventHandler = linphoneHandler;
+                linphoneConnectRight.MouseUpEventHandler = linphoneHandler;
+
+                return;
+            }
+
 
             #region name view
             var nameView = new FrameLayout()
@@ -170,78 +348,6 @@
                     });
                 #endregion
             }
-            #region 鍏变韩
-            //var sharedView = new FrameLayout()
-            //{
-            //    Height = Application.GetRealHeight(55),
-            //    BackgroundColor = CSS_Color.MainBackgroundColor,
-            //};
-            //contentView.AddChidren(sharedView);
-
-            //var btnSharedText = new Button()
-            //{
-            //    X = Application.GetRealWidth(16),
-            //    Width = Application.GetRealWidth(160),
-            //    TextAlignment = TextAlignment.CenterLeft,
-            //    TextColor = CSS_Color.FirstLevelTitleColor,
-            //    TextSize = CSS_FontSize.SubheadingFontSize,
-            //    TextID = StringId.Shared,
-            //};
-            //sharedView.AddChidren(btnSharedText);
-
-            //var btnSharedRight = new Button()
-            //{
-            //    X = Application.GetRealWidth(339),
-            //    Gravity = Gravity.CenterVertical,
-            //    Width = Application.GetMinRealAverage(16),
-            //    Height = Application.GetMinRealAverage(16),
-            //    UnSelectedImagePath = "Public/RightIcon.png",
-            //};
-            //sharedView.AddChidren(btnSharedRight);
-
-            //sharedView.AddChidren(
-            //    new Button()
-            //    {
-            //        Gravity = Gravity.CenterHorizontal,
-            //        Y = Application.GetRealHeight(54),
-            //        BackgroundColor = CSS_Color.DividingLineColor,
-            //        Width = Application.GetRealWidth(343),
-            //        Height = Application.GetRealHeight(1)
-            //    });
-            #endregion
-
-#if stage2
-            #region 娣诲姞鍒版闈�
-            var addToDesktopView = new FrameLayout()
-            {
-                Height = Application.GetRealHeight(55),
-                BackgroundColor = CSS_Color.MainBackgroundColor,
-            };
-            contentView.AddChidren(addToDesktopView);
-
-            var btnAddToDesktopText = new Button()
-            {
-                X = Application.GetRealWidth(16),
-                Width = Application.GetRealWidth(160),
-                TextAlignment = TextAlignment.CenterLeft,
-                TextColor = CSS_Color.FirstLevelTitleColor,
-                TextSize = CSS_FontSize.SubheadingFontSize,
-                TextID = StringId.AddToDesktop,
-            };
-            addToDesktopView.AddChidren(btnAddToDesktopText);
-
-            var btnAddToDesktopRight = new Button()
-            {
-                X = Application.GetRealWidth(339),
-                Gravity = Gravity.CenterVertical,
-                Width = Application.GetMinRealAverage(16),
-                Height = Application.GetMinRealAverage(16),
-                UnSelectedImagePath = "Public/RightIcon.png",
-            };
-            addToDesktopView.AddChidren(btnAddToDesktopRight);
-
-            #endregion
-#endif
 
             if (function.spk == SPK.ElectricEnergy)
             {
@@ -367,6 +473,8 @@
 
             else if (function.spk == SPK.HvacCac)
             {
+
+
                 #region 闇茬偣娓╁害
                 if (function.GetAttribute(FunctionAttributeKey.dew_point_temp) != null)
                 {
@@ -385,7 +493,7 @@
                     var btnText = new Button()
                     {
                         X = Application.GetRealWidth(16),
-                        Width = Application.GetRealWidth(160),
+                        Width = Application.GetRealWidth(260),
                         TextAlignment = TextAlignment.CenterLeft,
                         TextColor = CSS_Color.FirstLevelTitleColor,
                         TextSize = CSS_FontSize.SubheadingFontSize,
@@ -406,14 +514,584 @@
                 #endregion
 
 
+                #region 琛ㄩ潰娓╁害
+                if (function.GetAttribute(FunctionAttributeKey.surface_temp) != null)
+                {
+                    contentView.AddChidren(new Button
+                    {
+                        Height = Application.GetRealHeight(10),
+                    });
+
+                    var surfaceTempRow = new FrameLayout()
+                    {
+                        Height = Application.GetRealHeight(55),
+                        BackgroundColor = CSS_Color.MainBackgroundColor,
+                    };
+                    contentView.AddChidren(surfaceTempRow);
+
+                    var btnSurfacaTempText = new Button()
+                    {
+                        X = Application.GetRealWidth(16),
+                        Width = Application.GetRealWidth(260),
+                        TextAlignment = TextAlignment.CenterLeft,
+                        TextColor = CSS_Color.FirstLevelTitleColor,
+                        TextSize = CSS_FontSize.SubheadingFontSize,
+                        TextID = StringId.SurfaceTemperature,
+                    };
+                    surfaceTempRow.AddChidren(btnSurfacaTempText);
+
+                    var btnSurfaceTempValue = new Button()
+                    {
+                        Width = Application.GetRealWidth(355),
+                        TextAlignment = TextAlignment.CenterRight,
+                        TextColor = CSS_Color.PromptingColor1,
+                        TextSize = CSS_FontSize.TextFontSize,
+                        Text = function.GetAttrState(FunctionAttributeKey.surface_temp) + "掳C",
+                    };
+                    surfaceTempRow.AddChidren(btnSurfaceTempValue);
+                }
+                #endregion
+
+
+                #region 娓╁害鏍″噯
+                if (function.GetAttribute(FunctionAttributeKey.room_temp_cc) != null)
+                {
+                    contentView.AddChidren(new Button
+                    {
+                        Height = Application.GetRealHeight(10),
+                    });
+
+                    var tempCCrow = new FrameLayout()
+                    {
+                        Height = Application.GetRealHeight(55),
+                        BackgroundColor = CSS_Color.MainBackgroundColor,
+                    };
+                    contentView.AddChidren(tempCCrow);
+
+                    var btnTempCcText = new Button()
+                    {
+                        X = Application.GetRealWidth(16),
+                        Width = Application.GetRealWidth(260),
+                        TextAlignment = TextAlignment.CenterLeft,
+                        TextColor = CSS_Color.FirstLevelTitleColor,
+                        TextSize = CSS_FontSize.SubheadingFontSize,
+                        TextID = StringId.TemperatureCalibration,
+                    };
+                    tempCCrow.AddChidren(btnTempCcText);
+
+                    var btnTempCcValue = new Button()
+                    {
+                        Width = Application.GetRealWidth(335),
+                        TextAlignment = TextAlignment.CenterRight,
+                        TextColor = CSS_Color.PromptingColor1,
+                        TextSize = CSS_FontSize.TextFontSize,
+                        Text = function.GetAttrState(FunctionAttributeKey.room_temp_cc) + "掳C",
+                    };
+                    tempCCrow.AddChidren(btnTempCcValue);
+
+                    var btnRightTempCc = new Button()
+                    {
+                        X = Application.GetRealWidth(339),
+                        Gravity = Gravity.CenterVertical,
+                        Width = Application.GetMinRealAverage(16),
+                        Height = Application.GetMinRealAverage(16),
+                        UnSelectedImagePath = "Public/RightIcon.png",
+                    };
+                    tempCCrow.AddChidren(btnRightTempCc);
+
+                    btnTempCcValue.MouseUpEventHandler = (sender, e) =>
+                    {
+                        LoadEditDialog(-10, 10, Convert.ToInt32(function.GetAttrState(FunctionAttributeKey.room_humidity_cc)), (reslut) =>
+                        {
+                            btnTempCcValue.Text = reslut + "掳C";
+                            Dictionary<string, string> dic = new Dictionary<string, string>();
+                            dic.Add(FunctionAttributeKey.room_temp_cc, reslut);
+                            Control.Ins.SendWriteCommand(function, dic);
+                        });
+                    };
+                }
+                #endregion
+
+
+                #region 婀垮害鏍″噯
+                if (function.GetAttribute(FunctionAttributeKey.room_humidity_cc) != null)
+                {
+                    contentView.AddChidren(new Button
+                    {
+                        Height = Application.GetRealHeight(10),
+                    });
+
+                    var humidityCCrow = new FrameLayout()
+                    {
+                        Height = Application.GetRealHeight(55),
+                        BackgroundColor = CSS_Color.MainBackgroundColor,
+                    };
+                    contentView.AddChidren(humidityCCrow);
+
+                    var btnHumidityCcText = new Button()
+                    {
+                        X = Application.GetRealWidth(16),
+                        Width = Application.GetRealWidth(260),
+                        TextAlignment = TextAlignment.CenterLeft,
+                        TextColor = CSS_Color.FirstLevelTitleColor,
+                        TextSize = CSS_FontSize.SubheadingFontSize,
+                        TextID = StringId.HumidityCalibration,
+                    };
+                    humidityCCrow.AddChidren(btnHumidityCcText);
+
+                    var btnHumidityCcValue = new Button()
+                    {
+                        Width = Application.GetRealWidth(335),
+                        TextAlignment = TextAlignment.CenterRight,
+                        TextColor = CSS_Color.PromptingColor1,
+                        TextSize = CSS_FontSize.TextFontSize,
+                        Text = function.GetAttrState(FunctionAttributeKey.room_humidity_cc) + "%",
+                    };
+                    humidityCCrow.AddChidren(btnHumidityCcValue);
+
+
+                    var btnRightHumidityCc = new Button()
+                    {
+                        X = Application.GetRealWidth(339),
+                        Gravity = Gravity.CenterVertical,
+                        Width = Application.GetMinRealAverage(16),
+                        Height = Application.GetMinRealAverage(16),
+                        UnSelectedImagePath = "Public/RightIcon.png",
+                    };
+                    humidityCCrow.AddChidren(btnRightHumidityCc);
+
+                    btnHumidityCcValue.MouseUpEventHandler = (sender, e) =>
+                    {
+                        LoadEditDialog(-20, 20, Convert.ToInt32(function.GetAttrState(FunctionAttributeKey.room_humidity_cc)), (reslut) =>
+                        {
+                            btnHumidityCcValue.Text = reslut + "%";
+                            Dictionary<string, string> dic = new Dictionary<string, string>();
+                            dic.Add(FunctionAttributeKey.room_humidity_cc, reslut);
+                            Control.Ins.SendWriteCommand(function, dic);
+                        });
+                    };
+
+                }
+                #endregion
+
+
+                #region 姣涚粏闃�闂�
+                if (function.GetAttribute(FunctionAttributeKey.cac_valve) != null)
+                {
+                    contentView.AddChidren(new Button
+                    {
+                        Height = Application.GetRealHeight(10),
+                    });
+
+                    var cacValveRow = new FrameLayout()
+                    {
+                        Height = Application.GetRealHeight(55),
+                        BackgroundColor = CSS_Color.MainBackgroundColor,
+                    };
+                    contentView.AddChidren(cacValveRow);
+
+                    var btnCacValveText = new Button()
+                    {
+                        X = Application.GetRealWidth(16),
+                        Width = Application.GetRealWidth(260),
+                        TextAlignment = TextAlignment.CenterLeft,
+                        TextColor = CSS_Color.FirstLevelTitleColor,
+                        TextSize = CSS_FontSize.SubheadingFontSize,
+                        TextID = StringId.CapillaryValve,
+                    };
+                    cacValveRow.AddChidren(btnCacValveText);
+
+                    var btnCacValvaValue = new Button()
+                    {
+                        Width = Application.GetRealWidth(355),
+                        TextAlignment = TextAlignment.CenterRight,
+                        TextColor = CSS_Color.PromptingColor1,
+                        TextSize = CSS_FontSize.TextFontSize,
+                        TextID = function.GetAttrState(FunctionAttributeKey.cac_valve) == "on"? StringId.On:StringId.OFF,
+                    };
+                    cacValveRow.AddChidren(btnCacValvaValue);
+                }
+                #endregion
+
+                #region 鍦版殩闃�闂�
+                if (function.GetAttribute(FunctionAttributeKey.fh_valve) != null)
+                {
+                    contentView.AddChidren(new Button
+                    {
+                        Height = Application.GetRealHeight(10),
+                    });
+
+                    var fhValveRow = new FrameLayout()
+                    {
+                        Height = Application.GetRealHeight(55),
+                        BackgroundColor = CSS_Color.MainBackgroundColor,
+                    };
+                    contentView.AddChidren(fhValveRow);
+
+                    var btnFhValveText = new Button()
+                    {
+                        X = Application.GetRealWidth(16),
+                        Width = Application.GetRealWidth(260),
+                        TextAlignment = TextAlignment.CenterLeft,
+                        TextColor = CSS_Color.FirstLevelTitleColor,
+                        TextSize = CSS_FontSize.SubheadingFontSize,
+                        TextID = StringId.FloorHeatingValve,
+                    };
+                    fhValveRow.AddChidren(btnFhValveText);
+
+                    var btnFhValvaValue = new Button()
+                    {
+                        Width = Application.GetRealWidth(355),
+                        TextAlignment = TextAlignment.CenterRight,
+                        TextColor = CSS_Color.PromptingColor1,
+                        TextSize = CSS_FontSize.TextFontSize,
+                        TextID = function.GetAttrState(FunctionAttributeKey.fh_valve) == "on"? StringId.On:StringId.OFF,
+                    };
+                    fhValveRow.AddChidren(btnFhValvaValue);
+                }
+                #endregion
+
 
 
             }
 
+            else if(function.spk == SPK.SenesorMegahealth || function.spk == SPK.SensorMmvPose)
+            {
+                contentView.AddChidren(new Button
+                {
+                    Height = Application.GetRealHeight(8),
+                });
+                #region 鎺ㄩ�佸紑鍏�
+                var viewRow0 = new FrameLayout()
+                {
+                    Height = Application.GetRealHeight(55),
+                    BackgroundColor = CSS_Color.MainBackgroundColor,
+                };
+                contentView.AddChidren(viewRow0);
+
+
+                var btnRowTitle0 = new Button()
+                {
+                    X = Application.GetRealWidth(16),
+                    Width = Application.GetRealWidth(160),
+                    TextAlignment = TextAlignment.CenterLeft,
+                    TextColor = CSS_Color.FirstLevelTitleColor,
+                    TextSize = CSS_FontSize.SubheadingFontSize,
+                    TextID = StringId.AlarmFunction,
+                };
+                viewRow0.AddChidren(btnRowTitle0);
+
+                var btnSwtichIcon0 = new Button()
+                {
+                    X = Application.GetRealWidth(322),
+                    Gravity = Gravity.CenterVertical,
+                    Width = Application.GetMinRealAverage(36),
+                    Height = Application.GetMinRealAverage(36),
+                    UnSelectedImagePath = "Public/Switch_2.png",
+                    SelectedImagePath = "Public/SwitchOn_2.png",
+                };
+                viewRow0.AddChidren(btnSwtichIcon0);
+
+                DeviceMessageRules deviceMessageRules = new DeviceMessageRules()
+                {
+                    deviceId = function.deviceId
+                };
+
+                btnSwtichIcon0.MouseUpEventHandler = (sender, e) => {
+                    var push = btnSwtichIcon0.IsSelected = !btnSwtichIcon0.IsSelected;
+                    new System.Threading.Thread(() => {
+                        var result = new HttpServerRequest().DeviceMessageRulesSet(function.deviceId, deviceMessageRules.conditionIdentify, push);//璁剧疆鎺ㄩ�佷俊鎭�
+                        Application.RunOnMainThread(() =>
+                        {
+                            if (result != null && result.Code == StateCode.SUCCESS)
+                            {
+                                    deviceMessageRules.push = push;
+                            }
+                            else
+                            {
+                                btnSwtichIcon0.IsSelected = deviceMessageRules.push;
+                            }
+                        });
+                    })
+                    { IsBackground = true }.Start();
+                };
+
+
+                Loading waitView = new Loading();
+                viewRow0.AddChidren(waitView);
+                new System.Threading.Thread(() => {
+                    Application.RunOnMainThread(() => {
+                        waitView.Start("");
+                    });
+                    var result = new HttpServerRequest().GetDeviceMessageRulesSet(function.deviceId);
+                    //var result1 = new HttpServerRequest().DeviceMessageRulesSet(function.deviceId);//璁剧疆鎺ㄩ�佷俊鎭�
+                    Application.RunOnMainThread(() =>
+                    {
+                        if (result != null && result.Code == StateCode.SUCCESS && result.Data != null)
+                        {
+                            var data = Newtonsoft.Json.JsonConvert.DeserializeObject<List<DeviceMessageRules>>(result.Data.ToString());
+                            if (data.Count > 0)
+                            {
+                                deviceMessageRules = data[0];
+                                btnSwtichIcon0.IsSelected = deviceMessageRules.push;
+                            }
+                        }
+                        else
+                        {
+                            btnSwtichIcon0.IsSelected = false;
+                        }
+                        waitView.Hide();
+                        waitView.RemoveFromParent();
+                    });
+                })
+                { IsBackground = true }.Start();
+
+                viewRow0.AddChidren(new Button()
+                {
+                    Gravity = Gravity.CenterHorizontal,
+                    Y = Application.GetRealHeight(54),
+                    BackgroundColor = CSS_Color.DividingLineColor,
+                    Width = Application.GetRealWidth(343),
+                    Height = Application.GetRealHeight(1)
+                });
+                #endregion
+
+                #region 婕旂ず妯″紡
+                var viewRow = new FrameLayout()
+                {
+                    Height = Application.GetRealHeight(55),
+                    BackgroundColor = CSS_Color.MainBackgroundColor,
+                };
+                contentView.AddChidren(viewRow);
+
+
+                var btnRowTitle = new Button()
+                {
+                    X = Application.GetRealWidth(16),
+                    Width = Application.GetRealWidth(160),
+                    TextAlignment = TextAlignment.CenterLeft,
+                    TextColor = CSS_Color.FirstLevelTitleColor,
+                    TextSize = CSS_FontSize.SubheadingFontSize,
+                    TextID = StringId.LaboratoryMode,
+                };
+                viewRow.AddChidren(btnRowTitle);
+
+                var btnSwtichIcon = new Button()
+                {
+                    X = Application.GetRealWidth(322),
+                    Gravity = Gravity.CenterVertical,
+                    Width = Application.GetMinRealAverage(36),
+                    Height = Application.GetMinRealAverage(36),
+                    UnSelectedImagePath = "Public/Switch_2.png",
+                    SelectedImagePath = "Public/SwitchOn_2.png",
+                    IsSelected = function.extSet.labModel
+                };
+                viewRow.AddChidren(btnSwtichIcon);
+
+                btnSwtichIcon.MouseUpEventHandler = (sender, e) =>
+                {
+                    btnSwtichIcon.IsSelected = function.extSet.labModel = !btnSwtichIcon.IsSelected;
+                    new System.Threading.Thread(() =>
+                    {
+                        var result = new HttpServerRequest().DeviceExtSet(function.deviceId, function.extSet);
+                        Application.RunOnMainThread(() =>
+                        {
+                            if (result != null && result.Code == StateCode.SUCCESS)
+                            {
+                                if (Convert.ToBoolean( result.Data ))
+                                {
+                                    function.extSet.labModel = btnSwtichIcon.IsSelected;
+                                }
+                                else
+                                {
+                                    btnSwtichIcon.IsSelected = function.extSet.labModel = !btnSwtichIcon.IsSelected;
+                                }
+                            }
+                            else
+                            {
+                                btnSwtichIcon.IsSelected = function.extSet.labModel = !btnSwtichIcon.IsSelected;
+                            }
+                        });
+                    })
+                    { IsBackground = true }.Start();
+                };
+
+                #endregion
+
+            }
+
+            //else if(function.spk == SPK.LightRGB)
+            //{
+            //    contentView.AddChidren(new Button
+            //    {
+            //        Height = Application.GetRealHeight(8),
+            //    });
+
+            //    var list = FunctionList.List.GetSeries();
+            //    foreach (var temp in list)
+            //    {
+
+            //        #region 
+            //        var viewRow0 = new FrameLayout()
+            //        {
+            //            Height = Application.GetRealHeight(55),
+            //            BackgroundColor = CSS_Color.MainBackgroundColor,
+            //        };
+            //        contentView.AddChidren(viewRow0);
+
+
+            //        var btnRowTitle0 = new Button()
+            //        {
+            //            X = Application.GetRealWidth(16),
+            //            Width = Application.GetRealWidth(160),
+            //            TextAlignment = TextAlignment.CenterLeft,
+            //            TextColor = CSS_Color.FirstLevelTitleColor,
+            //            TextSize = CSS_FontSize.SubheadingFontSize,
+            //            Text = temp.name,
+            //        };
+            //        viewRow0.AddChidren(btnRowTitle0);
+
+            //        var btnSwtichIcon0 = new Button()
+            //        {
+            //            X = Application.GetRealWidth(322),
+            //            Gravity = Gravity.CenterVertical,
+            //            Width = Application.GetMinRealAverage(36),
+            //            Height = Application.GetMinRealAverage(36),
+            //            UnSelectedImagePath = "Public/Switch_2.png",
+            //            SelectedImagePath = "Public/SwitchOn_2.png",
+            //        };
+            //        viewRow0.AddChidren(btnSwtichIcon0);
+
+            //        DeviceMessageRules deviceMessageRules = new DeviceMessageRules()
+            //        {
+            //            deviceId = function.deviceId
+            //        };
+
+            //        btnSwtichIcon0.MouseUpEventHandler = (sender, e) =>
+            //        {
+
+            //        };
+
+            //        viewRow0.AddChidren(new Button()
+            //        {
+            //            Gravity = Gravity.CenterHorizontal,
+            //            Y = Application.GetRealHeight(54),
+            //            BackgroundColor = CSS_Color.DividingLineColor,
+            //            Width = Application.GetRealWidth(343),
+            //            Height = Application.GetRealHeight(1)
+            //        });
+            //        #endregion
+            //    }
+
+            //}
 
             LoadEventList();
         }
 
 
+
+        /// <summary>
+        /// 鍔犺浇閫夋嫨寮圭獥
+        /// </summary>
+        void LoadEditDialog(int min ,int max,int curValue,Action<string> action)
+        {
+
+            List<string> pickerItems = new List<string>();
+
+            Dialog dialog = new Dialog();
+
+            var pView = new FrameLayout()
+            {
+                BackgroundColor = CSS_Color.DialogTransparentColor1,
+            };
+            dialog.AddChidren(pView);
+
+            var optionBaseView = new FrameLayout()
+            {
+                Y = Application.GetRealHeight(456 - 60),
+                Gravity = Gravity.CenterHorizontal,
+                Width = Application.GetRealWidth(343),
+                Height = Application.GetRealHeight(260),
+                AnimateSpeed = 0.3f,
+                Animate = Animate.DownToUp,
+                BackgroundColor = CSS_Color.MainBackgroundColor,
+                Radius = (uint)Application.GetRealWidth(12),
+            };
+            pView.AddChidren(optionBaseView);
+
+            var topView = new FrameLayout()
+            {
+                Gravity = Gravity.CenterHorizontal,
+                Width = Application.GetRealWidth(343),
+                Height = Application.GetRealHeight(40),
+                BackgroundColor = CSS_Color.MainBackgroundColor,
+                Radius = (uint)Application.GetRealWidth(12),
+            };
+            optionBaseView.AddChidren(topView);
+            topView.AddChidren(new Button() { Y = Application.GetRealHeight(39), Height = Application.GetRealHeight(1), BackgroundColor = CSS_Color.DividingLineColor });
+
+            var btnCancel = new Button()
+            {
+                X = Application.GetRealWidth(21),
+                Width = Application.GetRealWidth(100),
+                TextAlignment = TextAlignment.CenterLeft,
+                TextColor = CSS_Color.PromptingColor1,
+                TextSize = CSS_FontSize.TextFontSize,
+                TextID = StringId.Cancel,
+            };
+            topView.AddChidren(btnCancel);
+
+            var btnConfrim = new Button()
+            {
+                X = Application.GetRealWidth(160),
+                Width = Application.GetRealWidth(160),
+                TextAlignment = TextAlignment.CenterRight,
+                TextColor = CSS_Color.MainColor,
+                TextSize = CSS_FontSize.TextFontSize,
+                TextID = StringId.Confirm,
+            };
+            topView.AddChidren(btnConfrim);
+
+            UIPickerView uIPickerView = new UIPickerView()
+            {
+                Y = Application.GetRealHeight(40),
+                Height = Application.GetRealHeight(210),
+                Radius = (uint)Application.GetRealWidth(12),
+            };
+            for (int i = min; i <= max; i += 1)
+            {
+                pickerItems.Add(i.ToString());
+            }
+            uIPickerView.setNPicker(pickerItems, null, null);
+            optionBaseView.AddChidren(uIPickerView);
+            uIPickerView.setCurrentItems(pickerItems.IndexOf(curValue.ToString()), 4, 5);
+
+            string selectItem = pickerItems[0];
+            if (pickerItems.Contains(curValue.ToString()))
+            {
+                selectItem = curValue.ToString();
+            }
+
+            dialog.Show();
+
+            pView.MouseUpEventHandler = (sender, e) => {
+                dialog.Close();
+            };
+
+            btnCancel.MouseUpEventHandler = (sender, e) => {
+                dialog.Close();
+            };
+            uIPickerView.OnSelectChangeEvent = (int1, int2, int3) => {
+                selectItem = pickerItems[int1];
+            };
+            btnConfrim.MouseUpEventHandler = (sender, e) => {
+                dialog.Close();
+                action?.Invoke(selectItem);
+            };
+
+        }
+
+
+
     }
 }

--
Gitblit v1.8.0