wxr
2024-10-28 505effa88b17ce8c3c7ac5403b76d9e5d0cfc2a5
HDL_ON/UI/UI2/FuntionControlView/FunctionBaseInfoSetPage.cs
@@ -4,7 +4,6 @@
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;
@@ -72,15 +71,179 @@
        public void LoadPage(bool locationSetting = true)
        {
            bodyView.BackgroundColor = CSS_Color.BackgroundColor;
            new TopViewDiv(bodyView, Language.StringByID(StringId.Setting)).LoadTopView();
            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()
@@ -185,422 +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
            #region 删除设备行  序列号 型号
            if (this.function.spk == SPK.VideoDoorLock)
            {
                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
            }
            #endregion
            #region 删除海信电视设备
            if (this.function.spk == SPK.ElectricalTvHisense)
            {
                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 添加到桌面
            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)
            {