| | |
| | | using System;
|
| | | using System.Collections.Generic;
|
| | | using System.Net;
|
| | | using System.Runtime.Remoting.Contexts;
|
| | | using System.Text;
|
| | | using Shared.Common;
|
| | | using Shared.Phone.Device.CommonForm;
|
| | |
|
| | | namespace Shared.Phone.UserCenter.Abount
|
| | | {
|
| | | /// <summary>
|
| | |
| | | /// <summary>
|
| | | /// The web client.
|
| | | /// </summary>
|
| | | public WebClient webClient=new WebClient { };
|
| | | public WebClient webClient = new WebClient { };
|
| | | /// <summary>
|
| | | /// 更新中
|
| | | /// </summary>
|
| | | public Button updatingBtn;
|
| | | public NormalViewControl btnUpdating;
|
| | | /// <summary>
|
| | | /// distributedMark
|
| | | /// </summary>
|
| | |
| | | /// <summary>
|
| | | /// updateRow
|
| | | /// </summary>
|
| | | public DeviceInfoRow updateRow;
|
| | | public FrameRowControl rowUpdate;
|
| | | /// <summary>
|
| | | /// 下载安卓apk的byte长度
|
| | | /// </summary>
|
| | |
| | |
|
| | | #endregion
|
| | |
|
| | | /// <summary>
|
| | | /// Initializes a new instance of the <see cref="T:Shared.Phone.UserCenter.Abount.AbountForm"/> class.
|
| | | /// </summary>
|
| | | public AbountForm()
|
| | | {
|
| | |
|
| | | }
|
| | | /// <summary>
|
| | | /// 画面显示(底层会固定调用此方法,借以完成画面创建)
|
| | | /// </summary>
|
| | |
| | | public override void CloseFormBefore()
|
| | | {
|
| | | #if Android
|
| | | //if (isUpdating == true)
|
| | | //{
|
| | | //var alert = new Alert(Language.StringByID(R.MyInternationalizationString.TIP), Language.StringByID(R.MyInternationalizationString.CancelUpdating), Language.StringByID(R.MyInternationalizationString.Cancel), Language.StringByID(R.MyInternationalizationString.Confrim));
|
| | | //alert.Show();
|
| | | //alert.ResultEventHandler += (send, e) =>
|
| | | //{
|
| | | // if (e)
|
| | | // {
|
| | | SetDownLoadBtnNoVisible();
|
| | | CancelDownLoadApkAsync();
|
| | | base.CloseFormBefore();
|
| | | //}
|
| | | // else
|
| | | // {
|
| | | // return;
|
| | | // }
|
| | | // };
|
| | | //}
|
| | | //else
|
| | | //{
|
| | | // base.CloseFormBefore();
|
| | | //}
|
| | | SetDownLoadBtnNoVisible();
|
| | | CancelDownLoadApkAsync();
|
| | | base.CloseFormBefore();
|
| | | #elif iOS
|
| | | base.CloseFormBefore();
|
| | | #endif
|
| | |
| | | /// </summary>
|
| | | private void InitMiddleFrame()
|
| | | {
|
| | | bodyFrameLayout.BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor;
|
| | | var logoFrameLayout = new FrameLayout
|
| | | {
|
| | | Height = Application.GetRealHeight(484),
|
| | | BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor
|
| | | };
|
| | | bodyFrameLayout.AddChidren(logoFrameLayout);
|
| | |
|
| | | var logoBackground = new FrameLayout
|
| | | {
|
| | | Y = Application.GetRealHeight(104),
|
| | | Width = Application.GetMinRealAverage(167),
|
| | | Height = Application.GetMinRealAverage(167),
|
| | | Gravity = Gravity.CenterHorizontal,
|
| | | BackgroundColor = ZigbeeColor.Current.GXCButtonBlackSelectedColor,
|
| | | Radius = (uint)Application.GetRealHeight(37),
|
| | | };
|
| | | logoFrameLayout.AddChidren(logoBackground);
|
| | |
|
| | | var logoBtn = new Button()
|
| | | {
|
| | | Width = Application.GetMinRealAverage(144),
|
| | | Height = Application.GetMinRealAverage(144),
|
| | | UnSelectedImagePath = "Account/Logo_White.png",
|
| | | Gravity = Gravity.Center
|
| | | };
|
| | | logoBackground.AddChidren(logoBtn);
|
| | |
|
| | | var nameBtn = new Button()
|
| | | {
|
| | | Y = Application.GetRealHeight(294),
|
| | | Width = Application.GetRealWidth(700),
|
| | | Height = Application.GetRealHeight(60),
|
| | | Gravity = Gravity.CenterHorizontal,
|
| | | Text = "HDL Home",
|
| | | TextSize = 15,
|
| | | TextColor = ZigbeeColor.Current.GXCTextDeepBlackColor
|
| | | };
|
| | | logoFrameLayout.AddChidren(nameBtn);
|
| | |
|
| | | var versionBtn = new Button()
|
| | | {
|
| | | Y = Application.GetRealHeight(366),
|
| | | Width = Application.GetRealWidth(700),
|
| | | Height = Application.GetRealHeight(50),
|
| | | Gravity = Gravity.CenterHorizontal,
|
| | | Text = $"{Language.StringByID(R.MyInternationalizationString.VersionCode)} {CommonPage.CodeIDString}",
|
| | | TextSize = 12,
|
| | | TextColor = ZigbeeColor.Current.GXCTextGrayColor
|
| | | };
|
| | | logoFrameLayout.AddChidren(versionBtn);
|
| | |
|
| | |
|
| | | var versionFL = new FrameLayout
|
| | | {
|
| | | Y = Application.GetRealHeight(510),
|
| | | //Height = Application.GetRealHeight(300),
|
| | | Height = Application.GetRealHeight(300-127-12),
|
| | | BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor
|
| | | };
|
| | | bodyFrameLayout.AddChidren(versionFL);
|
| | |
|
| | | //var SLARow = new DeviceInfoRow(12);
|
| | | //SLARow.Init();
|
| | | //SLARow.SetTipTitle(R.MyInternationalizationString.SLA);
|
| | | //SLARow.NameText.TextAlignment = TextAlignment.CenterRight;
|
| | | //versionFL.AddChidren(SLARow);
|
| | | //SLARow.ClickBtn.MouseUpEventHandler += (sender, e) =>
|
| | | //{
|
| | | // var slaForm = new SLAForm();
|
| | | // slaForm.AddForm();
|
| | | //};
|
| | |
|
| | | //updateRow = new DeviceInfoRow(12 + 127 + 12);
|
| | | updateRow = new DeviceInfoRow(12);
|
| | | updateRow.Init();
|
| | | updateRow.SetTipTitle(R.MyInternationalizationString.UpdateVersion);
|
| | | updateRow.NameText.TextAlignment = TextAlignment.CenterRight;
|
| | | updateRow.HideLine(true);
|
| | | updateRow.SetTitle(R.MyInternationalizationString.TheAppVersionIsNewest);
|
| | | updateRow.CanClick(false);
|
| | | updateRow.SetTitleColor(ZigbeeColor.Current.GXCTextGrayColor);
|
| | | versionFL.AddChidren(updateRow);
|
| | | updateRow.ClickBtn.MouseUpEventHandler += (sender, e) =>
|
| | | //头部白色背景
|
| | | var frameLogo = new FrameLayoutBase();
|
| | | frameLogo.Height = Application.GetRealHeight(484);
|
| | | frameLogo.BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor;
|
| | | bodyFrameLayout.AddChidren(frameLogo);
|
| | | //图标的容器
|
| | | var frameLogoBackground = new FrameLayoutBase();
|
| | | frameLogoBackground.Y = Application.GetRealHeight(104);
|
| | | frameLogoBackground.Width = this.GetPictrueRealSize(167);
|
| | | frameLogoBackground.Height = this.GetPictrueRealSize(167);
|
| | | frameLogoBackground.Gravity = Gravity.CenterHorizontal;
|
| | | frameLogoBackground.BackgroundColor = ZigbeeColor.Current.GXCButtonBlackSelectedColor;
|
| | | frameLogoBackground.Radius = (uint)Application.GetRealHeight(37);
|
| | | frameLogo.AddChidren(frameLogoBackground);
|
| | | //图标
|
| | | var btnLogo = new IconViewControl(144);
|
| | | btnLogo.UnSelectedImagePath = "Account/Logo_White.png";
|
| | | btnLogo.Gravity = Gravity.Center;
|
| | | frameLogoBackground.AddChidren(btnLogo);
|
| | | //HDL Home
|
| | | var btnName = new NormalViewControl(700, 60, true);
|
| | | btnName.Y = Application.GetRealHeight(294);
|
| | | btnName.Gravity = Gravity.CenterHorizontal;
|
| | | btnName.Text = "HDL Home";
|
| | | btnName.TextSize = 15;
|
| | | btnName.TextColor = ZigbeeColor.Current.GXCTextDeepBlackColor;
|
| | | btnName.TextAlignment = TextAlignment.Center;
|
| | | frameLogo.AddChidren(btnName);
|
| | | //版本号
|
| | | var btnVersion = new NormalViewControl(700, 50, true);
|
| | | btnVersion.Y = Application.GetRealHeight(366);
|
| | | btnVersion.Gravity = Gravity.CenterHorizontal;
|
| | | btnVersion.Text = $"{Language.StringByID(R.MyInternationalizationString.VersionCode)} {CommonPage.CodeIDString}";
|
| | | btnVersion.TextSize = 12;
|
| | | btnVersion.TextColor = ZigbeeColor.Current.GXCTextGrayColor;
|
| | | btnVersion.TextAlignment = TextAlignment.Center;
|
| | | frameLogo.AddChidren(btnVersion);
|
| | | //列表控件
|
| | | var listView = new FrameListControl(12);
|
| | | listView.Y = frameLogo.Bottom + Application.GetRealHeight(23);
|
| | | listView.BackgroundColor = UserCenterColor.Current.White;
|
| | | listView.Height = Application.GetRealHeight(500);
|
| | | bodyFrameLayout.AddChidren(listView);
|
| | | //服务协议
|
| | | //var rowService = new FrameRowControl(listView.rowSpace / 2);
|
| | | //listView.AddChidren(rowService);
|
| | | //rowService.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.SLA), 400);
|
| | | //rowService.AddRightArrow();
|
| | | //rowService.AddBottomLine();
|
| | | //版本更新
|
| | | this.rowUpdate = new FrameRowControl(listView.rowSpace / 2);
|
| | | listView.AddChidren(rowUpdate);
|
| | | rowUpdate.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.UpdateVersion), 400);
|
| | | rowUpdate.AddRightArrow();
|
| | | var btnRightView = rowUpdate.AddMostRightView("", 400);
|
| | | rowUpdate.CanClick = false;
|
| | | rowUpdate.ButtonClickEvent += (sender, e) =>
|
| | | {
|
| | | UpdateVersion();
|
| | | };
|
| | | //调整桌布高度
|
| | | listView.AdjustRealHeight(Application.GetRealHeight(23));
|
| | |
|
| | | //更新中
|
| | | this.btnUpdating = new NormalViewControl(556, 106, true);
|
| | | btnUpdating.Y = Application.GetRealHeight(994);
|
| | | btnUpdating.Radius = (uint)Application.GetRealHeight(53);
|
| | | btnUpdating.BackgroundColor = ZigbeeColor.Current.GXCDailogBackGroundColor;
|
| | | btnUpdating.TextID = R.MyInternationalizationString.Updating;
|
| | | btnUpdating.TextSize = 15;
|
| | | btnUpdating.TextColor = ZigbeeColor.Current.GXCTextWhiteColor;
|
| | | btnUpdating.Gravity = Gravity.CenterHorizontal;
|
| | | btnUpdating.TextAlignment = TextAlignment.Center;
|
| | | bodyFrameLayout.AddChidren(btnUpdating);
|
| | |
|
| | | updatingBtn = new Button()
|
| | | //设置进度控件不可见
|
| | | this.SetDownLoadBtnNoVisible();
|
| | |
|
| | | //检测新版本
|
| | | HdlThreadLogic.Current.RunThread(async () =>
|
| | | {
|
| | | Y = Application.GetRealHeight(994),
|
| | | Width = Application.GetRealWidth(556),
|
| | | Height = Application.GetRealHeight(106),
|
| | | Radius=(uint)Application.GetRealHeight(53),
|
| | | BackgroundColor=ZigbeeColor.Current.GXCDailogBackGroundColor,
|
| | | TextID = R.MyInternationalizationString.Updating,
|
| | | TextSize=15,
|
| | | TextColor = ZigbeeColor.Current.GXCTextWhiteColor,
|
| | | Gravity=Gravity.CenterHorizontal
|
| | | };
|
| | | bodyFrameLayout.AddChidren(updatingBtn);
|
| | | var result = await CanUpdateAsync();
|
| | | HdlThreadLogic.Current.RunMain(() =>
|
| | | {
|
| | | if (result)
|
| | | {
|
| | | //更新最新版
|
| | | btnRightView.TextID = R.MyInternationalizationString.Update;
|
| | | rowUpdate.CanClick = true;
|
| | | }
|
| | | else
|
| | | {
|
| | | btnRightView.TextID = R.MyInternationalizationString.TheAppVersionIsNewest;
|
| | | }
|
| | | });
|
| | |
|
| | | SetDownLoadBtnNoVisible();
|
| | | CheckVersion();
|
| | | });
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | |
| | | {
|
| | | new System.Threading.Thread(async () =>
|
| | | {
|
| | | var re = await CanUpdateAsync();
|
| | | if (re)
|
| | | {
|
| | | Application.RunOnMainThread(() =>
|
| | | {
|
| | | updateRow.CanClick(true);
|
| | | updateRow.SetTitleColor(ZigbeeColor.Current.GXCButtonSelectedColor);
|
| | | updateRow.SetTitle(R.MyInternationalizationString.Update);
|
| | | });
|
| | | }
|
| | | |
| | | })
|
| | | { IsBackground = true }.Start();
|
| | |
|
| | |
| | | private void SetDownLoadBtnNoVisible()
|
| | | {
|
| | | isUpdating = false;
|
| | | updatingBtn.Visible = false;
|
| | | btnUpdating.Visible = false;
|
| | | }
|
| | | /// <summary>
|
| | | /// 设置进度控件可见
|
| | |
| | | private void SetDownLoadBtnVisible()
|
| | | {
|
| | | isUpdating = true;
|
| | | updatingBtn.Visible = true;
|
| | | updateRow.CanClick(false);
|
| | | btnUpdating.Visible = true;
|
| | | rowUpdate.CanClick = false;
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | |
| | | Application.RunOnMainThread(() =>
|
| | | {
|
| | | SetDownLoadBtnVisible();
|
| | | updatingBtn.Text = $"{ Language.StringByID(R.MyInternationalizationString.Updating)} {(int)(e.BytesReceived / (float)ApkBytesTotalLength * 100)}%";
|
| | | btnUpdating.Text = $"{ Language.StringByID(R.MyInternationalizationString.Updating)} {(int)(e.BytesReceived / (float)ApkBytesTotalLength * 100)}%";
|
| | | });
|
| | | }
|
| | | }
|