陈嘉乐
2020-07-10 48ba446936b51fffafa7c3600c0dadc6ac0e8c20
ZigbeeApp/Shared/Phone/UserCenter/HideOption/HideOptionMainForm.cs
@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Text;
using ZigBee.Device;
namespace Shared.Phone.UserCenter.HideOption
{
@@ -54,7 +55,7 @@
            this.AddTopButtomRowControl("住宅ID", 400, Common.Config.Instance.Home.Id, 900);
            this.AddTopButtomRowControl("账号GUID", 400, Common.Config.Instance.Home.MainUserDistributedMark, 900);
            this.AddTopButtomRowControl("账号GUID", 400, string.IsNullOrEmpty(Common.Config.Instance.Guid) == true ? Common.Config.Instance.Home.MainUserDistributedMark : Common.Config.Instance.Guid, 900);
            this.AddNormalRowControl("住宅分享", 400, Common.Config.Instance.Home.IsOthreShare == true ? "是" : "否", 400);
@@ -63,6 +64,17 @@
            this.AddNormalRowControl("远程连接", 400, ZigBee.Device.ZbGateway.IsRemote == true ? "是" : "否", 400);
            this.AddNormalRowControl("拥有远程权限", 400, ZigBee.Device.ZbGateway.AllowRemoteCtrl == true ? "是" : "否", 400);
            this.AddNormalRowControl("WIFI变量", 400, Shared.Application.IsWifi == true ? "true" : "false", 400);
            if (ZigBee.Common.Application.FindGateWaySocket.busSocket == null)
            {
                this.AddNormalRowControl("Socket链接", 400, "未初始化", 400);
            }
            else
            {
                this.AddNormalRowControl("Socket链接", 400, ZigBee.Common.Application.FindGateWaySocket.busSocket.Connected == true ? "true" : "false", 400);
            }
            int count = HdlGatewayLogic.Current.GetAllLocalGateway().Count;
            var row1 = new FrameRowControl(listView.rowSpace / 2);
@@ -86,7 +98,7 @@
            row1 = new FrameRowControl(listView.rowSpace / 2);
            listView.AddChidren(row1);
            row1.UseClickStatu = false;
            row1.AddLeftCaption("广播搜到的网关", 400);
            row1.AddLeftCaption("缓存中的网关", 400);
            if (count > 0)
            {
                row1.UseClickStatu = true;
@@ -99,6 +111,62 @@
            }
            row1.AddMostRightView(count + "个", 400);
            row1.AddBottomLine();
            //检测能否广播得到网关
            this.AddCheckReceviceGatewayRow();
            row1 = new FrameRowControl(listView.rowSpace / 2);
            listView.AddChidren(row1);
            row1.AddLeftCaption("查看缓存文件", 500);
            row1.AddRightArrow();
            row1.AddBottomLine();
            row1.ButtonClickEvent += (sender, e) =>
            {
                var form = new HideOptionDirectoryListForm();
                form.AddForm();
            };
#if Android
            row1 = new FrameRowControl(listView.rowSpace / 2);
            row1.UseClickStatu = false;
            listView.AddChidren(row1);
            row1.AddLeftCaption("GBS定位", 500);
            row1.AddBottomLine();
            var btnGbsSwitch = row1.AddMostRightSwitchIcon();
            string checkFile = System.IO.Path.Combine(Shared.IO.FileUtils.RootPath, Shared.Phone.UserCenter.DirNameResourse.OpenGbsFile);
            if (System.IO.File.Exists(checkFile) == true)
            {
                btnGbsSwitch.IsSelected = true;
            }
            btnGbsSwitch.ButtonClickEvent += (sender, e) =>
            {
                this.ShowMassage(ShowMsgType.Confirm, "注意:开启或者关闭此功能会重启App", () =>
                {
                    btnGbsSwitch.IsSelected = !btnGbsSwitch.IsSelected;
                    if (btnGbsSwitch.IsSelected == true)
                    {
                        var file = System.IO.File.Create(checkFile);
                        file.Close();
                    }
                    else
                    {
                        System.IO.File.Delete(checkFile);
                    }
                    HDLUtils.RestartApp();
                });
            };
#endif
            row1 = new FrameRowControl(listView.rowSpace / 2);
            listView.AddChidren(row1);
            row1.AddLeftCaption("设备缓存变量", 500);
            row1.AddRightArrow();
            row1.AddBottomLine();
            row1.ButtonClickEvent += (sender, e) =>
            {
                var form = new HideOptionMemoryListDeviceForm();
                form.AddForm();
            };
            row1 = new FrameRowControl(listView.rowSpace / 2);
            listView.AddChidren(row1);
@@ -156,6 +224,71 @@
            return row1;
        }
        /// <summary>
        /// 检测能否广播得到网关
        /// </summary>
        private void AddCheckReceviceGatewayRow()
        {
            var row1 = new FrameRowControl(listView.rowSpace / 2);
            listView.AddChidren(row1);
            row1.AddLeftCaption("检测能否广播得到网关", 700);
            row1.AddRightArrow();
            row1.AddBottomLine();
            var btnCount = row1.AddMostRightView("", 400);
            row1.ButtonClickEvent += (sender, e) =>
            {
                int waiteCount = 5;
                this.ShowMassage(ShowMsgType.Confirm, "该操作将等待" + waiteCount + "秒,是否继续?", () =>
                {
                    Shared.Phone.UserCenter.UserCenterResourse.DicReceiveGatewayTest = new Dictionary<string, ZbGateway>();
                    UserCenterResourse.HideOption.CheckCanReceiveGateway = 1;
                    HdlThreadLogic.Current.RunThread(() =>
                    {
                        while (waiteCount > 0)
                        {
                            HdlThreadLogic.Current.RunMain(() =>
                            {
                                btnCount.Text = "请等待" + waiteCount + "秒";
                            });
                            System.Threading.Thread.Sleep(1000);
                            waiteCount--;
                        }
                        HdlThreadLogic.Current.RunMain(() =>
                        {
                            btnCount.Text = string.Empty;
                        });
                        //结束
                        UserCenterResourse.HideOption.CheckCanReceiveGateway = 0;
                        if (Shared.Phone.UserCenter.UserCenterResourse.DicReceiveGatewayTest.Count == 0)
                        {
                            this.ShowMassage(ShowMsgType.Normal, "抱歉,没有广播到任何网关");
                            return;
                        }
                        HdlThreadLogic.Current.RunMain(() =>
                        {
                            var form = new HideOptionGatewayListForm();
                            form.AddForm(3);
                        });
                    });
                });
            };
        }
        #endregion
        #region ■ 界面关闭___________________________
        /// <summary>
        /// 界面关闭
        /// </summary>
        public override void CloseFormBefore()
        {
            Shared.Phone.UserCenter.UserCenterResourse.DicReceiveGatewayTest = null;
            UserCenterResourse.HideOption.CheckCanReceiveGateway = 0;
            base.CloseFormBefore();
        }
        #endregion
    }
}