From 263401d40b2d9d2c1b36a24f33d45c5cb7192518 Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期三, 23 十二月 2020 15:51:54 +0800
Subject: [PATCH] 20201223-6

---
 HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs |  701 ++++++++--------------------------------------------------
 1 files changed, 96 insertions(+), 605 deletions(-)

diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs
index 8154407..11fe439 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs
@@ -105,211 +105,76 @@
                         ///娓╁害鐐瑰嚮浜嬩欢
                         temperatureView.btnClick.MouseUpEventHandler += (sender, e) =>
                         {
-                            FrameLayout frame = new FrameLayout
-                            {
-                                BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
-                            };
-                            this.AddChidren(frame);
-                            LogicView.TimeView view = new LogicView.TimeView();
-                            view.FLayoutView(frame);
-                            EventHandler<MouseEventArgs> removefLayout = (sender1, e1) =>
-                            {
-                                //绉婚櫎fLayout鐣岄潰
-                                frame.RemoveFromParent();
-                            };
-                            //鍙栨秷鐐瑰嚮浜嬩欢
-                            view.btnCancel.MouseUpEventHandler += removefLayout;
-
-                            //鍒濆鍖栧垪琛�
-                            var temperatureList = new List<string>();
-                            for (int i = 16; i < 32; i++)
-                            {
-                                //娣诲姞鏁版嵁
-                                temperatureList.Add(i.ToString() + "鈩�");
-                                temperatureList.Add((i + 0.5).ToString() + "鈩�");
-
-                            }
-
-                            //鍔犺浇鏁版嵁鐣岄潰鐨勮缃柟娉�(鍒楄〃浜掍笉鑱斿姩)
-                            view.mUIPickerView.setNPicker(temperatureList, null, null);
-                            //榛樿鍒濆閫変腑鐘舵��
-                            view.mUIPickerView.setCurrentItems(9, 0, 0);
-                            //瀹氫箟涓�涓眬閮ㄥ彉閲忚褰曢�変腑鏃堕棿
-                            string temperature = "25鈩�";
-                            for (int i = 0; i < temperatureList.Count; i++)
-                            {
-                                if (temperatureList[i] == temperatureView.btnState.Text)
-                                {
-                                    //鏇存柊鐘舵��
-                                    view.mUIPickerView.setCurrentItems(i, 0, 0);
-                                    //鏇存柊鐘舵��
-                                    temperature = temperatureList[i];
-                                    break;
-                                }
-                            }
-                            //閫変腑鏃堕棿鍥炶皟鏂规硶,鏃堕棿鍙樺寲涓�娆″洖璋冧竴娆�
-                            view.mUIPickerView.OnSelectChangeEvent += (index1, index2, index3) =>
-                            {
-                                temperature = temperatureList[index1];
-                            };
-                            //纭畾鐐瑰嚮浜嬩欢
-                            view.btnConfirm.MouseUpEventHandler += (sender2, e2) =>
-                            {
-                                Dictionary<string, string> dic = new Dictionary<string, string>();
-                                LogicMethod.dictionary(dic, "key", "set_temp");
+                            ///涔嬪墠鐨勭姸鎬佹枃鏈�
+                            string tempValue = temperatureView.btnState.Text;
+                            LogicView.TemperatureView tempView= new LogicView.TemperatureView();
+                            tempView.FLayoutView(this, tempValue,(stateStr)=> {
+                                //鐣岄潰鏄剧ず閫変腑鍊�
+                                temperatureView.btnState.Text = stateStr;
+                                //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�;
                                 string keyVlaue = "set_temp";
-                                string set_temp_value = temperature.Replace("鈩�", "");
+                                selectedState = device.functionType + "_"+ keyVlaue;
+                                string set_temp_value = stateStr.Replace("鈩�", "");
+                                //鏁版嵁灏佽
+                                Dictionary<string, string> dic = new Dictionary<string, string>();
+                                LogicMethod.dictionary(dic, "key", keyVlaue);
                                 LogicMethod.dictionary(dic, "value", set_temp_value);
                                 AddDictionaryData(dicSateteList, keyVlaue, dic);
-                                selectedState = device.functionType + "_set_temp";
-                                RemView(frame);
-                                temperatureView.btnState.Text = temperature;
+                            });
 
 
-                            };
                         };
                         ///妯″紡鐐瑰嚮浜嬩欢
                         acModehView.btnClick.MouseUpEventHandler += (sender, e) =>
                         {
+                            ///涔嬪墠鐨勭姸鎬佹枃鏈�
+                            string currText = acModehView.btnState.Text;
+                            //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�;
+                            string keyVlaue = "mode";
+                            selectedState = device.functionType + "_"+keyVlaue;
+                            PublicInterface modeView = new PublicInterface();
+                            var modeListStr=  modeView.GetViewList(keyVlaue);
+                            modeView.SingleSelectionShow(this, modeListStr, Language.StringByID(StringId.modeLogic), currText
+                               , (stateValue) =>
+                               {
+                                   //鐣岄潰鏄剧ず閫変腑鍊�
+                                   acModehView.btnState.Text = stateValue;
+                                   //鏁版嵁灏佽
+                                   Dictionary<string, string> dic = new Dictionary<string, string>();
+                                   LogicMethod.dictionary(dic, "key", keyVlaue);
+                                   LogicMethod.dictionary(dic, "value", modeView.GetModeValueString(stateValue, keyVlaue));
+                                   AddDictionaryData(dicSateteList, keyVlaue, dic);
 
-                            List<string> modeStr = new List<string> {
-                                Language.StringByID(StringId.coolLogic),
-                                 Language.StringByID(StringId.heatingLogic),
-                                  Language.StringByID(StringId.autoLogic),
-                                   Language.StringByID(StringId.dehumidifyLogic),
-                            };
-                            FrameLayout frame = new FrameLayout
-                            {
-                                BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
-                            };
-                            this.AddChidren(frame);
-                            LogicView.DateView modeView = new LogicView.DateView();
-                            modeView.btnTitle.TextID = StringId.modeLogic;
-                            modeView.FLayoutView(frame, modeStr.Count);
-                            modeView.btnCancel.MouseUpEventHandler += (sender2, e2) =>
-                            {
-                                frame.RemoveFromParent();
-                            };
-                            ///瀹氫箟涓�涓狟tn璁板綍閫変腑鐘舵��
-                            Button checkBtn = new Button
-                            {
-                                Tag = "unknown",
-                            };
-                            for (int i = 0; i < modeStr.Count; i++)
-                            {
-                                LogicView.CheckView modeTypeView = new LogicView.CheckView();
-                                modeTypeView.frameLayout.Y = Application.GetRealHeight(56 + 50 * i);
-                                modeView.frameLayout.AddChidren(modeTypeView.FLayoutView());
-                                modeTypeView.btnText.Text = modeStr[i];
-                                modeTypeView.btnClick.Tag = modeStr[i];//鏍囪
+                               });
 
-                                if (acModehView.btnState.Text == modeStr[i])
-                                {
-                                    //鏄剧ず涔嬪墠鐨勯�変腑鐘舵��
-                                    checkBtn.IsSelected = false;
-                                    modeTypeView.btnCheckIcon.IsSelected = true;
-                                    checkBtn = modeTypeView.btnCheckIcon;
-                                    checkBtn.Tag = modeTypeView.btnClick.Tag.ToString();
-                                }
-                                //鏄熸湡鐨勭偣鍑讳簨浠�
-                                modeTypeView.btnClick.MouseUpEventHandler += (sender1, e1) =>
-                                {
-                                    checkBtn.IsSelected = false;
-                                    modeTypeView.btnCheckIcon.IsSelected = true;
-                                    checkBtn = modeTypeView.btnCheckIcon;
-                                    checkBtn.Tag = modeTypeView.btnClick.Tag.ToString();
-                                };
-
-                            }
-                            modeView.btnConfirm.MouseUpEventHandler += (sender1, e1) =>
-                            {
-                                if (checkBtn.Tag.ToString() == "unknown")
-                                {
-                                    return;
-                                }
-
-                                Dictionary<string, string> dic = new Dictionary<string, string>();
-                                LogicMethod.dictionary(dic, "key", "mode");
-                                string keyVlaue = "mode";
-                                LogicMethod.dictionary(dic, "value", GetModeValueString(checkBtn.Tag.ToString(), keyVlaue));
-                                acModehView.btnState.Text = checkBtn.Tag.ToString();
-                                selectedState = device.functionType + "_mode";
-                                AddDictionaryData(dicSateteList, keyVlaue, dic);
-                                RemView(frame);
-                            };
                         };
                         ///椋庨�熺偣鍑讳簨浠�
                         acSpeedView.btnClick.MouseUpEventHandler += (sender, e) =>
                         {
 
-                            List<string> speedStr = new List<string> {
-                                Language.StringByID(StringId.LowWindSpeed),
-                                 Language.StringByID(StringId.MiddleWindSpeed),
-                                  Language.StringByID(StringId.HighWindSpeed),
-                                   Language.StringByID(StringId.Auto),
-                            };
-                            FrameLayout frame = new FrameLayout
-                            {
-                                BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
-                            };
-                            this.AddChidren(frame);
-                            LogicView.DateView speedView = new LogicView.DateView();
-                            speedView.btnTitle.TextID = StringId.modeLogic;
-                            speedView.FLayoutView(frame, speedStr.Count);
-                            speedView.btnCancel.MouseUpEventHandler += (sender2, e2) =>
-                            {
-                                frame.RemoveFromParent();
-                            };
-                            ///瀹氫箟涓�涓狟tn璁板綍閫変腑鐘舵��
-                            Button checkBtn = new Button
-                            {
-                                Tag = "unknown",
-                            };
-                            for (int i = 0; i < speedStr.Count; i++)
-                            {
-                                LogicView.CheckView speedTypeView = new LogicView.CheckView();
-                                speedTypeView.frameLayout.Y = Application.GetRealHeight(56 + 50 * i);
-                                speedView.frameLayout.AddChidren(speedTypeView.FLayoutView());
-                                speedTypeView.btnText.Text = speedStr[i];
-                                speedTypeView.btnClick.Tag = speedStr[i];//鏍囪
+                            ///涔嬪墠鐨勭姸鎬佹枃鏈�
+                            string currText = acSpeedView.btnState.Text;
+                            //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�;
+                            string keyVlaue = "fan";
+                            selectedState = device.functionType + "_" + keyVlaue;
+                            PublicInterface speedView = new PublicInterface();
+                            var speedListStr = speedView.GetViewList(keyVlaue);
+                            speedView.SingleSelectionShow(this, speedListStr, Language.StringByID(StringId.speedLogic), currText
+                               , (stateValue) =>
+                               {
+                                   //鐣岄潰鏄剧ず閫変腑鍊�
+                                   acSpeedView.btnState.Text = stateValue;
+                                   //鏁版嵁灏佽
+                                   Dictionary<string, string> dic = new Dictionary<string, string>();
+                                   LogicMethod.dictionary(dic, "key", keyVlaue);
+                                   LogicMethod.dictionary(dic, "value", speedView.GetModeValueString(stateValue, keyVlaue));
+                                   AddDictionaryData(dicSateteList, keyVlaue, dic);
 
-                                if (acSpeedView.btnState.Text == speedStr[i])
-                                {
-                                    //鏄剧ず涔嬪墠鐨勯�変腑鐘舵��
-                                    checkBtn.IsSelected = false;
-                                    speedTypeView.btnCheckIcon.IsSelected = true;
-                                    checkBtn = speedTypeView.btnCheckIcon;
-                                    checkBtn.Tag = speedTypeView.btnClick.Tag.ToString();
-                                }
-                                //鏄熸湡鐨勭偣鍑讳簨浠�
-                                speedTypeView.btnClick.MouseUpEventHandler += (sender1, e1) =>
-                                {
-                                    checkBtn.IsSelected = false;
-                                    speedTypeView.btnCheckIcon.IsSelected = true;
-                                    checkBtn = speedTypeView.btnCheckIcon;
-                                    checkBtn.Tag = speedTypeView.btnClick.Tag.ToString();
-                                };
-
-                            }
-                            speedView.btnConfirm.MouseUpEventHandler += (sender1, e1) =>
-                            {
-                                if (checkBtn.Tag.ToString() == "unknown")
-                                {
-                                    return;
-                                }
-
-                                Dictionary<string, string> dic = new Dictionary<string, string>();
-                                LogicMethod.dictionary(dic, "key", "fan");
-                                string keyVlaue = "fan";
-                                LogicMethod.dictionary(dic, "value", GetModeValueString(checkBtn.Tag.ToString(), keyVlaue));
-                                acSpeedView.btnState.Text = checkBtn.Tag.ToString();
-                                selectedState = device.functionType + "_fan";
-                                AddDictionaryData(dicSateteList, keyVlaue, dic);
-                                RemView(frame);
-                            };
+                               });
                         };
                         if (edit)
                         {
+                            //鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬�
                             GetEditState(device, index, acSwitchVie.btnState, temperatureView.btnState, acModehView.btnState, acSpeedView.btnState);
                         }
 
@@ -347,102 +212,53 @@
                         ///娓╁害鐐瑰嚮浜嬩欢
                         temperatureView.btnClick.MouseUpEventHandler += (sender, e) =>
                         {
-                            FrameLayout frame = new FrameLayout
-                            {
-                                BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
-                            };
-                            this.AddChidren(frame);
-                            LogicView.TimeView view = new LogicView.TimeView();
-                            view.FLayoutView(frame);
-                            EventHandler<MouseEventArgs> removefLayout = (sender1, e1) =>
-                            {
-                                //绉婚櫎fLayout鐣岄潰
-                                frame.RemoveFromParent();
-                            };
-                            //鍙栨秷鐐瑰嚮浜嬩欢
-                            view.btnCancel.MouseUpEventHandler += removefLayout;
-
-                            //鍒濆鍖栧垪琛�
-                            var temperatureList = new List<string>();
-                            for (int i = 16; i < 32; i++)
-                            {
-                                //娣诲姞鏁版嵁
-                                temperatureList.Add(i.ToString() + "鈩�");
-                                temperatureList.Add((i + 0.5).ToString() + "鈩�");
-
-                            }
-
-                            //鍔犺浇鏁版嵁鐣岄潰鐨勮缃柟娉�(鍒楄〃浜掍笉鑱斿姩)
-                            view.mUIPickerView.setNPicker(temperatureList, null, null);
-
-                            //榛樿鍒濆閫変腑鐘舵��
-                            view.mUIPickerView.setCurrentItems(9, 0, 0);
-                            //瀹氫箟涓�涓眬閮ㄥ彉閲忚褰曢�変腑鏃堕棿
-                            string temperature = "25鈩�";
-                            for (int i = 0; i < temperatureList.Count; i++)
-                            {
-                                if (temperatureList[i] == temperatureView.btnState.Text)
-                                {
-                                    //鏇存柊鐘舵��
-                                    view.mUIPickerView.setCurrentItems(i, 0, 0);
-                                    //鏇存柊鐘舵��
-                                    temperature = temperatureList[i];
-                                    break;
-                                }
-                            }
-                            //閫変腑鏃堕棿鍥炶皟鏂规硶,鏃堕棿鍙樺寲涓�娆″洖璋冧竴娆�
-                            view.mUIPickerView.OnSelectChangeEvent += (index1, index2, index3) =>
-                            {
-                                temperature = temperatureList[index1];
-                            };
-                            //纭畾鐐瑰嚮浜嬩欢
-                            view.btnConfirm.MouseUpEventHandler += (sender2, e2) =>
-                            {
-                                Dictionary<string, string> dic = new Dictionary<string, string>();
-                                LogicMethod.dictionary(dic, "key", "set_temp");
+                            string tempValue = temperatureView.btnState.Text;
+                            LogicView.TemperatureView tempView = new LogicView.TemperatureView();
+                            tempView.FLayoutView(this, tempValue, (stateStr) => {
+                                //鐣岄潰鏄剧ず閫変腑鍊�
+                                temperatureView.btnState.Text = stateStr;
+                                //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�;
                                 string keyVlaue = "set_temp";
-                                string set_temp_value = temperature.Replace("鈩�", "");
+                                selectedState = device.functionType + "_"+ keyVlaue;
+                                string set_temp_value = stateStr.Replace("鈩�", "");
+                                //鏁版嵁灏佽
+                                Dictionary<string, string> dic = new Dictionary<string, string>();
+                                LogicMethod.dictionary(dic, "key", keyVlaue);
                                 LogicMethod.dictionary(dic, "value", set_temp_value);
-                                selectedState = device.functionType + "_set_temp";
                                 AddDictionaryData(dicSateteList, keyVlaue, dic);
-                                RemView(frame);
-                                temperatureView.btnState.Text = temperature;
 
-                            };
+                            });
+                           
                         };
                         ///妯″紡鐐瑰嚮浜嬩欢
                         floorHeatingModehView.btnClick.MouseUpEventHandler += (sender, e) =>
                         {
-                            FrameLayout frame = new FrameLayout
-                            {
-                                BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
-                            };
-                            this.AddChidren(frame);
-                            List<string> modeStr = new List<string> {
-                                Language.StringByID(StringId.dayMode),
-                                 Language.StringByID(StringId.nightMode),
-                                  Language.StringByID(StringId.leaveMode),
-                                   Language.StringByID(StringId.ordinaryMode),
-                                Language.StringByID(StringId.timeMode),
-                            };
+                           
+                           
                             ///涔嬪墠鐨勭姸鎬佹枃鏈�
                             string currText= floorHeatingModehView.btnState.Text;
+                            //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�;
+                            string keyVlaue = "mode";
+                            selectedState = device.functionType + "_"+ keyVlaue;
+
                             PublicInterface modeView = new PublicInterface();
-                            modeView.SingleSelectionShow(frame, modeStr, Language.StringByID(StringId.modeLogic), currText
+                            var modeListStr = modeView.GetViewList("floorheatingmode");
+                            modeView.SingleSelectionShow(this, modeListStr, Language.StringByID(StringId.modeLogic), currText
                                , (stateValue) =>
                                {
-                                   string keyVlaue = "mode";
-                                   Dictionary<string, string> dic = new Dictionary<string, string>();
-                                   LogicMethod.dictionary(dic, "key", "mode");
-                                   LogicMethod.dictionary(dic, "value", GetModeValueString(stateValue, "FloorHeating"));
-                                   AddDictionaryData(dicSateteList, keyVlaue, dic);
+                                   //鐣岄潰鏄剧ず閫変腑鍊�
                                    floorHeatingModehView.btnState.Text = stateValue;
-                                   selectedState = device.functionType + "_mode";
+                                   //鏁版嵁灏佽
+                                   Dictionary<string, string> dic = new Dictionary<string, string>();
+                                   LogicMethod.dictionary(dic, "key", keyVlaue);
+                                   LogicMethod.dictionary(dic, "value", modeView.GetModeValueString(stateValue, "floorheatingmode"));
+                                   AddDictionaryData(dicSateteList, keyVlaue, dic);
                                });
 
                         };
                         if (edit)
                         {
+                            //鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬�
                             GetEditState(device, index, floorHeatingSwitchVie.btnState, temperatureView.btnState, floorHeatingModehView.btnState, null);
                         }
 
@@ -452,7 +268,7 @@
 
             }
             #endregion
-            #region  淇濆瓨鐐瑰嚮鏃堕棿
+            #region  淇濆瓨鐐瑰嚮浜嬩欢
             saveView.btnClick.MouseUpEventHandler += (sen, e) =>
             {
 
@@ -474,7 +290,8 @@
                                 {
                                     foreach (var dictionary in dicSateteList)
                                     {
-                                        if (dictionary["key"] == "on_off")
+                                        string keyValue = dictionary["key"];
+                                        if (keyValue == "on_off")
                                         {
                                             if (dictionary["value"] == "off")
                                             {
@@ -555,84 +372,7 @@
             #endregion
 
         }
-        /// <summary>
-        /// 鑾峰彇妯″紡/椋庨�熼敭鍊�
-        /// </summary>
-        /// <param name="text"></param>
-        /// <param name="type"></param>
-        /// <returns></returns>
-        private string GetModeValueString(string text, string type)
-        {
-            string str = "";
-            switch (type)
-            {
-                case "mode":
-                    {
-                        if (text == Language.StringByID(StringId.coolLogic))
-                        {
-                            str = "cool";
-                        }
-                        else if (text == Language.StringByID(StringId.heatingLogic))
-                        {
-                            str = "heat";
-                        }
-                        else if (text == Language.StringByID(StringId.autoLogic))
-                        {
-                            str = "auto";
-                        }
-                        else if (text == Language.StringByID(StringId.dehumidifyLogic))
-                        {
-                            str = "dry";
-                        }
-                    }
-                    break;
-                case "fan":
-                    {
-                        if (text == Language.StringByID(StringId.HighWindSpeed))
-                        {
-                            str = "high";
-                        }
-                        else if (text == Language.StringByID(StringId.MiddleWindSpeed))
-                        {
-                            str = "medium";
-                        }
-                        else if (text == Language.StringByID(StringId.LowWindSpeed))
-                        {
-                            str = "low";
-                        }
-                        else if (text == Language.StringByID(StringId.Auto))
-                        {
-                            str = "auto";
-                        }
-                    }
-                    break;
-                case "FloorHeating":
-                    {
-                        if (text == Language.StringByID(StringId.dayMode))
-                        {
-                            str = "day";
-                        }
-                        else if (text == Language.StringByID(StringId.nightMode))
-                        {
-                            str = "night";
-                        }
-                        else if (text == Language.StringByID(StringId.leaveMode))
-                        {
-                            str = "away";
-                        }
-                        else if (text == Language.StringByID(StringId.ordinaryMode))
-                        {
-                            str = "normal";
-                        }
-                        else if (text == Language.StringByID(StringId.timeMode))
-                        {
-                            str = "timer";
-                        }
-                    }
-                    break;
-            }
-            return str;
-        }
+       
         /// <summary>
         ///寮�鍏�=鐣岄潰
         /// </summary>
@@ -657,6 +397,7 @@
             };
             if (edit)
             {
+                //鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬�
                 GetEditState(device, index, curtainSwitchView.btnState, null, null, null);
             }
             #endregion
@@ -704,6 +445,7 @@
             };
             if (edit)
             {
+                //鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬�
                 GetEditState(device, index, lightSwitchView.btnState, brightnessView.btnState, null, null);
             }
             #endregion
@@ -739,13 +481,15 @@
                             id = StringId.stop;
                         } break;
                 }
+                //鐣岄潰鏄剧ず閫変腑鍊�
                 button.TextID = id;
+                selectedState = device.functionType + "_" + strValue;
+                string keyVlaue = "on_off";
+                //鏁版嵁灏佽
                 Dictionary<string, string> dic = new Dictionary<string, string>();
                 LogicMethod.dictionary(dic, "key", "on_off");
-                string keyVlaue = "on_off";
                 LogicMethod.dictionary(dic, "value", strValue);
                 AddDictionaryData(dicSateteList, keyVlaue, dic);
-                selectedState = device.functionType + "_" + strValue;
 
             });
             #endregion
@@ -763,12 +507,16 @@
                 BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
             };
             this.AddChidren(frame);
+            string stateVlaue = button.Text;
             LogicView.BrightnessView brightness = new LogicView.BrightnessView();
-            brightness.FLayoutView(frame, titleName, button.Text, (brightnesValue) =>
+            brightness.FLayoutView(frame, titleName, stateVlaue, (brightnesValue) =>
             {
+                //鐣岄潰鏄剧ず閫変腑鍊�
                 button.Text = brightnesValue+"%";
-                Dictionary<string, string> dic = new Dictionary<string, string>();
                 string keyVlaue = "";
+                selectedState = device.functionType + brightnesValue.ToString();
+                //鏁版嵁灏佽
+                Dictionary<string, string> dic = new Dictionary<string, string>();
                 switch (device.functionType)
                 {
                     //寮�鍏崇伅鍏� light.Switch
@@ -791,18 +539,9 @@
                 }
                 LogicMethod.dictionary(dic, "value", brightnesValue.ToString());
                 AddDictionaryData(dicSateteList, keyVlaue, dic);
-                selectedState = device.functionType + brightnesValue.ToString();
             });
             #endregion
 
-        }
-        /// <summary>
-        /// 绉婚櫎鎺т欢
-        /// </summary>
-        /// <param name="frame"></param>
-        private void RemView(FrameLayout frame)
-        {
-            frame.RemoveFromParent();
         }
         /// <summary>
         /// 鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬�
@@ -824,256 +563,7 @@
                 //鏈夋暟鎹噸鏂拌祴鍊�
                 dicSateteList = dicList;
             }
-            switch (device.functionType)
-            {
-                //寮�鍏崇伅鍏�
-                case FunctionType.Relay:
-                    {
-                        foreach (var dic in dicList)
-                        {
-                            string value = dic["value"];
-                            if (value == "on")
-                            {
-                                button1.Text = Language.StringByID(StringId.onLogic);
-                            }
-                            else
-                            {
-                                button1.Text = Language.StringByID(StringId.offLogic);
-                            }
-                        }
-                    }
-                    break;
-                case FunctionType.Dimmer:
-                case FunctionType.RGB:
-                case FunctionType.RGBW:
-                case FunctionType.ColorTemperature:
-                    {
-                        foreach (var dic in dicList)
-                        {
-                            string value = dic["value"];
-                            switch (dic["key"])
-                            {
-                                case "on_off":
-                                    {
-                                        if (value == "on")
-                                        {
-                                            button1.Text = Language.StringByID(StringId.onLogic);
-                                        }
-                                        else
-                                        {
-                                            button1.Text = Language.StringByID(StringId.offLogic);
-                                        }
-                                    }
-                                    break;
-                                case "brightness":
-                                    {
-
-                                        button2.Text = value+"%";
-                                    }
-                                    break;
-                            }
-
-                        }
-                    }
-                    break;
-                case FunctionType.Curtain:
-                case FunctionType.MotorCurtain:
-                case FunctionType.RollingShutter:
-                    {
-                        foreach (var dic in dicList)
-                        {
-                            string value = dic["value"];
-                            switch (value)
-                            {
-                                case "on":
-                                    {
-                                        button1.Text = Language.StringByID(StringId.onLogic);
-                                    }
-                                    break;
-                                case "off":
-                                    {
-                                        button1.Text = Language.StringByID(StringId.offLogic);
-                                    }
-                                    break;
-                                case "stop":
-                                    {
-                                        button1.Text = Language.StringByID(StringId.stop);
-                                    }
-                                    break;
-                            }
-                        }
-                    }
-                    break;
-                case FunctionType.AC:
-                    {
-                        foreach (var dic in dicList)
-                        {
-                            string value = dic["value"];
-                            switch (dic["key"])
-                            {
-                                case "on_off":
-                                    {
-                                        switch (value)
-                                        {
-                                            case "on":
-                                                {
-                                                    button1.Text = Language.StringByID(StringId.onLogic);
-                                                }
-                                                break;
-                                            case "off":
-                                                {
-                                                    button1.Text = Language.StringByID(StringId.offLogic);
-                                                }
-                                                break;
-                                        }
-                                    }
-                                    break;
-                                case "set_temp":
-                                    {
-                                        button2.Text = value + "鈩�";
-                                    }
-                                    break;
-                                case "mode":
-                                    {
-                                        switch (value)
-                                        {
-                                            case "cool":
-                                                {
-                                                    button3.Text = Language.StringByID(StringId.coolLogic);
-                                                }
-                                                break;
-                                            case "heat":
-                                                {
-                                                    button3.Text = Language.StringByID(StringId.heatingLogic);
-                                                }
-                                                break;
-                                            case "auto":
-                                                {
-                                                    button3.Text = Language.StringByID(StringId.autoLogic);
-                                                }
-                                                break;
-                                            case "dry":
-                                                {
-                                                    button3.Text = Language.StringByID(StringId.dehumidifyLogic);
-                                                }
-                                                break;
-                                        }
-
-
-
-                                    }
-                                    break;
-                                case "fan":
-                                    {
-                                        switch (value)
-                                        {
-                                            case "high":
-                                                {
-                                                    button4.Text = Language.StringByID(StringId.HighWindSpeed);
-                                                }
-                                                break;
-                                            case "medium":
-                                                {
-                                                    button4.Text = Language.StringByID(StringId.MiddleWindSpeed);
-                                                }
-                                                break;
-                                            case "low":
-                                                {
-                                                    button4.Text = Language.StringByID(StringId.LowWindSpeed);
-                                                }
-                                                break;
-                                            case "auto":
-                                                {
-                                                    button4.Text = Language.StringByID(StringId.Auto);
-                                                }
-                                                break;
-                                        }
-
-
-                                    }
-                                    break;
-
-
-                            }
-
-                        }
-
-                    }
-                    break;
-                case FunctionType.FloorHeating:
-                    {
-
-                        foreach (var dic in dicList)
-                        {
-                            string value = dic["value"];
-                            switch (dic["key"])
-                            {
-                                case "on_off":
-                                    {
-                                        switch (value)
-                                        {
-                                            case "on":
-                                                {
-                                                    button1.Text = Language.StringByID(StringId.onLogic);
-                                                }
-                                                break;
-                                            case "off":
-                                                {
-                                                    button1.Text = Language.StringByID(StringId.offLogic);
-                                                }
-                                                break;
-                                        }
-                                    }
-                                    break;
-                                case "set_temp":
-                                    {
-                                        button2.Text = value + "鈩�";
-                                    }
-                                    break;
-                                case "mode":
-                                    {
-                                        switch (value)
-                                        {
-                                            case "day":
-                                                {
-                                                    button3.Text = Language.StringByID(StringId.dayMode);
-                                                }
-                                                break;
-                                            case "night":
-                                                {
-                                                    button3.Text = Language.StringByID(StringId.nightMode);
-                                                }
-                                                break;
-
-                                            case "away":
-                                                {
-                                                    button3.Text = Language.StringByID(StringId.leaveMode);
-                                                }
-                                                break;
-                                            case "normal":
-                                                {
-                                                    button3.Text = Language.StringByID(StringId.ordinaryMode);
-                                                }
-                                                break;
-                                            case "timer":
-                                                {
-                                                    button3.Text = Language.StringByID(StringId.timeMode);
-                                                }
-                                                break;
-                                        }
-
-
-
-                                    }
-                                    break;
-
-                            }
-
-                        }
-
-                    }
-                    break;
-            }
+            InpOrOutLogicMethod.EditState(device, dicList, button1, button2, button3, button4);
         }
         /// <summary>
         /// 娣诲姞澶勭悊閫変腑鏁版嵁
@@ -1137,6 +627,7 @@
             }
 
         }
+     
 
 
     }

--
Gitblit v1.8.0