From 3dcbd186c42c598c0c08d1cd37034cf2baa09e54 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期一, 30 十二月 2019 15:47:51 +0800
Subject: [PATCH] 合并了代码

---
 ZigbeeApp/Shared/Phone/Device/Account/PhoneEmailForm.cs |  380 +++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 330 insertions(+), 50 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/Device/Account/PhoneEmailForm.cs b/ZigbeeApp/Shared/Phone/Device/Account/PhoneEmailForm.cs
index 110e270..3ad73d0 100755
--- a/ZigbeeApp/Shared/Phone/Device/Account/PhoneEmailForm.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Account/PhoneEmailForm.cs
@@ -61,7 +61,9 @@
                 SelectedTextColor = ZigbeeColor.Current.GXCTextWhiteColor,
                 Radius = (uint)Application.GetRealHeight(height / 2),
                 IsSelected = true,
-                Tag = "Phone"
+                IsBold=true,
+                Tag = "Phone",
+                TextSize= CommonFormResouce.TextSize
             };
             PhoneEmailFL.AddChidren(SelectedPhone);
 
@@ -76,7 +78,8 @@
                 SelectedTextColor = ZigbeeColor.Current.GXCTextWhiteColor,
                 Radius = (uint)Application.GetRealHeight(height / 2),
                 IsSelected = false,
-                Tag = "Email"
+                Tag = "Email",
+                TextSize = CommonFormResouce.TextSize
             };
             PhoneEmailFL.AddChidren(SelectedEmail);
         }
@@ -108,6 +111,10 @@
         /// Button_Height
         /// </summary>
         private int Button_Height = 92;
+        /// <summary>
+        /// accountLine
+        /// </summary>
+        private Button accountLine;
 
         /// <summary>
         /// Init
@@ -135,7 +142,7 @@
                 TextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor,
                 Text = $"+{CommonPage.PhoneZoneStr}",
                 TextAlignment = TextAlignment.Center,
-                TextSize = CommonFormResouce.loginTextSize
+                TextSize = CommonFormResouce.TextSize
             };
             accountFL.AddChidren(PhoneZoneBtn);
             PhoneZoneBtn.MouseUpEventHandler += (sender, e) =>
@@ -149,15 +156,6 @@
                     (sender as Button).Text = "+" + code;
                     CommonPage.PhoneZoneStr = code;
                 };
-
-                //var zoneListView = new PhoneZone { };
-                //zoneListView.ActionSelectedZone += (zone) =>
-                //{
-                //    var t = CommonPage.PhoneZoneStr;
-                //    (sender as Button).Text = "+" + zone;
-                //};
-                //parFL.AddChidren(zoneListView);
-                //zoneListView.Show();
             };
 
             AccountET = new EditText()
@@ -171,18 +169,39 @@
                 TextColor = ZigbeeColor.Current.GXCTextBlackColor,
                 Text = account,
                 TextAlignment = TextAlignment.CenterLeft,
-                TextSize = CommonFormResouce.loginTextSize
+                TextSize = CommonFormResouce.PlaceHolderTextSize
             };
             accountFL.AddChidren(AccountET);
 
-            var accountLine = new Button()
+            accountLine = new Button()
             {
-                Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 1,
+                Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 2,
                 Width = Application.GetRealWidth(CommonFormResouce.Row_Width),
                 Height = 1,
                 BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor
             };
             accountFL.AddChidren(accountLine);
+
+            AccountET.FoucsChanged += Text_FoucesChangeEvent;
+        }
+
+        /// <summary>
+        /// 鍏夋爣鏀瑰彉
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="focusEvent"></param>
+        private void Text_FoucesChangeEvent(object sender, FocusEventArgs focusEvent)
+        {
+            if (focusEvent.Focus)
+            {
+                accountLine.BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor;
+                accountLine.Height = 2;
+            }
+            else
+            {
+                accountLine.BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor;
+                accountLine.Height = 1;
+            }
         }
     }
 
@@ -196,6 +215,10 @@
         /// Button_Height
         /// </summary>
         private int Button_Height = 92;
+        /// <summary>
+        /// accountLine
+        /// </summary>
+        private Button accountLine;
 
         /// <summary>
         /// Init
@@ -235,18 +258,40 @@
                 TextColor = ZigbeeColor.Current.GXCTextBlackColor,
                 Text = account,
                 TextAlignment = TextAlignment.CenterLeft,
-                TextSize = CommonFormResouce.loginTextSize
+                TextSize = CommonFormResouce.PlaceHolderTextSize
             };
             accountFL.AddChidren(AccountET);
 
-            var accountLine = new Button()
+            accountLine = new Button()
             {
-                Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 1,
+                Y = Application.GetRealHeight(CommonFormResouce.Row_Height)-2,
                 Width = Application.GetRealWidth(CommonFormResouce.Row_Width),
                 Height = 1,
                 BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor
             };
             accountFL.AddChidren(accountLine);
+
+            AccountET.FoucsChanged += Text_FoucesChangeEvent;
+            
+        }
+
+        /// <summary>
+        /// 鍏夋爣鏀瑰彉
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="focusEvent"></param>
+        private void Text_FoucesChangeEvent(object sender, FocusEventArgs focusEvent)
+        {
+            if(focusEvent.Focus)
+            {
+                accountLine.BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor;
+                accountLine.Height = 2;
+            }
+            else
+            {
+                accountLine.BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor;
+                accountLine.Height = 1;
+            }
         }
     }
 
@@ -260,6 +305,10 @@
         /// Button_Height
         /// </summary>
         private int Button_Height = 92;
+        /// <summary>
+        /// accountLine
+        /// </summary>
+        private Button accountLine;
 
         /// <summary>
         /// Init
@@ -299,19 +348,41 @@
                 TextColor = ZigbeeColor.Current.GXCTextBlackColor,
                 Text = account,
                 TextAlignment = TextAlignment.CenterLeft,
-                TextSize = CommonFormResouce.loginTextSize
+                TextSize = CommonFormResouce.PlaceHolderTextSize
             };
             accountFL.AddChidren(AccountET);
 
-            var accountLine = new Button()
+            accountLine = new Button()
             {
-                Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 1,
+                Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 2,
                 Width = Application.GetRealWidth(CommonFormResouce.Row_Width),
                 Height = 1,
                 BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor
             };
             accountFL.AddChidren(accountLine);
+
+            AccountET.FoucsChanged += Text_FoucesChangeEvent;
         }
+
+        /// <summary>
+        /// 鍏夋爣鏀瑰彉
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="focusEvent"></param>
+        private void Text_FoucesChangeEvent(object sender, FocusEventArgs focusEvent)
+        {
+            if (focusEvent.Focus)
+            {
+                accountLine.BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor;
+                accountLine.Height = 2;
+            }
+            else
+            {
+                accountLine.BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor;
+                accountLine.Height = 1;
+            }
+        }
+
     }
 
 
@@ -325,6 +396,10 @@
         /// Button_Height
         /// </summary>
         private int Button_Height = 92;
+        /// <summary>
+        /// accountLine
+        /// </summary>
+        private Button accountLine;
 
         /// <summary>
         /// Init
@@ -364,19 +439,41 @@
                 TextColor = ZigbeeColor.Current.GXCTextBlackColor,
                 Text = account,
                 TextAlignment = TextAlignment.CenterLeft,
-                TextSize = CommonFormResouce.loginTextSize
+                TextSize = CommonFormResouce.PlaceHolderTextSize
             };
             accountFL.AddChidren(AccountET);
 
-            var accountLine = new Button()
+            accountLine = new Button()
             {
-                Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 1,
+                Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 2,
                 Width = Application.GetRealWidth(CommonFormResouce.Row_Width),
                 Height = 1,
                 BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor
             };
             accountFL.AddChidren(accountLine);
+
+            AccountET.FoucsChanged += Text_FoucesChangeEvent;
         }
+
+        /// <summary>
+        /// 鍏夋爣鏀瑰彉
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="focusEvent"></param>
+        private void Text_FoucesChangeEvent(object sender, FocusEventArgs focusEvent)
+        {
+            if (focusEvent.Focus)
+            {
+                accountLine.BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor;
+                accountLine.Height = 2;
+            }
+            else
+            {
+                accountLine.BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor;
+                accountLine.Height = 1;
+            }
+        }
+
     }
 
     public class EmailForgotRowForm : FrameLayout
@@ -389,6 +486,10 @@
         /// Button_Height
         /// </summary>
         private int Button_Height = 92;
+        /// <summary>
+        /// accountLine
+        /// </summary>
+        private Button accountLine;
 
         /// <summary>
         /// Init
@@ -418,18 +519,39 @@
                 TextColor = ZigbeeColor.Current.GXCTextBlackColor,
                 Text = account,
                 TextAlignment = TextAlignment.CenterLeft,
-                TextSize = CommonFormResouce.loginTextSize
+                TextSize = CommonFormResouce.PlaceHolderTextSize
             };
             accountFL.AddChidren(AccountET);
 
-            var accountLine = new Button()
+            accountLine = new Button()
             {
-                Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 1,
+                Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 2,
                 Width = Application.GetRealWidth(CommonFormResouce.Row_Width),
                 Height = 1,
-                BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor
+                BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor
             };
             accountFL.AddChidren(accountLine);
+
+            AccountET.FoucsChanged += Text_FoucesChangeEvent;
+        }
+
+        /// <summary>
+        /// 鍏夋爣鏀瑰彉
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="focusEvent"></param>
+        private void Text_FoucesChangeEvent(object sender, FocusEventArgs focusEvent)
+        {
+            if (focusEvent.Focus)
+            {
+                accountLine.BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor;
+                accountLine.Height = 2;
+            }
+            else
+            {
+                accountLine.BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor;
+                accountLine.Height = 1;
+            }
         }
     }
 
@@ -451,6 +573,10 @@
         /// VerificationCodeET
         /// </summary>
         public EditText VerificationCodeET;
+        /// <summary>
+        /// pwdLine
+        /// </summary>
+        private Button pwdLine;
 
         /// <summary>
         /// Init
@@ -514,19 +640,42 @@
                 TextColor = ZigbeeColor.Current.GXCTextGrayColor,
                 SelectedTextColor = ZigbeeColor.Current.GXCTextColor,
                 TextAlignment = TextAlignment.Center,
+                TextSize=CommonFormResouce.TextSize,
                 Enable = false,
-                IsSelected = false
+                IsSelected = false,
+                IsBold=true
             };
             codeFL.AddChidren(SendCodeBtn);
 
-            var pwdLine = new Button()
+            pwdLine = new Button()
             {
-                Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 1,
+                Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 2,
                 Width = Application.GetRealWidth(CommonFormResouce.Row_Width),
                 Height = 1,
-                BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor
+                BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor
             };
             codeFL.AddChidren(pwdLine);
+
+            VerificationCodeET.FoucsChanged += Text_FoucesChangeEvent;
+        }
+
+        /// <summary>
+        /// 鍏夋爣鏀瑰彉
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="focusEvent"></param>
+        private void Text_FoucesChangeEvent(object sender, FocusEventArgs focusEvent)
+        {
+            if (focusEvent.Focus)
+            {
+                pwdLine.BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor;
+                pwdLine.Height = 2;
+            }
+            else
+            {
+                pwdLine.BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor;
+                pwdLine.Height = 1;
+            }
         }
     }
 
@@ -544,6 +693,10 @@
         /// Button_Height
         /// </summary>
         private int Button_Height = 92;
+        /// <summary>
+        /// pwdLine
+        /// </summary>
+        private Button pwdLine;
 
         /// <summary>
         /// Init
@@ -585,7 +738,7 @@
                 TextColor = ZigbeeColor.Current.GXCTextBlackColor,
                 Text = password,
                 TextAlignment = TextAlignment.CenterLeft,
-                TextSize = CommonFormResouce.loginTextSize,
+                TextSize = CommonFormResouce.PlaceHolderTextSize,
                 SecureTextEntry = true
             };
             pwdFL.AddChidren(PasswrodET);
@@ -608,14 +761,16 @@
                 PasswrodET.SecureTextEntry = (sender as Button).IsSelected;
             };
 
-            var pwdLine = new Button()
+            pwdLine = new Button()
             {
-                Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 1,
+                Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 2,
                 Width = Application.GetRealWidth(CommonFormResouce.Row_Width),
                 Height = 1,
                 BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor
             };
             pwdFL.AddChidren(pwdLine);
+
+            PasswrodET.FoucsChanged += Text_FoucesChangeEvent;
         }
         /// <summary>
         /// SetPlaceholdText
@@ -624,6 +779,25 @@
         public void SetPlaceholdText(string holdText)
         {
             PasswrodET.PlaceholderText = holdText;
+        }
+
+        /// <summary>
+        /// 鍏夋爣鏀瑰彉
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="focusEvent"></param>
+        private void Text_FoucesChangeEvent(object sender, FocusEventArgs focusEvent)
+        {
+            if (focusEvent.Focus)
+            {
+                pwdLine.BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor;
+                pwdLine.Height = 2;
+            }
+            else
+            {
+                pwdLine.BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor;
+                pwdLine.Height = 1;
+            }
         }
     }
 
@@ -641,6 +815,10 @@
         /// Button_Height
         /// </summary>
         private int Button_Height = 92;
+        /// <summary>
+        /// pwdLine
+        /// </summary>
+        private Button pwdLine;
 
         /// <summary>
         /// Init
@@ -682,7 +860,7 @@
                 TextColor = ZigbeeColor.Current.GXCTextBlackColor,
                 Text = password,
                 TextAlignment = TextAlignment.CenterLeft,
-                TextSize = CommonFormResouce.loginTextSize,
+                TextSize = CommonFormResouce.PlaceHolderTextSize,
                 SecureTextEntry = true
             };
             pwdFL.AddChidren(PasswrodET);
@@ -705,14 +883,16 @@
                 PasswrodET.SecureTextEntry = (sender as Button).IsSelected;
             };
 
-            var pwdLine = new Button()
+            pwdLine = new Button()
             {
-                Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 1,
+                Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 2,
                 Width = Application.GetRealWidth(CommonFormResouce.Row_Width),
                 Height = 1,
-                BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor
+                BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor
             };
             pwdFL.AddChidren(pwdLine);
+
+            PasswrodET.FoucsChanged += Text_FoucesChangeEvent;
         }
         /// <summary>
         /// SetPlaceholdText
@@ -721,6 +901,25 @@
         public void SetPlaceholdText(string holdText)
         {
             PasswrodET.PlaceholderText = holdText;
+        }
+
+        /// <summary>
+        /// 鍏夋爣鏀瑰彉
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="focusEvent"></param>
+        private void Text_FoucesChangeEvent(object sender, FocusEventArgs focusEvent)
+        {
+            if (focusEvent.Focus)
+            {
+                pwdLine.BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor;
+                pwdLine.Height = 2;
+            }
+            else
+            {
+                pwdLine.BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor;
+                pwdLine.Height = 1;
+            }
         }
     }
 
@@ -738,6 +937,10 @@
         /// Button_Height
         /// </summary>
         private int Button_Height = 92;
+        /// <summary>
+        /// pwdLine
+        /// </summary>
+        private Button pwdLine;
 
         /// <summary>
         /// Init
@@ -769,7 +972,7 @@
                 TextColor = ZigbeeColor.Current.GXCTextBlackColor,
                 Text = password,
                 TextAlignment = TextAlignment.CenterLeft,
-                TextSize = CommonFormResouce.loginTextSize,
+                TextSize = CommonFormResouce.PlaceHolderTextSize,
                 SecureTextEntry = true
             };
             pwdFL.AddChidren(PasswrodET);
@@ -792,14 +995,16 @@
                 PasswrodET.SecureTextEntry = (sender as Button).IsSelected;
             };
 
-            var pwdLine = new Button()
+            pwdLine = new Button()
             {
-                Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 1,
+                Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 2,
                 Width = Application.GetRealWidth(CommonFormResouce.Row_Width),
                 Height = 1,
                 BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor
             };
             pwdFL.AddChidren(pwdLine);
+
+            PasswrodET.FoucsChanged += Text_FoucesChangeEvent;
         }
         /// <summary>
         /// SetPlaceholdText
@@ -808,6 +1013,26 @@
         public void SetPlaceholdText(string holdText)
         {
             PasswrodET.PlaceholderText = holdText;
+        }
+
+
+        /// <summary>
+        /// 鍏夋爣鏀瑰彉
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="focusEvent"></param>
+        private void Text_FoucesChangeEvent(object sender, FocusEventArgs focusEvent)
+        {
+            if (focusEvent.Focus)
+            {
+                pwdLine.BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor;
+                pwdLine.Height = 2;
+            }
+            else
+            {
+                pwdLine.BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor;
+                pwdLine.Height = 1;
+            }
         }
     }
 
@@ -829,6 +1054,10 @@
         /// VerificationCodeET
         /// </summary>
         public EditText VerificationCodeET;
+        /// <summary>
+        /// pwdLine
+        /// </summary>
+        private Button pwdLine;
         /// <summary>
         /// sendCodeBG
         /// </summary>
@@ -897,18 +1126,42 @@
                 SelectedBackgroundColor=ZigbeeColor.Current.GXCButtonSelectedColor,
                 Enable = false,
                 IsSelected = false,
-                Radius=(uint)Application.GetRealHeight(12)
+                Radius=(uint)Application.GetRealHeight(12),
+                IsBold=true,
+                TextSize=CommonFormResouce.TextSize
             };
             codeFL.AddChidren(SendCodeBtn);
 
-        var pwdLine = new Button()
+            pwdLine = new Button()
             {
-                Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 1,
+                Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 2,
                 Width = Application.GetRealWidth(536),
                 Height = 1,
-                BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor
+                BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor
             };
             codeFL.AddChidren(pwdLine);
+
+            VerificationCodeET.FoucsChanged += Text_FoucesChangeEvent;
+
+        }
+
+        /// <summary>
+        /// 鍏夋爣鏀瑰彉
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="focusEvent"></param>
+        private void Text_FoucesChangeEvent(object sender, FocusEventArgs focusEvent)
+        {
+            if (focusEvent.Focus)
+            {
+                pwdLine.BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor;
+                pwdLine.Height = 2;
+            }
+            else
+            {
+                pwdLine.BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor;
+                pwdLine.Height = 1;
+            }
         }
 
         /// <summary>
@@ -986,6 +1239,10 @@
         /// </summary>
         public EditText VerificationCodeET;
         /// <summary>
+        /// pwdLine
+        /// </summary>
+        private Button pwdLine;
+        /// <summary>
         /// Timer
         /// </summary>
         private Timer t;
@@ -1045,18 +1302,41 @@
                 SelectedBackgroundColor = ZigbeeColor.Current.GXCButtonSelectedColor,
                 Enable = false,
                 IsSelected = false,
-                Radius = (uint)Application.GetRealHeight(12)
+                Radius = (uint)Application.GetRealHeight(12),
+                IsBold=true,
+                TextSize=CommonFormResouce.TextSize
             };
             codeFL.AddChidren(SendCodeBtn);
 
-            var pwdLine = new Button()
+            pwdLine = new Button()
             {
-                Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 1,
+                Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 2,
                 Width = Application.GetRealWidth(536),
                 Height = 1,
-                BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor
+                BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor
             };
             codeFL.AddChidren(pwdLine);
+
+            VerificationCodeET.FoucsChanged += Text_FoucesChangeEvent;
+        }
+
+        /// <summary>
+        /// 鍏夋爣鏀瑰彉
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="focusEvent"></param>
+        private void Text_FoucesChangeEvent(object sender, FocusEventArgs focusEvent)
+        {
+            if (focusEvent.Focus)
+            {
+                pwdLine.BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor;
+                pwdLine.Height = 2;
+            }
+            else
+            {
+                pwdLine.BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor;
+                pwdLine.Height = 1;
+            }
         }
 
         /// <summary>

--
Gitblit v1.8.0