wxr
2024-07-16 cbc156bc38d8b8eae7aef60cb186ab2b52fa701f
HDL_ON/UI/UI2/FuntionControlView/FunctionBaseInfoSetPage.cs
@@ -4,6 +4,7 @@
using HDL_ON.DriverLayer;
using HDL_ON.Entity;
using HDL_ON.UI.CSS;
using HDL_ON.UI.UI2.FuntionControlView.VideoDoorLock;
using Newtonsoft.Json.Linq;
using Shared;
@@ -29,18 +30,6 @@
        /// 位置信息跳转编辑按钮
        /// </summary>
        Button btnLocationInfoRight;
        /// <summary>
        /// 删除设备
        /// </summary>
        Button delTextBtn;
        /// <summary>
        /// 下一级图标
        /// </summary>
        Button delRightBtn;
        /// <summary>
        /// 删除设备行FrameLayout
        /// </summary>
        FrameLayout delView;
        #endregion
@@ -54,15 +43,14 @@
        /// <summary>
        /// 解绑设备回调
        /// </summary>
        Action actionDel;
        public Action actionDel;
        #endregion
        public FunctionBaseInfoSetPage(Function func, Action action,Action actionDel=null)
        public FunctionBaseInfoSetPage(Function func, Action action)
        {
            bodyView = this;
            function = func;
            actionRefresh = action;
            this.actionDel = actionDel;
        }
        public override void RemoveFromParent()
@@ -84,11 +72,14 @@
        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,
            };
@@ -198,7 +189,7 @@
                #endregion
            }
            #region 共享
            //var sharedView = new FrameLayout()
            //{
            //    Height = Application.GetRealHeight(55),
@@ -237,49 +228,349 @@
            //    });
            #endregion
            #region 删除设备行
            delView = new FrameLayout()
            {
                Height = Application.GetRealHeight(55),
                BackgroundColor = CSS_Color.MainBackgroundColor,
            };
            #region 删除设备行  序列号 型号
            if (this.function.spk == SPK.VideoDoorLock)
            {
                contentView.AddChidren(delView);
                contentView.AddChidren(new Button()
                {
                    Height = Application.GetRealWidth(8),
                });
                #region 开锁设置
                var unlockSettingView = new FrameLayout()
                {
                    Height = Application.GetRealHeight(55),
                    BackgroundColor = CSS_Color.MainBackgroundColor,
                };
                contentView.AddChidren(unlockSettingView);
                //unlockSettingView.AddChidren(new Button
                //{
                //    Gravity = Gravity.CenterHorizontal,
                //    BackgroundColor = CSS_Color.DividingLineColor,
                //    Width = Application.GetRealWidth(343),
                //    Height = Application.GetRealHeight(1)
                //});
                var unlockRightBtn = new Button()
                {
                    X = Application.GetRealWidth(339),
                    Gravity = Gravity.CenterVertical,
                    Width = Application.GetMinRealAverage(16),
                    Height = Application.GetMinRealAverage(16),
                    UnSelectedImagePath = "Public/RightIcon.png",
                };
                unlockSettingView.AddChidren(unlockRightBtn);
                var btnUnlockText = new Button()
                {
                    X = Application.GetRealWidth(16),
                    TextAlignment = TextAlignment.CenterLeft,
                    TextColor = CSS_Color.FirstLevelTitleColor,
                    TextSize = CSS_FontSize.SubheadingFontSize,
                    TextID = StringId.UnlockSetting,
                };
                unlockSettingView.AddChidren(btnUnlockText);
                EventHandler<MouseEventArgs> unlockSettingEvent = (sender, e) =>
                {
                    var page = new UnlockSettingPage(function);
                    MainPage.BasePageView.AddChidren(page);
                    page.LoadPage();
                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                };
                btnUnlockText.MouseUpEventHandler = unlockSettingEvent;
                #endregion
                #region 音频设置
                var audioSetupView = new FrameLayout()
                {
                    Height = Application.GetRealHeight(55),
                    BackgroundColor = CSS_Color.MainBackgroundColor,
                };
                contentView.AddChidren(audioSetupView);
                audioSetupView.AddChidren(new Button
                {
                    Gravity = Gravity.CenterHorizontal,
                    BackgroundColor = CSS_Color.DividingLineColor,
                    Width = Application.GetRealWidth(343),
                    Height = Application.GetRealHeight(1)
                });
                var btnAudioSetupRight = new Button()
                {
                    X = Application.GetRealWidth(339),
                    Gravity = Gravity.CenterVertical,
                    Width = Application.GetMinRealAverage(16),
                    Height = Application.GetMinRealAverage(16),
                    UnSelectedImagePath = "Public/RightIcon.png",
                };
                audioSetupView.AddChidren(btnAudioSetupRight);
                var btnAudioSetupText = new Button()
                {
                    X = Application.GetRealWidth(16),
                    TextAlignment = TextAlignment.CenterLeft,
                    TextColor = CSS_Color.FirstLevelTitleColor,
                    TextSize = CSS_FontSize.SubheadingFontSize,
                    TextID = StringId.AudioSetup,
                };
                audioSetupView.AddChidren(btnAudioSetupText);
                btnAudioSetupText.MouseUpEventHandler = (sender, e) => {
                    var page = new VideoDoorlockAudioSetupPage(function);
                    MainPage.BasePageView.AddChidren(page);
                    page.LoadPage();
                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                };
                #endregion
                #region 电池管理
                var batteryManagementView = new FrameLayout()
                {
                    Height = Application.GetRealHeight(55),
                    BackgroundColor = CSS_Color.MainBackgroundColor,
                };
                contentView.AddChidren(batteryManagementView);
                batteryManagementView.AddChidren(new Button
                {
                    Gravity = Gravity.CenterHorizontal,
                    BackgroundColor = CSS_Color.DividingLineColor,
                    Width = Application.GetRealWidth(343),
                    Height = Application.GetRealHeight(1)
                });
                var btnBatteryManagementRight = new Button()
                {
                    X = Application.GetRealWidth(339),
                    Gravity = Gravity.CenterVertical,
                    Width = Application.GetMinRealAverage(16),
                    Height = Application.GetMinRealAverage(16),
                    UnSelectedImagePath = "Public/RightIcon.png",
                };
                batteryManagementView.AddChidren(btnBatteryManagementRight);
                var btnBatteryManagementText = new Button()
                {
                    X = Application.GetRealWidth(16),
                    TextAlignment = TextAlignment.CenterLeft,
                    TextColor = CSS_Color.FirstLevelTitleColor,
                    TextSize = CSS_FontSize.SubheadingFontSize,
                    TextID = StringId.BatteryManagement,
                };
                batteryManagementView.AddChidren(btnBatteryManagementText);
                btnBatteryManagementText.MouseUpEventHandler = (sender, e) => {
                    var page = new VideoDoorlockBatteryManagementPage();
                    MainPage.BasePageView.AddChidren(page);
                    page.LoadPage();
                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                };
                #endregion
                #region 序列号
                var serialView = new FrameLayout()
                {
                    Height = Application.GetRealHeight(55),
                    BackgroundColor = CSS_Color.MainBackgroundColor,
                };
                contentView.AddChidren(serialView);
                var serialLineBtn = new Button()
                {
                    Gravity = Gravity.CenterHorizontal,
                    BackgroundColor = CSS_Color.DividingLineColor,
                    Width = Application.GetRealWidth(343),
                    Height = Application.GetRealHeight(1)
                };
                serialView.AddChidren(serialLineBtn);
                var serialTextBtn = new Button()
                {
                    X = Application.GetRealWidth(16),
                    Width = Application.GetRealWidth(160),
                    TextAlignment = TextAlignment.CenterLeft,
                    TextColor = CSS_Color.FirstLevelTitleColor,
                    TextSize = CSS_FontSize.SubheadingFontSize,
                    TextID = StringId.xuliehao,
                };
                serialView.AddChidren(serialTextBtn);
                var serialValuesBtn = new Button()
                {
                    X = Application.GetRealWidth(106),
                    Width = Application.GetRealWidth(237),
                    TextAlignment = TextAlignment.CenterRight,
                    TextColor = CSS_Color.PromptingColor1,
                    TextSize = CSS_FontSize.TextFontSize,
                    Text = this.function.sid,
                };
                serialView.AddChidren(serialValuesBtn);
                #endregion
                #region 型号
                var modelView = new FrameLayout()
                {
                    Height = Application.GetRealHeight(55),
                    BackgroundColor = CSS_Color.MainBackgroundColor,
                };
                contentView.AddChidren(modelView);
                var modelLineBtn = new Button()
                {
                    Gravity = Gravity.CenterHorizontal,
                    BackgroundColor = CSS_Color.DividingLineColor,
                    Width = Application.GetRealWidth(343),
                    Height = Application.GetRealHeight(1)
                };
                modelView.AddChidren(modelLineBtn);
                var modelTextBtn = new Button()
                {
                    X = Application.GetRealWidth(16),
                    Width = Application.GetRealWidth(160),
                    TextAlignment = TextAlignment.CenterLeft,
                    TextColor = CSS_Color.FirstLevelTitleColor,
                    TextSize = CSS_FontSize.SubheadingFontSize,
                    TextID = StringId.xinghao,
                };
                modelView.AddChidren(modelTextBtn);
                var modelValuesBtn = new Button()
                {
                    X = Application.GetRealWidth(106),
                    Width = Application.GetRealWidth(237),
                    TextAlignment = TextAlignment.CenterRight,
                    TextColor = CSS_Color.PromptingColor1,
                    TextSize = CSS_FontSize.TextFontSize,
                    Text = this.function.omodel,
                };
                modelView.AddChidren(modelValuesBtn);
                #endregion
                #region 删除设备行
                contentView.AddChidren(new Button() {
                    Height = Application.GetRealHeight(48),
                });
                var delTextBtn = new Button()
                {
                    Gravity = Gravity.CenterHorizontal,
                    Width = Application.GetRealWidth(220),
                    Height = Application.GetRealWidth(44),
                    TextAlignment = TextAlignment.Center,
                    TextColor = CSS_Color.WarningColor,
                    TextSize = CSS_FontSize.SubheadingFontSize,
                    TextID = StringId.DeleteDevice,
                    Radius = (uint)Application.GetRealWidth(22),
                    BackgroundColor = CSS_Color.MainBackgroundColor,
                };
                contentView.AddChidren(delTextBtn);
                EventHandler<MouseEventArgs> ClickEvent = (sener, e) =>
                {
                    new HDL_ON.UI.Music.View.TipView().TipBox(-1, StringId.AreYouSureToDeleteThisDevice, () =>
                    {
                        UI2.FuntionControlView.VideoDoorLock.VideDoorLockSend.Current.DelDevice(this.function, (isBool) =>
                        {
                            Application.RunOnMainThread(() =>
                            {
                                if (!isBool)
                                {
                                    new Tip()
                                    {
                                        CloseTime = 1,
                                        Text = Language.StringByID(StringId.delFail),
                                        Direction = AMPopTipDirection.None,
                                    }.Show(bodyView);
                                    return;
                                }
                                //删除本地文件
                                UI2.FuntionControlView.VideoDoorLock.CommonMethod.Current.DeleteFunction(this.function);
                                this.RemoveFromParent();
                                this.actionDel?.Invoke();
                            });
                        });
                    });
                };
                delTextBtn.MouseUpEventHandler = ClickEvent;
                #endregion
            }
            var lineBtn = new Button()
            {
                Gravity = Gravity.CenterHorizontal,
                BackgroundColor = CSS_Color.DividingLineColor,
                Width = Application.GetRealWidth(343),
                Height = Application.GetRealHeight(1)
            };
            delView.AddChidren(lineBtn);
             delTextBtn = new Button()
            {
                X = Application.GetRealWidth(16),
                Width = Application.GetRealWidth(160),
                TextAlignment = TextAlignment.CenterLeft,
                TextColor = CSS_Color.FirstLevelTitleColor,
                TextSize = CSS_FontSize.SubheadingFontSize,
                TextID = StringId.DeleteDevice,
            };
            delView.AddChidren(delTextBtn);
            #endregion
            delRightBtn= new Button()
            #region 删除海信电视设备
            if (this.function.spk == SPK.ElectricalTvHisense)
            {
                X = Application.GetRealWidth(339),
                Gravity = Gravity.CenterVertical,
                Width = Application.GetMinRealAverage(16),
                Height = Application.GetMinRealAverage(16),
                UnSelectedImagePath = "Public/RightIcon.png",
            };
            delView.AddChidren(delRightBtn);
                contentView.AddChidren(new Button()
                {
                    Height = Application.GetRealWidth(8),
                });
                #region 删除设备行
                contentView.AddChidren(new Button()
                {
                    Height = Application.GetRealHeight(48),
                });
                var delTextBtn = new Button()
                {
                    Gravity = Gravity.CenterHorizontal,
                    Width = Application.GetRealWidth(220),
                    Height = Application.GetRealWidth(44),
                    TextAlignment = TextAlignment.Center,
                    TextColor = CSS_Color.WarningColor,
                    TextSize = CSS_FontSize.SubheadingFontSize,
                    TextID = StringId.jiebangshebei,
                    Radius = (uint)Application.GetRealWidth(22),
                    BackgroundColor = CSS_Color.MainBackgroundColor,
                };
                //如果是成员隐藏收藏功能
                if (!DB_ResidenceData.Instance.CurrentRegion.isOtherShare)
                {
                    contentView.AddChidren(delTextBtn);
                }
                EventHandler<MouseEventArgs> ClickEvent = (sener, e) =>
                {
                    new HDL_ON.UI.Music.View.TipView().TipBox(-1, StringId.AreYouSureToDeleteThisDevice, () =>
                    {
                        HDL_ON.UI.UI2.FuntionControlView.HisenseTV.Send.Current.DelDevice(this.function.deviceId, (isBool) =>
                            {
                                Application.RunOnMainThread(() =>
                                {
                                    if (!isBool)
                                    {
                                        new Tip()
                                        {
                                            CloseTime = 1,
                                            Text = Language.StringByID(StringId.delFail),
                                            Direction = AMPopTipDirection.None,
                                        }.Show(bodyView);
                                        return;
                                    }
                                //删除本地文件
                                UI2.FuntionControlView.VideoDoorLock.CommonMethod.Current.DeleteFunction(this.function);
                                    this.RemoveFromParent();
                                    this.actionDel?.Invoke();
                                });
                            });
                    });
                };
                delTextBtn.MouseUpEventHandler = ClickEvent;
                #endregion
            }
            #endregion
#if stage2
            #region 添加到桌面
@@ -885,6 +1176,71 @@
            }
            //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();
        }