wxr
2024-05-20 efcffde735fa65ae34bae0bcc86313b74ed0e36c
HDL_ON/UI/UI2/1-HomePage/HomePage.cs
@@ -30,7 +30,7 @@
        /// <summary>
        /// 连接状态提示
        /// </summary>
        Button btnLinkStateTip;
        FrameLayout divLinkStateTip;
        /// <summary>
        /// 安防状态图标
        /// </summary>
@@ -213,69 +213,35 @@
                    IsBold = true
                };
                topView.AddChidren(btnResidenceName);
                btnLinkStateTip = new Button()
                divLinkStateTip = new FrameLayout()
                {
                    //X = Application.GetRealWidth(16),
                    Y = btnResidenceName.Bottom,
                    Height = Application.GetRealWidth(14),
                    //BackgroundColor = CSS_Color.LinkTipFail,
                    TextAlignment = TextAlignment.Center,
                    Y = Application.GetRealHeight(113) - Application.GetRealWidth(24),
                    Height = Application.GetRealWidth(24),
                    BackgroundColor = 0xFFFF4747,
                    Visible = false,
                };
                topView.AddChidren(divLinkStateTip);
                Button btnLinkStateIcon = new Button()
                {
                    X = Application.GetRealWidth(16),
                    Gravity = Gravity.CenterVertical,
                    Width = Application.GetRealWidth(20),
                    Height = Application.GetRealWidth(20),
                    UnSelectedImagePath = "Collection/GatewayOnlineTipIcon.png"
                };
                divLinkStateTip.AddChidren(btnLinkStateIcon);
                var btnLinkStateTip = new Button()
                {
                    X = btnLinkStateIcon.Right + Application.GetRealWidth(4),
                    TextAlignment = TextAlignment.CenterLeft,
                    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                    TextColor = CSS_Color.MainBackgroundColor,
                    TextID = StringId.NetworkAnomaly,
                };
                topView.AddChidren(btnLinkStateTip);
                //btnLinkStateTip.Width = btnLinkStateTip.GetTextWidth();
                divLinkStateTip.AddChidren(btnLinkStateTip);
                //更新链接状态icon颜色
#if DEBUG
                int ddd = 0;
                btnResidenceName.MouseUpEventHandler = (sender, e) =>
                {
                    //827a98c98da7469b8bc19bb6a3c7651906
                    //St_00009073b431d8b2490c9df0c5cb0e73
                    //Com.Hdl.HdlToLc.InitData(Shared.Application.Activity,false, "827a98c98da7469b8bc19bb6a3c7651906");
                    //Com.Hdl.HdlToLc.OpenActivity();
                    //new System.Threading.Thread(() =>
                    //{
                    //    var http = new HttpServerRequest();
                    //    var pack = http.GetLcSubAccountToken();
                    //    if (pack.Code == StateCode.SUCCESS)
                    //    {
                    //        if(pack.Data == null || string.IsNullOrEmpty(pack.Data.ToString()))
                    //        {
                    //            Application.RunOnMainThread(() =>
                    //            {
                    //                new PublicAssmebly().TipMsg(Language.StringByID(StringId.Tip), Language.StringByID(StringId.huoqushujushibao));
                    //            });
                    //        }
                    //        Com.Utils.HdlToLcUtils.Instance.HomeId = DB_ResidenceData.Instance.CurrentRegion.id;
                    //        Com.Utils.HdlToLcUtils.Instance.Token = UserInfo.Current.AccessToken;
                    //        Com.Utils.HdlToLcUtils.Instance.SubAccessToken = pack.Data.ToString();
                    //        Application.RunOnMainThread(() =>
                    //        {
                    //            //Com.Utils.HdlToLcUtils.Instance.OpenActivity();
                    //            //Com.Utils.HdlToLcUtils.Instance.Play()
                    //            var backTemp = new AddLcCam();
                    //            backTemp.backAction = () =>
                    //            {
                    //                //Load3tyBrandDeviceList();
                    //            };
                    //            Com.Utils.HdlToLcUtils.Instance.AddCamera(backTemp);
                    //        });
                    //    }
                    //    else
                    //    {
                    //        Application.RunOnMainThread(() =>
                    //        {
                    //            new PublicAssmebly().TipMsg(Language.StringByID(StringId.Tip), Language.StringByID(StringId.huoqushujushibao) + $"({pack.Code})");
                    //        });
                    //    }
                    //})
                    //{ IsBackground = true }.Start();
                };
#endif
                environmentalView = new FrameLayout()
                {
                    Y = Application.GetRealHeight(1) + btnResidenceName.Bottom,
@@ -1090,7 +1056,6 @@
            #region ContextView
            gcFunctionView.RemoveAll();
            functionViews.Clear();
            var rowView = new FrameLayout();
            try
            {
@@ -1314,7 +1279,8 @@
                };
                if (function.spk == SPK.SenesorMegahealth || function.spk == SPK.SensorMmvPose)
                if (function.spk == SPK.SenesorMegahealth || function.spk == SPK.SensorMmvPose ||
                    function.spk == SPK.SensorPir || function.spk == SPK.SensorPirHold)
                {
                    btnIcon.UnSelectedImagePath = "FunctionIcon/Icon/HomeIcon/sensormegahealth.png";
                    btnIcon.SelectedImagePath = "FunctionIcon/Icon/HomeIcon/sensormegahealth.png";
@@ -1328,7 +1294,7 @@
                        switch (tempStatus.state)
                        {//0空,1走,2跑,3坐,4跌倒,5站
                            case "0":
                                function.lastState = Language.StringByID(StringId.SensorNormalState);
                                function.lastState = Language.StringByID(StringId.wuren);
                                break;
                            case "1":
                                function.lastState = Language.StringByID(StringId.SomeoneIn);
@@ -1369,8 +1335,49 @@
                        }
                        btnState.Text = function.lastState;
                    }
                    else
                    {
                        tempStatus = function.attributes.Find((sta) => sta.key == "people_status");
                        if (tempStatus != null)
                        {
                            switch (tempStatus.state)
                            {
                                case "true":
                                    function.lastState = Language.StringByID(StringId.Someone);
                                    break;
                                case "false":
                                    function.lastState = Language.StringByID(StringId.wuren);
                                    break;
                            }
                            btnState.Text = function.lastState;
                        }
                    }
                }
                else if(function.spk == SPK.SensorDryContact || function.spk == SPK.SensorDryContact2)
                {
                    btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_white.png";
                    btnIcon.SelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_white.png";
                    btnName.TextColor = CSS_Color.MainBackgroundColor;
                    btnZone.TextColor = CSS_Color.MainBackgroundColor;
                    btnState.TextColor = CSS_Color.MainBackgroundColor;
                    var tempStatus = function.attributes.Find((sta) => sta.key == FunctionAttributeKey.ContactStatus);
                    if (tempStatus != null)
                    {
                        switch (tempStatus.state)
                        {
                            case "open":
                                function.lastState = Language.StringByID(StringId.DryBreak);
                                break;
                            case "close":
                                function.lastState = Language.StringByID(StringId.Shut);
                                break;
                        }
                        btnState.Text = function.lastState;
                    }
                }
                else
                {
                    btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_blue.png";
@@ -1404,7 +1411,8 @@
                if (//SPK.CurtainSpkList().Contains(function.spk))
                    function.spk == SPK.CurtainRoller || function.spk == SPK.CurtainShades ||
                    function.spk == SPK.CurtainDream ||
                    function.spk == SPK.CurtainSwitch || function.spk == SPK.CurtainTrietex)
                    function.spk == SPK.CurtainSwitch || function.spk == SPK.CurtainTrietex
                    )
                {
                    btnIcon.UnSelectedImagePath = "FunctionIcon/Curtain/CurtainIcon.png";
                    btnIcon.SelectedImagePath = "FunctionIcon/Curtain/CurtainOnIcon.png";
@@ -1419,6 +1427,7 @@
                        SelectedImagePath = "FunctionIcon/Curtain/CurtainCloseWhiteIcon_Shadow.png",
                    };
                    view.AddChidren(btnCurtainClose);
                    Button btnCurtainOpen;
                    btnCurtainOpen = new Button()
@@ -1469,7 +1478,7 @@
                    view.AddChidren(btnPower);
                    btnState.Text = function.GetAttrState("song_name");
                    btnState.Width = Application.GetRealWidth(90);
                    btnState.SelectedTextColor = CSS_Color.MainBackgroundColor;
                    btnState.TextColor = CSS_Color.MainBackgroundColor;//PromptingColor1
@@ -1529,13 +1538,13 @@
                }
                else if (function.spk == SPK.SenesorMegahealth || function.spk == SPK.SensorMmvPose)
                //else if (function.spk == SPK.SenesorMegahealth || function.spk == SPK.SensorMmvPose)
                else if (SPK.ArmSensorSpkList().Contains(function.spk))
                {
                    //btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}.png";
                    //btnIcon.SelectedImagePath = "FunctionIcon/Icon/HomeIcon/sensormegahealth.png";
                    //btnIcon.IsSelected = true;
                    btnName.TextColor = CSS_Color.MainBackgroundColor;
                    btnZone.TextColor = CSS_Color.MainBackgroundColor;
                    btnState.SelectedTextColor = CSS_Color.MainBackgroundColor;
                    btnState.TextColor = CSS_Color.MainColor;//PromptingColor1
                    btnState.TextColor = CSS_Color.MainBackgroundColor;
                }
                //紧急求助
@@ -1556,11 +1565,72 @@
                    btnIcon.UnSelectedImagePath = UI2.FuntionControlView.VideoDoorLock.CommonMethod.Current.GetVideoDoorLockIcon(UI2.FuntionControlView.VideoDoorLock.CommonMethod.Comerom.collect);
                    //btnIcon.SelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_blue.png";
                }
                //else if (function.spk == SPK.GroupControl)
                //{
                //    btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/HomeIcon/lightswitch_blue.png";
                //    btnIcon.SelectedImagePath = $"FunctionIcon/Icon/HomeIcon/lightswitch_white.png";
                //}
                else if (function.spk == SPK.AvZkAiks)
                {
                    //为了去掉开关按钮
                    btnIcon.UnSelectedImagePath = "AksIcon/yingyinzhongkong1.png";
                }
                else if (function.spk == SPK.GroupControl)
                {
                    btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_blue.png";
                    btnIcon.SelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_white.png";
                    if (function.spk == SPK.GroupControl)
                    {
                        Button btnClose;
                        Button btnOpen;
                        btnOpen = new Button()
                        {
                            X = Application.GetRealWidth(84),
                            Y = Application.GetRealWidth(89),
                            Width = Application.GetRealWidth(40),
                            Height = Application.GetRealWidth(40),
                            UnSelectedImagePath = "FunctionIcon/Light/LightScene/gp_all_on_home.png",
                            SelectedImagePath = "FunctionIcon/Light/LightScene/gp_all_on_home_click.png",
                        };
                        view.AddChidren(btnOpen);
                        btnClose = new Button()
                        {
                            X = btnOpen.Right,
                            Y = Application.GetRealWidth(89),
                            Width = Application.GetRealWidth(40),
                            Height = Application.GetRealWidth(40),
                            UnSelectedImagePath = "FunctionIcon/Light/LightScene/gp_all_off_home.png",
                            SelectedImagePath = "FunctionIcon/Light/LightScene/gp_all_off_home_click.png",
                        };
                        view.AddChidren(btnClose);
                        btnClose.MouseDownEventHandler = (sender, e) => {
                            btnClose.IsSelected = true;
                        };
                        btnClose.MouseUpEventHandler = (sender, e) => {
                            btnClose.IsSelected = false;
                            if (function.spk == SPK.GroupControl)
                            {
                                var d = new Dictionary<string, string>();
                                d.Add("on_off", "off");
                                (function as GroupControl).Control(d);
                            }
                        };
                        btnOpen.MouseDownEventHandler = (sender, e) => {
                            btnOpen.IsSelected = true;
                        };
                        btnOpen.MouseUpEventHandler = (sender, e) => {
                            btnOpen.IsSelected = false;
                            if (function.spk == SPK.GroupControl)
                            {
                                var d = new Dictionary<string, string>();
                                d.Add("on_off", "on");
                                (function as GroupControl).Control(d);
                            }
                        };
                    }
                }
                else if (function.spk == SPK.ElectricEnergy || function.spk == SPK.AirSwitch || function.spk == SPK.AirSwitchP3)
                {