gxc
2019-12-25 944b87b6bcccb095cd73f13f4410fb20faf48f74
ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFirmwareUpdateForm.cs
@@ -30,50 +30,50 @@
        /// 画面显示(底层会固定调用此方法,借以完成画面创建)
        /// </summary>
        /// <param name="device">ota设备对象</param>
        /// <param name="deviceFirmware">固件升级信息</param>
        public void ShowForm(OTADevice device, FirmwareVersionInfo deviceFirmware)
        {
            this.deviceMac = device.DeviceAddr;
            //初始化中部信息
            this.InitMiddleFrame(device, deviceFirmware);
        }
        /// <summary>
        /// 初始化中部信息
        /// </summary>
        /// <param name="device">ota设备对象</param>
        /// <param name="deviceFirmware">固件升级信息</param>
        private void InitMiddleFrame(OTADevice device, FirmwareVersionInfo deviceFirmware)
        /// <param name="deviceFirmware">固件升级信息</param>
        public void ShowForm(OTADevice device, FirmwareVersionInfo deviceFirmware)
        {
            var frameBack = new FrameLayout();
            frameBack.Width = Application.GetRealWidth(674);
            frameBack.Height = Application.GetRealHeight(386);
            frameBack.BackgroundColor = UserCenterColor.Current.White;
            frameBack.Gravity = Gravity.CenterHorizontal;
            frameBack.Y = Application.GetRealHeight(683);
            frameBack.Radius = 6;
            bodyFrameLayout.AddChidren(frameBack);
            //进度显示文本
            var btnText = new NormalViewControl(frameBack.Width, Application.GetRealHeight(58), false);
            btnText.Y = Application.GetRealHeight(248);
            btnText.TextColor = UserCenterColor.Current.TextGrayColor1;
            btnText.TextAlignment = TextAlignment.Center;
            //btnText.Text = "升级中";
            this.deviceMac = device.DeviceAddr;
            //初始化中部信息
            this.InitMiddleFrame(device, deviceFirmware);
        }
        /// <summary>
        /// 初始化中部信息
        /// </summary>
        /// <param name="device">ota设备对象</param>
        /// <param name="deviceFirmware">固件升级信息</param>
        private void InitMiddleFrame(OTADevice device, FirmwareVersionInfo deviceFirmware)
        {
            var frameBack = new FrameLayout();
            frameBack.Width = Application.GetRealWidth(674);
            frameBack.Height = Application.GetRealHeight(386);
            frameBack.BackgroundColor = UserCenterColor.Current.White;
            frameBack.Gravity = Gravity.CenterHorizontal;
            frameBack.Y = Application.GetRealHeight(683);
            frameBack.Radius = 6;
            bodyFrameLayout.AddChidren(frameBack);
            //进度显示文本
            var btnText = new NormalViewControl(frameBack.Width, Application.GetRealHeight(58), false);
            btnText.Y = Application.GetRealHeight(248);
            btnText.TextColor = UserCenterColor.Current.TextGrayColor1;
            btnText.TextAlignment = TextAlignment.Center;
            //btnText.Text = "升级中";
            frameBack.AddChidren(btnText);
            //进度条
            var btnProRow = new FrameLayout();
            btnProRow.Gravity = Gravity.CenterHorizontal;
            btnProRow.Y = Application.GetRealHeight(161);
            btnProRow.Width = Application.GetRealWidth(559);
            btnProRow.Height = Application.GetRealHeight(29);
            var btnProRow = new FrameLayout();
            btnProRow.Gravity = Gravity.CenterHorizontal;
            btnProRow.Y = Application.GetRealHeight(161);
            btnProRow.Width = Application.GetRealWidth(559);
            btnProRow.Height = Application.GetRealHeight(29);
            btnProRow.BackgroundColor = 0xfff5f5f5;
            btnProRow.Radius = (uint)Application.GetRealHeight(29) / 2;
            frameBack.AddChidren(btnProRow);
            var btnProgressBar = new FrameLayout();
            btnProgressBar.Width = 0;
            btnProgressBar.Height = btnProRow.Height;
            frameBack.AddChidren(btnProRow);
            var btnProgressBar = new FrameLayout();
            btnProgressBar.Width = 0;
            btnProgressBar.Height = btnProRow.Height;
            btnProgressBar.Radius = btnProRow.Radius;
            btnProgressBar.BackgroundColor = 0xfffb744a;
            btnProgressBar.Radius = (uint)Application.GetRealHeight(29) / 2;
@@ -121,30 +121,33 @@
            //更新状态变化的事件
            updateLogic.UpdateStatuChangedEvent += (div, msg) =>
            {
                if (div == -1)
                HdlThreadLogic.Current.RunMain(() =>
                {
                    //异常
                    this.ShowMassage(ShowMsgType.Tip, msg);
                    this.CloseForm();
                }
                else if (div == 0)
                {
                    //一般信息
                    btnText.Text = msg;
                }
                else if (div == 1)
                {
                    //升级完成
                    this.ShowMassage(ShowMsgType.Tip, msg);
                    //调用回调函数
                    this.FinishUpdateEvent?.Invoke();
                    this.CloseForm();
                }
                else if (div == 2)
                {
                    //主动终止升级
                    this.CloseForm();
                }
                    if (div == -1)
                    {
                        //异常
                        this.ShowMassage(ShowMsgType.Tip, msg);
                        this.CloseForm();
                    }
                    else if (div == 0)
                    {
                        //一般信息
                        btnText.Text = msg;
                    }
                    else if (div == 1)
                    {
                        //升级完成
                        this.ShowMassage(ShowMsgType.Tip, msg);
                        //调用回调函数
                        this.FinishUpdateEvent?.Invoke();
                        this.CloseForm();
                    }
                    else if (div == 2)
                    {
                        //主动终止升级
                        this.CloseForm();
                    }
                });
            };
            //进度值改变事件
            updateLogic.ProgressEvent += (value) =>
@@ -180,7 +183,7 @@
        /// <summary>
        /// 画面关闭
        /// </summary>
        public override void CloseForm()
        public override void CloseFormBefore()
        {
            //安卓可以点击系统的返回键
            UserView.HomePage.Instance.ScrollEnabled = true;
@@ -196,7 +199,7 @@
            }
            this.FinishUpdateEvent = null;
            base.CloseForm();
            base.CloseFormBefore();
        }
        #endregion