From 00ab3ddb140ba8bb88b5cf572b004a85e1da85e9 Mon Sep 17 00:00:00 2001
From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local>
Date: 星期四, 02 一月 2020 19:51:56 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev-tzy' into DEV_GXC

---
 ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelButtonSettionForm.cs |  133 +++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 118 insertions(+), 15 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelButtonSettionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelButtonSettionForm.cs
index 5e7e106..64f5ab7 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelButtonSettionForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelButtonSettionForm.cs
@@ -36,6 +36,18 @@
         /// 璁惧闇�瑕佷繚瀛樼殑璁惧鍚嶅瓧
         /// </summary>
         private Dictionary<int, string> dicDeviceSaveName = new Dictionary<int, string>();
+        /// <summary>
+        /// 绠�绾﹂潰鏉跨殑闇囧姩鏁版嵁
+        /// </summary>
+        private HdlDevicePanelLogic.VibrationInfo vibrationInfo = null;
+        /// <summary>
+        /// 鏄惁宸茬粡璇诲彇浜嗛渿鍔ㄦ暟鎹�
+        /// </summary>
+        private bool hadReadVibrationInfo = false;
+        /// <summary>
+        /// 淇℃伅缂栬緫鎺т欢
+        /// </summary>
+        private InformationEditorControl tableContr = null;
 
         #endregion
 
@@ -68,15 +80,11 @@
             this.ClearBodyFrame();
 
             //鍒濆鍖栨甯�
-            var tableContr = new InformationEditorControl();
+            this.tableContr = new InformationEditorControl();
             this.listview = tableContr.InitControl(bodyFrameLayout, Language.StringByID(R.MyInternationalizationString.uDeviceEditor), 708, 1028);
 
             //鍒濆鍖栬澶囧洖璺浘鏍�
             this.InitDeviceEpointIcon();
-
-            //鍒濆鍖栨甯冨畬鎴�
-            tableContr.FinishInitControl(bodyFrameLayout, this.listview);
-            tableContr = null;
 
             //淇濆瓨
             var btnFinish = new BottomClickButton();
@@ -173,6 +181,11 @@
             this.AddBindRow();
             //娣诲姞鑳屽厜鐏
             this.AddBackLightRow();
+            //娣诲姞闇囧姩鍙嶉琛�
+            this.AddVibrationFeedbackRow();
+
+            //鍒濆鍖栨甯冨畬鎴�
+            tableContr.FinishInitControl(bodyFrameLayout, this.listview);
         }
 
         #endregion
@@ -184,6 +197,11 @@
         /// </summary>
         private void InitTopRightMenu()
         {
+            //妫�娴嬫鍥炶矾鏄惁鎷ユ湁瀹氫綅鍔熻兘
+            if (Common.LocalDevice.Current.DeviceIsCanFixedPosition(nowSelectDevice) == false)
+            {
+                return;
+            }
             var btnIcon = new MostRightIconControl(69, 69);
             btnIcon.UnSelectedImagePath = "Item/More.png";
             topFrameLayout.AddChidren(btnIcon);
@@ -204,11 +222,11 @@
             string deviceMenu = string.Empty;
             //妫�娴嬫鍥炶矾鏄惁鎷ユ湁瀹氫綅鍔熻兘
             bool canTest = Common.LocalDevice.Current.DeviceIsCanFixedPosition(nowSelectDevice);
-            if (canTest == true)
-            {
-                menuCount = 2;
-            }
-            var frame = new TopRightMenuControl(menuCount);
+            //if (canTest == true)
+            //{
+            //    menuCount = 2;
+            //}
+            var frame = new TopRightMenuControl(menuCount, 1);
             if (canTest == true)
             {
                 //瀹氫綅
@@ -221,10 +239,10 @@
             }
 
             //鍒犻櫎
-            deviceMenu = Language.StringByID(R.MyInternationalizationString.uDelete);
-            frame.AddRowMenu(deviceMenu, "Item/DeleteIcon2.png", "Item/DeleteIcon2Selected.png", () =>
-            {
-            });
+            //deviceMenu = Language.StringByID(R.MyInternationalizationString.uDelete);
+            //frame.AddRowMenu(deviceMenu, "Item/DeleteIcon2.png", "Item/DeleteIcon2Selected.png", () =>
+            //{
+            //});
         }
 
         #endregion
@@ -283,6 +301,91 @@
                     var form = new PanelBackLightSettionForm();
                     form.AddForm((Panel)nowSelectDevice);
                 };
+            }
+        }
+
+        #endregion
+
+        #region 鈻� 闇囧姩鍙嶉___________________________
+
+        /// <summary>
+        /// 娣诲姞闇囧姩鍙嶉琛�
+        /// </summary>
+        private void AddVibrationFeedbackRow()
+        {
+            var listDevice = Common.LocalDevice.Current.GetDevicesByMac(nowSelectDevice.DeviceAddr, false);
+            var myType = Common.LocalDevice.Current.GetMyDeviceEnumInfo(listDevice);
+            //鍙湁绠�绾﹂潰鏉挎墠浼氭湁杩欎釜鑿滃崟
+            if (myType.ConcreteType == Common.DeviceConcreteType.ButtonPanel_SimpleTwo
+                || myType.ConcreteType == Common.DeviceConcreteType.ButtonPanel_SimpleThree
+                || myType.ConcreteType == Common.DeviceConcreteType.ButtonPanel_SimpleFour)
+            {
+                //闇囧姩鍙嶉
+                var rowContr = new FrameRowControl(listview.rowSpace / 2);
+                rowContr.UseClickStatu = false;
+                listview.AddChidren(rowContr);
+                rowContr.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uVibrationFeedback), 600);
+                //搴曠嚎
+                rowContr.AddBottomLine();
+                //鍙崇澶�
+                var btnSwitch = rowContr.AddMostRightSwitchIcon();
+                if (vibrationInfo != null)
+                {
+                    btnSwitch.IsSelected = vibrationInfo.A闇囧姩浣胯兘;
+                }
+
+                btnSwitch.ButtonClickEvent += (sender, e) =>
+                {
+                    if (vibrationInfo == null)
+                    {
+                        //鑾峰彇鏁版嵁澶辫触鏃�,缁欎粬鐜�,浣嗘槸娌℃晥鏋�
+                        btnSwitch.IsSelected = !btnSwitch.IsSelected;
+                        return;
+                    }
+                    //鐐瑰嚮涓�娆′箣鍚�,涓嶈兘鍐嶆鐐瑰嚮
+                    btnSwitch.CanClick = false;
+                    bool statu = !btnSwitch.IsSelected;
+
+                    HdlThreadLogic.Current.RunThread(() =>
+                    {
+                        vibrationInfo.A闇囧姩浣胯兘 = statu;
+                        //璁剧疆绠�绾﹂潰鏉块渿鍔ㄥ姛鑳界殑淇℃伅
+                        var result = HdlDevicePanelLogic.Current.SetPanelVibrationData(nowSelectDevice, vibrationInfo);
+                        if (result == true)
+                        {
+                            HdlThreadLogic.Current.RunMain(() =>
+                            {
+                                btnSwitch.IsSelected = statu;
+                            });
+                        }
+                        else
+                        {
+                            //澶辫触鏃�,鏁版嵁杩樺師
+                            vibrationInfo.A闇囧姩浣胯兘 = !vibrationInfo.A闇囧姩浣胯兘;
+                        }
+                        //鍏佽涓嬩竴娆$偣鍑�
+                        btnSwitch.CanClick = true;
+                    });
+                };
+                if (hadReadVibrationInfo == true)
+                {
+                    //涓嶅啀璇诲彇
+                    return;
+                }
+                this.hadReadVibrationInfo = true;
+
+                HdlThreadLogic.Current.RunThread(() =>
+                {
+                    //鑾峰彇绠�绾﹂潰鏉块渿鍔ㄥ姛鑳界殑淇℃伅(null琛ㄧず鍑洪敊)
+                    vibrationInfo = HdlDevicePanelLogic.Current.GetPanelVibrationData(nowSelectDevice);
+                    if (vibrationInfo != null)
+                    {
+                        HdlThreadLogic.Current.RunMain(() =>
+                        {
+                            btnSwitch.IsSelected = vibrationInfo.A闇囧姩浣胯兘;
+                        });
+                    }
+                });
             }
         }
 
@@ -369,7 +472,7 @@
             var btnIcon = new NormalViewControl(Application.GetMinRealAverage(52), Application.GetMinRealAverage(52), false);
             btnIcon.Name = "btn" + device.DeviceEpoint;
             btnIcon.Gravity = Gravity.Center;
-            btnIcon.Radius = 6;
+            btnIcon.RadiusEx = 16;
             btnIcon.BorderWidth = 2;
             btnIcon.BorderColor = 0xff979797;
             frame.AddChidren(btnIcon, ChidrenBindMode.BindEventOnly);

--
Gitblit v1.8.0