From 334fa3f807b208335305889f0d5112fcd1f77bfb Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期三, 24 三月 2021 16:19:00 +0800
Subject: [PATCH] 2021-3-24-2

---
 HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/SetPir.cs              |   12 
 HDL-ON_iOS/Resources/Language.ini                               |   58 ----
 HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/AddButton.cs           |   70 ++---
 HDL-ON_Android/Assets/Language.ini                              |   60 -----
 HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirMain.cs             |  266 ++++------------------
 HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/TipPopView.cs |    4 
 .vs/HDL_APP_Project/xs/UserPrefs.xml                            |   25 +
 HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirSend.cs             |   22 +
 HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/View/Buttons.cs        |  201 ++++++++++++++++
 9 files changed, 317 insertions(+), 401 deletions(-)

diff --git a/.vs/HDL_APP_Project/xs/UserPrefs.xml b/.vs/HDL_APP_Project/xs/UserPrefs.xml
index 4e87591..8f4f5e8 100644
--- a/.vs/HDL_APP_Project/xs/UserPrefs.xml
+++ b/.vs/HDL_APP_Project/xs/UserPrefs.xml
@@ -1,14 +1,19 @@
 锘�<Properties StartupConfiguration="{09712674-2A38-407B-B1E2-560B2C352F9A}|Default">
-  <MonoDevelop.Ide.Workbench ActiveDocument="HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/Method.cs">
+  <MonoDevelop.Ide.Workbench ActiveDocument="HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/Pir.cs">
     <Files>
       <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/BrandList.cs" Line="132" Column="58" IsPinned="True" />
       <File FileName="../../Application.cs" Line="16" Column="35" IsPinned="True" />
-      <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/MyQRCodePage.cs" Line="131" Column="23" IsPinned="True" />
-      <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirSend.cs" Line="153" Column="113" IsPinned="True" />
-      <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/AddButton.cs" Line="16" Column="13" />
-      <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddMiniRemoteControlDirection4Page.cs" Line="237" Column="71" />
-      <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirMain.cs" Line="527" Column="23" />
-      <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/Method.cs" Line="9" Column="24" />
+      <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirSend.cs" Line="150" Column="18" IsPinned="True" />
+      <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/AddButton.cs" Line="133" Column="31" />
+      <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddMiniRemoteControlDirection4Page.cs" />
+      <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/Method.cs" Line="442" Column="22" />
+      <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/TipPopView.cs" Line="895" Column="32" />
+      <File FileName="HDL_ON/UI/UI0-Public/PublicAssmebly.cs" Line="1" Column="1" />
+      <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/View/Buttons.cs" Line="18" Column="132" />
+      <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirMain.cs" Line="322" Column="77" />
+      <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/SetPir.cs" Line="16" Column="40" />
+      <File FileName="HDL_ON/DAL/Mqtt/MqttClient.cs" Line="338" Column="36" />
+      <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/Pir.cs" Line="1" Column="1" />
     </Files>
     <Pads>
       <Pad Id="ProjectPad">
@@ -17,6 +22,7 @@
             <Node name="HDL_ON" expanded="True">
               <Node name="Common" expanded="True" />
               <Node name="DAL" expanded="True">
+                <Node name="Mqtt" expanded="True" />
                 <Node name="Server" expanded="True" />
               </Node>
               <Node name="Entity" expanded="True">
@@ -33,7 +39,7 @@
                   <Node name="4-PersonalCenter" expanded="True">
                     <Node name="PirDevice" expanded="True">
                       <Node name="View" expanded="True" />
-                      <Node name="Method.cs" selected="True" />
+                      <Node name="Pir.cs" selected="True" />
                     </Node>
                   </Node>
                 </Node>
@@ -41,9 +47,6 @@
             </Node>
             <Node name="HDL-ON_Android" expanded="True">
               <Node name="Assets" expanded="True" />
-            </Node>
-            <Node name="HDL-ON_iOS" expanded="True">
-              <Node name="Resources" expanded="True" />
             </Node>
           </Node>
         </State>
diff --git a/HDL-ON_Android/Assets/Language.ini b/HDL-ON_Android/Assets/Language.ini
index 6539302..1ad65a9 100644
--- a/HDL-ON_Android/Assets/Language.ini
+++ b/HDL-ON_Android/Assets/Language.ini
@@ -1395,66 +1395,6 @@
 6079=鑾峰彇鏁版嵁澶辫触
 
 
-
-
-6015=鍦ㄧ嚎
-6016=绂荤嚎
-6017=鐗堟湰鍙�
-6018=璇疯緭鍏ラ仴鎺у櫒鍚嶇О
-6019=鎻愮ず锛氶仴鎺у櫒鍒涘缓鍚庡彲鍦ㄥ姛鑳�-鐢靛櫒鍒嗙被{\r\n}鏌ユ壘浣跨敤
-6020=鎺ㄨ崘鎸夐敭
-6021=璇疯緭鍏ユ寜閿悕绉�
-6022=涓嬩竴姝�
-6023=鐢垫簮
-6024=闊抽噺+
-6025=闊抽噺-
-6026=棰戦亾+
-6027=棰戦亾-
-6028=涓�
-6029=涓�
-6030=宸�
-6031=鍙�
-6032=闈欓煶
-6034=纭
-6035=鎾斁
-6037=閫�鍑�
-6038=鑿滃崟
-6039=鏆傚仠
-6040=杩斿洖
-6041=鍋滄
-6042=涓婚〉
-6043=蹇繘
-6044=蹇��
-6045=瀹氭椂
-6046=澶嶅埗閬ユ帶鍔熻兘
-6047=瀵瑰噯閬ユ帶鍣ㄤ腑蹇冩寜涓嬬浉鍚屾寜閿�
-6048=鏅鸿兘閬ユ帶鍣�
-6049=娣诲姞鎸夐敭
-6050=*闀挎寜鍙繘琛岃嚜瀹氫箟鎺掑簭
-6051=瀹屾垚
-6052=娣诲姞鎴愬姛
-6053=鍙埌鍒嗙被-鍔熻兘-鐢靛櫒鎿嶄綔浣跨敤
-6054=鎵�灞炲垎绫�
-6055=閬ユ帶鍣ㄥ悕绉�
-6056=鎵�灞炲尯鍩�
-6057=缁х画娣诲姞
-6058=鐢靛櫒
-6059=娣诲姞澶辫触
-6060=閲嶈瘯
-6061=鍖归厤閬ユ帶鍣�
-6062=璇风偣鍑讳互涓嬫寜閽�
-6063=纭璁惧鏄惁鏈夊搷搴�
-6064=鎺у埗澶辫触
-6065=鎺у埗鎴愬姛
-6066=鐢垫簮寮�
-6067=妯″紡鍒跺喎
-6068=椋庨�熶腑椋�
-6069=娓╁害26鈩�
-6070=鍒犻櫎璁惧
-6071=淇敼鍚嶅瓧
-6072=纭鍒犻櫎
-6073=鍙栨秷
-
 7000=鏂板缓鑷姩鍖�
 7001=缂栬緫鑷姩鍖�
 7002=濡傛灉
diff --git a/HDL-ON_iOS/Resources/Language.ini b/HDL-ON_iOS/Resources/Language.ini
index 930ba63..850d302 100644
--- a/HDL-ON_iOS/Resources/Language.ini
+++ b/HDL-ON_iOS/Resources/Language.ini
@@ -1394,64 +1394,6 @@
 6078=绯荤粺缁存姢涓瓇璇风◢鍚庡啀璇晘
 6079=鑾峰彇鏁版嵁澶辫触
 
-6015=鍦ㄧ嚎
-6016=绂荤嚎
-6017=鐗堟湰鍙�
-6018=璇疯緭鍏ラ仴鎺у櫒鍚嶇О
-6019=鎻愮ず锛氶仴鎺у櫒鍒涘缓鍚庡彲鍦ㄥ姛鑳�-鐢靛櫒鍒嗙被{\r\n}鏌ユ壘浣跨敤
-6020=鎺ㄨ崘鎸夐敭
-6021=璇疯緭鍏ユ寜閿悕绉�
-6022=涓嬩竴姝�
-6023=鐢垫簮
-6024=闊抽噺+
-6025=闊抽噺-
-6026=棰戦亾+
-6027=棰戦亾-
-6028=涓�
-6029=涓�
-6030=宸�
-6031=鍙�
-6032=闈欓煶
-6034=纭
-6035=鎾斁
-6037=閫�鍑�
-6038=鑿滃崟
-6039=鏆傚仠
-6040=杩斿洖
-6041=鍋滄
-6042=涓婚〉
-6043=蹇繘
-6044=蹇��
-6045=瀹氭椂
-6046=澶嶅埗閬ユ帶鍔熻兘
-6047=瀵瑰噯閬ユ帶鍣ㄤ腑蹇冩寜涓嬬浉鍚屾寜閿�
-6048=鏅鸿兘閬ユ帶鍣�
-6049=娣诲姞鎸夐敭
-6050=*闀挎寜鍙繘琛岃嚜瀹氫箟鎺掑簭
-6051=瀹屾垚
-6052=娣诲姞鎴愬姛
-6053=鍙埌鍒嗙被-鍔熻兘-鐢靛櫒鎿嶄綔浣跨敤
-6054=鎵�灞炲垎绫�
-6055=閬ユ帶鍣ㄥ悕绉�
-6056=鎵�灞炲尯鍩�
-6057=缁х画娣诲姞
-6058=鐢靛櫒
-6059=娣诲姞澶辫触
-6060=閲嶈瘯
-6061=鍖归厤閬ユ帶鍣�
-6062=璇风偣鍑讳互涓嬫寜閽�
-6063=纭璁惧鏄惁鏈夊搷搴�
-6064=鎺у埗澶辫触
-6065=鎺у埗鎴愬姛
-6066=鐢垫簮寮�
-6067=妯″紡鍒跺喎
-6068=椋庨�熶腑椋�
-6069=娓╁害26鈩�
-6070=鍒犻櫎璁惧
-6071=淇敼鍚嶅瓧
-6072=纭鍒犻櫎
-6073=鍙栨秷
-
 7000=鏂板缓鑷姩鍖�
 7001=缂栬緫鑷姩鍖�
 7002=濡傛灉
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/TipPopView.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/TipPopView.cs
index 9786316..bba3711 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/TipPopView.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/TipPopView.cs
@@ -892,9 +892,9 @@
         /// 淇℃伅鎻愮ず绐楀彛锛岃嚜鍔ㄥ叧闂�
         /// </summary>
         /// <param name="msg">鎻愮ず閿欒鏂囨湰</param>
-        public void FlashingBox(string msg,int time=2000)
+        public void FlashingBox(string msg,int time=2)
         {
-            new PublicAssmebly().TipMsgAutoClose(msg, false, time);
+            new PublicAssmebly().TipMsgAutoClose(msg, false, time*1000);
         }
 
         /// <summary>
diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/AddButton.cs b/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/AddButton.cs
index cfacb7f..ed65648 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/AddButton.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/AddButton.cs
@@ -130,62 +130,48 @@
                 buttonObj.key = "key" + control.status.Count.ToString();
                 buttonObj.value = texts;
 
-                PirSend.CodeStudy(control.deviceId, buttonObj, (responsePackNew) =>
+                PirSend.CodeStudy(control, buttonObj, (mqttdate) =>
                 {
-                    if (responsePackNew != null && responsePackNew.Code == "0" && responsePackNew.Data.ToString() != "")
+                    if (mqttdate != null)
                     {
-                        Method method = new Method();
-                        Method.buttondata = "";
-                        var mqttdate = method.MqttDate("鎸夐敭", control.sid, 25);
-                        if (mqttdate != null)
+                        //浼戠湢鏄负鏄剧ず寮曞鐣岄潰
+                        // System.Threading.Thread.Sleep(3000);
+                        //绉婚櫎娣诲姞鎸夐挳寮曞鐣岄潰
+                        replication.RemView();
+                        var buttonName = control.status.Find((c) => c.value == buttonObj.value);
+                        if (buttonName == null)
                         {
-                            //浼戠湢鏄负鏄剧ず寮曞鐣岄潰
-                            // System.Threading.Thread.Sleep(3000);
-                            //绉婚櫎娣诲姞鎸夐挳寮曞鐣岄潰
-                            replication.RemView();
-                            var buttonName = control.status.Find((c) => c.value == buttonObj.value);
-                            if (buttonName == null)
-                            {
-                                //娣诲姞鏁版嵁
-                                control.status.Add(buttonObj);
-                            }
-                            //绉婚櫎娣诲姞鎸夐挳鐣岄潰
-                            this.RemoveFromParent();
-
-                            for (int i = MainPage.BasePageView.ChildrenCount - 1; 0 <= i; i--)
-                            {
-                                var view = MainPage.BasePageView.GetChildren(i);
-                                if (view.GetType() == typeof(AddControl))
-                                {
-                                    //new TipPopView().FlashingBox(Language.StringByID(StringId.tianjiachenggong));
-                                    view.RemoveFromParent();
-                                }
-
-                            }
-
-                            //鍔犺浇鏁版嵁鐣岄潰
-                            AddControl addControl = new AddControl();
-                            MainPage.BasePageView.AddChidren(addControl);
-                            addControl.Show(control);
-                            MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+                            //娣诲姞鏁版嵁
+                            control.status.Add(buttonObj);
                         }
-                        else
+                        //绉婚櫎娣诲姞鎸夐挳鐣岄潰
+                        this.RemoveFromParent();
+
+                        for (int i = MainPage.BasePageView.ChildrenCount - 1; 0 <= i; i--)
                         {
-                            replication.RemView();
-                            new TipPopView().FlashingBox(Language.StringByID(StringId.tianjiashibai));
+                            var view = MainPage.BasePageView.GetChildren(i);
+                            if (view.GetType() == typeof(AddControl))
+                            {
+                                //鎵惧埌绉婚櫎
+                                view.RemoveFromParent();
+                            }
 
                         }
 
+                        //鍔犺浇鏁版嵁鐣岄潰
+                        AddControl addControl = new AddControl();
+                        MainPage.BasePageView.AddChidren(addControl);
+                        addControl.Show(control);
+                        MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                     }
                     else
                     {
-                        Method method = new Method();
-                        method.ErrorShow(responsePackNew, "");
+                        replication.RemView();
+                        new TipPopView().FlashingBox(Language.StringByID(StringId.tianjiashibai));
+
                     }
 
                 });
-
-
             };
 
         }
diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirMain.cs b/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirMain.cs
index c1169c5..1ee2bb0 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirMain.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirMain.cs
@@ -16,7 +16,7 @@
         /// </summary>
         public static Action BackAction;
         /// <summary>
-        /// 
+        /// 娣诲姞鍥炬爣Btn
         /// </summary>
         Button addDevice;
         /// <summary>
@@ -25,6 +25,7 @@
         List<DeviceType> DeviceTypeList = new List<DeviceType>();
         public void Show()
         {
+            #region 鐣岄潰甯冨眬
             this.BackgroundColor = CSS.CSS_Color.viewMiddle;
             PirDevice.View.TopView topView = new View.TopView();
             topView.topNameBtn.TextID = StringId.hongwaiyaokong;
@@ -61,7 +62,10 @@
                 // middFLayout.AddChidren(addDevice);
                 addDevice.Visible = true;
             }
+            #endregion
 
+            #region 鐣岄潰鐐瑰嚮浜嬩欢
+            ///涓嬫媺鍒锋柊鐣岄潰浜嬩欢
             vv.BeginHeaderRefreshingAction += () =>
                 {
                     ////鍏抽棴鍒锋柊View锛�
@@ -77,8 +81,7 @@
                     }, Pir.currPir);
 
                 };
-            UIView(vv);
-
+            ///璁剧疆鍥炬爣鐐瑰嚮浜嬩欢
             topView.clickSetBtn.MouseUpEventHandler += (sender, e) =>
             {
 
@@ -92,119 +95,59 @@
                 });
                 MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
             };
+            ///娣诲姞閬ユ帶鍣ㄥ浘鏍囩偣鍑讳簨浠�
             addDevice.MouseUpEventHandler += (sender, e) =>
             {
-                FrameLayout frame = new FrameLayout
+                //杩涙潵涓嶅厑璁稿乏婊�
+                MainPage.BasePageView.ScrollEnabled = false;
+                View.Buttons buttons = new View.Buttons();
+                buttons.AddFrameLayout(this, (if_value, view) => 
                 {
-                    BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
-                };
-                this.AddChidren(frame);
-                FrameLayout controlFl = new FrameLayout();
-                controlFl.Y = Application.GetRealHeight(319);
-                controlFl.X = Application.GetRealWidth(16);
-                controlFl.Width = Application.GetRealWidth(343);
-                controlFl.Height = Application.GetRealHeight(328);
-                controlFl.BackgroundColor = CSS.CSS_Color.view;
-                controlFl.Radius = (uint)Application.GetRealHeight(12);
-                frame.AddChidren(controlFl);
-                ///娣诲姞閬ユ帶鍣�
-                Button text3Btn = new Button
-                {
-                    Y = Application.GetRealHeight(12),
-                    X = Application.GetRealWidth(16),
-                    Width = Application.GetRealWidth(343 - 16 * 2),
-                    Height = Application.GetRealHeight(20),
-                    TextSize = TextSize.text14,
-                    TextColor = CSS.CSS_Color.textConfirmColor,
-                    TextAlignment = TextAlignment.Center,
-                    TextID = StringId.tianjiayaokongqi,
-                    IsBold = true,
-                };
-                controlFl.AddChidren(text3Btn);
-                frame.MouseUpEventHandler += (sender1, e1) =>
-                {
-
-                    frame.RemoveFromParent();
-                };
-                int line = 0;
-                for (int i = 1, j = 0; i <= 7; i++, j++)
-                {
-                    var currpirdeviceFLayout = new FrameLayout
+                    //鍏抽棴鍏佽宸︽粦
+                    MainPage.BasePageView.ScrollEnabled = true;
+                    //1=绌鸿皟;2=鐢佃;3=椋庢墖;4=鏈洪《鐩�;5=DVD/EVD/VCD;6=鎶曞奖浠�;7=鑷畾涔�;
+                    if (if_value == 7)
                     {
-                        Width = Application.GetRealWidth(80),
-                        Height = Application.GetRealWidth(80),
-                        X = Application.GetRealWidth(26 + (80 + 25) * j),
-                        Y = Application.GetRealHeight(52 + (80 + 12) * line),
-
-                    };
-                    controlFl.AddChidren(currpirdeviceFLayout);
-                    var deviceIconBtn = new Button
-                    {
-                        Y = Application.GetRealHeight(8),
-                        X = Application.GetRealWidth(20),
-                        Width = Application.GetRealWidth(40),
-                        Height = Application.GetRealWidth(40),
-                        UnSelectedImagePath = "PirIcon/Infraredtreasure.png",
-                    };
-                    currpirdeviceFLayout.AddChidren(deviceIconBtn);
-                    var iconNameBtn = new Button
-                    {
-                        Y = deviceIconBtn.Bottom + Application.GetRealHeight(8),
-                        Width = Application.GetRealWidth(80),
-                        Height = Application.GetRealHeight(17),
-                        TextSize = TextSize.text12,
-                        TextColor = CSS.CSS_Color.TextualColor,
-                        TextAlignment = TextAlignment.Center,
-                    };
-                    currpirdeviceFLayout.AddChidren(iconNameBtn);
-                    var clickBtn = new Button { Tag = i };
-                    currpirdeviceFLayout.AddChidren(clickBtn);
-                    if (i % 3 == 0)
-                    {
-                        //婊′竴琛岄噸缃甹=0鍊�;
-                        j = -1;
-                        line += 1;
-                    }
-                    GetIconAndText(i, deviceIconBtn, iconNameBtn);
-                    clickBtn.MouseUpEventHandler += (sender2, e2) =>
-                    {
-                       
-                        //1=绌鸿皟;2=鐢佃;3=椋庢墖;4=鏈洪《鐩�;5=DVD/EVD/VCD;6=鎶曞奖浠�;7=鑷畾涔�;
-                        int if_value = int.Parse(clickBtn.Tag.ToString());
-                        if (if_value == 7)
+                        Method method = new Method();
+                        method.AddControl(this, (control) =>
                         {
-                            Method method = new Method();
-                            method.AddControl(this, (control) =>
+                           //鎴愬姛鍚庣Щ闄�;
+                           view.RemoveFromParent();
+                            AddButton addButton = new AddButton();
+                            MainPage.BasePageView.AddChidren(addButton);
+                            addButton.Show(control);
+                            MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+                        });
+                    }
+                    else
+                    {
+                        if (if_value == 3 || if_value == 4 || if_value == 5 || if_value == 6)
+                        {
+                            new TipPopView().FlashingBox("鏆傛椂涓嶆敮鎸佽鍔熻兘.");
+                            return;
+                        }
+                        if (DeviceTypeList.Count == 0)
+                        {
+                            GetDeviceTypeList(true, () =>
                             {
-                                //鎴愬姛鍚庣Щ闄�;
-                                frame.RemoveFromParent();
-                                AddButton addButton = new AddButton();
-                                MainPage.BasePageView.AddChidren(addButton);
-                                addButton.Show(control);
-                                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+                                DeviceTypeViewClick(if_value);
+                               //鑾峰彇鎴愬姛涔嬪悗绉婚櫎
+                               view.RemoveFromParent();
+
                             });
                         }
                         else
                         {
-                            //杩涙潵閮借绉婚櫎;
-                            frame.RemoveFromParent();
-                            if (DeviceTypeList.Count == 0)
-                            {
-                                GetDeviceTypeList(true, () =>
-                                 {
-                                     DeviceTypeViewClick(if_value);
-
-                                 });
-                            }
-                            else
-                            {
-                                DeviceTypeViewClick(if_value);
-                            }
+                            DeviceTypeViewClick(if_value);
+                            view.RemoveFromParent();
                         }
-                    };
-                }
 
+                    }
+                }, 7);
             };
+            #endregion
+            ///鍒濆鍖栫晫闈�
+            UIView(vv);
 
         }
         /// <summary>
@@ -250,7 +193,6 @@
             for (int j = 0; j < Pir.currPir.FunctioList.Count; j++)
             {
                 var control = Pir.currPir.FunctioList[j];
-
                 View.ControlView controlView = new View.ControlView();
                 controlView.Show(pirView.devfLayout, j);
                 //閬ユ帶鍣ㄥ悕绉�
@@ -313,10 +255,11 @@
         /// <summary>
         /// 璁惧杩涘叆涓嬩竴绾ф柟娉�
         /// </summary>
-        /// <param name="if_value"></param>
+        /// <param name="if_value">鎺т欢绱㈠紩鍊�</param>
         private void DeviceTypeViewClick(int if_value)
         {
-            var strings = GetTypeString(if_value).Split('-');
+          
+            var strings = View.Buttons.GetTypeString(if_value).Split('-');
             var jobDeviceType = DeviceTypeList.Find((c) => c.deviceType == strings[0]);
             if (jobDeviceType == null)
             {
@@ -334,118 +277,9 @@
 
         }
         /// <summary>
-        /// 鑾峰彇璁惧绫诲瀷str
-        /// </summary>
-        /// <param name="index">绱㈠紩鍊�</param>
-        private string GetTypeString(int index)
-        {
-            string type = "";
-            switch (index)
-            {
-                case 1:
-                    {
-                        //绌鸿皟
-                        type = "ac-" + SPK.AcIr;
-                    }
-                    break;
-                case 2:
-                    {
-                        //鐢佃
-                        type = "tv-" + SPK.TvIr;
-                    }
-                    break;
-                case 3:
-                    {
-                        //椋庢墖
-                        // type = "fan-" + SPK.ElectricFan;
-                    }
-                    break;
-                case 4:
-                    {
-                        //鏈洪《鐩�
-                        //  type = "set_top_box-" + SPK.ElectricTV;
-                    }
-                    break;
-                case 5:
-                    {
-                        //褰辩鏈�
-                        // type = "dvd-" + SPK.ElectricTV;
-                    }
-                    break;
-                case 6:
-                    {
-                        //鎶曞奖浠�
-                        //  type = "projector-" + SPK.ElectricTV;
-                    }
-                    break;
-
-
-            }
-            return type;
-        }
-        /// <summary>
-        /// 璁剧疆鍥剧墖鍜屽娉�
-        /// </summary>
-        /// <param name="index">绱㈠紩鍊�</param>
-        /// <param name="deviceIconBtn">鍥炬爣Btn</param>
-        /// <param name="deviceNameBtn">璁惧澶囨敞Btn</param>
-        private void GetIconAndText(int index, Button deviceIconBtn, Button deviceNameBtn)
-        {
-            string iconPath = "";
-            int deviceNameIndex = 0;
-            switch (index)
-            {
-                case 1:
-                    {
-                        iconPath = "PirIcon/air.png";
-                        deviceNameIndex = StringId.kongtiao;
-                    }
-                    break;
-                case 2:
-                    {
-                        iconPath = "PirIcon/tv.png";
-                        deviceNameIndex = StringId.dianshi;
-                    }
-                    break;
-                case 3:
-                    {
-                        iconPath = "PirIcon/fan.png";
-                        deviceNameIndex = StringId.fengshan;
-                    }
-                    break;
-                case 4:
-                    {
-                        iconPath = "PirIcon/stb.png";
-                        deviceNameIndex = StringId.jidinghe;
-                    }
-                    break;
-                case 5:
-                    {
-                        iconPath = "PirIcon/dvd.png";
-                        deviceNameIndex = StringId.dvd;
-                    }
-                    break;
-                case 6:
-                    {
-                        iconPath = "PirIcon/projector.png";
-                        deviceNameIndex = StringId.touyingyi;
-                    }
-                    break;
-                case 7:
-                    {
-                        iconPath = "PirIcon/custom.png";
-                        deviceNameIndex = StringId.zidingyi;
-                    }
-                    break;
-
-            }
-            deviceIconBtn.UnSelectedImagePath = iconPath;
-            deviceNameBtn.TextID = deviceNameIndex;
-        }
-        /// <summary>
         /// 璇诲彇绾㈠璁惧绫诲瀷鍒楄〃
         /// </summary>
-        /// <param name="tag">鏍囪瘑瑕佷笉瑕佹彁绀猴紙true=鎻愮ず锛�</param>
+        /// <param name="tag">琛ㄧず瑕佷笉瑕佹彁绀洪敊璇俊鎭紙true=鎻愮ず锛�</param>
         /// <param name="action">鍥炶皟鍑芥暟</param>
         public void GetDeviceTypeList(bool tag, Action action)
         {
diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirSend.cs b/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirSend.cs
index 2529c83..169cad3 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirSend.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirSend.cs
@@ -150,7 +150,7 @@
         /// 绾㈠鐮佸涔�
         /// </summary>
         /// <returns></returns>
-        public static void CodeStudy(string deviceId, AttributesStatus buttonObj,Action<ResponsePackNew> action)
+        public static void CodeStudy(Control control, AttributesStatus buttonObj, Action<Cloud> action)
         {
             var job = new JObject { };
             job.Add("key", buttonObj.key);
@@ -160,22 +160,33 @@
             job.Add("value", valuejArray);
             var jArray = new JArray { };
             jArray.Add(job);
-            var jObject = new JObject { { "homeId", HomeId }, { "deviceId", deviceId }, { "attributes", jArray } };
-            ResponsePackNew responsePackNew = null;
+            var jObject = new JObject { { "homeId", HomeId }, { "deviceId", control.deviceId }, { "attributes", jArray } };
+            Cloud cloud = null;
             new System.Threading.Thread(() =>
             {
 
                 try
                 {
                     //鍙戦�佺孩澶栫爜瀛︿範鍛戒护
-                    responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Ir_CodeStudy);
+                    var responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Ir_CodeStudy);
+                    if (responsePackNew != null && responsePackNew.Code == "0" && responsePackNew.Data.ToString() != "")
+                    {
+                        Method method = new Method();
+                        Method.buttondata = "";
+                        cloud = method.MqttDate("鎸夐敭", control.sid, 25);
+                    }
+                    else
+                    {
+                        Method method = new Method();
+                        method.ErrorShow(responsePackNew, "");
+                    }
                 }
                 catch { }
                 finally
                 {
                     Application.RunOnMainThread(() =>
                     {
-                        action(responsePackNew);
+                        action(cloud);
                     });
                 }
 
@@ -267,7 +278,6 @@
             { IsBackground = true }.Start();
 
         }
-
         /// <summary>
         ///璇锋眰鏈嶅姟鍣紙涓庝綇瀹呮湁鍏�:渚嬪锛沨omeId锛� 
         /// </summary>
diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/SetPir.cs b/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/SetPir.cs
index 40ae860..ab952eb 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/SetPir.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/SetPir.cs
@@ -42,11 +42,11 @@
             editNameFLayout.btnNextIcon.Width = Application.GetRealWidth(28);
             editNameFLayout.btnNextIcon.UnSelectedImagePath = "LogicIcon/editname.png";
             viewLayout.AddChidren(editNameFLayout.FLayoutView());
-            ///鐗堟湰鍗囩骇
-            FrameLayout50 banbenshengjiFL = new FrameLayout50();
-            banbenshengjiFL.btnText.Text = Language.StringByID(StringId.banbenshengji);
-            banbenshengjiFL.frameLayout.Y = editNameFLayout.frameLayout.Bottom;
-            viewLayout.AddChidren(banbenshengjiFL.FLayoutView());
+            /////鐗堟湰鍗囩骇
+            //FrameLayout50 banbenshengjiFL = new FrameLayout50();
+            //banbenshengjiFL.btnText.Text = Language.StringByID(StringId.banbenshengji);
+            //banbenshengjiFL.frameLayout.Y = editNameFLayout.frameLayout.Bottom;
+            //viewLayout.AddChidren(banbenshengjiFL.FLayoutView());
 
             var versions = Pir.currPir.versions.Find((c)=>c.module== "fw_version");
             if (versions == null)
@@ -57,7 +57,7 @@
             FrameLayout50 banbenhaoFLayout = new FrameLayout50();
             banbenhaoFLayout.btnNextIcon.Visible = false;
             banbenhaoFLayout.btnText.Text = Language.StringByID(StringId.banbenhao) + ":"+ versions.version;
-            banbenhaoFLayout.frameLayout.Y = banbenshengjiFL.frameLayout.Bottom;
+            banbenhaoFLayout.frameLayout.Y = editNameFLayout.frameLayout.Bottom;// banbenshengjiFL.frameLayout.Bottom;
             viewLayout.AddChidren(banbenhaoFLayout.FLayoutView());
             //鍒犻櫎
             FrameLayout frameLayout = new FrameLayout
diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/View/Buttons.cs b/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/View/Buttons.cs
index fe2767c..633bf36 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/View/Buttons.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/View/Buttons.cs
@@ -1,5 +1,6 @@
 锘縰sing System;
 using System.Collections.Generic;
+using HDL_ON.Entity;
 using HDL_ON.UI.UI2.Intelligence.Automation.LogicView;
 using Shared;
 namespace HDL_ON.UI.UI2.PersonalCenter.PirDevice.View
@@ -59,6 +60,206 @@
 
         }
         /// <summary>
+        /// 鍔ㄦ�佸姞杞芥寜閽垪琛�
+        /// </summary>
+        /// <param name="FLayout">鐖舵帶浠�</param>
+        /// <param name="action">鍥炶皟</param>
+        /// <param name="sum">澶氬皯涓狥rameLayout鎺т欢</param>
+        public void AddFrameLayout(FrameLayout FLayout, Action<int,FrameLayout> action, int sum)
+        {
+
+            FrameLayout viewFLayout = new FrameLayout  
+            {
+                BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
+            };
+            FLayout.AddChidren(viewFLayout);
+            FrameLayout controlFl = new FrameLayout();
+            controlFl.Y = Application.GetRealHeight(319);
+            controlFl.X = Application.GetRealWidth(16);
+            controlFl.Width = Application.GetRealWidth(343);
+            controlFl.Height = Application.GetRealHeight(328);
+            controlFl.BackgroundColor = CSS.CSS_Color.view;
+            controlFl.Radius = (uint)Application.GetRealHeight(12);
+            viewFLayout.AddChidren(controlFl);
+            ///娣诲姞閬ユ帶鍣�
+            Button text3Btn = new Button
+            {
+                Y = Application.GetRealHeight(12),
+                X = Application.GetRealWidth(16),
+                Width = Application.GetRealWidth(343 - 16 * 2),
+                Height = Application.GetRealHeight(20),
+                TextSize = TextSize.text14,
+                TextColor = CSS.CSS_Color.textConfirmColor,
+                TextAlignment = TextAlignment.Center,
+                TextID = StringId.tianjiayaokongqi,
+                IsBold = true,
+            };
+            controlFl.AddChidren(text3Btn);
+            viewFLayout.MouseUpEventHandler += (sender1, e1) =>
+            {
+                //鍏抽棴鍏佽宸︽粦
+                MainPage.BasePageView.ScrollEnabled = true;
+                viewFLayout.RemoveFromParent();
+            };
+            int line = 0;
+            for (int i = 1, j = 0; i <= sum; i++, j++)
+            {
+                var currpirdeviceFLayout = new FrameLayout
+                {
+                    Width = Application.GetRealWidth(80),
+                    Height = Application.GetRealWidth(80),
+                    X = Application.GetRealWidth(26 + (80 + 25) * j),
+                    Y = Application.GetRealHeight(52 + (80 + 12) * line),
+
+                };
+                controlFl.AddChidren(currpirdeviceFLayout);
+                var deviceIconBtn = new Button
+                {
+                    Y = Application.GetRealHeight(8),
+                    X = Application.GetRealWidth(20),
+                    Width = Application.GetRealWidth(40),
+                    Height = Application.GetRealWidth(40),
+                    UnSelectedImagePath = "PirIcon/Infraredtreasure.png",
+                };
+                currpirdeviceFLayout.AddChidren(deviceIconBtn);
+                var iconNameBtn = new Button
+                {
+                    Y = deviceIconBtn.Bottom + Application.GetRealHeight(8),
+                    Width = Application.GetRealWidth(80),
+                    Height = Application.GetRealHeight(17),
+                    TextSize = TextSize.text12,
+                    TextColor = CSS.CSS_Color.TextualColor,
+                    TextAlignment = TextAlignment.Center,
+                };
+                currpirdeviceFLayout.AddChidren(iconNameBtn);
+                var clickBtn = new Button { Tag = i };
+                currpirdeviceFLayout.AddChidren(clickBtn);
+                if (i % 3 == 0)
+                {
+                    //婊′竴琛岄噸缃甹=0鍊�;
+                    j = -1;
+                    line += 1;
+                }
+                GetIconAndText(i, deviceIconBtn, iconNameBtn);
+                clickBtn.MouseUpEventHandler += (sender2, e2) =>
+                {
+                    //1=绌鸿皟;2=鐢佃;3=椋庢墖;4=鏈洪《鐩�;5=DVD/EVD/VCD;6=鎶曞奖浠�;7=鑷畾涔�;
+                    int if_value = int.Parse(clickBtn.Tag.ToString());
+                    action(if_value, viewFLayout);
+
+                };
+            }
+        }
+        /// <summary>
+        /// 璁剧疆鍥剧墖鍜屽娉�
+        /// </summary>
+        /// <param name="index">绱㈠紩鍊�</param>
+        /// <param name="deviceIconBtn">鍥炬爣Btn</param>
+        /// <param name="deviceNameBtn">璁惧澶囨敞Btn</param>
+        private void GetIconAndText(int index, Button deviceIconBtn, Button deviceNameBtn)
+        {
+            string iconPath = "";
+            int deviceNameIndex = 0;
+            switch (index)
+            {
+                case 1:
+                    {
+                        iconPath = "PirIcon/air.png";
+                        deviceNameIndex = StringId.kongtiao;
+                    }
+                    break;
+                case 2:
+                    {
+                        iconPath = "PirIcon/tv.png";
+                        deviceNameIndex = StringId.dianshi;
+                    }
+                    break;
+                case 3:
+                    {
+                        iconPath = "PirIcon/fan.png";
+                        deviceNameIndex = StringId.fengshan;
+                    }
+                    break;
+                case 4:
+                    {
+                        iconPath = "PirIcon/stb.png";
+                        deviceNameIndex = StringId.jidinghe;
+                    }
+                    break;
+                case 5:
+                    {
+                        iconPath = "PirIcon/dvd.png";
+                        deviceNameIndex = StringId.dvd;
+                    }
+                    break;
+                case 6:
+                    {
+                        iconPath = "PirIcon/projector.png";
+                        deviceNameIndex = StringId.touyingyi;
+                    }
+                    break;
+                case 7:
+                    {
+                        iconPath = "PirIcon/custom.png";
+                        deviceNameIndex = StringId.zidingyi;
+                    }
+                    break;
+
+            }
+            deviceIconBtn.UnSelectedImagePath = iconPath;
+            deviceNameBtn.TextID = deviceNameIndex;
+        }
+        /// <summary>
+        /// 鑾峰彇璁惧绫诲瀷str
+        /// </summary>
+        /// <param name="index">绱㈠紩鍊�</param>
+        public static string GetTypeString(int index)
+        {
+            string type = "";
+            switch (index)
+            {
+                case 1:
+                    {
+                        //绌鸿皟
+                        type = "ac-" + SPK.AcIr;
+                    }
+                    break;
+                case 2:
+                    {
+                        //鐢佃
+                        type = "tv-" + SPK.TvIr;
+                    }
+                    break;
+                case 3:
+                    {
+                        //椋庢墖
+                        // type = "fan-" + SPK.ElectricFan;
+                    }
+                    break;
+                case 4:
+                    {
+                        //鏈洪《鐩�
+                        //  type = "set_top_box-" + SPK.ElectricTV;
+                    }
+                    break;
+                case 5:
+                    {
+                        //褰辩鏈�
+                        // type = "dvd-" + SPK.ElectricTV;
+                    }
+                    break;
+                case 6:
+                    {
+                        //鎶曞奖浠�
+                        //  type = "projector-" + SPK.ElectricTV;
+                    }
+                    break;
+
+
+            }
+            return type;
+        }
+        /// <summary>
         /// 鑾峰彇鍒楄〃
         /// </summary>
         /// <param name="tag">鏍囪鍊�</param>

--
Gitblit v1.8.0