From eda3fb873e59544ff36301b51e05aef64f87b0f9 Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期五, 27 八月 2021 13:21:21 +0800
Subject: [PATCH] Merge branch 'newBranch1' of http://172.16.1.23:6688/r/~wxr/HDL_APP_Project into newBranch1

---
 HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirMain.cs |  812 ++++++++++++++++++---------------------------------------
 1 files changed, 254 insertions(+), 558 deletions(-)

diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirMain.cs b/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirMain.cs
index 1aebd1f..38b713e 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirMain.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirMain.cs
@@ -1,5 +1,6 @@
 锘縰sing System;
 using System.Collections.Generic;
+using System.Text;
 using HDL_ON.Entity;
 using HDL_ON.UI.UI2.Intelligence.Automation.LogicView;
 using Shared;
@@ -7,11 +8,22 @@
 {
     public class PirMain : FrameLayout
     {
+        /// <summary>
+        /// 鏋勯�犲嚱鏁�
+        /// </summary>
         public PirMain()
         {
+            /// 鏍囪鐣岄潰
             Tag = "PirMain";
-            GetPirDeviceList();
         }
+        /// <summary>
+        /// 鍥炶皟
+        /// </summary>
+        public static Action BackAction;
+        /// <summary>
+        /// 娣诲姞鍥炬爣Btn
+        /// </summary>
+        Button addDevice;
         /// <summary>
         /// 涓存椂鍌ㄥ瓨璁惧绫诲瀷鍒楄〃
         /// </summary>
@@ -22,315 +34,80 @@
             this.BackgroundColor = CSS.CSS_Color.viewMiddle;
             PirDevice.View.TopView topView = new View.TopView();
             topView.topNameBtn.TextID = StringId.hongwaiyaokong;
+            topView.topIconBtn.Visible = true;
             this.AddChidren(topView.FLayoutView());
-            topView.clickBackBtn.MouseUpEventHandler += (sender, e) => { this.RemoveFromParent(); };
+            topView.clickBackBtn.MouseUpEventHandler += (sender, e) =>
+            {
+               
+                RemoveFromParent();
+            };
+
             FrameLayout middFLayout = new FrameLayout();
             middFLayout.Y = Application.GetRealHeight(64);
             middFLayout.Height = Application.GetRealHeight(667 - 64);
             this.AddChidren(middFLayout);
 
-            FrameLayout pirDeviceFLayout = new FrameLayout();
-            pirDeviceFLayout.Y = Application.GetRealHeight(12);
-            pirDeviceFLayout.X = Application.GetRealWidth(16);
-            pirDeviceFLayout.Width = Application.GetRealWidth(343);
-            pirDeviceFLayout.Height = Application.GetRealHeight(187);
-            pirDeviceFLayout.BackgroundColor = CSS.CSS_Color.view;
-            pirDeviceFLayout.Radius = (uint)Application.GetRealHeight(12);
-            middFLayout.AddChidren(pirDeviceFLayout);
+            VerticalRefreshLayout vv = new VerticalRefreshLayout();
+            middFLayout.AddChidren(vv);
+            //鍔犲彿鍥炬爣
+            addDevice = new Button
+            {
+                Y = Application.GetRealHeight(480),
+                X = Application.GetRealWidth(293),
+                Width = Application.GetRealWidth(82),
+                Height = Application.GetRealWidth(84),
+                UnSelectedImagePath = "PirIcon/add.png",
+                Visible=false,
 
-            //璁惧绠$悊
-            Button text1Btn = new Button
-            {
-                Y = Application.GetRealHeight(11),
-                X = Application.GetRealWidth(16),
-                Width = Application.GetRealWidth(120),
-                Height = Application.GetRealHeight(20),
-                TextSize = TextSize.text14,
-                TextColor = CSS.CSS_Color.textConfirmColor,
-                TextAlignment = TextAlignment.CenterLeft,
-                TextID = StringId.shebeigaunli,
-                IsBold = true,
             };
-            pirDeviceFLayout.AddChidren(text1Btn);
+            middFLayout.AddChidren(addDevice);
+         
+            #endregion
 
+            #region 鐣岄潰鐐瑰嚮浜嬩欢
+            ///涓嬫媺鍒锋柊鐣岄潰浜嬩欢
+            vv.BeginHeaderRefreshingAction += () =>
+                {
+                    ////鍏抽棴鍒锋柊View锛�
+                    vv.EndHeaderRefreshing();
 
-            Button pirIcon = new Button
-            {
-                Y = Application.GetRealHeight(47),
-                X = Application.GetRealWidth(28),
-                Width = Application.GetRealWidth(66),
-                Height = Application.GetRealWidth(66),
-                UnSelectedImagePath = "PirIcon/Infraredtreasure.png",
-            };
-            pirDeviceFLayout.AddChidren(pirIcon);
+                    PirMethod.GetControlList(this, () =>
+                    {
+                        Application.RunOnMainThread(() =>
+                        {
+                            //鍒锋柊鐣岄潰
+                            UIView(vv);
+                        });
+                    }, Pir.currPir);
 
-            //mini鏅鸿兘閬ユ帶鍣�
-            Button text2Btn = new Button
-            {
-                Y = Application.GetRealHeight(70),
-                X = Application.GetRealWidth(112),
-                Width = Application.GetRealWidth(120),
-                Height = Application.GetRealHeight(20),
-                TextSize = TextSize.text14,
-                TextColor = CSS.CSS_Color.textTipColor,
-                TextAlignment = TextAlignment.CenterLeft,
-                Text = "mini鏅鸿兘閬ユ帶鍣�",
-            };
-            pirDeviceFLayout.AddChidren(text2Btn);
-
-            //
-            Button numberDeviceBtn = new Button
-            {
-                Y = Application.GetRealHeight(137),
-                X = Application.GetRealWidth(32),
-                Width = Application.GetRealWidth(100),
-                Height = Application.GetRealHeight(20),
-                TextSize = TextSize.text14,
-                TextColor = CSS.CSS_Color.textColor,
-                TextAlignment = TextAlignment.CenterLeft,
-                Text = "1" + Language.StringByID(StringId.ge),
-                IsBold = true,
-            };
-            pirDeviceFLayout.AddChidren(numberDeviceBtn);
-            //褰撳墠绾㈠閬ユ帶璁惧
-            Button numberDeviceTextBtn = new Button
-            {
-                Y = numberDeviceBtn.Bottom + Application.GetRealHeight(4),
-                X = Application.GetRealWidth(32),
-                Width = Application.GetRealWidth(100),
-                Height = Application.GetRealHeight(14),
-                TextSize = TextSize.text10,
-                TextColor = CSS.CSS_Color.textCancelColor,
-                TextAlignment = TextAlignment.CenterLeft,
-                TextID = StringId.dangqianhongwaishebei,
-            };
-            pirDeviceFLayout.AddChidren(numberDeviceTextBtn);
-            //
-            Button currDeviceNumberControlBtn = new Button
-            {
-                Y = Application.GetRealHeight(137),
-                X = Application.GetRealWidth(198),
-                Width = Application.GetRealWidth(80),
-                Height = Application.GetRealHeight(20),
-                TextSize = TextSize.text14,
-                TextColor = CSS.CSS_Color.textColor,
-                TextAlignment = TextAlignment.CenterLeft,
-                Text = "1" + Language.StringByID(StringId.ge),
-                IsBold = true,
-            };
-            pirDeviceFLayout.AddChidren(currDeviceNumberControlBtn);
-            //宸叉坊鍔犻仴鎺у櫒
-            Button currDeviceNumberControlTextBtn = new Button
-            {
-                Y = currDeviceNumberControlBtn.Bottom + Application.GetRealHeight(4),
-                X = Application.GetRealWidth(198),
-                Width = Application.GetRealWidth(80),
-                Height = Application.GetRealHeight(14),
-                TextSize = TextSize.text10,
-                TextColor = CSS.CSS_Color.textCancelColor,
-                TextAlignment = TextAlignment.CenterLeft,
-                TextID = StringId.yitianjiayaokongqi,
-            };
-            pirDeviceFLayout.AddChidren(currDeviceNumberControlTextBtn);
-            ///绾㈠瀹濈偣鍑讳簨浠�
-            FrameLayout clickFLayout = new FrameLayout();
-            pirDeviceFLayout.AddChidren(clickFLayout);
-            clickFLayout.MouseUpEventHandler += (sender, e) =>
+                };
+            ///璁剧疆鍥炬爣鐐瑰嚮浜嬩欢
+            topView.clickSetBtn.MouseUpEventHandler += (sender, e) =>
             {
 
-                DeviceSet deviceSet = new DeviceSet();
-                MainPage.BasePageView.AddChidren(deviceSet);
-                deviceSet.Show();
+                SetPir setPir = new SetPir();
+                MainPage.BasePageView.AddChidren(setPir);
+                setPir.Show();
                 MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
             };
-
-            FrameLayout deviceListFLayout = new FrameLayout();
-            deviceListFLayout.Y = pirDeviceFLayout.Bottom + Application.GetRealHeight(12);
-            deviceListFLayout.X = Application.GetRealWidth(16);
-            deviceListFLayout.Width = Application.GetRealWidth(343);
-            deviceListFLayout.Height = Application.GetRealHeight(328);
-            deviceListFLayout.BackgroundColor = CSS.CSS_Color.view;
-            deviceListFLayout.Radius = (uint)Application.GetRealHeight(12);
-            middFLayout.AddChidren(deviceListFLayout);
-            ///娣诲姞閬ユ帶鍣�
-            Button text3Btn = new Button
+            ///娣诲姞閬ユ帶鍣ㄥ浘鏍囩偣鍑讳簨浠�
+            addDevice.MouseUpEventHandler += (sender, e) =>
             {
-                Y = Application.GetRealHeight(11),
-                X = Application.GetRealWidth(16),
-                Width = Application.GetRealWidth(100),
-                Height = Application.GetRealHeight(20),
-                TextSize = TextSize.text14,
-                TextColor = CSS.CSS_Color.textConfirmColor,
-                TextAlignment = TextAlignment.CenterLeft,
-                TextID = StringId.tianjiayaokongqi,
-                IsBold = true,
-            };
-            deviceListFLayout.AddChidren(text3Btn);
-            ///绾㈠瀹濆悕绉�
-            Button deviceNameBtn = new Button
-            {
-                Y = Application.GetRealHeight(13),
-                X = Application.GetRealWidth(161),
-                Width = Application.GetRealWidth(150),
-                Height = Application.GetRealHeight(17),
-                TextSize = TextSize.text12,
-                TextColor = CSS.CSS_Color.textColor,
-                TextAlignment = TextAlignment.CenterRight,
-                Text = "mini鏅鸿兘閬ユ帶鍣�",
-            };
-            deviceListFLayout.AddChidren(deviceNameBtn);
-            if (Pir.pirDeviceList.Count!=0) {
-                deviceNameBtn.Text = Pir.pirDeviceList[0].name;
-                Pir.currPir = Pir.pirDeviceList[0];
-            }
-
-            //涓嬫媺鍥炬爣
-            var dropdownIconBtn = new Button
-            {
-                Y = Application.GetRealHeight(13),
-                X = Application.GetRealWidth(343 - 8 - 16),
-                Width = Application.GetRealWidth(16),
-                Height = Application.GetRealWidth(16),
-                UnSelectedImagePath = "PirIcon/dropdown.png",
-            };
-            deviceListFLayout.AddChidren(dropdownIconBtn);
-
-            deviceNameBtn.MouseUpEventHandler += (sender, e) =>
-            {
-
-                #region 鍖哄煙寮规鐣岄潰
-                FrameLayout fLayout = 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(fLayout);
-                fLayout.MouseUpEventHandler += (sender1, e1) =>
-                {
-                    fLayout.RemoveFromParent();
-                };
-
-                FrameLayout iconFLyout = new FrameLayout 
-                {
-                    X = Application.GetRealWidth(205),
-                    Y = Application.GetRealHeight(314),
-                    Width = Application.GetRealWidth(160),
-                    Height = Application.GetRealHeight(21 + 44),
-                    //BackgroundImagePath = "LogicIcon/bjicon.png",
-                };
-                fLayout.AddChidren(iconFLyout);
-
-                FrameLayout textFLyout = new FrameLayout 
-                {
-                    X = Application.GetRealWidth(8),
-                    Y = Application.GetRealHeight(14),
-                    Width = Application.GetRealWidth(144),
-                    Height = Application.GetRealHeight(44),
-                };
-                VerticalScrolViewLayout vv = new VerticalScrolViewLayout 
-                {
-                    X = Application.GetRealWidth(8),
-                    Y = Application.GetRealHeight(14),
-                    Width = Application.GetRealWidth(144),
-                    Height = Application.GetRealHeight(44 * 4),
-                };
-
-                if (Pir.pirDeviceList.Count >4)
-                {
-                    iconFLyout.Height = Application.GetRealHeight(21 + 44 * 4);
-                    iconFLyout.AddChidren(vv);
-                    iconFLyout.BackgroundImagePath = "PirIcon/4.png";
-                }
-                else
-                {
-
-                    iconFLyout.AddChidren(textFLyout);
-                    iconFLyout.Height = Application.GetRealHeight(21 + 44 * Pir.pirDeviceList.Count);
-                    textFLyout.Height = Application.GetRealHeight(44 * Pir.pirDeviceList.Count);
-                    iconFLyout.BackgroundImagePath = $"PirIcon/{Pir.pirDeviceList.Count}.png";
-                }
-                #endregion
-
-                for (int i = 0; i < Pir.pirDeviceList.Count; i++)
-                {
-                    var pirJson = Pir.pirDeviceList[i]; 
-                    View.PirNameView pirNameView = new View.PirNameView(); 
-                    if (Pir.pirDeviceList.Count > 4)
-                    {
-                        vv.AddChidren(pirNameView.FLayoutView());
-                    }
-                    else
-                    {
-                        pirNameView.frameLayout.Y = Application.GetRealHeight(i * 44);
-                        textFLyout.AddChidren(pirNameView.FLayoutView());
-                    }
-                    pirNameView.btnName.Text = pirJson.name;
-                    pirNameView.btnClick.Tag = pirJson;
-                    pirNameView.btnClick.MouseUpEventHandler += (sender2, e2) =>
-                    {
-                        fLayout.RemoveFromParent();
-                        deviceNameBtn.Text = pirJson.name;
-                        Pir.currPir = pirJson;
-
-                    };
-                    if (Pir.pirDeviceList.Count - 1 == i)
-                    {
-                        ///鏀瑰彉鏈�鍚庨偅鏉′竴涓嚎鐨勯鑹�,鐣岄潰鏄剧ず鏁堟灉浣滅敤;
-                        pirNameView.btnLine.BackgroundColor = CSS.CSS_Color.view;
-                    }
-                }
-
-            };
-
-            #endregion
-            int line = 0;
-            for (int i = 1, j = 0; i <= 7; 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),
-
-                };
-                deviceListFLayout.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 += (sender, e) =>
-                {
-
+                    //鍏抽棴鍏佽宸︽粦
+                    MainPage.BasePageView.ScrollEnabled = true;
                     //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) => {
+                        PirMethod method = new PirMethod();
+                        method.AddControl(this, (control) =>
+                        {
+                            //鎴愬姛鍚庣Щ闄�;
+                            view.RemoveFromParent();
                             AddButton addButton = new AddButton();
                             MainPage.BasePageView.AddChidren(addButton);
                             addButton.Show(control);
@@ -339,245 +116,213 @@
                     }
                     else
                     {
-                        var strings = GetTypeString(if_value).Split('-');
-                        var jobDeviceType = DeviceTypeList.Find((c) => c.deviceType == strings[0]);
-                        if (jobDeviceType == null)
+                        if (if_value == 6)
                         {
+                            new TipPopView().FlashingBox(Language.StringByID(StringId.zanshibuzhichigaigongneng));
                             return;
                         }
-                        GetBrandList(jobDeviceType.id, (brandList) =>
+                        if (DeviceTypeList.Count == 0)
                         {
-                          var brandSupportStrList= GetBrandSupport(if_value);
-                            var strList = new List<string>();
-                            for (int str = 0; str < brandList.Count; str++)
+                            GetDeviceTypeList(true, () =>
                             {
-                                string s = brandList[str].brandName;
-                                var bool_if = brandSupportStrList.Find((c)=>s.Contains(c));
-                                if (bool_if!=null)
-                                {
-                                    strList.Add(s);
-                                }
+                                DeviceTypeViewClick(if_value);
+                                    //鑾峰彇鎴愬姛涔嬪悗绉婚櫎
+                                    view.RemoveFromParent();
 
-                            }
-                            Application.RunOnMainThread(()=> {
-                                BrandList brandObj = new BrandList();
-                                MainPage.BasePageView.AddChidren(brandObj);
-                                brandObj.Show(brandList, strList, strings[1]);
-                                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                             });
-                         
-                        });
-                        
+                        }
+                        else
+                        {
+                            DeviceTypeViewClick(if_value);
+                            view.RemoveFromParent();
+                        }
                     }
+                }, 7);
+            };
+            #endregion
+            ///鍒濆鍖栫晫闈�
+            UIView(vv);
+        }
+        /// <summary>
+        /// 鍔犺浇UI鐣岄潰
+        /// </summary>
+        /// <param name="vv">涓婁笅婊戞帶浠�</param>
+        private void UIView(VerticalRefreshLayout vv)
+        {
+            if (Pir.currPir.FunctioList.Count < 10)
+            {
+                //10涓仴鎺у櫒灏变細闅愯棌娣诲姞鍥炬爣
+                // middFLayout.AddChidren(addDevice);
+                addDevice.Visible = true;
+            }
+            vv.RemoveAll();
+            #region 绾㈠瀹濆浘鏍� 鐗堟湰鍙� 鍚嶇О 鐘舵��
+            FrameLayout fLayout = new FrameLayout
+            {
+                Width = Application.GetRealWidth(375),
+                Height = Application.GetRealHeight(12 + 92 + (50 * Pir.currPir.FunctioList.Count)),
+            };
+            vv.AddChidren(fLayout);
+            View.PirView pirView = new View.PirView();
+            //绾㈠瀹濆悕绉�
+            pirView.deviceNameBtn.Text = Pir.currPir.name;
+            //绾㈠瀹濆綋鍓嶆湁澶氬皯涓仴鎺у櫒
+            pirView.geBtn.Text = Pir.currPir.FunctioList.Count.ToString();
+            //绾㈠瀹濇槸鍚﹀湪绾�-绂荤嚎
+            if (Pir.currPir.online)
+            {
+                pirView.stateIconBtn.IsSelected = true;
+                pirView.stateTextBtn.IsSelected = true;
+                pirView.stateTextBtn.TextID = StringId.zaixian;
+            }
+            else
+            {
+                pirView.stateIconBtn.IsSelected = false;
+                pirView.stateTextBtn.IsSelected = false;
+                pirView.stateTextBtn.TextID = StringId.lixian;
+            }
+            //鏍囪绾㈠瀹�
+            pirView.clickBtn.Tag = Pir.currPir;
+            //鍔犺浇鐣岄潰
+            pirView.Show(Pir.currPir.FunctioList.Count, fLayout);
+            //鏈�鍚庝竴涓悗闈㈠鍔犻棿闅旇儗鏅�
+            vv.AddChidren(new FrameLayout { Height = Application.GetRealHeight(20) });
+            #endregion
 
-                   
+            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);
+                //閬ユ帶鍣ㄥ悕绉�
+                controlView.nameBtn.Text = control.name;
+                //閬ユ帶鍣ㄥ瓨鏀惧尯鍩�
+                controlView.areaBtn.Text = Intelligence.Automation.LogicMethod.CurrLogicMethod.GetGetRoomName(control);
+                //鏍囪閬ユ帶鍣�
+                controlView.delBtn.Tag = control;
+                //鍒犻櫎鐐瑰嚮浜嬩欢
+                controlView.delBtn.MouseUpEventHandler += (sender, e) =>
+                {
+                    var Function = controlView.delBtn.Tag as Entity.Function;
+                    string text = Language.StringByID(StringId.shanchushebei) + Function.name + "?";
+                    TipPopView tipPopView = new TipPopView();
+                    tipPopView.TipBox(StringId.tip, text, (dialog) =>
+                    {
+                        PirMethod.ThreadSend(new Control { deviceId=control.deviceId}, (responsePackNew) =>
+                        {
+                            dialog.Close();
+                            var function = Pir.currPir.FunctioList.Find((c) => c.sid == Function.sid);
+                            if (function != null)
+                            {
+                                Pir.currPir.FunctioList.Remove(Function);
+                            }
+                            UIView(vv);
+                            if (Pir.currPir.FunctioList.Count < 10)
+                            {
+                                //10涓仴鎺у櫒灏变細闅愯棌娣诲姞鍥炬爣
+                                // middFLayout.AddChidren(addDevice);
+                                addDevice.Visible = true;
+                            }
+                        }, "鍒犻櫎", "dialog", null, dialog);
+
+                    }, () => { }, false);
                 };
+                //view鐐瑰嚮浜嬩欢
+                controlView.clickBtn.MouseUpEventHandler += (sender, e) =>
+                {
+                    EditControl editControl = new EditControl();
+                    MainPage.BasePageView.AddChidren(editControl);
+                    editControl.Show(control,(device) =>
+                    {
+                        //鍥炶皟鏇存柊鍚嶅瓧/鍖哄煙
+                        controlView.nameBtn.Text = device.name;
+                        controlView.areaBtn.Text = Intelligence.Automation.LogicMethod.CurrLogicMethod.GetGetRoomName(device);
+
+                    });
+                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+                };
+                if (j == Pir.currPir.FunctioList.Count - 1)
+                {
+                    //鏈�鍚庢敼鍙樹竴涓嚎鐨勯鑹�
+                    controlView.line1Btn.BackgroundColor = CSS.CSS_Color.viewTranslucence;
+                    controlView.funControlRow.LineColor = CSS.CSS_Color.viewTranslucence;
+                }
+
 
             }
-            GetDeviceTypeList();
-          
         }
         /// <summary>
-        /// 鑾峰彇鍝佺墝鏀寔
+        /// 璁惧杩涘叆涓嬩竴绾ф柟娉�
         /// </summary>
-        /// <param name="index">绱㈠紩鍊�</param>
-        private List<string> GetBrandSupport(int index)
+        /// <param name="if_value">鎺т欢绱㈠紩鍊�</param>
+        private void DeviceTypeViewClick(int if_value)
         {
-            List<string> strList = new List<string>();
-            switch (index)
+            var strings = View.Buttons.GetTypeString(if_value).Split('-');
+            var jobDeviceType = DeviceTypeList.Find((c) => c.deviceType == strings[0]);
+            if (jobDeviceType == null)
             {
-                case 1:
-                    {
-                        strList.Add("鏍煎姏");
-                        strList.Add("缇庣殑");
-                        strList.Add("娴峰皵");
-                        strList.Add("鏉句笅");
-                        strList.Add("娴蜂俊");
-                        strList.Add("闀胯櫣");
-                    }
-                    break;
-                case 2:
-                    {
-                        strList.Add("鍒涚淮");
-                        strList.Add("TCL");
-                        strList.Add("娴蜂俊");
-                        strList.Add("闀胯櫣");
-                        strList.Add("娴峰皵");
-                        strList.Add("涓夋槦");
-                        strList.Add("涔愯");
-                        strList.Add("绱㈠凹");
-                        strList.Add("LG涔愰噾");
-                    }
-                    break;
-                case 3:
-                    {
-                    }
-                    break;
-                case 4:
-                    {
-                    }
-                    break;
-                case 5:
-                    {
-                    }
-                    break;
-                case 6:
-                    {
-                    }
-                    break;
-              
-
+                return;
             }
-            return strList;
-        }
-        /// <summary>
-        /// 鑾峰彇璁惧绫诲瀷str
-        /// </summary>
-        /// <param name="index">绱㈠紩鍊�</param>
-        private string GetTypeString(int index)
-        {
-            string type = "";
-            switch (index)
+            GetBrandList(jobDeviceType.id, (brandList) =>
             {
-                case 1:
-                    {
-                        //绌鸿皟
-                        type = "ac-"+SPK.AcIr;
-                    }
-                    break;
-                case 2:
-                    {
-                        //鐢佃
-                        type = "tv-"+SPK.ElectricTV;
-                    }
-                    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;
-            
+                Application.RunOnMainThread(() =>
+                {
+                    BrandList brandObj = new BrandList();
+                    brandObj.Show(brandList, strings[1]);
+                });
 
-            }
-            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>
-        private void GetDeviceTypeList()
+        /// <param name="tag">琛ㄧず瑕佷笉瑕佹彁绀洪敊璇俊鎭紙true=鎻愮ず锛�</param>
+        /// <param name="action">鍥炶皟鍑芥暟</param>
+        public void GetDeviceTypeList(bool tag, Action action)
         {
             PirSend.GetDeviceTypesList(this, (responsePackNew) =>
             {
-
                 if (responsePackNew != null && responsePackNew.Code == "0" && responsePackNew.Data.ToString() != "")
                 {
                     //娓呯┖涔嬪墠鏁版嵁
                     DeviceTypeList.Clear();
-                    var jArray = Newtonsoft.Json.Linq.JArray.Parse(responsePackNew.Data.ToString());
-                    for (int a = 0; a < jArray.Count; a++)
+                    try
                     {
-                        var jay = jArray[a];
-                        var str = Newtonsoft.Json.JsonConvert.SerializeObject(jay);
-                        var objDeviceType = Newtonsoft.Json.JsonConvert.DeserializeObject<DeviceType>(str);
-                        if (objDeviceType != null)
+                        var jArray = Newtonsoft.Json.Linq.JArray.Parse(responsePackNew.Data.ToString());
+                        for (int a = 0; a < jArray.Count; a++)
                         {
-                            if (null == DeviceTypeList.Find((c) => c.id == objDeviceType.id))
+                            var jay = jArray[a];
+                            var str = Newtonsoft.Json.JsonConvert.SerializeObject(jay);
+                            var objDeviceType = Newtonsoft.Json.JsonConvert.DeserializeObject<DeviceType>(str);
+                            if (objDeviceType != null)
                             {
-                                DeviceTypeList.Add(objDeviceType);
+                                if (null == DeviceTypeList.Find((c) => c.id == objDeviceType.id))
+                                {
+                                    DeviceTypeList.Add(objDeviceType);
+                                }
                             }
                         }
+                        action();
+                    }
+                    catch
+                    {
+
                     }
                 }
                 else
                 {
-                    Method method = new Method();
-                    method.ErrorShow(responsePackNew);
+                    if (tag)
+                    {
+                        PirMethod method = new PirMethod();
+                        method.ErrorShow(responsePackNew, "");
+                    }
                 }
             }, "", "璁惧绫诲瀷鍒楄〃");
         }
-
         /// <summary>
         /// 璇诲彇绾㈠璁惧绫诲瀷鐨勫搧鐗屽垪琛�
         /// </summary>
-        private void GetBrandList(string id,Action<List<Brand>> actionBrand)
+        public void GetBrandList(string id, Action<List<Brand>> actionBrand)
         {
             List<Brand> brandList = new List<Brand>();
             PirSend.GetDeviceTypesList(this, (responsePackNew) =>
@@ -587,97 +332,48 @@
                 {
                     //娓呯┖涔嬪墠鏁版嵁
                     brandList.Clear();
-                    var jArray = Newtonsoft.Json.Linq.JArray.Parse(responsePackNew.Data.ToString());
-                    for (int a = 0; a < jArray.Count; a++)
+                    try
                     {
-                        var jay = jArray[a];
-                        var str = Newtonsoft.Json.JsonConvert.SerializeObject(jay);
-                        var brand = Newtonsoft.Json.JsonConvert.DeserializeObject<Brand>(str);
-                        if (brand != null)
+                        var jArray = Newtonsoft.Json.Linq.JArray.Parse(responsePackNew.Data.ToString());
+                        for (int a = 0; a < jArray.Count; a++)
                         {
-                            if (null == brandList.Find((c) => c.id == brand.id))
+                            var jay = jArray[a];
+                            var str = Newtonsoft.Json.JsonConvert.SerializeObject(jay);
+                            var brand = Newtonsoft.Json.JsonConvert.DeserializeObject<Brand>(str);
+                            if (brand != null)
                             {
-                                brandList.Add(brand);
+                                if (null == brandList.Find((c) => c.id == brand.id))
+                                {
+                                    brandList.Add(brand);
+                                }
                             }
                         }
                     }
-                    actionBrand(brandList);
+                    catch { }
+                    finally
+                    {
+                        Application.RunOnMainThread(() =>
+                        {
+                            actionBrand(brandList);
+                        });
+                    }
                 }
                 else
                 {
-                    Method method = new Method();
-                    method.ErrorShow(responsePackNew);
+                    PirMethod method = new PirMethod();
+                    method.ErrorShow(responsePackNew, "");
                 }
             }, id, "鍝佺墝鍒楄〃");
         }
-
-       
         /// <summary>
-        /// 鑾峰彇绾㈠璁惧鍒楄〃
+        /// 绉婚櫎鐣岄潰
         /// </summary>
-        private void GetPirDeviceList( )
+        public override void RemoveFromParent()
         {
-
-            //鍔犺浇log
-            Loading loading = new Loading();
-            this.AddChidren(loading);
-            HDL_ON.DAL.Server.ResponsePackNew responsePackNew = null;
-            loading.Start();
-            new System.Threading.Thread(() =>
-            {
-                try
-                {
-                    responsePackNew = PirSend.GetDeviceList("ir.module");
-                }
-                catch { }
-                finally
-                {
-                    Application.RunOnMainThread(() =>
-                    {
-                        loading.Hide();
-                        try { 
-                        if (responsePackNew != null && responsePackNew.Code == "0" && responsePackNew.Data.ToString() != "")
-                        {
-                            var jobject = Newtonsoft.Json.Linq.JObject.Parse(responsePackNew.Data.ToString());
-                            string list = jobject["list"].ToString();
-
-                            var jArray = Newtonsoft.Json.Linq.JArray.Parse(list);
-                            for (int a = 0; a < jArray.Count; a++)
-                            {
-                                var jay = jArray[a];
-                                string spk = jay["spk"].ToString();
-                                if (spk == "ir.module")
-                                {
-                                    //鏁版嵁杩斿簭鍒楀寲涓篖ogic瀵硅薄
-                                    var str = Newtonsoft.Json.JsonConvert.SerializeObject(jay);
-                                    var pirJosn = Newtonsoft.Json.JsonConvert.DeserializeObject<Pir>(str);
-                                    if (pirJosn != null)
-                                    {
-                                        if (null == Pir.pirDeviceList.Find((c) => c.deviceId == pirJosn.deviceId))
-                                        {
-
-                                            Pir.pirDeviceList.Add(pirJosn);
-                                        }
-                                    }
-                                }
-
-                            }
-                        }
-                        else
-                        {
-                            Method method = new Method();
-                            method.ErrorShow(responsePackNew);
-                        }
-                        }
-                        catch { }
-
-                    });
-                }
-
-            })
-            { IsBackground = true }.Start();
+            BackAction();
+            base.RemoveFromParent();
         }
 
     }
-  
+
 }

--
Gitblit v1.8.0