using System;
using System.Collections.Generic;
using System.Text;
using ZigBee.Device;
namespace Shared.Phone.UserCenter.HideOption
{
///
/// 隐匿功能的主界面
///
public class HideOptionMainForm : EditorCommonForm
{
#region ■ 变量声明___________________________
///
/// 列表控件
///
private VerticalListRefreshControl listView = null;
#endregion
#region ■ 初始化_____________________________
///
/// 画面显示(底层会固定调用此方法,借以完成画面创建)
///
public void ShowForm()
{
//设置头部信息
base.SetTitleText("调试菜单界面");
listView = new VerticalListRefreshControl(23);
listView.BackgroundColor = UserCenterColor.Current.White;
listView.Height = bodyFrameLayout.Height;
bodyFrameLayout.AddChidren(listView);
listView.BeginHeaderRefreshingAction += () =>
{
//初始化中部信息
this.InitMiddleFrame();
listView.EndHeaderRefreshing();
};
//初始化中部信息
this.InitMiddleFrame();
if (HdlUserCenterResourse.HideOption.StartDebugApp == 1)
{
//开启调试时,不允许关闭这个界面
this.BackButtonClickEvent += (sender) =>
{
return;
};
}
}
///
/// 初始化中部信息
///
private void InitMiddleFrame()
{
listView.RemoveAll();
var rowTemp = this.AddNormalRowControl(string.Empty, 400, string.Empty, 400);
var btnTemp = new NormalViewControl(600, 100, true);
btnTemp.Text = "一般信息部分";
btnTemp.Gravity = Gravity.Center;
btnTemp.TextSize = 16;
btnTemp.IsBold = true;
btnTemp.TextAlignment = TextAlignment.Center;
rowTemp.AddChidren(btnTemp);
this.AddNormalRowControl("当前身份", 400, HdlUserCenterResourse.ResidenceOption.AuthorityText, 400);
//this.AddTopButtomRowControl("住宅ID", 400, Common.Config.Instance.Home.Id, 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.IsOtherShare == true ? "是" : "否", 400);
this.AddNormalRowControl("账号类型", 400, Common.Config.Instance.Home.AccountType.ToString(), 400);
this.AddNormalRowControl("远程连接", 400, ZigBee.Device.ZbGateway.IsRemote == true ? "是" : "否", 400);
this.AddNormalRowControl("拥有远程权限", 400, Common.Config.Instance.Home.IsRemoteControl == true ? "是" : "否", 400);
this.AddNormalRowControl("WIFI变量", 400, Shared.Application.IsWifi == true ? "true" : "false", 400);
rowTemp = this.AddNormalRowControl(string.Empty, 400, string.Empty, 400);
btnTemp = new NormalViewControl(600, 100, true);
btnTemp.Text = "链接调试部分";
btnTemp.Gravity = Gravity.Center;
btnTemp.TextSize = 16;
btnTemp.IsBold = true;
btnTemp.TextAlignment = TextAlignment.Center;
rowTemp.AddChidren(btnTemp);
this.AddNormalRowControl("手机获取的IP", 600, new Shared.Net.NetWiFi().BroadcastIpAddress.ToString(), 600);
if (ZigBee.Common.Application.FindGateWaySocket.udpClient == null)
{
this.AddNormalRowControl("Socket链接", 400, "未初始化", 400);
}
else
{
this.AddNormalRowControl("Socket链接", 400, "已初始化", 400);
}
int count = ZbGateway.GateWayList.Count;
var row1 = new FrameRowControl(listView.rowSpace / 2);
listView.AddChidren(row1);
row1.UseClickStatu = false;
row1.AddLeftCaption("广播到的网关", 400);
if (count > 0)
{
row1.UseClickStatu = true;
row1.AddRightArrow();
row1.ButtonClickEvent += (sender, e) =>
{
var form = new HideOptionGatewayListForm();
form.AddForm(2);
};
}
row1.AddMostRightView(count + "个", 400);
row1.AddBottomLine();
//检测能否广播得到网关
this.AddCheckReceviceGatewayRow();
row1 = new FrameRowControl(listView.rowSpace / 2);
listView.AddChidren(row1);
row1.AddLeftCaption("收集发送和接收的数据", 600);
row1.AddBottomLine();
var btnSwitchLog = row1.AddMostRightSwitchIcon();
btnSwitchLog.ButtonClickEvent += (sender, e) =>
{
if (btnSwitchLog.IsSelected == false)
{
this.ShowMassage(ShowMsgType.Confirm, "是否打开记录发送及接收数据的记录?", () =>
{
btnSwitchLog.IsSelected = true;
HdlFileLogic.Current.DeleteFile(HdlFileNameResourse.SendAndReceveDataLog);
HdlUserCenterResourse.HideOption.WriteSendAndReceveDataToFile = 1;
});
}
else
{
HdlUserCenterResourse.HideOption.WriteSendAndReceveDataToFile = 0;
btnSwitchLog.IsSelected = false;
var txtvalue = HdlFileLogic.Current.ReadFileTextContent(HdlFileNameResourse.SendAndReceveDataLog);
if (txtvalue != null)
{
var form = new HideOptionFileContentForm();
form.AddForm(string.Empty);
form.SetTextContent(txtvalue);
}
}
};
row1 = new FrameRowControl(listView.rowSpace / 2);
listView.AddChidren(row1);
row1.AddLeftCaption("SocketReceive", 600);
row1.AddBottomLine();
var btnSocketReceiveLog = row1.AddMostRightSwitchIcon();
btnSocketReceiveLog.ButtonClickEvent += (sender, e) =>
{
if (btnSocketReceiveLog.IsSelected == false)
{
this.ShowMassage(ShowMsgType.Confirm, "是否打开记录SocketReceive的记录?", () =>
{
btnSocketReceiveLog.IsSelected = true;
HdlFileLogic.Current.DeleteFile(HdlFileNameResourse.SocketReceiveDataLog);
HdlUserCenterResourse.HideOption.WriteSocketReceiveDataToFile = 1;
});
}
else
{
HdlUserCenterResourse.HideOption.WriteSocketReceiveDataToFile = 0;
btnSocketReceiveLog.IsSelected = false;
var txtvalue = HdlFileLogic.Current.ReadFileTextContent(HdlFileNameResourse.SocketReceiveDataLog);
if (txtvalue != null)
{
var form = new HideOptionFileContentForm();
form.AddForm(string.Empty);
form.SetTextContent(txtvalue);
}
}
};
row1 = new FrameRowControl(listView.rowSpace / 2);
listView.AddChidren(row1);
row1.AddLeftCaption("重新初始化Socket", 600);
row1.AddRightArrow();
row1.AddBottomLine();
row1.ButtonClickEvent += (sender, e) =>
{
this.ShowMassage(ShowMsgType.Confirm, "是否重新初始化Socket对象?", () =>
{
ZigBee.Common.Application.FindGateWaySocket.Stop();
ZigBee.Common.Application.FindGateWaySocket.Start();
this.ShowMassage(ShowMsgType.Tip, "初始化完成");
});
};
rowTemp = this.AddNormalRowControl(string.Empty, 400, string.Empty, 400);
btnTemp = new NormalViewControl(600, 100, true);
btnTemp.Text = "查看缓存部分";
btnTemp.Gravity = Gravity.Center;
btnTemp.TextSize = 16;
btnTemp.IsBold = true;
btnTemp.TextAlignment = TextAlignment.Center;
rowTemp.AddChidren(btnTemp);
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();
};
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();
};
rowTemp = this.AddNormalRowControl(string.Empty, 400, string.Empty, 400);
btnTemp = new NormalViewControl(600, 100, true);
btnTemp.Text = "其他部分";
btnTemp.Gravity = Gravity.Center;
btnTemp.TextSize = 16;
btnTemp.IsBold = true;
btnTemp.TextAlignment = TextAlignment.Center;
rowTemp.AddChidren(btnTemp);
//开启调试功能
if (HdlUserCenterResourse.HideOption.StartDebugApp == 1)
{
row1 = new FrameRowControl(listView.rowSpace / 2);
listView.AddChidren(row1);
row1.AddLeftCaption("成员列表", 500);
row1.AddRightArrow();
row1.AddBottomLine();
row1.ButtonClickEvent += (sender, e) =>
{
var form = new Member.MemberListForm();
form.AddForm();
};
row1 = new FrameRowControl(listView.rowSpace / 2);
listView.AddChidren(row1);
row1.AddLeftCaption("备份列表", 500);
row1.AddRightArrow();
row1.AddBottomLine();
row1.ButtonClickEvent += (sender, e) =>
{
var form = new HdlBackup.HdlBackupListForm();
form.AddForm();
};
}
row1 = new FrameRowControl(listView.rowSpace / 2);
row1.UseClickStatu = false;
listView.AddChidren(row1);
row1.AddLeftCaption("记录定位", 500);
row1.AddBottomLine();
var btnGbsSwitch = row1.AddMostRightSwitchIcon();
btnGbsSwitch.ButtonClickEvent += (sender, e) =>
{
if (btnGbsSwitch.IsSelected == true)
{
btnGbsSwitch.IsSelected = false;
HdlUserCenterResourse.HideOption.WriteGpsPoint = 0;
return;
}
this.ShowDialogInputForm("????", string.Empty, "请输入识别码", (contr, value) =>
{
if (value == "542397")
{
HdlUserCenterResourse.HideOption.WriteGpsPoint = 1;
btnGbsSwitch.IsSelected = true;
}
contr.CloseDialog();
});
};
row1 = new FrameRowControl(listView.rowSpace / 2);
listView.AddChidren(row1);
row1.AddLeftCaption("使用旧的设备获取方式", 600);
row1.AddBottomLine();
var btnSwitchDeviceMethord = row1.AddMostRightSwitchIcon();
btnSwitchDeviceMethord.IsSelected = HdlUserCenterResourse.HideOption.UseOldSearchDeviceMethord == 1;
btnSwitchDeviceMethord.ButtonClickEvent += (sender, e) =>
{
btnSwitchDeviceMethord.IsSelected = !btnSwitchDeviceMethord.IsSelected;
HdlUserCenterResourse.HideOption.UseOldSearchDeviceMethord = btnSwitchDeviceMethord.IsSelected == true ? 1 : 0;
};
row1 = new FrameRowControl(listView.rowSpace / 2);
listView.AddChidren(row1);
row1.AddLeftCaption("重置导入标识", 500);
row1.AddRightArrow();
row1.AddBottomLine();
row1.ButtonClickEvent += (sender, e) =>
{
this.ShowMassage(ShowMsgType.Confirm, "是否重置这个住宅的导入标识?\r\n重置之后可以再次导入网关", () =>
{
Common.Config.Instance.Home.SendTemplateSuccess = false;
Common.Config.Instance.Home.Save();
this.ShowMassage(ShowMsgType.Tip, "重置完成");
});
};
row1 = new FrameRowControl(listView.rowSpace / 2);
listView.AddChidren(row1);
row1.AddLeftCaption("上传Log", 500);
row1.AddRightArrow();
row1.ButtonClickEvent += (sender, e) =>
{
this.ShowMassage(ShowMsgType.Confirm, "是否上传Log文件", () =>
{
HdlThreadLogic.Current.RunThread(() =>
{
HdlBackupLogic.Current.UpLoadLogBackup();
});
});
};
listView.AdjustRealHeight(Application.GetRealHeight(23));
}
///
/// 添加行
///
///
///
///
///
private FrameRowControl AddNormalRowControl(string caption, int width1, string viewText, int width2)
{
var row1 = new FrameRowControl(listView.rowSpace / 2);
listView.AddChidren(row1);
row1.AddLeftCaption(caption, width1);
row1.AddMostRightView(viewText, width2);
row1.AddBottomLine();
row1.UseClickStatu = false;
return row1;
}
///
/// 添加行
///
///
///
///
///
private FrameRowControl AddTopButtomRowControl(string caption, int width1, string viewText, int width2)
{
var row1 = new FrameRowControl(listView.rowSpace / 2);
listView.AddChidren(row1);
row1.AddTopView(caption, width1);
row1.AddBottomView(viewText, width2);
row1.AddBottomLine();
row1.UseClickStatu = false;
return row1;
}
///
/// 检测能否广播得到网关
///
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 + "秒,是否继续?", () =>
{
HdlGatewayResourse.DicReceiveGatewayTest = new Dictionary();
HdlUserCenterResourse.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;
});
//结束
HdlUserCenterResourse.HideOption.CheckCanReceiveGateway = 0;
if (HdlGatewayResourse.DicReceiveGatewayTest.Count == 0)
{
this.ShowMassage(ShowMsgType.Normal, "抱歉,没有广播到任何网关");
return;
}
HdlThreadLogic.Current.RunMain(() =>
{
var form = new HideOptionGatewayListForm();
form.AddForm(3);
});
});
});
};
}
#endregion
#region ■ 界面关闭___________________________
///
/// 界面关闭
///
public override void CloseFormBefore()
{
HdlGatewayResourse.DicReceiveGatewayTest = null;
HdlUserCenterResourse.HideOption.CheckCanReceiveGateway = 0;
HdlUserCenterResourse.HideOption.WriteSendAndReceveDataToFile = 0;
HdlUserCenterResourse.HideOption.WriteSocketReceiveDataToFile = 0;
base.CloseFormBefore();
}
#endregion
}
}