From 23bbed132eea46eef51c6d01c21b346238e29ee2 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期四, 30 六月 2022 13:39:12 +0800
Subject: [PATCH] Merge branch 'wxr0114' into V1.5.9

---
 SiriIntents/SiriIntents.csproj                                                     |    8 
 DLL/LC/Android/Shared.Droid.LCVideoSDK.dll                                         |    0 
 HDL-ON_Android/Assets/Language.ini                                                 |   68 
 DLL/Linphone/iOS/Shared.IOS.HDLLinphoneSDK.dll                                     |    0 
 HDL_ON/Common/ApiUtlis.cs                                                          |   43 
 HDL_ON/UI/UI2/FuntionControlView/ArmCenter/AddOutputPage.cs                        |  233 
 HDL_ON/HDL_ON.projitems                                                            |    7 
 HDL_ON/UI/UI2/FuntionControlView/Music/SendMethod.cs                               |   23 
 HDL_ON/Entity/Function/Sensor.cs                                                   |  123 
 HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs                                            |  200 
 HDL-ON_iOS/HDL-ON_iOS.sln                                                          |   31 
 HDL_ON/DAL/Server/NewApiRes.cs                                                     |   44 
 HDL_ON/UI/UI2/FuntionControlView/Curtain/RollingShutterPageBLL.cs                  |   60 
 HDL-ON_Android/Resources/Resource.designer.cs                                      | 6030 +++++++++++-----------
 HDL_ON/UI/UI0-Public/PublicAssmebly.cs                                             |   93 
 HDL-ON_Android/Other/JPush/JPushFirmBroadcast.cs                                   |    8 
 HDL-ON_iOS/mono_crash.824c6d50c.0.json                                             |  406 +
 HDL_ON/UI/UI2/FuntionControlView/Video/VideoSend.cs                                |   38 
 HDL_ON/UI/UI2/FuntionControlView/Light/RGBPageBLL.cs                               |   30 
 HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs                                |    2 
 HDL_ON/Entity/DB_ResidenceData.cs                                                  |   21 
 HDL_ON/UI/UI2/FuntionControlView/Curtain/MotorCurtainPageBLL.cs                    |   59 
 DLL/IOS/Shared.IOS.HDLFVSDK.dll                                                    |    0 
 HDL-ON_Android/Resources/values-zh/strings.xml                                     |    2 
 HDL_ON/Common/ImageUtlis.cs                                                        |   41 
 HDL_ON/UI/UI0-Public/TopViewDiv.cs                                                 |   29 
 HDL_ON/UI/UI2/FuntionControlView/Electrical/StbPage.cs                             |  362 
 Shared.Droid.HDLLinphone/Shared.Droid.HDLLinphone.csproj                           |   74 
 HDL-ON_Android/LeChengVideo/Form/ReverseCallFragment.cs                            |    2 
 HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPage.cs                               |    8 
 HDL_ON/DAL/ThirdPartySdk/ESOnVideo.cs                                              |   52 
 HDL_ON/UI/UI2/FuntionControlView/Electrical/PjtPage.cs                             |  260 
 HDL_ON/DAL/ThirdPartySdk/HDLLinphone.cs                                            |  176 
 HDL_ON/UI/UI2/3-Intelligence/Scene/SceneAddPage.cs                                 |    4 
 HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPageBLL.cs                            |   23 
 HDL-ON_iOS/AppDelegate.cs                                                          |   31 
 DLL/Linphone/Android/Shared.Droid.HDLLinphone-old-wxr.dll                          |    0 
 HDL-ON_Android/LeChengVideoActivity.cs                                             |   12 
 HDL_ON/UI/UI2/FuntionControlView/ArmSensor/ArmSensorHistroyPaging.cs               |   10 
 HDL_ON/UI/UI2/FuntionControlView/Electrical/TuyaWeepRobotConsumablesMagPage.cs     |   20 
 HDL_ON/UI/UI2/2-Classification/ClassificaitionPublicBLL.cs                         |    2 
 HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/A_EnvironmentalDataCenter.cs | 1876 +++---
 HDL_ON/DAL/DriverLayer/Control.cs                                                  |    9 
 SiriIntentsUI/SiriIntentsUI.csproj                                                 |    1 
 DLL/Linphone/Android/Shared.Droid.HDLLinphone.dll                                  |    0 
 HDL_APP_Project.sln                                                                |   18 
 HDL_ON/UI/UI2/4-PersonalCenter/Visitor/LpTipDialogCallBack.cs                      |   24 
 HDL_ON/UI/UI2/4-PersonalCenter/Visitor/LpTimeDialogCallBak.cs                      |   27 
 HDL-ON_Android/Other/JPush/JPushOpenClickActivity.cs                               |    4 
 HDL_ON/UI/UI2/FuntionControlView/Curtain/CurtainModulePage.cs                      |    4 
 HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs                     |   45 
 HDL_ON/UI/UI2/4-PersonalCenter/Visitor/TempPasswordInfo.cs                         |   18 
 HDL_ON/UI/UI2/FuntionControlView/Electrical/TuyaAirCleanerPage.cs                  |  100 
 HDL_ON/DAL/Server/HttpServerRequest.cs                                             |   44 
 HDL_ON/UI/UI2/FuntionControlView/FoolHeating/FloorHeatingPageBLL.cs                |   20 
 HDL_ON/UI/UI2/FuntionControlView/Electrical/AirSwitchPage.cs                       |   40 
 HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs                  |   18 
 HDL_ON/UI/UI2/FuntionControlView/Electrical/ClothesHangerSetTimePage.cs            |   80 
 HDL_ON/UI/UI2/FuntionControlView/Electrical/TVPageBLL.cs                           |   20 
 Shared.Droid.HDLLinphone/Transforms/EnumMethods.xml                                |   14 
 HDL_ON/UI/UI0-Public/AppUnlockPage.cs                                              |   21 
 HDL_ON/UI/UI2/FuntionControlView/FunctionBaseInfoSetPage.cs                        |   51 
 HDL_ON/UI/UI2/FuntionControlView/Electrical/TuyaWeepRobotPage.cs                   |   20 
 HDL_ON/UI/UI2/FuntionControlView/Electrical/TuyaWaterValvePage.cs                  |   40 
 HDL_ON/Common/HDLCommon.cs                                                         |   55 
 HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPage.cs                                 |  179 
 HDL_ON/UI/UI2/FuntionControlView/Light/RelayPage.cs                                |    2 
 HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs                           |  140 
 HDL_ON/UI/UI1-Login/LoginPage.cs                                                   |   17 
 HDL_ON/UI/UI2/FuntionControlView/Video/VideoMainView.cs                            |  329 -
 Shared.Droid.HDLLinphone/Jars/AboutJars.txt                                        |   24 
 HDL-ON_Android/VideoActivity.cs                                                    |    4 
 HDL_ON/UI/UI2/4-PersonalCenter/FaceManagement/FacePassagePage.cs                   |    6 
 Shared.Droid.HDLLinphone/Transforms/Metadata.xml                                   |   12 
 HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs   |  756 +-
 HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs                               |   73 
 Shared.Droid.HDLLinphone/Transforms/EnumFields.xml                                 |   15 
 HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs                              |  203 
 Shared.Droid.HDLLinphone/Properties/AssemblyInfo.cs                                |   26 
 HDL_ON/UI/UI2/2-Classification/FunctionPage.cs                                     |   32 
 HDL_ON/DAL/Server/HttpUtil.cs                                                      |    6 
 HDL-ON_Android/Scan.cs                                                             |    2 
 HDL_ON/Common/UserInfo.cs                                                          |   29 
 HDL_ON/UI/UI2/4-PersonalCenter/Visitor/VisitorQRCodePage.cs                        |  667 ++
 Shared.Droid.HDLLinphone/Jars/HDLLinphoneSDK-V1.0.1.aar                            |    0 
 HDL_ON/UI/UI2/FuntionControlView/Music/MusicMain.cs                                |    2 
 Shared.Droid.HDLLinphone/Additions/AboutAdditions.txt                              |   48 
 HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs                                          |   13 
 HDL_ON/UI/UI2/1-HomePage/HomePage.cs                                               |   87 
 HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs                     |  116 
 HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EchartsOption_BrokenLine.cs  |    2 
 HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalPage.cs         |   36 
 HDL_ON/UI/UI2/FuntionControlView/Electrical/ClothesHangerPage.cs                   |  142 
 HDL_ON/UI/UI2/FuntionControlView/Light/ColorTureLampPageBLL.cs                     |  237 
 HDL-ON_Android/SplashActivity.cs                                                   |   16 
 HDL_ON/UI/UI2/FuntionControlView/Electrical/SocketPage.cs                          |   40 
 HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/FhControlPage.cs                     |   58 
 HDL_ON/UI/MainPage.cs                                                              |    2 
 HDL_ON/UI/UI2/4-PersonalCenter/Visitor/VisitorHistoryPage.cs                       |  140 
 HDL-ON_Android/Application.cs                                                      |   13 
 HDL_ON/UI/UI2/FuntionControlView/Curtain/CurtainModulePageBLL.cs                   |   54 
 HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AirFreshControlPage.cs               |   40 
 HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AcControlPage.cs                     |  130 
 HDL_ON/UI/UI2/FuntionControlView/Electrical/TuyaFanPage.cs                         |   22 
 HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AirFreshRelayControlPage.cs          |   42 
 HDL_ON/UI/UI2/FuntionControlView/Music/MusicProperty.cs                            |    8 
 HDL_ON/UI/UI2/FuntionControlView/Music/A31MusicModel.cs                            |   12 
 HDL_ON/UI/UI2/FuntionControlView/Light/RelayPageBLL.cs                             |   40 
 HDL_ON/UI/UI2/FuntionControlView/Video/ObjectClass.cs                              |    9 
 HDL_ON/Entity/FunctionList.cs                                                      |    9 
 HDL_ON/UI/UI2/FuntionControlView/Electrical/FanPageBLL.cs                          |   42 
 /dev/null                                                                          |  142 
 HDL_ON/DAL/Server/NewAPI.cs                                                        |   32 
 HDL_ON/UI/UI2/FuntionControlView/Electrical/IrLearnPage.cs                         |   20 
 HDL_ON/Common/R.cs                                                                 |  128 
 HDL-ON_Android/Other/JPush/JPushReceiver.cs                                        |  153 
 116 files changed, 8,117 insertions(+), 7,424 deletions(-)

diff --git a/DLL/IOS/Shared.IOS.HDLFVSDK.dll b/DLL/IOS/Shared.IOS.HDLFVSDK.dll
new file mode 100644
index 0000000..885c7d7
--- /dev/null
+++ b/DLL/IOS/Shared.IOS.HDLFVSDK.dll
Binary files differ
diff --git a/DLL/LC/Android/Shared.Droid.LCVideoSDK.dll b/DLL/LC/Android/Shared.Droid.LCVideoSDK.dll
index abd06cf..b67911f 100644
--- a/DLL/LC/Android/Shared.Droid.LCVideoSDK.dll
+++ b/DLL/LC/Android/Shared.Droid.LCVideoSDK.dll
Binary files differ
diff --git a/DLL/Linphone/Android/Shared.Droid.HDLLinphone2022-03-31.dll b/DLL/Linphone/Android/Shared.Droid.HDLLinphone-old-wxr.dll
similarity index 100%
rename from DLL/Linphone/Android/Shared.Droid.HDLLinphone2022-03-31.dll
rename to DLL/Linphone/Android/Shared.Droid.HDLLinphone-old-wxr.dll
Binary files differ
diff --git a/DLL/Linphone/Android/Shared.Droid.HDLLinphone.dll b/DLL/Linphone/Android/Shared.Droid.HDLLinphone.dll
index 07ff54e..14ed0c8 100644
--- a/DLL/Linphone/Android/Shared.Droid.HDLLinphone.dll
+++ b/DLL/Linphone/Android/Shared.Droid.HDLLinphone.dll
Binary files differ
diff --git a/DLL/Linphone/iOS/Shared.IOS.HDLLinphoneSDK.dll b/DLL/Linphone/iOS/Shared.IOS.HDLLinphoneSDK.dll
index db3126b..10f902a 100644
--- a/DLL/Linphone/iOS/Shared.IOS.HDLLinphoneSDK.dll
+++ b/DLL/Linphone/iOS/Shared.IOS.HDLLinphoneSDK.dll
Binary files differ
diff --git a/DLL/Scan/HDL.Shared.IOS.ScanQRCode.dll b/DLL/Scan/HDL.Shared.IOS.ScanQRCode.dll
deleted file mode 100644
index 8d81fa4..0000000
--- a/DLL/Scan/HDL.Shared.IOS.ScanQRCode.dll
+++ /dev/null
Binary files differ
diff --git a/HDL-ON_Android/Application.cs b/HDL-ON_Android/Application.cs
index cf341fe..dbb5630 100644
--- a/HDL-ON_Android/Application.cs
+++ b/HDL-ON_Android/Application.cs
@@ -84,7 +84,6 @@
                 BusSocketStart();
                 //鍚庡彴鍥炲埌鍓嶅彴
                 new HDL_ON.UI.AppUnlockPage().LoadPage();
-
             }
         }
 
@@ -94,10 +93,6 @@
             mCount--;
             if (mCount == 0)
             {
-                //if(activity.GetType().Name.Contains("LeChengVideoActivity"))
-                //{
-                //    //UserInfo.Current.PushMesLogTime = DateTime.MinValue;
-                //}
                 Console.WriteLine("HHH OnActivityStopped锛� background");
                 BusSocketStop();
                 //杩涘叆鍚庡彴
@@ -115,6 +110,11 @@
 
         public int mCount;
 
+        ///// <summary>
+        ///// 鏄惁杩涘叆鍚庡彴
+        ///// </summary>
+        //public bool IsEnterBackground = false;
+
         /// <summary>
         /// 杩涘叆鍚庡彴鐨勬椂闂�
         /// </summary>
@@ -125,6 +125,7 @@
         /// </summary>
         void BusSocketStop()
         {
+            //IsEnterBackground = true;
             CloseTime = DateTime.Now;
             MainPage.IsEnterBackground = true;
             //杩涘叆鍚庡彴mqtt姝e湪杩炴帴閲嶇疆鐘舵��
@@ -138,6 +139,8 @@
         /// </summary>
         void BusSocketStart()
         {
+            //IsEnterBackground = false;
+
             if (CloseTime.AddSeconds(10) < DateTime.Now)
             {
                 //鍚庡彴瓒呰繃10s灏辨柇寮�MQTT閲嶈繛
diff --git a/HDL-ON_Android/Assets/Language.ini b/HDL-ON_Android/Assets/Language.ini
index 02be903..e7e3999 100644
--- a/HDL-ON_Android/Assets/Language.ini
+++ b/HDL-ON_Android/Assets/Language.ini
@@ -531,6 +531,27 @@
 543=Get more
 544=Angle
 
+2532=Visitor Invitation Record
+2533=Visitor management
+2534=Visitor Invitation
+2535=Record
+2536=*After you initiate the visitor certificate, you can  unlock the door by password or swipe the code  freely within the validity period you set. Please share the certificate carefully.
+2537=Input phone number of the visitor
+2538=Input 6-digits temporary password
+2539=Random Generation
+2540=After confirmation, the visitor QR code will be generated, and the 6-digit dynamic digital password SMS will also be sent to the visitor mobile phone.
+2541=Are you sure to delete visitor credentials?
+2542=Long press the QR code to save the QR code to the album
+2543=QR code is invalid
+2544=Generate Visitor Credentials
+2545=Cancle Visitor Credentials
+2546=Visitor QR Code
+2547=Phone Number
+2548=Please enter a correct phone number
+2549=Please select a effective time
+2550=Please select a expire time
+2551=Temporary password is invalid
+
 
 1000=Room Humidity
 1001=V-chip
@@ -1694,6 +1715,32 @@
 543=鑾峰彇鏇村
 544=瑙掑害
  
+
+2532=璁垮閭�璇疯褰�
+2533=璁垮绠$悊
+2534=璁垮閭�璇�
+2535=璁垮璁板綍
+2536=*鎮ㄥ彂璧疯瀹㈠嚟璇佸悗锛岃鍑瘉灏嗗湪鎮ㄨ缃殑鏈夋晥鏈熷唴锛屽彲鑷敱鍒风爜鎴栧瘑鐮佸紑閿佽繘琛岃繘鍑猴紝璇疯皑鎱庡垎浜鍑瘉銆�
+2537=杈撳叆璁垮鎵嬫満鍙风爜
+2538=杈撳叆6浣嶅姩鎬佸瘑鐮�
+2539=闅忔満鐢熸垚
+
+2540=纭鍚庯紝浼氱敓鎴愯瀹簩缁寸爜锛屽悓鏃朵篃浼氬皢6浣嶅姩鎬佹暟瀛楀瘑鐮佺煭淇″彂閫佸埌璁垮鎵嬫満涓娿��
+2541=纭畾鍒犻櫎璁垮鍑瘉锛�
+
+2542=闀挎寜浜岀淮鐮佸彲浠ュ皢浜岀淮鐮佷繚瀛樺埌鐩稿唽
+2543=浜岀淮鐮佸凡澶辨晥
+2544=鐢熸垚璁垮鍑瘉
+2545=鍙栨秷璁垮鍑瘉
+2546=璁垮浜岀淮鐮�
+2547=鎵嬫満鍙�
+2548=璇疯緭鍏ユ纭殑鎵嬫満鍙风爜
+2549=璇烽�夋嫨鐢熸晥鏃堕棿
+2550=璇烽�夋嫨澶辨晥鏃堕棿
+2551=鍔ㄦ�佸瘑鐮佸凡澶辨晥
+
+
+
 1000=瀹ゅ唴婀垮害
 1001=绔ラ攣
 1002=璐熺瀛�
@@ -2833,6 +2880,27 @@
 543=Get more
 544=Angle
 
+2532=Visitor Invitation Record
+2533=Visitor management
+2534=Visitor Invitation
+2535=Record
+2536=*After you initiate the visitor certificate, you can  unlock the door by password or swipe the code  freely within the validity period you set. Please share the certificate carefully.
+2537=Input phone number of the visitor
+2538=Input 6-digits temporary password
+2539=Random Generation
+2540=After confirmation, the visitor QR code will be generated, and the 6-digit dynamic digital password SMS will also be sent to the visitor mobile phone.
+2541=Are you sure to delete visitor credentials?
+2542=Long press the QR code to save the QR code to the album
+2543=QR code is invalid
+2544=Generate Visitor Credentials
+2545=Cancle Visitor Credentials
+2546=Visitor QR Code
+2547=Phone Number
+2548=Please enter a correct phone number
+2549=Please select a effective time
+2550=Please select a expire time
+2551=Temporary password is invalid
+
 
 1000=袙谢邪卸薪芯褋褌褜 胁 袩芯屑械褖械薪懈懈
 1001=V-芯斜褉邪蟹薪褘泄 褔懈锌
diff --git a/HDL-ON_Android/LeChengVideo/Form/ReverseCallFragment.cs b/HDL-ON_Android/LeChengVideo/Form/ReverseCallFragment.cs
index cbf292c..68073cc 100644
--- a/HDL-ON_Android/LeChengVideo/Form/ReverseCallFragment.cs
+++ b/HDL-ON_Android/LeChengVideo/Form/ReverseCallFragment.cs
@@ -256,7 +256,7 @@
                     d.Add("callStatus", "RECEIVED");//鍙敤鍊�:MISSED,RECEIVED,REJECT
                     // d.Add("callDuration", Time);//閫氳瘽鏃堕暱锛堢锛�
                     d.Add("interphoneTypeEnum", "IMOUVISIAL");//鍙敤鍊�:FLVI,IMOUVISIAL
-                    string jsonString = HttpUtil.GetSignRequestJson(d); 
+                    string jsonString = HttpUtil.GetSignRequestJson(d);
 
                     string url = "/home-wisdom/platform/imou/updateCallStatus";
                     ResponsePackNew response = HttpUtil.RequestHttpsPost(url, jsonString);
diff --git a/HDL-ON_Android/LeChengVideoActivity.cs b/HDL-ON_Android/LeChengVideoActivity.cs
index 4c04acd..1d26881 100644
--- a/HDL-ON_Android/LeChengVideoActivity.cs
+++ b/HDL-ON_Android/LeChengVideoActivity.cs
@@ -19,8 +19,6 @@
 using Com.Lechange.Opensdk.Device;
 using Com.Lechange.Opensdk.Listener;
 using Com.Lechange.Opensdk.Media;
-using HDL_ON;
-using Com.Lechange.Opensdk.Utils;
 using HDL_ON.DAL.Server;
 using HDL_ON_Android.LeChengView.Form;
 using Java.IO;
@@ -131,9 +129,9 @@
             }else {
                 URL = URL_LC_CHINA;
             }
-             InitParams initParams = new InitParams(this, URL, AccessToken);
+
+            InitParams initParams = new InitParams(this, URL, AccessToken);
             LCOpenSDK_Api.InitOpenApi(initParams);
-            LogUtils.OpenLog();
         }
 
         /// <summary>
@@ -168,12 +166,11 @@
         /// </summary>
         public void StartTalk()
         {
-            UserInfo.Current.inVideo = true;
             CloseAudio();// 鍏抽棴Audio
             LCOpenSDK_Talk.Listener = new AudioTalkerListener();//璁剧疆瀵硅鐩戝惉
             //2021-10-29 瀵硅璇锋眰绫诲瀷锛宑all鍛煎彨锛屽鏋滀笉浼狅紝榛樿涓簍alk
             string talkType = "talk";
-            //if (Type == 1)//0鐩戞帶锛�1瀵硅
+            if (Type == 1)//0鐩戞帶锛�1瀵硅
             {
                 talkType = "call";
             }
@@ -187,8 +184,6 @@
         /// </summary>
         public void StopTalk()
         {
-            UserInfo.Current.inCall = DateTime.MinValue;
-            UserInfo.Current.inVideo = false;
             LCOpenSDK_Talk.StopTalk();
             LCOpenSDK_Talk.Listener = null;
         }
@@ -343,7 +338,6 @@
         {
             if (v.Equals(ivBack))
             {
-                StopTalk();
                 this.Finish();
             }
         }
diff --git a/HDL-ON_Android/Other/JPush/JPushFirmBroadcast.cs b/HDL-ON_Android/Other/JPush/JPushFirmBroadcast.cs
index d563368..a5646ec 100644
--- a/HDL-ON_Android/Other/JPush/JPushFirmBroadcast.cs
+++ b/HDL-ON_Android/Other/JPush/JPushFirmBroadcast.cs
@@ -20,7 +20,6 @@
     class JPushFirmBroadcast : BroadcastReceiver
     {
 
-
         public override void OnReceive(Context context, Intent intent)
         {
 
@@ -45,17 +44,10 @@
                 notificationMessage.NotificationExtras = extra;
 
                 JPushReceiver.OpenNotification(context, notificationMessage);
-
             }
             catch
             {
-
             }
-
-
-
-
-
         }
     }
 }
\ No newline at end of file
diff --git a/HDL-ON_Android/Other/JPush/JPushOpenClickActivity.cs b/HDL-ON_Android/Other/JPush/JPushOpenClickActivity.cs
index 66ac1ca..b974874 100644
--- a/HDL-ON_Android/Other/JPush/JPushOpenClickActivity.cs
+++ b/HDL-ON_Android/Other/JPush/JPushOpenClickActivity.cs
@@ -19,15 +19,12 @@
         ]
     public class JPushOpenClickActivity : Activity
     {
-
-
         protected override void OnCreate(Bundle savedInstanceState)
         {
             base.OnCreate(savedInstanceState);
             View v = new View(this);
             SetContentView(v);
             HandleOpenClick(Intent);
-
         }
 
         protected void HandleOpenClick(Intent intent)
@@ -49,7 +46,6 @@
         {
             base.OnNewIntent(intent);
             HandleOpenClick(intent);
-
         }
     }
 }
\ No newline at end of file
diff --git a/HDL-ON_Android/Other/JPush/JPushReceiver.cs b/HDL-ON_Android/Other/JPush/JPushReceiver.cs
index 3b0cf2b..b41aec6 100644
--- a/HDL-ON_Android/Other/JPush/JPushReceiver.cs
+++ b/HDL-ON_Android/Other/JPush/JPushReceiver.cs
@@ -37,13 +37,8 @@
             //2020-12-23 瑙e喅鐐瑰嚮閫氱煡鏍忔墦寮�涓嶄簡APP闂
             //base.OnNotifyMessageOpened(context, notificationMessage);
 
-            //NotificationManager NotifyManager = (NotificationManager)GetSystemService(Context.NotificationService);
-            //NotificationManager notificationManager = NotifyManager;
-
             OpenNotification(context, notificationMessage);
         }
-
-       static int msgId = 0;
 
         /// <summary>
         /// 鏀跺埌閫氱煡鍥炶皟
@@ -52,59 +47,34 @@
         /// <param name="p1"></param>
         public override void OnNotifyMessageArrived(Context context, NotificationMessage notificationMessage)
         {
-            try
+            base.OnNotifyMessageArrived(context, notificationMessage);
+
+            var pushMes = new JPushMessageInfo()
             {
+                Title = notificationMessage.NotificationTitle,
+                Content = notificationMessage.NotificationContent,
+                Extras = notificationMessage.NotificationExtras
+            };
 
-                NotificationManager nMgr = (NotificationManager)Shared.Application.Activity.GetSystemService(Context.NotificationService);
-                if (msgId != 0)
-                    nMgr.Cancel(msgId);
-                msgId = notificationMessage.NotificationId;
-                base.OnNotifyMessageArrived(context, notificationMessage); Console.WriteLine("123456789ghjsdjfasdfk");
-
-                var pushMes = new JPushMessageInfo()
-                {
-                    Title = notificationMessage.NotificationTitle,
-                    Content = notificationMessage.NotificationContent,
-                    Extras = notificationMessage.NotificationExtras
-                };
-
-                var jpushExpandData = GetJPushExpandData(pushMes);
-                if (jpushExpandData != null && jpushExpandData.messageType != null)
-                {
-                    pushMes.messageType = jpushExpandData.messageType;
-                    pushMes.expantContent = jpushExpandData.expantContent;//spk
-                    pushMes.HomeId = jpushExpandData.homeId;
-                    Utlis.WriteLine("PushMes messageType : " + pushMes.messageType);
-                }
-
-                Utlis.WriteLine("PushMes title : " + pushMes.Title);
-                Utlis.WriteLine("PushMes message : " + pushMes.Content);
-                Utlis.WriteLine("PushMes extras : " + pushMes.Extras);
-                Utlis.WriteLine("PushMes HomeId : " + pushMes.HomeId);
-
-                //UserInfo.Current.PushMesTitle = pushMes.Title;
-                //UserInfo.Current.PushMesMessage = pushMes.Content;
-                //UserInfo.Current.PushMesExtras = pushMes.Extras;
-                //UserInfo.Current.pushMesMessageType = pushMes.messageType;
-                //UserInfo.Current.pushMesExpantContent = pushMes.expantContent;
-                //UserInfo.Current.PushMesHomeId = pushMes.HomeId;
-                UserInfo.Current.pushMessageInfo = pushMes;
-                if (!string.IsNullOrEmpty(pushMes.spk))//鑷爺鍙瀵硅闇�瑕佽褰曟椂闂村弽鍛�
-                    UserInfo.Current.inCall = DateTime.Now;
-
-                if (!MainPage.IsEnterBackground)
-                {
-                    //NotificationManager nMgr = (NotificationManager)Shared.Application.Activity.GetSystemService(Context.NotificationService);
-                    //nMgr.CancelAll();
-                    Shared.Application.RunOnMainThread(() =>
-                    {
-                        HDLCommon.Current.AdjustPushMessage(pushMes);
-                    });
-                }
+            var jpushExpandData = GetJPushExpandData(pushMes);
+            if (jpushExpandData != null && jpushExpandData.messageType != null)
+            {
+                pushMes.messageType = jpushExpandData.messageType;
+                pushMes.expantContent = jpushExpandData.expantContent;
+                pushMes.HomeId = jpushExpandData.homeId;
+                Utlis.WriteLine("PushMes messageType : " + pushMes.messageType);
             }
-            catch (Exception wexx) {
-                Console.WriteLine("safsdf"+wexx.Message);
-            }
+
+            Utlis.WriteLine("PushMes title : " + pushMes.Title);
+            Utlis.WriteLine("PushMes message : " + pushMes.Content);
+            Utlis.WriteLine("PushMes extras : " + pushMes.Extras);
+            Utlis.WriteLine("PushMes HomeId : " + pushMes.HomeId);
+
+            Shared.Application.RunOnMainThread(() =>
+            {
+                HDLCommon.Current.AdjustPushMessage(pushMes);
+            });
+
         }
 
         /// <summary>
@@ -141,42 +111,6 @@
             Utlis.WriteLine("JPushOnRegister: " + p1);
         }
 
-        ///// <summary>
-        ///// 澶勭悊鏋佸厜淇℃伅鎺ㄩ��
-        ///// </summary>
-        ///// <param name="title">鏍囬</param>
-        ///// <param name="message">淇℃伅</param>
-        ///// <param name="extras">璐熻浇鏁版嵁</param>
-        //public void AdjustJiguangMsgPush(JPushMessageInfo JPushMessageInfo)
-        //{
-        //    try
-        //    {
-        //        if (JPushMessageInfo.Extras.Contains("Offline") == true)
-        //        {
-        //            Shared.Application.RunOnMainThread(() =>
-        //            {
-        //                //璐﹀彿鍦ㄥ埆澶勭櫥闄嗭紝琚涪涓嬬嚎 璺宠浆鍒扮櫥褰曢〉闈�
-        //                new Alert(Language.StringByID(StringId.Tip), Language.StringByID(StringId.LoggedOnOtherDevices), Language.StringByID(StringId.Close)).Show();
-        //                //2020-12-04 寰呭鍔犻��鍑虹櫥褰曟搷浣�
-        //            });
-        //            return;
-        //        }
-        //        else
-        //        {
-        //            Shared.Application.RunOnMainThread(() =>
-        //            {
-        //                new Alert(JPushMessageInfo.Title, JPushMessageInfo.Content, Language.StringByID(StringId.Close)).Show();
-        //            });
-        //            return;
-
-        //        }
-        //    }
-        //    catch
-        //    {
-
-        //    }
-        //}
-
         /// <summary>
         /// 鎵撳紑娑堟伅鏄剧ず鐣岄潰.010000
         /// </summary>
@@ -184,7 +118,6 @@
         /// <param name="notificationMessage"></param>
         public static void OpenNotification(Context context, NotificationMessage notificationMessage)
         {
-
             try
             {
                 var pushMes = new JPushMessageInfo()
@@ -208,47 +141,17 @@
                 Utlis.WriteLine("PushMes extras : " + pushMes.Extras);
                 Utlis.WriteLine("PushMes HomeId : " + pushMes.HomeId);
 
-
                 Intent i = new Intent(context, typeof(BaseActivity));//Intent intent=new Intent( 璧峰缁勪欢瀵硅薄 , 鐩爣 Service.class);
                 i.SetFlags(ActivityFlags.NewTask);
-                context.StartActivity(i);
+                context.StartActivity(i);
                 //瑙f瀽msg
-                AdjustPushMessage(pushMes);
-
-                //Shared.Application.RunOnMainThread(() =>
-                //{
-                //    if (Shared.Application.Activity == null)
-                //    {
-                //        var tempIntent = new Intent(context, typeof(Shared.BaseActivity));//Intent intent=new Intent( 璧峰缁勪欢瀵硅薄 , 鐩爣 Service.class);
-                //        tempIntent.SetFlags(ActivityFlags.BroughtToFront);
-                //        context.StartActivity(tempIntent);
-
-                //        HDLCommon.Current.AdjustPushMessage(pushMes);
-                //    }
-                //    else
-                //    {
-
-                //        (Shared.Application.Activity as BaseActivity).MoveToFront();
-                //        HDLCommon.Current.AdjustPushMessage(pushMes);
-                //    }
-                //});
-                if (!MainPage.IsEnterBackground)
-                {
-                    NotificationManager nMgr = (NotificationManager)Shared.Application.Activity.GetSystemService(Context.NotificationService);
-                    nMgr.CancelAll();
-                }
+                AdjustPushMessage(pushMes);
             }
             catch
             {
 
             }
-            //catch (Exception ex)
-            //{
-            //    Utlis.WriteLine(ex.ToString());
-            //}
         }
-
-
 
         public static void AdjustPushMessage(JPushMessageInfo pushMes)
         {
@@ -257,7 +160,7 @@
             {
                 while (MainPage.BasePageView == null)
                 {
-                    System.Threading.Thread.Sleep(300);
+                    System.Threading.Thread.Sleep(300);
                 }
                 Shared.Application.RunOnMainThread(() =>
                 {
diff --git a/HDL-ON_Android/Resources/Resource.designer.cs b/HDL-ON_Android/Resources/Resource.designer.cs
index 475294e..11a6b26 100644
--- a/HDL-ON_Android/Resources/Resource.designer.cs
+++ b/HDL-ON_Android/Resources/Resource.designer.cs
@@ -2498,433 +2498,436 @@
 			public const int lpsdk_app_line = 2131099785;
 			
 			// aapt resource value: 0x7F06008A
-			public const int lpsdk_textColor = 2131099786;
+			public const int lpsdk_color_white = 2131099786;
 			
 			// aapt resource value: 0x7F06008B
-			public const int material_blue_grey_800 = 2131099787;
+			public const int lpsdk_textColor = 2131099787;
 			
 			// aapt resource value: 0x7F06008C
-			public const int material_blue_grey_900 = 2131099788;
+			public const int material_blue_grey_800 = 2131099788;
 			
 			// aapt resource value: 0x7F06008D
-			public const int material_blue_grey_950 = 2131099789;
+			public const int material_blue_grey_900 = 2131099789;
 			
 			// aapt resource value: 0x7F06008E
-			public const int material_deep_teal_200 = 2131099790;
+			public const int material_blue_grey_950 = 2131099790;
 			
 			// aapt resource value: 0x7F06008F
-			public const int material_deep_teal_500 = 2131099791;
+			public const int material_deep_teal_200 = 2131099791;
 			
 			// aapt resource value: 0x7F060090
-			public const int material_grey_100 = 2131099792;
+			public const int material_deep_teal_500 = 2131099792;
 			
 			// aapt resource value: 0x7F060091
-			public const int material_grey_300 = 2131099793;
+			public const int material_grey_100 = 2131099793;
 			
 			// aapt resource value: 0x7F060092
-			public const int material_grey_50 = 2131099794;
+			public const int material_grey_300 = 2131099794;
 			
 			// aapt resource value: 0x7F060093
-			public const int material_grey_600 = 2131099795;
+			public const int material_grey_50 = 2131099795;
 			
 			// aapt resource value: 0x7F060094
-			public const int material_grey_800 = 2131099796;
+			public const int material_grey_600 = 2131099796;
 			
 			// aapt resource value: 0x7F060095
-			public const int material_grey_850 = 2131099797;
+			public const int material_grey_800 = 2131099797;
 			
 			// aapt resource value: 0x7F060096
-			public const int material_grey_900 = 2131099798;
+			public const int material_grey_850 = 2131099798;
 			
 			// aapt resource value: 0x7F060097
-			public const int material_red_500 = 2131099799;
+			public const int material_grey_900 = 2131099799;
 			
 			// aapt resource value: 0x7F060098
-			public const int message_bg = 2131099800;
+			public const int material_red_500 = 2131099800;
 			
 			// aapt resource value: 0x7F060099
-			public const int message_button_text = 2131099801;
+			public const int message_bg = 2131099801;
 			
 			// aapt resource value: 0x7F06009A
-			public const int message_button_text_selector = 2131099802;
+			public const int message_button_text = 2131099802;
 			
 			// aapt resource value: 0x7F06009B
-			public const int mode_bg = 2131099803;
+			public const int message_button_text_selector = 2131099803;
 			
 			// aapt resource value: 0x7F06009C
-			public const int more_color = 2131099804;
+			public const int mode_bg = 2131099804;
 			
 			// aapt resource value: 0x7F06009D
-			public const int my_list_deviver = 2131099805;
+			public const int more_color = 2131099805;
 			
 			// aapt resource value: 0x7F06009E
-			public const int normal_color = 2131099806;
+			public const int my_list_deviver = 2131099806;
 			
 			// aapt resource value: 0x7F06009F
-			public const int notification_action_color_filter = 2131099807;
+			public const int normal_color = 2131099807;
 			
 			// aapt resource value: 0x7F0600A0
-			public const int notification_icon_bg_color = 2131099808;
+			public const int notification_action_color_filter = 2131099808;
 			
 			// aapt resource value: 0x7F0600A1
-			public const int notification_material_background_media_default_color = 2131099809;
+			public const int notification_icon_bg_color = 2131099809;
 			
 			// aapt resource value: 0x7F0600A2
-			public const int on_off_text_selector = 2131099810;
+			public const int notification_material_background_media_default_color = 2131099810;
 			
 			// aapt resource value: 0x7F0600A3
-			public const int opensdk_cameralist_bg = 2131099811;
+			public const int on_off_text_selector = 2131099811;
 			
 			// aapt resource value: 0x7F0600A4
-			public const int orange = 2131099812;
+			public const int opensdk_cameralist_bg = 2131099812;
 			
 			// aapt resource value: 0x7F0600A5
-			public const int orange_text = 2131099813;
+			public const int orange = 2131099813;
 			
 			// aapt resource value: 0x7F0600A6
-			public const int page_bg_color = 2131099814;
+			public const int orange_text = 2131099814;
 			
 			// aapt resource value: 0x7F0600A7
-			public const int page_change_gray = 2131099815;
+			public const int page_bg_color = 2131099815;
 			
 			// aapt resource value: 0x7F0600A8
-			public const int pickerview_bgColor_default = 2131099816;
+			public const int page_change_gray = 2131099816;
 			
 			// aapt resource value: 0x7F0600A9
-			public const int pickerview_bgColor_overlay = 2131099817;
+			public const int pickerview_bgColor_default = 2131099817;
 			
 			// aapt resource value: 0x7F0600AA
-			public const int pickerview_bg_topbar = 2131099818;
+			public const int pickerview_bgColor_overlay = 2131099818;
 			
 			// aapt resource value: 0x7F0600AB
-			public const int pickerview_timebtn_nor = 2131099819;
+			public const int pickerview_bg_topbar = 2131099819;
 			
 			// aapt resource value: 0x7F0600AC
-			public const int pickerview_timebtn_pre = 2131099820;
+			public const int pickerview_timebtn_nor = 2131099820;
 			
 			// aapt resource value: 0x7F0600AD
-			public const int pickerview_topbar_title = 2131099821;
+			public const int pickerview_timebtn_pre = 2131099821;
 			
 			// aapt resource value: 0x7F0600AE
-			public const int pickerview_wheelview_textcolor_center = 2131099822;
+			public const int pickerview_topbar_title = 2131099822;
 			
 			// aapt resource value: 0x7F0600AF
-			public const int pickerview_wheelview_textcolor_divider = 2131099823;
+			public const int pickerview_wheelview_textcolor_center = 2131099823;
 			
 			// aapt resource value: 0x7F0600B0
-			public const int pickerview_wheelview_textcolor_out = 2131099824;
+			public const int pickerview_wheelview_textcolor_divider = 2131099824;
 			
 			// aapt resource value: 0x7F0600B1
-			public const int play_translucent_bg = 2131099825;
+			public const int pickerview_wheelview_textcolor_out = 2131099825;
 			
 			// aapt resource value: 0x7F0600B2
-			public const int possible_result_points = 2131099826;
+			public const int play_translucent_bg = 2131099826;
 			
 			// aapt resource value: 0x7F0600B3
-			public const int preview_quality_color = 2131099827;
+			public const int possible_result_points = 2131099827;
 			
 			// aapt resource value: 0x7F0600B4
-			public const int primary_dark_material_dark = 2131099828;
+			public const int preview_quality_color = 2131099828;
 			
 			// aapt resource value: 0x7F0600B5
-			public const int primary_dark_material_light = 2131099829;
+			public const int primary_dark_material_dark = 2131099829;
 			
 			// aapt resource value: 0x7F0600B6
-			public const int primary_material_dark = 2131099830;
+			public const int primary_dark_material_light = 2131099830;
 			
 			// aapt resource value: 0x7F0600B7
-			public const int primary_material_light = 2131099831;
+			public const int primary_material_dark = 2131099831;
 			
 			// aapt resource value: 0x7F0600B8
-			public const int primary_text_default_material_dark = 2131099832;
+			public const int primary_material_light = 2131099832;
 			
 			// aapt resource value: 0x7F0600B9
-			public const int primary_text_default_material_light = 2131099833;
+			public const int primary_text_default_material_dark = 2131099833;
 			
 			// aapt resource value: 0x7F0600BA
-			public const int primary_text_disabled_material_dark = 2131099834;
+			public const int primary_text_default_material_light = 2131099834;
 			
 			// aapt resource value: 0x7F0600BB
-			public const int primary_text_disabled_material_light = 2131099835;
+			public const int primary_text_disabled_material_dark = 2131099835;
 			
 			// aapt resource value: 0x7F0600BC
-			public const int progress_back = 2131099836;
+			public const int primary_text_disabled_material_light = 2131099836;
 			
 			// aapt resource value: 0x7F0600BD
-			public const int progress_select = 2131099837;
+			public const int progress_back = 2131099837;
 			
 			// aapt resource value: 0x7F0600BE
-			public const int pureblack = 2131099838;
+			public const int progress_select = 2131099838;
 			
 			// aapt resource value: 0x7F0600BF
-			public const int quality_color_selector = 2131099839;
+			public const int pureblack = 2131099839;
 			
 			// aapt resource value: 0x7F0600C0
-			public const int quality_focused_color = 2131099840;
+			public const int quality_color_selector = 2131099840;
 			
 			// aapt resource value: 0x7F0600C1
-			public const int r1_item_bg = 2131099841;
+			public const int quality_focused_color = 2131099841;
 			
 			// aapt resource value: 0x7F0600C2
-			public const int read_button_text_selector = 2131099842;
+			public const int r1_item_bg = 2131099842;
 			
 			// aapt resource value: 0x7F0600C3
-			public const int realplay_loading_text = 2131099843;
+			public const int read_button_text_selector = 2131099843;
 			
 			// aapt resource value: 0x7F0600C4
-			public const int record_alarm = 2131099844;
+			public const int realplay_loading_text = 2131099844;
 			
 			// aapt resource value: 0x7F0600C5
-			public const int record_normal = 2131099845;
+			public const int record_alarm = 2131099845;
 			
 			// aapt resource value: 0x7F0600C6
-			public const int record_osd = 2131099846;
+			public const int record_normal = 2131099846;
 			
 			// aapt resource value: 0x7F0600C7
-			public const int record_point = 2131099847;
+			public const int record_osd = 2131099847;
 			
 			// aapt resource value: 0x7F0600C8
-			public const int record_time = 2131099848;
+			public const int record_point = 2131099848;
 			
 			// aapt resource value: 0x7F0600C9
-			public const int red = 2131099849;
+			public const int record_time = 2131099849;
 			
 			// aapt resource value: 0x7F0600CA
-			public const int reg_deal_text_bule = 2131099850;
+			public const int red = 2131099850;
 			
 			// aapt resource value: 0x7F0600CB
-			public const int remotefile_line_color = 2131099851;
+			public const int reg_deal_text_bule = 2131099851;
 			
 			// aapt resource value: 0x7F0600CC
-			public const int remotefile_timebar_alarm_color = 2131099852;
+			public const int remotefile_line_color = 2131099852;
 			
 			// aapt resource value: 0x7F0600CD
-			public const int remotefile_timebar_color = 2131099853;
+			public const int remotefile_timebar_alarm_color = 2131099853;
 			
 			// aapt resource value: 0x7F0600CE
-			public const int remotelist_item_duration_text_color = 2131099854;
+			public const int remotefile_timebar_color = 2131099854;
 			
 			// aapt resource value: 0x7F0600CF
-			public const int remotelist_item_select = 2131099855;
+			public const int remotelist_item_duration_text_color = 2131099855;
 			
 			// aapt resource value: 0x7F0600D0
-			public const int result_view = 2131099856;
+			public const int remotelist_item_select = 2131099856;
 			
 			// aapt resource value: 0x7F0600D1
-			public const int ripple_material_dark = 2131099857;
+			public const int result_view = 2131099857;
 			
 			// aapt resource value: 0x7F0600D2
-			public const int ripple_material_light = 2131099858;
+			public const int ripple_material_dark = 2131099858;
 			
 			// aapt resource value: 0x7F0600D3
-			public const int scan_yellow = 2131099859;
+			public const int ripple_material_light = 2131099859;
 			
 			// aapt resource value: 0x7F0600D4
-			public const int secondary_text_default_material_dark = 2131099860;
+			public const int scan_yellow = 2131099860;
 			
 			// aapt resource value: 0x7F0600D5
-			public const int secondary_text_default_material_light = 2131099861;
+			public const int secondary_text_default_material_dark = 2131099861;
 			
 			// aapt resource value: 0x7F0600D6
-			public const int secondary_text_disabled_material_dark = 2131099862;
+			public const int secondary_text_default_material_light = 2131099862;
 			
 			// aapt resource value: 0x7F0600D7
-			public const int secondary_text_disabled_material_light = 2131099863;
+			public const int secondary_text_disabled_material_dark = 2131099863;
 			
 			// aapt resource value: 0x7F0600D8
-			public const int setting_hint_text = 2131099864;
+			public const int secondary_text_disabled_material_light = 2131099864;
 			
 			// aapt resource value: 0x7F0600D9
-			public const int shadow = 2131099865;
+			public const int setting_hint_text = 2131099865;
 			
 			// aapt resource value: 0x7F0600DA
-			public const int share_bule = 2131099866;
+			public const int shadow = 2131099866;
 			
 			// aapt resource value: 0x7F0600DB
-			public const int share_green = 2131099867;
+			public const int share_bule = 2131099867;
 			
 			// aapt resource value: 0x7F0600DC
-			public const int share_red = 2131099868;
+			public const int share_green = 2131099868;
 			
 			// aapt resource value: 0x7F0600DD
-			public const int share_tip_red = 2131099869;
+			public const int share_red = 2131099869;
 			
 			// aapt resource value: 0x7F0600DE
-			public const int source_detection_btn_color = 2131099870;
+			public const int share_tip_red = 2131099870;
 			
 			// aapt resource value: 0x7F0600DF
-			public const int state_abnormal_text = 2131099871;
+			public const int source_detection_btn_color = 2131099871;
 			
 			// aapt resource value: 0x7F0600E0
-			public const int state_normal_text = 2131099872;
+			public const int state_abnormal_text = 2131099872;
 			
 			// aapt resource value: 0x7F0600E1
-			public const int state_off_text = 2131099873;
+			public const int state_normal_text = 2131099873;
 			
 			// aapt resource value: 0x7F0600E2
-			public const int switch_thumb_disabled_material_dark = 2131099874;
+			public const int state_off_text = 2131099874;
 			
 			// aapt resource value: 0x7F0600E3
-			public const int switch_thumb_disabled_material_light = 2131099875;
+			public const int switch_thumb_disabled_material_dark = 2131099875;
 			
 			// aapt resource value: 0x7F0600E4
-			public const int switch_thumb_material_dark = 2131099876;
+			public const int switch_thumb_disabled_material_light = 2131099876;
 			
 			// aapt resource value: 0x7F0600E5
-			public const int switch_thumb_material_light = 2131099877;
+			public const int switch_thumb_material_dark = 2131099877;
 			
 			// aapt resource value: 0x7F0600E6
-			public const int switch_thumb_normal_material_dark = 2131099878;
+			public const int switch_thumb_material_light = 2131099878;
 			
 			// aapt resource value: 0x7F0600E7
-			public const int switch_thumb_normal_material_light = 2131099879;
-			
-			// aapt resource value: 0x7F0600EA
-			public const int table_value = 2131099882;
+			public const int switch_thumb_normal_material_dark = 2131099879;
 			
 			// aapt resource value: 0x7F0600E8
-			public const int tab_color = 2131099880;
-			
-			// aapt resource value: 0x7F0600E9
-			public const int tab_sel_color = 2131099881;
-			
-			// aapt resource value: 0x7F0600EC
-			public const int textview_txtcolor_selector = 2131099884;
+			public const int switch_thumb_normal_material_light = 2131099880;
 			
 			// aapt resource value: 0x7F0600EB
-			public const int text_black = 2131099883;
+			public const int table_value = 2131099883;
+			
+			// aapt resource value: 0x7F0600E9
+			public const int tab_color = 2131099881;
+			
+			// aapt resource value: 0x7F0600EA
+			public const int tab_sel_color = 2131099882;
 			
 			// aapt resource value: 0x7F0600ED
-			public const int tip_bg = 2131099885;
+			public const int textview_txtcolor_selector = 2131099885;
+			
+			// aapt resource value: 0x7F0600EC
+			public const int text_black = 2131099884;
 			
 			// aapt resource value: 0x7F0600EE
-			public const int tip_color = 2131099886;
+			public const int tip_bg = 2131099886;
 			
 			// aapt resource value: 0x7F0600EF
-			public const int title_down_text_selector = 2131099887;
+			public const int tip_color = 2131099887;
 			
 			// aapt resource value: 0x7F0600F0
-			public const int title_line = 2131099888;
+			public const int title_down_text_selector = 2131099888;
 			
 			// aapt resource value: 0x7F0600F1
-			public const int title_text = 2131099889;
+			public const int title_line = 2131099889;
 			
 			// aapt resource value: 0x7F0600F2
-			public const int tooltip_background_dark = 2131099890;
+			public const int title_text = 2131099890;
 			
 			// aapt resource value: 0x7F0600F3
-			public const int tooltip_background_light = 2131099891;
+			public const int tooltip_background_dark = 2131099891;
 			
 			// aapt resource value: 0x7F0600F4
-			public const int topbar_title_color = 2131099892;
-			
-			// aapt resource value: 0x7F0600F6
-			public const int translucent_black = 2131099894;
-			
-			// aapt resource value: 0x7F0600F7
-			public const int transparent = 2131099895;
-			
-			// aapt resource value: 0x7F0600F8
-			public const int transparent_bg = 2131099896;
+			public const int tooltip_background_light = 2131099892;
 			
 			// aapt resource value: 0x7F0600F5
-			public const int trans_bg_color = 2131099893;
+			public const int topbar_title_color = 2131099893;
+			
+			// aapt resource value: 0x7F0600F7
+			public const int translucent_black = 2131099895;
+			
+			// aapt resource value: 0x7F0600F8
+			public const int transparent = 2131099896;
 			
 			// aapt resource value: 0x7F0600F9
-			public const int tv_my_blue = 2131099897;
+			public const int transparent_bg = 2131099897;
+			
+			// aapt resource value: 0x7F0600F6
+			public const int trans_bg_color = 2131099894;
 			
 			// aapt resource value: 0x7F0600FA
-			public const int unopen = 2131099898;
+			public const int tv_my_blue = 2131099898;
 			
 			// aapt resource value: 0x7F0600FB
-			public const int upgrade_gray = 2131099899;
+			public const int unopen = 2131099899;
 			
 			// aapt resource value: 0x7F0600FC
-			public const int upgrade_green = 2131099900;
+			public const int upgrade_gray = 2131099900;
 			
 			// aapt resource value: 0x7F0600FD
-			public const int upgrade_orange = 2131099901;
+			public const int upgrade_green = 2131099901;
 			
 			// aapt resource value: 0x7F0600FE
-			public const int upgrade_red = 2131099902;
+			public const int upgrade_orange = 2131099902;
 			
 			// aapt resource value: 0x7F0600FF
-			public const int upload_sel_count = 2131099903;
+			public const int upgrade_red = 2131099903;
 			
 			// aapt resource value: 0x7F060100
-			public const int upsdk_color_gray_1 = 2131099904;
+			public const int upload_sel_count = 2131099904;
 			
 			// aapt resource value: 0x7F060101
-			public const int upsdk_color_gray_10 = 2131099905;
+			public const int upsdk_color_gray_1 = 2131099905;
 			
 			// aapt resource value: 0x7F060102
-			public const int upsdk_color_gray_7 = 2131099906;
+			public const int upsdk_color_gray_10 = 2131099906;
 			
 			// aapt resource value: 0x7F060103
-			public const int version_gray = 2131099907;
+			public const int upsdk_color_gray_7 = 2131099907;
 			
 			// aapt resource value: 0x7F060104
-			public const int video_talk_sdk_black = 2131099908;
+			public const int version_gray = 2131099908;
 			
 			// aapt resource value: 0x7F060105
-			public const int video_talk_sdk_hint_color_gray = 2131099909;
+			public const int video_talk_sdk_black = 2131099909;
 			
 			// aapt resource value: 0x7F060106
-			public const int video_talk_sdk_text_color_black = 2131099910;
+			public const int video_talk_sdk_hint_color_gray = 2131099910;
 			
 			// aapt resource value: 0x7F060107
-			public const int video_talk_sdk_text_color_gray = 2131099911;
+			public const int video_talk_sdk_text_color_black = 2131099911;
 			
 			// aapt resource value: 0x7F060108
-			public const int video_talk_sdk_white = 2131099912;
+			public const int video_talk_sdk_text_color_gray = 2131099912;
 			
 			// aapt resource value: 0x7F060109
-			public const int viewfinder_frame = 2131099913;
+			public const int video_talk_sdk_white = 2131099913;
 			
 			// aapt resource value: 0x7F06010A
-			public const int viewfinder_laser = 2131099914;
+			public const int viewfinder_frame = 2131099914;
 			
 			// aapt resource value: 0x7F06010B
-			public const int viewfinder_mask = 2131099915;
+			public const int viewfinder_laser = 2131099915;
 			
 			// aapt resource value: 0x7F06010C
-			public const int white = 2131099916;
+			public const int viewfinder_mask = 2131099916;
 			
 			// aapt resource value: 0x7F06010D
-			public const int yahei = 2131099917;
+			public const int white = 2131099917;
 			
 			// aapt resource value: 0x7F06010E
-			public const int yellow_text = 2131099918;
+			public const int yahei = 2131099918;
 			
 			// aapt resource value: 0x7F06010F
-			public const int zxing_custom_possible_result_points = 2131099919;
+			public const int yellow_text = 2131099919;
 			
 			// aapt resource value: 0x7F060110
-			public const int zxing_custom_result_view = 2131099920;
+			public const int zxing_custom_possible_result_points = 2131099920;
 			
 			// aapt resource value: 0x7F060111
-			public const int zxing_custom_viewfinder_laser = 2131099921;
+			public const int zxing_custom_result_view = 2131099921;
 			
 			// aapt resource value: 0x7F060112
-			public const int zxing_custom_viewfinder_mask = 2131099922;
+			public const int zxing_custom_viewfinder_laser = 2131099922;
 			
 			// aapt resource value: 0x7F060113
-			public const int zxing_possible_result_points = 2131099923;
+			public const int zxing_custom_viewfinder_mask = 2131099923;
 			
 			// aapt resource value: 0x7F060114
-			public const int zxing_result_view = 2131099924;
+			public const int zxing_possible_result_points = 2131099924;
 			
 			// aapt resource value: 0x7F060115
-			public const int zxing_status_text = 2131099925;
+			public const int zxing_result_view = 2131099925;
 			
 			// aapt resource value: 0x7F060116
-			public const int zxing_transparent = 2131099926;
+			public const int zxing_status_text = 2131099926;
 			
 			// aapt resource value: 0x7F060117
-			public const int zxing_viewfinder_laser = 2131099927;
+			public const int zxing_transparent = 2131099927;
 			
 			// aapt resource value: 0x7F060118
-			public const int zxing_viewfinder_mask = 2131099928;
+			public const int zxing_viewfinder_laser = 2131099928;
+			
+			// aapt resource value: 0x7F060119
+			public const int zxing_viewfinder_mask = 2131099929;
 			
 			static Color()
 			{
@@ -5323,1567 +5326,1576 @@
 			public const int lp_calltime_shape_gray = 2131231266;
 			
 			// aapt resource value: 0x7F080223
-			public const int lp_line_shape = 2131231267;
+			public const int lp_dialog_background = 2131231267;
 			
 			// aapt resource value: 0x7F080224
-			public const int mesage_details_callhelp = 2131231268;
+			public const int lp_dialog_cancel_background = 2131231268;
 			
 			// aapt resource value: 0x7F080225
-			public const int mesage_details_curtain = 2131231269;
+			public const int lp_dialog_confirm_background = 2131231269;
 			
 			// aapt resource value: 0x7F080226
-			public const int mesage_details_data = 2131231270;
+			public const int lp_line_shape = 2131231270;
 			
 			// aapt resource value: 0x7F080227
-			public const int mesage_details_door = 2131231271;
+			public const int mesage_details_callhelp = 2131231271;
 			
 			// aapt resource value: 0x7F080228
-			public const int mesage_details_gas = 2131231272;
+			public const int mesage_details_curtain = 2131231272;
 			
 			// aapt resource value: 0x7F080229
-			public const int mesage_details_hdd = 2131231273;
+			public const int mesage_details_data = 2131231273;
 			
 			// aapt resource value: 0x7F08022A
-			public const int mesage_details_infrared = 2131231274;
+			public const int mesage_details_door = 2131231274;
 			
 			// aapt resource value: 0x7F08022B
-			public const int mesage_details_keyboard = 2131231275;
+			public const int mesage_details_gas = 2131231275;
 			
 			// aapt resource value: 0x7F08022C
-			public const int mesage_details_loss = 2131231276;
+			public const int mesage_details_hdd = 2131231276;
 			
 			// aapt resource value: 0x7F08022D
-			public const int mesage_details_low_battery = 2131231277;
+			public const int mesage_details_infrared = 2131231277;
 			
 			// aapt resource value: 0x7F08022E
-			public const int mesage_details_offline = 2131231278;
+			public const int mesage_details_keyboard = 2131231278;
 			
 			// aapt resource value: 0x7F08022F
-			public const int mesage_details_power = 2131231279;
+			public const int mesage_details_loss = 2131231279;
 			
 			// aapt resource value: 0x7F080230
-			public const int mesage_details_smoke = 2131231280;
+			public const int mesage_details_low_battery = 2131231280;
 			
 			// aapt resource value: 0x7F080231
-			public const int mesage_details_tampering = 2131231281;
+			public const int mesage_details_offline = 2131231281;
 			
 			// aapt resource value: 0x7F080232
-			public const int mesage_details_video_loss = 2131231282;
+			public const int mesage_details_power = 2131231282;
 			
 			// aapt resource value: 0x7F080233
-			public const int mesage_details_water = 2131231283;
+			public const int mesage_details_smoke = 2131231283;
 			
 			// aapt resource value: 0x7F080234
-			public const int message = 2131231284;
+			public const int mesage_details_tampering = 2131231284;
 			
 			// aapt resource value: 0x7F080235
-			public const int message_a1_bg = 2131231285;
+			public const int mesage_details_video_loss = 2131231285;
 			
 			// aapt resource value: 0x7F080236
-			public const int message_back = 2131231286;
+			public const int mesage_details_water = 2131231286;
 			
 			// aapt resource value: 0x7F080237
-			public const int message_back_sel = 2131231287;
+			public const int message = 2131231287;
 			
 			// aapt resource value: 0x7F080238
-			public const int message_back_selector = 2131231288;
+			public const int message_a1_bg = 2131231288;
 			
 			// aapt resource value: 0x7F080239
-			public const int message_border_bg = 2131231289;
+			public const int message_back = 2131231289;
 			
 			// aapt resource value: 0x7F08023A
-			public const int message_callhelp = 2131231290;
+			public const int message_back_sel = 2131231290;
 			
 			// aapt resource value: 0x7F08023B
-			public const int message_curtain = 2131231291;
+			public const int message_back_selector = 2131231291;
 			
 			// aapt resource value: 0x7F08023C
-			public const int message_data = 2131231292;
+			public const int message_border_bg = 2131231292;
 			
 			// aapt resource value: 0x7F08023D
-			public const int message_door = 2131231293;
+			public const int message_callhelp = 2131231293;
 			
 			// aapt resource value: 0x7F08023E
-			public const int message_gas = 2131231294;
+			public const int message_curtain = 2131231294;
 			
 			// aapt resource value: 0x7F08023F
-			public const int message_hdd = 2131231295;
+			public const int message_data = 2131231295;
 			
 			// aapt resource value: 0x7F080240
-			public const int message_infrared = 2131231296;
+			public const int message_door = 2131231296;
 			
 			// aapt resource value: 0x7F080241
-			public const int message_item_bg_selector = 2131231297;
+			public const int message_gas = 2131231297;
 			
 			// aapt resource value: 0x7F080242
-			public const int message_keyboard = 2131231298;
+			public const int message_hdd = 2131231298;
 			
 			// aapt resource value: 0x7F080243
-			public const int message_loss = 2131231299;
+			public const int message_infrared = 2131231299;
 			
 			// aapt resource value: 0x7F080244
-			public const int message_low_battery = 2131231300;
+			public const int message_item_bg_selector = 2131231300;
 			
 			// aapt resource value: 0x7F080245
-			public const int message_move_magnetometer = 2131231301;
+			public const int message_keyboard = 2131231301;
 			
 			// aapt resource value: 0x7F080246
-			public const int message_offline = 2131231302;
+			public const int message_loss = 2131231302;
 			
 			// aapt resource value: 0x7F080247
-			public const int message_play = 2131231303;
+			public const int message_low_battery = 2131231303;
 			
 			// aapt resource value: 0x7F080248
-			public const int message_play_dis = 2131231304;
+			public const int message_move_magnetometer = 2131231304;
 			
 			// aapt resource value: 0x7F080249
-			public const int message_play_sel = 2131231305;
+			public const int message_offline = 2131231305;
 			
 			// aapt resource value: 0x7F08024A
-			public const int message_play_selector = 2131231306;
+			public const int message_play = 2131231306;
 			
 			// aapt resource value: 0x7F08024B
-			public const int message_power = 2131231307;
+			public const int message_play_dis = 2131231307;
 			
 			// aapt resource value: 0x7F08024C
-			public const int message_sel = 2131231308;
+			public const int message_play_sel = 2131231308;
 			
 			// aapt resource value: 0x7F08024D
-			public const int message_smoke = 2131231309;
+			public const int message_play_selector = 2131231309;
 			
 			// aapt resource value: 0x7F08024E
-			public const int message_tampering = 2131231310;
+			public const int message_power = 2131231310;
 			
 			// aapt resource value: 0x7F08024F
-			public const int message_video = 2131231311;
+			public const int message_sel = 2131231311;
 			
 			// aapt resource value: 0x7F080250
-			public const int message_video_dis = 2131231312;
+			public const int message_smoke = 2131231312;
 			
 			// aapt resource value: 0x7F080251
-			public const int message_video_loss = 2131231313;
+			public const int message_tampering = 2131231313;
 			
 			// aapt resource value: 0x7F080252
-			public const int message_video_sel = 2131231314;
+			public const int message_video = 2131231314;
 			
 			// aapt resource value: 0x7F080253
-			public const int message_video_selector = 2131231315;
+			public const int message_video_dis = 2131231315;
 			
 			// aapt resource value: 0x7F080254
-			public const int message_water = 2131231316;
+			public const int message_video_loss = 2131231316;
 			
 			// aapt resource value: 0x7F080255
-			public const int mic = 2131231317;
+			public const int message_video_sel = 2131231317;
 			
 			// aapt resource value: 0x7F080256
-			public const int mm_trans = 2131231318;
+			public const int message_video_selector = 2131231318;
 			
 			// aapt resource value: 0x7F080257
-			public const int more = 2131231319;
+			public const int message_water = 2131231319;
 			
 			// aapt resource value: 0x7F080258
-			public const int my_5k_vr = 2131231320;
+			public const int mic = 2131231320;
 			
 			// aapt resource value: 0x7F080259
-			public const int my_5k_vr116 = 2131231321;
+			public const int mm_trans = 2131231321;
 			
 			// aapt resource value: 0x7F08025A
-			public const int my_a1 = 2131231322;
+			public const int more = 2131231322;
 			
 			// aapt resource value: 0x7F08025B
-			public const int my_a1c = 2131231323;
+			public const int my_5k_vr = 2131231323;
 			
 			// aapt resource value: 0x7F08025C
-			public const int my_a1s = 2131231324;
+			public const int my_5k_vr116 = 2131231324;
 			
 			// aapt resource value: 0x7F08025D
-			public const int my_add = 2131231325;
+			public const int my_a1 = 2131231325;
 			
 			// aapt resource value: 0x7F08025E
-			public const int my_c6p = 2131231326;
+			public const int my_a1c = 2131231326;
 			
 			// aapt resource value: 0x7F08025F
-			public const int my_c6t = 2131231327;
+			public const int my_a1s = 2131231327;
 			
 			// aapt resource value: 0x7F080260
-			public const int my_cover = 2131231328;
+			public const int my_add = 2131231328;
 			
 			// aapt resource value: 0x7F080261
-			public const int my_cover620 = 2131231329;
+			public const int my_c6p = 2131231329;
 			
 			// aapt resource value: 0x7F080262
-			public const int my_db1 = 2131231330;
+			public const int my_c6t = 2131231330;
 			
 			// aapt resource value: 0x7F080263
-			public const int my_doorbell = 2131231331;
+			public const int my_cover = 2131231331;
 			
 			// aapt resource value: 0x7F080264
-			public const int my_doorbell_hik = 2131231332;
+			public const int my_cover620 = 2131231332;
 			
 			// aapt resource value: 0x7F080265
-			public const int my_n1 = 2131231333;
+			public const int my_db1 = 2131231333;
 			
 			// aapt resource value: 0x7F080266
-			public const int my_no_video = 2131231334;
+			public const int my_doorbell = 2131231334;
 			
 			// aapt resource value: 0x7F080267
-			public const int my_progress_drawable = 2131231335;
+			public const int my_doorbell_hik = 2131231335;
 			
 			// aapt resource value: 0x7F080268
-			public const int my_r1 = 2131231336;
+			public const int my_n1 = 2131231336;
 			
 			// aapt resource value: 0x7F080269
-			public const int my_r2 = 2131231337;
+			public const int my_no_video = 2131231337;
 			
 			// aapt resource value: 0x7F08026A
-			public const int my_shoping = 2131231338;
+			public const int my_progress_drawable = 2131231338;
 			
 			// aapt resource value: 0x7F08026B
-			public const int my_switch_off = 2131231339;
+			public const int my_r1 = 2131231339;
 			
 			// aapt resource value: 0x7F08026C
-			public const int my_switch_on = 2131231340;
+			public const int my_r2 = 2131231340;
 			
 			// aapt resource value: 0x7F08026D
-			public const int my_switch_selector = 2131231341;
+			public const int my_shoping = 2131231341;
 			
 			// aapt resource value: 0x7F08026E
-			public const int my_vr104d = 2131231342;
+			public const int my_switch_off = 2131231342;
 			
 			// aapt resource value: 0x7F08026F
-			public const int my_w1 = 2131231343;
+			public const int my_switch_on = 2131231343;
 			
 			// aapt resource value: 0x7F080270
-			public const int my_w2d = 2131231344;
+			public const int my_switch_selector = 2131231344;
 			
 			// aapt resource value: 0x7F080271
-			public const int my_w2s = 2131231345;
+			public const int my_vr104d = 2131231345;
 			
 			// aapt resource value: 0x7F080272
-			public const int my_w3 = 2131231346;
+			public const int my_w1 = 2131231346;
 			
 			// aapt resource value: 0x7F080273
-			public const int my_wlb = 2131231347;
+			public const int my_w2d = 2131231347;
 			
 			// aapt resource value: 0x7F080274
-			public const int my_x1 = 2131231348;
+			public const int my_w2s = 2131231348;
 			
 			// aapt resource value: 0x7F080275
-			public const int my_x2 = 2131231349;
+			public const int my_w3 = 2131231349;
 			
 			// aapt resource value: 0x7F080276
-			public const int my_x3 = 2131231350;
+			public const int my_wlb = 2131231350;
 			
 			// aapt resource value: 0x7F080277
-			public const int my_x3c = 2131231351;
+			public const int my_x1 = 2131231351;
 			
 			// aapt resource value: 0x7F080278
-			public const int my_x4 = 2131231352;
+			public const int my_x2 = 2131231352;
 			
 			// aapt resource value: 0x7F080279
-			public const int my_x5c = 2131231353;
+			public const int my_x3 = 2131231353;
 			
 			// aapt resource value: 0x7F08027A
-			public const int name_del = 2131231354;
+			public const int my_x3c = 2131231354;
 			
 			// aapt resource value: 0x7F08027B
-			public const int name_del_sel = 2131231355;
+			public const int my_x4 = 2131231355;
 			
 			// aapt resource value: 0x7F08027C
-			public const int name_del_selector = 2131231356;
+			public const int my_x5c = 2131231356;
 			
 			// aapt resource value: 0x7F08027D
-			public const int navigation_empty_icon = 2131231357;
-			
-			// aapt resource value: 0x7F080280
-			public const int nomessage = 2131231360;
-			
-			// aapt resource value: 0x7F080281
-			public const int notification_action_background = 2131231361;
-			
-			// aapt resource value: 0x7F080282
-			public const int notification_bg = 2131231362;
-			
-			// aapt resource value: 0x7F080283
-			public const int notification_bg_low = 2131231363;
-			
-			// aapt resource value: 0x7F080284
-			public const int notification_bg_low_normal = 2131231364;
-			
-			// aapt resource value: 0x7F080285
-			public const int notification_bg_low_pressed = 2131231365;
-			
-			// aapt resource value: 0x7F080286
-			public const int notification_bg_normal = 2131231366;
-			
-			// aapt resource value: 0x7F080287
-			public const int notification_bg_normal_pressed = 2131231367;
-			
-			// aapt resource value: 0x7F080288
-			public const int notification_icon_background = 2131231368;
-			
-			// aapt resource value: 0x7F080289
-			public const int notification_template_icon_bg = 2131231369;
-			
-			// aapt resource value: 0x7F08028A
-			public const int notification_template_icon_low_bg = 2131231370;
-			
-			// aapt resource value: 0x7F08028B
-			public const int notification_tile_bg = 2131231371;
-			
-			// aapt resource value: 0x7F08028C
-			public const int notify_bg = 2131231372;
-			
-			// aapt resource value: 0x7F08028D
-			public const int notify_panel_notification_icon_bg = 2131231373;
+			public const int name_del = 2131231357;
 			
 			// aapt resource value: 0x7F08027E
-			public const int no_message = 2131231358;
+			public const int name_del_sel = 2131231358;
 			
 			// aapt resource value: 0x7F08027F
-			public const int no_read = 2131231359;
+			public const int name_del_selector = 2131231359;
+			
+			// aapt resource value: 0x7F080280
+			public const int navigation_empty_icon = 2131231360;
+			
+			// aapt resource value: 0x7F080283
+			public const int nomessage = 2131231363;
+			
+			// aapt resource value: 0x7F080284
+			public const int notification_action_background = 2131231364;
+			
+			// aapt resource value: 0x7F080285
+			public const int notification_bg = 2131231365;
+			
+			// aapt resource value: 0x7F080286
+			public const int notification_bg_low = 2131231366;
+			
+			// aapt resource value: 0x7F080287
+			public const int notification_bg_low_normal = 2131231367;
+			
+			// aapt resource value: 0x7F080288
+			public const int notification_bg_low_pressed = 2131231368;
+			
+			// aapt resource value: 0x7F080289
+			public const int notification_bg_normal = 2131231369;
+			
+			// aapt resource value: 0x7F08028A
+			public const int notification_bg_normal_pressed = 2131231370;
+			
+			// aapt resource value: 0x7F08028B
+			public const int notification_icon_background = 2131231371;
+			
+			// aapt resource value: 0x7F08028C
+			public const int notification_template_icon_bg = 2131231372;
+			
+			// aapt resource value: 0x7F08028D
+			public const int notification_template_icon_low_bg = 2131231373;
 			
 			// aapt resource value: 0x7F08028E
-			public const int number_bg = 2131231374;
+			public const int notification_tile_bg = 2131231374;
 			
 			// aapt resource value: 0x7F08028F
-			public const int offline = 2131231375;
+			public const int notify_bg = 2131231375;
 			
 			// aapt resource value: 0x7F080290
-			public const int open_cameralist_alarmlist_selector = 2131231376;
+			public const int notify_panel_notification_icon_bg = 2131231376;
+			
+			// aapt resource value: 0x7F080281
+			public const int no_message = 2131231361;
+			
+			// aapt resource value: 0x7F080282
+			public const int no_read = 2131231362;
 			
 			// aapt resource value: 0x7F080291
-			public const int open_cameralist_button_selector = 2131231377;
+			public const int number_bg = 2131231377;
 			
 			// aapt resource value: 0x7F080292
-			public const int open_cameralist_remotepb_selector = 2131231378;
+			public const int offline = 2131231378;
 			
 			// aapt resource value: 0x7F080293
-			public const int open_cameralist_setup_selector = 2131231379;
+			public const int open_cameralist_alarmlist_selector = 2131231379;
 			
 			// aapt resource value: 0x7F080294
-			public const int opinion = 2131231380;
+			public const int open_cameralist_button_selector = 2131231380;
 			
 			// aapt resource value: 0x7F080295
-			public const int palyback_alarm_icon2 = 2131231381;
+			public const int open_cameralist_remotepb_selector = 2131231381;
 			
 			// aapt resource value: 0x7F080296
-			public const int palyback_close = 2131231382;
+			public const int open_cameralist_setup_selector = 2131231382;
 			
 			// aapt resource value: 0x7F080297
-			public const int palyback_close_sel = 2131231383;
+			public const int opinion = 2131231383;
 			
 			// aapt resource value: 0x7F080298
-			public const int palyback_close_selector = 2131231384;
+			public const int palyback_alarm_icon2 = 2131231384;
 			
 			// aapt resource value: 0x7F080299
-			public const int palyback_date_down = 2131231385;
+			public const int palyback_close = 2131231385;
 			
 			// aapt resource value: 0x7F08029A
-			public const int palyback_date_down_sel = 2131231386;
+			public const int palyback_close_sel = 2131231386;
 			
 			// aapt resource value: 0x7F08029B
-			public const int palyback_full_down = 2131231387;
+			public const int palyback_close_selector = 2131231387;
 			
 			// aapt resource value: 0x7F08029C
-			public const int palyback_full_up = 2131231388;
+			public const int palyback_date_down = 2131231388;
 			
 			// aapt resource value: 0x7F08029D
-			public const int palyback_nest = 2131231389;
+			public const int palyback_date_down_sel = 2131231389;
 			
 			// aapt resource value: 0x7F08029E
-			public const int palyback_pause = 2131231390;
+			public const int palyback_full_down = 2131231390;
 			
 			// aapt resource value: 0x7F08029F
-			public const int palyback_pause_sel = 2131231391;
+			public const int palyback_full_up = 2131231391;
 			
 			// aapt resource value: 0x7F0802A0
-			public const int palyback_previously = 2131231392;
+			public const int palyback_nest = 2131231392;
 			
 			// aapt resource value: 0x7F0802A1
-			public const int palyback_previously_sel = 2131231393;
+			public const int palyback_pause = 2131231393;
 			
 			// aapt resource value: 0x7F0802A2
-			public const int palyback_previously_selector = 2131231394;
+			public const int palyback_pause_sel = 2131231394;
 			
 			// aapt resource value: 0x7F0802A3
-			public const int palyback_replay = 2131231395;
+			public const int palyback_previously = 2131231395;
 			
 			// aapt resource value: 0x7F0802A4
-			public const int palyback_retry = 2131231396;
+			public const int palyback_previously_sel = 2131231396;
 			
 			// aapt resource value: 0x7F0802A5
-			public const int palyback_time_bg = 2131231397;
+			public const int palyback_previously_selector = 2131231397;
 			
 			// aapt resource value: 0x7F0802A6
-			public const int palyback_video = 2131231398;
+			public const int palyback_replay = 2131231398;
 			
 			// aapt resource value: 0x7F0802A7
-			public const int palyback_video_now = 2131231399;
+			public const int palyback_retry = 2131231399;
 			
 			// aapt resource value: 0x7F0802A8
-			public const int palyback_video_now_sel = 2131231400;
+			public const int palyback_time_bg = 2131231400;
 			
 			// aapt resource value: 0x7F0802A9
-			public const int palyback_video_now_selector = 2131231401;
+			public const int palyback_video = 2131231401;
 			
 			// aapt resource value: 0x7F0802AA
-			public const int palyback_video_sel = 2131231402;
+			public const int palyback_video_now = 2131231402;
 			
 			// aapt resource value: 0x7F0802AB
-			public const int palyback_video_selector = 2131231403;
+			public const int palyback_video_now_sel = 2131231403;
 			
 			// aapt resource value: 0x7F0802AC
-			public const int pause = 2131231404;
+			public const int palyback_video_now_selector = 2131231404;
 			
 			// aapt resource value: 0x7F0802AD
-			public const int pause_sel = 2131231405;
+			public const int palyback_video_sel = 2131231405;
 			
 			// aapt resource value: 0x7F0802AE
-			public const int pic_bg = 2131231406;
+			public const int palyback_video_selector = 2131231406;
 			
 			// aapt resource value: 0x7F0802AF
-			public const int play = 2131231407;
-			
-			// aapt resource value: 0x7F08030E
-			public const int playback = 2131231502;
-			
-			// aapt resource value: 0x7F08031E
-			public const int playbackslider = 2131231518;
-			
-			// aapt resource value: 0x7F08031F
-			public const int playbackslider_sel = 2131231519;
-			
-			// aapt resource value: 0x7F08030F
-			public const int playback_button = 2131231503;
-			
-			// aapt resource value: 0x7F080310
-			public const int playback_cancel = 2131231504;
-			
-			// aapt resource value: 0x7F080311
-			public const int playback_check_selector = 2131231505;
-			
-			// aapt resource value: 0x7F080312
-			public const int playback_cover2 = 2131231506;
-			
-			// aapt resource value: 0x7F080313
-			public const int playback_cut = 2131231507;
-			
-			// aapt resource value: 0x7F080314
-			public const int playback_cut_btn_selector = 2131231508;
-			
-			// aapt resource value: 0x7F080315
-			public const int playback_cut_disable = 2131231509;
-			
-			// aapt resource value: 0x7F080316
-			public const int playback_cut_sel = 2131231510;
-			
-			// aapt resource value: 0x7F080317
-			public const int playback_matte = 2131231511;
-			
-			// aapt resource value: 0x7F080318
-			public const int playback_more_down = 2131231512;
-			
-			// aapt resource value: 0x7F080319
-			public const int playback_more_down1 = 2131231513;
-			
-			// aapt resource value: 0x7F08031A
-			public const int playback_more_up1 = 2131231514;
-			
-			// aapt resource value: 0x7F08031B
-			public const int playback_play = 2131231515;
-			
-			// aapt resource value: 0x7F08031C
-			public const int playback_play_sel = 2131231516;
-			
-			// aapt resource value: 0x7F08031D
-			public const int playback_sel = 2131231517;
-			
-			// aapt resource value: 0x7F080320
-			public const int playbtn_selector = 2131231520;
+			public const int pause = 2131231407;
 			
 			// aapt resource value: 0x7F0802B0
-			public const int play_balanced = 2131231408;
+			public const int pause_sel = 2131231408;
 			
 			// aapt resource value: 0x7F0802B1
-			public const int play_balanced_disabel = 2131231409;
+			public const int pic_bg = 2131231409;
 			
 			// aapt resource value: 0x7F0802B2
-			public const int play_balanced_sel = 2131231410;
+			public const int play = 2131231410;
 			
-			// aapt resource value: 0x7F0802B3
-			public const int play_balanced_selector = 2131231411;
-			
-			// aapt resource value: 0x7F0802B4
-			public const int play_big = 2131231412;
-			
-			// aapt resource value: 0x7F0802B6
-			public const int play_bigbtn_selector = 2131231414;
-			
-			// aapt resource value: 0x7F0802B5
-			public const int play_big_press = 2131231413;
-			
-			// aapt resource value: 0x7F0802B7
-			public const int play_button_bg = 2131231415;
-			
-			// aapt resource value: 0x7F0802B8
-			public const int play_button_sel = 2131231416;
-			
-			// aapt resource value: 0x7F0802B9
-			public const int play_button_selector = 2131231417;
-			
-			// aapt resource value: 0x7F0802BA
-			public const int play_close = 2131231418;
-			
-			// aapt resource value: 0x7F0802BB
-			public const int play_close_sel = 2131231419;
-			
-			// aapt resource value: 0x7F0802BC
-			public const int play_close_selector = 2131231420;
-			
-			// aapt resource value: 0x7F0802BD
-			public const int play_disable = 2131231421;
-			
-			// aapt resource value: 0x7F0802BE
-			public const int play_flunet = 2131231422;
-			
-			// aapt resource value: 0x7F0802BF
-			public const int play_flunet_disabel = 2131231423;
-			
-			// aapt resource value: 0x7F0802C0
-			public const int play_flunet_sel = 2131231424;
-			
-			// aapt resource value: 0x7F0802C1
-			public const int play_flunet_selector = 2131231425;
-			
-			// aapt resource value: 0x7F0802C2
-			public const int play_full_loding_logo = 2131231426;
-			
-			// aapt resource value: 0x7F0802C3
-			public const int play_full_multiple = 2131231427;
-			
-			// aapt resource value: 0x7F0802C4
-			public const int play_full_multiple2 = 2131231428;
-			
-			// aapt resource value: 0x7F0802C5
-			public const int play_full_multiple3 = 2131231429;
-			
-			// aapt resource value: 0x7F0802C6
-			public const int play_full_multiple4 = 2131231430;
-			
-			// aapt resource value: 0x7F0802C7
-			public const int play_full_multiple5 = 2131231431;
-			
-			// aapt resource value: 0x7F0802C8
-			public const int play_full_pause = 2131231432;
-			
-			// aapt resource value: 0x7F0802C9
-			public const int play_full_pause_sel = 2131231433;
-			
-			// aapt resource value: 0x7F0802CA
-			public const int play_full_pause_selector = 2131231434;
-			
-			// aapt resource value: 0x7F0802CB
-			public const int play_full_play = 2131231435;
-			
-			// aapt resource value: 0x7F0802CC
-			public const int play_full_play_sel = 2131231436;
-			
-			// aapt resource value: 0x7F0802CD
-			public const int play_full_play_selector = 2131231437;
-			
-			// aapt resource value: 0x7F0802CE
-			public const int play_full_previously = 2131231438;
-			
-			// aapt resource value: 0x7F0802CF
-			public const int play_full_previously_sel = 2131231439;
-			
-			// aapt resource value: 0x7F0802D0
-			public const int play_full_previously_selector = 2131231440;
-			
-			// aapt resource value: 0x7F0802D1
-			public const int play_full_ptz_selector = 2131231441;
-			
-			// aapt resource value: 0x7F0802D2
-			public const int play_full_quality_color_selector = 2131231442;
-			
-			// aapt resource value: 0x7F0802D3
-			public const int play_full_quality_selector = 2131231443;
-			
-			// aapt resource value: 0x7F0802D4
-			public const int play_full_soundoff_btn_selector = 2131231444;
-			
-			// aapt resource value: 0x7F0802D5
-			public const int play_full_soundon_btn_selector = 2131231445;
-			
-			// aapt resource value: 0x7F0802D6
-			public const int play_full_stop = 2131231446;
-			
-			// aapt resource value: 0x7F0802D7
-			public const int play_full_stop_sel = 2131231447;
-			
-			// aapt resource value: 0x7F0802D8
-			public const int play_full_stop_selector = 2131231448;
-			
-			// aapt resource value: 0x7F0802D9
-			public const int play_full_talk_selector = 2131231449;
-			
-			// aapt resource value: 0x7F0802DA
-			public const int play_full_video = 2131231450;
-			
-			// aapt resource value: 0x7F0802DB
-			public const int play_full_video_now = 2131231451;
-			
-			// aapt resource value: 0x7F0802DC
-			public const int play_full_video_now_sel = 2131231452;
-			
-			// aapt resource value: 0x7F0802DD
-			public const int play_full_video_now_selector = 2131231453;
-			
-			// aapt resource value: 0x7F0802DE
-			public const int play_full_video_sel = 2131231454;
-			
-			// aapt resource value: 0x7F0802DF
-			public const int play_full_video_selector = 2131231455;
-			
-			// aapt resource value: 0x7F0802E0
-			public const int play_hd = 2131231456;
-			
-			// aapt resource value: 0x7F0802E1
-			public const int play_hd_disabel = 2131231457;
-			
-			// aapt resource value: 0x7F0802E2
-			public const int play_hd_sel = 2131231458;
-			
-			// aapt resource value: 0x7F0802E3
-			public const int play_hd_selector = 2131231459;
-			
-			// aapt resource value: 0x7F0802E4
-			public const int play_play = 2131231460;
-			
-			// aapt resource value: 0x7F0802E5
-			public const int play_play_dis = 2131231461;
-			
-			// aapt resource value: 0x7F0802E6
-			public const int play_play_sel = 2131231462;
-			
-			// aapt resource value: 0x7F0802E7
-			public const int play_play_selector = 2131231463;
-			
-			// aapt resource value: 0x7F0802E8
-			public const int play_press = 2131231464;
-			
-			// aapt resource value: 0x7F0802E9
-			public const int play_previously = 2131231465;
-			
-			// aapt resource value: 0x7F0802EA
-			public const int play_previously_dis = 2131231466;
-			
-			// aapt resource value: 0x7F0802EB
-			public const int play_previously_sel = 2131231467;
-			
-			// aapt resource value: 0x7F0802EC
-			public const int play_previously_selector = 2131231468;
-			
-			// aapt resource value: 0x7F0802ED
-			public const int play_privacy_selector = 2131231469;
-			
-			// aapt resource value: 0x7F0802EE
-			public const int play_ptz = 2131231470;
-			
-			// aapt resource value: 0x7F0802EF
-			public const int play_ptz_dis = 2131231471;
-			
-			// aapt resource value: 0x7F0802F0
-			public const int play_ptz_sel = 2131231472;
-			
-			// aapt resource value: 0x7F0802F1
-			public const int play_ptz_selector = 2131231473;
-			
-			// aapt resource value: 0x7F0802F2
-			public const int play_small = 2131231474;
-			
-			// aapt resource value: 0x7F0802F4
-			public const int play_smallbtn_selector = 2131231476;
-			
-			// aapt resource value: 0x7F0802F3
-			public const int play_small_press = 2131231475;
-			
-			// aapt resource value: 0x7F0802F5
-			public const int play_speech = 2131231477;
-			
-			// aapt resource value: 0x7F0802F6
-			public const int play_speech_dis = 2131231478;
-			
-			// aapt resource value: 0x7F0802F7
-			public const int play_speech_sel = 2131231479;
-			
-			// aapt resource value: 0x7F0802F8
-			public const int play_speech_selector = 2131231480;
-			
-			// aapt resource value: 0x7F0802F9
-			public const int play_stop = 2131231481;
-			
-			// aapt resource value: 0x7F0802FA
-			public const int play_stop_sel = 2131231482;
-			
-			// aapt resource value: 0x7F0802FB
-			public const int play_stop_selector = 2131231483;
-			
-			// aapt resource value: 0x7F0802FC
-			public const int play_talk = 2131231484;
-			
-			// aapt resource value: 0x7F080300
-			public const int play_talkback = 2131231488;
-			
-			// aapt resource value: 0x7F080301
-			public const int play_talkback_sel = 2131231489;
-			
-			// aapt resource value: 0x7F080302
-			public const int play_talkback_selector = 2131231490;
-			
-			// aapt resource value: 0x7F0802FD
-			public const int play_talk_dis = 2131231485;
-			
-			// aapt resource value: 0x7F0802FE
-			public const int play_talk_sel = 2131231486;
-			
-			// aapt resource value: 0x7F0802FF
-			public const int play_talk_selector = 2131231487;
-			
-			// aapt resource value: 0x7F080303
-			public const int play_video = 2131231491;
-			
-			// aapt resource value: 0x7F080304
-			public const int play_video_dis = 2131231492;
-			
-			// aapt resource value: 0x7F080305
-			public const int play_video_record = 2131231493;
-			
-			// aapt resource value: 0x7F080306
-			public const int play_video_sel = 2131231494;
-			
-			// aapt resource value: 0x7F080307
-			public const int play_video_selector = 2131231495;
-			
-			// aapt resource value: 0x7F080308
-			public const int play_video_start = 2131231496;
-			
-			// aapt resource value: 0x7F080309
-			public const int play_video_time_bg = 2131231497;
-			
-			// aapt resource value: 0x7F08030A
-			public const int play_voice = 2131231498;
-			
-			// aapt resource value: 0x7F08030B
-			public const int play_voice_dis = 2131231499;
-			
-			// aapt resource value: 0x7F08030C
-			public const int play_voice_sel = 2131231500;
-			
-			// aapt resource value: 0x7F08030D
-			public const int play_voice_selector = 2131231501;
+			// aapt resource value: 0x7F080311
+			public const int playback = 2131231505;
 			
 			// aapt resource value: 0x7F080321
-			public const int popdialogbg = 2131231521;
+			public const int playbackslider = 2131231521;
 			
 			// aapt resource value: 0x7F080322
-			public const int prepare_device = 2131231522;
+			public const int playbackslider_sel = 2131231522;
+			
+			// aapt resource value: 0x7F080312
+			public const int playback_button = 2131231506;
+			
+			// aapt resource value: 0x7F080313
+			public const int playback_cancel = 2131231507;
+			
+			// aapt resource value: 0x7F080314
+			public const int playback_check_selector = 2131231508;
+			
+			// aapt resource value: 0x7F080315
+			public const int playback_cover2 = 2131231509;
+			
+			// aapt resource value: 0x7F080316
+			public const int playback_cut = 2131231510;
+			
+			// aapt resource value: 0x7F080317
+			public const int playback_cut_btn_selector = 2131231511;
+			
+			// aapt resource value: 0x7F080318
+			public const int playback_cut_disable = 2131231512;
+			
+			// aapt resource value: 0x7F080319
+			public const int playback_cut_sel = 2131231513;
+			
+			// aapt resource value: 0x7F08031A
+			public const int playback_matte = 2131231514;
+			
+			// aapt resource value: 0x7F08031B
+			public const int playback_more_down = 2131231515;
+			
+			// aapt resource value: 0x7F08031C
+			public const int playback_more_down1 = 2131231516;
+			
+			// aapt resource value: 0x7F08031D
+			public const int playback_more_up1 = 2131231517;
+			
+			// aapt resource value: 0x7F08031E
+			public const int playback_play = 2131231518;
+			
+			// aapt resource value: 0x7F08031F
+			public const int playback_play_sel = 2131231519;
+			
+			// aapt resource value: 0x7F080320
+			public const int playback_sel = 2131231520;
 			
 			// aapt resource value: 0x7F080323
-			public const int preview_close1_video_ico = 2131231523;
+			public const int playbtn_selector = 2131231523;
+			
+			// aapt resource value: 0x7F0802B3
+			public const int play_balanced = 2131231411;
+			
+			// aapt resource value: 0x7F0802B4
+			public const int play_balanced_disabel = 2131231412;
+			
+			// aapt resource value: 0x7F0802B5
+			public const int play_balanced_sel = 2131231413;
+			
+			// aapt resource value: 0x7F0802B6
+			public const int play_balanced_selector = 2131231414;
+			
+			// aapt resource value: 0x7F0802B7
+			public const int play_big = 2131231415;
+			
+			// aapt resource value: 0x7F0802B9
+			public const int play_bigbtn_selector = 2131231417;
+			
+			// aapt resource value: 0x7F0802B8
+			public const int play_big_press = 2131231416;
+			
+			// aapt resource value: 0x7F0802BA
+			public const int play_button_bg = 2131231418;
+			
+			// aapt resource value: 0x7F0802BB
+			public const int play_button_sel = 2131231419;
+			
+			// aapt resource value: 0x7F0802BC
+			public const int play_button_selector = 2131231420;
+			
+			// aapt resource value: 0x7F0802BD
+			public const int play_close = 2131231421;
+			
+			// aapt resource value: 0x7F0802BE
+			public const int play_close_sel = 2131231422;
+			
+			// aapt resource value: 0x7F0802BF
+			public const int play_close_selector = 2131231423;
+			
+			// aapt resource value: 0x7F0802C0
+			public const int play_disable = 2131231424;
+			
+			// aapt resource value: 0x7F0802C1
+			public const int play_flunet = 2131231425;
+			
+			// aapt resource value: 0x7F0802C2
+			public const int play_flunet_disabel = 2131231426;
+			
+			// aapt resource value: 0x7F0802C3
+			public const int play_flunet_sel = 2131231427;
+			
+			// aapt resource value: 0x7F0802C4
+			public const int play_flunet_selector = 2131231428;
+			
+			// aapt resource value: 0x7F0802C5
+			public const int play_full_loding_logo = 2131231429;
+			
+			// aapt resource value: 0x7F0802C6
+			public const int play_full_multiple = 2131231430;
+			
+			// aapt resource value: 0x7F0802C7
+			public const int play_full_multiple2 = 2131231431;
+			
+			// aapt resource value: 0x7F0802C8
+			public const int play_full_multiple3 = 2131231432;
+			
+			// aapt resource value: 0x7F0802C9
+			public const int play_full_multiple4 = 2131231433;
+			
+			// aapt resource value: 0x7F0802CA
+			public const int play_full_multiple5 = 2131231434;
+			
+			// aapt resource value: 0x7F0802CB
+			public const int play_full_pause = 2131231435;
+			
+			// aapt resource value: 0x7F0802CC
+			public const int play_full_pause_sel = 2131231436;
+			
+			// aapt resource value: 0x7F0802CD
+			public const int play_full_pause_selector = 2131231437;
+			
+			// aapt resource value: 0x7F0802CE
+			public const int play_full_play = 2131231438;
+			
+			// aapt resource value: 0x7F0802CF
+			public const int play_full_play_sel = 2131231439;
+			
+			// aapt resource value: 0x7F0802D0
+			public const int play_full_play_selector = 2131231440;
+			
+			// aapt resource value: 0x7F0802D1
+			public const int play_full_previously = 2131231441;
+			
+			// aapt resource value: 0x7F0802D2
+			public const int play_full_previously_sel = 2131231442;
+			
+			// aapt resource value: 0x7F0802D3
+			public const int play_full_previously_selector = 2131231443;
+			
+			// aapt resource value: 0x7F0802D4
+			public const int play_full_ptz_selector = 2131231444;
+			
+			// aapt resource value: 0x7F0802D5
+			public const int play_full_quality_color_selector = 2131231445;
+			
+			// aapt resource value: 0x7F0802D6
+			public const int play_full_quality_selector = 2131231446;
+			
+			// aapt resource value: 0x7F0802D7
+			public const int play_full_soundoff_btn_selector = 2131231447;
+			
+			// aapt resource value: 0x7F0802D8
+			public const int play_full_soundon_btn_selector = 2131231448;
+			
+			// aapt resource value: 0x7F0802D9
+			public const int play_full_stop = 2131231449;
+			
+			// aapt resource value: 0x7F0802DA
+			public const int play_full_stop_sel = 2131231450;
+			
+			// aapt resource value: 0x7F0802DB
+			public const int play_full_stop_selector = 2131231451;
+			
+			// aapt resource value: 0x7F0802DC
+			public const int play_full_talk_selector = 2131231452;
+			
+			// aapt resource value: 0x7F0802DD
+			public const int play_full_video = 2131231453;
+			
+			// aapt resource value: 0x7F0802DE
+			public const int play_full_video_now = 2131231454;
+			
+			// aapt resource value: 0x7F0802DF
+			public const int play_full_video_now_sel = 2131231455;
+			
+			// aapt resource value: 0x7F0802E0
+			public const int play_full_video_now_selector = 2131231456;
+			
+			// aapt resource value: 0x7F0802E1
+			public const int play_full_video_sel = 2131231457;
+			
+			// aapt resource value: 0x7F0802E2
+			public const int play_full_video_selector = 2131231458;
+			
+			// aapt resource value: 0x7F0802E3
+			public const int play_hd = 2131231459;
+			
+			// aapt resource value: 0x7F0802E4
+			public const int play_hd_disabel = 2131231460;
+			
+			// aapt resource value: 0x7F0802E5
+			public const int play_hd_sel = 2131231461;
+			
+			// aapt resource value: 0x7F0802E6
+			public const int play_hd_selector = 2131231462;
+			
+			// aapt resource value: 0x7F0802E7
+			public const int play_play = 2131231463;
+			
+			// aapt resource value: 0x7F0802E8
+			public const int play_play_dis = 2131231464;
+			
+			// aapt resource value: 0x7F0802E9
+			public const int play_play_sel = 2131231465;
+			
+			// aapt resource value: 0x7F0802EA
+			public const int play_play_selector = 2131231466;
+			
+			// aapt resource value: 0x7F0802EB
+			public const int play_press = 2131231467;
+			
+			// aapt resource value: 0x7F0802EC
+			public const int play_previously = 2131231468;
+			
+			// aapt resource value: 0x7F0802ED
+			public const int play_previously_dis = 2131231469;
+			
+			// aapt resource value: 0x7F0802EE
+			public const int play_previously_sel = 2131231470;
+			
+			// aapt resource value: 0x7F0802EF
+			public const int play_previously_selector = 2131231471;
+			
+			// aapt resource value: 0x7F0802F0
+			public const int play_privacy_selector = 2131231472;
+			
+			// aapt resource value: 0x7F0802F1
+			public const int play_ptz = 2131231473;
+			
+			// aapt resource value: 0x7F0802F2
+			public const int play_ptz_dis = 2131231474;
+			
+			// aapt resource value: 0x7F0802F3
+			public const int play_ptz_sel = 2131231475;
+			
+			// aapt resource value: 0x7F0802F4
+			public const int play_ptz_selector = 2131231476;
+			
+			// aapt resource value: 0x7F0802F5
+			public const int play_small = 2131231477;
+			
+			// aapt resource value: 0x7F0802F7
+			public const int play_smallbtn_selector = 2131231479;
+			
+			// aapt resource value: 0x7F0802F6
+			public const int play_small_press = 2131231478;
+			
+			// aapt resource value: 0x7F0802F8
+			public const int play_speech = 2131231480;
+			
+			// aapt resource value: 0x7F0802F9
+			public const int play_speech_dis = 2131231481;
+			
+			// aapt resource value: 0x7F0802FA
+			public const int play_speech_sel = 2131231482;
+			
+			// aapt resource value: 0x7F0802FB
+			public const int play_speech_selector = 2131231483;
+			
+			// aapt resource value: 0x7F0802FC
+			public const int play_stop = 2131231484;
+			
+			// aapt resource value: 0x7F0802FD
+			public const int play_stop_sel = 2131231485;
+			
+			// aapt resource value: 0x7F0802FE
+			public const int play_stop_selector = 2131231486;
+			
+			// aapt resource value: 0x7F0802FF
+			public const int play_talk = 2131231487;
+			
+			// aapt resource value: 0x7F080303
+			public const int play_talkback = 2131231491;
+			
+			// aapt resource value: 0x7F080304
+			public const int play_talkback_sel = 2131231492;
+			
+			// aapt resource value: 0x7F080305
+			public const int play_talkback_selector = 2131231493;
+			
+			// aapt resource value: 0x7F080300
+			public const int play_talk_dis = 2131231488;
+			
+			// aapt resource value: 0x7F080301
+			public const int play_talk_sel = 2131231489;
+			
+			// aapt resource value: 0x7F080302
+			public const int play_talk_selector = 2131231490;
+			
+			// aapt resource value: 0x7F080306
+			public const int play_video = 2131231494;
+			
+			// aapt resource value: 0x7F080307
+			public const int play_video_dis = 2131231495;
+			
+			// aapt resource value: 0x7F080308
+			public const int play_video_record = 2131231496;
+			
+			// aapt resource value: 0x7F080309
+			public const int play_video_sel = 2131231497;
+			
+			// aapt resource value: 0x7F08030A
+			public const int play_video_selector = 2131231498;
+			
+			// aapt resource value: 0x7F08030B
+			public const int play_video_start = 2131231499;
+			
+			// aapt resource value: 0x7F08030C
+			public const int play_video_time_bg = 2131231500;
+			
+			// aapt resource value: 0x7F08030D
+			public const int play_voice = 2131231501;
+			
+			// aapt resource value: 0x7F08030E
+			public const int play_voice_dis = 2131231502;
+			
+			// aapt resource value: 0x7F08030F
+			public const int play_voice_sel = 2131231503;
+			
+			// aapt resource value: 0x7F080310
+			public const int play_voice_selector = 2131231504;
 			
 			// aapt resource value: 0x7F080324
-			public const int preview_close_video = 2131231524;
+			public const int popdialogbg = 2131231524;
 			
 			// aapt resource value: 0x7F080325
-			public const int preview_close_video_dis = 2131231525;
+			public const int prepare_device = 2131231525;
 			
 			// aapt resource value: 0x7F080326
-			public const int preview_close_video_sel = 2131231526;
+			public const int preview_close1_video_ico = 2131231526;
 			
 			// aapt resource value: 0x7F080327
-			public const int preview_down_bg_normal = 2131231527;
+			public const int preview_close_video = 2131231527;
 			
 			// aapt resource value: 0x7F080328
-			public const int preview_down_bg_pressed = 2131231528;
+			public const int preview_close_video_dis = 2131231528;
 			
 			// aapt resource value: 0x7F080329
-			public const int preview_down_ico = 2131231529;
+			public const int preview_close_video_sel = 2131231529;
 			
 			// aapt resource value: 0x7F08032A
-			public const int preview_down_selector = 2131231530;
+			public const int preview_down_bg_normal = 2131231530;
 			
 			// aapt resource value: 0x7F08032B
-			public const int preview_enlarge = 2131231531;
+			public const int preview_down_bg_pressed = 2131231531;
 			
 			// aapt resource value: 0x7F08032C
-			public const int preview_enlarge_btn_sel = 2131231532;
+			public const int preview_down_ico = 2131231532;
 			
 			// aapt resource value: 0x7F08032D
-			public const int preview_enlarge_dis = 2131231533;
+			public const int preview_down_selector = 2131231533;
 			
 			// aapt resource value: 0x7F08032E
-			public const int preview_enlarge_selector = 2131231534;
+			public const int preview_enlarge = 2131231534;
 			
 			// aapt resource value: 0x7F08032F
-			public const int preview_play_btn = 2131231535;
+			public const int preview_enlarge_btn_sel = 2131231535;
 			
 			// aapt resource value: 0x7F080330
-			public const int preview_play_btn_dis = 2131231536;
+			public const int preview_enlarge_dis = 2131231536;
 			
 			// aapt resource value: 0x7F080331
-			public const int preview_play_btn_sel = 2131231537;
+			public const int preview_enlarge_selector = 2131231537;
 			
 			// aapt resource value: 0x7F080332
-			public const int preview_recording = 2131231538;
+			public const int preview_play_btn = 2131231538;
 			
 			// aapt resource value: 0x7F080333
-			public const int preview_recording_dis = 2131231539;
+			public const int preview_play_btn_dis = 2131231539;
 			
 			// aapt resource value: 0x7F080334
-			public const int preview_recording_sel = 2131231540;
+			public const int preview_play_btn_sel = 2131231540;
 			
 			// aapt resource value: 0x7F080335
-			public const int preview_selection_bg = 2131231541;
+			public const int preview_recording = 2131231541;
 			
 			// aapt resource value: 0x7F080336
-			public const int preview_stopplay_btn_dis = 2131231542;
+			public const int preview_recording_dis = 2131231542;
 			
 			// aapt resource value: 0x7F080337
-			public const int preview_unvoice_btn = 2131231543;
+			public const int preview_recording_sel = 2131231543;
 			
 			// aapt resource value: 0x7F080338
-			public const int preview_unvoice_btn_sel = 2131231544;
+			public const int preview_selection_bg = 2131231544;
 			
 			// aapt resource value: 0x7F080339
-			public const int preview_video_selection = 2131231545;
+			public const int preview_stopplay_btn_dis = 2131231545;
 			
 			// aapt resource value: 0x7F08033A
-			public const int preview_video_selection_hover = 2131231546;
+			public const int preview_unvoice_btn = 2131231546;
 			
 			// aapt resource value: 0x7F08033B
-			public const int preview_voice_btn = 2131231547;
+			public const int preview_unvoice_btn_sel = 2131231547;
 			
 			// aapt resource value: 0x7F08033C
-			public const int preview_voice_btn_dis = 2131231548;
+			public const int preview_video_selection = 2131231548;
 			
 			// aapt resource value: 0x7F08033D
-			public const int preview_voice_btn_sel = 2131231549;
+			public const int preview_video_selection_hover = 2131231549;
 			
 			// aapt resource value: 0x7F08033E
-			public const int previously = 2131231550;
+			public const int preview_voice_btn = 2131231550;
 			
 			// aapt resource value: 0x7F08033F
-			public const int previously_dis = 2131231551;
+			public const int preview_voice_btn_dis = 2131231551;
 			
 			// aapt resource value: 0x7F080340
-			public const int previously_sel = 2131231552;
+			public const int preview_voice_btn_sel = 2131231552;
 			
 			// aapt resource value: 0x7F080341
-			public const int ptz_bg = 2131231553;
+			public const int previously = 2131231553;
 			
 			// aapt resource value: 0x7F080342
-			public const int ptz_bottom_limit = 2131231554;
+			public const int previously_dis = 2131231554;
 			
 			// aapt resource value: 0x7F080343
-			public const int ptz_bottom_sel = 2131231555;
+			public const int previously_sel = 2131231555;
 			
 			// aapt resource value: 0x7F080344
-			public const int ptz_left_limit = 2131231556;
+			public const int ptz_bg = 2131231556;
 			
 			// aapt resource value: 0x7F080345
-			public const int ptz_left_sel = 2131231557;
+			public const int ptz_bottom_limit = 2131231557;
 			
 			// aapt resource value: 0x7F080346
-			public const int ptz_prompt = 2131231558;
+			public const int ptz_bottom_sel = 2131231558;
 			
 			// aapt resource value: 0x7F080347
-			public const int ptz_right_limit = 2131231559;
+			public const int ptz_left_limit = 2131231559;
 			
 			// aapt resource value: 0x7F080348
-			public const int ptz_right_sel = 2131231560;
+			public const int ptz_left_sel = 2131231560;
 			
 			// aapt resource value: 0x7F080349
-			public const int ptz_top_limit = 2131231561;
+			public const int ptz_prompt = 2131231561;
 			
 			// aapt resource value: 0x7F08034A
-			public const int ptz_turn = 2131231562;
+			public const int ptz_right_limit = 2131231562;
 			
 			// aapt resource value: 0x7F08034B
-			public const int ptz_turn_sel = 2131231563;
+			public const int ptz_right_sel = 2131231563;
 			
 			// aapt resource value: 0x7F08034C
-			public const int ptz_turn_selector = 2131231564;
+			public const int ptz_top_limit = 2131231564;
 			
 			// aapt resource value: 0x7F08034D
-			public const int ptz_up_sel = 2131231565;
+			public const int ptz_turn = 2131231565;
 			
 			// aapt resource value: 0x7F08034E
-			public const int push_close = 2131231566;
+			public const int ptz_turn_sel = 2131231566;
 			
 			// aapt resource value: 0x7F08034F
-			public const int push_close_sel = 2131231567;
+			public const int ptz_turn_selector = 2131231567;
 			
 			// aapt resource value: 0x7F080350
-			public const int push_close_selector = 2131231568;
+			public const int ptz_up_sel = 2131231568;
 			
 			// aapt resource value: 0x7F080351
-			public const int put_ico = 2131231569;
+			public const int push_close = 2131231569;
 			
 			// aapt resource value: 0x7F080352
-			public const int query_loding1 = 2131231570;
+			public const int push_close_sel = 2131231570;
 			
 			// aapt resource value: 0x7F080353
-			public const int query_loding2 = 2131231571;
+			public const int push_close_selector = 2131231571;
 			
 			// aapt resource value: 0x7F080354
-			public const int query_loding3 = 2131231572;
+			public const int put_ico = 2131231572;
 			
 			// aapt resource value: 0x7F080355
-			public const int query_loding4 = 2131231573;
+			public const int query_loding1 = 2131231573;
 			
 			// aapt resource value: 0x7F080356
-			public const int query_loding5 = 2131231574;
+			public const int query_loding2 = 2131231574;
 			
 			// aapt resource value: 0x7F080357
-			public const int radius_rect_bg_qq_group = 2131231575;
+			public const int query_loding3 = 2131231575;
 			
 			// aapt resource value: 0x7F080358
-			public const int read_button = 2131231576;
+			public const int query_loding4 = 2131231576;
 			
 			// aapt resource value: 0x7F080359
-			public const int read_button_sel = 2131231577;
+			public const int query_loding5 = 2131231577;
 			
 			// aapt resource value: 0x7F08035A
-			public const int read_button_selector = 2131231578;
+			public const int radius_rect_bg_qq_group = 2131231578;
 			
 			// aapt resource value: 0x7F08035B
-			public const int refresh_selector = 2131231579;
+			public const int read_button = 2131231579;
 			
 			// aapt resource value: 0x7F08035C
-			public const int register_server_bg = 2131231580;
+			public const int read_button_sel = 2131231580;
 			
 			// aapt resource value: 0x7F08035D
-			public const int remote_cal_selector = 2131231581;
+			public const int read_button_selector = 2131231581;
 			
 			// aapt resource value: 0x7F08035E
-			public const int remote_exit_btn_selector = 2131231582;
+			public const int refresh_selector = 2131231582;
 			
 			// aapt resource value: 0x7F08035F
-			public const int remote_list_pause_btn_selector = 2131231583;
+			public const int register_server_bg = 2131231583;
 			
 			// aapt resource value: 0x7F080360
-			public const int remote_list_play_btn_selector = 2131231584;
+			public const int remote_cal_selector = 2131231584;
 			
 			// aapt resource value: 0x7F080361
-			public const int remote_list_soundoff_btn_selector = 2131231585;
+			public const int remote_exit_btn_selector = 2131231585;
 			
 			// aapt resource value: 0x7F080362
-			public const int remote_list_soundon_btn_selector = 2131231586;
+			public const int remote_list_pause_btn_selector = 2131231586;
 			
 			// aapt resource value: 0x7F080363
-			public const int remote_play = 2131231587;
+			public const int remote_list_play_btn_selector = 2131231587;
 			
 			// aapt resource value: 0x7F080364
-			public const int remote_play_sel = 2131231588;
+			public const int remote_list_soundoff_btn_selector = 2131231588;
 			
 			// aapt resource value: 0x7F080365
-			public const int remote_seekbar_style = 2131231589;
+			public const int remote_list_soundon_btn_selector = 2131231589;
 			
 			// aapt resource value: 0x7F080366
-			public const int remote_seekbar_thumb = 2131231590;
+			public const int remote_play = 2131231590;
 			
 			// aapt resource value: 0x7F080367
-			public const int reset_deivce = 2131231591;
-			
-			// aapt resource value: 0x7F080374
-			public const int results_4_dvr = 2131231604;
-			
-			// aapt resource value: 0x7F080375
-			public const int results_8_16_nvr = 2131231605;
-			
-			// aapt resource value: 0x7F080376
-			public const int results_8_nvr = 2131231606;
-			
-			// aapt resource value: 0x7F080377
-			public const int results_c6p = 2131231607;
-			
-			// aapt resource value: 0x7F080378
-			public const int results_mini_360_plus = 2131231608;
-			
-			// aapt resource value: 0x7F080379
-			public const int results_mini_trooper = 2131231609;
-			
-			// aapt resource value: 0x7F08037A
-			public const int results_pic_a1 = 2131231610;
-			
-			// aapt resource value: 0x7F08037B
-			public const int results_pic_a1c = 2131231611;
-			
-			// aapt resource value: 0x7F08037C
-			public const int results_pic_a1s = 2131231612;
-			
-			// aapt resource value: 0x7F08037D
-			public const int results_pic_baidu_c2s = 2131231613;
-			
-			// aapt resource value: 0x7F08037E
-			public const int results_pic_bg = 2131231614;
-			
-			// aapt resource value: 0x7F08037F
-			public const int results_pic_c1 = 2131231615;
-			
-			// aapt resource value: 0x7F080380
-			public const int results_pic_c2 = 2131231616;
-			
-			// aapt resource value: 0x7F080383
-			public const int results_pic_c2c = 2131231619;
-			
-			// aapt resource value: 0x7F080384
-			public const int results_pic_c2mini = 2131231620;
-			
-			// aapt resource value: 0x7F080385
-			public const int results_pic_c2mini2 = 2131231621;
-			
-			// aapt resource value: 0x7F080386
-			public const int results_pic_c2plus = 2131231622;
-			
-			// aapt resource value: 0x7F080387
-			public const int results_pic_c2s = 2131231623;
-			
-			// aapt resource value: 0x7F080388
-			public const int results_pic_c2w = 2131231624;
-			
-			// aapt resource value: 0x7F080381
-			public const int results_pic_c2_2 = 2131231617;
-			
-			// aapt resource value: 0x7F080382
-			public const int results_pic_c2_usa = 2131231618;
-			
-			// aapt resource value: 0x7F080389
-			public const int results_pic_c3 = 2131231625;
-			
-			// aapt resource value: 0x7F08038A
-			public const int results_pic_c3c = 2131231626;
-			
-			// aapt resource value: 0x7F08038B
-			public const int results_pic_c3e = 2131231627;
-			
-			// aapt resource value: 0x7F08038C
-			public const int results_pic_c3s = 2131231628;
-			
-			// aapt resource value: 0x7F08038D
-			public const int results_pic_c4 = 2131231629;
-			
-			// aapt resource value: 0x7F08038E
-			public const int results_pic_c4c = 2131231630;
-			
-			// aapt resource value: 0x7F08038F
-			public const int results_pic_c4e = 2131231631;
-			
-			// aapt resource value: 0x7F080390
-			public const int results_pic_c4s = 2131231632;
-			
-			// aapt resource value: 0x7F080391
-			public const int results_pic_c6 = 2131231633;
-			
-			// aapt resource value: 0x7F080392
-			public const int results_pic_c6c = 2131231634;
-			
-			// aapt resource value: 0x7F080393
-			public const int results_pic_c6c_1 = 2131231635;
-			
-			// aapt resource value: 0x7F080394
-			public const int results_pic_c6c_2 = 2131231636;
-			
-			// aapt resource value: 0x7F080395
-			public const int results_pic_c6h = 2131231637;
-			
-			// aapt resource value: 0x7F080396
-			public const int results_pic_co2 = 2131231638;
-			
-			// aapt resource value: 0x7F080397
-			public const int results_pic_d1 = 2131231639;
-			
-			// aapt resource value: 0x7F080398
-			public const int results_pic_default = 2131231640;
-			
-			// aapt resource value: 0x7F080399
-			public const int results_pic_f1 = 2131231641;
-			
-			// aapt resource value: 0x7F08039A
-			public const int results_pic_h2c = 2131231642;
-			
-			// aapt resource value: 0x7F08039B
-			public const int results_pic_h2s = 2131231643;
-			
-			// aapt resource value: 0x7F08039C
-			public const int results_pic_n1 = 2131231644;
-			
-			// aapt resource value: 0x7F08039D
-			public const int results_pic_n1w = 2131231645;
-			
-			// aapt resource value: 0x7F08039E
-			public const int results_pic_r1 = 2131231646;
-			
-			// aapt resource value: 0x7F08039F
-			public const int results_pic_r2 = 2131231647;
-			
-			// aapt resource value: 0x7F0803A0
-			public const int results_pic_w1 = 2131231648;
-			
-			// aapt resource value: 0x7F0803A1
-			public const int results_pic_w3 = 2131231649;
-			
-			// aapt resource value: 0x7F0803A2
-			public const int results_pic_x1 = 2131231650;
-			
-			// aapt resource value: 0x7F0803A3
-			public const int results_pic_x2 = 2131231651;
-			
-			// aapt resource value: 0x7F0803A4
-			public const int results_pic_x3 = 2131231652;
-			
-			// aapt resource value: 0x7F0803A5
-			public const int results_pic_x3c = 2131231653;
-			
-			// aapt resource value: 0x7F0803A6
-			public const int results_pic_x4 = 2131231654;
-			
-			// aapt resource value: 0x7F0803A7
-			public const int results_pic_z1 = 2131231655;
-			
-			// aapt resource value: 0x7F0803A8
-			public const int results_w2d = 2131231656;
-			
-			// aapt resource value: 0x7F0803A9
-			public const int results_w2s = 2131231657;
-			
-			// aapt resource value: 0x7F0803AA
-			public const int results_wlb = 2131231658;
-			
-			// aapt resource value: 0x7F0803AB
-			public const int results_x5_108tp = 2131231659;
+			public const int remote_play_sel = 2131231591;
 			
 			// aapt resource value: 0x7F080368
-			public const int result_5k_vr104d = 2131231592;
+			public const int remote_seekbar_style = 2131231592;
 			
 			// aapt resource value: 0x7F080369
-			public const int result_5k_vr116d = 2131231593;
+			public const int remote_seekbar_thumb = 2131231593;
 			
 			// aapt resource value: 0x7F08036A
-			public const int result_8_16dvr = 2131231594;
+			public const int reset_deivce = 2131231594;
 			
-			// aapt resource value: 0x7F08036B
-			public const int result_cs_c3w = 2131231595;
+			// aapt resource value: 0x7F080377
+			public const int results_4_dvr = 2131231607;
 			
-			// aapt resource value: 0x7F08036C
-			public const int result_cs_vr104d = 2131231596;
+			// aapt resource value: 0x7F080378
+			public const int results_8_16_nvr = 2131231608;
 			
-			// aapt resource value: 0x7F08036D
-			public const int result_cs_vr108d = 2131231597;
+			// aapt resource value: 0x7F080379
+			public const int results_8_nvr = 2131231609;
 			
-			// aapt resource value: 0x7F08036E
-			public const int result_cs_vr116d = 2131231598;
+			// aapt resource value: 0x7F08037A
+			public const int results_c6p = 2131231610;
 			
-			// aapt resource value: 0x7F08036F
-			public const int result_pic_dh1 = 2131231599;
+			// aapt resource value: 0x7F08037B
+			public const int results_mini_360_plus = 2131231611;
 			
-			// aapt resource value: 0x7F080370
-			public const int result_pic_doorbell = 2131231600;
+			// aapt resource value: 0x7F08037C
+			public const int results_mini_trooper = 2131231612;
 			
-			// aapt resource value: 0x7F080371
-			public const int result_pic_doorbell_hik = 2131231601;
+			// aapt resource value: 0x7F08037D
+			public const int results_pic_a1 = 2131231613;
 			
-			// aapt resource value: 0x7F080372
-			public const int result_pic_light = 2131231602;
+			// aapt resource value: 0x7F08037E
+			public const int results_pic_a1c = 2131231614;
 			
-			// aapt resource value: 0x7F080373
-			public const int result_x5c = 2131231603;
+			// aapt resource value: 0x7F08037F
+			public const int results_pic_a1s = 2131231615;
+			
+			// aapt resource value: 0x7F080380
+			public const int results_pic_baidu_c2s = 2131231616;
+			
+			// aapt resource value: 0x7F080381
+			public const int results_pic_bg = 2131231617;
+			
+			// aapt resource value: 0x7F080382
+			public const int results_pic_c1 = 2131231618;
+			
+			// aapt resource value: 0x7F080383
+			public const int results_pic_c2 = 2131231619;
+			
+			// aapt resource value: 0x7F080386
+			public const int results_pic_c2c = 2131231622;
+			
+			// aapt resource value: 0x7F080387
+			public const int results_pic_c2mini = 2131231623;
+			
+			// aapt resource value: 0x7F080388
+			public const int results_pic_c2mini2 = 2131231624;
+			
+			// aapt resource value: 0x7F080389
+			public const int results_pic_c2plus = 2131231625;
+			
+			// aapt resource value: 0x7F08038A
+			public const int results_pic_c2s = 2131231626;
+			
+			// aapt resource value: 0x7F08038B
+			public const int results_pic_c2w = 2131231627;
+			
+			// aapt resource value: 0x7F080384
+			public const int results_pic_c2_2 = 2131231620;
+			
+			// aapt resource value: 0x7F080385
+			public const int results_pic_c2_usa = 2131231621;
+			
+			// aapt resource value: 0x7F08038C
+			public const int results_pic_c3 = 2131231628;
+			
+			// aapt resource value: 0x7F08038D
+			public const int results_pic_c3c = 2131231629;
+			
+			// aapt resource value: 0x7F08038E
+			public const int results_pic_c3e = 2131231630;
+			
+			// aapt resource value: 0x7F08038F
+			public const int results_pic_c3s = 2131231631;
+			
+			// aapt resource value: 0x7F080390
+			public const int results_pic_c4 = 2131231632;
+			
+			// aapt resource value: 0x7F080391
+			public const int results_pic_c4c = 2131231633;
+			
+			// aapt resource value: 0x7F080392
+			public const int results_pic_c4e = 2131231634;
+			
+			// aapt resource value: 0x7F080393
+			public const int results_pic_c4s = 2131231635;
+			
+			// aapt resource value: 0x7F080394
+			public const int results_pic_c6 = 2131231636;
+			
+			// aapt resource value: 0x7F080395
+			public const int results_pic_c6c = 2131231637;
+			
+			// aapt resource value: 0x7F080396
+			public const int results_pic_c6c_1 = 2131231638;
+			
+			// aapt resource value: 0x7F080397
+			public const int results_pic_c6c_2 = 2131231639;
+			
+			// aapt resource value: 0x7F080398
+			public const int results_pic_c6h = 2131231640;
+			
+			// aapt resource value: 0x7F080399
+			public const int results_pic_co2 = 2131231641;
+			
+			// aapt resource value: 0x7F08039A
+			public const int results_pic_d1 = 2131231642;
+			
+			// aapt resource value: 0x7F08039B
+			public const int results_pic_default = 2131231643;
+			
+			// aapt resource value: 0x7F08039C
+			public const int results_pic_f1 = 2131231644;
+			
+			// aapt resource value: 0x7F08039D
+			public const int results_pic_h2c = 2131231645;
+			
+			// aapt resource value: 0x7F08039E
+			public const int results_pic_h2s = 2131231646;
+			
+			// aapt resource value: 0x7F08039F
+			public const int results_pic_n1 = 2131231647;
+			
+			// aapt resource value: 0x7F0803A0
+			public const int results_pic_n1w = 2131231648;
+			
+			// aapt resource value: 0x7F0803A1
+			public const int results_pic_r1 = 2131231649;
+			
+			// aapt resource value: 0x7F0803A2
+			public const int results_pic_r2 = 2131231650;
+			
+			// aapt resource value: 0x7F0803A3
+			public const int results_pic_w1 = 2131231651;
+			
+			// aapt resource value: 0x7F0803A4
+			public const int results_pic_w3 = 2131231652;
+			
+			// aapt resource value: 0x7F0803A5
+			public const int results_pic_x1 = 2131231653;
+			
+			// aapt resource value: 0x7F0803A6
+			public const int results_pic_x2 = 2131231654;
+			
+			// aapt resource value: 0x7F0803A7
+			public const int results_pic_x3 = 2131231655;
+			
+			// aapt resource value: 0x7F0803A8
+			public const int results_pic_x3c = 2131231656;
+			
+			// aapt resource value: 0x7F0803A9
+			public const int results_pic_x4 = 2131231657;
+			
+			// aapt resource value: 0x7F0803AA
+			public const int results_pic_z1 = 2131231658;
+			
+			// aapt resource value: 0x7F0803AB
+			public const int results_w2d = 2131231659;
 			
 			// aapt resource value: 0x7F0803AC
-			public const int right_horizontal = 2131231660;
+			public const int results_w2s = 2131231660;
 			
 			// aapt resource value: 0x7F0803AD
-			public const int right_twinkle = 2131231661;
+			public const int results_wlb = 2131231661;
 			
 			// aapt resource value: 0x7F0803AE
-			public const int ring_off = 2131231662;
+			public const int results_x5_108tp = 2131231662;
+			
+			// aapt resource value: 0x7F08036B
+			public const int result_5k_vr104d = 2131231595;
+			
+			// aapt resource value: 0x7F08036C
+			public const int result_5k_vr116d = 2131231596;
+			
+			// aapt resource value: 0x7F08036D
+			public const int result_8_16dvr = 2131231597;
+			
+			// aapt resource value: 0x7F08036E
+			public const int result_cs_c3w = 2131231598;
+			
+			// aapt resource value: 0x7F08036F
+			public const int result_cs_vr104d = 2131231599;
+			
+			// aapt resource value: 0x7F080370
+			public const int result_cs_vr108d = 2131231600;
+			
+			// aapt resource value: 0x7F080371
+			public const int result_cs_vr116d = 2131231601;
+			
+			// aapt resource value: 0x7F080372
+			public const int result_pic_dh1 = 2131231602;
+			
+			// aapt resource value: 0x7F080373
+			public const int result_pic_doorbell = 2131231603;
+			
+			// aapt resource value: 0x7F080374
+			public const int result_pic_doorbell_hik = 2131231604;
+			
+			// aapt resource value: 0x7F080375
+			public const int result_pic_light = 2131231605;
+			
+			// aapt resource value: 0x7F080376
+			public const int result_x5c = 2131231606;
 			
 			// aapt resource value: 0x7F0803AF
-			public const int say_bg = 2131231663;
+			public const int right_horizontal = 2131231663;
 			
 			// aapt resource value: 0x7F0803B0
-			public const int screenshot = 2131231664;
+			public const int right_twinkle = 2131231664;
 			
 			// aapt resource value: 0x7F0803B1
-			public const int screenshot_def = 2131231665;
+			public const int ring_off = 2131231665;
 			
 			// aapt resource value: 0x7F0803B2
-			public const int screenshot_sel = 2131231666;
+			public const int say_bg = 2131231666;
 			
 			// aapt resource value: 0x7F0803B3
-			public const int search = 2131231667;
+			public const int screenshot = 2131231667;
 			
 			// aapt resource value: 0x7F0803B4
-			public const int search_bnt = 2131231668;
+			public const int screenshot_def = 2131231668;
 			
 			// aapt resource value: 0x7F0803B5
-			public const int search_bnt_sel = 2131231669;
+			public const int screenshot_sel = 2131231669;
 			
 			// aapt resource value: 0x7F0803B6
-			public const int search_button_selector = 2131231670;
+			public const int search = 2131231670;
 			
 			// aapt resource value: 0x7F0803B7
-			public const int search_input = 2131231671;
+			public const int search_bnt = 2131231671;
 			
 			// aapt resource value: 0x7F0803B8
-			public const int seekbar_thumb = 2131231672;
-			
-			// aapt resource value: 0x7F0803BA
-			public const int selected_icon = 2131231674;
-			
-			// aapt resource value: 0x7F0803BB
-			public const int selector_pickerview_btn = 2131231675;
+			public const int search_bnt_sel = 2131231672;
 			
 			// aapt resource value: 0x7F0803B9
-			public const int select_icon = 2131231673;
+			public const int search_button_selector = 2131231673;
 			
-			// aapt resource value: 0x7F0803BC
-			public const int server1 = 2131231676;
+			// aapt resource value: 0x7F0803BA
+			public const int search_input = 2131231674;
+			
+			// aapt resource value: 0x7F0803BB
+			public const int seekbar_thumb = 2131231675;
 			
 			// aapt resource value: 0x7F0803BD
-			public const int server2 = 2131231677;
+			public const int selected_icon = 2131231677;
 			
 			// aapt resource value: 0x7F0803BE
-			public const int server3 = 2131231678;
+			public const int selector_pickerview_btn = 2131231678;
+			
+			// aapt resource value: 0x7F0803BC
+			public const int select_icon = 2131231676;
 			
 			// aapt resource value: 0x7F0803BF
-			public const int server4 = 2131231679;
+			public const int server1 = 2131231679;
 			
 			// aapt resource value: 0x7F0803C0
-			public const int setup = 2131231680;
+			public const int server2 = 2131231680;
 			
 			// aapt resource value: 0x7F0803C1
-			public const int setup_sel = 2131231681;
+			public const int server3 = 2131231681;
 			
 			// aapt resource value: 0x7F0803C2
-			public const int setup_wechat = 2131231682;
+			public const int server4 = 2131231682;
 			
 			// aapt resource value: 0x7F0803C3
-			public const int share_management_label_button = 2131231683;
+			public const int setup = 2131231683;
 			
 			// aapt resource value: 0x7F0803C4
-			public const int share_management_label_button_sel = 2131231684;
+			public const int setup_sel = 2131231684;
 			
 			// aapt resource value: 0x7F0803C5
-			public const int shipin7_alarm_msg_new = 2131231685;
+			public const int setup_wechat = 2131231685;
 			
 			// aapt resource value: 0x7F0803C6
-			public const int shrink_screen_normal = 2131231686;
+			public const int share_management_label_button = 2131231686;
 			
 			// aapt resource value: 0x7F0803C7
-			public const int shrink_screen_pressed = 2131231687;
+			public const int share_management_label_button_sel = 2131231687;
 			
 			// aapt resource value: 0x7F0803C8
-			public const int small_button_cameralist = 2131231688;
+			public const int shipin7_alarm_msg_new = 2131231688;
 			
 			// aapt resource value: 0x7F0803C9
-			public const int sound_off = 2131231689;
+			public const int shrink_screen_normal = 2131231689;
 			
 			// aapt resource value: 0x7F0803CA
-			public const int sound_off_blue = 2131231690;
+			public const int shrink_screen_pressed = 2131231690;
 			
 			// aapt resource value: 0x7F0803CB
-			public const int sound_off_sel = 2131231691;
+			public const int small_button_cameralist = 2131231691;
 			
 			// aapt resource value: 0x7F0803CC
-			public const int sound_off_sel_blue = 2131231692;
+			public const int sound_off = 2131231692;
 			
 			// aapt resource value: 0x7F0803CD
-			public const int sound_on = 2131231693;
+			public const int sound_off_blue = 2131231693;
 			
 			// aapt resource value: 0x7F0803CE
-			public const int sound_on_blue = 2131231694;
+			public const int sound_off_sel = 2131231694;
 			
 			// aapt resource value: 0x7F0803CF
-			public const int sound_on_sel = 2131231695;
+			public const int sound_off_sel_blue = 2131231695;
 			
 			// aapt resource value: 0x7F0803D0
-			public const int sound_on_sel_blue = 2131231696;
+			public const int sound_on = 2131231696;
 			
 			// aapt resource value: 0x7F0803D1
-			public const int sound_source = 2131231697;
+			public const int sound_on_blue = 2131231697;
 			
 			// aapt resource value: 0x7F0803D2
-			public const int sound_source_sel = 2131231698;
+			public const int sound_on_sel = 2131231698;
 			
 			// aapt resource value: 0x7F0803D3
-			public const int speech = 2131231699;
+			public const int sound_on_sel_blue = 2131231699;
 			
 			// aapt resource value: 0x7F0803D4
-			public const int speech_0 = 2131231700;
+			public const int sound_source = 2131231700;
 			
 			// aapt resource value: 0x7F0803D5
-			public const int speech_1 = 2131231701;
+			public const int sound_source_sel = 2131231701;
 			
 			// aapt resource value: 0x7F0803D6
-			public const int speech_2 = 2131231702;
+			public const int speech = 2131231702;
 			
 			// aapt resource value: 0x7F0803D7
-			public const int speech_3 = 2131231703;
+			public const int speech_0 = 2131231703;
 			
 			// aapt resource value: 0x7F0803D8
-			public const int speech_4 = 2131231704;
+			public const int speech_1 = 2131231704;
 			
 			// aapt resource value: 0x7F0803D9
-			public const int speech_5 = 2131231705;
+			public const int speech_2 = 2131231705;
 			
 			// aapt resource value: 0x7F0803DA
-			public const int speech_full_selector = 2131231706;
+			public const int speech_3 = 2131231706;
 			
 			// aapt resource value: 0x7F0803DB
-			public const int stop = 2131231707;
-			
-			// aapt resource value: 0x7F0803DE
-			public const int stopbtn_selector = 2131231710;
-			
-			// aapt resource value: 0x7F0803DF
-			public const int stoplay_btn = 2131231711;
-			
-			// aapt resource value: 0x7F0803E0
-			public const int stoplay_btn_sel = 2131231712;
+			public const int speech_4 = 2131231707;
 			
 			// aapt resource value: 0x7F0803DC
-			public const int stop_disable = 2131231708;
+			public const int speech_5 = 2131231708;
 			
 			// aapt resource value: 0x7F0803DD
-			public const int stop_press = 2131231709;
+			public const int speech_full_selector = 2131231709;
+			
+			// aapt resource value: 0x7F0803DE
+			public const int stop = 2131231710;
 			
 			// aapt resource value: 0x7F0803E1
-			public const int success = 2131231713;
+			public const int stopbtn_selector = 2131231713;
 			
 			// aapt resource value: 0x7F0803E2
-			public const int success_icon = 2131231714;
+			public const int stoplay_btn = 2131231714;
 			
 			// aapt resource value: 0x7F0803E3
-			public const int success_img = 2131231715;
+			public const int stoplay_btn_sel = 2131231715;
+			
+			// aapt resource value: 0x7F0803DF
+			public const int stop_disable = 2131231711;
+			
+			// aapt resource value: 0x7F0803E0
+			public const int stop_press = 2131231712;
 			
 			// aapt resource value: 0x7F0803E4
-			public const int sure_background_def = 2131231716;
+			public const int success = 2131231716;
 			
 			// aapt resource value: 0x7F0803E5
-			public const int sure_background_sel = 2131231717;
+			public const int success_icon = 2131231717;
 			
 			// aapt resource value: 0x7F0803E6
-			public const int switch_camera = 2131231718;
+			public const int success_img = 2131231718;
 			
 			// aapt resource value: 0x7F0803E7
-			public const int tab_left = 2131231719;
+			public const int sure_background_def = 2131231719;
 			
 			// aapt resource value: 0x7F0803E8
-			public const int tab_left_sel = 2131231720;
+			public const int sure_background_sel = 2131231720;
 			
 			// aapt resource value: 0x7F0803E9
-			public const int tab_right = 2131231721;
+			public const int switch_camera = 2131231721;
 			
 			// aapt resource value: 0x7F0803EA
-			public const int tab_right_sel = 2131231722;
+			public const int tab_left = 2131231722;
 			
 			// aapt resource value: 0x7F0803EB
-			public const int tiltle_button_selector = 2131231723;
+			public const int tab_left_sel = 2131231723;
 			
 			// aapt resource value: 0x7F0803EC
-			public const int timeline = 2131231724;
+			public const int tab_right = 2131231724;
 			
 			// aapt resource value: 0x7F0803ED
-			public const int timeline_sel = 2131231725;
+			public const int tab_right_sel = 2131231725;
 			
 			// aapt resource value: 0x7F0803EE
-			public const int tip_background = 2131231726;
+			public const int tiltle_button_selector = 2131231726;
 			
 			// aapt resource value: 0x7F0803EF
-			public const int tip_textview_bg = 2131231727;
+			public const int timeline = 2131231727;
 			
 			// aapt resource value: 0x7F0803F0
-			public const int title_down_bg = 2131231728;
+			public const int timeline_sel = 2131231728;
 			
 			// aapt resource value: 0x7F0803F1
-			public const int title_down_play = 2131231729;
+			public const int tip_background = 2131231729;
 			
 			// aapt resource value: 0x7F0803F2
-			public const int title_down_play_sel = 2131231730;
+			public const int tip_textview_bg = 2131231730;
 			
 			// aapt resource value: 0x7F0803F3
-			public const int title_down_play_selector = 2131231731;
+			public const int title_down_bg = 2131231731;
 			
 			// aapt resource value: 0x7F0803F4
-			public const int title_menu_bg = 2131231732;
+			public const int title_down_play = 2131231732;
 			
 			// aapt resource value: 0x7F0803F5
-			public const int tittel_button_bg = 2131231733;
+			public const int title_down_play_sel = 2131231733;
 			
 			// aapt resource value: 0x7F0803F6
-			public const int tittel_button_press_bg = 2131231734;
+			public const int title_down_play_selector = 2131231734;
 			
 			// aapt resource value: 0x7F0803F7
-			public const int tooltip_frame_dark = 2131231735;
+			public const int title_menu_bg = 2131231735;
 			
 			// aapt resource value: 0x7F0803F8
-			public const int tooltip_frame_light = 2131231736;
+			public const int tittel_button_bg = 2131231736;
 			
 			// aapt resource value: 0x7F0803F9
-			public const int top_bar_bg = 2131231737;
+			public const int tittel_button_press_bg = 2131231737;
 			
 			// aapt resource value: 0x7F0803FA
-			public const int track_bar_bg = 2131231738;
+			public const int tooltip_frame_dark = 2131231738;
 			
 			// aapt resource value: 0x7F0803FB
-			public const int translucent = 2131231739;
+			public const int tooltip_frame_light = 2131231739;
 			
 			// aapt resource value: 0x7F0803FC
-			public const int @unchecked = 2131231740;
+			public const int top_bar_bg = 2131231740;
 			
 			// aapt resource value: 0x7F0803FD
-			public const int unlock = 2131231741;
+			public const int track_bar_bg = 2131231741;
 			
 			// aapt resource value: 0x7F0803FE
-			public const int unlock_def = 2131231742;
+			public const int translucent = 2131231742;
 			
 			// aapt resource value: 0x7F0803FF
-			public const int unlock_sel = 2131231743;
-			
-			// aapt resource value: 0x7F080402
-			public const int upgrade = 2131231746;
-			
-			// aapt resource value: 0x7F080403
-			public const int upsdk_cancel_bg = 2131231747;
-			
-			// aapt resource value: 0x7F080404
-			public const int upsdk_cancel_normal = 2131231748;
-			
-			// aapt resource value: 0x7F080405
-			public const int upsdk_cancel_pressed_bg = 2131231749;
-			
-			// aapt resource value: 0x7F080406
-			public const int upsdk_third_download_bg = 2131231750;
+			public const int @unchecked = 2131231743;
 			
 			// aapt resource value: 0x7F080400
-			public const int up_horizontal = 2131231744;
+			public const int unlock = 2131231744;
 			
 			// aapt resource value: 0x7F080401
-			public const int up_twinkle = 2131231745;
+			public const int unlock_def = 2131231745;
+			
+			// aapt resource value: 0x7F080402
+			public const int unlock_sel = 2131231746;
+			
+			// aapt resource value: 0x7F080405
+			public const int upgrade = 2131231749;
+			
+			// aapt resource value: 0x7F080406
+			public const int upsdk_cancel_bg = 2131231750;
 			
 			// aapt resource value: 0x7F080407
-			public const int user = 2131231751;
+			public const int upsdk_cancel_normal = 2131231751;
 			
 			// aapt resource value: 0x7F080408
-			public const int vertical_preview_sound_selector = 2131231752;
+			public const int upsdk_cancel_pressed_bg = 2131231752;
 			
 			// aapt resource value: 0x7F080409
-			public const int vertical_preview_stop_selector = 2131231753;
+			public const int upsdk_third_download_bg = 2131231753;
 			
-			// aapt resource value: 0x7F080419
-			public const int videogo_icon = 2131231769;
+			// aapt resource value: 0x7F080403
+			public const int up_horizontal = 2131231747;
+			
+			// aapt resource value: 0x7F080404
+			public const int up_twinkle = 2131231748;
 			
 			// aapt resource value: 0x7F08040A
-			public const int video_background = 2131231754;
+			public const int user = 2131231754;
 			
 			// aapt resource value: 0x7F08040B
-			public const int video_camera1_1 = 2131231755;
+			public const int vertical_preview_sound_selector = 2131231755;
 			
 			// aapt resource value: 0x7F08040C
-			public const int video_camera1_2 = 2131231756;
-			
-			// aapt resource value: 0x7F08040D
-			public const int video_camera1_3 = 2131231757;
-			
-			// aapt resource value: 0x7F08040E
-			public const int video_file_watermark = 2131231758;
-			
-			// aapt resource value: 0x7F08040F
-			public const int video_quality_selector = 2131231759;
-			
-			// aapt resource value: 0x7F080410
-			public const int video_talk_sdk_icn_watch = 2131231760;
-			
-			// aapt resource value: 0x7F080411
-			public const int video_talk_sdk_placeholder_images_user = 2131231761;
-			
-			// aapt resource value: 0x7F080412
-			public const int video_talk_sdk_video_answer = 2131231762;
-			
-			// aapt resource value: 0x7F080413
-			public const int video_talk_sdk_video_hangup = 2131231763;
-			
-			// aapt resource value: 0x7F080414
-			public const int video_talk_sdk_video_record_off = 2131231764;
-			
-			// aapt resource value: 0x7F080415
-			public const int video_talk_sdk_video_record_on = 2131231765;
-			
-			// aapt resource value: 0x7F080416
-			public const int video_talk_sdk_video_snap = 2131231766;
-			
-			// aapt resource value: 0x7F080417
-			public const int video_talk_sdk_video_stop = 2131231767;
-			
-			// aapt resource value: 0x7F080418
-			public const int video_talk_sdk_video_switch_camera = 2131231768;
-			
-			// aapt resource value: 0x7F080423
-			public const int waiting_bg = 2131231779;
-			
-			// aapt resource value: 0x7F080424
-			public const int waiting_progressbar_bg = 2131231780;
-			
-			// aapt resource value: 0x7F08041A
-			public const int wait_1 = 2131231770;
-			
-			// aapt resource value: 0x7F08041B
-			public const int wait_2 = 2131231771;
+			public const int vertical_preview_stop_selector = 2131231756;
 			
 			// aapt resource value: 0x7F08041C
-			public const int wait_3 = 2131231772;
+			public const int videogo_icon = 2131231772;
 			
-			// aapt resource value: 0x7F08041D
-			public const int wait_4 = 2131231773;
+			// aapt resource value: 0x7F08040D
+			public const int video_background = 2131231757;
 			
-			// aapt resource value: 0x7F08041E
-			public const int wait_5 = 2131231774;
+			// aapt resource value: 0x7F08040E
+			public const int video_camera1_1 = 2131231758;
 			
-			// aapt resource value: 0x7F08041F
-			public const int wait_6 = 2131231775;
+			// aapt resource value: 0x7F08040F
+			public const int video_camera1_2 = 2131231759;
 			
-			// aapt resource value: 0x7F080420
-			public const int wait_7 = 2131231776;
+			// aapt resource value: 0x7F080410
+			public const int video_camera1_3 = 2131231760;
 			
-			// aapt resource value: 0x7F080421
-			public const int wait_8 = 2131231777;
+			// aapt resource value: 0x7F080411
+			public const int video_file_watermark = 2131231761;
 			
-			// aapt resource value: 0x7F080422
-			public const int wait_upload_img = 2131231778;
+			// aapt resource value: 0x7F080412
+			public const int video_quality_selector = 2131231762;
 			
-			// aapt resource value: 0x7F080425
-			public const int water_alarm = 2131231781;
+			// aapt resource value: 0x7F080413
+			public const int video_talk_sdk_icn_watch = 2131231763;
+			
+			// aapt resource value: 0x7F080414
+			public const int video_talk_sdk_placeholder_images_user = 2131231764;
+			
+			// aapt resource value: 0x7F080415
+			public const int video_talk_sdk_video_answer = 2131231765;
+			
+			// aapt resource value: 0x7F080416
+			public const int video_talk_sdk_video_hangup = 2131231766;
+			
+			// aapt resource value: 0x7F080417
+			public const int video_talk_sdk_video_record_off = 2131231767;
+			
+			// aapt resource value: 0x7F080418
+			public const int video_talk_sdk_video_record_on = 2131231768;
+			
+			// aapt resource value: 0x7F080419
+			public const int video_talk_sdk_video_snap = 2131231769;
+			
+			// aapt resource value: 0x7F08041A
+			public const int video_talk_sdk_video_stop = 2131231770;
+			
+			// aapt resource value: 0x7F08041B
+			public const int video_talk_sdk_video_switch_camera = 2131231771;
 			
 			// aapt resource value: 0x7F080426
-			public const int wifi_config_bg = 2131231782;
+			public const int waiting_bg = 2131231782;
 			
 			// aapt resource value: 0x7F080427
-			public const int wifi_connect_tip = 2131231783;
+			public const int waiting_progressbar_bg = 2131231783;
+			
+			// aapt resource value: 0x7F08041D
+			public const int wait_1 = 2131231773;
+			
+			// aapt resource value: 0x7F08041E
+			public const int wait_2 = 2131231774;
+			
+			// aapt resource value: 0x7F08041F
+			public const int wait_3 = 2131231775;
+			
+			// aapt resource value: 0x7F080420
+			public const int wait_4 = 2131231776;
+			
+			// aapt resource value: 0x7F080421
+			public const int wait_5 = 2131231777;
+			
+			// aapt resource value: 0x7F080422
+			public const int wait_6 = 2131231778;
+			
+			// aapt resource value: 0x7F080423
+			public const int wait_7 = 2131231779;
+			
+			// aapt resource value: 0x7F080424
+			public const int wait_8 = 2131231780;
+			
+			// aapt resource value: 0x7F080425
+			public const int wait_upload_img = 2131231781;
 			
 			// aapt resource value: 0x7F080428
-			public const int yuntai_normal = 2131231784;
+			public const int water_alarm = 2131231784;
 			
 			// aapt resource value: 0x7F080429
-			public const int yuntai_pressed = 2131231785;
+			public const int wifi_config_bg = 2131231785;
 			
 			// aapt resource value: 0x7F08042A
-			public const int yxs_head = 2131231786;
+			public const int wifi_connect_tip = 2131231786;
 			
 			// aapt resource value: 0x7F08042B
-			public const int z1_bg = 2131231787;
+			public const int yuntai_normal = 2131231787;
+			
+			// aapt resource value: 0x7F08042C
+			public const int yuntai_pressed = 2131231788;
+			
+			// aapt resource value: 0x7F08042D
+			public const int yxs_head = 2131231789;
+			
+			// aapt resource value: 0x7F08042E
+			public const int z1_bg = 2131231790;
 			
 			static Drawable()
 			{
@@ -8347,1352 +8359,1376 @@
 			// aapt resource value: 0x7F0901EB
 			public const int longitude = 2131296747;
 			
+			// aapt resource value: 0x7F0901F0
+			public const int lpsdk_dialog_cancel_tv = 2131296752;
+			
+			// aapt resource value: 0x7F0901F1
+			public const int lpsdk_dialog_confirm_tv = 2131296753;
+			
+			// aapt resource value: 0x7F0901F2
+			public const int lpsdk_dialog_content_tv = 2131296754;
+			
+			// aapt resource value: 0x7F0901F3
+			public const int lpsdk_dialog_title_tv = 2131296755;
+			
 			// aapt resource value: 0x7F0901EC
-			public const int main_layout = 2131296748;
+			public const int lp_dialog_cancel_tv = 2131296748;
 			
 			// aapt resource value: 0x7F0901ED
-			public const int masked = 2131296749;
+			public const int lp_dialog_confirm_tv = 2131296749;
+			
+			// aapt resource value: 0x7F0901EE
+			public const int lp_dialog_data_picker = 2131296750;
+			
+			// aapt resource value: 0x7F0901EF
+			public const int lp_dialog_time_picker = 2131296751;
+			
+			// aapt resource value: 0x7F0901F4
+			public const int main_layout = 2131296756;
+			
+			// aapt resource value: 0x7F0901F5
+			public const int masked = 2131296757;
 			
 			// aapt resource value: 0x7F090009
 			public const int MatchLayout = 2131296265;
 			
-			// aapt resource value: 0x7F0901EE
-			public const int matte_image = 2131296750;
-			
-			// aapt resource value: 0x7F0901EF
-			public const int media_actions = 2131296751;
-			
-			// aapt resource value: 0x7F0901F0
-			public const int menu_layout = 2131296752;
-			
-			// aapt resource value: 0x7F0901F1
-			public const int menu_play = 2131296753;
-			
-			// aapt resource value: 0x7F0901F2
-			public const int message = 2131296754;
-			
-			// aapt resource value: 0x7F0901F3
-			public const int message1 = 2131296755;
-			
-			// aapt resource value: 0x7F0901F4
-			public const int message2 = 2131296756;
-			
-			// aapt resource value: 0x7F0901F5
-			public const int message_check = 2131296757;
-			
 			// aapt resource value: 0x7F0901F6
-			public const int message_content = 2131296758;
+			public const int matte_image = 2131296758;
 			
 			// aapt resource value: 0x7F0901F7
-			public const int message_from = 2131296759;
+			public const int media_actions = 2131296759;
 			
 			// aapt resource value: 0x7F0901F8
-			public const int message_from_tip = 2131296760;
+			public const int menu_layout = 2131296760;
 			
 			// aapt resource value: 0x7F0901F9
-			public const int message_image = 2131296761;
+			public const int menu_play = 2131296761;
 			
 			// aapt resource value: 0x7F0901FA
-			public const int message_image_layout = 2131296762;
+			public const int message = 2131296762;
 			
 			// aapt resource value: 0x7F0901FB
-			public const int message_image_progress = 2131296763;
+			public const int message1 = 2131296763;
 			
 			// aapt resource value: 0x7F0901FC
-			public const int message_layout = 2131296764;
+			public const int message2 = 2131296764;
 			
 			// aapt resource value: 0x7F0901FD
-			public const int message_list = 2131296765;
+			public const int message_check = 2131296765;
 			
 			// aapt resource value: 0x7F0901FE
-			public const int message_num_tv = 2131296766;
+			public const int message_content = 2131296766;
 			
 			// aapt resource value: 0x7F0901FF
-			public const int message_play_layout = 2131296767;
+			public const int message_from = 2131296767;
 			
 			// aapt resource value: 0x7F090200
-			public const int message_time = 2131296768;
+			public const int message_from_tip = 2131296768;
 			
 			// aapt resource value: 0x7F090201
-			public const int message_type = 2131296769;
+			public const int message_image = 2131296769;
 			
 			// aapt resource value: 0x7F090202
-			public const int message_unread = 2131296770;
+			public const int message_image_layout = 2131296770;
 			
 			// aapt resource value: 0x7F090203
-			public const int message_video_layout = 2131296771;
+			public const int message_image_progress = 2131296771;
+			
+			// aapt resource value: 0x7F090204
+			public const int message_layout = 2131296772;
+			
+			// aapt resource value: 0x7F090205
+			public const int message_list = 2131296773;
+			
+			// aapt resource value: 0x7F090206
+			public const int message_num_tv = 2131296774;
+			
+			// aapt resource value: 0x7F090207
+			public const int message_play_layout = 2131296775;
+			
+			// aapt resource value: 0x7F090208
+			public const int message_time = 2131296776;
+			
+			// aapt resource value: 0x7F090209
+			public const int message_type = 2131296777;
+			
+			// aapt resource value: 0x7F09020A
+			public const int message_unread = 2131296778;
+			
+			// aapt resource value: 0x7F09020B
+			public const int message_video_layout = 2131296779;
 			
 			// aapt resource value: 0x7F090008
 			public const int META = 2131296264;
 			
-			// aapt resource value: 0x7F090205
-			public const int middle = 2131296773;
-			
-			// aapt resource value: 0x7F090204
-			public const int mid_vertical_view = 2131296772;
-			
-			// aapt resource value: 0x7F090206
-			public const int min = 2131296774;
-			
-			// aapt resource value: 0x7F090207
-			public const int mini = 2131296775;
-			
-			// aapt resource value: 0x7F090208
-			public const int mirror_line = 2131296776;
-			
-			// aapt resource value: 0x7F090209
-			public const int modify_password_layout = 2131296777;
-			
-			// aapt resource value: 0x7F09020A
-			public const int monitor = 2131296778;
-			
-			// aapt resource value: 0x7F09020B
-			public const int month = 2131296779;
+			// aapt resource value: 0x7F09020D
+			public const int middle = 2131296781;
 			
 			// aapt resource value: 0x7F09020C
-			public const int more_btn = 2131296780;
-			
-			// aapt resource value: 0x7F09020D
-			public const int msg_content_tv = 2131296781;
+			public const int mid_vertical_view = 2131296780;
 			
 			// aapt resource value: 0x7F09020E
-			public const int multiply = 2131296782;
+			public const int min = 2131296782;
 			
 			// aapt resource value: 0x7F09020F
-			public const int myRelativeLayout = 2131296783;
+			public const int mini = 2131296783;
 			
 			// aapt resource value: 0x7F090210
-			public const int myRetry = 2131296784;
+			public const int mirror_line = 2131296784;
 			
 			// aapt resource value: 0x7F090211
-			public const int nameText = 2131296785;
+			public const int modify_password_layout = 2131296785;
 			
 			// aapt resource value: 0x7F090212
-			public const int name_del = 2131296786;
+			public const int monitor = 2131296786;
 			
 			// aapt resource value: 0x7F090213
-			public const int name_layout = 2131296787;
+			public const int month = 2131296787;
 			
 			// aapt resource value: 0x7F090214
-			public const int name_text = 2131296788;
+			public const int more_btn = 2131296788;
 			
 			// aapt resource value: 0x7F090215
-			public const int name_textview = 2131296789;
+			public const int msg_content_tv = 2131296789;
 			
 			// aapt resource value: 0x7F090216
-			public const int name_tv = 2131296790;
+			public const int multiply = 2131296790;
 			
 			// aapt resource value: 0x7F090217
-			public const int navigation_header_container = 2131296791;
+			public const int myRelativeLayout = 2131296791;
 			
 			// aapt resource value: 0x7F090218
-			public const int never = 2131296792;
+			public const int myRetry = 2131296792;
 			
 			// aapt resource value: 0x7F090219
-			public const int new_password = 2131296793;
+			public const int nameText = 2131296793;
 			
 			// aapt resource value: 0x7F09021A
-			public const int next_play_btn = 2131296794;
-			
-			// aapt resource value: 0x7F090222
-			public const int none = 2131296802;
-			
-			// aapt resource value: 0x7F090223
-			public const int normal = 2131296803;
+			public const int name_del = 2131296794;
 			
 			// aapt resource value: 0x7F09021B
-			public const int noText = 2131296795;
-			
-			// aapt resource value: 0x7F090224
-			public const int notification_background = 2131296804;
-			
-			// aapt resource value: 0x7F090225
-			public const int notification_main_column = 2131296805;
-			
-			// aapt resource value: 0x7F090226
-			public const int notification_main_column_container = 2131296806;
-			
-			// aapt resource value: 0x7F090227
-			public const int novideo_img = 2131296807;
-			
-			// aapt resource value: 0x7F090228
-			public const int novideo_img_device = 2131296808;
+			public const int name_layout = 2131296795;
 			
 			// aapt resource value: 0x7F09021C
-			public const int no_camera_tip_ly = 2131296796;
+			public const int name_text = 2131296796;
 			
 			// aapt resource value: 0x7F09021D
-			public const int no_message_button = 2131296797;
+			public const int name_textview = 2131296797;
 			
 			// aapt resource value: 0x7F09021E
-			public const int no_message_layout = 2131296798;
+			public const int name_tv = 2131296798;
 			
 			// aapt resource value: 0x7F09021F
-			public const int no_message_text = 2131296799;
+			public const int navigation_header_container = 2131296799;
 			
 			// aapt resource value: 0x7F090220
-			public const int no_more_hint = 2131296800;
+			public const int never = 2131296800;
 			
 			// aapt resource value: 0x7F090221
-			public const int no_more_text = 2131296801;
+			public const int new_password = 2131296801;
 			
-			// aapt resource value: 0x7F090229
-			public const int offline_bg = 2131296809;
+			// aapt resource value: 0x7F090222
+			public const int next_play_btn = 2131296802;
 			
 			// aapt resource value: 0x7F09022A
-			public const int ok_tv = 2131296810;
+			public const int none = 2131296810;
 			
 			// aapt resource value: 0x7F09022B
-			public const int options1 = 2131296811;
+			public const int normal = 2131296811;
+			
+			// aapt resource value: 0x7F090223
+			public const int noText = 2131296803;
 			
 			// aapt resource value: 0x7F09022C
-			public const int options2 = 2131296812;
+			public const int notification_background = 2131296812;
 			
 			// aapt resource value: 0x7F09022D
-			public const int options3 = 2131296813;
+			public const int notification_main_column = 2131296813;
 			
 			// aapt resource value: 0x7F09022E
-			public const int optionspicker = 2131296814;
+			public const int notification_main_column_container = 2131296814;
 			
 			// aapt resource value: 0x7F09022F
-			public const int outmost_container = 2131296815;
+			public const int novideo_img = 2131296815;
 			
 			// aapt resource value: 0x7F090230
-			public const int packed = 2131296816;
+			public const int novideo_img_device = 2131296816;
 			
-			// aapt resource value: 0x7F090232
-			public const int pager = 2131296818;
+			// aapt resource value: 0x7F090224
+			public const int no_camera_tip_ly = 2131296804;
 			
-			// aapt resource value: 0x7F090233
-			public const int pager_tab_strip = 2131296819;
+			// aapt resource value: 0x7F090225
+			public const int no_message_button = 2131296805;
+			
+			// aapt resource value: 0x7F090226
+			public const int no_message_layout = 2131296806;
+			
+			// aapt resource value: 0x7F090227
+			public const int no_message_text = 2131296807;
+			
+			// aapt resource value: 0x7F090228
+			public const int no_more_hint = 2131296808;
+			
+			// aapt resource value: 0x7F090229
+			public const int no_more_text = 2131296809;
 			
 			// aapt resource value: 0x7F090231
-			public const int page_container = 2131296817;
+			public const int offline_bg = 2131296817;
+			
+			// aapt resource value: 0x7F090232
+			public const int ok_tv = 2131296818;
+			
+			// aapt resource value: 0x7F090233
+			public const int options1 = 2131296819;
 			
 			// aapt resource value: 0x7F090234
-			public const int parallax = 2131296820;
+			public const int options2 = 2131296820;
 			
 			// aapt resource value: 0x7F090235
-			public const int parent = 2131296821;
+			public const int options3 = 2131296821;
 			
 			// aapt resource value: 0x7F090236
-			public const int parentPanel = 2131296822;
+			public const int optionspicker = 2131296822;
 			
 			// aapt resource value: 0x7F090237
-			public const int parent_matrix = 2131296823;
+			public const int outmost_container = 2131296823;
 			
 			// aapt resource value: 0x7F090238
-			public const int passwordETV = 2131296824;
-			
-			// aapt resource value: 0x7F090239
-			public const int pb_notlist_title_bar_landscape = 2131296825;
+			public const int packed = 2131296824;
 			
 			// aapt resource value: 0x7F09023A
-			public const int pb_play_loading = 2131296826;
+			public const int pager = 2131296826;
 			
 			// aapt resource value: 0x7F09023B
-			public const int pb_search_content_tab = 2131296827;
+			public const int pager_tab_strip = 2131296827;
+			
+			// aapt resource value: 0x7F090239
+			public const int page_container = 2131296825;
 			
 			// aapt resource value: 0x7F09023C
-			public const int pb_search_tab_btn_cloud = 2131296828;
+			public const int parallax = 2131296828;
 			
 			// aapt resource value: 0x7F09023D
-			public const int pb_search_tab_btn_device = 2131296829;
+			public const int parent = 2131296829;
 			
 			// aapt resource value: 0x7F09023E
-			public const int pb_title_bar_landscape = 2131296830;
+			public const int parentPanel = 2131296830;
 			
 			// aapt resource value: 0x7F09023F
-			public const int peerAddress = 2131296831;
+			public const int parent_matrix = 2131296831;
 			
 			// aapt resource value: 0x7F090240
-			public const int percent = 2131296832;
+			public const int passwordETV = 2131296832;
 			
 			// aapt resource value: 0x7F090241
-			public const int phone_et = 2131296833;
+			public const int pb_notlist_title_bar_landscape = 2131296833;
 			
 			// aapt resource value: 0x7F090242
-			public const int phone_ly = 2131296834;
+			public const int pb_play_loading = 2131296834;
 			
 			// aapt resource value: 0x7F090243
-			public const int phone_lyt = 2131296835;
+			public const int pb_search_content_tab = 2131296835;
 			
 			// aapt resource value: 0x7F090244
-			public const int pin = 2131296836;
-			
-			// aapt resource value: 0x7F090246
-			public const int platform_login_btn = 2131296838;
+			public const int pb_search_tab_btn_cloud = 2131296836;
 			
 			// aapt resource value: 0x7F090245
-			public const int plat_tv = 2131296837;
+			public const int pb_search_tab_btn_device = 2131296837;
+			
+			// aapt resource value: 0x7F090246
+			public const int pb_title_bar_landscape = 2131296838;
 			
 			// aapt resource value: 0x7F090247
-			public const int play_video_layout = 2131296839;
+			public const int peerAddress = 2131296839;
 			
 			// aapt resource value: 0x7F090248
-			public const int preview_view = 2131296840;
+			public const int percent = 2131296840;
 			
 			// aapt resource value: 0x7F090249
-			public const int privacy_policy_btn = 2131296841;
-			
-			// aapt resource value: 0x7F09024E
-			public const int progressbar = 2131296846;
+			public const int phone_et = 2131296841;
 			
 			// aapt resource value: 0x7F09024A
-			public const int progress_area = 2131296842;
+			public const int phone_ly = 2131296842;
 			
 			// aapt resource value: 0x7F09024B
-			public const int progress_circular = 2131296843;
+			public const int phone_lyt = 2131296843;
 			
 			// aapt resource value: 0x7F09024C
-			public const int progress_horizontal = 2131296844;
+			public const int pin = 2131296844;
+			
+			// aapt resource value: 0x7F09024E
+			public const int platform_login_btn = 2131296846;
 			
 			// aapt resource value: 0x7F09024D
-			public const int progress_seekbar = 2131296845;
+			public const int plat_tv = 2131296845;
 			
 			// aapt resource value: 0x7F09024F
-			public const int ptz_bottom_btn = 2131296847;
+			public const int play_video_layout = 2131296847;
 			
 			// aapt resource value: 0x7F090250
-			public const int ptz_close_btn = 2131296848;
+			public const int preview_view = 2131296848;
 			
 			// aapt resource value: 0x7F090251
-			public const int ptz_control_ly = 2131296849;
-			
-			// aapt resource value: 0x7F090252
-			public const int ptz_flip_btn = 2131296850;
-			
-			// aapt resource value: 0x7F090253
-			public const int ptz_left_btn = 2131296851;
-			
-			// aapt resource value: 0x7F090254
-			public const int ptz_right_btn = 2131296852;
-			
-			// aapt resource value: 0x7F090255
-			public const int ptz_top_btn = 2131296853;
+			public const int privacy_policy_btn = 2131296849;
 			
 			// aapt resource value: 0x7F090256
-			public const int quality_balanced_btn = 2131296854;
+			public const int progressbar = 2131296854;
+			
+			// aapt resource value: 0x7F090252
+			public const int progress_area = 2131296850;
+			
+			// aapt resource value: 0x7F090253
+			public const int progress_circular = 2131296851;
+			
+			// aapt resource value: 0x7F090254
+			public const int progress_horizontal = 2131296852;
+			
+			// aapt resource value: 0x7F090255
+			public const int progress_seekbar = 2131296853;
 			
 			// aapt resource value: 0x7F090257
-			public const int quality_close_btn = 2131296855;
+			public const int ptz_bottom_btn = 2131296855;
 			
 			// aapt resource value: 0x7F090258
-			public const int quality_flunet_btn = 2131296856;
+			public const int ptz_close_btn = 2131296856;
 			
 			// aapt resource value: 0x7F090259
-			public const int quality_hd_btn = 2131296857;
+			public const int ptz_control_ly = 2131296857;
 			
 			// aapt resource value: 0x7F09025A
-			public const int quality_line = 2131296858;
+			public const int ptz_flip_btn = 2131296858;
 			
 			// aapt resource value: 0x7F09025B
-			public const int quality_super_hd_btn = 2131296859;
-			
-			// aapt resource value: 0x7F09025D
-			public const int queryingCameraRyt = 2131296861;
-			
-			// aapt resource value: 0x7F09025E
-			public const int querying_camera_tv = 2131296862;
+			public const int ptz_left_btn = 2131296859;
 			
 			// aapt resource value: 0x7F09025C
-			public const int query_exception_ly = 2131296860;
+			public const int ptz_right_btn = 2131296860;
+			
+			// aapt resource value: 0x7F09025D
+			public const int ptz_top_btn = 2131296861;
+			
+			// aapt resource value: 0x7F09025E
+			public const int quality_balanced_btn = 2131296862;
 			
 			// aapt resource value: 0x7F09025F
-			public const int quit = 2131296863;
+			public const int quality_close_btn = 2131296863;
 			
 			// aapt resource value: 0x7F090260
-			public const int radio = 2131296864;
+			public const int quality_flunet_btn = 2131296864;
 			
 			// aapt resource value: 0x7F090261
-			public const int range = 2131296865;
+			public const int quality_hd_btn = 2131296865;
 			
 			// aapt resource value: 0x7F090262
-			public const int rangeSort = 2131296866;
+			public const int quality_line = 2131296866;
 			
 			// aapt resource value: 0x7F090263
-			public const int rate_16x = 2131296867;
-			
-			// aapt resource value: 0x7F090264
-			public const int rate_1x = 2131296868;
+			public const int quality_super_hd_btn = 2131296867;
 			
 			// aapt resource value: 0x7F090265
-			public const int rate_4x = 2131296869;
+			public const int queryingCameraRyt = 2131296869;
 			
 			// aapt resource value: 0x7F090266
-			public const int rate_8x = 2131296870;
+			public const int querying_camera_tv = 2131296870;
 			
-			// aapt resource value: 0x7F090268
-			public const int read_button = 2131296872;
-			
-			// aapt resource value: 0x7F090269
-			public const int realplay_area = 2131296873;
-			
-			// aapt resource value: 0x7F09026A
-			public const int realplay_back_btn = 2131296874;
-			
-			// aapt resource value: 0x7F09026B
-			public const int realplay_capture_iv = 2131296875;
-			
-			// aapt resource value: 0x7F09026C
-			public const int realplay_capture_rl = 2131296876;
-			
-			// aapt resource value: 0x7F09026D
-			public const int realplay_capture_watermark_iv = 2131296877;
-			
-			// aapt resource value: 0x7F09026E
-			public const int realplay_control_bar = 2131296878;
-			
-			// aapt resource value: 0x7F09026F
-			public const int realplay_control_rl = 2131296879;
-			
-			// aapt resource value: 0x7F090270
-			public const int realplay_display_view = 2131296880;
-			
-			// aapt resource value: 0x7F090271
-			public const int realplay_flow_tv = 2131296881;
-			
-			// aapt resource value: 0x7F090272
-			public const int realplay_full_anim_btn = 2131296882;
-			
-			// aapt resource value: 0x7F090273
-			public const int realplay_full_flow_ly = 2131296883;
-			
-			// aapt resource value: 0x7F090274
-			public const int realplay_full_flow_tv = 2131296884;
-			
-			// aapt resource value: 0x7F090275
-			public const int realplay_full_operate_bar = 2131296885;
-			
-			// aapt resource value: 0x7F090276
-			public const int realplay_full_operate_layout = 2131296886;
-			
-			// aapt resource value: 0x7F090277
-			public const int realplay_full_play_btn = 2131296887;
-			
-			// aapt resource value: 0x7F090278
-			public const int realplay_full_previously_btn = 2131296888;
-			
-			// aapt resource value: 0x7F090279
-			public const int realplay_full_ptz_anim_btn = 2131296889;
-			
-			// aapt resource value: 0x7F09027A
-			public const int realplay_full_ptz_btn = 2131296890;
-			
-			// aapt resource value: 0x7F09027B
-			public const int realplay_full_ptz_prompt_iv = 2131296891;
-			
-			// aapt resource value: 0x7F09027C
-			public const int realplay_full_rate_tv = 2131296892;
-			
-			// aapt resource value: 0x7F09027D
-			public const int realplay_full_sound_btn = 2131296893;
-			
-			// aapt resource value: 0x7F09027E
-			public const int realplay_full_talk_anim_btn = 2131296894;
-			
-			// aapt resource value: 0x7F09027F
-			public const int realplay_full_talk_btn = 2131296895;
-			
-			// aapt resource value: 0x7F090280
-			public const int realplay_full_video_btn = 2131296896;
-			
-			// aapt resource value: 0x7F090281
-			public const int realplay_full_video_container = 2131296897;
-			
-			// aapt resource value: 0x7F090282
-			public const int realplay_full_video_start_btn = 2131296898;
-			
-			// aapt resource value: 0x7F090283
-			public const int realplay_loading = 2131296899;
-			
-			// aapt resource value: 0x7F090284
-			public const int realplay_loading_rl = 2131296900;
-			
-			// aapt resource value: 0x7F090285
-			public const int realplay_operate_bar = 2131296901;
-			
-			// aapt resource value: 0x7F090286
-			public const int realplay_operate_bar2 = 2131296902;
-			
-			// aapt resource value: 0x7F090287
-			public const int realplay_operate_ly = 2131296903;
-			
-			// aapt resource value: 0x7F090288
-			public const int realplay_operate_ly2 = 2131296904;
-			
-			// aapt resource value: 0x7F09028B
-			public const int realplay_pages_gallery = 2131296907;
-			
-			// aapt resource value: 0x7F090289
-			public const int realplay_page_anim_iv = 2131296905;
-			
-			// aapt resource value: 0x7F09028A
-			public const int realplay_page_ly = 2131296906;
-			
-			// aapt resource value: 0x7F09028C
-			public const int realplay_play_btn = 2131296908;
-			
-			// aapt resource value: 0x7F09028D
-			public const int realplay_play_iv = 2131296909;
-			
-			// aapt resource value: 0x7F09028E
-			public const int realplay_play_rl = 2131296910;
-			
-			// aapt resource value: 0x7F09028F
-			public const int realplay_previously_btn = 2131296911;
-			
-			// aapt resource value: 0x7F090290
-			public const int realplay_previously_btn2 = 2131296912;
-			
-			// aapt resource value: 0x7F090291
-			public const int realplay_previously_btn_ly = 2131296913;
-			
-			// aapt resource value: 0x7F090292
-			public const int realplay_previously_btn_ly2 = 2131296914;
-			
-			// aapt resource value: 0x7F090293
-			public const int realplay_privacy_btn = 2131296915;
-			
-			// aapt resource value: 0x7F090294
-			public const int realplay_privacy_btn2 = 2131296916;
-			
-			// aapt resource value: 0x7F090295
-			public const int realplay_privacy_btn_ly = 2131296917;
-			
-			// aapt resource value: 0x7F090296
-			public const int realplay_privacy_btn_ly2 = 2131296918;
-			
-			// aapt resource value: 0x7F090297
-			public const int realplay_privacy_ly = 2131296919;
-			
-			// aapt resource value: 0x7F090298
-			public const int realplay_privacy_tv = 2131296920;
-			
-			// aapt resource value: 0x7F090299
-			public const int realplay_privacy_tv2 = 2131296921;
-			
-			// aapt resource value: 0x7F09029A
-			public const int realplay_prompt_rl = 2131296922;
-			
-			// aapt resource value: 0x7F09029B
-			public const int realplay_ptz_btn = 2131296923;
-			
-			// aapt resource value: 0x7F09029C
-			public const int realplay_ptz_btn2 = 2131296924;
-			
-			// aapt resource value: 0x7F09029D
-			public const int realplay_ptz_btn_ly = 2131296925;
-			
-			// aapt resource value: 0x7F09029E
-			public const int realplay_ptz_btn_ly2 = 2131296926;
-			
-			// aapt resource value: 0x7F09029F
-			public const int realplay_ptz_direction_iv = 2131296927;
-			
-			// aapt resource value: 0x7F0902A0
-			public const int realplay_quality_btn = 2131296928;
-			
-			// aapt resource value: 0x7F0902A1
-			public const int realplay_ratio_tv = 2131296929;
-			
-			// aapt resource value: 0x7F0902A2
-			public const int realplay_record_iv = 2131296930;
-			
-			// aapt resource value: 0x7F0902A3
-			public const int realplay_record_ly = 2131296931;
-			
-			// aapt resource value: 0x7F0902A4
-			public const int realplay_record_tv = 2131296932;
-			
-			// aapt resource value: 0x7F0902A5
-			public const int realplay_sound_btn = 2131296933;
-			
-			// aapt resource value: 0x7F0902A6
-			public const int realplay_ssl_btn = 2131296934;
-			
-			// aapt resource value: 0x7F0902A7
-			public const int realplay_ssl_btn2 = 2131296935;
-			
-			// aapt resource value: 0x7F0902A8
-			public const int realplay_ssl_btn_ly = 2131296936;
-			
-			// aapt resource value: 0x7F0902A9
-			public const int realplay_ssl_btn_ly2 = 2131296937;
-			
-			// aapt resource value: 0x7F0902AA
-			public const int realplay_ssl_btn_rl = 2131296938;
-			
-			// aapt resource value: 0x7F0902AB
-			public const int realplay_ssl_btn_rl2 = 2131296939;
-			
-			// aapt resource value: 0x7F0902AC
-			public const int realplay_ssl_progress = 2131296940;
-			
-			// aapt resource value: 0x7F0902AD
-			public const int realplay_ssl_progress2 = 2131296941;
-			
-			// aapt resource value: 0x7F0902AE
-			public const int realplay_ssl_tv = 2131296942;
-			
-			// aapt resource value: 0x7F0902AF
-			public const int realplay_ssl_tv2 = 2131296943;
-			
-			// aapt resource value: 0x7F0902B0
-			public const int realplay_stop_btn = 2131296944;
-			
-			// aapt resource value: 0x7F0902B1
-			public const int realplay_sv = 2131296945;
-			
-			// aapt resource value: 0x7F0902B2
-			public const int realplay_talk_btn = 2131296946;
-			
-			// aapt resource value: 0x7F0902B3
-			public const int realplay_talk_btn2 = 2131296947;
-			
-			// aapt resource value: 0x7F0902B4
-			public const int realplay_talk_btn_ly = 2131296948;
-			
-			// aapt resource value: 0x7F0902B5
-			public const int realplay_talk_btn_ly2 = 2131296949;
-			
-			// aapt resource value: 0x7F0902B6
-			public const int realplay_tip_tv = 2131296950;
-			
-			// aapt resource value: 0x7F0902B7
-			public const int realplay_title_tv = 2131296951;
-			
-			// aapt resource value: 0x7F0902B8
-			public const int realplay_top_bar = 2131296952;
-			
-			// aapt resource value: 0x7F0902B9
-			public const int realplay_video_btn = 2131296953;
-			
-			// aapt resource value: 0x7F0902BA
-			public const int realplay_video_btn2 = 2131296954;
-			
-			// aapt resource value: 0x7F0902BB
-			public const int realplay_video_container = 2131296955;
-			
-			// aapt resource value: 0x7F0902BC
-			public const int realplay_video_container2 = 2131296956;
-			
-			// aapt resource value: 0x7F0902BD
-			public const int realplay_video_container_ly = 2131296957;
-			
-			// aapt resource value: 0x7F0902BE
-			public const int realplay_video_container_ly2 = 2131296958;
-			
-			// aapt resource value: 0x7F0902BF
-			public const int realplay_video_start_btn = 2131296959;
-			
-			// aapt resource value: 0x7F0902C0
-			public const int realplay_video_start_btn2 = 2131296960;
-			
-			// aapt resource value: 0x7F0902C1
-			public const int realplay_waiting_lr = 2131296961;
-			
-			// aapt resource value: 0x7F0902C2
-			public const int realplay_watting_pb = 2131296962;
-			
-			// aapt resource value: 0x7F0902C3
-			public const int realplay_watting_tv = 2131296963;
-			
-			// aapt resource value: 0x7F0902C4
-			public const int realplay_wnd_sv = 2131296964;
-			
-			// aapt resource value: 0x7F0902C5
-			public const int recycler_view = 2131296965;
-			
-			// aapt resource value: 0x7F0902C6
-			public const int refresh_button = 2131296966;
-			
-			// aapt resource value: 0x7F0902C7
-			public const int refresh_layout = 2131296967;
-			
-			// aapt resource value: 0x7F0902C8
-			public const int refresh_tip = 2131296968;
-			
-			// aapt resource value: 0x7F0902C9
-			public const int remoteFrame = 2131296969;
-			
-			// aapt resource value: 0x7F0902CA
-			public const int remoteFrameContainer = 2131296970;
-			
-			// aapt resource value: 0x7F0902D7
-			public const int remoteplayback_begin_time_tv = 2131296983;
-			
-			// aapt resource value: 0x7F0902D8
-			public const int remoteplayback_capture_iv = 2131296984;
-			
-			// aapt resource value: 0x7F0902D9
-			public const int remoteplayback_capture_rl = 2131296985;
-			
-			// aapt resource value: 0x7F0902DA
-			public const int remoteplayback_capture_watermark_iv = 2131296986;
-			
-			// aapt resource value: 0x7F0902DB
-			public const int remoteplayback_control_rl = 2131296987;
-			
-			// aapt resource value: 0x7F0902DC
-			public const int remoteplayback_end_time_tv = 2131296988;
-			
-			// aapt resource value: 0x7F0902DD
-			public const int remoteplayback_file_time_bar = 2131296989;
-			
-			// aapt resource value: 0x7F0902DE
-			public const int remoteplayback_flow_tv = 2131296990;
-			
-			// aapt resource value: 0x7F0902DF
-			public const int remoteplayback_full_down_btn = 2131296991;
-			
-			// aapt resource value: 0x7F0902E0
-			public const int remoteplayback_full_flow_ly = 2131296992;
-			
-			// aapt resource value: 0x7F0902E1
-			public const int remoteplayback_full_flow_tv = 2131296993;
-			
-			// aapt resource value: 0x7F0902E2
-			public const int remoteplayback_full_operate_bar = 2131296994;
-			
-			// aapt resource value: 0x7F0902E3
-			public const int remoteplayback_full_play_btn = 2131296995;
-			
-			// aapt resource value: 0x7F0902E4
-			public const int remoteplayback_full_previously_btn = 2131296996;
-			
-			// aapt resource value: 0x7F0902E5
-			public const int remoteplayback_full_rate_tv = 2131296997;
-			
-			// aapt resource value: 0x7F0902E6
-			public const int remoteplayback_full_sound_btn = 2131296998;
-			
-			// aapt resource value: 0x7F0902E7
-			public const int remoteplayback_full_video_btn = 2131296999;
-			
-			// aapt resource value: 0x7F0902E8
-			public const int remoteplayback_full_video_container = 2131297000;
-			
-			// aapt resource value: 0x7F0902E9
-			public const int remoteplayback_full_video_start_btn = 2131297001;
-			
-			// aapt resource value: 0x7F0902EA
-			public const int remoteplayback_loading_iv = 2131297002;
-			
-			// aapt resource value: 0x7F0902EB
-			public const int remoteplayback_loading_ly = 2131297003;
-			
-			// aapt resource value: 0x7F0902EC
-			public const int remoteplayback_loading_pb_ly = 2131297004;
-			
-			// aapt resource value: 0x7F0902ED
-			public const int remoteplayback_loading_play_btn = 2131297005;
-			
-			// aapt resource value: 0x7F0902EE
-			public const int remoteplayback_loading_tv = 2131297006;
-			
-			// aapt resource value: 0x7F0902EF
-			public const int remoteplayback_operate_bar = 2131297007;
-			
-			// aapt resource value: 0x7F0902F0
-			public const int remoteplayback_page_ly = 2131297008;
-			
-			// aapt resource value: 0x7F0902F1
-			public const int remoteplayback_play_btn = 2131297009;
-			
-			// aapt resource value: 0x7F0902F2
-			public const int remoteplayback_play_rl = 2131297010;
-			
-			// aapt resource value: 0x7F0902F3
-			public const int remoteplayback_previously_btn = 2131297011;
-			
-			// aapt resource value: 0x7F0902F6
-			public const int remoteplayback_progressbar = 2131297014;
-			
-			// aapt resource value: 0x7F0902F4
-			public const int remoteplayback_progress_ly = 2131297012;
-			
-			// aapt resource value: 0x7F0902F5
-			public const int remoteplayback_progress_seekbar = 2131297013;
-			
-			// aapt resource value: 0x7F0902F7
-			public const int remoteplayback_ratio_tv = 2131297015;
-			
-			// aapt resource value: 0x7F0902F8
-			public const int remoteplayback_record_iv = 2131297016;
-			
-			// aapt resource value: 0x7F0902F9
-			public const int remoteplayback_record_ly = 2131297017;
-			
-			// aapt resource value: 0x7F0902FA
-			public const int remoteplayback_record_tv = 2131297018;
-			
-			// aapt resource value: 0x7F0902FB
-			public const int remoteplayback_replay_btn = 2131297019;
-			
-			// aapt resource value: 0x7F0902FC
-			public const int remoteplayback_small_previously_btn = 2131297020;
-			
-			// aapt resource value: 0x7F0902FD
-			public const int remoteplayback_small_video_btn = 2131297021;
-			
-			// aapt resource value: 0x7F0902FE
-			public const int remoteplayback_small_video_container = 2131297022;
-			
-			// aapt resource value: 0x7F0902FF
-			public const int remoteplayback_small_video_start_btn = 2131297023;
-			
-			// aapt resource value: 0x7F090300
-			public const int remoteplayback_sound_btn = 2131297024;
-			
-			// aapt resource value: 0x7F090301
-			public const int remoteplayback_sv = 2131297025;
-			
-			// aapt resource value: 0x7F090303
-			public const int remoteplayback_timebar = 2131297027;
-			
-			// aapt resource value: 0x7F090304
-			public const int remoteplayback_timebar_rl = 2131297028;
-			
-			// aapt resource value: 0x7F090302
-			public const int remoteplayback_time_tv = 2131297026;
-			
-			// aapt resource value: 0x7F090305
-			public const int remoteplayback_tip_tv = 2131297029;
-			
-			// aapt resource value: 0x7F090306
-			public const int remoteplayback_video_btn = 2131297030;
-			
-			// aapt resource value: 0x7F090307
-			public const int remoteplayback_video_container = 2131297031;
-			
-			// aapt resource value: 0x7F090308
-			public const int remoteplayback_video_start_btn = 2131297032;
-			
-			// aapt resource value: 0x7F0902CB
-			public const int remoteVideo = 2131296971;
-			
-			// aapt resource value: 0x7F0902CC
-			public const int remote_list_page = 2131296972;
-			
-			// aapt resource value: 0x7F0902CD
-			public const int remote_loading_buffer_tv = 2131296973;
-			
-			// aapt resource value: 0x7F0902CE
-			public const int remote_loading_iv = 2131296974;
-			
-			// aapt resource value: 0x7F0902CF
-			public const int remote_playback_area = 2131296975;
-			
-			// aapt resource value: 0x7F0902D0
-			public const int remote_playback_capture_btn = 2131296976;
-			
-			// aapt resource value: 0x7F0902D1
-			public const int remote_playback_download_btn = 2131296977;
-			
-			// aapt resource value: 0x7F0902D2
-			public const int remote_playback_flow_tv = 2131296978;
-			
-			// aapt resource value: 0x7F0902D3
-			public const int remote_playback_pause_btn = 2131296979;
-			
-			// aapt resource value: 0x7F0902D4
-			public const int remote_playback_sound_btn = 2131296980;
-			
-			// aapt resource value: 0x7F0902D5
-			public const int remote_playback_video_recording_btn = 2131296981;
-			
-			// aapt resource value: 0x7F0902D6
-			public const int remote_playback_wnd_sv = 2131296982;
-			
-			// aapt resource value: 0x7F090309
-			public const int render_texture_view = 2131297033;
-			
-			// aapt resource value: 0x7F09030A
-			public const int render_texture_view_soft = 2131297034;
-			
-			// aapt resource value: 0x7F09030B
-			public const int replay_btn = 2131297035;
-			
-			// aapt resource value: 0x7F09030C
-			public const int requestA = 2131297036;
-			
-			// aapt resource value: 0x7F09030D
-			public const int requestMasterAudio = 2131297037;
-			
-			// aapt resource value: 0x7F09030E
-			public const int requestMasterVideo = 2131297038;
-			
-			// aapt resource value: 0x7F09030F
-			public const int requestV = 2131297039;
-			
-			// aapt resource value: 0x7F090310
-			public const int restart_preview = 2131297040;
-			
-			// aapt resource value: 0x7F090311
-			public const int retry_btn = 2131297041;
-			
-			// aapt resource value: 0x7F090312
-			public const int retry_button = 2131297042;
-			
-			// aapt resource value: 0x7F090313
-			public const int return_scan_result = 2131297043;
-			
-			// aapt resource value: 0x7F090314
-			public const int reverseCall = 2131297044;
-			
-			// aapt resource value: 0x7F090315
-			public const int reverseCallInfo = 2131297045;
+			// aapt resource value: 0x7F090264
+			public const int query_exception_ly = 2131296868;
 			
 			// aapt resource value: 0x7F090267
-			public const int re_next_area = 2131296871;
+			public const int quit = 2131296871;
+			
+			// aapt resource value: 0x7F090268
+			public const int radio = 2131296872;
+			
+			// aapt resource value: 0x7F090269
+			public const int range = 2131296873;
+			
+			// aapt resource value: 0x7F09026A
+			public const int rangeSort = 2131296874;
+			
+			// aapt resource value: 0x7F09026B
+			public const int rate_16x = 2131296875;
+			
+			// aapt resource value: 0x7F09026C
+			public const int rate_1x = 2131296876;
+			
+			// aapt resource value: 0x7F09026D
+			public const int rate_4x = 2131296877;
+			
+			// aapt resource value: 0x7F09026E
+			public const int rate_8x = 2131296878;
+			
+			// aapt resource value: 0x7F090270
+			public const int read_button = 2131296880;
+			
+			// aapt resource value: 0x7F090271
+			public const int realplay_area = 2131296881;
+			
+			// aapt resource value: 0x7F090272
+			public const int realplay_back_btn = 2131296882;
+			
+			// aapt resource value: 0x7F090273
+			public const int realplay_capture_iv = 2131296883;
+			
+			// aapt resource value: 0x7F090274
+			public const int realplay_capture_rl = 2131296884;
+			
+			// aapt resource value: 0x7F090275
+			public const int realplay_capture_watermark_iv = 2131296885;
+			
+			// aapt resource value: 0x7F090276
+			public const int realplay_control_bar = 2131296886;
+			
+			// aapt resource value: 0x7F090277
+			public const int realplay_control_rl = 2131296887;
+			
+			// aapt resource value: 0x7F090278
+			public const int realplay_display_view = 2131296888;
+			
+			// aapt resource value: 0x7F090279
+			public const int realplay_flow_tv = 2131296889;
+			
+			// aapt resource value: 0x7F09027A
+			public const int realplay_full_anim_btn = 2131296890;
+			
+			// aapt resource value: 0x7F09027B
+			public const int realplay_full_flow_ly = 2131296891;
+			
+			// aapt resource value: 0x7F09027C
+			public const int realplay_full_flow_tv = 2131296892;
+			
+			// aapt resource value: 0x7F09027D
+			public const int realplay_full_operate_bar = 2131296893;
+			
+			// aapt resource value: 0x7F09027E
+			public const int realplay_full_operate_layout = 2131296894;
+			
+			// aapt resource value: 0x7F09027F
+			public const int realplay_full_play_btn = 2131296895;
+			
+			// aapt resource value: 0x7F090280
+			public const int realplay_full_previously_btn = 2131296896;
+			
+			// aapt resource value: 0x7F090281
+			public const int realplay_full_ptz_anim_btn = 2131296897;
+			
+			// aapt resource value: 0x7F090282
+			public const int realplay_full_ptz_btn = 2131296898;
+			
+			// aapt resource value: 0x7F090283
+			public const int realplay_full_ptz_prompt_iv = 2131296899;
+			
+			// aapt resource value: 0x7F090284
+			public const int realplay_full_rate_tv = 2131296900;
+			
+			// aapt resource value: 0x7F090285
+			public const int realplay_full_sound_btn = 2131296901;
+			
+			// aapt resource value: 0x7F090286
+			public const int realplay_full_talk_anim_btn = 2131296902;
+			
+			// aapt resource value: 0x7F090287
+			public const int realplay_full_talk_btn = 2131296903;
+			
+			// aapt resource value: 0x7F090288
+			public const int realplay_full_video_btn = 2131296904;
+			
+			// aapt resource value: 0x7F090289
+			public const int realplay_full_video_container = 2131296905;
+			
+			// aapt resource value: 0x7F09028A
+			public const int realplay_full_video_start_btn = 2131296906;
+			
+			// aapt resource value: 0x7F09028B
+			public const int realplay_loading = 2131296907;
+			
+			// aapt resource value: 0x7F09028C
+			public const int realplay_loading_rl = 2131296908;
+			
+			// aapt resource value: 0x7F09028D
+			public const int realplay_operate_bar = 2131296909;
+			
+			// aapt resource value: 0x7F09028E
+			public const int realplay_operate_bar2 = 2131296910;
+			
+			// aapt resource value: 0x7F09028F
+			public const int realplay_operate_ly = 2131296911;
+			
+			// aapt resource value: 0x7F090290
+			public const int realplay_operate_ly2 = 2131296912;
+			
+			// aapt resource value: 0x7F090293
+			public const int realplay_pages_gallery = 2131296915;
+			
+			// aapt resource value: 0x7F090291
+			public const int realplay_page_anim_iv = 2131296913;
+			
+			// aapt resource value: 0x7F090292
+			public const int realplay_page_ly = 2131296914;
+			
+			// aapt resource value: 0x7F090294
+			public const int realplay_play_btn = 2131296916;
+			
+			// aapt resource value: 0x7F090295
+			public const int realplay_play_iv = 2131296917;
+			
+			// aapt resource value: 0x7F090296
+			public const int realplay_play_rl = 2131296918;
+			
+			// aapt resource value: 0x7F090297
+			public const int realplay_previously_btn = 2131296919;
+			
+			// aapt resource value: 0x7F090298
+			public const int realplay_previously_btn2 = 2131296920;
+			
+			// aapt resource value: 0x7F090299
+			public const int realplay_previously_btn_ly = 2131296921;
+			
+			// aapt resource value: 0x7F09029A
+			public const int realplay_previously_btn_ly2 = 2131296922;
+			
+			// aapt resource value: 0x7F09029B
+			public const int realplay_privacy_btn = 2131296923;
+			
+			// aapt resource value: 0x7F09029C
+			public const int realplay_privacy_btn2 = 2131296924;
+			
+			// aapt resource value: 0x7F09029D
+			public const int realplay_privacy_btn_ly = 2131296925;
+			
+			// aapt resource value: 0x7F09029E
+			public const int realplay_privacy_btn_ly2 = 2131296926;
+			
+			// aapt resource value: 0x7F09029F
+			public const int realplay_privacy_ly = 2131296927;
+			
+			// aapt resource value: 0x7F0902A0
+			public const int realplay_privacy_tv = 2131296928;
+			
+			// aapt resource value: 0x7F0902A1
+			public const int realplay_privacy_tv2 = 2131296929;
+			
+			// aapt resource value: 0x7F0902A2
+			public const int realplay_prompt_rl = 2131296930;
+			
+			// aapt resource value: 0x7F0902A3
+			public const int realplay_ptz_btn = 2131296931;
+			
+			// aapt resource value: 0x7F0902A4
+			public const int realplay_ptz_btn2 = 2131296932;
+			
+			// aapt resource value: 0x7F0902A5
+			public const int realplay_ptz_btn_ly = 2131296933;
+			
+			// aapt resource value: 0x7F0902A6
+			public const int realplay_ptz_btn_ly2 = 2131296934;
+			
+			// aapt resource value: 0x7F0902A7
+			public const int realplay_ptz_direction_iv = 2131296935;
+			
+			// aapt resource value: 0x7F0902A8
+			public const int realplay_quality_btn = 2131296936;
+			
+			// aapt resource value: 0x7F0902A9
+			public const int realplay_ratio_tv = 2131296937;
+			
+			// aapt resource value: 0x7F0902AA
+			public const int realplay_record_iv = 2131296938;
+			
+			// aapt resource value: 0x7F0902AB
+			public const int realplay_record_ly = 2131296939;
+			
+			// aapt resource value: 0x7F0902AC
+			public const int realplay_record_tv = 2131296940;
+			
+			// aapt resource value: 0x7F0902AD
+			public const int realplay_sound_btn = 2131296941;
+			
+			// aapt resource value: 0x7F0902AE
+			public const int realplay_ssl_btn = 2131296942;
+			
+			// aapt resource value: 0x7F0902AF
+			public const int realplay_ssl_btn2 = 2131296943;
+			
+			// aapt resource value: 0x7F0902B0
+			public const int realplay_ssl_btn_ly = 2131296944;
+			
+			// aapt resource value: 0x7F0902B1
+			public const int realplay_ssl_btn_ly2 = 2131296945;
+			
+			// aapt resource value: 0x7F0902B2
+			public const int realplay_ssl_btn_rl = 2131296946;
+			
+			// aapt resource value: 0x7F0902B3
+			public const int realplay_ssl_btn_rl2 = 2131296947;
+			
+			// aapt resource value: 0x7F0902B4
+			public const int realplay_ssl_progress = 2131296948;
+			
+			// aapt resource value: 0x7F0902B5
+			public const int realplay_ssl_progress2 = 2131296949;
+			
+			// aapt resource value: 0x7F0902B6
+			public const int realplay_ssl_tv = 2131296950;
+			
+			// aapt resource value: 0x7F0902B7
+			public const int realplay_ssl_tv2 = 2131296951;
+			
+			// aapt resource value: 0x7F0902B8
+			public const int realplay_stop_btn = 2131296952;
+			
+			// aapt resource value: 0x7F0902B9
+			public const int realplay_sv = 2131296953;
+			
+			// aapt resource value: 0x7F0902BA
+			public const int realplay_talk_btn = 2131296954;
+			
+			// aapt resource value: 0x7F0902BB
+			public const int realplay_talk_btn2 = 2131296955;
+			
+			// aapt resource value: 0x7F0902BC
+			public const int realplay_talk_btn_ly = 2131296956;
+			
+			// aapt resource value: 0x7F0902BD
+			public const int realplay_talk_btn_ly2 = 2131296957;
+			
+			// aapt resource value: 0x7F0902BE
+			public const int realplay_tip_tv = 2131296958;
+			
+			// aapt resource value: 0x7F0902BF
+			public const int realplay_title_tv = 2131296959;
+			
+			// aapt resource value: 0x7F0902C0
+			public const int realplay_top_bar = 2131296960;
+			
+			// aapt resource value: 0x7F0902C1
+			public const int realplay_video_btn = 2131296961;
+			
+			// aapt resource value: 0x7F0902C2
+			public const int realplay_video_btn2 = 2131296962;
+			
+			// aapt resource value: 0x7F0902C3
+			public const int realplay_video_container = 2131296963;
+			
+			// aapt resource value: 0x7F0902C4
+			public const int realplay_video_container2 = 2131296964;
+			
+			// aapt resource value: 0x7F0902C5
+			public const int realplay_video_container_ly = 2131296965;
+			
+			// aapt resource value: 0x7F0902C6
+			public const int realplay_video_container_ly2 = 2131296966;
+			
+			// aapt resource value: 0x7F0902C7
+			public const int realplay_video_start_btn = 2131296967;
+			
+			// aapt resource value: 0x7F0902C8
+			public const int realplay_video_start_btn2 = 2131296968;
+			
+			// aapt resource value: 0x7F0902C9
+			public const int realplay_waiting_lr = 2131296969;
+			
+			// aapt resource value: 0x7F0902CA
+			public const int realplay_watting_pb = 2131296970;
+			
+			// aapt resource value: 0x7F0902CB
+			public const int realplay_watting_tv = 2131296971;
+			
+			// aapt resource value: 0x7F0902CC
+			public const int realplay_wnd_sv = 2131296972;
+			
+			// aapt resource value: 0x7F0902CD
+			public const int recycler_view = 2131296973;
+			
+			// aapt resource value: 0x7F0902CE
+			public const int refresh_button = 2131296974;
+			
+			// aapt resource value: 0x7F0902CF
+			public const int refresh_layout = 2131296975;
+			
+			// aapt resource value: 0x7F0902D0
+			public const int refresh_tip = 2131296976;
+			
+			// aapt resource value: 0x7F0902D1
+			public const int remoteFrame = 2131296977;
+			
+			// aapt resource value: 0x7F0902D2
+			public const int remoteFrameContainer = 2131296978;
+			
+			// aapt resource value: 0x7F0902DF
+			public const int remoteplayback_begin_time_tv = 2131296991;
+			
+			// aapt resource value: 0x7F0902E0
+			public const int remoteplayback_capture_iv = 2131296992;
+			
+			// aapt resource value: 0x7F0902E1
+			public const int remoteplayback_capture_rl = 2131296993;
+			
+			// aapt resource value: 0x7F0902E2
+			public const int remoteplayback_capture_watermark_iv = 2131296994;
+			
+			// aapt resource value: 0x7F0902E3
+			public const int remoteplayback_control_rl = 2131296995;
+			
+			// aapt resource value: 0x7F0902E4
+			public const int remoteplayback_end_time_tv = 2131296996;
+			
+			// aapt resource value: 0x7F0902E5
+			public const int remoteplayback_file_time_bar = 2131296997;
+			
+			// aapt resource value: 0x7F0902E6
+			public const int remoteplayback_flow_tv = 2131296998;
+			
+			// aapt resource value: 0x7F0902E7
+			public const int remoteplayback_full_down_btn = 2131296999;
+			
+			// aapt resource value: 0x7F0902E8
+			public const int remoteplayback_full_flow_ly = 2131297000;
+			
+			// aapt resource value: 0x7F0902E9
+			public const int remoteplayback_full_flow_tv = 2131297001;
+			
+			// aapt resource value: 0x7F0902EA
+			public const int remoteplayback_full_operate_bar = 2131297002;
+			
+			// aapt resource value: 0x7F0902EB
+			public const int remoteplayback_full_play_btn = 2131297003;
+			
+			// aapt resource value: 0x7F0902EC
+			public const int remoteplayback_full_previously_btn = 2131297004;
+			
+			// aapt resource value: 0x7F0902ED
+			public const int remoteplayback_full_rate_tv = 2131297005;
+			
+			// aapt resource value: 0x7F0902EE
+			public const int remoteplayback_full_sound_btn = 2131297006;
+			
+			// aapt resource value: 0x7F0902EF
+			public const int remoteplayback_full_video_btn = 2131297007;
+			
+			// aapt resource value: 0x7F0902F0
+			public const int remoteplayback_full_video_container = 2131297008;
+			
+			// aapt resource value: 0x7F0902F1
+			public const int remoteplayback_full_video_start_btn = 2131297009;
+			
+			// aapt resource value: 0x7F0902F2
+			public const int remoteplayback_loading_iv = 2131297010;
+			
+			// aapt resource value: 0x7F0902F3
+			public const int remoteplayback_loading_ly = 2131297011;
+			
+			// aapt resource value: 0x7F0902F4
+			public const int remoteplayback_loading_pb_ly = 2131297012;
+			
+			// aapt resource value: 0x7F0902F5
+			public const int remoteplayback_loading_play_btn = 2131297013;
+			
+			// aapt resource value: 0x7F0902F6
+			public const int remoteplayback_loading_tv = 2131297014;
+			
+			// aapt resource value: 0x7F0902F7
+			public const int remoteplayback_operate_bar = 2131297015;
+			
+			// aapt resource value: 0x7F0902F8
+			public const int remoteplayback_page_ly = 2131297016;
+			
+			// aapt resource value: 0x7F0902F9
+			public const int remoteplayback_play_btn = 2131297017;
+			
+			// aapt resource value: 0x7F0902FA
+			public const int remoteplayback_play_rl = 2131297018;
+			
+			// aapt resource value: 0x7F0902FB
+			public const int remoteplayback_previously_btn = 2131297019;
+			
+			// aapt resource value: 0x7F0902FE
+			public const int remoteplayback_progressbar = 2131297022;
+			
+			// aapt resource value: 0x7F0902FC
+			public const int remoteplayback_progress_ly = 2131297020;
+			
+			// aapt resource value: 0x7F0902FD
+			public const int remoteplayback_progress_seekbar = 2131297021;
+			
+			// aapt resource value: 0x7F0902FF
+			public const int remoteplayback_ratio_tv = 2131297023;
+			
+			// aapt resource value: 0x7F090300
+			public const int remoteplayback_record_iv = 2131297024;
+			
+			// aapt resource value: 0x7F090301
+			public const int remoteplayback_record_ly = 2131297025;
+			
+			// aapt resource value: 0x7F090302
+			public const int remoteplayback_record_tv = 2131297026;
+			
+			// aapt resource value: 0x7F090303
+			public const int remoteplayback_replay_btn = 2131297027;
+			
+			// aapt resource value: 0x7F090304
+			public const int remoteplayback_small_previously_btn = 2131297028;
+			
+			// aapt resource value: 0x7F090305
+			public const int remoteplayback_small_video_btn = 2131297029;
+			
+			// aapt resource value: 0x7F090306
+			public const int remoteplayback_small_video_container = 2131297030;
+			
+			// aapt resource value: 0x7F090307
+			public const int remoteplayback_small_video_start_btn = 2131297031;
+			
+			// aapt resource value: 0x7F090308
+			public const int remoteplayback_sound_btn = 2131297032;
+			
+			// aapt resource value: 0x7F090309
+			public const int remoteplayback_sv = 2131297033;
+			
+			// aapt resource value: 0x7F09030B
+			public const int remoteplayback_timebar = 2131297035;
+			
+			// aapt resource value: 0x7F09030C
+			public const int remoteplayback_timebar_rl = 2131297036;
+			
+			// aapt resource value: 0x7F09030A
+			public const int remoteplayback_time_tv = 2131297034;
+			
+			// aapt resource value: 0x7F09030D
+			public const int remoteplayback_tip_tv = 2131297037;
+			
+			// aapt resource value: 0x7F09030E
+			public const int remoteplayback_video_btn = 2131297038;
+			
+			// aapt resource value: 0x7F09030F
+			public const int remoteplayback_video_container = 2131297039;
+			
+			// aapt resource value: 0x7F090310
+			public const int remoteplayback_video_start_btn = 2131297040;
+			
+			// aapt resource value: 0x7F0902D3
+			public const int remoteVideo = 2131296979;
+			
+			// aapt resource value: 0x7F0902D4
+			public const int remote_list_page = 2131296980;
+			
+			// aapt resource value: 0x7F0902D5
+			public const int remote_loading_buffer_tv = 2131296981;
+			
+			// aapt resource value: 0x7F0902D6
+			public const int remote_loading_iv = 2131296982;
+			
+			// aapt resource value: 0x7F0902D7
+			public const int remote_playback_area = 2131296983;
+			
+			// aapt resource value: 0x7F0902D8
+			public const int remote_playback_capture_btn = 2131296984;
+			
+			// aapt resource value: 0x7F0902D9
+			public const int remote_playback_download_btn = 2131296985;
+			
+			// aapt resource value: 0x7F0902DA
+			public const int remote_playback_flow_tv = 2131296986;
+			
+			// aapt resource value: 0x7F0902DB
+			public const int remote_playback_pause_btn = 2131296987;
+			
+			// aapt resource value: 0x7F0902DC
+			public const int remote_playback_sound_btn = 2131296988;
+			
+			// aapt resource value: 0x7F0902DD
+			public const int remote_playback_video_recording_btn = 2131296989;
+			
+			// aapt resource value: 0x7F0902DE
+			public const int remote_playback_wnd_sv = 2131296990;
+			
+			// aapt resource value: 0x7F090311
+			public const int render_texture_view = 2131297041;
+			
+			// aapt resource value: 0x7F090312
+			public const int render_texture_view_soft = 2131297042;
+			
+			// aapt resource value: 0x7F090313
+			public const int replay_btn = 2131297043;
+			
+			// aapt resource value: 0x7F090314
+			public const int requestA = 2131297044;
+			
+			// aapt resource value: 0x7F090315
+			public const int requestMasterAudio = 2131297045;
 			
 			// aapt resource value: 0x7F090316
-			public const int right = 2131297046;
+			public const int requestMasterVideo = 2131297046;
 			
 			// aapt resource value: 0x7F090317
-			public const int right_icon = 2131297047;
+			public const int requestV = 2131297047;
 			
 			// aapt resource value: 0x7F090318
-			public const int right_side = 2131297048;
+			public const int restart_preview = 2131297048;
 			
 			// aapt resource value: 0x7F090319
-			public const int rl_lp_answerView = 2131297049;
+			public const int retry_btn = 2131297049;
 			
 			// aapt resource value: 0x7F09031A
-			public const int rl_lp_topView = 2131297050;
+			public const int retry_button = 2131297050;
 			
 			// aapt resource value: 0x7F09031B
-			public const int rl_lp_unlock = 2131297051;
+			public const int return_scan_result = 2131297051;
 			
 			// aapt resource value: 0x7F09031C
-			public const int room_id = 2131297052;
+			public const int reverseCall = 2131297052;
 			
 			// aapt resource value: 0x7F09031D
-			public const int room_id_text = 2131297053;
+			public const int reverseCallInfo = 2131297053;
+			
+			// aapt resource value: 0x7F09026F
+			public const int re_next_area = 2131296879;
 			
 			// aapt resource value: 0x7F09031E
-			public const int rv_multi_screen = 2131297054;
+			public const int right = 2131297054;
 			
 			// aapt resource value: 0x7F09031F
-			public const int rv_topbar = 2131297055;
+			public const int right_icon = 2131297055;
 			
 			// aapt resource value: 0x7F090320
-			public const int safe_box_tip = 2131297056;
+			public const int right_side = 2131297056;
 			
 			// aapt resource value: 0x7F090321
-			public const int sample_text = 2131297057;
+			public const int rl_lp_answerView = 2131297057;
 			
 			// aapt resource value: 0x7F090322
-			public const int save_image_matrix = 2131297058;
+			public const int rl_lp_topView = 2131297058;
 			
 			// aapt resource value: 0x7F090323
-			public const int save_non_transition_alpha = 2131297059;
+			public const int rl_lp_unlock = 2131297059;
 			
 			// aapt resource value: 0x7F090324
-			public const int save_scale_type = 2131297060;
+			public const int room_id = 2131297060;
+			
+			// aapt resource value: 0x7F090325
+			public const int room_id_text = 2131297061;
+			
+			// aapt resource value: 0x7F090326
+			public const int rv_multi_screen = 2131297062;
+			
+			// aapt resource value: 0x7F090327
+			public const int rv_topbar = 2131297063;
+			
+			// aapt resource value: 0x7F090328
+			public const int safe_box_tip = 2131297064;
+			
+			// aapt resource value: 0x7F090329
+			public const int sample_text = 2131297065;
+			
+			// aapt resource value: 0x7F09032A
+			public const int save_image_matrix = 2131297066;
+			
+			// aapt resource value: 0x7F09032B
+			public const int save_non_transition_alpha = 2131297067;
+			
+			// aapt resource value: 0x7F09032C
+			public const int save_scale_type = 2131297068;
 			
 			// aapt resource value: 0x7F09000D
 			public const int Scale = 2131296269;
 			
-			// aapt resource value: 0x7F090325
-			public const int screen = 2131297061;
-			
-			// aapt resource value: 0x7F090326
-			public const int scroll = 2131297062;
-			
-			// aapt resource value: 0x7F09032B
-			public const int scrollable = 2131297067;
-			
-			// aapt resource value: 0x7F090327
-			public const int scrollIndicatorDown = 2131297063;
-			
-			// aapt resource value: 0x7F090328
-			public const int scrollIndicatorUp = 2131297064;
-			
-			// aapt resource value: 0x7F090329
-			public const int scrollView = 2131297065;
-			
-			// aapt resource value: 0x7F09032A
-			public const int scroll_layout = 2131297066;
-			
-			// aapt resource value: 0x7F09032C
-			public const int searchAnim = 2131297068;
-			
 			// aapt resource value: 0x7F09032D
-			public const int searchBtn = 2131297069;
+			public const int screen = 2131297069;
 			
 			// aapt resource value: 0x7F09032E
-			public const int searchEditTextContainer = 2131297070;
-			
-			// aapt resource value: 0x7F09032F
-			public const int searchFragment = 2131297071;
-			
-			// aapt resource value: 0x7F090330
-			public const int search_badge = 2131297072;
-			
-			// aapt resource value: 0x7F090331
-			public const int search_bar = 2131297073;
-			
-			// aapt resource value: 0x7F090332
-			public const int search_button = 2131297074;
+			public const int scroll = 2131297070;
 			
 			// aapt resource value: 0x7F090333
-			public const int search_close_btn = 2131297075;
+			public const int scrollable = 2131297075;
+			
+			// aapt resource value: 0x7F09032F
+			public const int scrollIndicatorDown = 2131297071;
+			
+			// aapt resource value: 0x7F090330
+			public const int scrollIndicatorUp = 2131297072;
+			
+			// aapt resource value: 0x7F090331
+			public const int scrollView = 2131297073;
+			
+			// aapt resource value: 0x7F090332
+			public const int scroll_layout = 2131297074;
 			
 			// aapt resource value: 0x7F090334
-			public const int search_edit_frame = 2131297076;
+			public const int searchAnim = 2131297076;
 			
 			// aapt resource value: 0x7F090335
-			public const int search_go_btn = 2131297077;
+			public const int searchBtn = 2131297077;
 			
 			// aapt resource value: 0x7F090336
-			public const int search_mag_icon = 2131297078;
+			public const int searchEditTextContainer = 2131297078;
 			
 			// aapt resource value: 0x7F090337
-			public const int search_plate = 2131297079;
+			public const int searchFragment = 2131297079;
 			
 			// aapt resource value: 0x7F090338
-			public const int search_src_text = 2131297080;
+			public const int search_badge = 2131297080;
 			
 			// aapt resource value: 0x7F090339
-			public const int search_voice_btn = 2131297081;
+			public const int search_bar = 2131297081;
 			
 			// aapt resource value: 0x7F09033A
-			public const int second = 2131297082;
+			public const int search_button = 2131297082;
 			
 			// aapt resource value: 0x7F09033B
-			public const int select_dialog_listview = 2131297083;
+			public const int search_close_btn = 2131297083;
 			
 			// aapt resource value: 0x7F09033C
-			public const int select_ipc_talkback = 2131297084;
+			public const int search_edit_frame = 2131297084;
 			
 			// aapt resource value: 0x7F09033D
-			public const int select_nvr_talkback = 2131297085;
+			public const int search_go_btn = 2131297085;
 			
 			// aapt resource value: 0x7F09033E
-			public const int sendA = 2131297086;
+			public const int search_mag_icon = 2131297086;
 			
 			// aapt resource value: 0x7F09033F
-			public const int sendCustomData = 2131297087;
+			public const int search_plate = 2131297087;
 			
 			// aapt resource value: 0x7F090340
-			public const int sendV = 2131297088;
+			public const int search_src_text = 2131297088;
 			
 			// aapt resource value: 0x7F090341
-			public const int separate_line = 2131297089;
+			public const int search_voice_btn = 2131297089;
 			
 			// aapt resource value: 0x7F090342
-			public const int serial_tv = 2131297090;
+			public const int second = 2131297090;
 			
 			// aapt resource value: 0x7F090343
-			public const int seriesNumberEt = 2131297091;
+			public const int select_dialog_listview = 2131297091;
 			
 			// aapt resource value: 0x7F090344
-			public const int service_agreement_btn = 2131297092;
+			public const int select_ipc_talkback = 2131297092;
+			
+			// aapt resource value: 0x7F090345
+			public const int select_nvr_talkback = 2131297093;
+			
+			// aapt resource value: 0x7F090346
+			public const int sendA = 2131297094;
+			
+			// aapt resource value: 0x7F090347
+			public const int sendCustomData = 2131297095;
+			
+			// aapt resource value: 0x7F090348
+			public const int sendV = 2131297096;
+			
+			// aapt resource value: 0x7F090349
+			public const int separate_line = 2131297097;
+			
+			// aapt resource value: 0x7F09034A
+			public const int serial_tv = 2131297098;
+			
+			// aapt resource value: 0x7F09034B
+			public const int seriesNumberEt = 2131297099;
+			
+			// aapt resource value: 0x7F09034C
+			public const int service_agreement_btn = 2131297100;
 			
 			// aapt resource value: 0x7F09000A
 			public const int SHIFT = 2131296266;
 			
-			// aapt resource value: 0x7F090345
-			public const int shipin7_logo_lyt = 2131297093;
-			
-			// aapt resource value: 0x7F090346
-			public const int shortcut = 2131297094;
-			
-			// aapt resource value: 0x7F090347
-			public const int show = 2131297095;
-			
-			// aapt resource value: 0x7F090348
-			public const int showCustom = 2131297096;
-			
-			// aapt resource value: 0x7F090349
-			public const int showHome = 2131297097;
-			
-			// aapt resource value: 0x7F09034A
-			public const int showTitle = 2131297098;
-			
-			// aapt resource value: 0x7F09034B
-			public const int sign_et = 2131297099;
-			
-			// aapt resource value: 0x7F09034C
-			public const int size_layout = 2131297100;
-			
 			// aapt resource value: 0x7F09034D
-			public const int smallLabel = 2131297101;
+			public const int shipin7_logo_lyt = 2131297101;
 			
 			// aapt resource value: 0x7F09034E
-			public const int sms_code_et = 2131297102;
+			public const int shortcut = 2131297102;
 			
 			// aapt resource value: 0x7F09034F
-			public const int sms_code_lyt = 2131297103;
+			public const int show = 2131297103;
 			
 			// aapt resource value: 0x7F090350
-			public const int sms_verify_dailog_ly = 2131297104;
+			public const int showCustom = 2131297104;
 			
 			// aapt resource value: 0x7F090351
-			public const int snackbar_action = 2131297105;
+			public const int showHome = 2131297105;
 			
 			// aapt resource value: 0x7F090352
-			public const int snackbar_text = 2131297106;
+			public const int showTitle = 2131297106;
 			
 			// aapt resource value: 0x7F090353
-			public const int snap = 2131297107;
+			public const int sign_et = 2131297107;
 			
 			// aapt resource value: 0x7F090354
-			public const int snapshot = 2131297108;
+			public const int size_layout = 2131297108;
 			
 			// aapt resource value: 0x7F090355
-			public const int sound_line = 2131297109;
-			
-			// aapt resource value: 0x7F090357
-			public const int spacer = 2131297111;
-			
-			// aapt resource value: 0x7F090358
-			public const int split_action_bar = 2131297112;
-			
-			// aapt resource value: 0x7F090359
-			public const int spread = 2131297113;
-			
-			// aapt resource value: 0x7F09035A
-			public const int spread_inside = 2131297114;
+			public const int smallLabel = 2131297109;
 			
 			// aapt resource value: 0x7F090356
-			public const int sp_server_area = 2131297110;
+			public const int sms_code_et = 2131297110;
+			
+			// aapt resource value: 0x7F090357
+			public const int sms_code_lyt = 2131297111;
+			
+			// aapt resource value: 0x7F090358
+			public const int sms_verify_dailog_ly = 2131297112;
+			
+			// aapt resource value: 0x7F090359
+			public const int snackbar_action = 2131297113;
+			
+			// aapt resource value: 0x7F09035A
+			public const int snackbar_text = 2131297114;
 			
 			// aapt resource value: 0x7F09035B
-			public const int squareColumnItem = 2131297115;
+			public const int snap = 2131297115;
 			
 			// aapt resource value: 0x7F09035C
-			public const int squareVideo = 2131297116;
+			public const int snapshot = 2131297116;
 			
 			// aapt resource value: 0x7F09035D
-			public const int squareVideoList = 2131297117;
-			
-			// aapt resource value: 0x7F09035E
-			public const int square_channel = 2131297118;
+			public const int sound_line = 2131297117;
 			
 			// aapt resource value: 0x7F09035F
-			public const int src_atop = 2131297119;
+			public const int spacer = 2131297119;
 			
 			// aapt resource value: 0x7F090360
-			public const int src_in = 2131297120;
+			public const int split_action_bar = 2131297120;
 			
 			// aapt resource value: 0x7F090361
-			public const int src_over = 2131297121;
+			public const int spread = 2131297121;
 			
 			// aapt resource value: 0x7F090362
-			public const int srl_classics_arrow = 2131297122;
+			public const int spread_inside = 2131297122;
+			
+			// aapt resource value: 0x7F09035E
+			public const int sp_server_area = 2131297118;
 			
 			// aapt resource value: 0x7F090363
-			public const int srl_classics_center = 2131297123;
+			public const int squareColumnItem = 2131297123;
 			
 			// aapt resource value: 0x7F090364
-			public const int srl_classics_progress = 2131297124;
+			public const int squareVideo = 2131297124;
 			
 			// aapt resource value: 0x7F090365
-			public const int srl_classics_title = 2131297125;
+			public const int squareVideoList = 2131297125;
 			
 			// aapt resource value: 0x7F090366
-			public const int srl_classics_update = 2131297126;
+			public const int square_channel = 2131297126;
 			
 			// aapt resource value: 0x7F090367
-			public const int standard = 2131297127;
+			public const int src_atop = 2131297127;
 			
 			// aapt resource value: 0x7F090368
-			public const int start = 2131297128;
+			public const int src_in = 2131297128;
 			
 			// aapt resource value: 0x7F090369
-			public const int startAVMsg = 2131297129;
+			public const int src_over = 2131297129;
 			
 			// aapt resource value: 0x7F09036A
-			public const int startDoorKey = 2131297130;
+			public const int srl_classics_arrow = 2131297130;
 			
 			// aapt resource value: 0x7F09036B
-			public const int startLocalRecord = 2131297131;
+			public const int srl_classics_center = 2131297131;
 			
 			// aapt resource value: 0x7F09036C
-			public const int startReadCard = 2131297132;
+			public const int srl_classics_progress = 2131297132;
 			
 			// aapt resource value: 0x7F09036D
-			public const int startRecord = 2131297133;
+			public const int srl_classics_title = 2131297133;
 			
 			// aapt resource value: 0x7F09036E
-			public const int startRecordLocalAudio = 2131297134;
+			public const int srl_classics_update = 2131297134;
 			
 			// aapt resource value: 0x7F09036F
-			public const int startRecordPeerAudio = 2131297135;
+			public const int standard = 2131297135;
 			
 			// aapt resource value: 0x7F090370
-			public const int startStream = 2131297136;
+			public const int start = 2131297136;
 			
 			// aapt resource value: 0x7F090371
-			public const int startWatchDog = 2131297137;
+			public const int startAVMsg = 2131297137;
 			
 			// aapt resource value: 0x7F090372
-			public const int start_stop = 2131297138;
+			public const int startDoorKey = 2131297138;
 			
 			// aapt resource value: 0x7F090373
-			public const int start_stop_stream = 2131297139;
+			public const int startLocalRecord = 2131297139;
 			
 			// aapt resource value: 0x7F090374
-			public const int status = 2131297140;
+			public const int startReadCard = 2131297140;
 			
 			// aapt resource value: 0x7F090375
-			public const int status_bar_latest_event_content = 2131297141;
+			public const int startRecord = 2131297141;
 			
 			// aapt resource value: 0x7F090376
-			public const int stopAVMsg = 2131297142;
+			public const int startRecordLocalAudio = 2131297142;
 			
 			// aapt resource value: 0x7F090377
-			public const int stopDoorKey = 2131297143;
+			public const int startRecordPeerAudio = 2131297143;
 			
 			// aapt resource value: 0x7F090378
-			public const int stopLocalRecord = 2131297144;
+			public const int startStream = 2131297144;
 			
 			// aapt resource value: 0x7F090379
-			public const int stopReadCard = 2131297145;
+			public const int startWatchDog = 2131297145;
 			
 			// aapt resource value: 0x7F09037A
-			public const int stopRecord = 2131297146;
+			public const int start_stop = 2131297146;
 			
 			// aapt resource value: 0x7F09037B
-			public const int stopRecordLocalAudio = 2131297147;
+			public const int start_stop_stream = 2131297147;
 			
 			// aapt resource value: 0x7F09037C
-			public const int stopRecordPeerAudio = 2131297148;
+			public const int status = 2131297148;
 			
 			// aapt resource value: 0x7F09037D
-			public const int stopStream = 2131297149;
+			public const int status_bar_latest_event_content = 2131297149;
 			
 			// aapt resource value: 0x7F09037E
-			public const int stopWatchDog = 2131297150;
+			public const int stopAVMsg = 2131297150;
 			
 			// aapt resource value: 0x7F09037F
-			public const int storage_layout = 2131297151;
+			public const int stopDoorKey = 2131297151;
 			
 			// aapt resource value: 0x7F090380
-			public const int storage_notice = 2131297152;
+			public const int stopLocalRecord = 2131297152;
+			
+			// aapt resource value: 0x7F090381
+			public const int stopReadCard = 2131297153;
+			
+			// aapt resource value: 0x7F090382
+			public const int stopRecord = 2131297154;
+			
+			// aapt resource value: 0x7F090383
+			public const int stopRecordLocalAudio = 2131297155;
+			
+			// aapt resource value: 0x7F090384
+			public const int stopRecordPeerAudio = 2131297156;
+			
+			// aapt resource value: 0x7F090385
+			public const int stopStream = 2131297157;
+			
+			// aapt resource value: 0x7F090386
+			public const int stopWatchDog = 2131297158;
+			
+			// aapt resource value: 0x7F090387
+			public const int storage_layout = 2131297159;
+			
+			// aapt resource value: 0x7F090388
+			public const int storage_notice = 2131297160;
 			
 			// aapt resource value: 0x7F09000B
 			public const int STROKE = 2131296267;
 			
-			// aapt resource value: 0x7F090382
-			public const int submenuarrow = 2131297154;
+			// aapt resource value: 0x7F09038A
+			public const int submenuarrow = 2131297162;
 			
-			// aapt resource value: 0x7F090383
-			public const int submit = 2131297155;
+			// aapt resource value: 0x7F09038B
+			public const int submit = 2131297163;
 			
-			// aapt resource value: 0x7F090384
-			public const int submit_area = 2131297156;
+			// aapt resource value: 0x7F09038C
+			public const int submit_area = 2131297164;
 			
-			// aapt resource value: 0x7F090385
-			public const int subtitle = 2131297157;
+			// aapt resource value: 0x7F09038D
+			public const int subtitle = 2131297165;
 			
-			// aapt resource value: 0x7F090381
-			public const int sub_title_text = 2131297153;
+			// aapt resource value: 0x7F090389
+			public const int sub_title_text = 2131297161;
 			
-			// aapt resource value: 0x7F090386
-			public const int successIcon = 2131297158;
+			// aapt resource value: 0x7F09038E
+			public const int successIcon = 2131297166;
 			
-			// aapt resource value: 0x7F090387
-			public const int surfaceview = 2131297159;
+			// aapt resource value: 0x7F09038F
+			public const int surfaceview = 2131297167;
 			
 			// aapt resource value: 0x7F09000C
 			public const int SYM = 2131296268;
 			
-			// aapt resource value: 0x7F090388
-			public const int tabMode = 2131297160;
-			
-			// aapt resource value: 0x7F090389
-			public const int tab_alarmlist_btn = 2131297161;
-			
-			// aapt resource value: 0x7F09038A
-			public const int tab_alarmlist_rl = 2131297162;
-			
-			// aapt resource value: 0x7F09038B
-			public const int tab_devicedefence_btn = 2131297163;
-			
-			// aapt resource value: 0x7F09038C
-			public const int tab_devicedefence_rl = 2131297164;
-			
-			// aapt resource value: 0x7F09038D
-			public const int tab_devicepicture_btn = 2131297165;
-			
-			// aapt resource value: 0x7F09038E
-			public const int tab_devicepicture_rl = 2131297166;
-			
-			// aapt resource value: 0x7F09038F
-			public const int tab_devicevideo_btn = 2131297167;
-			
 			// aapt resource value: 0x7F090390
-			public const int tab_devicevideo_rl = 2131297168;
+			public const int tabMode = 2131297168;
 			
 			// aapt resource value: 0x7F090391
-			public const int tab_remoteplayback_btn = 2131297169;
+			public const int tab_alarmlist_btn = 2131297169;
 			
 			// aapt resource value: 0x7F090392
-			public const int tab_remoteplayback_rl = 2131297170;
+			public const int tab_alarmlist_rl = 2131297170;
 			
 			// aapt resource value: 0x7F090393
-			public const int tab_setdevice_btn = 2131297171;
+			public const int tab_devicedefence_btn = 2131297171;
 			
 			// aapt resource value: 0x7F090394
-			public const int tab_setdevice_rl = 2131297172;
+			public const int tab_devicedefence_rl = 2131297172;
 			
 			// aapt resource value: 0x7F090395
-			public const int tab_video_talk_btn = 2131297173;
+			public const int tab_devicepicture_btn = 2131297173;
 			
 			// aapt resource value: 0x7F090396
-			public const int tab_video_talk_rl = 2131297174;
+			public const int tab_devicepicture_rl = 2131297174;
 			
 			// aapt resource value: 0x7F090397
-			public const int tag_key_position = 2131297175;
+			public const int tab_devicevideo_btn = 2131297175;
 			
 			// aapt resource value: 0x7F090398
-			public const int talkback_close_btn = 2131297176;
+			public const int tab_devicevideo_rl = 2131297176;
 			
 			// aapt resource value: 0x7F090399
-			public const int talkback_control_btn = 2131297177;
+			public const int tab_remoteplayback_btn = 2131297177;
 			
 			// aapt resource value: 0x7F09039A
-			public const int talkback_rv = 2131297178;
+			public const int tab_remoteplayback_rl = 2131297178;
 			
 			// aapt resource value: 0x7F09039B
-			public const int test = 2131297179;
+			public const int tab_setdevice_btn = 2131297179;
 			
 			// aapt resource value: 0x7F09039C
-			public const int testWatchDogReboot = 2131297180;
+			public const int tab_setdevice_rl = 2131297180;
 			
 			// aapt resource value: 0x7F09039D
-			public const int text = 2131297181;
+			public const int tab_video_talk_btn = 2131297181;
 			
 			// aapt resource value: 0x7F09039E
-			public const int text1 = 2131297182;
+			public const int tab_video_talk_rl = 2131297182;
 			
 			// aapt resource value: 0x7F09039F
-			public const int text2 = 2131297183;
+			public const int tag_key_position = 2131297183;
 			
 			// aapt resource value: 0x7F0903A0
-			public const int text3 = 2131297184;
-			
-			// aapt resource value: 0x7F0903AD
-			public const int textinput_counter = 2131297197;
-			
-			// aapt resource value: 0x7F0903AE
-			public const int textinput_error = 2131297198;
+			public const int talkback_close_btn = 2131297184;
 			
 			// aapt resource value: 0x7F0903A1
-			public const int textSpacerNoButtons = 2131297185;
+			public const int talkback_control_btn = 2131297185;
 			
 			// aapt resource value: 0x7F0903A2
-			public const int textSpacerNoTitle = 2131297186;
+			public const int talkback_rv = 2131297186;
 			
-			// aapt resource value: 0x7F0903AF
-			public const int textureView_play = 2131297199;
+			// aapt resource value: 0x7F0903A3
+			public const int test = 2131297187;
 			
-			// aapt resource value: 0x7F0903B0
-			public const int texture_view_play_window = 2131297200;
+			// aapt resource value: 0x7F0903A4
+			public const int testWatchDogReboot = 2131297188;
+			
+			// aapt resource value: 0x7F0903A5
+			public const int text = 2131297189;
+			
+			// aapt resource value: 0x7F0903A6
+			public const int text1 = 2131297190;
+			
+			// aapt resource value: 0x7F0903A7
+			public const int text2 = 2131297191;
+			
+			// aapt resource value: 0x7F0903A8
+			public const int text3 = 2131297192;
+			
+			// aapt resource value: 0x7F0903B5
+			public const int textinput_counter = 2131297205;
+			
+			// aapt resource value: 0x7F0903B6
+			public const int textinput_error = 2131297206;
+			
+			// aapt resource value: 0x7F0903A9
+			public const int textSpacerNoButtons = 2131297193;
+			
+			// aapt resource value: 0x7F0903AA
+			public const int textSpacerNoTitle = 2131297194;
+			
+			// aapt resource value: 0x7F0903B7
+			public const int textureView_play = 2131297207;
+			
+			// aapt resource value: 0x7F0903B8
+			public const int texture_view_play_window = 2131297208;
 			
 			// aapt resource value: 0x7F09000E
 			public const int TextView01 = 2131296270;
@@ -9700,473 +9736,473 @@
 			// aapt resource value: 0x7F09000F
 			public const int TextView03 = 2131296271;
 			
-			// aapt resource value: 0x7F0903A4
-			public const int text_camerano = 2131297188;
-			
-			// aapt resource value: 0x7F0903A3
-			public const int text_camera_name = 2131297187;
-			
-			// aapt resource value: 0x7F0903A5
-			public const int text_device_ip = 2131297189;
-			
-			// aapt resource value: 0x7F0903A6
-			public const int text_input_password_toggle = 2131297190;
-			
-			// aapt resource value: 0x7F0903A7
-			public const int text_left = 2131297191;
-			
-			// aapt resource value: 0x7F0903A8
-			public const int text_my = 2131297192;
-			
-			// aapt resource value: 0x7F0903A9
-			public const int text_right = 2131297193;
-			
-			// aapt resource value: 0x7F0903AA
-			public const int text_serial = 2131297194;
+			// aapt resource value: 0x7F0903AC
+			public const int text_camerano = 2131297196;
 			
 			// aapt resource value: 0x7F0903AB
-			public const int text_share = 2131297195;
+			public const int text_camera_name = 2131297195;
 			
-			// aapt resource value: 0x7F0903AC
-			public const int text_title = 2131297196;
+			// aapt resource value: 0x7F0903AD
+			public const int text_device_ip = 2131297197;
 			
-			// aapt resource value: 0x7F0903B2
-			public const int third_app_dl_progressbar = 2131297202;
+			// aapt resource value: 0x7F0903AE
+			public const int text_input_password_toggle = 2131297198;
+			
+			// aapt resource value: 0x7F0903AF
+			public const int text_left = 2131297199;
+			
+			// aapt resource value: 0x7F0903B0
+			public const int text_my = 2131297200;
 			
 			// aapt resource value: 0x7F0903B1
-			public const int third_app_dl_progress_text = 2131297201;
+			public const int text_right = 2131297201;
+			
+			// aapt resource value: 0x7F0903B2
+			public const int text_serial = 2131297202;
 			
 			// aapt resource value: 0x7F0903B3
-			public const int third_app_warn_text = 2131297203;
+			public const int text_share = 2131297203;
 			
 			// aapt resource value: 0x7F0903B4
-			public const int time = 2131297204;
-			
-			// aapt resource value: 0x7F0903B7
-			public const int timeline_image = 2131297207;
-			
-			// aapt resource value: 0x7F0903B8
-			public const int timepicker = 2131297208;
-			
-			// aapt resource value: 0x7F0903B9
-			public const int timer = 2131297209;
+			public const int text_title = 2131297204;
 			
 			// aapt resource value: 0x7F0903BA
-			public const int timer_lp_calltime = 2131297210;
+			public const int third_app_dl_progressbar = 2131297210;
 			
-			// aapt resource value: 0x7F0903B5
-			public const int time_text = 2131297205;
-			
-			// aapt resource value: 0x7F0903B6
-			public const int time_tv = 2131297206;
+			// aapt resource value: 0x7F0903B9
+			public const int third_app_dl_progress_text = 2131297209;
 			
 			// aapt resource value: 0x7F0903BB
-			public const int tip = 2131297211;
+			public const int third_app_warn_text = 2131297211;
 			
 			// aapt resource value: 0x7F0903BC
-			public const int title = 2131297212;
-			
-			// aapt resource value: 0x7F0903BD
-			public const int titleBar = 2131297213;
-			
-			// aapt resource value: 0x7F0903BE
-			public const int titleDividerNoCustom = 2131297214;
+			public const int time = 2131297212;
 			
 			// aapt resource value: 0x7F0903BF
-			public const int title_bar = 2131297215;
+			public const int timeline_image = 2131297215;
 			
 			// aapt resource value: 0x7F0903C0
-			public const int title_bar_landscape = 2131297216;
+			public const int timepicker = 2131297216;
 			
 			// aapt resource value: 0x7F0903C1
-			public const int title_bar_portrait = 2131297217;
+			public const int timer = 2131297217;
 			
 			// aapt resource value: 0x7F0903C2
-			public const int title_layout = 2131297218;
+			public const int timer_lp_calltime = 2131297218;
+			
+			// aapt resource value: 0x7F0903BD
+			public const int time_text = 2131297213;
+			
+			// aapt resource value: 0x7F0903BE
+			public const int time_tv = 2131297214;
 			
 			// aapt resource value: 0x7F0903C3
-			public const int title_left = 2131297219;
+			public const int tip = 2131297219;
 			
 			// aapt resource value: 0x7F0903C4
-			public const int title_right = 2131297220;
+			public const int title = 2131297220;
 			
 			// aapt resource value: 0x7F0903C5
-			public const int title_template = 2131297221;
+			public const int titleBar = 2131297221;
 			
 			// aapt resource value: 0x7F0903C6
-			public const int title_text = 2131297222;
+			public const int titleDividerNoCustom = 2131297222;
 			
 			// aapt resource value: 0x7F0903C7
-			public const int title_text_layout = 2131297223;
+			public const int title_bar = 2131297223;
 			
 			// aapt resource value: 0x7F0903C8
-			public const int title_top = 2131297224;
+			public const int title_bar_landscape = 2131297224;
 			
 			// aapt resource value: 0x7F0903C9
-			public const int title_tv = 2131297225;
+			public const int title_bar_portrait = 2131297225;
 			
 			// aapt resource value: 0x7F0903CA
-			public const int top = 2131297226;
-			
-			// aapt resource value: 0x7F0903CD
-			public const int topbar = 2131297229;
-			
-			// aapt resource value: 0x7F0903CE
-			public const int topbar_right_img = 2131297230;
+			public const int title_layout = 2131297226;
 			
 			// aapt resource value: 0x7F0903CB
-			public const int topPanel = 2131297227;
+			public const int title_left = 2131297227;
 			
 			// aapt resource value: 0x7F0903CC
-			public const int topTip = 2131297228;
+			public const int title_right = 2131297228;
+			
+			// aapt resource value: 0x7F0903CD
+			public const int title_template = 2131297229;
+			
+			// aapt resource value: 0x7F0903CE
+			public const int title_text = 2131297230;
 			
 			// aapt resource value: 0x7F0903CF
-			public const int touch_loading_buffer_tv = 2131297231;
+			public const int title_text_layout = 2131297231;
 			
 			// aapt resource value: 0x7F0903D0
-			public const int touch_outside = 2131297232;
+			public const int title_top = 2131297232;
 			
 			// aapt resource value: 0x7F0903D1
-			public const int touch_progress_layout = 2131297233;
+			public const int title_tv = 2131297233;
 			
 			// aapt resource value: 0x7F0903D2
-			public const int transition_current_scene = 2131297234;
-			
-			// aapt resource value: 0x7F0903D3
-			public const int transition_layout_save = 2131297235;
-			
-			// aapt resource value: 0x7F0903D4
-			public const int transition_position = 2131297236;
+			public const int top = 2131297234;
 			
 			// aapt resource value: 0x7F0903D5
-			public const int transition_scene_layoutid_cache = 2131297237;
+			public const int topbar = 2131297237;
 			
 			// aapt resource value: 0x7F0903D6
-			public const int transition_transform = 2131297238;
+			public const int topbar_right_img = 2131297238;
+			
+			// aapt resource value: 0x7F0903D3
+			public const int topPanel = 2131297235;
+			
+			// aapt resource value: 0x7F0903D4
+			public const int topTip = 2131297236;
+			
+			// aapt resource value: 0x7F0903D7
+			public const int touch_loading_buffer_tv = 2131297239;
+			
+			// aapt resource value: 0x7F0903D8
+			public const int touch_outside = 2131297240;
+			
+			// aapt resource value: 0x7F0903D9
+			public const int touch_progress_layout = 2131297241;
+			
+			// aapt resource value: 0x7F0903DA
+			public const int transition_current_scene = 2131297242;
+			
+			// aapt resource value: 0x7F0903DB
+			public const int transition_layout_save = 2131297243;
+			
+			// aapt resource value: 0x7F0903DC
+			public const int transition_position = 2131297244;
+			
+			// aapt resource value: 0x7F0903DD
+			public const int transition_scene_layoutid_cache = 2131297245;
+			
+			// aapt resource value: 0x7F0903DE
+			public const int transition_transform = 2131297246;
 			
 			// aapt resource value: 0x7F090010
 			public const int Translate = 2131296272;
 			
-			// aapt resource value: 0x7F0903D7
-			public const int tvDeviceWifiConfigTip = 2131297239;
-			
-			// aapt resource value: 0x7F0903D8
-			public const int tvIntroduce1 = 2131297240;
-			
-			// aapt resource value: 0x7F0903D9
-			public const int tvIntroduce2 = 2131297241;
-			
-			// aapt resource value: 0x7F0903DA
-			public const int tvMore = 2131297242;
-			
-			// aapt resource value: 0x7F0903DB
-			public const int tvSSID = 2131297243;
-			
-			// aapt resource value: 0x7F0903DC
-			public const int tvStatus = 2131297244;
-			
-			// aapt resource value: 0x7F0903DD
-			public const int tvSuccess = 2131297245;
-			
-			// aapt resource value: 0x7F0903DE
-			public const int tvTip = 2131297246;
-			
 			// aapt resource value: 0x7F0903DF
-			public const int tvTitle = 2131297247;
+			public const int tvDeviceWifiConfigTip = 2131297247;
 			
 			// aapt resource value: 0x7F0903E0
-			public const int tv_adding_to_account = 2131297248;
+			public const int tvIntroduce1 = 2131297248;
 			
 			// aapt resource value: 0x7F0903E1
-			public const int tv_camera_name = 2131297249;
+			public const int tvIntroduce2 = 2131297249;
 			
 			// aapt resource value: 0x7F0903E2
-			public const int tv_child_watch_video_talk_notification = 2131297250;
+			public const int tvMore = 2131297250;
 			
 			// aapt resource value: 0x7F0903E3
-			public const int tv_connecting_to_device = 2131297251;
+			public const int tvSSID = 2131297251;
 			
 			// aapt resource value: 0x7F0903E4
-			public const int tv_content = 2131297252;
+			public const int tvStatus = 2131297252;
 			
 			// aapt resource value: 0x7F0903E5
-			public const int tv_decode_type = 2131297253;
+			public const int tvSuccess = 2131297253;
 			
 			// aapt resource value: 0x7F0903E6
-			public const int tv_ezviz_account_login = 2131297254;
+			public const int tvTip = 2131297254;
 			
 			// aapt resource value: 0x7F0903E7
-			public const int tv_file_path = 2131297255;
+			public const int tvTitle = 2131297255;
 			
 			// aapt resource value: 0x7F0903E8
-			public const int tv_lp_answer = 2131297256;
+			public const int tv_adding_to_account = 2131297256;
 			
 			// aapt resource value: 0x7F0903E9
-			public const int tv_lp_calltime = 2131297257;
+			public const int tv_camera_name = 2131297257;
 			
 			// aapt resource value: 0x7F0903EA
-			public const int tv_lp_hangUp = 2131297258;
+			public const int tv_child_watch_video_talk_notification = 2131297258;
 			
 			// aapt resource value: 0x7F0903EB
-			public const int tv_lp_screenshot = 2131297259;
+			public const int tv_connecting_to_device = 2131297259;
 			
 			// aapt resource value: 0x7F0903EC
-			public const int tv_lp_title = 2131297260;
+			public const int tv_content = 2131297260;
 			
 			// aapt resource value: 0x7F0903ED
-			public const int tv_lp_unlock = 2131297261;
+			public const int tv_decode_type = 2131297261;
 			
 			// aapt resource value: 0x7F0903EE
-			public const int tv_ok = 2131297262;
+			public const int tv_ezviz_account_login = 2131297262;
 			
 			// aapt resource value: 0x7F0903EF
-			public const int tv_play_error = 2131297263;
+			public const int tv_file_path = 2131297263;
 			
 			// aapt resource value: 0x7F0903F0
-			public const int tv_pwd = 2131297264;
+			public const int tv_lp_answer = 2131297264;
 			
 			// aapt resource value: 0x7F0903F1
-			public const int tv_registering_to_platform = 2131297265;
+			public const int tv_lp_calltime = 2131297265;
 			
 			// aapt resource value: 0x7F0903F2
-			public const int tv_sdk_ver = 2131297266;
+			public const int tv_lp_hangUp = 2131297266;
 			
 			// aapt resource value: 0x7F0903F3
-			public const int tv_ssid = 2131297267;
+			public const int tv_lp_screenshot = 2131297267;
 			
 			// aapt resource value: 0x7F0903F4
-			public const int tv_stream_type = 2131297268;
+			public const int tv_lp_title = 2131297268;
 			
 			// aapt resource value: 0x7F0903F5
-			public const int tv_tip = 2131297269;
+			public const int tv_lp_unlock = 2131297269;
 			
 			// aapt resource value: 0x7F0903F6
-			public const int tv_title = 2131297270;
+			public const int tv_ok = 2131297270;
 			
 			// aapt resource value: 0x7F0903F7
-			public const int tv_zxing_back = 2131297271;
+			public const int tv_play_error = 2131297271;
 			
 			// aapt resource value: 0x7F0903F8
-			public const int tv_zxing_flash = 2131297272;
+			public const int tv_pwd = 2131297272;
 			
 			// aapt resource value: 0x7F0903F9
-			public const int tv_zxing_scan = 2131297273;
+			public const int tv_registering_to_platform = 2131297273;
 			
 			// aapt resource value: 0x7F0903FA
-			public const int txtResult = 2131297274;
+			public const int tv_sdk_ver = 2131297274;
 			
 			// aapt resource value: 0x7F0903FB
-			public const int unbind_button = 2131297275;
+			public const int tv_ssid = 2131297275;
 			
 			// aapt resource value: 0x7F0903FC
-			public const int uniform = 2131297276;
+			public const int tv_stream_type = 2131297276;
 			
 			// aapt resource value: 0x7F0903FD
-			public const int up = 2131297277;
+			public const int tv_tip = 2131297277;
 			
 			// aapt resource value: 0x7F0903FE
-			public const int useLogo = 2131297278;
-			
-			// aapt resource value: 0x7F090400
-			public const int userid_et = 2131297280;
-			
-			// aapt resource value: 0x7F090401
-			public const int userid_lyt = 2131297281;
-			
-			// aapt resource value: 0x7F090402
-			public const int username_et = 2131297282;
-			
-			// aapt resource value: 0x7F090403
-			public const int username_text = 2131297283;
-			
-			// aapt resource value: 0x7F090404
-			public const int username_tv = 2131297284;
+			public const int tv_title = 2131297278;
 			
 			// aapt resource value: 0x7F0903FF
-			public const int use_custom_pwd_cb = 2131297279;
+			public const int tv_zxing_back = 2131297279;
+			
+			// aapt resource value: 0x7F090400
+			public const int tv_zxing_flash = 2131297280;
+			
+			// aapt resource value: 0x7F090401
+			public const int tv_zxing_scan = 2131297281;
+			
+			// aapt resource value: 0x7F090402
+			public const int txtResult = 2131297282;
+			
+			// aapt resource value: 0x7F090403
+			public const int unbind_button = 2131297283;
+			
+			// aapt resource value: 0x7F090404
+			public const int uniform = 2131297284;
 			
 			// aapt resource value: 0x7F090405
-			public const int uvc = 2131297285;
+			public const int up = 2131297285;
 			
 			// aapt resource value: 0x7F090406
-			public const int verifycodeEditTextContainer = 2131297286;
-			
-			// aapt resource value: 0x7F090407
-			public const int verifycodeEt = 2131297287;
+			public const int useLogo = 2131297286;
 			
 			// aapt resource value: 0x7F090408
-			public const int version = 2131297288;
+			public const int userid_et = 2131297288;
 			
 			// aapt resource value: 0x7F090409
-			public const int version_arrow = 2131297289;
+			public const int userid_lyt = 2131297289;
 			
 			// aapt resource value: 0x7F09040A
-			public const int version_layout = 2131297290;
+			public const int username_et = 2131297290;
 			
 			// aapt resource value: 0x7F09040B
-			public const int version_newest = 2131297291;
+			public const int username_text = 2131297291;
 			
 			// aapt resource value: 0x7F09040C
-			public const int version_notice = 2131297292;
+			public const int username_tv = 2131297292;
+			
+			// aapt resource value: 0x7F090407
+			public const int use_custom_pwd_cb = 2131297287;
 			
 			// aapt resource value: 0x7F09040D
-			public const int version_textview = 2131297293;
+			public const int uvc = 2131297293;
 			
 			// aapt resource value: 0x7F09040E
-			public const int vertical = 2131297294;
+			public const int verifycodeEditTextContainer = 2131297294;
 			
 			// aapt resource value: 0x7F09040F
-			public const int vg_child_watch_video_talk_camera = 2131297295;
+			public const int verifycodeEt = 2131297295;
 			
 			// aapt resource value: 0x7F090410
-			public const int vg_child_watch_video_talk_notification_container = 2131297296;
+			public const int version = 2131297296;
 			
 			// aapt resource value: 0x7F090411
-			public const int vg_child_watch_video_talk_operation_container = 2131297297;
+			public const int version_arrow = 2131297297;
 			
 			// aapt resource value: 0x7F090412
-			public const int vg_child_watch_video_talk_player = 2131297298;
+			public const int version_layout = 2131297298;
 			
 			// aapt resource value: 0x7F090413
-			public const int vg_child_watch_video_talk_tool_container = 2131297299;
+			public const int version_newest = 2131297299;
 			
 			// aapt resource value: 0x7F090414
-			public const int vg_child_watch_video_talk_video_container = 2131297300;
+			public const int version_notice = 2131297300;
 			
 			// aapt resource value: 0x7F090415
-			public const int vg_error_tips = 2131297301;
+			public const int version_textview = 2131297301;
 			
 			// aapt resource value: 0x7F090416
-			public const int vg_login_anim = 2131297302;
+			public const int vertical = 2131297302;
 			
 			// aapt resource value: 0x7F090417
-			public const int vg_notification_operation_tool_container = 2131297303;
+			public const int vg_child_watch_video_talk_camera = 2131297303;
 			
 			// aapt resource value: 0x7F090418
-			public const int vg_play_info = 2131297304;
+			public const int vg_child_watch_video_talk_notification_container = 2131297304;
 			
 			// aapt resource value: 0x7F090419
-			public const int vg_play_window = 2131297305;
+			public const int vg_child_watch_video_talk_operation_container = 2131297305;
 			
 			// aapt resource value: 0x7F09041A
-			public const int videoBackImg = 2131297306;
+			public const int vg_child_watch_video_talk_player = 2131297306;
 			
 			// aapt resource value: 0x7F09041B
-			public const int videoParent = 2131297307;
+			public const int vg_child_watch_video_talk_tool_container = 2131297307;
 			
 			// aapt resource value: 0x7F09041C
-			public const int videoTitle = 2131297308;
+			public const int vg_child_watch_video_talk_video_container = 2131297308;
 			
 			// aapt resource value: 0x7F09041D
-			public const int video_button = 2131297309;
+			public const int vg_error_tips = 2131297309;
 			
 			// aapt resource value: 0x7F09041E
-			public const int video_lp_rendering = 2131297310;
+			public const int vg_login_anim = 2131297310;
 			
 			// aapt resource value: 0x7F09041F
-			public const int video_lp_rendering2 = 2131297311;
+			public const int vg_notification_operation_tool_container = 2131297311;
 			
 			// aapt resource value: 0x7F090420
-			public const int video_talk_et_room_id = 2131297312;
-			
-			// aapt resource value: 0x7F090425
-			public const int viewedCount = 2131297317;
-			
-			// aapt resource value: 0x7F090426
-			public const int viewfinder_view = 2131297318;
+			public const int vg_play_info = 2131297312;
 			
 			// aapt resource value: 0x7F090421
-			public const int viewSort = 2131297313;
+			public const int vg_play_window = 2131297313;
 			
 			// aapt resource value: 0x7F090422
-			public const int view_child_watch_video_talk_camera = 2131297314;
+			public const int videoBackImg = 2131297314;
 			
 			// aapt resource value: 0x7F090423
-			public const int view_child_watch_video_talk_player = 2131297315;
+			public const int videoParent = 2131297315;
 			
 			// aapt resource value: 0x7F090424
-			public const int view_offset_helper = 2131297316;
+			public const int videoTitle = 2131297316;
+			
+			// aapt resource value: 0x7F090425
+			public const int video_button = 2131297317;
+			
+			// aapt resource value: 0x7F090426
+			public const int video_lp_rendering = 2131297318;
 			
 			// aapt resource value: 0x7F090427
-			public const int visible = 2131297319;
+			public const int video_lp_rendering2 = 2131297319;
 			
 			// aapt resource value: 0x7F090428
-			public const int wait_bar = 2131297320;
-			
-			// aapt resource value: 0x7F090429
-			public const int wait_tv = 2131297321;
-			
-			// aapt resource value: 0x7F09042A
-			public const int watting_pb = 2131297322;
+			public const int video_talk_et_room_id = 2131297320;
 			
 			// aapt resource value: 0x7F09042D
-			public const int webview = 2131297325;
-			
-			// aapt resource value: 0x7F09042B
-			public const int webView1 = 2131297323;
+			public const int viewedCount = 2131297325;
 			
 			// aapt resource value: 0x7F09042E
-			public const int webview_back_img = 2131297326;
+			public const int viewfinder_view = 2131297326;
 			
-			// aapt resource value: 0x7F09042F
-			public const int webview_back_ll = 2131297327;
+			// aapt resource value: 0x7F090429
+			public const int viewSort = 2131297321;
+			
+			// aapt resource value: 0x7F09042A
+			public const int view_child_watch_video_talk_camera = 2131297322;
+			
+			// aapt resource value: 0x7F09042B
+			public const int view_child_watch_video_talk_player = 2131297323;
 			
 			// aapt resource value: 0x7F09042C
-			public const int web_login_btn = 2131297324;
+			public const int view_offset_helper = 2131297324;
+			
+			// aapt resource value: 0x7F09042F
+			public const int visible = 2131297327;
 			
 			// aapt resource value: 0x7F090430
-			public const int wifi_tv = 2131297328;
+			public const int wait_bar = 2131297328;
 			
 			// aapt resource value: 0x7F090431
-			public const int withText = 2131297329;
+			public const int wait_tv = 2131297329;
 			
 			// aapt resource value: 0x7F090432
-			public const int wrap = 2131297330;
-			
-			// aapt resource value: 0x7F090433
-			public const int wrap_content = 2131297331;
-			
-			// aapt resource value: 0x7F090434
-			public const int year = 2131297332;
+			public const int watting_pb = 2131297330;
 			
 			// aapt resource value: 0x7F090435
-			public const int zxing_back_button = 2131297333;
+			public const int webview = 2131297333;
+			
+			// aapt resource value: 0x7F090433
+			public const int webView1 = 2131297331;
 			
 			// aapt resource value: 0x7F090436
-			public const int zxing_barcode_scanner = 2131297334;
+			public const int webview_back_img = 2131297334;
 			
 			// aapt resource value: 0x7F090437
-			public const int zxing_barcode_surface = 2131297335;
+			public const int webview_back_ll = 2131297335;
+			
+			// aapt resource value: 0x7F090434
+			public const int web_login_btn = 2131297332;
 			
 			// aapt resource value: 0x7F090438
-			public const int zxing_camera_closed = 2131297336;
+			public const int wifi_tv = 2131297336;
 			
 			// aapt resource value: 0x7F090439
-			public const int zxing_camera_error = 2131297337;
+			public const int withText = 2131297337;
 			
 			// aapt resource value: 0x7F09043A
-			public const int zxing_decode = 2131297338;
+			public const int wrap = 2131297338;
 			
 			// aapt resource value: 0x7F09043B
-			public const int zxing_decode_failed = 2131297339;
+			public const int wrap_content = 2131297339;
 			
 			// aapt resource value: 0x7F09043C
-			public const int zxing_decode_succeeded = 2131297340;
+			public const int year = 2131297340;
 			
 			// aapt resource value: 0x7F09043D
-			public const int zxing_possible_result_points = 2131297341;
+			public const int zxing_back_button = 2131297341;
 			
 			// aapt resource value: 0x7F09043E
-			public const int zxing_preview_failed = 2131297342;
+			public const int zxing_barcode_scanner = 2131297342;
 			
 			// aapt resource value: 0x7F09043F
-			public const int zxing_prewiew_size_ready = 2131297343;
+			public const int zxing_barcode_surface = 2131297343;
 			
 			// aapt resource value: 0x7F090440
-			public const int zxing_status_view = 2131297344;
+			public const int zxing_camera_closed = 2131297344;
 			
 			// aapt resource value: 0x7F090441
-			public const int zxing_viewfinder_view = 2131297345;
+			public const int zxing_camera_error = 2131297345;
+			
+			// aapt resource value: 0x7F090442
+			public const int zxing_decode = 2131297346;
+			
+			// aapt resource value: 0x7F090443
+			public const int zxing_decode_failed = 2131297347;
+			
+			// aapt resource value: 0x7F090444
+			public const int zxing_decode_succeeded = 2131297348;
+			
+			// aapt resource value: 0x7F090445
+			public const int zxing_possible_result_points = 2131297349;
+			
+			// aapt resource value: 0x7F090446
+			public const int zxing_preview_failed = 2131297350;
+			
+			// aapt resource value: 0x7F090447
+			public const int zxing_prewiew_size_ready = 2131297351;
+			
+			// aapt resource value: 0x7F090448
+			public const int zxing_status_view = 2131297352;
+			
+			// aapt resource value: 0x7F090449
+			public const int zxing_viewfinder_view = 2131297353;
 			
 			static Id()
 			{
@@ -10549,376 +10585,382 @@
 			public const int device_video_encrypt_dialog = 2131427434;
 			
 			// aapt resource value: 0x7F0B006B
-			public const int dialog_tip = 2131427435;
-			
-			// aapt resource value: 0x7F0B0081
-			public const int ezopen_realplay_operate_bar = 2131427457;
-			
-			// aapt resource value: 0x7F0B0082
-			public const int ezopen_realplay_operate_bar2 = 2131427458;
+			public const int dialog_lpsdk_time_select = 2131427435;
 			
 			// aapt resource value: 0x7F0B006C
-			public const int ez_demo_interface_activity = 2131427436;
+			public const int dialog_lpsdk_tip = 2131427436;
 			
 			// aapt resource value: 0x7F0B006D
-			public const int ez_message_image_page = 2131427437;
-			
-			// aapt resource value: 0x7F0B006E
-			public const int ez_message_image_page_new = 2131427438;
-			
-			// aapt resource value: 0x7F0B006F
-			public const int ez_message_list_item = 2131427439;
-			
-			// aapt resource value: 0x7F0B0070
-			public const int ez_message_list_item_new = 2131427440;
-			
-			// aapt resource value: 0x7F0B0071
-			public const int ez_message_list_section = 2131427441;
-			
-			// aapt resource value: 0x7F0B0072
-			public const int ez_message_list_section_new = 2131427442;
-			
-			// aapt resource value: 0x7F0B0073
-			public const int ez_message_page = 2131427443;
-			
-			// aapt resource value: 0x7F0B0074
-			public const int ez_message_page_new = 2131427444;
-			
-			// aapt resource value: 0x7F0B0077
-			public const int ez_playback_list_page_common = 2131427447;
-			
-			// aapt resource value: 0x7F0B0078
-			public const int ez_playback_list_page_new = 2131427448;
-			
-			// aapt resource value: 0x7F0B0075
-			public const int ez_play_control = 2131427445;
-			
-			// aapt resource value: 0x7F0B0076
-			public const int ez_play_control_new = 2131427446;
-			
-			// aapt resource value: 0x7F0B0079
-			public const int ez_realplay_page = 2131427449;
-			
-			// aapt resource value: 0x7F0B007A
-			public const int ez_realplay_page_new = 2131427450;
-			
-			// aapt resource value: 0x7F0B007B
-			public const int ez_realplay_prompt_layout = 2131427451;
-			
-			// aapt resource value: 0x7F0B007C
-			public const int ez_realplay_prompt_layout_new = 2131427452;
-			
-			// aapt resource value: 0x7F0B007D
-			public const int ez_realplay_quality_items = 2131427453;
-			
-			// aapt resource value: 0x7F0B007E
-			public const int ez_realplay_quality_items_new = 2131427454;
-			
-			// aapt resource value: 0x7F0B007F
-			public const int ez_remote_playback_page = 2131427455;
-			
-			// aapt resource value: 0x7F0B0080
-			public const int ez_remote_playback_page_new = 2131427456;
+			public const int dialog_tip = 2131427437;
 			
 			// aapt resource value: 0x7F0B0083
-			public const int fragment_call = 2131427459;
+			public const int ezopen_realplay_operate_bar = 2131427459;
 			
 			// aapt resource value: 0x7F0B0084
-			public const int fragment_city_config = 2131427460;
+			public const int ezopen_realplay_operate_bar2 = 2131427460;
+			
+			// aapt resource value: 0x7F0B006E
+			public const int ez_demo_interface_activity = 2131427438;
+			
+			// aapt resource value: 0x7F0B006F
+			public const int ez_message_image_page = 2131427439;
+			
+			// aapt resource value: 0x7F0B0070
+			public const int ez_message_image_page_new = 2131427440;
+			
+			// aapt resource value: 0x7F0B0071
+			public const int ez_message_list_item = 2131427441;
+			
+			// aapt resource value: 0x7F0B0072
+			public const int ez_message_list_item_new = 2131427442;
+			
+			// aapt resource value: 0x7F0B0073
+			public const int ez_message_list_section = 2131427443;
+			
+			// aapt resource value: 0x7F0B0074
+			public const int ez_message_list_section_new = 2131427444;
+			
+			// aapt resource value: 0x7F0B0075
+			public const int ez_message_page = 2131427445;
+			
+			// aapt resource value: 0x7F0B0076
+			public const int ez_message_page_new = 2131427446;
+			
+			// aapt resource value: 0x7F0B0079
+			public const int ez_playback_list_page_common = 2131427449;
+			
+			// aapt resource value: 0x7F0B007A
+			public const int ez_playback_list_page_new = 2131427450;
+			
+			// aapt resource value: 0x7F0B0077
+			public const int ez_play_control = 2131427447;
+			
+			// aapt resource value: 0x7F0B0078
+			public const int ez_play_control_new = 2131427448;
+			
+			// aapt resource value: 0x7F0B007B
+			public const int ez_realplay_page = 2131427451;
+			
+			// aapt resource value: 0x7F0B007C
+			public const int ez_realplay_page_new = 2131427452;
+			
+			// aapt resource value: 0x7F0B007D
+			public const int ez_realplay_prompt_layout = 2131427453;
+			
+			// aapt resource value: 0x7F0B007E
+			public const int ez_realplay_prompt_layout_new = 2131427454;
+			
+			// aapt resource value: 0x7F0B007F
+			public const int ez_realplay_quality_items = 2131427455;
+			
+			// aapt resource value: 0x7F0B0080
+			public const int ez_realplay_quality_items_new = 2131427456;
+			
+			// aapt resource value: 0x7F0B0081
+			public const int ez_remote_playback_page = 2131427457;
+			
+			// aapt resource value: 0x7F0B0082
+			public const int ez_remote_playback_page_new = 2131427458;
 			
 			// aapt resource value: 0x7F0B0085
-			public const int fragment_monitor = 2131427461;
+			public const int fragment_call = 2131427461;
 			
 			// aapt resource value: 0x7F0B0086
-			public const int fragment_search_video = 2131427462;
+			public const int fragment_city_config = 2131427462;
 			
 			// aapt resource value: 0x7F0B0087
-			public const int fragment_square_video_list = 2131427463;
+			public const int fragment_monitor = 2131427463;
 			
 			// aapt resource value: 0x7F0B0088
-			public const int hdl_gallery_banner_view_layout = 2131427464;
+			public const int fragment_search_video = 2131427464;
 			
 			// aapt resource value: 0x7F0B0089
-			public const int hdl_widget_activity_crop_image = 2131427465;
+			public const int fragment_square_video_list = 2131427465;
 			
 			// aapt resource value: 0x7F0B008A
-			public const int hdl_widget_activity_geofence_round = 2131427466;
+			public const int hdl_gallery_banner_view_layout = 2131427466;
 			
 			// aapt resource value: 0x7F0B008B
-			public const int hdl_widget_air_button = 2131427467;
+			public const int hdl_widget_activity_crop_image = 2131427467;
 			
 			// aapt resource value: 0x7F0B008C
-			public const int hdl_widget_include_pickerview_topbar = 2131427468;
+			public const int hdl_widget_activity_geofence_round = 2131427468;
 			
 			// aapt resource value: 0x7F0B008D
-			public const int hdl_widget_layout_basepickerview = 2131427469;
+			public const int hdl_widget_air_button = 2131427469;
 			
 			// aapt resource value: 0x7F0B008E
-			public const int hdl_widget_pickerview = 2131427470;
+			public const int hdl_widget_include_pickerview_topbar = 2131427470;
 			
 			// aapt resource value: 0x7F0B008F
-			public const int hdl_widget_pickerview_options = 2131427471;
+			public const int hdl_widget_layout_basepickerview = 2131427471;
 			
 			// aapt resource value: 0x7F0B0090
-			public const int hdl_widget_pickerview_time = 2131427472;
+			public const int hdl_widget_pickerview = 2131427472;
 			
 			// aapt resource value: 0x7F0B0091
-			public const int hms_download_progress = 2131427473;
+			public const int hdl_widget_pickerview_options = 2131427473;
 			
 			// aapt resource value: 0x7F0B0092
-			public const int item_multi_screen_preview = 2131427474;
+			public const int hdl_widget_pickerview_time = 2131427474;
 			
 			// aapt resource value: 0x7F0B0093
-			public const int lan_device_adapter_item = 2131427475;
+			public const int hms_download_progress = 2131427475;
 			
 			// aapt resource value: 0x7F0B0094
-			public const int lan_device_login_dialog = 2131427476;
+			public const int item_multi_screen_preview = 2131427476;
 			
 			// aapt resource value: 0x7F0B0095
-			public const int layout_camera_view = 2131427477;
+			public const int lan_device_adapter_item = 2131427477;
 			
 			// aapt resource value: 0x7F0B0096
-			public const int layout_camera_view_soft = 2131427478;
+			public const int lan_device_login_dialog = 2131427478;
 			
 			// aapt resource value: 0x7F0B0097
-			public const int layout_change_playback_rate = 2131427479;
+			public const int layout_camera_view = 2131427479;
 			
 			// aapt resource value: 0x7F0B0098
-			public const int layout_child_watch_video_talk_operation = 2131427480;
+			public const int layout_camera_view_soft = 2131427480;
 			
 			// aapt resource value: 0x7F0B0099
-			public const int layout_dialog_tip = 2131427481;
+			public const int layout_change_playback_rate = 2131427481;
 			
 			// aapt resource value: 0x7F0B009A
-			public const int layout_login_anim = 2131427482;
+			public const int layout_child_watch_video_talk_operation = 2131427482;
 			
 			// aapt resource value: 0x7F0B009B
-			public const int line_connecting_introduce_activity = 2131427483;
+			public const int layout_dialog_tip = 2131427483;
 			
 			// aapt resource value: 0x7F0B009C
-			public const int list_section = 2131427484;
+			public const int layout_login_anim = 2131427484;
 			
 			// aapt resource value: 0x7F0B009D
-			public const int loading_text_view = 2131427485;
+			public const int line_connecting_introduce_activity = 2131427485;
 			
 			// aapt resource value: 0x7F0B009E
-			public const int login_page = 2131427486;
+			public const int list_section = 2131427486;
 			
 			// aapt resource value: 0x7F0B009F
-			public const int message_list_item = 2131427487;
+			public const int loading_text_view = 2131427487;
 			
 			// aapt resource value: 0x7F0B00A0
-			public const int message_page = 2131427488;
+			public const int login_page = 2131427488;
 			
 			// aapt resource value: 0x7F0B00A1
-			public const int modify_device_name_page = 2131427489;
+			public const int message_list_item = 2131427489;
 			
 			// aapt resource value: 0x7F0B00A2
-			public const int multi_video_talk_item = 2131427490;
+			public const int message_page = 2131427490;
 			
 			// aapt resource value: 0x7F0B00A3
-			public const int network_error_retry_page = 2131427491;
-			
-			// aapt resource value: 0x7F0B00A7
-			public const int notification_action = 2131427495;
-			
-			// aapt resource value: 0x7F0B00A8
-			public const int notification_action_tombstone = 2131427496;
-			
-			// aapt resource value: 0x7F0B00A9
-			public const int notification_media_action = 2131427497;
-			
-			// aapt resource value: 0x7F0B00AA
-			public const int notification_media_cancel_action = 2131427498;
-			
-			// aapt resource value: 0x7F0B00AB
-			public const int notification_template_big_media = 2131427499;
-			
-			// aapt resource value: 0x7F0B00AC
-			public const int notification_template_big_media_custom = 2131427500;
-			
-			// aapt resource value: 0x7F0B00AD
-			public const int notification_template_big_media_narrow = 2131427501;
-			
-			// aapt resource value: 0x7F0B00AE
-			public const int notification_template_big_media_narrow_custom = 2131427502;
-			
-			// aapt resource value: 0x7F0B00AF
-			public const int notification_template_custom_big = 2131427503;
-			
-			// aapt resource value: 0x7F0B00B0
-			public const int notification_template_icon_group = 2131427504;
-			
-			// aapt resource value: 0x7F0B00B1
-			public const int notification_template_lines_media = 2131427505;
-			
-			// aapt resource value: 0x7F0B00B2
-			public const int notification_template_media = 2131427506;
-			
-			// aapt resource value: 0x7F0B00B3
-			public const int notification_template_media_custom = 2131427507;
-			
-			// aapt resource value: 0x7F0B00B4
-			public const int notification_template_part_chronometer = 2131427508;
-			
-			// aapt resource value: 0x7F0B00B5
-			public const int notification_template_part_time = 2131427509;
-			
-			// aapt resource value: 0x7F0B00B6
-			public const int notifier_alarmloginfo_list_item = 2131427510;
-			
-			// aapt resource value: 0x7F0B00B7
-			public const int notifier_page = 2131427511;
+			public const int modify_device_name_page = 2131427491;
 			
 			// aapt resource value: 0x7F0B00A4
-			public const int no_device_more_footer = 2131427492;
+			public const int multi_video_talk_item = 2131427492;
 			
 			// aapt resource value: 0x7F0B00A5
-			public const int no_more_footer = 2131427493;
+			public const int network_error_retry_page = 2131427493;
 			
-			// aapt resource value: 0x7F0B00A6
-			public const int no_msg_more_footer = 2131427494;
+			// aapt resource value: 0x7F0B00A9
+			public const int notification_action = 2131427497;
+			
+			// aapt resource value: 0x7F0B00AA
+			public const int notification_action_tombstone = 2131427498;
+			
+			// aapt resource value: 0x7F0B00AB
+			public const int notification_media_action = 2131427499;
+			
+			// aapt resource value: 0x7F0B00AC
+			public const int notification_media_cancel_action = 2131427500;
+			
+			// aapt resource value: 0x7F0B00AD
+			public const int notification_template_big_media = 2131427501;
+			
+			// aapt resource value: 0x7F0B00AE
+			public const int notification_template_big_media_custom = 2131427502;
+			
+			// aapt resource value: 0x7F0B00AF
+			public const int notification_template_big_media_narrow = 2131427503;
+			
+			// aapt resource value: 0x7F0B00B0
+			public const int notification_template_big_media_narrow_custom = 2131427504;
+			
+			// aapt resource value: 0x7F0B00B1
+			public const int notification_template_custom_big = 2131427505;
+			
+			// aapt resource value: 0x7F0B00B2
+			public const int notification_template_icon_group = 2131427506;
+			
+			// aapt resource value: 0x7F0B00B3
+			public const int notification_template_lines_media = 2131427507;
+			
+			// aapt resource value: 0x7F0B00B4
+			public const int notification_template_media = 2131427508;
+			
+			// aapt resource value: 0x7F0B00B5
+			public const int notification_template_media_custom = 2131427509;
+			
+			// aapt resource value: 0x7F0B00B6
+			public const int notification_template_part_chronometer = 2131427510;
+			
+			// aapt resource value: 0x7F0B00B7
+			public const int notification_template_part_time = 2131427511;
 			
 			// aapt resource value: 0x7F0B00B8
-			public const int open_ysservice_dialog = 2131427512;
+			public const int notifier_alarmloginfo_list_item = 2131427512;
 			
 			// aapt resource value: 0x7F0B00B9
-			public const int password_error_layout = 2131427513;
+			public const int notifier_page = 2131427513;
+			
+			// aapt resource value: 0x7F0B00A6
+			public const int no_device_more_footer = 2131427494;
+			
+			// aapt resource value: 0x7F0B00A7
+			public const int no_more_footer = 2131427495;
+			
+			// aapt resource value: 0x7F0B00A8
+			public const int no_msg_more_footer = 2131427496;
 			
 			// aapt resource value: 0x7F0B00BA
-			public const int playback_list_page = 2131427514;
+			public const int open_ysservice_dialog = 2131427514;
 			
 			// aapt resource value: 0x7F0B00BB
-			public const int pull_to_refresh_footer = 2131427515;
+			public const int password_error_layout = 2131427515;
 			
 			// aapt resource value: 0x7F0B00BC
-			public const int pull_to_refresh_header = 2131427516;
-			
-			// aapt resource value: 0x7F0B00C8
-			public const int realplayer_item = 2131427528;
-			
-			// aapt resource value: 0x7F0B00C9
-			public const int realplayer_page = 2131427529;
+			public const int playback_list_page = 2131427516;
 			
 			// aapt resource value: 0x7F0B00BD
-			public const int realplay_control_layout = 2131427517;
+			public const int pull_to_refresh_footer = 2131427517;
 			
 			// aapt resource value: 0x7F0B00BE
-			public const int realplay_full_operate_layout = 2131427518;
-			
-			// aapt resource value: 0x7F0B00BF
-			public const int realplay_loading_layout = 2131427519;
-			
-			// aapt resource value: 0x7F0B00C0
-			public const int realplay_operate_bar = 2131427520;
-			
-			// aapt resource value: 0x7F0B00C1
-			public const int realplay_operate_bar2 = 2131427521;
-			
-			// aapt resource value: 0x7F0B00C2
-			public const int realplay_page = 2131427522;
-			
-			// aapt resource value: 0x7F0B00C3
-			public const int realplay_prompt_layout = 2131427523;
-			
-			// aapt resource value: 0x7F0B00C4
-			public const int realplay_ptz_wnd = 2131427524;
-			
-			// aapt resource value: 0x7F0B00C5
-			public const int realplay_quality_items = 2131427525;
-			
-			// aapt resource value: 0x7F0B00C6
-			public const int realplay_quality_wnd = 2131427526;
-			
-			// aapt resource value: 0x7F0B00C7
-			public const int realplay_talkback_wnd = 2131427527;
+			public const int pull_to_refresh_header = 2131427518;
 			
 			// aapt resource value: 0x7F0B00CA
-			public const int remote_playback_page = 2131427530;
+			public const int realplayer_item = 2131427530;
 			
 			// aapt resource value: 0x7F0B00CB
-			public const int section_list_item = 2131427531;
+			public const int realplayer_page = 2131427531;
+			
+			// aapt resource value: 0x7F0B00BF
+			public const int realplay_control_layout = 2131427519;
+			
+			// aapt resource value: 0x7F0B00C0
+			public const int realplay_full_operate_layout = 2131427520;
+			
+			// aapt resource value: 0x7F0B00C1
+			public const int realplay_loading_layout = 2131427521;
+			
+			// aapt resource value: 0x7F0B00C2
+			public const int realplay_operate_bar = 2131427522;
+			
+			// aapt resource value: 0x7F0B00C3
+			public const int realplay_operate_bar2 = 2131427523;
+			
+			// aapt resource value: 0x7F0B00C4
+			public const int realplay_page = 2131427524;
+			
+			// aapt resource value: 0x7F0B00C5
+			public const int realplay_prompt_layout = 2131427525;
+			
+			// aapt resource value: 0x7F0B00C6
+			public const int realplay_ptz_wnd = 2131427526;
+			
+			// aapt resource value: 0x7F0B00C7
+			public const int realplay_quality_items = 2131427527;
+			
+			// aapt resource value: 0x7F0B00C8
+			public const int realplay_quality_wnd = 2131427528;
+			
+			// aapt resource value: 0x7F0B00C9
+			public const int realplay_talkback_wnd = 2131427529;
 			
 			// aapt resource value: 0x7F0B00CC
-			public const int select_camera_no_dialog = 2131427532;
+			public const int remote_playback_page = 2131427532;
 			
 			// aapt resource value: 0x7F0B00CD
-			public const int select_camera_no_dialog_item = 2131427533;
+			public const int section_list_item = 2131427533;
 			
 			// aapt resource value: 0x7F0B00CE
-			public const int select_dialog_item_material = 2131427534;
+			public const int select_camera_no_dialog = 2131427534;
 			
 			// aapt resource value: 0x7F0B00CF
-			public const int select_dialog_multichoice_material = 2131427535;
+			public const int select_camera_no_dialog_item = 2131427535;
 			
 			// aapt resource value: 0x7F0B00D0
-			public const int select_dialog_singlechoice_material = 2131427536;
+			public const int select_dialog_item_material = 2131427536;
 			
 			// aapt resource value: 0x7F0B00D1
-			public const int select_talkback_items = 2131427537;
+			public const int select_dialog_multichoice_material = 2131427537;
 			
 			// aapt resource value: 0x7F0B00D2
-			public const int simple_demo = 2131427538;
+			public const int select_dialog_singlechoice_material = 2131427538;
 			
 			// aapt resource value: 0x7F0B00D3
-			public const int sms_verify_dialog = 2131427539;
+			public const int select_talkback_items = 2131427539;
 			
 			// aapt resource value: 0x7F0B00D4
-			public const int square_column_item = 2131427540;
+			public const int simple_demo = 2131427540;
 			
 			// aapt resource value: 0x7F0B00D5
-			public const int square_video_item = 2131427541;
+			public const int sms_verify_dialog = 2131427541;
 			
 			// aapt resource value: 0x7F0B00D6
-			public const int srl_classics_footer = 2131427542;
+			public const int square_column_item = 2131427542;
 			
 			// aapt resource value: 0x7F0B00D7
-			public const int srl_classics_header = 2131427543;
+			public const int square_video_item = 2131427543;
 			
 			// aapt resource value: 0x7F0B00D8
-			public const int support_simple_spinner_dropdown_item = 2131427544;
+			public const int srl_classics_footer = 2131427544;
 			
 			// aapt resource value: 0x7F0B00D9
-			public const int test_surfaceview = 2131427545;
+			public const int srl_classics_header = 2131427545;
 			
 			// aapt resource value: 0x7F0B00DA
-			public const int tooltip = 2131427546;
+			public const int support_simple_spinner_dropdown_item = 2131427546;
 			
 			// aapt resource value: 0x7F0B00DB
-			public const int topbar = 2131427547;
+			public const int test_surfaceview = 2131427547;
 			
 			// aapt resource value: 0x7F0B00DC
-			public const int upsdk_app_dl_progress_dialog = 2131427548;
+			public const int tooltip = 2131427548;
 			
 			// aapt resource value: 0x7F0B00DD
-			public const int upsdk_ota_update_view = 2131427549;
+			public const int topbar = 2131427549;
 			
 			// aapt resource value: 0x7F0B00DE
-			public const int verifycode_layout = 2131427550;
+			public const int upsdk_app_dl_progress_dialog = 2131427550;
 			
 			// aapt resource value: 0x7F0B00DF
-			public const int video_device = 2131427551;
+			public const int upsdk_ota_update_view = 2131427551;
 			
 			// aapt resource value: 0x7F0B00E0
-			public const int wait_dialog = 2131427552;
+			public const int verifycode_layout = 2131427552;
 			
 			// aapt resource value: 0x7F0B00E1
-			public const int web_page = 2131427553;
-			
-			// aapt resource value: 0x7F0B00E5
-			public const int zxingscanneractivitylayout = 2131427557;
-			
-			// aapt resource value: 0x7F0B00E6
-			public const int zxingscannerfragmentlayout = 2131427558;
+			public const int video_device = 2131427553;
 			
 			// aapt resource value: 0x7F0B00E2
-			public const int zxing_barcode_scanner = 2131427554;
+			public const int wait_dialog = 2131427554;
 			
 			// aapt resource value: 0x7F0B00E3
-			public const int zxing_capture = 2131427555;
+			public const int web_page = 2131427555;
+			
+			// aapt resource value: 0x7F0B00E7
+			public const int zxingscanneractivitylayout = 2131427559;
+			
+			// aapt resource value: 0x7F0B00E8
+			public const int zxingscannerfragmentlayout = 2131427560;
 			
 			// aapt resource value: 0x7F0B00E4
-			public const int zxing_layout = 2131427556;
+			public const int zxing_barcode_scanner = 2131427556;
+			
+			// aapt resource value: 0x7F0B00E5
+			public const int zxing_capture = 2131427557;
+			
+			// aapt resource value: 0x7F0B00E6
+			public const int zxing_layout = 2131427558;
 			
 			static Layout()
 			{
@@ -10981,31 +11023,31 @@
 			public const int beep = 2131623936;
 			
 			// aapt resource value: 0x7F0E0001
-			public const int incoming_chat = 2131623937;
+			public const int hdl_rootca = 2131623937;
 			
 			// aapt resource value: 0x7F0E0002
-			public const int linphonerc_default = 2131623938;
+			public const int incoming_chat = 2131623938;
 			
 			// aapt resource value: 0x7F0E0003
-			public const int linphonerc_factory = 2131623939;
+			public const int linphonerc_default = 2131623939;
 			
 			// aapt resource value: 0x7F0E0004
-			public const int lpconfig = 2131623940;
+			public const int linphonerc_factory = 2131623940;
 			
 			// aapt resource value: 0x7F0E0005
-			public const int oldphone_mono = 2131623941;
+			public const int lpconfig = 2131623941;
 			
 			// aapt resource value: 0x7F0E0006
-			public const int paizhao = 2131623942;
+			public const int oldphone_mono = 2131623942;
 			
 			// aapt resource value: 0x7F0E0007
-			public const int record = 2131623943;
+			public const int paizhao = 2131623943;
 			
 			// aapt resource value: 0x7F0E0008
-			public const int ringback = 2131623944;
+			public const int record = 2131623944;
 			
 			// aapt resource value: 0x7F0E0009
-			public const int rootca = 2131623945;
+			public const int ringback = 2131623945;
 			
 			// aapt resource value: 0x7F0E000A
 			public const int toy_mono = 2131623946;
@@ -12173,1135 +12215,1141 @@
 			public const int lp_callingStr = 2131689851;
 			
 			// aapt resource value: 0x7F0F017C
-			public const int lp_endMonitoringStr = 2131689852;
+			public const int lp_cancel = 2131689852;
 			
 			// aapt resource value: 0x7F0F017D
-			public const int lp_endOfCallStr = 2131689853;
+			public const int lp_confirm = 2131689853;
 			
 			// aapt resource value: 0x7F0F017E
-			public const int lp_hangupStr = 2131689854;
+			public const int lp_endMonitoringStr = 2131689854;
 			
 			// aapt resource value: 0x7F0F017F
-			public const int lp_okStr = 2131689855;
+			public const int lp_endOfCallStr = 2131689855;
 			
 			// aapt resource value: 0x7F0F0180
-			public const int lp_operationFailedStr = 2131689856;
+			public const int lp_hangupStr = 2131689856;
 			
 			// aapt resource value: 0x7F0F0181
-			public const int lp_outdoorUnitStr = 2131689857;
+			public const int lp_okStr = 2131689857;
 			
 			// aapt resource value: 0x7F0F0182
-			public const int lp_refuseStr = 2131689858;
+			public const int lp_operationFailedStr = 2131689858;
 			
 			// aapt resource value: 0x7F0F0183
-			public const int lp_saveToTheAlbumsStr = 2131689859;
+			public const int lp_outdoorUnitStr = 2131689859;
 			
 			// aapt resource value: 0x7F0F0184
-			public const int lp_screenshotStr = 2131689860;
+			public const int lp_refuseStr = 2131689860;
 			
 			// aapt resource value: 0x7F0F0185
-			public const int lp_sipAccount_null = 2131689861;
+			public const int lp_saveToTheAlbumsStr = 2131689861;
 			
 			// aapt resource value: 0x7F0F0186
-			public const int lp_tipStr = 2131689862;
-			
-			// aapt resource value: 0x7F0F0189
-			public const int lp_unlockfailureStr = 2131689865;
+			public const int lp_screenshotStr = 2131689862;
 			
 			// aapt resource value: 0x7F0F0187
-			public const int lp_unlockStr = 2131689863;
+			public const int lp_sipAccount_null = 2131689863;
 			
 			// aapt resource value: 0x7F0F0188
-			public const int lp_unlockSuccessfullyStr = 2131689864;
-			
-			// aapt resource value: 0x7F0F018A
-			public const int main_tab_second_tab = 2131689866;
+			public const int lp_tipStr = 2131689864;
 			
 			// aapt resource value: 0x7F0F018B
-			public const int message_come_from_tip = 2131689867;
+			public const int lp_unlockfailureStr = 2131689867;
+			
+			// aapt resource value: 0x7F0F0189
+			public const int lp_unlockStr = 2131689865;
+			
+			// aapt resource value: 0x7F0F018A
+			public const int lp_unlockSuccessfullyStr = 2131689866;
 			
 			// aapt resource value: 0x7F0F018C
-			public const int message_encrypt_inputpsw_tip_title = 2131689868;
+			public const int main_tab_second_tab = 2131689868;
 			
 			// aapt resource value: 0x7F0F018D
-			public const int message_live = 2131689869;
+			public const int message_come_from_tip = 2131689869;
 			
 			// aapt resource value: 0x7F0F018E
-			public const int message_no_data_text = 2131689870;
+			public const int message_encrypt_inputpsw_tip_title = 2131689870;
 			
 			// aapt resource value: 0x7F0F018F
-			public const int message_refresh_fail_network_exception = 2131689871;
+			public const int message_live = 2131689871;
 			
 			// aapt resource value: 0x7F0F0190
-			public const int message_refresh_fail_server_exception = 2131689872;
+			public const int message_no_data_text = 2131689872;
 			
 			// aapt resource value: 0x7F0F0191
-			public const int message_video = 2131689873;
+			public const int message_refresh_fail_network_exception = 2131689873;
 			
 			// aapt resource value: 0x7F0F0192
-			public const int modify_online_schedule = 2131689874;
+			public const int message_refresh_fail_server_exception = 2131689874;
 			
 			// aapt resource value: 0x7F0F0193
-			public const int month = 2131689875;
+			public const int message_video = 2131689875;
 			
 			// aapt resource value: 0x7F0F0194
-			public const int more = 2131689876;
+			public const int modify_online_schedule = 2131689876;
 			
 			// aapt resource value: 0x7F0F0195
-			public const int more_local_image = 2131689877;
+			public const int month = 2131689877;
 			
 			// aapt resource value: 0x7F0F0196
-			public const int more_setting = 2131689878;
+			public const int more = 2131689878;
 			
 			// aapt resource value: 0x7F0F0197
-			public const int my_collect = 2131689879;
+			public const int more_local_image = 2131689879;
 			
 			// aapt resource value: 0x7F0F0198
-			public const int my_devices = 2131689880;
+			public const int more_setting = 2131689880;
 			
 			// aapt resource value: 0x7F0F0199
-			public const int network_error_retry_prompt = 2131689881;
+			public const int my_collect = 2131689881;
 			
 			// aapt resource value: 0x7F0F019A
-			public const int network_exception = 2131689882;
+			public const int my_devices = 2131689882;
 			
 			// aapt resource value: 0x7F0F019B
-			public const int network_video_recorder = 2131689883;
+			public const int network_error_retry_prompt = 2131689883;
 			
 			// aapt resource value: 0x7F0F019C
-			public const int newest_version = 2131689884;
+			public const int network_exception = 2131689884;
 			
 			// aapt resource value: 0x7F0F019D
-			public const int next_button_txt = 2131689885;
-			
-			// aapt resource value: 0x7F0F01A4
-			public const int not_find_any_devices = 2131689892;
-			
-			// aapt resource value: 0x7F0F01A5
-			public const int not_now = 2131689893;
-			
-			// aapt resource value: 0x7F0F01A6
-			public const int not_recognized_fingerprint_hint = 2131689894;
+			public const int network_video_recorder = 2131689885;
 			
 			// aapt resource value: 0x7F0F019E
-			public const int no_event_device_prompt = 2131689886;
+			public const int newest_version = 2131689886;
 			
 			// aapt resource value: 0x7F0F019F
-			public const int no_leave_device_prompt = 2131689887;
+			public const int next_button_txt = 2131689887;
 			
-			// aapt resource value: 0x7F0F01A0
-			public const int no_more_alarm_tip = 2131689888;
-			
-			// aapt resource value: 0x7F0F01A1
-			public const int no_more_leave_tip = 2131689889;
-			
-			// aapt resource value: 0x7F0F01A2
-			public const int no_remote_data = 2131689890;
-			
-			// aapt resource value: 0x7F0F01A3
-			public const int no_result_text = 2131689891;
+			// aapt resource value: 0x7F0F01A6
+			public const int not_find_any_devices = 2131689894;
 			
 			// aapt resource value: 0x7F0F01A7
-			public const int offline_warn_text = 2131689895;
-			
-			// aapt resource value: 0x7F0F01A9
-			public const int online_time = 2131689897;
+			public const int not_now = 2131689895;
 			
 			// aapt resource value: 0x7F0F01A8
-			public const int on_the_phone = 2131689896;
+			public const int not_recognized_fingerprint_hint = 2131689896;
 			
-			// aapt resource value: 0x7F0F01AA
-			public const int open_camera_fail = 2131689898;
+			// aapt resource value: 0x7F0F01A0
+			public const int no_event_device_prompt = 2131689888;
+			
+			// aapt resource value: 0x7F0F01A1
+			public const int no_leave_device_prompt = 2131689889;
+			
+			// aapt resource value: 0x7F0F01A2
+			public const int no_more_alarm_tip = 2131689890;
+			
+			// aapt resource value: 0x7F0F01A3
+			public const int no_more_leave_tip = 2131689891;
+			
+			// aapt resource value: 0x7F0F01A4
+			public const int no_remote_data = 2131689892;
+			
+			// aapt resource value: 0x7F0F01A5
+			public const int no_result_text = 2131689893;
+			
+			// aapt resource value: 0x7F0F01A9
+			public const int offline_warn_text = 2131689897;
 			
 			// aapt resource value: 0x7F0F01AB
-			public const int open_camera_lens = 2131689899;
+			public const int online_time = 2131689899;
+			
+			// aapt resource value: 0x7F0F01AA
+			public const int on_the_phone = 2131689898;
 			
 			// aapt resource value: 0x7F0F01AC
-			public const int open_source_localization = 2131689900;
+			public const int open_camera_fail = 2131689900;
 			
 			// aapt resource value: 0x7F0F01AD
-			public const int open_ys_service = 2131689901;
+			public const int open_camera_lens = 2131689901;
 			
 			// aapt resource value: 0x7F0F01AE
-			public const int open_ys_service_fail = 2131689902;
+			public const int open_source_localization = 2131689902;
 			
 			// aapt resource value: 0x7F0F01AF
-			public const int open_ys_service_success = 2131689903;
+			public const int open_ys_service = 2131689903;
 			
 			// aapt resource value: 0x7F0F01B0
-			public const int operational_fail = 2131689904;
+			public const int open_ys_service_fail = 2131689904;
 			
 			// aapt resource value: 0x7F0F01B1
-			public const int option_support_web = 2131689905;
+			public const int open_ys_service_success = 2131689905;
 			
 			// aapt resource value: 0x7F0F01B2
-			public const int password_et_hint = 2131689906;
+			public const int operational_fail = 2131689906;
 			
 			// aapt resource value: 0x7F0F01B3
-			public const int password_security_txt = 2131689907;
+			public const int option_support_web = 2131689907;
 			
 			// aapt resource value: 0x7F0F01B4
-			public const int password_toggle_content_description = 2131689908;
+			public const int password_et_hint = 2131689908;
 			
 			// aapt resource value: 0x7F0F01B5
-			public const int path_password_eye = 2131689909;
+			public const int password_security_txt = 2131689909;
 			
 			// aapt resource value: 0x7F0F01B6
-			public const int path_password_eye_mask_strike_through = 2131689910;
+			public const int password_toggle_content_description = 2131689910;
 			
 			// aapt resource value: 0x7F0F01B7
-			public const int path_password_eye_mask_visible = 2131689911;
+			public const int path_password_eye = 2131689911;
 			
 			// aapt resource value: 0x7F0F01B8
-			public const int path_password_strike_through = 2131689912;
+			public const int path_password_eye_mask_strike_through = 2131689912;
 			
 			// aapt resource value: 0x7F0F01B9
-			public const int pickerview_cancel = 2131689913;
+			public const int path_password_eye_mask_visible = 2131689913;
 			
 			// aapt resource value: 0x7F0F01BA
-			public const int pickerview_day = 2131689914;
+			public const int path_password_strike_through = 2131689914;
 			
 			// aapt resource value: 0x7F0F01BB
-			public const int pickerview_hours = 2131689915;
+			public const int pickerview_cancel = 2131689915;
 			
 			// aapt resource value: 0x7F0F01BC
-			public const int pickerview_minutes = 2131689916;
+			public const int pickerview_day = 2131689916;
 			
 			// aapt resource value: 0x7F0F01BD
-			public const int pickerview_month = 2131689917;
+			public const int pickerview_hours = 2131689917;
 			
 			// aapt resource value: 0x7F0F01BE
-			public const int pickerview_seconds = 2131689918;
+			public const int pickerview_minutes = 2131689918;
 			
 			// aapt resource value: 0x7F0F01BF
-			public const int pickerview_submit = 2131689919;
+			public const int pickerview_month = 2131689919;
 			
 			// aapt resource value: 0x7F0F01C0
-			public const int pickerview_year = 2131689920;
-			
-			// aapt resource value: 0x7F0F01C2
-			public const int platform_login_button_txt = 2131689922;
+			public const int pickerview_seconds = 2131689920;
 			
 			// aapt resource value: 0x7F0F01C1
-			public const int plat_connected = 2131689921;
+			public const int pickerview_submit = 2131689921;
 			
-			// aapt resource value: 0x7F0F01C3
-			public const int play_hour = 2131689923;
+			// aapt resource value: 0x7F0F01C2
+			public const int pickerview_year = 2131689922;
 			
 			// aapt resource value: 0x7F0F01C4
-			public const int please_connect_the_power = 2131689924;
+			public const int platform_login_button_txt = 2131689924;
 			
-			// aapt resource value: 0x7F0F01C6
-			public const int please_input_phonenumber_txt = 2131689926;
+			// aapt resource value: 0x7F0F01C3
+			public const int plat_connected = 2131689923;
 			
 			// aapt resource value: 0x7F0F01C5
-			public const int please_input_phone_txt = 2131689925;
+			public const int play_hour = 2131689925;
 			
-			// aapt resource value: 0x7F0F01C7
-			public const int please_input_platform_accesstoken_txt = 2131689927;
+			// aapt resource value: 0x7F0F01C6
+			public const int please_connect_the_power = 2131689926;
 			
 			// aapt resource value: 0x7F0F01C8
-			public const int please_input_sign_get_sms_txt = 2131689928;
+			public const int please_input_phonenumber_txt = 2131689928;
+			
+			// aapt resource value: 0x7F0F01C7
+			public const int please_input_phone_txt = 2131689927;
 			
 			// aapt resource value: 0x7F0F01C9
-			public const int please_input_sign_txt = 2131689929;
+			public const int please_input_platform_accesstoken_txt = 2131689929;
 			
 			// aapt resource value: 0x7F0F01CA
-			public const int please_input_userid_txt = 2131689930;
+			public const int please_input_sign_get_sms_txt = 2131689930;
 			
 			// aapt resource value: 0x7F0F01CB
-			public const int please_open_wifi_network = 2131689931;
+			public const int please_input_sign_txt = 2131689931;
 			
 			// aapt resource value: 0x7F0F01CC
-			public const int please_open_wifi_network_sadp = 2131689932;
+			public const int please_input_userid_txt = 2131689932;
 			
 			// aapt resource value: 0x7F0F01CD
-			public const int please_operate_after_select_any_record = 2131689933;
+			public const int please_open_wifi_network = 2131689933;
 			
 			// aapt resource value: 0x7F0F01CE
-			public const int please_try_connect_device_hotspot_manually = 2131689934;
+			public const int please_open_wifi_network_sadp = 2131689934;
 			
 			// aapt resource value: 0x7F0F01CF
-			public const int plug = 2131689935;
+			public const int please_operate_after_select_any_record = 2131689935;
 			
 			// aapt resource value: 0x7F0F01D0
-			public const int pm = 2131689936;
+			public const int please_try_connect_device_hotspot_manually = 2131689936;
 			
 			// aapt resource value: 0x7F0F01D1
-			public const int press_again_to_exit = 2131689937;
+			public const int plug = 2131689937;
 			
 			// aapt resource value: 0x7F0F01D2
-			public const int press_to_talk_release_to_listen = 2131689938;
+			public const int pm = 2131689938;
 			
 			// aapt resource value: 0x7F0F01D3
-			public const int privacy_policy_and_service_agreement = 2131689939;
+			public const int press_again_to_exit = 2131689939;
 			
 			// aapt resource value: 0x7F0F01D4
-			public const int probe_not_support_tip = 2131689940;
+			public const int press_to_talk_release_to_listen = 2131689940;
 			
 			// aapt resource value: 0x7F0F01D5
-			public const int promptUserToActivate = 2131689941;
+			public const int privacy_policy_and_service_agreement = 2131689941;
 			
 			// aapt resource value: 0x7F0F01D6
-			public const int ptz = 2131689942;
+			public const int probe_not_support_tip = 2131689942;
 			
 			// aapt resource value: 0x7F0F01D7
-			public const int ptz_control_timeout_cruise_track_failed = 2131689943;
+			public const int promptUserToActivate = 2131689943;
 			
 			// aapt resource value: 0x7F0F01D8
-			public const int ptz_control_timeout_sound_lacalization_failed = 2131689944;
+			public const int ptz = 2131689944;
 			
 			// aapt resource value: 0x7F0F01D9
-			public const int ptz_is_preseting = 2131689945;
+			public const int ptz_control_timeout_cruise_track_failed = 2131689945;
 			
 			// aapt resource value: 0x7F0F01DA
-			public const int ptz_mirroring_failed = 2131689946;
+			public const int ptz_control_timeout_sound_lacalization_failed = 2131689946;
 			
 			// aapt resource value: 0x7F0F01DB
-			public const int ptz_operation_failed = 2131689947;
+			public const int ptz_is_preseting = 2131689947;
 			
 			// aapt resource value: 0x7F0F01DC
-			public const int ptz_operation_too_frequently = 2131689948;
+			public const int ptz_mirroring_failed = 2131689948;
 			
 			// aapt resource value: 0x7F0F01DD
-			public const int ptz_preset_current_position_failed = 2131689949;
+			public const int ptz_operation_failed = 2131689949;
 			
 			// aapt resource value: 0x7F0F01DE
-			public const int ptz_preset_exceed_maxnum_failed = 2131689950;
+			public const int ptz_operation_too_frequently = 2131689950;
 			
 			// aapt resource value: 0x7F0F01DF
-			public const int ptz_preset_invalid_position_failed = 2131689951;
+			public const int ptz_preset_current_position_failed = 2131689951;
 			
 			// aapt resource value: 0x7F0F01E0
-			public const int ptz_preset_sound_localization_failed = 2131689952;
+			public const int ptz_preset_exceed_maxnum_failed = 2131689952;
 			
 			// aapt resource value: 0x7F0F01E1
-			public const int ptz_privacying_failed = 2131689953;
+			public const int ptz_preset_invalid_position_failed = 2131689953;
 			
 			// aapt resource value: 0x7F0F01E2
-			public const int push_cat_body = 2131689954;
+			public const int ptz_preset_sound_localization_failed = 2131689954;
 			
 			// aapt resource value: 0x7F0F01E3
-			public const int push_cat_head = 2131689955;
+			public const int ptz_privacying_failed = 2131689955;
 			
 			// aapt resource value: 0x7F0F01E4
-			public const int push_event_alarm_title = 2131689956;
+			public const int push_cat_body = 2131689956;
 			
 			// aapt resource value: 0x7F0F01E5
-			public const int push_event_from = 2131689957;
+			public const int push_cat_head = 2131689957;
 			
 			// aapt resource value: 0x7F0F01E6
-			public const int push_event_get = 2131689958;
+			public const int push_event_alarm_title = 2131689958;
 			
 			// aapt resource value: 0x7F0F01E7
-			public const int push_event_get_count = 2131689959;
+			public const int push_event_from = 2131689959;
 			
 			// aapt resource value: 0x7F0F01E8
-			public const int push_out_event_alarm_title = 2131689960;
+			public const int push_event_get = 2131689960;
 			
 			// aapt resource value: 0x7F0F01E9
-			public const int pwd_not_contain_chinese = 2131689961;
+			public const int push_event_get_count = 2131689961;
 			
 			// aapt resource value: 0x7F0F01EA
-			public const int qrcode_card = 2131689962;
+			public const int push_out_event_alarm_title = 2131689962;
 			
 			// aapt resource value: 0x7F0F01EB
-			public const int quality_balanced = 2131689963;
+			public const int pwd_not_contain_chinese = 2131689963;
 			
 			// aapt resource value: 0x7F0F01EC
-			public const int quality_flunet = 2131689964;
+			public const int qrcode_card = 2131689964;
 			
 			// aapt resource value: 0x7F0F01ED
-			public const int quality_hd = 2131689965;
+			public const int quality_balanced = 2131689965;
 			
 			// aapt resource value: 0x7F0F01EE
-			public const int quality_super_hd = 2131689966;
-			
-			// aapt resource value: 0x7F0F01F5
-			public const int querying_camera_text = 2131689973;
+			public const int quality_flunet = 2131689966;
 			
 			// aapt resource value: 0x7F0F01EF
-			public const int query_camera_fail = 2131689967;
+			public const int quality_hd = 2131689967;
 			
 			// aapt resource value: 0x7F0F01F0
-			public const int query_camera_fail_network_exception = 2131689968;
-			
-			// aapt resource value: 0x7F0F01F1
-			public const int query_camera_fail_network_exception_or_server_exception = 2131689969;
-			
-			// aapt resource value: 0x7F0F01F2
-			public const int query_camera_fail_not_exit = 2131689970;
-			
-			// aapt resource value: 0x7F0F01F3
-			public const int query_camera_fail_repeat_error = 2131689971;
-			
-			// aapt resource value: 0x7F0F01F4
-			public const int query_camera_fail_server_exception = 2131689972;
+			public const int quality_super_hd = 2131689968;
 			
 			// aapt resource value: 0x7F0F01F7
-			public const int readed = 2131689975;
+			public const int querying_camera_text = 2131689975;
+			
+			// aapt resource value: 0x7F0F01F1
+			public const int query_camera_fail = 2131689969;
+			
+			// aapt resource value: 0x7F0F01F2
+			public const int query_camera_fail_network_exception = 2131689970;
+			
+			// aapt resource value: 0x7F0F01F3
+			public const int query_camera_fail_network_exception_or_server_exception = 2131689971;
+			
+			// aapt resource value: 0x7F0F01F4
+			public const int query_camera_fail_not_exit = 2131689972;
+			
+			// aapt resource value: 0x7F0F01F5
+			public const int query_camera_fail_repeat_error = 2131689973;
 			
 			// aapt resource value: 0x7F0F01F6
-			public const int read_privacy_policy_and_service_agreement_tip = 2131689974;
-			
-			// aapt resource value: 0x7F0F01F8
-			public const int realplay = 2131689976;
+			public const int query_camera_fail_server_exception = 2131689974;
 			
 			// aapt resource value: 0x7F0F01F9
-			public const int realplay_close_sound_localization_fail = 2131689977;
+			public const int readed = 2131689977;
+			
+			// aapt resource value: 0x7F0F01F8
+			public const int read_privacy_policy_and_service_agreement_tip = 2131689976;
 			
 			// aapt resource value: 0x7F0F01FA
-			public const int realplay_encrypt_password_error_message = 2131689978;
+			public const int realplay = 2131689978;
 			
 			// aapt resource value: 0x7F0F01FB
-			public const int realplay_encrypt_password_error_title = 2131689979;
+			public const int realplay_close_sound_localization_fail = 2131689979;
 			
 			// aapt resource value: 0x7F0F01FC
-			public const int realplay_fail_connect_device = 2131689980;
+			public const int realplay_encrypt_password_error_message = 2131689980;
 			
 			// aapt resource value: 0x7F0F01FD
-			public const int realplay_fail_device_not_exist = 2131689981;
+			public const int realplay_encrypt_password_error_title = 2131689981;
 			
 			// aapt resource value: 0x7F0F01FE
-			public const int realplay_full_talk_start_tip = 2131689982;
+			public const int realplay_fail_connect_device = 2131689982;
 			
 			// aapt resource value: 0x7F0F01FF
-			public const int realplay_loading = 2131689983;
+			public const int realplay_fail_device_not_exist = 2131689983;
 			
 			// aapt resource value: 0x7F0F0200
-			public const int realplay_login_password_error = 2131689984;
+			public const int realplay_full_talk_start_tip = 2131689984;
 			
 			// aapt resource value: 0x7F0F0201
-			public const int realplay_login_password_msg = 2131689985;
+			public const int realplay_loading = 2131689985;
 			
 			// aapt resource value: 0x7F0F0202
-			public const int realplay_no_encrypt_password_error = 2131689986;
+			public const int realplay_login_password_error = 2131689986;
 			
 			// aapt resource value: 0x7F0F0203
-			public const int realplay_no_permission = 2131689987;
+			public const int realplay_login_password_msg = 2131689987;
 			
 			// aapt resource value: 0x7F0F0204
-			public const int realplay_open_sound_localization_fail = 2131689988;
+			public const int realplay_no_encrypt_password_error = 2131689988;
 			
 			// aapt resource value: 0x7F0F0205
-			public const int realplay_password_error_message1 = 2131689989;
+			public const int realplay_no_permission = 2131689989;
 			
 			// aapt resource value: 0x7F0F0206
-			public const int realplay_password_error_message3 = 2131689990;
+			public const int realplay_open_sound_localization_fail = 2131689990;
 			
 			// aapt resource value: 0x7F0F0207
-			public const int realplay_password_error_message4 = 2131689991;
+			public const int realplay_password_error_message1 = 2131689991;
 			
 			// aapt resource value: 0x7F0F0208
-			public const int realplay_password_error_title = 2131689992;
+			public const int realplay_password_error_message3 = 2131689992;
 			
 			// aapt resource value: 0x7F0F0209
-			public const int realplay_play_fail = 2131689993;
+			public const int realplay_password_error_message4 = 2131689993;
 			
 			// aapt resource value: 0x7F0F020A
-			public const int realplay_play_fail_becauseof_network = 2131689994;
+			public const int realplay_password_error_title = 2131689994;
 			
 			// aapt resource value: 0x7F0F020B
-			public const int realplay_play_no_video_source = 2131689995;
+			public const int realplay_play_fail = 2131689995;
 			
 			// aapt resource value: 0x7F0F020C
-			public const int realplay_play_talkback_fail = 2131689996;
+			public const int realplay_play_fail_becauseof_network = 2131689996;
 			
 			// aapt resource value: 0x7F0F020D
-			public const int realplay_play_talkback_fail_ison = 2131689997;
+			public const int realplay_play_no_video_source = 2131689997;
 			
 			// aapt resource value: 0x7F0F020E
-			public const int realplay_play_talkback_fail_privacy = 2131689998;
+			public const int realplay_play_talkback_fail = 2131689998;
 			
 			// aapt resource value: 0x7F0F020F
-			public const int realplay_play_talkback_network_exception = 2131689999;
+			public const int realplay_play_talkback_fail_ison = 2131689999;
 			
 			// aapt resource value: 0x7F0F0210
-			public const int realplay_play_talkback_request_timeout = 2131690000;
+			public const int realplay_play_talkback_fail_privacy = 2131690000;
 			
 			// aapt resource value: 0x7F0F0211
-			public const int realplay_set_fail_network = 2131690001;
+			public const int realplay_play_talkback_network_exception = 2131690001;
 			
 			// aapt resource value: 0x7F0F0212
-			public const int realplay_set_fail_status = 2131690002;
+			public const int realplay_play_talkback_request_timeout = 2131690002;
 			
 			// aapt resource value: 0x7F0F0213
-			public const int realplay_set_vediomode_fail = 2131690003;
+			public const int realplay_set_fail_network = 2131690003;
 			
 			// aapt resource value: 0x7F0F0214
-			public const int realplay_share_no_permission = 2131690004;
+			public const int realplay_set_fail_status = 2131690004;
 			
 			// aapt resource value: 0x7F0F0215
-			public const int realplay_share_time_over = 2131690005;
+			public const int realplay_set_vediomode_fail = 2131690005;
 			
 			// aapt resource value: 0x7F0F0216
-			public const int realplay_verifycode_error_message0 = 2131690006;
+			public const int realplay_share_no_permission = 2131690006;
 			
 			// aapt resource value: 0x7F0F0217
-			public const int realplay_verifycode_error_placehold = 2131690007;
+			public const int realplay_share_time_over = 2131690007;
 			
 			// aapt resource value: 0x7F0F0218
-			public const int receice_leave_msg_audio = 2131690008;
+			public const int realplay_verifycode_error_message0 = 2131690008;
 			
 			// aapt resource value: 0x7F0F0219
-			public const int receice_leave_msg_video = 2131690009;
+			public const int realplay_verifycode_error_placehold = 2131690009;
 			
 			// aapt resource value: 0x7F0F021A
-			public const int record = 2131690010;
+			public const int receice_leave_msg_audio = 2131690010;
 			
 			// aapt resource value: 0x7F0F021B
-			public const int refresh = 2131690011;
+			public const int receice_leave_msg_video = 2131690011;
 			
 			// aapt resource value: 0x7F0F021C
-			public const int refresh_empty_hint = 2131690012;
+			public const int record = 2131690012;
 			
 			// aapt resource value: 0x7F0F021D
-			public const int refresh_fail_hint = 2131690013;
-			
-			// aapt resource value: 0x7F0F021F
-			public const int remoteplayback_capture_fail = 2131690015;
-			
-			// aapt resource value: 0x7F0F0220
-			public const int remoteplayback_capture_fail_for_memory = 2131690016;
-			
-			// aapt resource value: 0x7F0F0221
-			public const int remoteplayback_connect_device_error = 2131690017;
-			
-			// aapt resource value: 0x7F0F0222
-			public const int remoteplayback_connect_server_error = 2131690018;
-			
-			// aapt resource value: 0x7F0F0223
-			public const int remoteplayback_fail = 2131690019;
-			
-			// aapt resource value: 0x7F0F0224
-			public const int remoteplayback_norecordfile = 2131690020;
-			
-			// aapt resource value: 0x7F0F0225
-			public const int remoteplayback_norecordfile_alarm = 2131690021;
-			
-			// aapt resource value: 0x7F0F0226
-			public const int remoteplayback_over_link = 2131690022;
-			
-			// aapt resource value: 0x7F0F0227
-			public const int remoteplayback_record_fail = 2131690023;
-			
-			// aapt resource value: 0x7F0F0228
-			public const int remoteplayback_record_fail_for_memory = 2131690024;
+			public const int refresh = 2131690013;
 			
 			// aapt resource value: 0x7F0F021E
-			public const int remoteplayback_SDCard_disable_use = 2131690014;
+			public const int refresh_empty_hint = 2131690014;
+			
+			// aapt resource value: 0x7F0F021F
+			public const int refresh_fail_hint = 2131690015;
+			
+			// aapt resource value: 0x7F0F0221
+			public const int remoteplayback_capture_fail = 2131690017;
+			
+			// aapt resource value: 0x7F0F0222
+			public const int remoteplayback_capture_fail_for_memory = 2131690018;
+			
+			// aapt resource value: 0x7F0F0223
+			public const int remoteplayback_connect_device_error = 2131690019;
+			
+			// aapt resource value: 0x7F0F0224
+			public const int remoteplayback_connect_server_error = 2131690020;
+			
+			// aapt resource value: 0x7F0F0225
+			public const int remoteplayback_fail = 2131690021;
+			
+			// aapt resource value: 0x7F0F0226
+			public const int remoteplayback_norecordfile = 2131690022;
+			
+			// aapt resource value: 0x7F0F0227
+			public const int remoteplayback_norecordfile_alarm = 2131690023;
+			
+			// aapt resource value: 0x7F0F0228
+			public const int remoteplayback_over_link = 2131690024;
 			
 			// aapt resource value: 0x7F0F0229
-			public const int remoteplayback_searchfile_fail_for_device = 2131690025;
+			public const int remoteplayback_record_fail = 2131690025;
 			
 			// aapt resource value: 0x7F0F022A
-			public const int remoteplayback_searchfile_fail_for_network = 2131690026;
+			public const int remoteplayback_record_fail_for_memory = 2131690026;
+			
+			// aapt resource value: 0x7F0F0220
+			public const int remoteplayback_SDCard_disable_use = 2131690016;
 			
 			// aapt resource value: 0x7F0F022B
-			public const int reset_10_sec_to_release = 2131690027;
+			public const int remoteplayback_searchfile_fail_for_device = 2131690027;
 			
 			// aapt resource value: 0x7F0F022C
-			public const int reset_device = 2131690028;
+			public const int remoteplayback_searchfile_fail_for_network = 2131690028;
 			
 			// aapt resource value: 0x7F0F022D
-			public const int result_txt = 2131690029;
+			public const int reset_10_sec_to_release = 2131690029;
 			
 			// aapt resource value: 0x7F0F022E
-			public const int retry = 2131690030;
-			
-			// aapt resource value: 0x7F0F0230
-			public const int router = 2131690032;
+			public const int reset_device = 2131690030;
 			
 			// aapt resource value: 0x7F0F022F
-			public const int route_status_light = 2131690031;
+			public const int result_txt = 2131690031;
 			
-			// aapt resource value: 0x7F0F0231
-			public const int sadp_activate_state1 = 2131690033;
+			// aapt resource value: 0x7F0F0230
+			public const int retry = 2131690032;
 			
 			// aapt resource value: 0x7F0F0232
-			public const int sadp_activate_state2 = 2131690034;
+			public const int router = 2131690034;
+			
+			// aapt resource value: 0x7F0F0231
+			public const int route_status_light = 2131690033;
 			
 			// aapt resource value: 0x7F0F0233
-			public const int sadp_password_input_hint = 2131690035;
+			public const int sadp_activate_state1 = 2131690035;
 			
 			// aapt resource value: 0x7F0F0234
-			public const int sadp_password_toast = 2131690036;
+			public const int sadp_activate_state2 = 2131690036;
 			
 			// aapt resource value: 0x7F0F0235
-			public const int sadp_password_too_weak = 2131690037;
+			public const int sadp_password_input_hint = 2131690037;
 			
 			// aapt resource value: 0x7F0F0236
-			public const int sadp_quit_activate = 2131690038;
+			public const int sadp_password_toast = 2131690038;
 			
 			// aapt resource value: 0x7F0F0237
-			public const int save_encrypt_password_fail_network_exception = 2131690039;
+			public const int sadp_password_too_weak = 2131690039;
 			
 			// aapt resource value: 0x7F0F0238
-			public const int scan_add = 2131690040;
+			public const int sadp_quit_activate = 2131690040;
 			
 			// aapt resource value: 0x7F0F0239
-			public const int scan_connet_network = 2131690041;
+			public const int save_encrypt_password_fail_network_exception = 2131690041;
 			
 			// aapt resource value: 0x7F0F023A
-			public const int scan_cue_txt = 2131690042;
+			public const int scan_add = 2131690042;
 			
 			// aapt resource value: 0x7F0F023B
-			public const int scan_device_add_by_others = 2131690043;
+			public const int scan_connet_network = 2131690043;
 			
 			// aapt resource value: 0x7F0F023C
-			public const int scan_device_search = 2131690044;
+			public const int scan_cue_txt = 2131690044;
 			
 			// aapt resource value: 0x7F0F023D
-			public const int scan_device_serial_no = 2131690045;
+			public const int scan_device_add_by_others = 2131690045;
 			
 			// aapt resource value: 0x7F0F023E
-			public const int scan_network_unavailible = 2131690046;
+			public const int scan_device_search = 2131690046;
 			
 			// aapt resource value: 0x7F0F023F
-			public const int scan_probe_qrcode_error = 2131690047;
+			public const int scan_device_serial_no = 2131690047;
 			
 			// aapt resource value: 0x7F0F0240
-			public const int scan_search_probe_qrcode = 2131690048;
+			public const int scan_network_unavailible = 2131690048;
 			
 			// aapt resource value: 0x7F0F0241
-			public const int scan_title_txt = 2131690049;
+			public const int scan_probe_qrcode_error = 2131690049;
 			
 			// aapt resource value: 0x7F0F0242
-			public const int screenshot_fail = 2131690050;
+			public const int scan_search_probe_qrcode = 2131690050;
 			
 			// aapt resource value: 0x7F0F0243
-			public const int screenshot_success = 2131690051;
+			public const int scan_title_txt = 2131690051;
 			
 			// aapt resource value: 0x7F0F0244
-			public const int sdk_is_init = 2131690052;
+			public const int screenshot_fail = 2131690052;
 			
 			// aapt resource value: 0x7F0F0245
-			public const int search = 2131690053;
+			public const int screenshot_success = 2131690053;
 			
 			// aapt resource value: 0x7F0F0246
-			public const int search_menu_title = 2131690054;
+			public const int sdk_is_init = 2131690054;
 			
 			// aapt resource value: 0x7F0F0247
-			public const int secure_validate = 2131690055;
-			
-			// aapt resource value: 0x7F0F0249
-			public const int secure_validatee_fail = 2131690057;
+			public const int search = 2131690055;
 			
 			// aapt resource value: 0x7F0F0248
-			public const int secure_validate_success = 2131690056;
+			public const int search_menu_title = 2131690056;
 			
-			// aapt resource value: 0x7F0F024A
-			public const int seek_camera_fail_device_not_support_shipin7 = 2131690058;
+			// aapt resource value: 0x7F0F0249
+			public const int secure_validate = 2131690057;
 			
 			// aapt resource value: 0x7F0F024B
-			public const int select_all = 2131690059;
+			public const int secure_validatee_fail = 2131690059;
+			
+			// aapt resource value: 0x7F0F024A
+			public const int secure_validate_success = 2131690058;
 			
 			// aapt resource value: 0x7F0F024C
-			public const int select_date = 2131690060;
+			public const int seek_camera_fail_device_not_support_shipin7 = 2131690060;
 			
 			// aapt resource value: 0x7F0F024D
-			public const int serial_add_hint = 2131690061;
+			public const int select_all = 2131690061;
 			
 			// aapt resource value: 0x7F0F024E
-			public const int serial_add_password_error_title = 2131690062;
+			public const int select_date = 2131690062;
 			
 			// aapt resource value: 0x7F0F024F
-			public const int serial_input_text = 2131690063;
+			public const int serial_add_hint = 2131690063;
 			
 			// aapt resource value: 0x7F0F0250
-			public const int serial_number_error = 2131690064;
+			public const int serial_add_password_error_title = 2131690064;
 			
 			// aapt resource value: 0x7F0F0251
-			public const int serial_number_is_null = 2131690065;
+			public const int serial_input_text = 2131690065;
 			
 			// aapt resource value: 0x7F0F0252
-			public const int serial_number_put_the_right_no = 2131690066;
+			public const int serial_number_error = 2131690066;
 			
 			// aapt resource value: 0x7F0F0253
-			public const int server_area = 2131690067;
-			
-			// aapt resource value: 0x7F0F0258
-			public const int setting = 2131690072;
-			
-			// aapt resource value: 0x7F0F0259
-			public const int setting_video_level = 2131690073;
+			public const int serial_number_is_null = 2131690067;
 			
 			// aapt resource value: 0x7F0F0254
-			public const int set_defence_plan = 2131690068;
+			public const int serial_number_put_the_right_no = 2131690068;
 			
 			// aapt resource value: 0x7F0F0255
-			public const int set_device_wifi_network_need_reset_the_device = 2131690069;
-			
-			// aapt resource value: 0x7F0F0256
-			public const int set_ptz_flip_fail = 2131690070;
-			
-			// aapt resource value: 0x7F0F0257
-			public const int set_ptz_flip_success = 2131690071;
+			public const int server_area = 2131690069;
 			
 			// aapt resource value: 0x7F0F025A
-			public const int share_devices = 2131690074;
+			public const int setting = 2131690074;
 			
 			// aapt resource value: 0x7F0F025B
-			public const int sms_verify_bind_error = 2131690075;
+			public const int setting_video_level = 2131690075;
+			
+			// aapt resource value: 0x7F0F0256
+			public const int set_defence_plan = 2131690070;
+			
+			// aapt resource value: 0x7F0F0257
+			public const int set_device_wifi_network_need_reset_the_device = 2131690071;
+			
+			// aapt resource value: 0x7F0F0258
+			public const int set_ptz_flip_fail = 2131690072;
+			
+			// aapt resource value: 0x7F0F0259
+			public const int set_ptz_flip_success = 2131690073;
 			
 			// aapt resource value: 0x7F0F025C
-			public const int sms_verify_code_received = 2131690076;
+			public const int share_devices = 2131690076;
 			
 			// aapt resource value: 0x7F0F025D
-			public const int source_detection_off = 2131690077;
+			public const int sms_verify_bind_error = 2131690077;
 			
 			// aapt resource value: 0x7F0F025E
-			public const int source_detection_on = 2131690078;
+			public const int sms_verify_code_received = 2131690078;
 			
 			// aapt resource value: 0x7F0F025F
-			public const int specified_device = 2131690079;
+			public const int source_detection_off = 2131690079;
 			
 			// aapt resource value: 0x7F0F0260
-			public const int srl_component_falsify = 2131690080;
+			public const int source_detection_on = 2131690080;
 			
 			// aapt resource value: 0x7F0F0261
-			public const int srl_content_empty = 2131690081;
+			public const int specified_device = 2131690081;
 			
 			// aapt resource value: 0x7F0F0262
-			public const int srl_footer_failed = 2131690082;
+			public const int srl_component_falsify = 2131690082;
 			
 			// aapt resource value: 0x7F0F0263
-			public const int srl_footer_finish = 2131690083;
+			public const int srl_content_empty = 2131690083;
 			
 			// aapt resource value: 0x7F0F0264
-			public const int srl_footer_loading = 2131690084;
+			public const int srl_footer_failed = 2131690084;
 			
 			// aapt resource value: 0x7F0F0265
-			public const int srl_footer_nothing = 2131690085;
+			public const int srl_footer_finish = 2131690085;
 			
 			// aapt resource value: 0x7F0F0266
-			public const int srl_footer_pulling = 2131690086;
+			public const int srl_footer_loading = 2131690086;
 			
 			// aapt resource value: 0x7F0F0267
-			public const int srl_footer_refreshing = 2131690087;
+			public const int srl_footer_nothing = 2131690087;
 			
 			// aapt resource value: 0x7F0F0268
-			public const int srl_footer_release = 2131690088;
+			public const int srl_footer_pulling = 2131690088;
 			
 			// aapt resource value: 0x7F0F0269
-			public const int srl_header_failed = 2131690089;
+			public const int srl_footer_refreshing = 2131690089;
 			
 			// aapt resource value: 0x7F0F026A
-			public const int srl_header_finish = 2131690090;
+			public const int srl_footer_release = 2131690090;
 			
 			// aapt resource value: 0x7F0F026B
-			public const int srl_header_loading = 2131690091;
+			public const int srl_header_failed = 2131690091;
 			
 			// aapt resource value: 0x7F0F026C
-			public const int srl_header_pulling = 2131690092;
+			public const int srl_header_finish = 2131690092;
 			
 			// aapt resource value: 0x7F0F026D
-			public const int srl_header_refreshing = 2131690093;
+			public const int srl_header_loading = 2131690093;
 			
 			// aapt resource value: 0x7F0F026E
-			public const int srl_header_release = 2131690094;
+			public const int srl_header_pulling = 2131690094;
 			
 			// aapt resource value: 0x7F0F026F
-			public const int srl_header_secondary = 2131690095;
+			public const int srl_header_refreshing = 2131690095;
 			
 			// aapt resource value: 0x7F0F0270
-			public const int srl_header_update = 2131690096;
+			public const int srl_header_release = 2131690096;
 			
 			// aapt resource value: 0x7F0F0271
-			public const int start_cloud = 2131690097;
+			public const int srl_header_secondary = 2131690097;
 			
 			// aapt resource value: 0x7F0F0272
-			public const int start_to_experience = 2131690098;
+			public const int srl_header_update = 2131690098;
 			
 			// aapt resource value: 0x7F0F0273
-			public const int start_voice_talk = 2131690099;
+			public const int start_cloud = 2131690099;
 			
 			// aapt resource value: 0x7F0F0274
-			public const int status_bar_notification_info_overflow = 2131690100;
+			public const int start_to_experience = 2131690100;
 			
 			// aapt resource value: 0x7F0F0275
-			public const int step3_adding_device_to_account = 2131690101;
+			public const int start_voice_talk = 2131690101;
 			
 			// aapt resource value: 0x7F0F0276
-			public const int storage_status = 2131690102;
+			public const int status_bar_notification_info_overflow = 2131690102;
 			
 			// aapt resource value: 0x7F0F0277
-			public const int stream_type = 2131690103;
-			
-			// aapt resource value: 0x7F0F027A
-			public const int string_apiurl = 2131690106;
+			public const int step3_adding_device_to_account = 2131690103;
 			
 			// aapt resource value: 0x7F0F0278
-			public const int string_ap_connection = 2131690104;
+			public const int storage_status = 2131690104;
 			
 			// aapt resource value: 0x7F0F0279
-			public const int string_ap_connection_normal = 2131690105;
-			
-			// aapt resource value: 0x7F0F027B
-			public const int string_authurl = 2131690107;
-			
-			// aapt resource value: 0x7F0F027D
-			public const int string_deviceserial = 2131690109;
+			public const int stream_type = 2131690105;
 			
 			// aapt resource value: 0x7F0F027C
-			public const int string_device_network_mode = 2131690108;
+			public const int string_apiurl = 2131690108;
 			
-			// aapt resource value: 0x7F0F027E
-			public const int string_ezopenurl = 2131690110;
+			// aapt resource value: 0x7F0F027A
+			public const int string_ap_connection = 2131690106;
+			
+			// aapt resource value: 0x7F0F027B
+			public const int string_ap_connection_normal = 2131690107;
+			
+			// aapt resource value: 0x7F0F027D
+			public const int string_authurl = 2131690109;
 			
 			// aapt resource value: 0x7F0F027F
-			public const int string_get_device_version_fail = 2131690111;
+			public const int string_deviceserial = 2131690111;
+			
+			// aapt resource value: 0x7F0F027E
+			public const int string_device_network_mode = 2131690110;
 			
 			// aapt resource value: 0x7F0F0280
-			public const int string_smart_and_sound_wave_connection = 2131690112;
+			public const int string_ezopenurl = 2131690112;
 			
 			// aapt resource value: 0x7F0F0281
-			public const int string_smart_connection = 2131690113;
+			public const int string_get_device_version_fail = 2131690113;
 			
 			// aapt resource value: 0x7F0F0282
-			public const int string_smart_connection_normal = 2131690114;
+			public const int string_smart_and_sound_wave_connection = 2131690114;
 			
 			// aapt resource value: 0x7F0F0283
-			public const int string_sound_wave_connection = 2131690115;
+			public const int string_smart_connection = 2131690115;
 			
 			// aapt resource value: 0x7F0F0284
-			public const int string_wired_connection = 2131690116;
+			public const int string_smart_connection_normal = 2131690116;
 			
 			// aapt resource value: 0x7F0F0285
-			public const int submit_secure_validate = 2131690117;
+			public const int string_sound_wave_connection = 2131690117;
 			
 			// aapt resource value: 0x7F0F0286
-			public const int submit_sms_code = 2131690118;
+			public const int string_wired_connection = 2131690118;
 			
 			// aapt resource value: 0x7F0F0287
-			public const int switch_to_handset = 2131690119;
+			public const int submit_secure_validate = 2131690119;
 			
 			// aapt resource value: 0x7F0F0288
-			public const int switch_to_speaker = 2131690120;
+			public const int submit_sms_code = 2131690120;
 			
 			// aapt resource value: 0x7F0F0289
-			public const int system_default_channel = 2131690121;
+			public const int switch_to_handset = 2131690121;
 			
 			// aapt resource value: 0x7F0F028A
-			public const int tab_more = 2131690122;
+			public const int switch_to_speaker = 2131690122;
 			
 			// aapt resource value: 0x7F0F028B
-			public const int talk = 2131690123;
-			
-			// aapt resource value: 0x7F0F028E
-			public const int talking = 2131690126;
+			public const int system_default_channel = 2131690123;
 			
 			// aapt resource value: 0x7F0F028C
-			public const int talk_open_failed = 2131690124;
+			public const int tab_more = 2131690124;
 			
 			// aapt resource value: 0x7F0F028D
-			public const int talk_open_success = 2131690125;
-			
-			// aapt resource value: 0x7F0F028F
-			public const int tip_heard_voice = 2131690127;
+			public const int talk = 2131690125;
 			
 			// aapt resource value: 0x7F0F0290
-			public const int tip_login_out = 2131690128;
+			public const int talking = 2131690128;
+			
+			// aapt resource value: 0x7F0F028E
+			public const int talk_open_failed = 2131690126;
+			
+			// aapt resource value: 0x7F0F028F
+			public const int talk_open_success = 2131690127;
 			
 			// aapt resource value: 0x7F0F0291
-			public const int tip_of_added_by_yourself_and_online = 2131690129;
+			public const int tip_heard_voice = 2131690129;
 			
 			// aapt resource value: 0x7F0F0292
-			public const int tip_of_bad_net = 2131690130;
+			public const int tip_login_out = 2131690130;
 			
 			// aapt resource value: 0x7F0F0293
-			public const int tip_playback_again = 2131690131;
+			public const int tip_of_added_by_yourself_and_online = 2131690131;
 			
 			// aapt resource value: 0x7F0F0294
-			public const int tip_specified_device = 2131690132;
+			public const int tip_of_bad_net = 2131690132;
 			
 			// aapt resource value: 0x7F0F0295
-			public const int title_activate_device = 2131690133;
+			public const int tip_playback_again = 2131690133;
 			
 			// aapt resource value: 0x7F0F0296
-			public const int title_activate_device_fail = 2131690134;
+			public const int tip_specified_device = 2131690134;
 			
 			// aapt resource value: 0x7F0F0297
-			public const int title_activity_connect_device_wifi = 2131690135;
+			public const int title_activate_device = 2131690135;
 			
 			// aapt resource value: 0x7F0F0298
-			public const int title_activity_ezupgrade_device = 2131690136;
+			public const int title_activate_device_fail = 2131690136;
 			
 			// aapt resource value: 0x7F0F0299
-			public const int today = 2131690137;
+			public const int title_activity_connect_device_wifi = 2131690137;
 			
 			// aapt resource value: 0x7F0F029A
-			public const int touch_fingerprint_sensor_hint = 2131690138;
+			public const int title_activity_ezupgrade_device = 2131690138;
 			
 			// aapt resource value: 0x7F0F029B
-			public const int touch_to_load = 2131690139;
+			public const int today = 2131690139;
 			
 			// aapt resource value: 0x7F0F029C
-			public const int try_again = 2131690140;
+			public const int touch_fingerprint_sensor_hint = 2131690140;
 			
 			// aapt resource value: 0x7F0F029D
-			public const int ui_call_demo_txt = 2131690141;
+			public const int touch_to_load = 2131690141;
 			
 			// aapt resource value: 0x7F0F029E
-			public const int unable_identify_two_dimensional_code_tip = 2131690142;
+			public const int try_again = 2131690142;
 			
 			// aapt resource value: 0x7F0F029F
-			public const int unbind_to_bind = 2131690143;
+			public const int ui_call_demo_txt = 2131690143;
 			
 			// aapt resource value: 0x7F0F02A0
-			public const int unknow_ssid = 2131690144;
+			public const int unable_identify_two_dimensional_code_tip = 2131690144;
 			
 			// aapt resource value: 0x7F0F02A1
-			public const int unlock_fail = 2131690145;
+			public const int unbind_to_bind = 2131690145;
 			
 			// aapt resource value: 0x7F0F02A2
-			public const int unlock_success = 2131690146;
+			public const int unknow_ssid = 2131690146;
 			
 			// aapt resource value: 0x7F0F02A3
-			public const int unnamed = 2131690147;
+			public const int unlock_fail = 2131690147;
 			
 			// aapt resource value: 0x7F0F02A4
-			public const int update_exit = 2131690148;
+			public const int unlock_success = 2131690148;
 			
 			// aapt resource value: 0x7F0F02A5
-			public const int upgrade = 2131690149;
+			public const int unnamed = 2131690149;
 			
 			// aapt resource value: 0x7F0F02A6
-			public const int upgrade_fail = 2131690150;
+			public const int update_exit = 2131690150;
 			
 			// aapt resource value: 0x7F0F02A7
-			public const int upgrade_progress = 2131690151;
+			public const int upgrade = 2131690151;
 			
 			// aapt resource value: 0x7F0F02A8
-			public const int upgrade_success = 2131690152;
+			public const int upgrade_fail = 2131690152;
 			
 			// aapt resource value: 0x7F0F02A9
-			public const int upgrade_success_progress = 2131690153;
-			
-			// aapt resource value: 0x7F0F02AE
-			public const int upsdk_appstore_install = 2131690158;
-			
-			// aapt resource value: 0x7F0F02AF
-			public const int upsdk_apptouch_store_url = 2131690159;
+			public const int upgrade_progress = 2131690153;
 			
 			// aapt resource value: 0x7F0F02AA
-			public const int upsdk_app_download_info_new = 2131690154;
+			public const int upgrade_success = 2131690154;
 			
 			// aapt resource value: 0x7F0F02AB
-			public const int upsdk_app_download_installing = 2131690155;
-			
-			// aapt resource value: 0x7F0F02AC
-			public const int upsdk_app_size = 2131690156;
-			
-			// aapt resource value: 0x7F0F02AD
-			public const int upsdk_app_version = 2131690157;
+			public const int upgrade_success_progress = 2131690155;
 			
 			// aapt resource value: 0x7F0F02B0
-			public const int upsdk_cancel = 2131690160;
+			public const int upsdk_appstore_install = 2131690160;
 			
 			// aapt resource value: 0x7F0F02B1
-			public const int upsdk_checking_update_prompt = 2131690161;
+			public const int upsdk_apptouch_store_url = 2131690161;
+			
+			// aapt resource value: 0x7F0F02AC
+			public const int upsdk_app_download_info_new = 2131690156;
+			
+			// aapt resource value: 0x7F0F02AD
+			public const int upsdk_app_download_installing = 2131690157;
+			
+			// aapt resource value: 0x7F0F02AE
+			public const int upsdk_app_size = 2131690158;
+			
+			// aapt resource value: 0x7F0F02AF
+			public const int upsdk_app_version = 2131690159;
 			
 			// aapt resource value: 0x7F0F02B2
-			public const int upsdk_choice_update = 2131690162;
+			public const int upsdk_cancel = 2131690162;
 			
 			// aapt resource value: 0x7F0F02B3
-			public const int upsdk_detail = 2131690163;
+			public const int upsdk_checking_update_prompt = 2131690163;
 			
 			// aapt resource value: 0x7F0F02B4
-			public const int upsdk_getting_message_fail_prompt_toast = 2131690164;
+			public const int upsdk_choice_update = 2131690164;
 			
 			// aapt resource value: 0x7F0F02B5
-			public const int upsdk_mobile_dld_warn = 2131690165;
+			public const int upsdk_detail = 2131690165;
 			
 			// aapt resource value: 0x7F0F02B6
-			public const int upsdk_no_available_network_prompt_toast = 2131690166;
+			public const int upsdk_getting_message_fail_prompt_toast = 2131690166;
 			
 			// aapt resource value: 0x7F0F02B7
-			public const int upsdk_ota_app_name = 2131690167;
+			public const int upsdk_mobile_dld_warn = 2131690167;
 			
 			// aapt resource value: 0x7F0F02B8
-			public const int upsdk_ota_cancel = 2131690168;
+			public const int upsdk_no_available_network_prompt_toast = 2131690168;
 			
 			// aapt resource value: 0x7F0F02B9
-			public const int upsdk_ota_force_cancel_new = 2131690169;
+			public const int upsdk_ota_app_name = 2131690169;
 			
 			// aapt resource value: 0x7F0F02BA
-			public const int upsdk_ota_notify_updatebtn = 2131690170;
+			public const int upsdk_ota_cancel = 2131690170;
 			
 			// aapt resource value: 0x7F0F02BB
-			public const int upsdk_ota_title = 2131690171;
+			public const int upsdk_ota_force_cancel_new = 2131690171;
 			
 			// aapt resource value: 0x7F0F02BC
-			public const int upsdk_storage_utils = 2131690172;
+			public const int upsdk_ota_notify_updatebtn = 2131690172;
 			
 			// aapt resource value: 0x7F0F02BD
-			public const int upsdk_store_url = 2131690173;
+			public const int upsdk_ota_title = 2131690173;
 			
 			// aapt resource value: 0x7F0F02BE
-			public const int upsdk_third_app_dl_cancel_download_prompt_ex = 2131690174;
+			public const int upsdk_storage_utils = 2131690174;
 			
 			// aapt resource value: 0x7F0F02BF
-			public const int upsdk_third_app_dl_install_failed = 2131690175;
+			public const int upsdk_store_url = 2131690175;
 			
 			// aapt resource value: 0x7F0F02C0
-			public const int upsdk_third_app_dl_sure_cancel_download = 2131690176;
+			public const int upsdk_third_app_dl_cancel_download_prompt_ex = 2131690176;
 			
 			// aapt resource value: 0x7F0F02C1
-			public const int upsdk_update_check_no_new_version = 2131690177;
+			public const int upsdk_third_app_dl_install_failed = 2131690177;
 			
 			// aapt resource value: 0x7F0F02C2
-			public const int user_name_txt = 2131690178;
+			public const int upsdk_third_app_dl_sure_cancel_download = 2131690178;
 			
 			// aapt resource value: 0x7F0F02C3
-			public const int verify_code_error = 2131690179;
+			public const int upsdk_update_check_no_new_version = 2131690179;
 			
 			// aapt resource value: 0x7F0F02C4
-			public const int verify_sms_code_fail = 2131690180;
+			public const int user_name_txt = 2131690180;
 			
 			// aapt resource value: 0x7F0F02C5
-			public const int verify_sms_code_success = 2131690181;
+			public const int verify_code_error = 2131690181;
 			
 			// aapt resource value: 0x7F0F02C6
-			public const int version_newest = 2131690182;
+			public const int verify_sms_code_fail = 2131690182;
 			
 			// aapt resource value: 0x7F0F02C7
-			public const int video_answer = 2131690183;
+			public const int verify_sms_code_success = 2131690183;
 			
 			// aapt resource value: 0x7F0F02C8
-			public const int video_box = 2131690184;
+			public const int version_newest = 2131690184;
 			
 			// aapt resource value: 0x7F0F02C9
-			public const int video_confirm = 2131690185;
+			public const int video_answer = 2131690185;
 			
 			// aapt resource value: 0x7F0F02CA
-			public const int video_device = 2131690186;
+			public const int video_box = 2131690186;
 			
 			// aapt resource value: 0x7F0F02CB
-			public const int video_fail = 2131690187;
+			public const int video_confirm = 2131690187;
 			
 			// aapt resource value: 0x7F0F02CC
-			public const int video_hang_up = 2131690188;
+			public const int video_device = 2131690188;
 			
 			// aapt resource value: 0x7F0F02CD
-			public const int video_icon = 2131690189;
+			public const int video_fail = 2131690189;
 			
 			// aapt resource value: 0x7F0F02CE
-			public const int video_not_answer = 2131690190;
+			public const int video_hang_up = 2131690190;
 			
 			// aapt resource value: 0x7F0F02CF
-			public const int video_screenshot = 2131690191;
+			public const int video_icon = 2131690191;
 			
 			// aapt resource value: 0x7F0F02D0
-			public const int video_square = 2131690192;
+			public const int video_not_answer = 2131690192;
 			
 			// aapt resource value: 0x7F0F02D1
-			public const int video_success = 2131690193;
+			public const int video_screenshot = 2131690193;
 			
 			// aapt resource value: 0x7F0F02D2
-			public const int video_talk_call_cancel = 2131690194;
+			public const int video_square = 2131690194;
 			
 			// aapt resource value: 0x7F0F02D3
-			public const int video_talk_call_is_accepted = 2131690195;
+			public const int video_success = 2131690195;
 			
 			// aapt resource value: 0x7F0F02D4
-			public const int video_talk_is_playing = 2131690196;
+			public const int video_talk_call_cancel = 2131690196;
 			
 			// aapt resource value: 0x7F0F02D5
-			public const int video_talk_sdk_toast_hang_up = 2131690197;
+			public const int video_talk_call_is_accepted = 2131690197;
 			
 			// aapt resource value: 0x7F0F02D6
-			public const int video_talk_sdk_toast_nobody = 2131690198;
+			public const int video_talk_is_playing = 2131690198;
 			
 			// aapt resource value: 0x7F0F02D7
-			public const int video_talk_signal_weak = 2131690199;
+			public const int video_talk_sdk_toast_hang_up = 2131690199;
 			
 			// aapt resource value: 0x7F0F02D8
-			public const int video_talk_watch_is_busy = 2131690200;
+			public const int video_talk_sdk_toast_nobody = 2131690200;
 			
 			// aapt resource value: 0x7F0F02D9
-			public const int video_talk_watch_temperature_high_hang = 2131690201;
+			public const int video_talk_signal_weak = 2131690201;
 			
 			// aapt resource value: 0x7F0F02DA
-			public const int video_talk_watch_temperature_high_hint = 2131690202;
+			public const int video_talk_watch_is_busy = 2131690202;
 			
 			// aapt resource value: 0x7F0F02DB
-			public const int video_talk_watch_temperature_high_reject = 2131690203;
+			public const int video_talk_watch_temperature_high_hang = 2131690203;
 			
 			// aapt resource value: 0x7F0F02DC
-			public const int video_talk_watch_temperature_high_warn = 2131690204;
+			public const int video_talk_watch_temperature_high_hint = 2131690204;
 			
 			// aapt resource value: 0x7F0F02DD
-			public const int video_tip = 2131690205;
+			public const int video_talk_watch_temperature_high_reject = 2131690205;
 			
 			// aapt resource value: 0x7F0F02DE
-			public const int video_unlock = 2131690206;
+			public const int video_talk_watch_temperature_high_warn = 2131690206;
 			
 			// aapt resource value: 0x7F0F02DF
-			public const int wait = 2131690207;
+			public const int video_tip = 2131690207;
 			
 			// aapt resource value: 0x7F0F02E0
-			public const int web_login_button_txt = 2131690208;
+			public const int video_unlock = 2131690208;
 			
 			// aapt resource value: 0x7F0F02E1
-			public const int wechat_interconnect = 2131690209;
+			public const int wait = 2131690209;
 			
 			// aapt resource value: 0x7F0F02E2
-			public const int wifi_connected = 2131690210;
+			public const int web_login_button_txt = 2131690210;
 			
 			// aapt resource value: 0x7F0F02E3
-			public const int wifi_connection_finish_need_refresh = 2131690211;
+			public const int wechat_interconnect = 2131690211;
 			
 			// aapt resource value: 0x7F0F02E4
-			public const int wifi_set = 2131690212;
+			public const int wifi_connected = 2131690212;
 			
 			// aapt resource value: 0x7F0F02E5
-			public const int wifi_setting = 2131690213;
+			public const int wifi_connection_finish_need_refresh = 2131690213;
 			
 			// aapt resource value: 0x7F0F02E6
-			public const int wired_connection = 2131690214;
-			
-			// aapt resource value: 0x7F0F02E8
-			public const int xlistview_footer_hint_normal = 2131690216;
+			public const int wifi_set = 2131690214;
 			
 			// aapt resource value: 0x7F0F02E7
-			public const int xlistview_footer_hint_no_more_device = 2131690215;
+			public const int wifi_setting = 2131690215;
 			
-			// aapt resource value: 0x7F0F02E9
-			public const int xlistview_footer_hint_ready = 2131690217;
+			// aapt resource value: 0x7F0F02E8
+			public const int wired_connection = 2131690216;
 			
 			// aapt resource value: 0x7F0F02EA
-			public const int xlistview_footer_no_more = 2131690218;
+			public const int xlistview_footer_hint_normal = 2131690218;
+			
+			// aapt resource value: 0x7F0F02E9
+			public const int xlistview_footer_hint_no_more_device = 2131690217;
 			
 			// aapt resource value: 0x7F0F02EB
-			public const int xlistview_footer_no_more_msg = 2131690219;
+			public const int xlistview_footer_hint_ready = 2131690219;
 			
 			// aapt resource value: 0x7F0F02EC
-			public const int xlistview_header_hint_loading = 2131690220;
+			public const int xlistview_footer_no_more = 2131690220;
 			
 			// aapt resource value: 0x7F0F02ED
-			public const int xlistview_header_hint_more = 2131690221;
+			public const int xlistview_footer_no_more_msg = 2131690221;
 			
 			// aapt resource value: 0x7F0F02EE
-			public const int xlistview_header_hint_normal = 2131690222;
+			public const int xlistview_header_hint_loading = 2131690222;
 			
 			// aapt resource value: 0x7F0F02EF
-			public const int xlistview_header_hint_ready = 2131690223;
+			public const int xlistview_header_hint_more = 2131690223;
 			
 			// aapt resource value: 0x7F0F02F0
-			public const int xlistview_header_last_time = 2131690224;
+			public const int xlistview_header_hint_normal = 2131690224;
 			
 			// aapt resource value: 0x7F0F02F1
-			public const int zxing_app_name = 2131690225;
+			public const int xlistview_header_hint_ready = 2131690225;
 			
 			// aapt resource value: 0x7F0F02F2
-			public const int zxing_button_ok = 2131690226;
+			public const int xlistview_header_last_time = 2131690226;
 			
 			// aapt resource value: 0x7F0F02F3
-			public const int zxing_msg_camera_framework_bug = 2131690227;
+			public const int zxing_app_name = 2131690227;
 			
 			// aapt resource value: 0x7F0F02F4
-			public const int zxing_msg_default_status = 2131690228;
+			public const int zxing_button_ok = 2131690228;
+			
+			// aapt resource value: 0x7F0F02F5
+			public const int zxing_msg_camera_framework_bug = 2131690229;
+			
+			// aapt resource value: 0x7F0F02F6
+			public const int zxing_msg_default_status = 2131690230;
 			
 			static String()
 			{
@@ -14303,6 +14351,9 @@
 			// aapt resource value: 0x7F10013B
 			public const int Theme_Design_NoActionBar = 2131755323;
 			
+			// aapt resource value: 0x7F1001A1
+			public const int time_picker_style = 2131755425;
+			
 			// aapt resource value: 0x7F100143
 			public const int TitleBar_Dark = 2131755331;
 			
@@ -14311,6 +14362,9 @@
 			
 			// aapt resource value: 0x7F100145
 			public const int TitleBar_Light_Web = 2131755333;
+			
+			// aapt resource value: 0x7F1001A2
+			public const int video_dialog = 2131755426;
 			
 			// aapt resource value: 0x7F100146
 			public const int Widget_AppCompat_ActionBar = 2131755334;
@@ -14567,8 +14621,8 @@
 			// aapt resource value: 0x7F10019A
 			public const int Widget_Design_TextInputLayout = 2131755418;
 			
-			// aapt resource value: 0x7F1001A1
-			public const int zxing_CaptureTheme = 2131755425;
+			// aapt resource value: 0x7F1001A3
+			public const int zxing_CaptureTheme = 2131755427;
 			
 			static Style()
 			{
diff --git a/HDL-ON_Android/Resources/values-zh/strings.xml b/HDL-ON_Android/Resources/values-zh/strings.xml
index 52267b1..8bba32d 100644
--- a/HDL-ON_Android/Resources/values-zh/strings.xml
+++ b/HDL-ON_Android/Resources/values-zh/strings.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources>
-	<string name="app_name">On_Pro</string>
+	<string name="app_name">ON_Plus</string>
 	<string name="action_settings">璁剧疆</string>
 	<string name="video_screenshot">鎴浘</string>
 	<string name="video_unlock">寮�閿�</string>
diff --git a/HDL-ON_Android/Scan.cs b/HDL-ON_Android/Scan.cs
index f4f5de5..5748cf2 100644
--- a/HDL-ON_Android/Scan.cs
+++ b/HDL-ON_Android/Scan.cs
@@ -122,6 +122,8 @@
 
         public static byte[] BytesFromText(string text, int width = 300, int height = 300)
         {
+            if (text == "") return null;
+
             var barcodeWriter = new ZXing.Mobile.BarcodeWriter
             {
                 Format = ZXing.BarcodeFormat.QR_CODE,
diff --git a/HDL-ON_Android/SplashActivity.cs b/HDL-ON_Android/SplashActivity.cs
index 3c6626e..bed7401 100644
--- a/HDL-ON_Android/SplashActivity.cs
+++ b/HDL-ON_Android/SplashActivity.cs
@@ -1,4 +1,4 @@
-锘縰sing System;
+锘縰sing System;
 using Android.App;
 using Android.Content;
 using Android.Content.PM;
@@ -86,7 +86,7 @@
             JPushInterface.Init(this);
 
 
-            BaseActivity.OnCreateActoin = (activity, application) =>
+            BaseActivity.OnCreateActoin += (activity, application) =>
             {
                 //鑾峰彇鏋佸厜鎺ㄩ�両D
                 GetJPushRegistrationID(activity);
@@ -138,7 +138,7 @@
                 }
             };
 
-            BaseActivity.OnCreateActoin = (activity, application) =>
+            BaseActivity.OnCreateActoin += (activity, application) =>
             {
                 Language.CurrentLanguage = "Chinese";
                 Locale locale1 = Locale.Default;
@@ -183,7 +183,7 @@
                     HDLCommon.Current.UpdateInternetStatus((int)internetStatus, MainPage.IsEnterBackground);
                 };
             };
-            BaseActivity.RefreshUIAction = (activity) =>
+            BaseActivity.RefreshUIAction += (activity) =>
             {
                 Language.CurrentLanguage = "Chinese";
                 Locale locale1 = Locale.Default;
@@ -208,11 +208,11 @@
                 MainPage.Show();
                 checkSomeInfo();
             };
-            BaseActivity.OnResumeAction = (activity) =>
+            BaseActivity.OnResumeAction += (activity) =>
             {
                 checkSomeInfo();
             };
-            BaseActivity.OnDestroyAction = (activity) =>
+            BaseActivity.OnDestroyAction += (activity) =>
             {
                 Console.WriteLine("OnDestroyAction");
                 //BusSocket.Stop();
@@ -259,7 +259,7 @@
             {
                 //淇濆瓨鑾峰彇鐨勬瀬鍏夋湇鍔″櫒涓婄殑娉ㄥ唽ID鍒版湰鍦版枃浠�
                 var tokenID = JPushInterface.GetRegistrationID(activity);
-                Console.WriteLine("RegistrationID1:  " + tokenID);
+                Console.WriteLine("RegistrationID:  " + tokenID);
                 if (!string.IsNullOrEmpty(tokenID) && OnAppConfig.Instance.PushDeviceToken != tokenID)
                 {
                     OnAppConfig.Instance.PushDeviceToken = tokenID;
@@ -280,7 +280,7 @@
                             break;
                         }
                     }
-                    Console.WriteLine("RegistrationID2:  " + tokenID);
+                    Console.WriteLine("RegistrationID:  " + tokenID);
                     if (!string.IsNullOrEmpty(tokenID) && OnAppConfig.Instance.PushDeviceToken != tokenID)
                     {
                         OnAppConfig.Instance.PushDeviceToken = tokenID;
diff --git a/HDL-ON_Android/VideoActivity.cs b/HDL-ON_Android/VideoActivity.cs
index 385ba73..13a3db5 100644
--- a/HDL-ON_Android/VideoActivity.cs
+++ b/HDL-ON_Android/VideoActivity.cs
@@ -96,7 +96,7 @@
         /// </summary>
         private void Permissions()
         {
-            String[] mPermissionList = new String[]
+            string[] mPermissionList = new string[]
             {
                 Manifest.Permission.WriteExternalStorage,
                 Manifest.Permission.ReadExternalStorage,
@@ -104,7 +104,7 @@
                 Manifest.Permission.RecordAudio
             };
 
-            foreach (String permissions in mPermissionList)
+            foreach (string permissions in mPermissionList)
             {
                 if (ContextCompat.CheckSelfPermission(this, permissions) != 0)
                 {
diff --git a/HDL-ON_iOS/AppDelegate.cs b/HDL-ON_iOS/AppDelegate.cs
index 17392d8..992f0ff 100644
--- a/HDL-ON_iOS/AppDelegate.cs
+++ b/HDL-ON_iOS/AppDelegate.cs
@@ -92,6 +92,14 @@
 
             // Get previous device token
             var oldDeviceToken = NSUserDefaults.StandardUserDefaults.StringForKey("PushDeviceToken");
+            //new Alert("", DeviceToken, "鍙栨秷", "纭畾").Show();
+
+            //NSDictionary test = new NSDictionary(new NSString("123"), new NSString("test"));
+            //NSError error;
+            //NSData dicD = NSJsonSerialization.Serialize(test, NSJsonWritingOptions.PrettyPrinted,out error); ;
+            //NSString str = new NSString(dicD,NSStringEncoding.UTF8);
+
+            //new Alert("", str, "鍙栨秷", "纭畾").Show();
 
             // Has the token changed?
             if (string.IsNullOrEmpty(oldDeviceToken) || !oldDeviceToken.Equals(DeviceToken))
@@ -123,6 +131,14 @@
         public override void DidReceiveRemoteNotification(UIApplication application, NSDictionary userInfo, Action<UIBackgroundFetchResult> completionHandler)
         {
             Console.WriteLine("DidReceiveRemoteNotification:" + application.ApplicationState.ToString());
+
+            Console.WriteLine("鎺ㄩ�佹秷鎭細"+userInfo);
+            //var test = new NSDictionary();
+            //test.SetNilValueForKey(new NSString("test"));
+            //NSError error;
+            //NSData dicD = NSJsonSerialization.Serialize(userInfo, NSJsonWritingOptions.PrettyPrinted, out error); ;
+            //NSString str = new NSString(dicD, NSStringEncoding.UTF8);
+            //new Alert("", str, "鍙栨秷", "纭畾").Show();
 
             //璇诲彇鎺ㄩ�佷俊鎭�
             UIApplication.SharedApplication.ApplicationIconBadgeNumber = 0;
@@ -172,12 +188,18 @@
 
         public override void OnResignActivation(UIApplication application)
         {
+            //璁剧疆鍏ㄨ閫氱姸鎬�
+            Shared.IOS.HDLFVSDK.Video.FVapplicationWillResignActive(application);
+
             Console.WriteLine("OnResignActivation");
             UserInfo.Current.unlockTime = DateTime.Now;
         }
 
         public override void DidEnterBackground(UIApplication application)
         {
+            //璁剧疆鍏ㄨ閫氱姸鎬�
+            Shared.IOS.HDLFVSDK.Video.FVapplicationDidEnterBackground(application);
+
             //SharedMethod.SharedMethod.IsBackground = true;
             //MainPage.IsEnterBackground = true;
             ////杩涘叆鍚庡彴mqtt姝e湪杩炴帴閲嶇疆鐘舵��
@@ -203,6 +225,9 @@
 
         public override void OnActivated(UIApplication application)
         {
+            //璁剧疆鍏ㄨ閫氱姸鎬�
+            Shared.IOS.HDLFVSDK.Video.FVapplicationDidBecomeActive(application);
+
             Console.WriteLine("OnActivated");
             base.OnActivated(application);
             //HDL_ON.DriverLayer.Control.Ins.SearchLoaclGateway();
@@ -254,6 +279,10 @@
 
         public override bool FinishedLaunching(UIApplication application, NSDictionary launchOptions)
         {
+
+            //璁剧疆鍏ㄨ閫氱姸鎬�
+            Shared.IOS.HDLFVSDK.Video.FVapplication(application, new NSDictionary());
+
             Console.WriteLine("111111111111");
             SetCurrentLanguage();
             //Shared.Application.FontSize = 12;
@@ -311,6 +340,7 @@
                     var messageType = "";
                     var expantContent = "";
                     var homeId = "";
+
                     if (userInfo.ContainsKey(new NSString("expandData")))
                     {
                         var expandDataStr = userInfo["expandData"] as NSString;
@@ -337,6 +367,7 @@
                                     Utlis.WriteLine("homeId: " + homeId);
                                 }
 
+
                             }
                         }
                         else
diff --git a/HDL-ON_iOS/HDL-ON_iOS.sln b/HDL-ON_iOS/HDL-ON_iOS.sln
new file mode 100644
index 0000000..540b586
--- /dev/null
+++ b/HDL-ON_iOS/HDL-ON_iOS.sln
@@ -0,0 +1,31 @@
+锘�
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.810.22
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HDL-ON_iOS", "HDL-ON_iOS.csproj", "{D998E133-F0DD-4760-BE3C-461632F54DA4}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|iPhoneSimulator = Debug|iPhoneSimulator
+		Release|iPhoneSimulator = Release|iPhoneSimulator
+		Debug|iPhone = Debug|iPhone
+		Release|iPhone = Release|iPhone
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{D998E133-F0DD-4760-BE3C-461632F54DA4}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
+		{D998E133-F0DD-4760-BE3C-461632F54DA4}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
+		{D998E133-F0DD-4760-BE3C-461632F54DA4}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
+		{D998E133-F0DD-4760-BE3C-461632F54DA4}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
+		{D998E133-F0DD-4760-BE3C-461632F54DA4}.Debug|iPhone.ActiveCfg = Debug|iPhone
+		{D998E133-F0DD-4760-BE3C-461632F54DA4}.Debug|iPhone.Build.0 = Debug|iPhone
+		{D998E133-F0DD-4760-BE3C-461632F54DA4}.Release|iPhone.ActiveCfg = Release|iPhone
+		{D998E133-F0DD-4760-BE3C-461632F54DA4}.Release|iPhone.Build.0 = Release|iPhone
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+	GlobalSection(ExtensibilityGlobals) = postSolution
+		SolutionGuid = {C02ACC50-5824-46E9-9734-E66C965E2174}
+	EndGlobalSection
+EndGlobal
diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/CAC/DataIcon.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/CAC/DataIcon.png
deleted file mode 100644
index 9832d06..0000000
--- a/HDL-ON_iOS/Resources/Phone/FunctionIcon/CAC/DataIcon.png
+++ /dev/null
Binary files differ
diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/CAC/JinMaoIcon.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/CAC/JinMaoIcon.png
deleted file mode 100644
index b5e26bf..0000000
--- a/HDL-ON_iOS/Resources/Phone/FunctionIcon/CAC/JinMaoIcon.png
+++ /dev/null
Binary files differ
diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/hvaccac_blue.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/hvaccac_blue.png
deleted file mode 100644
index addcd70..0000000
--- a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/hvaccac_blue.png
+++ /dev/null
Binary files differ
diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/hvaccac_white.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/hvaccac_white.png
deleted file mode 100644
index c63e9e3..0000000
--- a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/hvaccac_white.png
+++ /dev/null
Binary files differ
diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/sensorhelp_blue.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/sensorhelp_blue.png
deleted file mode 100644
index 7e5e4ac..0000000
--- a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/sensorhelp_blue.png
+++ /dev/null
Binary files differ
diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/sensorhelp_white.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/sensorhelp_white.png
deleted file mode 100644
index 448b3c8..0000000
--- a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/HomeIcon/sensorhelp_white.png
+++ /dev/null
Binary files differ
diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/hvaccac.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/hvaccac.png
deleted file mode 100644
index 5b8b9fa..0000000
--- a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/hvaccac.png
+++ /dev/null
Binary files differ
diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/screenpanel.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/screenpanel.png
deleted file mode 100644
index 56ba0c5..0000000
--- a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/screenpanel.png
+++ /dev/null
Binary files differ
diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/sensorhelp.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/sensorhelp.png
deleted file mode 100644
index cbb1b1c..0000000
--- a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/sensorhelp.png
+++ /dev/null
Binary files differ
diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Panel/PanelEnviBg.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Panel/PanelEnviBg.png
deleted file mode 100644
index d6482d3..0000000
--- a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Panel/PanelEnviBg.png
+++ /dev/null
Binary files differ
diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Panel/PanelHelpAlarmBgIcon.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Panel/PanelHelpAlarmBgIcon.png
deleted file mode 100644
index 72ece8b..0000000
--- a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Panel/PanelHelpAlarmBgIcon.png
+++ /dev/null
Binary files differ
diff --git a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Panel/PanelHelpNormalBgIcon.png b/HDL-ON_iOS/Resources/Phone/FunctionIcon/Panel/PanelHelpNormalBgIcon.png
deleted file mode 100644
index a55c35e..0000000
--- a/HDL-ON_iOS/Resources/Phone/FunctionIcon/Panel/PanelHelpNormalBgIcon.png
+++ /dev/null
Binary files differ
diff --git a/HDL-ON_iOS/Resources/Phone/Public/MsgIcon/AnswerIcon.png b/HDL-ON_iOS/Resources/Phone/Public/MsgIcon/AnswerIcon.png
deleted file mode 100644
index 89096a9..0000000
--- a/HDL-ON_iOS/Resources/Phone/Public/MsgIcon/AnswerIcon.png
+++ /dev/null
Binary files differ
diff --git a/HDL-ON_iOS/Resources/Phone/Public/MsgIcon/CallIcon.png b/HDL-ON_iOS/Resources/Phone/Public/MsgIcon/CallIcon.png
deleted file mode 100644
index 843101e..0000000
--- a/HDL-ON_iOS/Resources/Phone/Public/MsgIcon/CallIcon.png
+++ /dev/null
Binary files differ
diff --git a/HDL-ON_iOS/Resources/Phone/Public/MsgIcon/HangUpIcon.png b/HDL-ON_iOS/Resources/Phone/Public/MsgIcon/HangUpIcon.png
deleted file mode 100644
index e516074..0000000
--- a/HDL-ON_iOS/Resources/Phone/Public/MsgIcon/HangUpIcon.png
+++ /dev/null
Binary files differ
diff --git a/HDL-ON_iOS/Resources/Phone/Public/dialogBg2.png b/HDL-ON_iOS/Resources/Phone/Public/dialogBg2.png
deleted file mode 100644
index 2c28530..0000000
--- a/HDL-ON_iOS/Resources/Phone/Public/dialogBg2.png
+++ /dev/null
Binary files differ
diff --git a/HDL-ON_iOS/mono_crash.824c6d50c.0.json b/HDL-ON_iOS/mono_crash.824c6d50c.0.json
new file mode 100644
index 0000000..c4e1f91
--- /dev/null
+++ b/HDL-ON_iOS/mono_crash.824c6d50c.0.json
@@ -0,0 +1,406 @@
+{
+  "protocol_version" : "0.0.6",
+  "configuration" : {
+    "version" : "(6.12.0.174) (2020-02/adf1bc4335d)",
+    "tlc" : "normal",
+    "sigsgev" : "altstack",
+    "notifications" : "kqueue",
+    "architecture" : "amd64",
+    "disabled_features" : "none",
+    "smallconfig" : "disabled",
+    "bigarrays" : "disabled",
+    "softdebug" : "enabled",
+    "interpreter" : "enabled",
+    "llvm_support" : "0",
+    "suspend" : "hybrid"
+  },
+  "memory" : {
+    "Resident Size" : "181948416",
+    "Virtual Size" : "36274827264",
+    "minor_gc_time" : "5825386",
+    "major_gc_time" : "297980436",
+    "minor_gc_count" : "11",
+    "major_gc_count" : "1669",
+    "major_gc_time_concurrent" : "0"
+ },
+  "threads" : [
+ {
+    "is_managed" : false,
+    "offset_free_hash" : "0x0",
+    "offset_rich_hash" : "0x0",
+    "crashed" : false,
+    "native_thread_id" : "0x11765a600",
+    "thread_info_addr" : "0x7fd13b015000",
+    "thread_name" : "tid_103",
+    "ctx" : {
+      "IP" : "0x7ff805bd19ce",
+      "SP" : "0x7ff7b6f54158",
+      "BP" : "0x7ff7b6f541d0"
+  },
+    "unmanaged_frames" : [
+  {
+      "is_managed" : "false",
+      "native_address" : "0x10905c776",
+      "native_offset" : "0x00000"
+   }
+,
+  {
+      "is_managed" : "false",
+      "native_address" : "0x1091f7fe5",
+      "native_offset" : "0x00000"
+   }
+,
+  {
+      "is_managed" : "false",
+      "native_address" : "0x1091f7d17",
+      "native_offset" : "0x00000"
+   }
+,
+  {
+      "is_managed" : "false",
+      "native_address" : "0x1090c8860",
+      "native_offset" : "0x00000"
+   }
+,
+  {
+      "is_managed" : "false",
+      "native_address" : "0x7ff805c23dfd",
+      "native_offset" : "0x00000"
+   }
+,
+  {
+      "is_managed" : "false",
+      "native_address" : "0x92",
+      "native_offset" : "0x00000"
+   }
+,
+  {
+      "is_managed" : "false",
+      "native_address" : "0x109238c47",
+      "native_offset" : "0x00000"
+   }
+,
+  {
+      "is_managed" : "false",
+      "native_address" : "0x108fbf0da",
+      "native_offset" : "0x00000"
+   }
+,
+  {
+      "is_managed" : "false",
+      "native_address" : "0x109021d36",
+      "native_offset" : "0x00000"
+   }
+,
+  {
+      "is_managed" : "false",
+      "native_address" : "0x108fade18",
+      "native_offset" : "0x00000"
+   }
+,
+  {
+      "is_managed" : "false",
+      "native_address" : "0x1175df51e",
+      "native_offset" : "0x00000"
+   }
+
+  ]
+ },
+ {
+    "is_managed" : true,
+    "offset_free_hash" : "0x824c6d50c",
+    "offset_rich_hash" : "0x824c6d599",
+    "crashed" : true,
+    "native_thread_id" : "0x700003e72000",
+    "thread_info_addr" : "0x7fd13b030800",
+    "thread_name" : "Finalizer",
+    "ctx" : {
+      "IP" : "0x7ff805c21189",
+      "SP" : "0x700003e71a30",
+      "BP" : "0x700003e71a30"
+  },
+    "managed_frames" : [
+  {
+      "is_managed" : "false",
+      "native_address" : "unregistered"
+   }
+,
+  {
+      "is_managed" : "true",
+      "guid" : "81C889A3-FDAF-408A-ACAC-8A870695982B",
+      "token" : "0x00000",
+      "native_offset" : "0x0",
+      "filename" : "System.dll",
+      "sizeofimage" : "0x290000",
+      "timestamp" : "0xff396c70",
+      "il_offset" : "0x0000c"
+   }
+,
+  {
+      "is_managed" : "true",
+      "guid" : "81C889A3-FDAF-408A-ACAC-8A870695982B",
+      "token" : "0x600429c",
+      "native_offset" : "0x0",
+      "filename" : "System.dll",
+      "sizeofimage" : "0x290000",
+      "timestamp" : "0xff396c70",
+      "il_offset" : "0x00000"
+   }
+,
+  {
+      "is_managed" : "true",
+      "guid" : "0E2013AB-6B94-4E00-8349-D8DCD759AB4D",
+      "token" : "0x60040a5",
+      "native_offset" : "0x0",
+      "filename" : "mscorlib.dll",
+      "sizeofimage" : "0x472000",
+      "timestamp" : "0xf9ace8b0",
+      "il_offset" : "0x00003"
+   }
+,
+  {
+      "is_managed" : "true",
+      "guid" : "0E2013AB-6B94-4E00-8349-D8DCD759AB4D",
+      "token" : "0x60040a4",
+      "native_offset" : "0x0",
+      "filename" : "mscorlib.dll",
+      "sizeofimage" : "0x472000",
+      "timestamp" : "0xf9ace8b0",
+      "il_offset" : "0x00000"
+   }
+,
+  {
+      "is_managed" : "true",
+      "guid" : "81C889A3-FDAF-408A-ACAC-8A870695982B",
+      "token" : "0x6002f52",
+      "native_offset" : "0x0",
+      "filename" : "System.dll",
+      "sizeofimage" : "0x290000",
+      "timestamp" : "0xff396c70",
+      "il_offset" : "0x00041"
+   }
+,
+  {
+      "is_managed" : "true",
+      "guid" : "81C889A3-FDAF-408A-ACAC-8A870695982B",
+      "token" : "0x6002f38",
+      "native_offset" : "0x0",
+      "filename" : "System.dll",
+      "sizeofimage" : "0x290000",
+      "timestamp" : "0xff396c70",
+      "il_offset" : "0x00013"
+   }
+,
+  {
+      "is_managed" : "true",
+      "guid" : "81C889A3-FDAF-408A-ACAC-8A870695982B",
+      "token" : "0x6002f37",
+      "native_offset" : "0x0",
+      "filename" : "System.dll",
+      "sizeofimage" : "0x290000",
+      "timestamp" : "0xff396c70",
+      "il_offset" : "0x00000"
+   }
+,
+  {
+      "is_managed" : "true",
+      "guid" : "0E2013AB-6B94-4E00-8349-D8DCD759AB4D",
+      "token" : "0x00000",
+      "native_offset" : "0x0",
+      "filename" : "mscorlib.dll",
+      "sizeofimage" : "0x472000",
+      "timestamp" : "0xf9ace8b0",
+      "il_offset" : "0x0002a"
+   }
+
+  ],
+  "unmanaged_frames" : [
+ {
+    "is_managed" : "false",
+    "native_address" : "0x10905c776",
+    "native_offset" : "0x00000"
+  }
+,
+ {
+    "is_managed" : "false",
+    "native_address" : "0x1091f7fe5",
+    "native_offset" : "0x00000"
+  }
+,
+ {
+    "is_managed" : "false",
+    "native_address" : "0x1091f865a",
+    "native_offset" : "0x00000"
+  }
+,
+ {
+    "is_managed" : "false",
+    "native_address" : "0x1090c9927",
+    "native_offset" : "0x00000"
+  }
+,
+ {
+    "is_managed" : "false",
+    "native_address" : "0x10906140e",
+    "native_offset" : "0x00000"
+  }
+,
+ {
+    "is_managed" : "false",
+    "native_address" : "0x1090c37d6",
+    "native_offset" : "0x00000"
+  }
+,
+ {
+    "is_managed" : "false",
+    "native_address" : "0x7ff805c21189",
+    "native_offset" : "0x00000"
+  }
+,
+ {
+    "is_managed" : "false",
+    "native_address" : "0x7ff81090d60b",
+    "native_offset" : "0x00000"
+  }
+,
+ {
+    "is_managed" : "false",
+    "native_address" : "0x7ff81090be79",
+    "native_offset" : "0x00000"
+  }
+,
+ {
+    "is_managed" : "false",
+    "native_address" : "0x7ff81090ceb1",
+    "native_offset" : "0x00000"
+  }
+,
+ {
+    "is_managed" : "false",
+    "native_address" : "0x7ff81090b25c",
+    "native_offset" : "0x00000"
+  }
+,
+ {
+    "is_managed" : "false",
+    "native_address" : "0x110dbcdad",
+    "native_offset" : "0x00000"
+  }
+,
+ {
+    "is_managed" : "true",
+    "guid" : "81C889A3-FDAF-408A-ACAC-8A870695982B",
+    "token" : "0x00000",
+    "native_offset" : "0x0",
+    "filename" : "System.dll",
+    "sizeofimage" : "0x290000",
+    "timestamp" : "0xff396c70",
+    "il_offset" : "0x00000"
+  }
+,
+ {
+    "is_managed" : "true",
+    "guid" : "81C889A3-FDAF-408A-ACAC-8A870695982B",
+    "token" : "0x600429c",
+    "native_offset" : "0x0",
+    "filename" : "System.dll",
+    "sizeofimage" : "0x290000",
+    "timestamp" : "0xff396c70",
+    "il_offset" : "0x00000"
+  }
+,
+ {
+    "is_managed" : "true",
+    "guid" : "(null)",
+    "token" : "0x00000",
+    "native_offset" : "0x0",
+    "filename" : "(null)",
+    "sizeofimage" : "0x0",
+    "timestamp" : "0x0",
+    "il_offset" : "0x00000"
+  }
+,
+ {
+    "is_managed" : "true",
+    "guid" : "(null)",
+    "token" : "0x00000",
+    "native_offset" : "0x0",
+    "filename" : "(null)",
+    "sizeofimage" : "0x0",
+    "timestamp" : "0x0",
+    "il_offset" : "0x00000"
+  }
+,
+ {
+    "is_managed" : "true",
+    "guid" : "81C889A3-FDAF-408A-ACAC-8A870695982B",
+    "token" : "0x6002f38",
+    "native_offset" : "0x0",
+    "filename" : "System.dll",
+    "sizeofimage" : "0x290000",
+    "timestamp" : "0xff396c70",
+    "il_offset" : "0x00000"
+  }
+,
+ {
+    "is_managed" : "true",
+    "guid" : "81C889A3-FDAF-408A-ACAC-8A870695982B",
+    "token" : "0x6002f37",
+    "native_offset" : "0x0",
+    "filename" : "System.dll",
+    "sizeofimage" : "0x290000",
+    "timestamp" : "0xff396c70",
+    "il_offset" : "0x00000"
+  }
+,
+ {
+    "is_managed" : "true",
+    "guid" : "0E2013AB-6B94-4E00-8349-D8DCD759AB4D",
+    "token" : "0x00000",
+    "native_offset" : "0x0",
+    "filename" : "mscorlib.dll",
+    "sizeofimage" : "0x472000",
+    "timestamp" : "0xf9ace8b0",
+    "il_offset" : "0x00000"
+  }
+,
+ {
+    "is_managed" : "false",
+    "native_address" : "0x109238879",
+    "native_offset" : "0x00000"
+  }
+,
+ {
+    "is_managed" : "false",
+    "native_address" : "0x1092579bc",
+    "native_offset" : "0x00000"
+  }
+,
+ {
+    "is_managed" : "false",
+    "native_address" : "0x10923a75c",
+    "native_offset" : "0x00000"
+  }
+,
+ {
+    "is_managed" : "false",
+    "native_address" : "0x1091f8c2d",
+    "native_offset" : "0x00000"
+  }
+,
+ {
+    "is_managed" : "false",
+    "native_address" : "0x7ff805c0e4e1",
+    "native_offset" : "0x00000"
+  }
+,
+ {
+    "is_managed" : "false",
+    "native_address" : "0x7ff805c09f6b",
+    "native_offset" : "0x00000"
+  }
+
+ ]
+}
+]
+}
\ No newline at end of file
diff --git a/HDL_APP_Project.sln b/HDL_APP_Project.sln
index fab839a..c0bd16f 100644
--- a/HDL_APP_Project.sln
+++ b/HDL_APP_Project.sln
@@ -18,6 +18,8 @@
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UMSdk", "UMSdk\UMSdk.csproj", "{5CD1B2DE-1ABD-4B46-8C97-CCB6EA90346A}"
 EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Shared.Droid.HDLLinphone", "Shared.Droid.HDLLinphone\Shared.Droid.HDLLinphone.csproj", "{703D29ED-674F-44A8-8AAD-863035899D4B}"
+EndProject
 Global
 	GlobalSection(SharedMSBuildProjectFiles) = preSolution
 		HDL_ON\HDL_ON.projitems*{09712674-2a38-407b-b1e2-560b2c352f9a}*SharedItemsImports = 4
@@ -48,6 +50,7 @@
 		{09712674-2A38-407B-B1E2-560B2C352F9A}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
 		{09712674-2A38-407B-B1E2-560B2C352F9A}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
 		{D998E133-F0DD-4760-BE3C-461632F54DA4}.Debug|Any CPU.ActiveCfg = Debug|iPhone
+		{D998E133-F0DD-4760-BE3C-461632F54DA4}.Debug|Any CPU.Build.0 = Debug|iPhone
 		{D998E133-F0DD-4760-BE3C-461632F54DA4}.Debug|iPhone.ActiveCfg = Debug|iPhone
 		{D998E133-F0DD-4760-BE3C-461632F54DA4}.Debug|iPhone.Build.0 = Debug|iPhone
 		{D998E133-F0DD-4760-BE3C-461632F54DA4}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
@@ -58,8 +61,8 @@
 		{D998E133-F0DD-4760-BE3C-461632F54DA4}.Release|iPhone.Build.0 = Release|iPhone
 		{D998E133-F0DD-4760-BE3C-461632F54DA4}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
 		{D998E133-F0DD-4760-BE3C-461632F54DA4}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
-		{D998E133-F0DD-4760-BE3C-461632F54DA4}.Debug|Any CPU.Build.0 = Debug|iPhone
 		{2DDF4C3C-6998-432E-9F43-6786D82F0630}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{2DDF4C3C-6998-432E-9F43-6786D82F0630}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{2DDF4C3C-6998-432E-9F43-6786D82F0630}.Debug|iPhone.ActiveCfg = Debug|Any CPU
 		{2DDF4C3C-6998-432E-9F43-6786D82F0630}.Debug|iPhone.Build.0 = Debug|Any CPU
 		{2DDF4C3C-6998-432E-9F43-6786D82F0630}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
@@ -70,7 +73,6 @@
 		{2DDF4C3C-6998-432E-9F43-6786D82F0630}.Release|iPhone.Build.0 = Release|Any CPU
 		{2DDF4C3C-6998-432E-9F43-6786D82F0630}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
 		{2DDF4C3C-6998-432E-9F43-6786D82F0630}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
-		{2DDF4C3C-6998-432E-9F43-6786D82F0630}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{ACC48A7F-250B-4915-A250-9BC399DBD6B3}.Debug|Any CPU.ActiveCfg = Debug|iPhone
 		{ACC48A7F-250B-4915-A250-9BC399DBD6B3}.Debug|Any CPU.Build.0 = Debug|iPhone
 		{ACC48A7F-250B-4915-A250-9BC399DBD6B3}.Debug|iPhone.ActiveCfg = Debug|iPhone
@@ -119,6 +121,18 @@
 		{5CD1B2DE-1ABD-4B46-8C97-CCB6EA90346A}.Release|iPhone.Build.0 = Release|Any CPU
 		{5CD1B2DE-1ABD-4B46-8C97-CCB6EA90346A}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
 		{5CD1B2DE-1ABD-4B46-8C97-CCB6EA90346A}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
+		{703D29ED-674F-44A8-8AAD-863035899D4B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{703D29ED-674F-44A8-8AAD-863035899D4B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{703D29ED-674F-44A8-8AAD-863035899D4B}.Debug|iPhone.ActiveCfg = Debug|Any CPU
+		{703D29ED-674F-44A8-8AAD-863035899D4B}.Debug|iPhone.Build.0 = Debug|Any CPU
+		{703D29ED-674F-44A8-8AAD-863035899D4B}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
+		{703D29ED-674F-44A8-8AAD-863035899D4B}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
+		{703D29ED-674F-44A8-8AAD-863035899D4B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{703D29ED-674F-44A8-8AAD-863035899D4B}.Release|Any CPU.Build.0 = Release|Any CPU
+		{703D29ED-674F-44A8-8AAD-863035899D4B}.Release|iPhone.ActiveCfg = Release|Any CPU
+		{703D29ED-674F-44A8-8AAD-863035899D4B}.Release|iPhone.Build.0 = Release|Any CPU
+		{703D29ED-674F-44A8-8AAD-863035899D4B}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
+		{703D29ED-674F-44A8-8AAD-863035899D4B}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
diff --git a/HDL_ON/Common/ApiUtlis.cs b/HDL_ON/Common/ApiUtlis.cs
index 22953a6..544f3d8 100644
--- a/HDL_ON/Common/ApiUtlis.cs
+++ b/HDL_ON/Common/ApiUtlis.cs
@@ -285,7 +285,8 @@
 
                     //======================鑾峰彇鍙瀵硅璁惧鍒楄〃====================
                     bool isInterphoneType_HDL = false;//鏄惁涓篐DLLinphone鍙瀵硅
-                    var videoInfo= VideoSend.GetVideoInfoList();
+                    bool isInterphoneType_FREEVIEW = false;//鏄惁涓哄叏瑙嗛�氬彲瑙嗗璁�
+                    var videoInfo = VideoSend.GetVideoInfoList();
                     if (videoInfo.Code == StateCode.SUCCESS)
                     {
                         string videoList = videoInfo.Data.ToString();
@@ -300,6 +301,19 @@
                                 isInterphoneType_HDL = true;
                                 DB_ResidenceData.Instance.SupportFacePass = true;
                                 DB_ResidenceData.Instance.SaveResidenceData();
+
+                                Entity.DB_ResidenceData.Instance.SupportFVDevice = true;
+
+                            }
+                            else if (video.interphoneType == InterphoneType.FREEVIEW.ToString())
+                            {//涓哄叏瑙嗛�氬彲瑙嗗璁�
+                                DB_ResidenceData.Instance.SupportFacePass = true;
+                                Entity.DB_ResidenceData.Instance.SupportVisitorManage = true;
+                                Entity.DB_ResidenceData.Instance.SupportFVDevice = true;
+
+                                //isInterphoneType_HDL = true;
+                                isInterphoneType_FREEVIEW = true;
+
                             }
                         }
                     }
@@ -311,7 +325,18 @@
                         if (isInterphoneType_HDL)
                         {
                             //HDLLinphone鍙瀵硅,鑾峰彇Sip璐﹀彿骞跺垵濮嬪寲SDK
-                            HDLLinphone.Current.GetHDLSipInfoAndInitSDK(DB_ResidenceData.Instance.CurrentRegion.id);
+                            HDLCallVideoInfo callVideoInfo = new HDLCallVideoInfo();
+                            callVideoInfo.HomeId = DB_ResidenceData.Instance.CurrentRegion.id;
+                            callVideoInfo.InterphoneType = InterphoneType.HDL.ToString();
+                            HDLLinphone.Current.GetHDLSipInfoAndInitSDK(callVideoInfo);
+                        }
+                        else if (isInterphoneType_FREEVIEW)
+                        {
+                            //HDLLinphone鍙瀵硅,鑾峰彇Sip璐﹀彿骞跺垵濮嬪寲SDK
+                            HDLCallVideoInfo callVideoInfo = new HDLCallVideoInfo();
+                            callVideoInfo.HomeId = DB_ResidenceData.Instance.CurrentRegion.id;
+                            callVideoInfo.InterphoneType = InterphoneType.FREEVIEW.ToString();
+                            HDLLinphone.Current.GetHDLSipInfoAndInitSDK(callVideoInfo);
                         }
                         else
                         {
@@ -320,6 +345,16 @@
                             HDLLinphone.Current.LogoutAllAccount();
                         }
                     }
+
+                    //======================鐧诲綍鍏ㄨ閫�====================
+                    if (isInterphoneType_FREEVIEW)
+                    {
+#if __IOS__
+                        //鐧诲綍鍏ㄨ閫�
+                        Shared.IOS.HDLFVSDK.Video.Init("", DB_ResidenceData.Instance.CurrentRegion.id);
+#endif
+                    }
+
 
                     //======================瀹夐槻====================
                     GetSecurityList();
@@ -387,12 +422,12 @@
                 {
                     if (DB_ResidenceData.Instance.CurrentRegion != null)
                     {
-                        #region 璇诲彇鏈湴鏁版嵁
+#region 璇诲彇鏈湴鏁版嵁
                         //鎼滅储缃戝叧
                         DriverLayer.Control.Ins.SearchLoaclGateway();
                         //閲嶆柊杩炴帴mqtt
                         DAL.Mqtt.MqttClient.DisConnectRemote("鍒锋柊鏁版嵁锛岄噸杩瀖qtt",false);
-                        #endregion
+#endregion
 
                     }
                 }
diff --git a/HDL_ON/Common/HDLCommon.cs b/HDL_ON/Common/HDLCommon.cs
index e77da10..41a8562 100644
--- a/HDL_ON/Common/HDLCommon.cs
+++ b/HDL_ON/Common/HDLCommon.cs
@@ -330,31 +330,33 @@
                         }
                         else if (interphoneTypeEnum == InterphoneType.HDL.ToString())
                         {
+                            //HDL Linphone 鐙勮�愬厠
                             eSVideoInfo.HomeId = jpushMessageInfo.HomeId;
                             eSVideoInfo.callId = json["callId"].ToString();
                             eSVideoInfo.Lc_DeviceId = json["deviceId"].ToString();
                             eSVideoInfo.DeviceName = json["deviceName"].ToString();
                             eSVideoInfo.deviceSipAccount = json["deviceSipAccount"].ToString();
+                            eSVideoInfo.spk = json["spk"].ToString();
 
+                            //ShowAlert("鐙勮�愬厠闂ㄥ彛鏈哄懠鍙�");
+                            //鎵撳紑鍛煎彨椤甸潰
+                            HDLLinphone.Current.ShowESVideoIntercom(eSVideoInfo, InterphoneType.HDL.ToString());
+                            return;
+                        }
+                        else if (interphoneTypeEnum == InterphoneType.FREEVIEW.ToString())
+                        {
+                            //鍏ㄨ閫� Linphone 鐙勮�愬厠
+                            eSVideoInfo.HomeId = jpushMessageInfo.HomeId;
+                            eSVideoInfo.callId = json["callId"].ToString();
+                            eSVideoInfo.Lc_DeviceId = json["deviceId"].ToString();
+                            eSVideoInfo.DeviceName = json["deviceName"].ToString();
+                            eSVideoInfo.deviceSipAccount = json["deviceSipAccount"].ToString();
+                            eSVideoInfo.spk = json["spk"].ToString();
 
-                            if (json.ContainsKey("spk"))
-                            {
-                                if (json["spk"].ToString() == "door.gate")
-                                {
-                                    new PublicAssmebly().TipLinphoneCall("\""+ eSVideoInfo.DeviceName + "\"鍛煎彨", eSVideoInfo);
-
-                                    //HDLLinphone.Current.ShowESVideoIntercom(eSVideoInfo,true);
-                                    return;
-                                }
-                                else
-                                {
-                                    //HDL Linphone 鐙勮�愬厠
-                                    //ShowAlert("鐙勮�愬厠闂ㄥ彛鏈哄懠鍙�");
-                                    //鎵撳紑鍛煎彨椤甸潰
-                                    HDLLinphone.Current.ShowESVideoIntercom(eSVideoInfo,false);
-                                    return;
-                                }
-                            }
+                            //ShowAlert("鐙勮�愬厠闂ㄥ彛鏈哄懠鍙�");
+                            //鎵撳紑鍛煎彨椤甸潰
+                            HDLLinphone.Current.ShowESVideoIntercom(eSVideoInfo, InterphoneType.FREEVIEW.ToString());
+                            return;
                         }
 
                         //3.鎵撳紑鍛煎彨椤甸潰
@@ -417,14 +419,13 @@
             //璐﹀彿鍦ㄥ埆澶勭櫥闄嗭紝琚涪涓嬬嚎 璺宠浆鍒扮櫥褰曢〉闈�
             new Alert(Language.StringByID(StringId.Tip), Language.StringByID(StringId.LoggedOnOtherDevices), Language.StringByID(StringId.Close)).Show();
 
-            Logout(false);
+            Logout();
         }
 
         /// <summary>
         /// 閫�鍑虹櫥褰曟搷浣�
-        /// signOutPush 鏄惁鍒犻櫎鎺ㄩ�乼oken
         /// </summary>
-        public void Logout(bool signOutPush = true)
+        public void Logout()
         {
             //鍔犺浇Loading鏁堟灉
             var waitPage = new Loading();
@@ -435,19 +436,19 @@
             {
                 try
                 {
-                    if (signOutPush)
-                    {
-                        //2.娉ㄩ攢鎺ㄩ��
-                        new HttpServerRequest().SignOutPush();
-                    }
+                    //2.娉ㄩ攢鎺ㄩ��
+                    new HttpServerRequest().SignOutPush();
                     //3.璺宠浆鐧诲綍椤甸潰
                     UserInfo.Current.LastTime = DateTime.MinValue;
                     UserInfo.Current.SaveUserInfo();
                     DB_ResidenceData.Instance.EixtAccount();
                     //4.娉ㄩ攢HDLSIP璐﹀彿鐧诲綍 2021-08-20
                     HDLLinphone.Current.LogoutAllAccount();
+
 #if __IOS__
-                    //5.娓呯┖Siri鍏变韩鏁版嵁淇℃伅
+                    //5.鍏ㄨ閫氱櫥鍑�
+                    Shared.IOS.HDLFVSDK.Video.Logout();
+                    //6.娓呯┖Siri鍏变韩鏁版嵁淇℃伅
                     new Other.SkipControl().SetData(false, "", "", "","");
                     var sDM = new SiriKit.SceneDateManager();
                     Console.WriteLine($"IsLogin:{sDM.IsLgoin};accessToken:{sDM.AccessToken};refreshToken:{sDM.RefreshToken};RegionUrl:{sDM.RegionUrl};HomeId:{sDM.HomeId}");
diff --git a/HDL_ON/Common/ImageUtlis.cs b/HDL_ON/Common/ImageUtlis.cs
index fe739d5..918483d 100644
--- a/HDL_ON/Common/ImageUtlis.cs
+++ b/HDL_ON/Common/ImageUtlis.cs
@@ -466,47 +466,6 @@
             }
         }
 
-
-
-        /// <summary>
-        /// 涓嬭浇鐢ㄦ埛澶村儚
-        /// </summary>
-        /// <param name="imageUrl"></param>
-        /// <param name="ignoreCache">蹇界暐缂撳瓨</param>
-        /// <param name="regionUrl">鎸囧畾鏈嶅姟鍣ㄥ煙鍚�,浼犵┖涓轰娇鐢ㄥ綋鍓嶇敤鎴峰湴鍧�</param>
-        /// <returns></returns>
-        public byte[] DownImageByImageUrl(string imageUrl, bool ignoreCache = false)
-        {
-            try
-            {
-                if (string.IsNullOrEmpty(imageUrl)) return null;
-
-                byte[] imageBytes;
-                if (!ignoreCache && Exists(imageUrl))
-                {
-                    //鏈湴鏈夌紦瀛�
-                    imageBytes = ReadFile(imageUrl);
-                }
-                else
-                {
-                    //涓嬭浇
-                    imageBytes = HttpUtil.HttpsDownload(imageUrl);
-                    if (imageBytes != null)
-                    {
-                        //淇濆瓨鍒版湰鍦�
-                        WriteFileByBytes(imageUrl, imageBytes);
-                    }
-
-                }
-                return imageBytes;
-            }
-            catch
-            {
-                return null;
-            }
-        }
-
-
         #endregion
     }
 }
diff --git a/HDL_ON/Common/R.cs b/HDL_ON/Common/R.cs
index f7c8de3..6f4facd 100644
--- a/HDL_ON/Common/R.cs
+++ b/HDL_ON/Common/R.cs
@@ -50,6 +50,86 @@
         /// </summary>
         public const int Data = 534;
         /// <summary>
+        /// 璁垮浜岀淮鐮佺粨鏉熸椂闂�
+        /// </summary>
+        public const int VisitorEndTime = 2550;
+        /// <summary>
+        /// 鍔ㄦ�佸瘑鐮佸凡澶辨晥
+        /// </summary>
+        public const int TemporaryPasswordInvalid = 2551;
+        /// <summary>
+        /// 璁垮浜岀淮鐮佸紑濮嬫椂闂�
+        /// </summary>
+        public const int VisitorStartTime = 2549;
+        /// <summary>
+        /// 鎵嬫満鍙�
+        /// </summary>
+        public const int PhoneNumberErrorTip = 2548;
+        /// <summary>
+        /// 鎵嬫満鍙�
+        /// </summary>
+        public const int PhoneNumber = 2547;
+        /// <summary>
+        /// 璁垮浜岀淮鐮�
+        /// </summary>
+        public const int VisitorQRCode = 2546;
+        /// <summary>
+        /// 鍙栨秷璁垮鍑瘉
+        /// </summary>
+        public const int CancleVisitorCredentials = 2545;
+        /// <summary>
+        /// 鐢熸垚璁垮鍑瘉
+        /// </summary>
+        public const int GenerateVisitorCredentials = 2544;
+        /// <summary>
+        /// 浜岀淮鐮佸凡澶辨晥
+        /// </summary>
+        public const int QRcodeIsInvalid = 2543;
+        /// <summary>
+        /// 闀挎寜浜岀淮鐮佸彲浠ュ皢浜岀淮鐮佷繚瀛樺埌鐩稿唽
+        /// </summary>
+        public const int LongPressQRCodeSave = 2542;
+        /// <summary>
+        /// 澶辨晥鏃堕棿
+        /// </summary>
+        public const int VisitorDelTipContent = 2541;
+        /// <summary>
+        /// 澶辨晥鏃堕棿
+        /// </summary>
+        public const int VisitorTipContent = 2540;
+        /// <summary>
+        /// 闅忔満鐢熸垚
+        /// </summary>
+        public const int RandomGeneration = 2539;
+        /// <summary>
+        /// 杈撳叆6浣嶅姩鎬佸瘑鐮�
+        /// </summary>
+        public const int Input6_DigitsTemporaryPassword = 2538;
+        /// <summary>
+        /// 杈撳叆璁垮鎵嬫満鍙风爜
+        /// </summary>
+        public const int InputPhoneNumberOfTheVisitor = 2537;
+        /// <summary>
+        /// 鎮ㄥ彂璧疯瀹㈠嚟璇佸悗锛岃鍑瘉灏嗗湪鎮ㄨ缃殑鏈夋晥鏈熷唴锛屽彲鑷敱鍒风爜鎴栧瘑鐮佸紑閿佽繘琛岃繘鍑猴紝璇疯皑鎱庡垎浜鍑瘉
+        /// </summary>
+        public const int VisitorTip = 2536;
+        /// <summary>
+        /// 璁垮閭�璇疯褰�
+        /// </summary>
+        public const int VisitorInvitationRecord = 2532;
+        /// <summary>
+        /// 璁垮璁板綍
+        /// </summary>
+        public const int VisitorRecord = 2535;
+        /// <summary>
+        /// 璁垮閭�璇�
+        /// </summary>
+        public const int VisitorInvitation = 2534;
+        /// <summary>
+        /// 璁垮绠$悊
+        /// </summary>
+        public const int VisitorManage = 2533;
+        /// <summary>
         /// 24灏忔椂缁熻鍥�
         /// </summary>
         public const int StatisticalChart24Hour = 533;
@@ -305,7 +385,7 @@
         /// <summary>
         /// 闃叉姢涓�
         /// </summary>
-        public const int UnderProtection=470;
+        public const int UnderProtection = 470;
         /// <summary>
         /// 鏈変汉杩涘叆
         /// </summary>
@@ -349,7 +429,7 @@
         /// <summary>
         /// 瀹炴椂鑳借��
         /// </summary>
-        public const int RealTimeEnergyConsumption=459;
+        public const int RealTimeEnergyConsumption = 459;
         /// <summary>
         /// 鏃ユ湡
         /// </summary>
@@ -549,7 +629,7 @@
         public const int VerificationCodePrompt = 274;
         public const int ChangeTheVerificationMethod = 273;
         public const int ModifyBindingEmail = 272;
-        public const int CurrentEmail =271;
+        public const int CurrentEmail = 271;
         public const int Unbind = 270;
         public const int ModifyBinding = 269;
         public const int EmailAddress = 268;
@@ -571,14 +651,14 @@
         public const int SavedSuccessfully = 252;
         public const int AddFailedInsufficientPermissions = 251;
         public const int OperationFailed = 250;
-        public const int MemberAccountHasBeenAddedAndCannotBeAddedAgain =249;
+        public const int MemberAccountHasBeenAddedAndCannotBeAddedAgain = 249;
         public const int ThisHomeDoesNotExistForTheUser = 248;
         public const int FailedToAddUnableToAddYourself = 247;
         public const int FailedToAddTheMemberAccountIsNotRegistered = 246;
         public const int DataExceptionPleaseTryAgain = 245;
         public const int MemberAddedSuccessfully = 244;
         public const int AccountErrorPlsC = 243;
-        public const int ConfirmInvitation =242;
+        public const int ConfirmInvitation = 242;
         public const int ScanQRCoden = 241;
         public const int NewMemberAccount = 240;
         public const int AddMember = 239;
@@ -674,7 +754,7 @@
         public const int AtStartup = 149;
         public const int Unprotected = 148;
         public const int VerificationCodeError = 147;
-        public const int MultipleChoicesOfPagesYouNeedToProtect= 146;
+        public const int MultipleChoicesOfPagesYouNeedToProtect = 146;
         public const int PleaseSelectThePageToBeUnlocked = 145;
         public const int UesrName = 144;
         public const int UesrNameCannotBeEmpty = 143;
@@ -726,7 +806,7 @@
         public const int DefaultGallery = 97;
         public const int DeleteRoom = 96;
         public const int Save = 95;
-        public const int FunctionManagement=94;
+        public const int FunctionManagement = 94;
         public const int Floor = 93;
         public const int RoomName = 92;
 
@@ -743,7 +823,7 @@
         public const int DelFloorTip = 88;
         public const int Tip = 87;
         public const int Del = 86;
-        public const int Scenes=85;
+        public const int Scenes = 85;
         public const int AddFloorFailed_FloorAlreadyExist = 84;
         public const int EditFloorName = 83;
         public const int AddFloors = 82;
@@ -781,12 +861,12 @@
         public const int BoundMobileInfo = 50;
         public const int MyQRcode = 49;
         public const int Name = 48;
-        public const int PersonalCenter=47;
+        public const int PersonalCenter = 47;
         public const int InvalidLoginCertificate = 46;
         public const int AccountNotExist = 45;
         public const int ConfirmReset = 44;
         public const int RegistrationFailedPleaseTryAgain = 43;
-        public const int NetworkAnomaly=42;
+        public const int NetworkAnomaly = 42;
         public const int FailedToSendVerificationCode = 41;
         public const int LoginFailed_AccountOrPasswordError = 40;
         public const int Personal = 39;
@@ -807,7 +887,7 @@
         public const int PlsEntryCorrectEmailAddress = 24;
         public const int VerificationCodeWrong = 23;
         public const int AccountAlreadyUse = 22;
-        public const int PasswordIsUnqualified=21;
+        public const int PasswordIsUnqualified = 21;
         public const int IncorrectRepeatPassword = 20;
         public const int PlsEntryCorrectMobilNeumber = 19;
         public const int PlsEntryVerificationCode = 18;
@@ -1828,7 +1908,7 @@
         /// <summary>
         /// 鍦ㄧ嚎
         /// </summary>
-        public const int zaixianhwb= 6015;
+        public const int zaixianhwb = 6015;
         /// <summary>
         /// 绂荤嚎
         /// </summary>
@@ -1856,7 +1936,7 @@
         /// <summary>
         /// 涓嬩竴姝�
         /// </summary>
-        public const int xiayibu= 6022;
+        public const int xiayibu = 6022;
         /// <summary>
         /// 鐢垫簮
         /// </summary>
@@ -2084,7 +2164,7 @@
         /// <summary>
         /// 閫夋嫨绾㈠鍝佺墝
         /// </summary>
-        public const int xuanzehongwaipinpai= 6081;
+        public const int xuanzehongwaipinpai = 6081;
         /// <summary>
         /// 鎽囧ご
         /// </summary>
@@ -2361,11 +2441,11 @@
         /// <summary>
         /// 鏆傚仠
         /// </summary>
-        public const int stop= 7054;
+        public const int stop = 7054;
         /// <summary>
         /// 浜害
         /// </summary>
-        public const int brightnesLogic= 7055;
+        public const int brightnesLogic = 7055;
         /// <summary>
         /// 鐧惧垎姣�
         /// </summary>
@@ -2377,7 +2457,7 @@
         /// <summary>
         /// 鍒跺喎
         /// </summary>
-        public const int coolLogic= 7058;
+        public const int coolLogic = 7058;
         /// <summary>
         /// 鍒剁儹
         /// </summary>
@@ -2493,7 +2573,7 @@
         /// <summary>
         /// 瀹ゅ鍙樺寲
         /// </summary>
-        public const int shiwaibainhua=7087;
+        public const int shiwaibainhua = 7087;
         /// <summary>
         /// 閫夋嫨瀹ゅ鍙樺寲鏉′欢
         /// </summary>
@@ -2537,11 +2617,11 @@
         /// <summary>
         /// 鏅村ぉ
         /// </summary>
-        public const int clearday =7098;
+        public const int clearday = 7098;
         /// <summary>
         /// 澶氫簯
         /// </summary>
-        public const int cloudy= 7099;
+        public const int cloudy = 7099;
         /// <summary>
         /// 涓嬮洦
         /// </summary>
@@ -2565,7 +2645,7 @@
         /// <summary>
         /// 杞诲害姹℃煋:76~115ug/m鲁
         /// </summary>
-        public const int pmqingdu= 7105;
+        public const int pmqingdu = 7105;
         /// <summary>
         /// 涓害姹℃煋:116~150ug/m鲁
         /// </summary>
@@ -2573,11 +2653,11 @@
         /// <summary>
         /// 閲嶅害姹℃煋:>150ug/m鲁
         /// </summary>
-        public const int pmzhongduwuran= 7107;
+        public const int pmzhongduwuran = 7107;
         /// <summary>
         /// 娉勬紡/鏃犳硠婕�
         /// </summary>
-        public const int xieluoandwuxieluo=7108;
+        public const int xieluoandwuxieluo = 7108;
         /// <summary>
         /// 娉勬紡
         /// </summary>
@@ -2641,7 +2721,7 @@
         /// <summary>
         /// 浼�
         /// </summary>
-        public const int kongqiyou= 7124;
+        public const int kongqiyou = 7124;
         /// <summary>
         /// 鑹�
         /// </summary>
diff --git a/HDL_ON/Common/UserInfo.cs b/HDL_ON/Common/UserInfo.cs
index 30e8267..5ba0686 100644
--- a/HDL_ON/Common/UserInfo.cs
+++ b/HDL_ON/Common/UserInfo.cs
@@ -322,34 +322,5 @@
             return path + "/";
         }
 
-
-        /// <summary>
-        /// 鎺ㄩ�佹秷鎭褰� 
-        /// </summary>
-        public JPushMessageInfo pushMessageInfo = new JPushMessageInfo();
-        /// <summary>
-        /// 鏄惁宸茬粡鍔犺浇鍛煎彨寮圭獥
-        /// </summary>
-        public bool alreadyShowCallInDialog = false;
-
-        //[Newtonsoft.Json.JsonIgnore]
-        //public string PushMesTitle;
-        //[Newtonsoft.Json.JsonIgnore]
-        //public string PushMesMessage;
-        //[Newtonsoft.Json.JsonIgnore]
-        //public string PushMesExtras;
-        //[Newtonsoft.Json.JsonIgnore]
-        //public string PushMesHomeId;
-        //[Newtonsoft.Json.JsonIgnore]
-        //public string pushMesMessageType;
-        //[Newtonsoft.Json.JsonIgnore]
-        //public string pushMesExpantContent;
-
-        [Newtonsoft.Json.JsonIgnore]
-        public bool inVideo = false;
-        [Newtonsoft.Json.JsonIgnore]
-        public DateTime inCall = DateTime.MinValue;
-
-
     }
 }
\ No newline at end of file
diff --git a/HDL_ON/DAL/DriverLayer/Control.cs b/HDL_ON/DAL/DriverLayer/Control.cs
index c5cd85e..333d101 100644
--- a/HDL_ON/DAL/DriverLayer/Control.cs
+++ b/HDL_ON/DAL/DriverLayer/Control.cs
@@ -461,7 +461,6 @@
                         var sendBytes = Ins.ConvertSendBodyData(CommunicationTopic.ct.ControlFunctionTopic, functionControlDataJson);
                         new Control_Udp().SendLocalHdlLinkData(sendBytes, functionControlDataObj.id,resend);
                         MainPage.Log($"鏈湴閫氳 鍙戦�丠DL-Link鏁版嵁:{functionControlDataJson}");
-                        //Control.Ins.MsgInfoList.Add($"鏈湴閫氳 鍙戦�丠DL-Link鏁版嵁:{functionControlDataJson}"+"\r\n");
                     }
                 }
                 //杩滅▼閫氳
@@ -741,7 +740,7 @@
                  gatewayId = DB_ResidenceData.Instance.HomeGateway.gatewayId,
                   sid = securityAlarm.sid, status = state, userSecurityId = securityAlarm.userSecurityId
                 } });
-                MainPage.Log($"瀹夐槻鎺у埗缁撴灉:code锛歿result.Code}锛沵sg锛歿result.message}");
+                MainPage.Log($"瀹夐槻鎺у埗缁撴灉:{result.Code}");
             }
             else
             {
@@ -1026,7 +1025,6 @@
         /// <summary>
         /// 鏇存柊璁惧鐘舵��
         /// A鍗忚鏁版嵁
-        /// Tag Link鐘舵�佸鐞�
         /// </summary>
         /// <param name="updateBytes"></param>
         public void UpdataFunctionStatus(string revString, byte[] usefulBytes,bool isCloudData = false)
@@ -1138,10 +1136,6 @@
                                 RollingShutterPage.UpdataState(localFunction);
                                 break;
                             case SPK.CurtainShades:
-                                break;
-                            case SPK.HvacCac:
-                                Stan.HdlDeviceStatuPushLogic.Current.UpdateDeviceStatu(updateTemp.sid, updateTemp.status);
-                               
                                 break;
                             case SPK.AcStandard:
                             case SPK.HvacAC:
@@ -1267,7 +1261,6 @@
                             case SPK.AirFreshStandard:
                             case SPK.HvacAirFresh:
                             case SPK.SensorGas:
-                            case SPK.SensorHelp:
                                 //璁惧鐘舵�佹帹閫�
                                 //鐘舵�佹洿鏂�
                                 Stan.HdlDeviceStatuPushLogic.Current.UpdateDeviceStatu(updateTemp.sid, updateTemp.status);
diff --git a/HDL_ON/DAL/Server/HttpServerRequest.cs b/HDL_ON/DAL/Server/HttpServerRequest.cs
index 0e0a902..8efd6e5 100644
--- a/HDL_ON/DAL/Server/HttpServerRequest.cs
+++ b/HDL_ON/DAL/Server/HttpServerRequest.cs
@@ -5,6 +5,7 @@
 using System.Text;
 using HDL_ON.Entity;
 using Newtonsoft.Json.Linq;
+using Shared;
 
 namespace HDL_ON.DAL.Server
 {
@@ -45,17 +46,13 @@
         /// <param name="deviceId">璁惧ID</param>
         /// <param name="deviceKey">鍔熻兘鏌ヨ绫诲瀷锛歱m25</param>
         /// <returns></returns>
-        public ResponsePackNew GetSensorHistory(string qType, string deviceId, string deviceKey,string time = "")
+        public ResponsePackNew GetSensorHistory(string qType, string deviceId, string deviceKey)
         {
             Dictionary<string, object> d = new Dictionary<string, object>();
             d.Add("type", qType);
             d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id);
             d.Add("deviceId", deviceId);
             d.Add("key", deviceKey);
-            if(time!= "")
-            {
-                d.Add("time", time);
-            }
 
             var requestJson = HttpUtil.GetSignRequestJson(d);
             return HttpUtil.RequestHttpsPost(NewAPI.Api_Post_EnvironmentalSensorHistoricalData, requestJson);
@@ -1033,10 +1030,10 @@
 #endif
                 //鏄惁鐢熶骇妯″紡
                 bool isProduce = true;
-                if (HttpUtil.GlobalRequestHttpsHost == "https://test-gz.hdlcontrol.com")
-                {
-                    isProduce = false;
-                }
+#if DEBUG
+                isProduce = true;
+#endif
+
                 if (string.IsNullOrEmpty(OnAppConfig.Instance.PushDeviceToken))
                 {
                     Utlis.WriteLine("PushDeviceToken 涓虹┖");
@@ -1061,9 +1058,15 @@
 
                 //var mAddpushinfoJson = Newtonsoft.Json.JsonConvert.SerializeObject(mAddpushinfoObj);
                 var mAddpushinfoJson = HttpUtil.GetSignRequestJson(mAddpushinfoObj);
+
+                Utlis.WriteLine("mAddpushinfoJson: " + mAddpushinfoJson);
+
+                //new Alert("", , "鍙栨秷", "纭畾").Show();
                 var revertObj = HttpUtil.RequestHttpsPost(NewAPI.API_POST_PushSerivce_AddToken, mAddpushinfoJson);
                 if (revertObj.Code == StateCode.SUCCESS)
                 {
+                    //new Alert("", "鎻愪氦pushToken鎴愬姛" + OnAppConfig.Instance.PushDeviceToken, "鍙栨秷", "纭畾").Show();
+
                     if (revertObj.Data != null)
                     {
                         var pushId = revertObj.Data.ToString();
@@ -1072,7 +1075,7 @@
                             OnAppConfig.Instance.PushId = pushId;
                             OnAppConfig.Instance.SaveConfig();
                             Utlis.WriteLine("PushId: " + pushId);
-
+                            //new Alert("","鎻愪氦pushToken鎴愬姛"+ OnAppConfig.Instance.PushDeviceToken, "鍙栨秷","纭畾").Show();
                             return true;
                         }
                     }
@@ -1080,7 +1083,7 @@
                 }
                 else
                 {
-                    //Utlis.WriteLine("AddToken 澶辫触");
+                    Utlis.WriteLine("AddToken 澶辫触");
                 }
                 return false;
             }
@@ -2621,25 +2624,6 @@
             var pack = HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_FL_Check, requestJson);
             return pack;
         }
-        /// <summary>
-        /// 鑾峰彇闂ㄥ彛鏈哄緲寰婃姤璀︽暟鎹�
-        /// </summary>
-        /// <param name="deviceId"></param>
-        /// <returns></returns>
-        public ResponsePackNew GetAlarmRecords(string deviceId, int pageSize, int pageNo, string alarmType = "PROWLER_ALARM")
-        {
-            Dictionary<string, object> d = new Dictionary<string, object>();
-            d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id);
-            d.Add("deviceId", deviceId);
-            d.Add("alarmType", alarmType);
-            d.Add("pageSize", pageSize);
-            d.Add("pageNo", pageNo);
-            var requestJson = HttpUtil.GetSignRequestJson(d);
-            var pack = HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_ALARM_RECORDS, requestJson);
-            return pack;
-
-        }
-
         #endregion
 
         #region 鈻� 闂ㄩ攣鐩稿叧____________________________
diff --git a/HDL_ON/DAL/Server/HttpUtil.cs b/HDL_ON/DAL/Server/HttpUtil.cs
index 82b6dd0..4917487 100644
--- a/HDL_ON/DAL/Server/HttpUtil.cs
+++ b/HDL_ON/DAL/Server/HttpUtil.cs
@@ -31,9 +31,9 @@
         /// 鐗规畩鎺ュ彛璇锋眰瓒呮椂鏃堕棿
         /// </summary>
         public const int TIME_OUT_LONG = 20;
-        ///// <summary>
-        ///// Bearer 鏆傛椂璁句负绌猴紝浠庣櫥闄嗘垚鍔熺殑杩斿洖鐨刪eaderPrefix鍙傛暟鍔ㄦ�佽幏鍙�
-        ///// </summary>
+        /////// <summary>
+        /////// Bearer 鏆傛椂璁句负绌猴紝浠庣櫥闄嗘垚鍔熺殑杩斿洖鐨刪eaderPrefix鍙傛暟鍔ㄦ�佽幏鍙�
+        /////// </summary>
         //public const string TOKEN_BEARER = "Bearer ";
 
         #endregion
diff --git a/HDL_ON/DAL/Server/NewAPI.cs b/HDL_ON/DAL/Server/NewAPI.cs
index 817e699..f4ccb6b 100644
--- a/HDL_ON/DAL/Server/NewAPI.cs
+++ b/HDL_ON/DAL/Server/NewAPI.cs
@@ -17,7 +17,22 @@
         /// 鑾峰彇鍏ㄧ悆鍖哄煙鍒楄〃 鍏嶇櫥褰�
         /// </summary>
         public const string API_POST_GlobalRegionList = "/smart-footstone/region/globalRegionList";
-        #endregion 
+        #endregion
+
+        #region 璁垮
+        /// <summary>
+        /// 鐢熸垚涓存椂瀵嗙爜
+        /// </summary>
+        public const string API_POST_ADD_TEMP_PASSWORD = "/community-wisdom/app/visitor/freeview/add";
+        /// <summary>
+        /// 鍒犻櫎涓存椂瀵嗙爜
+        /// </summary>
+        public const string API_POST_DEL_TEMP_PASSWORD = "/community-wisdom/app/visitor/freeview/delete";
+        /// <summary>
+        /// 鑾峰彇涓存椂瀵嗙爜
+        /// </summary>
+        public const string API_POST_GET_TEMP_PASSWORD_LIST = "/community-wisdom/app/visitor/freeview/page";
+        #endregion
 
         #region 鈻� AcCluster -- 鐧诲綍鍜屾敞鍐岄儴鍒哶__________________________
         /// <summary>
@@ -668,21 +683,6 @@
         /// 鍔ㄦ�佸瘑鐮�/浜岀淮鐮佸紑閿�
         /// </summary>
         public const string API_POST_FL_QRcode = "http://112.74.164.111:180/api.php/Device/setdynamicpwd";
-        /// <summary>
-        /// 涓存椂瀵嗙爜
-        /// 浜岀淮鐮�
-        /// </summary>
-        public const string API_Post_Temporary_Password = "/home-wisdom/app/freeview/temppwd/add";
-        /// <summary>
-        /// 鑾峰彇闂ㄧ浜岀淮鐮�
-        /// </summary>
-        public const string API_POST_OwnerQRCode = "/community-wisdom/doorDevice/getOwnerQRCode";
-        /// <summary>
-        /// 寰樺緤鎶ヨ
-        /// </summary>
-        public const string API_POST_ALARM_RECORDS = "/home-wisdom/app/device/alarmRecords/listByPage";
-                                                      
-
         #endregion
 
 
diff --git a/HDL_ON/DAL/Server/NewApiRes.cs b/HDL_ON/DAL/Server/NewApiRes.cs
index f005989..177a663 100644
--- a/HDL_ON/DAL/Server/NewApiRes.cs
+++ b/HDL_ON/DAL/Server/NewApiRes.cs
@@ -62,6 +62,36 @@
 
     #endregion
 
+    #region =============璁垮绠$悊=============
+    /// <summary>
+    /// 璁垮涓存椂瀵嗙爜
+    /// </summary>
+    [System.Serializable]
+    public class VisitorTempPassword
+    {
+        public string id;
+        public string homeId;
+        public string phone;//":"13355558888",
+        public string tempPwd;//":"123456",
+        public string validBeginTime;//":"2022-05-06 13:00:00",
+        public string validEndTime;//":"2022-05-09 13:00:00",
+        public int useCount;//":1,
+        public bool status = true;//:true
+    }
+
+    /// <summary>
+    /// 鑾峰彇涓存椂瀵嗙爜鍒楄〃
+    /// </summary>
+    public class GetTempPasswordList
+    {
+        public string pageNo;//": 0,
+        public string pageSize;//": 0,
+        public string totalCount;//": 0,
+        public string totalPage;//": 0
+        public List<VisitorTempPassword> list;
+    }
+    #endregion
+
     #region  鈻� 鐧诲綍 ____________________________
     [System.Serializable]
     public class LoginObj
@@ -1474,12 +1504,14 @@
         /// 鎵╁睍鏁版嵁鍐呭
         /// </summary>
         public string expantContent = "";
-
         /// <summary>
-        /// 璁惧绫诲瀷
-        /// HDL: door.gate
+        /// spk鏍囧織锛屽�间负door.gate鏃惰〃绀鸿嚜鐮�
         /// </summary>
-        public string spk = "";
+        public string spk="";
+        /// <summary>
+        /// sip璐﹀彿
+        /// </summary>
+        public string sipAccount;
 
     }
 
@@ -1505,7 +1537,7 @@
         /// <summary>
         /// 浣忓畢ID
         /// </summary>
-        public string homeId ;
+        public string homeId;
         /// <summary>
         /// 闄勫姞鍐呭
         /// </summary>
@@ -1514,8 +1546,6 @@
         ///  淇℃伅绫诲瀷
         /// </summary>
         public string messageType;
-
-        public string spk;
     }
 
     /// <summary>
diff --git a/HDL_ON/DAL/ThirdPartySdk/ESOnVideo.cs b/HDL_ON/DAL/ThirdPartySdk/ESOnVideo.cs
index 016de0c..37eb371 100644
--- a/HDL_ON/DAL/ThirdPartySdk/ESOnVideo.cs
+++ b/HDL_ON/DAL/ThirdPartySdk/ESOnVideo.cs
@@ -109,7 +109,16 @@
             }else if (interphoneType == InterphoneType.HDL.ToString())
             {
                 //HDLLinphone 鐙勮�愬厠
-                HDLLinphone.Current.ShowESVideoMonitor(mESVideoInfo,false);
+                HDLLinphone.Current.ShowESVideoMonitor(mESVideoInfo);
+                ////鍏ㄨ閫�
+                //NSDictionary deviceInfo = new NSDictionary("deviceCode","3-1-11-2", "deviceName", mESVideoInfo.DeviceName);
+                //Shared.IOS.HDLFVSDK.Video.Monitor(deviceInfo);
+            } else if (interphoneType == InterphoneType.FREEVIEW.ToString())
+            {
+                //鍏ㄨ閫氱洃瑙�
+                NSDictionary deviceInfo = new NSDictionary("deviceCode",mESVideoInfo.deviceCode, "deviceName", mESVideoInfo.DeviceName);
+                Shared.IOS.HDLFVSDK.Video.Monitor(deviceInfo);
+                //HDLLinphone.Current.ShowESVideoMonitor(mESVideoInfo);
             }
             else
             {
@@ -120,7 +129,7 @@
             if (interphoneType == InterphoneType.IMOUVISIAL.ToString())
             {
                 intent = new Intent(Shared.Application.Activity, typeof(HDL_ON_Android.LeChengVideoActivity));
-         
+
                 //=========涔愭==========
                 intent.PutExtra("Type", 0);
                 intent.PutExtra("callId", mESVideoInfo.callId);
@@ -147,24 +156,27 @@
                 intent.PutExtra("callId", mESVideoInfo.callId);
                 intent.PutExtra("Type", 0);
 
-               
+
 
                 Shared.Application.Activity.StartActivity(intent);
             }
             else if (interphoneType == InterphoneType.HDL.ToString())
             {
                 //HDLLinphone 鐙勮�愬厠
-                HDLLinphone.Current.ShowESVideoMonitor(mESVideoInfo,false);
+                HDLLinphone.Current.ShowESVideoMonitor(mESVideoInfo, InterphoneType.HDL.ToString());
+            }
+            else if (interphoneType == InterphoneType.FREEVIEW.ToString())
+            {
+                string sip_account = "sip:D" + mESVideoInfo.deviceCode + "@139.159.157.75:46000";
+                mESVideoInfo.deviceSipAccount = sip_account;
+                HDLLinphone.Current.ShowESVideoMonitor(mESVideoInfo, InterphoneType.FREEVIEW.ToString());
             }
             else
             {
                 HDLUtils.WriteLine("鏈鎺ワ紝涓嶆敮鎸佺洃瑙�");
             }
-
-          
-
 #endif
-            }
+        }
 
         /// <summary>
         /// 琚懠鍙〉闈�
@@ -296,21 +308,12 @@
                 intent.PutExtra("callId", mESVideoInfo.callId);
                 intent.PutExtra("Type", 1);
 
-               
-
-
                 Shared.Application.Activity.StartActivity(intent);
             }
             else
             {
                 HDLUtils.WriteLine("鏈敮鎸佺殑鍙瀵硅绫诲瀷");
-
             }
-
-         
-
-         
-
             #endregion
 #endif
         }
@@ -822,6 +825,16 @@
         /// 璁惧sip璐﹀彿 interphoneType鏄疕DL鏃舵墠浼氭湁鍊�
         /// </summary>
         public string deviceSipAccount;
+        /// <summary>
+        /// spk
+        /// </summary>
+        public string spk="";
+
+        //========================鍏ㄨ閫�==========================
+        /// <summary>
+        /// 璁惧缂栧彿锛岀浉褰撲簬鍏ㄨ閫氱殑LocalDirectory瀛楁
+        /// </summary>
+        public string deviceCode;
     }
 
 
@@ -865,7 +878,10 @@
         /// 鐙勮�愬厠 HDL Linphone
         /// </summary>
         HDL,
-
+        /// <summary>
+        /// 鍏ㄨ閫氬璁�
+        /// </summary>
+        FREEVIEW,
 
     }
 }
diff --git a/HDL_ON/DAL/ThirdPartySdk/HDLLinphone.cs b/HDL_ON/DAL/ThirdPartySdk/HDLLinphone.cs
index 5a6cd33..c2af0dd 100644
--- a/HDL_ON/DAL/ThirdPartySdk/HDLLinphone.cs
+++ b/HDL_ON/DAL/ThirdPartySdk/HDLLinphone.cs
@@ -57,11 +57,15 @@
         /// </summary>
         public bool IsEnable = false;
         /// <summary>
+        /// 褰撳墠瑙嗛閫氳瘽鏄惁涓鸿嚜鐮�
+        /// </summary>
+        public bool IsSelfResearch = false;
+        /// <summary>
         /// 鏄惁鑷姩璺宠浆鍛煎彨椤甸潰,
         /// false锛氭敹鍒版帹閫佸苟涓斿凡缁忔敹鍒皊ip鍛煎彨鎵嶈烦杞懠鍙〉闈�
         /// true锛氬師鐢熸敹鍒板懠鍙┈涓婅烦杞懠鍙〉闈紝涓嶇瓑寰呮帹閫佽繃鏉�
         /// </summary>
-        bool IsAutoJumpCallView = false;
+        bool IsAutoJumpCallView = true;
         /// <summary>
         /// 鏄惁鍒濆鍖栦簡SDK
         /// </summary>
@@ -93,23 +97,22 @@
             Shared.IOS.HDLLinphoneSDK.HDLLinPhoneSDK.Instance().IsAutoJumpCallView = IsAutoJumpCallView;
             //璁剧疆Listener鐩戝惉
             mOnHDLLinphoneCallDelegate = new OnHDLLinphoneCallDelegate(this);
+            Console.WriteLine(UserInfo.Current.ID);
             Shared.IOS.HDLLinphoneSDK.HDLLinPhoneSDK.Instance().HdlLinphoneCallDelegate = mOnHDLLinphoneCallDelegate;
 #else
             HDLLinphoneKit.Instance.InitLinphone(Application.Activity);
             //璁剧疆鏀跺埌鏉ョ數鍚庛�佹槸鍚﹂渶鑷姩璺宠浆鍛煎彨椤甸潰鏂规
             HDLLinphoneKit.Instance.AutoJumpCallView = IsAutoJumpCallView;
-            //HDLLinphoneKit.Instance.HangUp();//鎸傛柇
             //璁剧疆Listener鐩戝惉
             setOnHDLLinphoneCallListener();
 #endif
         }
 
-       
         /// <summary>
         /// 璁剧疆sip鐧诲綍璐﹀彿
         /// </summary>
         /// <param name="mHDLSipInfo"></param>
-        public void SetAccountAndLogin(HDLSipInfo mHDLSipInfo)
+        public void SetAccountAndLogin(HDLSipInfo mHDLSipInfo, string mInterphoneType)
         {
 
             this.currentHDLSipInfo = mHDLSipInfo;
@@ -121,9 +124,25 @@
             //Shared.IOS.HDLLinphoneSDK.HDLLinPhoneSDK.Instance().Login("6666", "85521566", "116.62.26.215:5060");
             Shared.IOS.HDLLinphoneSDK.HDLLinPhoneSDK.Instance().Login(mHDLSipInfo.sipAccount, mHDLSipInfo.sipPasswd, mHDLSipInfo.realm);
 #else
-            HDLLinphoneKit.Instance.SetAccountAndLogin(mHDLSipInfo.sipAccount, mHDLSipInfo.sipPasswd, mHDLSipInfo.realm);
+            if (mInterphoneType == InterphoneType.FREEVIEW.ToString())
+            {
+                HDLLinphoneKit.Instance.SetAccountAndLogin(
+                    mHDLSipInfo.sipAccount,
+                    mHDLSipInfo.sipPasswd,
+                    "139.159.157.75:46000",
+                    HDLLinphoneKit.InterPhoneTypeFreeview
+                    );
+            }
+            else
+            {
+                HDLLinphoneKit.Instance.SetAccountAndLogin(
+                   mHDLSipInfo.sipAccount,
+                   mHDLSipInfo.sipPasswd,
+                   mHDLSipInfo.realm,
+                   HDLLinphoneKit.InterPhoneTypeHdl
+                   );
+            }
 #endif
-
         }
 
         /// <summary>
@@ -194,7 +213,7 @@
         /// 璇锋眰鏈嶅姟鍣ㄨ幏鍙栧綋鍓嶄綇瀹匰ip璐﹀彿淇℃伅骞跺垵濮嬪寲LinphoneSDK鍜岀櫥褰�
         /// </summary>
         /// <param name="homeId"></param>
-        public void GetHDLSipInfoAndInitSDK(string homeId, bool clearCallInfo = true)
+        public void GetHDLSipInfoAndInitSDK(HDLCallVideoInfo mHDLCallVideoInfo, bool clearCallInfo = true)
         {
             try
             {
@@ -204,14 +223,14 @@
                     InitCallInfo(null);
                 }
 
-                HDLSipInfo mHDLSipInfo = GetHDLSipInfo(homeId);
+                HDLSipInfo mHDLSipInfo = GetHDLSipInfo(mHDLCallVideoInfo.HomeId);
                 if (mHDLSipInfo != null)
                 {
                     Application.RunOnMainThread(() =>
                     {
                         InitLinphone();
-                        mHDLSipInfo.homeId = homeId;
-                        SetAccountAndLogin(mHDLSipInfo);
+                        mHDLSipInfo.homeId = mHDLCallVideoInfo.HomeId;
+                        SetAccountAndLogin(mHDLSipInfo, mHDLCallVideoInfo.InterphoneType);
                         Utlis.WriteLine("CALL 鑾峰彇SIP璐﹀彿鎴愬姛锛�" + mHDLSipInfo.sipAccount);
                     });
                 }
@@ -371,14 +390,13 @@
         }
         #endregion
 
-
+     
         #region 鈻�  --  璺宠浆鐩戞帶椤甸潰_______________________________
         /// <summary>
         /// 璺宠浆鐩戞帶椤甸潰
         /// </summary>
         /// <param name="mESVideoInfo"></param>
-        /// <param name="enableMic">鏄惁鎵撳紑楹﹀厠椋�</param>
-        public void ShowESVideoMonitor(ESVideoInfo mESVideoInfo,bool enableMic,bool isCallIn = false)
+        public void ShowESVideoMonitor(ESVideoInfo mESVideoInfo,string mInterphoneType)
         {
             InitLinphone();
             //sip璐﹀彿涓虹┖
@@ -392,28 +410,9 @@
             mHDLCallVideoInfo.HomeId = mESVideoInfo.HomeId;
             mHDLCallVideoInfo.DeviceId = mESVideoInfo.Lc_DeviceId;
             mHDLCallVideoInfo.DeviceName = mESVideoInfo.DeviceName;
-            mHDLCallVideoInfo.InterphoneType = InterphoneType.HDL.ToString();
+            mHDLCallVideoInfo.InterphoneType = mInterphoneType;
             mHDLCallVideoInfo.DeviceSipAccount = mESVideoInfo.deviceSipAccount;//鐩戣涓诲姩鍛煎彨闂ㄥ彛鏈烘椂鐢ㄥ埌
             InitCallInfo(mHDLCallVideoInfo);
-
-            if (isCallIn)
-            {
-#if __IOS__
-#else
-                HDLLinphoneKit.Instance.HangUp();
-#endif
-            }
-            else
-            {
-                openMonitorPage(enableMic);
-            }
-        }
-
-        /// <summary>
-        /// 鎵撳紑鐩戣鐣岄潰
-        /// </summary>
-        void openMonitorPage(bool enableMic)
-        {
 
 #if __IOS__
 
@@ -425,26 +424,19 @@
             //2.璺宠浆鎵撳紑鐩戞帶椤甸潰
             var intent = new Intent(Shared.Application.Activity, typeof(Com.Hdl.Hdllinphonesdk.Activity.HDLLinphoneMonitorActivity)); ;
             intent.PutExtra(HDLLinphoneKit.KeyTitleName, mHDLCallVideoInfo.DeviceName);//浼犲叆璁惧鍚嶇О涓烘樉绀烘爣棰�
-            intent.PutExtra(HDLLinphoneKit.Enablemic, enableMic);//鏄惁鎵撳紑楹﹀厠椋�
             Shared.Application.Activity.StartActivity(intent);
-
-
-
 #endif
 
         }
+        #endregion
 
 
-#endregion
-
-
-#region 鈻�  --  璺宠浆鍛煎彨椤甸潰_______________________________
+        #region 鈻�  --  璺宠浆鍛煎彨椤甸潰_______________________________
         /// <summary>
         /// 鏀跺埌鎺ㄩ�侊紝鍚庡垽鏂懠鍙綇瀹呮槸鍚︿负褰撳墠浣忓畢锛屼笉鏄殑璇濋噸鏂拌幏鍙朣IP璐﹀彿骞剁櫥褰�
         /// </summary>
         /// <param name="mESVideoInfo"></param>
-        /// <param name="isHdlLinphone">鏄惁鏄嚜鐮斿彲瑙嗗璁�</param>
-        public void ShowESVideoIntercom(ESVideoInfo mESVideoInfo,bool isHdlLinphone)
+        public void ShowESVideoIntercom(ESVideoInfo mESVideoInfo,string mInterphoneType)
         {
             InitLinphone();
 
@@ -453,42 +445,31 @@
             mHDLCallVideoInfo.HomeId = mESVideoInfo.HomeId;
             mHDLCallVideoInfo.DeviceId = mESVideoInfo.Lc_DeviceId;
             mHDLCallVideoInfo.DeviceName = mESVideoInfo.DeviceName;
-            mHDLCallVideoInfo.InterphoneType = InterphoneType.HDL.ToString();
+            mHDLCallVideoInfo.InterphoneType = mInterphoneType;
             mHDLCallVideoInfo.DeviceSipAccount = mESVideoInfo.deviceSipAccount;
+            mHDLCallVideoInfo.spk = mESVideoInfo.spk;
             InitCallInfo(mHDLCallVideoInfo);
 
-       
-
-            if (isHdlLinphone)
+            //褰撳墠鍛煎彨鏉ョ數鐨勪綇瀹呭拰涔嬪墠娉ㄥ唽鐧诲綍鐨勪綇瀹呬竴鑷寸殑鎯呭喌涓�
+            if (currentHDLSipInfo != null && currentHDLSipInfo.homeId == mESVideoInfo.HomeId)
             {
-                //褰撳墠鍛煎彨鏉ョ數鐨勪綇瀹呭拰涔嬪墠娉ㄥ唽鐧诲綍鐨勪綇瀹呬竴鑷寸殑鎯呭喌涓�
-                if (currentHDLSipInfo != null && currentHDLSipInfo.homeId == mESVideoInfo.HomeId)
-                {
-                    Utlis.WriteLine("CALL 鏀跺埌鎺ㄩ�� 鎺ㄩ�佷綇瀹呭拰涔嬪墠娉ㄥ唽鐧诲綍鐨勪綇瀹呬竴鑷�");
-                    CheckCallStateAndGotoPage(true);
-                }
+                Utlis.WriteLine("CALL 鏀跺埌鎺ㄩ�� 鎺ㄩ�佷綇瀹呭拰涔嬪墠娉ㄥ唽鐧诲綍鐨勪綇瀹呬竴鑷�");
+                CheckCallStateAndGotoPage();
             }
-            else {
-                //褰撳墠鍛煎彨鏉ョ數鐨勪綇瀹呭拰涔嬪墠娉ㄥ唽鐧诲綍鐨勪綇瀹呬竴鑷寸殑鎯呭喌涓�
-                if (currentHDLSipInfo != null && currentHDLSipInfo.homeId == mESVideoInfo.HomeId)
+            else
+            {
+                //娉ㄦ剰锛氫箣鍓嶆病鐧诲綍SIP璐﹀彿鎴栬�呬綇瀹呬笉涓�鑷寸殑鎯呭喌涓嬮渶瑕侀噸鏂拌幏鍙朣IP璐﹀彿
+                //鑾峰彇鍛煎彨浣忓畢鐨凷IP璐﹀彿骞剁櫥褰�
+                Utlis.WriteLine("CALL 鏀跺埌鎺ㄩ�� 鍏朵粬浣忓畢锛岄噸鏂拌幏鍙栧懠鍙綇瀹呯殑SIP璐﹀彿骞剁櫥褰�");
+                new Thread(() =>
                 {
-                    Utlis.WriteLine("CALL 鏀跺埌鎺ㄩ�� 鎺ㄩ�佷綇瀹呭拰涔嬪墠娉ㄥ唽鐧诲綍鐨勪綇瀹呬竴鑷�");
-                    CheckCallStateAndGotoPage();
-                }
-                else
-                {
-                    //娉ㄦ剰锛氫箣鍓嶆病鐧诲綍SIP璐﹀彿鎴栬�呬綇瀹呬笉涓�鑷寸殑鎯呭喌涓嬮渶瑕侀噸鏂拌幏鍙朣IP璐﹀彿
-                    //鑾峰彇鍛煎彨浣忓畢鐨凷IP璐﹀彿骞剁櫥褰�
-                    Utlis.WriteLine("CALL 鏀跺埌鎺ㄩ�� 鍏朵粬浣忓畢锛岄噸鏂拌幏鍙栧懠鍙綇瀹呯殑SIP璐﹀彿骞剁櫥褰�");
-                    new Thread(() =>
-                    {
-                        GetHDLSipInfoAndInitSDK(mESVideoInfo.HomeId, false);
-                    })
-                    { IsBackground = false }.Start();
+                    GetHDLSipInfoAndInitSDK(mHDLCallVideoInfo, false);
+                })
+                { IsBackground = false }.Start();
 
-                    //
-                    CheckCallStateAndGotoPage();
-                }
+                //
+                CheckCallStateAndGotoPage();
+
             }
 
         }
@@ -497,22 +478,43 @@
         /// 妫�娴嬫潵鐢电姸鎬侊紝鍒ゆ柇鏄惁椹笂鎵撳紑鍛煎彨椤甸潰锛屽鏋滆繕娌℃潵鐢靛垯寮�鍚嚎绋嬫娴嬬瓑寰�
         /// </summary>
         /// <param name="mESVideoInfo"></param>
-        public void CheckCallStateAndGotoPage(bool isHdlLinphone = false)
+        public void CheckCallStateAndGotoPage()
         {
-            //濡傛灉寮�鍚簡鑷姩璺宠浆鏂规锛屽垯鏃犻渶缁х画涓嬮潰澶勭悊銆佹棤闇�鎵嬪姩璺宠浆
-            if (IsAutoJumpCallView) return;
-            //鍏堢粨鏉熸帀涔嬪墠鐨勭嚎绋�
-            EndCheckIncomingCallThread();
-            //妫�娴嬫槸鍚︽潵鐢典簡濡傛灉鏄洿鎺ヨ皟鏁村懠鍙〉闈㈠鏋滀笉鏄垯寮�鍚嚎绋嬬瓑寰呭垽鏂�
-            if (IsIncomingReceivedCallState()|| isHdlLinphone) {
-                Utlis.WriteLine("CALL 宸茬粡鏉ョ數浜嗐�傘�傘�傛墦寮�鍛煎彨椤甸潰");
-                GoToHDLLinphoneIntercomActivity();
-            }
-            else
+            if (mHDLCallVideoInfo.spk == "door.gate")
             {
-                //濡傛灉杩樻病鏉ョ數 寮�鍚嚎绋嬫娴�
-                StartCheckIncomingCallThread();
+#if __IOS__
+                //鑷爺鍙瀵硅
+                HDLLinPhoneSDK.Instance().GotoHDLSRLinphoneIntercomVC(mHDLCallVideoInfo.DeviceName,mHDLCallVideoInfo.DeviceSipAccount);
+#else
+                var intent = new Intent(Shared.Application.Activity, typeof(Com.Hdl.Hdllinphonesdk.Activity.HDLLinphoneReverseCallActivity));  
+                if (mHDLCallVideoInfo != null)
+                {
+                    //intent.PutExtra(HDLLinphoneKit.KeyTitleName, mHDLCallVideoInfo.DeviceName);
+                    intent.PutExtra("lpTitleName", mHDLCallVideoInfo.DeviceName);
+                    intent.PutExtra("lpSipAccount", mHDLCallVideoInfo.DeviceSipAccount);
+                }
+                Shared.Application.Activity.StartActivity(intent);
+#endif
             }
+            else {
+                //鐙勮�愬厠鍙瀵硅
+                //濡傛灉寮�鍚簡鑷姩璺宠浆鏂规锛屽垯鏃犻渶缁х画涓嬮潰澶勭悊銆佹棤闇�鎵嬪姩璺宠浆
+                if (IsAutoJumpCallView) return;
+                //鍏堢粨鏉熸帀涔嬪墠鐨勭嚎绋�
+                EndCheckIncomingCallThread();
+                //妫�娴嬫槸鍚︽潵鐢典簡濡傛灉鏄洿鎺ヨ皟鏁村懠鍙〉闈㈠鏋滀笉鏄垯寮�鍚嚎绋嬬瓑寰呭垽鏂�
+                if (IsIncomingReceivedCallState())
+                {
+                    Utlis.WriteLine("CALL 宸茬粡鏉ョ數浜嗐�傘�傘�傛墦寮�鍛煎彨椤甸潰");
+                    GoToHDLLinphoneIntercomActivity();
+                }
+                else
+                {
+                    //濡傛灉杩樻病鏉ョ數 寮�鍚嚎绋嬫娴�
+                    StartCheckIncomingCallThread();
+                }
+            }
+
 
         }
 
@@ -853,6 +855,10 @@
         /// 绫诲瀷
         /// </summary>
         public string InterphoneType;
+        /// <summary>
+        /// spk
+        /// </summary>
+        public string spk="";
 
     }
 
diff --git a/HDL_ON/Entity/DB_ResidenceData.cs b/HDL_ON/Entity/DB_ResidenceData.cs
index e05e640..0113d52 100644
--- a/HDL_ON/Entity/DB_ResidenceData.cs
+++ b/HDL_ON/Entity/DB_ResidenceData.cs
@@ -155,11 +155,28 @@
             ///鍒囨崲浣忓畢娓呯┖鍓嶄綇瀹呯紦瀛樿嚜鍔ㄥ寲鍒楄〃锛�
             HDL_ON.UI.UI2.Intelligence.Automation.Logic.LogicList.Clear();
             DAL.Mqtt.MqttClient.DisConnectRemote("閫�鍑虹櫥褰曪紝鎴栬�呭垏鎹綇瀹�");
+
+#if IOS
+            //閫�鍑哄叏瑙嗛�氱櫥褰�
+            Shared.IOS.HDLFVSDK.Video.Logout();
+            //閲嶇疆榛樿涓嶆敮鎸佸叏瑙嗛��
+            Entity.DB_ResidenceData.Instance.SupportFVDevice = false;
+#endif
         }
         /// <summary>
         /// 鏄惁鏀寔浜鸿劯閫氳
         /// </summary>
         public bool SupportFacePass = false;
+
+        /// <summary>
+        /// 鏄惁鏀寔璁垮绠$悊
+        /// </summary>
+        public bool SupportVisitorManage = false;
+
+        /// <summary>
+        /// 鏄惁鏀寔鍏ㄨ閫�
+        /// </summary>
+        public bool SupportFVDevice = false;
 
         /// <summary>
         /// 缃戝叧璇︾粏淇℃伅
@@ -399,7 +416,7 @@
         }
 
 
-        #region oid鍒楄〃 a鍗忚杞琤us鍗忚鎺у埗浣跨敤
+#region oid鍒楄〃 a鍗忚杞琤us鍗忚鎺у埗浣跨敤
         /// <summary>
         /// oid鏁版嵁淇濆瓨鐨勬枃浠跺悕
         /// </summary>
@@ -451,7 +468,7 @@
             Common.FileUtlis.Files.WriteFileByBytes(OidSavePathName, oidBytes);
         }
 
-        #endregion
+#endregion
 
         /// <summary>
         /// 鍦烘櫙绛涢�夋椂锛岄�夋嫨鐨勬埧闂�
diff --git a/HDL_ON/Entity/Function/Sensor.cs b/HDL_ON/Entity/Function/Sensor.cs
index 0ad5cc8..aff130f 100644
--- a/HDL_ON/Entity/Function/Sensor.cs
+++ b/HDL_ON/Entity/Function/Sensor.cs
@@ -1,6 +1,5 @@
 锘縰sing System;
 using System.Collections.Generic;
-using Shared;
 
 namespace HDL_ON.Entity
 {
@@ -82,30 +81,9 @@
         /// <summary>
         /// 姣忎釜绛夌骇瀵瑰尯闂村��
         /// </summary>
-        public List<string> GetIntervalValue(Function function)
+        public List<string> GetIntervalValue(string spk)
         {
             var _intervalValue = new List<string>();
-
-
-            if (function.attrKeyConfigs.Count > 0)
-            {
-
-                foreach (var attrKey in function.attrKeyConfigs)
-                {
-                    if (function.spk.Replace(".", "").Contains(attrKey.key.Replace(".", "")))
-                    {
-                        foreach (var info in attrKey.configs)
-                        {
-                            _intervalValue.Add(info.start + " ~ " + info.end);
-                        }
-                    }
-                }
-                if (_intervalValue.Count > 0)
-                    return _intervalValue;
-            }
-
-
-            string spk = function.spk;
             switch (spk)
             {
                 case SPK.SensorPm25:
@@ -195,27 +173,9 @@
         /// <summary>
         /// 姣忎釜绛夌骇鐨勯鑹插��
         /// </summary>
-        public List<uint> GetLevelColorList(Function function)
+        public List<uint> GetLevelColorList(string spk)
         {
             var _levelColorList = new List<uint>();
-            if (function.attrKeyConfigs.Count > 0)
-            {
-
-                foreach (var attrKey in function.attrKeyConfigs)
-                {
-                    if (function.spk.Replace(".", "").Contains(attrKey.key.Replace(".", "")))
-                    {
-                        foreach (var info in attrKey.configs)
-                        {
-                            _levelColorList.Add(Convert.ToUInt32(info.color, 16));
-                        }
-                    }
-                }
-                if (_levelColorList.Count > 0)
-                    return _levelColorList;
-            }
-
-            string spk = function.spk;
             switch (spk)
             {
                 case SPK.SensorPm25:
@@ -269,71 +229,52 @@
         /// <summary>
         /// 姣忎釜绛夌骇鐨勫悕绉�
         /// </summary>
-        public List<string> GetLevelTextList(Function function)
+        public List<int> GetLevelTextList(string spk)
         {
-            var _levelTextList = new List<string>();
-
-            if (function.attrKeyConfigs.Count > 0)
-            {
-
-                foreach (var attrKey in function.attrKeyConfigs)
-                {
-                    if (function.spk.Replace(".", "").Contains(attrKey.key.Replace(".", "")))
-                    {
-                        foreach (var info in attrKey.configs)
-                        {
-                            _levelTextList.Add(info.desc);
-                        }
-                    }
-                }
-                if (_levelTextList.Count > 0)
-                    return _levelTextList;
-            }
-
-            string spk = function.spk;
+            var _levelTextList = new List<int>();
             switch (spk)
             {
                 case SPK.SensorPm25:
-                    _levelTextList.Add(Language.StringByID(StringId.Great));
-                    _levelTextList.Add(Language.StringByID(StringId.Good));
-                    _levelTextList.Add(Language.StringByID(StringId.MildPollution));
-                    _levelTextList.Add(Language.StringByID(StringId.HeavyPollution));
+                    _levelTextList.Add(StringId.Great);
+                    _levelTextList.Add(StringId.Good);
+                    _levelTextList.Add(StringId.MildPollution);
+                    _levelTextList.Add(StringId.HeavyPollution);
                     break;
                 case SPK.SensorCO2:
-                    _levelTextList.Add(Language.StringByID(StringId.SensorReferenceTipCO2Level1));
-                    _levelTextList.Add(Language.StringByID(StringId.SensorReferenceTipCO2Level2));
-                    _levelTextList.Add(Language.StringByID(StringId.SensorReferenceTipCO2Level3));
-                    _levelTextList.Add(Language.StringByID(StringId.SensorReferenceTipCO2Level4));
+                    _levelTextList.Add(StringId.SensorReferenceTipCO2Level1);
+                    _levelTextList.Add(StringId.SensorReferenceTipCO2Level2);
+                    _levelTextList.Add(StringId.SensorReferenceTipCO2Level3);
+                    _levelTextList.Add(StringId.SensorReferenceTipCO2Level4);
                     break;
                 case SPK.SensorTemperature:
-                    _levelTextList.Add(Language.StringByID(StringId.ExtremelyCold));
-                    _levelTextList.Add(Language.StringByID(StringId.Cold));
-                    _levelTextList.Add(Language.StringByID(StringId.SlightlyCold));
-                    _levelTextList.Add(Language.StringByID(StringId.Comfortable));
-                    _levelTextList.Add(Language.StringByID(StringId.TepidFever));
-                    _levelTextList.Add(Language.StringByID(StringId.Heat_SensorTip));
-                    _levelTextList.Add(Language.StringByID(StringId.ExtremeHeat));
+                    _levelTextList.Add(StringId.ExtremelyCold);
+                    _levelTextList.Add(StringId.Cold);
+                    _levelTextList.Add(StringId.SlightlyCold);
+                    _levelTextList.Add(StringId.Comfortable);
+                    _levelTextList.Add(StringId.TepidFever);
+                    _levelTextList.Add(StringId.Heat_SensorTip);
+                    _levelTextList.Add(StringId.ExtremeHeat);
                     break;
                 case SPK.SensorTVOC:
-                    _levelTextList.Add(Language.StringByID(StringId.SensorReferenceTVOCTipLevel1));
-                    _levelTextList.Add(Language.StringByID(StringId.SensorReferenceTVOCTipLevel2));
-                    _levelTextList.Add(Language.StringByID(StringId.SensorReferenceTVOCTipLevel3));
-                    _levelTextList.Add(Language.StringByID(StringId.SensorReferenceTVOCTipLevel4));
+                    _levelTextList.Add(StringId.SensorReferenceTVOCTipLevel1);
+                    _levelTextList.Add(StringId.SensorReferenceTVOCTipLevel2);
+                    _levelTextList.Add(StringId.SensorReferenceTVOCTipLevel3);
+                    _levelTextList.Add(StringId.SensorReferenceTVOCTipLevel4);
                     break;
                 case SPK.SensorHumidity:
-                    _levelTextList.Add(Language.StringByID(StringId.SensorReferenceHumidityTipLevel1));
-                    _levelTextList.Add(Language.StringByID(StringId.SensorReferenceHumidityTipLevel2));
-                    _levelTextList.Add(Language.StringByID(StringId.SensorReferenceHumidityTipLevel3));
+                    _levelTextList.Add(StringId.SensorReferenceHumidityTipLevel1);
+                    _levelTextList.Add(StringId.SensorReferenceHumidityTipLevel2);
+                    _levelTextList.Add(StringId.SensorReferenceHumidityTipLevel3);
                     break;
                 case SPK.SensorHcho:
-                    _levelTextList.Add(Language.StringByID(StringId.Class_I_BuildingStandard));
-                    _levelTextList.Add(Language.StringByID(StringId.SecondaryBuildingStandard));
-                    _levelTextList.Add(Language.StringByID(StringId.ExceedingTheStandard));
+                    _levelTextList.Add(StringId.Class_I_BuildingStandard);
+                    _levelTextList.Add(StringId.SecondaryBuildingStandard);
+                    _levelTextList.Add(StringId.ExceedingTheStandard);
                     break;
                 default:
-                    _levelTextList.Add("");
-                    _levelTextList.Add("");
-                    _levelTextList.Add("");
+                    _levelTextList.Add(99999999);
+                    _levelTextList.Add(99999999);
+                    _levelTextList.Add(99999999);
                     break;
             }
             return _levelTextList;
diff --git a/HDL_ON/Entity/FunctionList.cs b/HDL_ON/Entity/FunctionList.cs
index 9b724ca..ce16d6d 100644
--- a/HDL_ON/Entity/FunctionList.cs
+++ b/HDL_ON/Entity/FunctionList.cs
@@ -87,15 +87,6 @@
             var spkList = SPK.AirFreshSpkList();
             return Functions.FindAll((obj) => spkList.Contains(obj.spk));
         }
-        /// <summary>
-        /// 闈㈡澘鍒楄〃
-        /// </summary>
-        /// <returns></returns>
-        public List<Function> GetPanelList()
-        {
-            var spkList = SPK.PanelSpkList();
-            return Functions.FindAll((obj) => spkList.Contains(obj.spk));
-        }
 
         /// <summary>
         /// 鑳芥簮鍒楄〃
diff --git a/HDL_ON/HDL_ON.projitems b/HDL_ON/HDL_ON.projitems
index d4c650b..7aedb1d 100644
--- a/HDL_ON/HDL_ON.projitems
+++ b/HDL_ON/HDL_ON.projitems
@@ -383,6 +383,7 @@
     <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\AirQuality.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\MainView.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\OnePortAutomation.cs" />
+    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\LogicMethod.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\Time3.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\AddLogic.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\Set.cs" />
@@ -500,6 +501,11 @@
     <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\ContentView\AcContentView.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Video\WanderingAlarmPage.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Curtain\CurtainDreamPage.cs" />
+    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\Visitor\VisitorHistoryPage.cs" />
+    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\Visitor\VisitorQRCodePage.cs" />
+    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\Visitor\TempPasswordInfo.cs" />
+    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\Visitor\LpTimeDialogCallBak.cs" />
+    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\Visitor\LpTipDialogCallBack.cs" />
   </ItemGroup>
   <ItemGroup>
     <Folder Include="$(MSBuildThisFileDirectory)Entity\Device\" />
@@ -526,6 +532,5 @@
     <Folder Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\AddDevice\SenesorEnvironment\" />
     <Folder Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Light\LightScene\" />
     <Folder Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\FaceManagement\" />
-    <Folder Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\ContentView\" />
   </ItemGroup>
 </Project>
\ No newline at end of file
diff --git a/HDL_ON/UI/MainPage.cs b/HDL_ON/UI/MainPage.cs
index 71591b3..21e872a 100644
--- a/HDL_ON/UI/MainPage.cs
+++ b/HDL_ON/UI/MainPage.cs
@@ -111,7 +111,6 @@
             SPK.AirFreshStandard,SPK.HvacAirFresh,
             SPK.AirSwitch,
             SPK.PanelSocket,SPK.ElectricSocket,
-            SPK.HvacCac
         };
 
 
@@ -133,7 +132,6 @@
           _RoomNotSupportFunctionList.Add(SPK.ElectricEnergy);
           _RoomNotSupportFunctionList.AddRange(SPK.EnvironDeviceSpkList());
           _RoomNotSupportFunctionList.AddRange(SPK.ArmSensorSpkList());
-          _RoomNotSupportFunctionList.AddRange(SPK.PanelSpkList());
         }
         return _RoomNotSupportFunctionList;
       }
diff --git a/HDL_ON/UI/UI0-Public/AppUnlockPage.cs b/HDL_ON/UI/UI0-Public/AppUnlockPage.cs
index 1129e4a..637798b 100644
--- a/HDL_ON/UI/UI0-Public/AppUnlockPage.cs
+++ b/HDL_ON/UI/UI0-Public/AppUnlockPage.cs
@@ -1,5 +1,4 @@
 锘縰sing System;
-using HDL_ON.DAL.Server;
 using Shared;
 namespace HDL_ON.UI
 {
@@ -76,26 +75,6 @@
                 {
                     if (UserInfo.Current.unlockTime.AddMinutes(5) > DateTime.Now || UserInfo.Current.appUnlockPasswrod == "" || UserInfo.Current.appUnlockPage.Count == 0)
                     {
-                        if(UserInfo.Current.inCall.AddMinutes(30) > DateTime.Now ||
-                            UserInfo.Current.inVideo)
-                        {
-                            //UserInfo.Current.PushMesLogTime = DateTime.MinValue;
-
-                            //var pushMes = new JPushMessageInfo()
-                            //{
-                            //    Title = UserInfo.Current.PushMesTitle,
-                            //    Content = UserInfo.Current.PushMesMessage,
-                            //    Extras = UserInfo.Current.PushMesExtras,
-                            //    messageType = UserInfo.Current.pushMesMessageType,
-                            //    expantContent = UserInfo.Current.pushMesExpantContent,
-                            //    HomeId = UserInfo.Current.PushMesHomeId,
-                            //};
-                            Shared.Application.RunOnMainThread(() =>
-                            {
-                                HDLCommon.Current.AdjustPushMessage(UserInfo.Current.pushMessageInfo);
-                            });
-                        }
-
                         return;
                     }
                 }
diff --git a/HDL_ON/UI/UI0-Public/PublicAssmebly.cs b/HDL_ON/UI/UI0-Public/PublicAssmebly.cs
index 40d3b05..b070e69 100644
--- a/HDL_ON/UI/UI0-Public/PublicAssmebly.cs
+++ b/HDL_ON/UI/UI0-Public/PublicAssmebly.cs
@@ -422,99 +422,6 @@
             })
             { IsBackground = true }.Start();
         }
-
-        /// <summary>
-        /// 鍙瀵硅鍛煎彨寮圭獥
-        /// </summary>
-        public void TipLinphoneCall(String msg, ESVideoInfo mESVideoInfo)
-        {
-            if (UserInfo.Current.alreadyShowCallInDialog)
-            {
-                return;
-            }
-            UserInfo.Current.alreadyShowCallInDialog = true;
-            Dialog dialog = new Dialog();
-
-            FrameLayout dialogBody = new FrameLayout();
-            dialog.AddChidren(dialogBody);
-          
-
-            FrameLayout frame = new FrameLayout()
-            {
-                Gravity = Gravity.Center,
-                Width = Application.GetRealWidth(263),
-                Height = Application.GetRealHeight(145),
-                BackgroundColor = 0xE6FFFFFF ,
-                Radius = (uint)Application.GetRealWidth(12),
-            };
-            dialog.AddChidren(frame);
-
-            Button btnTipIcon = new Button()
-            {
-                X = Application.GetRealWidth(26),
-                Y = Application.GetRealHeight(20),
-                Width = Application.GetRealWidth(32),
-                Height = Application.GetRealWidth(32),
-                UnSelectedImagePath = "Public/MsgIcon/CallIcon.png" ,
-            };
-            frame.AddChidren(btnTipIcon);
-
-            Button btnTipMsg = new Button()
-            {
-                Y = Application.GetRealHeight(5),
-                X = Application.GetRealWidth(60),
-                Height = Application.GetRealHeight(52),
-                Width = Application.GetRealWidth(160),
-                TextAlignment = TextAlignment.CenterLeft,
-                TextSize = CSS_FontSize.TextFontSize,
-                TextColor =  CSS_Color.FirstLevelTitleColor ,
-                IsMoreLines = true,
-                Text = msg
-            };
-            frame.AddChidren(btnTipMsg);
-
-
-            Button btnHangUpIcon = new Button()
-            {
-                X = Application.GetRealWidth(45),
-                Y = Application.GetRealHeight(78),
-                Width = Application.GetRealWidth(52),
-                Height = Application.GetRealWidth(52),
-                UnSelectedImagePath = "Public/MsgIcon/HangUpIcon.png",
-            };
-            frame.AddChidren(btnHangUpIcon);
-            btnHangUpIcon.MouseUpEventHandler = (sender, e) => {
-                HDLLinphone.Current.ShowESVideoMonitor(mESVideoInfo, true,true);
-                //Com.Hdl.Hdllinphonesdk.HDLLinphoneKit.Instance.HangUp();
-                UserInfo.Current.alreadyShowCallInDialog = false;
-
-
-                dialog.Close();
-            };
-
-
-            Button btnAnswerIcon = new Button()
-            {
-                X = Application.GetRealWidth(167),
-                Y = Application.GetRealHeight(78),
-                Width = Application.GetRealWidth(52),
-                Height = Application.GetRealWidth(52),
-                UnSelectedImagePath = "Public/MsgIcon/AnswerIcon.png",
-            };
-            frame.AddChidren(btnAnswerIcon);
-            btnAnswerIcon.MouseUpEventHandler = (sender, e) => {
-                HDLLinphone.Current.ShowESVideoMonitor(mESVideoInfo,true);
-                UserInfo.Current.alreadyShowCallInDialog = false;
-
-                dialog.Close();
-            };
-
-
-
-            dialog.Show();
-        }
-
-
         /// <summary>
         /// 鍔犺浇鎻愮ず寮圭獥
         /// </summary>
diff --git a/HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs b/HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs
index cc2d317..4ee35e8 100644
--- a/HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs
+++ b/HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs
@@ -188,10 +188,6 @@
                         var acPage = new AcControlPage();
                         acPage.AddForm(function, btnCollectionIcon, btnName, btnFromFloor);
                         break;
-                    case SPK.HvacCac:
-                        var cacPage = new CacControlPage();
-                        cacPage.AddForm(function, btnCollectionIcon, btnName, btnFromFloor);
-                        break;
                     case SPK.IrLearn:
                         var irLearinPage = new IrLearnPage();
                         irLearinPage.AddForm(function, btnCollectionIcon, btnName, btnFromFloor);
@@ -210,15 +206,6 @@
                         var doorLockPage = new DoorLockPage();
                         doorLockPage.AddForm(function, btnCollectionIcon, btnName, btnFromFloor);
                         break;
-                    case SPK.SensorHelp:
-                        var panelHelpPage = new UI2.FuntionControlView.Panel.PanelHelpPage();
-                        panelHelpPage.AddForm(function, btnCollectionIcon, btnName, btnFromFloor);
-                        break;
-                    case SPK.PanelEnvironment:
-                        var panelEnvironmentPage = new EnvironmentPanelPage();
-                        panelEnvironmentPage.AddForm(function, btnCollectionIcon, btnName, btnFromFloor);
-                        break;
-                         
                 }
             };
             return eventHandler;
diff --git a/HDL_ON/UI/UI0-Public/TopViewDiv.cs b/HDL_ON/UI/UI0-Public/TopViewDiv.cs
index 34c732e..c85c12c 100644
--- a/HDL_ON/UI/UI0-Public/TopViewDiv.cs
+++ b/HDL_ON/UI/UI0-Public/TopViewDiv.cs
@@ -250,6 +250,35 @@
         }
 
         /// <summary>
+        /// 鎴块棿鏍囬鍖哄煙
+        /// </summary>
+        /// <param name="room"></param>
+        /// <param name="skipAction"></param>
+        /// <param name="text"></param>
+        public void LoadTopView_SettingText(Action skipAction,string text)
+        {
+            LoadTopView();
+            
+            var btnSetting = new Button()
+            {
+                X = Application.GetRealWidth(337-100),
+                Y = Application.GetRealHeight(29),
+                Width = Application.GetMinRealAverage(100),
+                Height = Application.GetMinRealAverage(28),
+                TextColor = CSS_Color.MainColor,
+                TextSize = CSS_FontSize.TextFontSize,
+                TextAlignment = TextAlignment.CenterRight,
+                Text = text,
+            };
+            contentView.AddChidren(btnSetting);
+            btnSetting.MouseUpEventHandler += (sender, e) =>
+            {
+                skipAction();
+            };
+        }
+
+
+        /// <summary>
         /// 鍚慺ramelayout娣诲姞椤堕儴鍖哄煙,鎷ユ湁娣诲姞鍥炬爣鐨勬寜閽�
         /// </summary>
         /// <param name="frame"></param>
diff --git a/HDL_ON/UI/UI0-Stan/Form/DeviceFunction4CardCommonForm.cs b/HDL_ON/UI/UI0-Stan/Form/DeviceFunction4CardCommonForm.cs
deleted file mode 100644
index dacaea3..0000000
--- a/HDL_ON/UI/UI0-Stan/Form/DeviceFunction4CardCommonForm.cs
+++ /dev/null
@@ -1,452 +0,0 @@
-锘縰sing HDL_ON.Entity;
-using HDL_ON.UI.CSS;
-using Shared;
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace HDL_ON.Stan
-{
-    /// <summary>
-    /// 璁惧鍔熻兘鍗$墖鐨勫簳灞傜晫闈�
-    /// </summary>
-    public class DeviceFunction4CardCommonForm : EditorCommonForm
-    {
-        #region 鈻� 鍙橀噺澹版槑___________________________
-
-        /// <summary>
-        /// 褰撳墠鍥炶矾瀵硅薄
-        /// </summary>
-        public Function device = null;
-        /// <summary>
-        /// 鍙充笂瑙掗厤缃粨鏉熺殑浜嬩欢
-        /// </summary>
-        public Action SettionFinishEvent = null;
-        /// <summary>
-        /// 宸﹀彸缈婚〉鐨勬帶浠剁殑浜嬩欢
-        /// </summary>
-        public Action<int> PageChangeEvent = null;
-        /// <summary>
-        /// 宸﹀彸鏁翠釜缈婚〉鐨勬帶浠�
-        /// </summary>
-        private PageLayout pageLayout = null;
-        /// <summary>
-        /// 璁惧鍚嶅瓧鎺т欢(鍒锋柊鐢ㄥ埌)
-        /// </summary>
-        public NormalViewControl btnDeviceName = null;
-        /// <summary>
-        /// 鎴块棿鍚嶅瓧鎺т欢(鍒锋柊鐢ㄥ埌)
-        /// </summary>
-        public NormalViewControl btnRoomName = null;
-        /// <summary>
-        /// 搴曢儴蹇嵎鎸夐挳1
-        /// </summary>
-        private NormalViewControl btnBottomOne = null;
-        /// <summary>
-        /// 搴曢儴蹇嵎鎸夐挳2
-        /// </summary>
-        private NormalViewControl btnBottomTwo = null;
-        private NormalViewControl btnBottom3 = null;
-        private NormalViewControl btnBottom4 = null;
-        /// <summary>
-        /// 绗竴绱㈠紩鐨勭櫧鑹插尯鍩熺殑妗屽竷鎺т欢
-        /// </summary>
-        public NormalFrameLayout FrameWhiteCentet1 = null;
-        /// <summary>
-        /// 绗簩绱㈠紩鐨勭櫧鑹插尯鍩熺殑妗屽竷鎺т欢(璇峰厛璋冪敤AddSecondPage鍑芥暟瀹屾垚娣诲姞)
-        /// </summary>
-        public NormalFrameLayout FrameWhiteCentet2 = null;
-        public NormalFrameLayout FrameWhiteCentet3 = null;
-        public NormalFrameLayout FrameWhiteCentet4 = null;
-
-        /// <summary>
-        /// 鏄惁鏄剧ず鏀惰棌鎸夐挳
-        /// </summary>
-        public bool ShowColltionButton = true;
-        #endregion
-
-        #region 鈻� 鍒濆鍖朹____________________________
-
-        /// <summary>
-        /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓)
-        /// </summary>
-        /// <param name="i_device">璁惧瀵硅薄</param>
-        /// <param name="btnHigherCollection">涓婁竴绾х晫闈㈢殑鏀惰棌鎺т欢(鍘熸潵on鐨勬鏋跺お鍧�)</param>
-        /// <param name="btnHigherDeviceName">涓婁竴绾х晫闈㈢殑璁惧鍚嶅瓧鎺т欢(鍘熸潵on鐨勬鏋跺お鍧�)</param>
-        /// <param name="btnHigherRoom">涓婁竴绾х晫闈㈢殑鎴块棿鍚嶅瓧鎺т欢(鍘熸潵on鐨勬鏋跺お鍧�)</param>
-        public void ShowForm(Function i_device, Button btnHigherCollection, Button btnHigherDeviceName, Button btnHigherRoom)
-        {
-            this.device = i_device;
-
-            //娣诲姞澶撮儴銆愯缃�戝浘鏍�
-            this.AddTopSettingIcon(btnHigherDeviceName, btnHigherRoom);
-
-            //鍒濆鍖栦腑閮ㄤ俊鎭�
-            this.InitMiddleFrame(btnHigherCollection);
-        }
-
-        /// <summary>
-        /// 鍒濆鍖栦腑閮ㄤ俊鎭�
-        /// </summary>
-        /// <param name="btnHigherCollection">涓婁竴绾х晫闈㈢殑鏀惰棌鎺т欢</param>
-        private void InitMiddleFrame(Button btnHigherCollection)
-        {
-            //娓呯┖bodyFrame
-            this.ClearBodyFrame();
-
-            //宸﹀彸鏁翠釜缈婚〉鐨勬帶浠�
-            this.pageLayout = new PageLayout();
-            pageLayout.IsShowPoint = false;
-            pageLayout.ScrollEnabled = false;
-            bodyFrameLayout.AddChidren(pageLayout);
-            pageLayout.PageChange += (sender, index) =>
-            {
-                //璁剧疆搴曢儴涓や釜鎸夐挳鐨勭姸鎬�
-                this.SetBottomTwoButtonStatu();
-                this.PageChangeEvent?.Invoke(index);
-            };
-
-            //鍒濆鍖栫涓�涓储寮曠殑妗屽竷
-            this.InitFrameWhiteContent1(btnHigherCollection);
-            //鍒濆鍖栫櫧鑹插唴瀹�(闇�瑕佽嚜涓诲疄鐜�)
-            this.InitFrameWhiteContent();
-        }
-
-        /// <summary>
-        /// 鍒濆鍖栫涓�涓储寮曠殑妗屽竷
-        /// </summary>
-        /// <param name="btnHigherCollection">涓婁竴绾х晫闈㈢殑鏀惰棌鎺т欢</param>
-        private void InitFrameWhiteContent1(Button btnHigherCollection)
-        {
-            //绗竴涓储寮曟甯冩槸蹇呭畾瀛樺湪鐨�
-            var frameTable1 = new FrameLayout();
-            frameTable1.Width = pageLayout.Width;
-            frameTable1.Height = pageLayout.Height;
-            pageLayout.AddChidren(frameTable1);
-            //绗竴涓储寮曠殑鐧借壊妗屽竷
-            this.FrameWhiteCentet1 = new NormalFrameLayout();
-            FrameWhiteCentet1.Gravity = Gravity.CenterHorizontal;
-            FrameWhiteCentet1.Y = Application.GetRealHeight(22);
-            FrameWhiteCentet1.Width = Application.GetRealWidth(327);
-            FrameWhiteCentet1.Height = Application.GetRealHeight(526);
-            FrameWhiteCentet1.BackgroundImagePath = "Public/Fragmentbg.png";
-            frameTable1.AddChidren(FrameWhiteCentet1);
-            //璁惧鍚嶅瓧
-            this.btnDeviceName = new NormalViewControl(270, 37, true);
-            btnDeviceName.X = Application.GetRealWidth(16);
-            btnDeviceName.Y = Application.GetRealHeight(18);
-            btnDeviceName.TextColor = CSS_Color.FirstLevelTitleColor;
-            btnDeviceName.TextSize = CSS_FontSize.EmphasisFontSize_FirstLevel;
-            btnDeviceName.Text = device.name;
-            btnDeviceName.Width = btnDeviceName.GetRealWidthByText();
-            FrameWhiteCentet1.AddChidren(btnDeviceName);
-            //鎴块棿鍚嶅瓧
-            this.btnRoomName = new NormalViewControl(270, 21, true);
-            btnRoomName.X = Application.GetRealWidth(16);
-            btnRoomName.Y = btnDeviceName.Bottom;
-            btnRoomName.TextColor = CSS_Color.PromptingColor1;
-            btnRoomName.TextSize = CSS_FontSize.PromptFontSize_FirstLevel;
-            btnRoomName.Text = device.GetRoomListName();
-            btnRoomName.Width = btnRoomName.GetRealWidthByText();
-            FrameWhiteCentet1.AddChidren(btnRoomName);
-            if (ShowColltionButton)
-            {
-                var btnCollection = new IconViewControl(40);
-                btnCollection.X = Application.GetRealWidth(273);
-                btnCollection.Y = Application.GetRealHeight(16);
-                btnCollection.SelectedImagePath = "Collection/CollectionIcon.png";
-                btnCollection.UnSelectedImagePath = "Collection/CollectionGrayIcon.png";
-                btnCollection.IsSelected = device.collect;
-                FrameWhiteCentet1.AddChidren(btnCollection);
-                btnCollection.ButtonClickEvent += (sender, e) =>
-                {
-                    btnCollection.IsSelected = !btnCollection.IsSelected;
-                    device.collect = btnCollection.IsSelected;
-                    btnHigherCollection.IsSelected = device.collect;
-
-                    device.CollectFunction();
-                };
-            }
-        }
-
-        /// <summary>
-        /// 鍒濆鍖栫浜屼釜绱㈠紩鐨勬甯�
-        /// </summary>
-        private void InitFrameWhiteContent2()
-        {
-            this.pageLayout.ScrollEnabled = true;
-            //绗竴涓储寮曟甯冩槸蹇呭畾瀛樺湪鐨�
-            var frameTable2 = new FrameLayout();
-            frameTable2.Width = pageLayout.Width;
-            frameTable2.Height = pageLayout.Height;
-            pageLayout.AddChidren(frameTable2);
-            //绗竴涓储寮曠殑鐧借壊妗屽竷
-            this.FrameWhiteCentet2 = new NormalFrameLayout();
-            FrameWhiteCentet2.Gravity = Gravity.CenterHorizontal;
-            FrameWhiteCentet2.Y = Application.GetRealHeight(22);
-            FrameWhiteCentet2.Width = Application.GetRealWidth(327);
-            FrameWhiteCentet2.Height = Application.GetRealHeight(526);
-            FrameWhiteCentet2.BackgroundImagePath = "Public/Fragmentbg.png";
-            frameTable2.AddChidren(FrameWhiteCentet2);
-        }
-
-        /// <summary>
-        /// 鍒濆鍖栫3涓储寮曠殑妗屽竷
-        /// </summary>
-        private void InitFrameWhiteContent3()
-        {
-            var frameTable3 = new FrameLayout();
-            frameTable3.Width = pageLayout.Width;
-            frameTable3.Height = pageLayout.Height;
-            pageLayout.AddChidren(frameTable3);
-            //绗竴涓储寮曠殑鐧借壊妗屽竷
-            this.FrameWhiteCentet3 = new NormalFrameLayout();
-            FrameWhiteCentet3.Gravity = Gravity.CenterHorizontal;
-            FrameWhiteCentet3.Y = Application.GetRealHeight(22);
-            FrameWhiteCentet3.Width = Application.GetRealWidth(327);
-            FrameWhiteCentet3.Height = Application.GetRealHeight(526);
-            FrameWhiteCentet3.BackgroundImagePath = "Public/Fragmentbg.png";
-            frameTable3.AddChidren(FrameWhiteCentet3);
-        }
-        /// <summary>
-        /// 鍒濆鍖栫4涓储寮曠殑妗屽竷
-        /// </summary>
-        private void InitFrameWhiteContent4()
-        {
-            var frameTable4 = new FrameLayout();
-            frameTable4.Width = pageLayout.Width;
-            frameTable4.Height = pageLayout.Height;
-            pageLayout.AddChidren(frameTable4);
-            //绗竴涓储寮曠殑鐧借壊妗屽竷
-            this.FrameWhiteCentet4 = new NormalFrameLayout();
-            FrameWhiteCentet4.Gravity = Gravity.CenterHorizontal;
-            FrameWhiteCentet4.Y = Application.GetRealHeight(22);
-            FrameWhiteCentet4.Width = Application.GetRealWidth(327);
-            FrameWhiteCentet4.Height = Application.GetRealHeight(526);
-            FrameWhiteCentet4.BackgroundImagePath = "Public/Fragmentbg.png";
-            frameTable4.AddChidren(FrameWhiteCentet4);
-        }
-
-        /// <summary>
-        /// 鍒濆鍖栫櫧鑹插唴瀹�(闇�瑕佽嚜涓诲疄鐜�)
-        /// </summary>
-        public virtual void InitFrameWhiteContent()
-        {
-        }
-
-        #endregion
-
-        #region 鈻� 娣诲姞绗簩绱㈠紩椤礯____________________
-
-        /// <summary>
-        /// 娣诲姞绗簩绱㈠紩椤�
-        /// </summary>
-        public void AddSecondPage()
-        {
-            //鍒濆鍖栫浜屼釜绱㈠紩鐨勬甯�
-            this.InitFrameWhiteContent2();
-
-            //搴曢儴娣诲姞涓や釜鎸夐挳
-            this.btnBottomOne = new NormalViewControl(14, 6, true);
-            btnBottomOne.X = Application.GetRealWidth(170);
-            btnBottomOne.Y = FrameWhiteCentet1.Bottom + Application.GetRealHeight(30);
-            btnBottomOne.BackgroundColor = CSS_Color.MainColor;
-            btnBottomOne.Radius = (uint)Application.GetRealHeight(6) / 2;
-            bodyFrameLayout.AddChidren(btnBottomOne);
-
-            this.btnBottomTwo = new NormalViewControl(14, 6, true);
-            btnBottomTwo.X = btnBottomOne.Right + Application.GetRealWidth(8);
-            btnBottomTwo.Y = btnBottomOne.Y;
-            btnBottomTwo.BackgroundColor = 0xffadc7f7;
-            btnBottomTwo.Radius = (uint)Application.GetRealHeight(6) / 2;
-            bodyFrameLayout.AddChidren(btnBottomTwo);
-
-        }
-
-        /// <summary>
-        /// 娣诲姞绗�3绱㈠紩椤�
-        /// </summary>
-        public void Add3thPage()
-        {
-            this.InitFrameWhiteContent2();
-            this.InitFrameWhiteContent3();
-
-            //搴曢儴娣诲姞涓や釜鎸夐挳
-            this.btnBottomOne = new NormalViewControl(14, 6, true);
-            btnBottomOne.X = Application.GetRealWidth(160);
-            btnBottomOne.Y = FrameWhiteCentet1.Bottom + Application.GetRealHeight(30);
-            btnBottomOne.BackgroundColor = CSS_Color.MainColor;
-            btnBottomOne.Radius = (uint)Application.GetRealHeight(6) / 2;
-            bodyFrameLayout.AddChidren(btnBottomOne);
-            this.btnBottomTwo = new NormalViewControl(14, 6, true);
-            btnBottomTwo.X = btnBottomOne.Right + Application.GetRealWidth(8);
-            btnBottomTwo.Y = btnBottomOne.Y;
-            btnBottomTwo.BackgroundColor = 0xffadc7f7;
-            btnBottomTwo.Radius = (uint)Application.GetRealHeight(6) / 2;
-            bodyFrameLayout.AddChidren(btnBottomTwo);
-            this.btnBottom3 = new NormalViewControl(14, 6, true);
-            btnBottom3.X = btnBottomTwo.Right + Application.GetRealWidth(8);
-            btnBottom3.Y = btnBottomTwo.Y;
-            btnBottom3.BackgroundColor = 0xffadc7f7;
-            btnBottom3.Radius = (uint)Application.GetRealHeight(6) / 2;
-            bodyFrameLayout.AddChidren(btnBottom3);
-        }
-        /// <summary>
-        /// 娣诲姞绗�3绱㈠紩椤�
-        /// </summary>
-        public void Add4Page()
-        {
-            this.InitFrameWhiteContent2();
-            this.InitFrameWhiteContent3();
-            this.InitFrameWhiteContent4();
-
-            //搴曢儴娣诲姞涓や釜鎸夐挳
-            this.btnBottomOne = new NormalViewControl(14, 6, true);
-            btnBottomOne.X = Application.GetRealWidth(150);
-            btnBottomOne.Y = FrameWhiteCentet1.Bottom + Application.GetRealHeight(30);
-            btnBottomOne.BackgroundColor = CSS_Color.MainColor;
-            btnBottomOne.Radius = (uint)Application.GetRealHeight(6) / 2;
-            bodyFrameLayout.AddChidren(btnBottomOne);
-            this.btnBottomTwo = new NormalViewControl(14, 6, true);
-            btnBottomTwo.X = btnBottomOne.Right + Application.GetRealWidth(8);
-            btnBottomTwo.Y = btnBottomOne.Y;
-            btnBottomTwo.BackgroundColor = 0xffadc7f7;
-            btnBottomTwo.Radius = (uint)Application.GetRealHeight(6) / 2;
-            bodyFrameLayout.AddChidren(btnBottomTwo);
-            this.btnBottom3 = new NormalViewControl(14, 6, true);
-            btnBottom3.X = btnBottomTwo.Right + Application.GetRealWidth(8);
-            btnBottom3.Y = btnBottomTwo.Y;
-            btnBottom3.BackgroundColor = 0xffadc7f7;
-            btnBottom3.Radius = (uint)Application.GetRealHeight(6) / 2;
-            bodyFrameLayout.AddChidren(btnBottom3);
-            this.btnBottom4 = new NormalViewControl(14, 6, true);
-            btnBottom4.X = btnBottom3.Right + Application.GetRealWidth(8);
-            btnBottom4.Y = btnBottom3.Y;
-            btnBottom4.BackgroundColor = 0xffadc7f7;
-            btnBottom4.Radius = (uint)Application.GetRealHeight(6) / 2;
-            bodyFrameLayout.AddChidren(btnBottom4);
-        }
-
-
-        /// <summary>
-        /// 璁剧疆搴曢儴涓や釜鎸夐挳鐨勭姸鎬�
-        /// </summary>
-        private void SetBottomTwoButtonStatu()
-        {
-            if (this.btnBottomTwo == null) { return; }
-
-            if (this.pageLayout.PageIndex == 0)
-            {
-                this.btnBottomOne.BackgroundColor = CSS_Color.MainColor;
-                this.btnBottomTwo.BackgroundColor = 0xffadc7f7;
-                this.btnBottom3.BackgroundColor = 0xffadc7f7;
-                this.btnBottom4.BackgroundColor = 0xffadc7f7;
-            }
-            else if (this.pageLayout.PageIndex == 1)
-            {
-                this.btnBottomOne.BackgroundColor = 0xffadc7f7;
-                this.btnBottomTwo.BackgroundColor = CSS_Color.MainColor;
-                this.btnBottom3.BackgroundColor = 0xffadc7f7;
-                this.btnBottom4.BackgroundColor = 0xffadc7f7;
-            }
-            else if (this.pageLayout.PageIndex == 2)
-            {
-                this.btnBottomOne.BackgroundColor = 0xffadc7f7;
-                this.btnBottomTwo.BackgroundColor = 0xffadc7f7;
-                this.btnBottom3.BackgroundColor = CSS_Color.MainColor;
-                this.btnBottom4.BackgroundColor = 0xffadc7f7;
-            }
-            else if (this.pageLayout.PageIndex == 3)
-            {
-                this.btnBottomOne.BackgroundColor = 0xffadc7f7;
-                this.btnBottomTwo.BackgroundColor = 0xffadc7f7;
-                this.btnBottom4.BackgroundColor = CSS_Color.MainColor;
-                this.btnBottom3.BackgroundColor = 0xffadc7f7;
-            }
-        }
-
-        #endregion
-
-        #region 鈻� 鐣岄潰鍏抽棴___________________________
-
-        /// <summary>
-        /// 鐣岄潰鍏抽棴
-        /// </summary>
-        public override void CloseFormBefore()
-        {
-            base.CloseFormBefore();
-
-            this.SettionFinishEvent = null;
-            this.PageChangeEvent = null;
-        }
-
-        #endregion
-
-        #region 鈻� 涓�鑸柟娉昣__________________________
-
-        /// <summary>
-        /// 鑾峰彇澶撮儴鍙宠竟鐨勩�愯缃�戝浘鏍囨帶浠�
-        /// </summary>
-        /// <returns></returns>
-        public PicViewControl GetTopSettingIcon()
-        {
-            for (int i = 0; i < topFrameLayout.ChildrenCount; i++)
-            {
-                var myView = topFrameLayout.GetChildren(i);
-                if (myView == null || myView.Name != "btnSetting")
-                {
-                    continue;
-                }
-                return myView as PicViewControl;
-            }
-            return null;
-        }
-
-        /// <summary>
-        /// 娣诲姞澶撮儴銆愯缃�戠殑鍥炬爣
-        /// </summary>
-        /// <param name="btnHigherCollection">涓婁竴绾х晫闈㈢殑鏀惰棌鎺т欢(鍘熸潵on鐨勬鏋跺お鍧�)</param>
-        /// <param name="btnHigherDeviceName">涓婁竴绾х晫闈㈢殑璁惧鍚嶅瓧鎺т欢(鍘熸潵on鐨勬鏋跺お鍧�)</param>
-        private void AddTopSettingIcon(Button btnHigherDeviceName, Button btnHigherRoom)
-        {
-            //璁剧疆鍥炬爣(闂ㄩ攣鐣岄潰闇�瑕佸�熺敤杩欎釜鍥炬爣鐨刋杞村拰Y杞�,鎵�浠ュ姞杩涙潵)
-            var btnSetting = new PicViewControl(28, 28);
-            btnSetting.X = Application.GetRealWidth(337);
-            btnSetting.Y = Application.GetRealHeight(9);
-            btnSetting.UnSelectedImagePath = "Public/FuncInfoSetIcon.png";
-            btnSetting.Name = "btnSetting";
-            topFrameLayout.AddChidren(btnSetting);
-
-            //濡傛灉鏄垚鍛樻病鏈夊姛鑳�
-            if (DB_ResidenceData.Instance.CurrentRegion.isOtherShare == true)
-            {
-                btnSetting.Visible = false;
-            }
-
-            btnSetting.ButtonClickEvent += (sender, e) =>
-            {
-                var infoView = new UI.FunctionBaseInfoSetPage(this.device, () =>
-                {
-                    //鍒锋柊鏄剧ず
-                    btnHigherDeviceName.Text = this.device.name;
-                    btnHigherRoom.Text = this.device.GetRoomListName();
-
-                    //浠庢柊璁$畻瀹藉害
-                    this.btnDeviceName.Text = btnHigherDeviceName.Text;
-                    this.btnDeviceName.Width = this.btnDeviceName.GetRealWidthByText();
-
-                    this.btnRoomName.Text = btnHigherRoom.Text;
-                    this.btnRoomName.Width = this.btnRoomName.GetRealWidthByText();
-
-                    //鍥炶皟浜嬩欢
-                    this.SettionFinishEvent?.Invoke();
-                });
-                MainPage.BasePageView.AddChidren(infoView);
-                infoView.LoadPage();
-                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
-            };
-        }
-
-        #endregion
-    }
-}
diff --git a/HDL_ON/UI/UI1-Login/LoginPage.cs b/HDL_ON/UI/UI1-Login/LoginPage.cs
index 4b8c43a..fe9387a 100644
--- a/HDL_ON/UI/UI1-Login/LoginPage.cs
+++ b/HDL_ON/UI/UI1-Login/LoginPage.cs
@@ -227,17 +227,17 @@
                     //etAccount.Text = "13682244600";//娉㈠摜
                     etAccount.Text = "13168123446";//鏄嗘槑閲戣寕椤圭洰锛屾柊椋庨棶棰�
                     //etAccount.Text = "2949126848@qq.com";//闄堢惓
-                    etAccount.Text = "15014291819 ";
+                    //etAccount.Text = "13415629083";
                     //etAccount.Text = "13676202754";//宸存灄鏈嶅姟鍣�
                     //etAccount.Text = "13602944661";//kx
                     //etAccount.Text = "18666455392";//13375012446//13602944661//tzy 18778381374
                     //etAccount.Text = "15971583093";//楂樿儨
                     //etAccount.Text = "15217626103";//鏄嗘槑閲戣寕椤圭洰
                     //etAccount.Text = "18598273624";
-                    //etAccount.Text = "tf@smarttech.com.ua";
+                    etAccount.Text = "tf@smarttech.com.ua";
                     //etAccount.Text = "18814122445";//钁f辰鏂� 澶╂渤鍔炲叕瀹�
-                    //etAccount.Text = "18824864143";//"464027401@qq.com"; //"2791308028@qq.com";//13697499568
-                    //etAccount.Text = "18402017839";//wjc
+                    etAccount.Text = "18824864143";//"464027401@qq.com"; //"2791308028@qq.com";//13697499568
+                    etAccount.Text = "18402017839";//wjc
                     //etAccount.Text = "13430286286";//cwc
                     //etAccount.Text = "13709260805";
                     //etAccount.Text = "support5@hdlchina.com.cn";
@@ -245,15 +245,15 @@
                     //etAccount.Text = "info@smartlife-ks.com";
                     //etAccount.Text = "551775569@qq.com";//wcf
                     //etAccount.Text = "15626203746";
-                    etAccount.Text = "18244942707";
+                    etAccount.Text = "18186330667";
                     //etAccount.Text = "zhangquansongjava@163.com";
                     //etAccount.Text = "s.savinov@hdlautomation.ru";
                 }
                 b = !b;
                 etPassword.Text = "123456";
-                if(etAccount.Text == "15014291819 ")
+                if(etAccount.Text == "s.savinov@hdlautomation.ru")
                 {
-                    etPassword.Text = "hdl123456";
+                    etPassword.Text = "BWGVOFCJ";
                 }
                 //etPassword.Text = "Hdl85521566";
                 btnLogin.IsSelected = true;
@@ -1136,8 +1136,7 @@
         /// <param name="frameBack"></param>
         private void AddServiceAgreementControl(FrameLayout frameLayout)
         {
-            isAgreePrivacyPolicy = false;
-            OnAppConfig.Instance.isAgreePrivacyPolicy = false;
+            isAgreePrivacyPolicy = OnAppConfig.Instance.isAgreePrivacyPolicy;
 
 
 
diff --git a/HDL_ON/UI/UI2/1-HomePage/HomePage.cs b/HDL_ON/UI/UI2/1-HomePage/HomePage.cs
index d4c6a4c..33dc5d2 100644
--- a/HDL_ON/UI/UI2/1-HomePage/HomePage.cs
+++ b/HDL_ON/UI/UI2/1-HomePage/HomePage.cs
@@ -206,6 +206,19 @@
                     //    Control.Ins.OneKeyUnlocking(new Function(), UserInfo.Current.doorPasswordString);
                     //}
 
+                ddd++;
+                    Function function_online = FunctionList.List.GetLightList().Find((obj) => obj.sid == "0001017DB92D2602020100010101");
+                    if(ddd%2 == 0)
+                    {
+                        function_online.online = true;
+                    }
+                    else
+                    {
+                        function_online.online = false;
+                    }
+                    HomePage.LoadEvent_RefreshDevcieOnline(function_online);
+                    
+
                 };
 #endif
 
@@ -580,7 +593,7 @@
 
             //FunctionList.List.Functions.Add(new Function
             //{
-            //    name = "娴嬭瘯闂ㄩ攣",
+            //    name = "闂ㄩ攣",
             //    spk = SPK.DoorLock,
             //    sid = "12345",
             //    attributes = new List<FunctionAttributes> {
@@ -689,41 +702,10 @@
             //{
             //    spk = SPK.AirFreshStandard,
             //    name = "娴嬭瘯鏂伴",
-            //    sid = "098765433242342342",
             //    attributes = new List<FunctionAttributes>()
             //    {
             //        new FunctionAttributes(){ key = "on_off",curValue= "on",state = "on" },
             //        new FunctionAttributes(){ key = "fan",curValue= "low",state = "low" ,value = new List<string>(){ "high", "medium", "low" } },
-            //    },
-            //});
-
-            //FunctionList.List.Functions.Add(new Function()
-            //{
-            //    spk = SPK.PanelEnvironment,
-            //    name = "娴嬭瘯鐜闈㈡澘",
-            //    targetSids = new List<string> {
-            //        "098765433242342342",
-            //        "ac1",
-            //        "floorheat1"
-            //    }
-            //});
-
-
-            //FunctionList.List.Functions.Add(new Function()
-            //{
-            //    spk = SPK.HvacCac,
-            //    name = "娴嬭瘯閲戣寕娓╂帶",
-            //    attributes = new List<FunctionAttributes>()
-            //    {
-            //        new FunctionAttributes(){ key = "on_off",curValue= "on",state = "on" },
-            //        new FunctionAttributes(){ key = "mode",curValue= "cool",state = "cool" ,value = new List<string>(){ "cool", "heat" } },
-            //        new FunctionAttributes(){ key = "set_temp",curValue= "22",state = "22" ,value = new List<string>(){},min = 0,max = 30 },
-            //        //new FunctionAttributes(){ key = "set_temp_step",curValue= "low",state = "low" ,value = new List<string>(){ "high", "medium", "low", "auto", "stop" } },
-            //        new FunctionAttributes(){ key = "humidity",curValue= "0",state = "0" ,value = new List<string>(){  },min = 0,max = 100 },
-            //        new FunctionAttributes(){ key = "room_temp",curValue= "26",state = "26" ,value = new List<string>(){  },min = 0,max = 100 },
-            //        new FunctionAttributes(){ key = "dew_point_temp",curValue= "20",state = "20" ,value = new List<string>(){  },min = 0,max = 100 },
-            //        new FunctionAttributes(){ key = "room_humidity",curValue= "20",state = "20" ,value = new List<string>(){  },min = 0,max = 1000 },
-            //        //new FunctionAttributes(){ key = "tvoc",curValue= "20",state = "20" ,value = new List<string>(){  },min = 0,max = 100 },
             //    },
             //});
 
@@ -932,7 +914,6 @@
 
         /// <summary>
         /// 鍔犺浇璁惧鍔熻兘鏄剧ず鍖哄煙
-        /// Tag 鏀惰棌鍗$墖
         /// </summary>
         void LoadDeviceFunctionControlZone()
         {
@@ -1020,10 +1001,10 @@
                     index++;
 
 
-                    //if (!function.online)
-                    //{
-                    //    btnbg.UnSelectedImagePath = "Collection/FunctionOfflineBg.png";
-                    //}
+                    if (!function.online)
+                    {
+                        btnbg.UnSelectedImagePath = "Collection/FunctionOfflineBg.png";
+                    }
                 }
 
                 if (index == 0)
@@ -1146,7 +1127,6 @@
 
         /// <summary>
         /// 鍔犺浇鍔熻兘鎺у埗鍗$墖
-        /// Tag 鍗$墖鑷畾涔�
         /// </summary>
         void LoadDeviceFunctionDiv(FrameLayout view, Function function)
         {
@@ -1360,11 +1340,6 @@
                     LoadEvent_ControlClothesHanger(function, btnUp, btnDown);
 
                 }
-                //绱ф�ユ眰鍔�
-                else if (function.spk == SPK.SensorHelp)
-                {
-
-                }
 
                 else
                 {
@@ -1412,19 +1387,19 @@
                     UpdataFunctionStates(function);
                 }
 
-                //var btnOffline = new Button()
-                //{
-                //    X = btnIcon.Right,
-                //    Y = Application.GetRealWidth(16),
-                //    Height = Application.GetMinRealAverage(32),
-                //    TextID = StringId.DeviceOffline,
-                //    TextColor = CSS_Color.WarningColor,
-                //    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
-                //    TextAlignment = TextAlignment.CenterLeft,
-                //    Tag = "OnlineTag",
-                //    Visible = !function.online
-                //};
-                //view.AddChidren(btnOffline);
+                var btnOffline = new Button()
+                {
+                    X = btnIcon.Right,
+                    Y = Application.GetRealWidth(16),
+                    Height = Application.GetMinRealAverage(32),
+                    TextID = StringId.DeviceOffline,
+                    TextColor = CSS_Color.WarningColor,
+                    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+                    TextAlignment = TextAlignment.CenterLeft,
+                    Tag = "OnlineTag",
+                    Visible = !function.online
+                };
+                view.AddChidren(btnOffline);
 
             }
             catch (Exception ex)
diff --git a/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs b/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs
index 8177983..342d1d5 100644
--- a/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs
+++ b/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs
@@ -14,46 +14,46 @@
         /// </summary>
         public static void LoadEvent_RefreshDevcieOnline(Function function)
         {
-            //Application.RunOnMainThread(() =>
-            //{
-            //    if (bodyView != null)
-            //    {
-            //        foreach (var view in bodyView.functionViews)
-            //        {
-            //            if (view.Tag.ToString() == function.sid)
-            //            {
-            //                for (int i = 0; i < view.ChildrenCount; i++)
-            //                {
-            //                    if (view.GetChildren(i).GetType() == typeof(Button))
-            //                    {
-            //                        var btn = view.GetChildren(i) as Button;
-            //                        if(btn.Tag == null)
-            //                        {
-            //                            continue;
-            //                        }
-            //                        if (btn.Tag.ToString() == function.sid)
-            //                        {
-            //                            if (function.online)
-            //                            {
-            //                                btn.UnSelectedImagePath = "Collection/Functionbg.png";
-            //                                btn.IsSelected = false;
-            //                            }
-            //                            else
-            //                            {
-            //                                btn.UnSelectedImagePath = "Collection/FunctionOfflineBg.png";
-            //                                btn.IsSelected = false;
-            //                            }
-            //                        }
-            //                        else if (btn.Tag.ToString() == "OnlineTag")
-            //                        {
-            //                            btn.Visible = !function.online;
-            //                        }
-            //                    }
-            //                }
-            //            }
-            //        }
-            //    }
-            //});
+            Application.RunOnMainThread(() =>
+            {
+                if (bodyView != null)
+                {
+                    foreach (var view in bodyView.functionViews)
+                    {
+                        if (view.Tag.ToString() == function.sid)
+                        {
+                            for (int i = 0; i < view.ChildrenCount; i++)
+                            {
+                                if (view.GetChildren(i).GetType() == typeof(Button))
+                                {
+                                    var btn = view.GetChildren(i) as Button;
+                                    if(btn.Tag == null)
+                                    {
+                                        continue;
+                                    }
+                                    if (btn.Tag.ToString() == function.sid)
+                                    {
+                                        if (function.online)
+                                        {
+                                            btn.UnSelectedImagePath = "Collection/Functionbg.png";
+                                            btn.IsSelected = false;
+                                        }
+                                        else
+                                        {
+                                            btn.UnSelectedImagePath = "Collection/FunctionOfflineBg.png";
+                                            btn.IsSelected = false;
+                                        }
+                                    }
+                                    else if (btn.Tag.ToString() == "OnlineTag")
+                                    {
+                                        btn.Visible = !function.online;
+                                    }
+                                }
+                            }
+                        }
+                    }
+                }
+            });
         }
         /// <summary>
         /// 鏇存柊涓婚〉澶╂皵
@@ -514,16 +514,16 @@
         {
             btnSwitch.MouseUpEventHandler = (sender, e) =>
             {
-                //if (!function.online)//绂荤嚎涓嶅厑璁告搷浣�
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
+                if (!function.online)//绂荤嚎涓嶅厑璁告搷浣�
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                    return;
+                }
                 btnSwitch.IsSelected = !btnSwitch.IsSelected;
                 new System.Threading.Thread(() =>
                 {
@@ -577,16 +577,16 @@
         {
             btnSwitch.MouseUpEventHandler = (sender, e) =>
             {
-                //if (!function.online)//绂荤嚎涓嶅厑璁告搷浣�
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
+                if (!function.online)//绂荤嚎涓嶅厑璁告搷浣�
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                    return;
+                }
                 if (DB_ResidenceData.Instance.GatewayType == 1)
                 {
                     btnSwitch.IsSelected = !btnSwitch.IsSelected;
@@ -621,16 +621,16 @@
         {
             btnClose.MouseUpEventHandler = (sender, e) =>
             {
-                //if (!curtain.online)//绂荤嚎涓嶅厑璁告搷浣�
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
+                if (!curtain.online)//绂荤嚎涓嶅厑璁告搷浣�
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                    return;
+                }
                 btnClose.IsSelected = true;
                 curtain.trait_on_off.curValue = "off";
                 curtain.SetAttrState(FunctionAttributeKey.Percent, 0);
@@ -641,16 +641,16 @@
 
             btnOpen.MouseUpEventHandler = (sender, e) =>
             {
-                //if (!curtain.online)//绂荤嚎涓嶅厑璁告搷浣�
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
+                if (!curtain.online)//绂荤嚎涓嶅厑璁告搷浣�
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                    return;
+                }
                 btnOpen.IsSelected = true;
                 curtain.trait_on_off.curValue = "on";
                 curtain.SetAttrState(FunctionAttributeKey.Percent, 100);
@@ -671,16 +671,16 @@
             };
             btnUp.MouseUpEventHandler = (sender, e) =>
             {
-                //if (!function.online)//绂荤嚎涓嶅厑璁告搷浣�
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
+                if (!function.online)//绂荤嚎涓嶅厑璁告搷浣�
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                    return;
+                }
                 new System.Threading.Thread(() =>
                 {
                     System.Threading.Thread.Sleep(2000);
@@ -702,16 +702,16 @@
             };
             btnDown.MouseUpEventHandler = (sender, e) =>
             {
-                //if (!function.online)//绂荤嚎涓嶅厑璁告搷浣�
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
+                if (!function.online)//绂荤嚎涓嶅厑璁告搷浣�
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                    return;
+                }
                 new System.Threading.Thread(() =>
                 {
                     System.Threading.Thread.Sleep(2000);
diff --git a/HDL_ON/UI/UI2/2-Classification/ClassificaitionPublicBLL.cs b/HDL_ON/UI/UI2/2-Classification/ClassificaitionPublicBLL.cs
index db8ee37..2cb9b13 100644
--- a/HDL_ON/UI/UI2/2-Classification/ClassificaitionPublicBLL.cs
+++ b/HDL_ON/UI/UI2/2-Classification/ClassificaitionPublicBLL.cs
@@ -215,7 +215,7 @@
                         {
                             if (scrolView.GetChildren(i).GetType() == typeof(FunctionControlZone)) {
                                 var fcView = scrolView.GetChildren(i) as FunctionControlZone;
-                                //fcView.UpdataOnline(updataFunction.online);
+                                fcView.UpdataOnline(updataFunction.online);
                             }
                         }
                     }
diff --git a/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs b/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs
index b269c83..77796b7 100644
--- a/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs
+++ b/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs
@@ -647,7 +647,6 @@
 
             var functionCategoryCount = 0;
 
-            //Tag 鍒嗙被鍗$墖鏄剧ず
             foreach (var item in DB_ResidenceData.Instance.functionTypeList)
             {
                 int functionCount = 0;
@@ -710,7 +709,6 @@
 #endif
                         break;
                     case ShowFunction.Panel:
-                        functionCount = FunctionList.List.GetPanelList().Count;
                         break;
                     case ShowFunction.SecurityMonitoring:
                         if (!MainPage.NoLoginMode)
@@ -790,56 +788,37 @@
                 };
                 functionView.AddChidren(btnName);
 
-                //Tag 鏁伴噺鏄剧ず
                 if (item != ShowFunction.Environmental && item != ShowFunction.Sensor && item != ShowFunction.VideoIntercom
                     && item != ShowFunction.SecurityMonitoring && item != ShowFunction.FreshAir && item != ShowFunction.Music
                     && item != ShowFunction.EnergyMonitoring && item != ShowFunction.SecurityCenter
                     && functionCount != 0)
                 {
-                    if (item == ShowFunction.Panel)
+                    Button btnFunctionCount = new Button()
                     {
-                        Button btnFunctionCount = new Button()
-                        {
-                            X = Application.GetRealWidth(16),
-                            Y = btnName.Bottom,
-                            Width = Application.GetRealWidth(120),
-                            Height = Application.GetRealHeight(24),
-                            TextColor = CSS_Color.PromptingColor1,
-                            TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
-                            TextAlignment = TextAlignment.CenterLeft,
-                            Text = functionCount.ToString(),
-                        };
-                        functionView.AddChidren(btnFunctionCount);
-                    }
-                    else
+                        X = Application.GetRealWidth(17) + Application.GetRealWidth(7 * functionCount.ToString().Length),
+                        Y = btnName.Bottom,
+                        Width = Application.GetRealWidth(120),
+                        Height = Application.GetRealHeight(24),
+                        TextColor = CSS_Color.PromptingColor1,
+                        TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+                        TextAlignment = TextAlignment.CenterLeft,
+                        Text = "/" + functionCount,
+                    };
+                    functionView.AddChidren(btnFunctionCount);
+                    Button btnOpenCount = new Button()
                     {
-                        Button btnFunctionCount = new Button()
-                        {
-                            X = Application.GetRealWidth(17) + Application.GetRealWidth(7 * functionCount.ToString().Length),
-                            Y = btnName.Bottom,
-                            Width = Application.GetRealWidth(120),
-                            Height = Application.GetRealHeight(24),
-                            TextColor = CSS_Color.PromptingColor1,
-                            TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
-                            TextAlignment = TextAlignment.CenterLeft,
-                            Text = "/" + functionCount,
-                        };
-                        functionView.AddChidren(btnFunctionCount);
-                        Button btnOpenCount = new Button()
-                        {
-                            X = Application.GetRealWidth(16),
-                            Y = btnName.Bottom,
-                            Width = Application.GetRealWidth(14 * functionCount.ToString().Length),
-                            Height = Application.GetRealHeight(24),
-                            TextColor = CSS_Color.MainColor,
-                            TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
-                            TextAlignment = TextAlignment.CenterLeft,
-                            Text = functionOnCount.ToString(),
-                            Tag = item + "_onCount",
-                            BorderWidth = 0,
-                        };
-                        functionView.AddChidren(btnOpenCount);
-                    }
+                        X = Application.GetRealWidth(16),
+                        Y = btnName.Bottom,
+                        Width = Application.GetRealWidth(14 * functionCount.ToString().Length),
+                        Height = Application.GetRealHeight(24),
+                        TextColor = CSS_Color.MainColor,
+                        TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+                        TextAlignment = TextAlignment.CenterLeft,
+                        Text = functionOnCount.ToString(),
+                        Tag = item + "_onCount",
+                        BorderWidth = 0,
+                    };
+                    functionView.AddChidren(btnOpenCount);
                 }
 
 
@@ -851,7 +830,6 @@
                 };
                 functionView.AddChidren(btnFunctionViewBg);
 
-                //Tag 璋冭瘯浜嬩欢鍒ゆ柇
                 int functionPageTitleId = 0;
                 switch (item)
                 {
@@ -1044,8 +1022,7 @@
                         };
                         break;
                     case ShowFunction.Panel:
-                        btnName.TextID = StringId.SmartPanel;
-                        functionPageTitleId = StringId.SmartPanel;
+                        btnName.TextID = StringId.Panel;
                         break;
                     case ShowFunction.SecurityMonitoring:
                         btnName.TextID = StringId.SecurityMonitoring;
diff --git a/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs b/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs
index 92fea27..8185dc9 100644
--- a/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs
+++ b/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs
@@ -54,7 +54,6 @@
 
         /// <summary>
         /// 鍔犺浇鍔熻兘绫诲瀷鎺у埗鍗$墖
-        /// Tag 鍔熻兘灞炴�ф樉绀�
         /// </summary>
         public void LoadFunctionDiv()
         {
@@ -100,178 +99,6 @@
             else if (function.spk == SPK.DoorLock)
             {
                 btnIcon.UnSelectedImagePath = "FunctionIcon/DoorLock/DoorLock.png";
-            }
-            else if(SPK.PanelSpkList().Contains(function.spk))//鏅鸿兘闈㈡澘璁惧
-            {
-                var powerLowTipAttr = function.attributes.Find((obj) => obj.key == FunctionAttributeKey.BatteryState);
-                if (powerLowTipAttr != null)
-                {
-                    if (powerLowTipAttr.state.ToLower() == "low")
-                    {
-                        Button btnTipPowerLow = new Button()
-                        {
-                            X = Application.GetRealWidth(307),
-                            Y = Application.GetRealHeight(70),
-                            Width = Application.GetRealWidth(24),
-                            Height = Application.GetRealWidth(24),
-                            UnSelectedImagePath = "FunctionIcon/ArmSensor/PowerLowIcon.png",
-                            SelectedImagePath = "FunctionIcon/ArmSensor/PowerLowIcon.png",
-                        };
-                        this.AddChidren(btnTipPowerLow);
-                    }
-                }
-                var alarmStatusAttr = function.GetAttribute("alarm_status");
-                if(alarmStatusAttr !=null)
-                {
-                    var btnAlarmStatus = new Button()
-                    {
-                        X = Application.GetRealWidth(8 + 10 + 32),
-                        Y = Application.GetRealHeight(53),
-                        Width = Application.GetRealWidth(200),
-                        Height = Application.GetRealHeight(24),
-                        TextAlignment = TextAlignment.CenterLeft,
-                        TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
-                        Tag = "AlarmStatus"
-                    };
-                    if (alarmStatusAttr.state == "alarm")
-                    {
-                        btnAlarmStatus.TextID = StringId.InAlarm;
-                        btnAlarmStatus.TextColor = CSS_Color.WarningColor;
-                    }
-                    else
-                    {
-                        btnAlarmStatus.TextID = StringId.zhengchang;
-                        btnAlarmStatus.TextColor = CSS_Color.MainColor;
-                    }
-
-                    bodyDiv.AddChidren(btnAlarmStatus);
-                }
-
-                //var tipScrView1 = new HorizontalScrolViewLayout() {
-                //    X = Application.GetRealWidth(10),
-                //    Y =  Application.GetRealHeight(56),
-                //    Height = Application.GetRealHeight(20),
-                //    Width = Application.GetRealWidth(330),
-                //    BackgroundColor = 0x22220022,
-                //};
-                //var tipScrView2 = new HorizontalScrolViewLayout()
-                //{
-                //    X = Application.GetRealWidth(10),
-                //    Y = Application.GetRealHeight(83),
-                //    Height = Application.GetRealHeight(20),
-                //    Width = Application.GetRealWidth(330),
-                //    BackgroundColor = 0x22220022,
-                //};
-
-
-                foreach (var target in function.targetSids)
-                {
-                    //bodyDiv.AddChidren(tipScrView1);
-                    //bodyDiv.AddChidren(tipScrView2);
-                    var targetObj = FunctionList.List.Functions.Find((obj) => target == obj.sid);
-                    if(targetObj == null)
-                    {
-                        continue;
-                    }
-                    if (SPK.AcSpkList().Contains(targetObj.spk))
-                    {
-                        bodyDiv.Height = Application.GetRealHeight(126);
-
-                        AC acDevice = new AC();
-                        var btnAcMode = new Button()
-                        {
-                            X = Application.GetRealWidth(10),
-                            Y = Application.GetRealHeight(56),
-                            Width = Application.GetRealWidth(62),
-                            Height = Application.GetRealHeight(19),
-                            BackgroundColor = 0x334484F4,
-                            TextAlignment = TextAlignment.Center,
-                            TextSize = 10,
-                            TextColor = 0xFF4484F4,
-                            Text = Language.StringByID(StringId.AC) + acDevice.GetModeAttrText(targetObj.GetAttrState(FunctionAttributeKey.Mode)),
-                            Tag = target + "screen.panel.ac.mode",
-                            Radius = (uint)Application.GetRealWidth(4),
-                        };
-                        bodyDiv.AddChidren(btnAcMode);
-                        //tipScrView1.AddChidren(new Button() { Width = Application.GetRealWidth(16)});
-
-                        var btnAcTemp = new Button()
-                        {
-                            X = Application.GetRealWidth(10 + 72),
-                            Y = Application.GetRealHeight(56),
-                            Width = Application.GetRealWidth(62),
-                            Height = Application.GetRealHeight(19),
-                            BackgroundColor = 0x334484F4,
-                            TextAlignment = TextAlignment.Center,
-                            TextSize = 10,
-                            TextColor = 0xFF4484F4,
-                            Text = Language.StringByID(StringId.AC) + targetObj.GetAttrState(FunctionAttributeKey.Temperature) + "掳C",
-                            Radius = (uint)Application.GetRealWidth(4),
-                            Tag = target + "screen.panel.ac.temp"
-                        };
-                        bodyDiv.AddChidren(btnAcTemp);
-                        //tipScrView1.AddChidren(new Button() { Width = Application.GetRealWidth(6) });
-                    }
-                    else if (SPK.FhSpkList().Contains(targetObj.spk))
-                    {
-
-                        FloorHeating fhDevice = new FloorHeating();
-                        var btnFhMode = new Button()
-                        {
-                            X = Application.GetRealWidth(10 + 72*2),
-                            Y = Application.GetRealHeight(56),
-                            Radius = (uint)Application.GetRealWidth(4),
-                            Width = Application.GetRealWidth(62),
-                            Height = Application.GetRealHeight(19),
-                            BackgroundColor = 0x33ff9d54,
-                            TextAlignment = TextAlignment.Center,
-                            TextSize = 10,
-                            TextColor = 0xFFff9d54,
-                            Text = Language.StringByID(StringId.FloorHeating) + fhDevice.GetModeAttrText(targetObj.GetAttrState(FunctionAttributeKey.Mode)),
-                            Tag = target + "screen.panel.fh.mode"
-                        };
-                        bodyDiv.AddChidren(btnFhMode);
-                        //tipScrView1.AddChidren(new Button() { Width = Application.GetRealWidth(6) });
-
-                        var btnFhTemp = new Button()
-                        {
-                            X = Application.GetRealWidth(10 + 72 * 3),
-                            Y = Application.GetRealHeight(56),
-                            Radius = (uint)Application.GetRealWidth(4),
-                            Width = Application.GetRealWidth(62),
-                            Height = Application.GetRealHeight(19),
-                            BackgroundColor = 0x33ff9d54,
-                            TextAlignment = TextAlignment.Center,
-                            TextSize = 10,
-                            TextColor = 0xFFff9d54,
-                            Text = Language.StringByID(StringId.FloorHeating) + targetObj.GetAttrState(FunctionAttributeKey.Temperature) + "掳C",
-                            Tag = target + "screen.panel.fh.temp"
-                        };
-                        bodyDiv.AddChidren(btnFhTemp);
-                        //tipScrView1.AddChidren(new Button() { Width = Application.GetRealWidth(6) });
-                    }
-                    else if (SPK.AirFreshSpkList().Contains(targetObj.spk))
-                    {
-
-                        AC acDevice = new AC();
-                        var btnAirFreshFanSpeed = new Button()
-                        {
-                            X = Application.GetRealWidth(10),
-                            Y = Application.GetRealHeight(83),
-                            Width = Application.GetRealWidth(62),
-                            Height = Application.GetRealHeight(19),
-                            BackgroundColor = 0x3309bb07,
-                            TextAlignment = TextAlignment.Center,
-                            TextSize = 10,
-                            TextColor = 0xFF09bb07,
-                            Radius = (uint)Application.GetRealWidth(4),
-                            Text = Language.StringByID(StringId.AirFresh) + acDevice.GetFanAttrText(targetObj.GetAttrState(FunctionAttributeKey.FanSpeed)),
-                            Tag = target + "screen.panel.airFresh.mode"
-                        };
-                        bodyDiv.AddChidren(btnAirFreshFanSpeed);
-                    }
-                }
-
             }
             else
             {
@@ -403,21 +230,21 @@
                 bodyDiv.AddChidren(btnCollectionIcon);
             }
 
-            //if (!function.online)
-            //{
-            //    bodyDiv.BackgroundColor = CSS_Color.PromptingColor2;
-            //    btnOffline = new Button()
-            //    {
-            //        X = Application.GetRealWidth(8 + 10 + 32),
-            //        Y = Application.GetRealHeight(28 + 24),
-            //        Height = Application.GetRealHeight(30),
-            //        TextID = StringId.DeviceOffline,
-            //        TextColor = CSS_Color.WarningColor,
-            //        TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
-            //        TextAlignment = TextAlignment.CenterLeft
-            //    };
-            //    bodyDiv.AddChidren(btnOffline);
-            //}
+            if (!function.online)
+            {
+                bodyDiv.BackgroundColor = CSS_Color.PromptingColor2;
+                btnOffline = new Button()
+                {
+                    X = Application.GetRealWidth(8 + 10 + 32),
+                    Y = Application.GetRealHeight(28 + 24),
+                    Height = Application.GetRealHeight(30),
+                    TextID = StringId.DeviceOffline,
+                    TextColor = CSS_Color.WarningColor,
+                    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+                    TextAlignment = TextAlignment.CenterLeft
+                };
+                bodyDiv.AddChidren(btnOffline);
+            }
         }
 
         /// <summary>
diff --git a/HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs b/HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs
index 422e4b2..49d250c 100644
--- a/HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs
+++ b/HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs
@@ -86,16 +86,16 @@
 
             btnSwitch.MouseUpEventHandler = (sender, e) =>
             {
-                //if (!function.online)//绂荤嚎涓嶅厑璁告搷浣�
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
+                if (!function.online)//绂荤嚎涓嶅厑璁告搷浣�
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                    return;
+                }
                 btnSwitch.IsSelected = !btnSwitch.IsSelected;
 
                 if(SPK.NotStatusSpkList.Contains( function.spk ))
@@ -133,16 +133,16 @@
         /// </summary>
         void LoadEvent_LightDimming(DiyImageSeekBar dimmerControlBar)
         {
-            //if (!function.online)//绂荤嚎涓嶅厑璁告搷浣�
-            //{
-            //    //new Tip()
-            //    //{
-            //    //    CloseTime = 1,
-            //    //    Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-            //    //    Direction = AMPopTipDirection.None,
-            //    //}.Show(MainPage.BaseView);
-            //    return;
-            //}
+            if (!function.online)//绂荤嚎涓嶅厑璁告搷浣�
+            {
+                //new Tip()
+                //{
+                //    CloseTime = 1,
+                //    Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                //    Direction = AMPopTipDirection.None,
+                //}.Show(MainPage.BaseView);
+                return;
+            }
             if (function.spk == SPK.LightDimming || function.spk == SPK.LightRGB)
             {
                 dimmerControlBar.OnStartTrackingTouchEvent = (sender, e) => {
@@ -203,16 +203,16 @@
         {
             btnClose.MouseUpEventHandler = (sender, e) =>
             {
-                //if (!function.online)//绂荤嚎涓嶅厑璁告搷浣�
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
+                if (!function.online)//绂荤嚎涓嶅厑璁告搷浣�
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                    return;
+                }
                 btnClose.IsSelected = true;
                 btnStop.IsSelected = false;
                 btnOpen.IsSelected = false;
@@ -225,16 +225,16 @@
 
             btnStop.MouseUpEventHandler = (sender, e) =>
             {
-                //if (!function.online)//绂荤嚎涓嶅厑璁告搷浣�
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
+                if (!function.online)//绂荤嚎涓嶅厑璁告搷浣�
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                    return;
+                }
                 btnStop.IsSelected = true;
                 btnClose.IsSelected = false;
                 btnOpen.IsSelected = false;
@@ -246,16 +246,16 @@
 
             btnOpen.MouseUpEventHandler = (sender, e) =>
             {
-                //if (!function.online)//绂荤嚎涓嶅厑璁告搷浣�
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
+                if (!function.online)//绂荤嚎涓嶅厑璁告搷浣�
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                    return;
+                }
                 btnOpen.IsSelected = true;
                 btnClose.IsSelected = false;
                 btnStop.IsSelected = false;
@@ -280,16 +280,16 @@
             };
             btnUp.MouseUpEventHandler = (sender, e) =>
             {
-                //if (!function.online)//绂荤嚎涓嶅厑璁告搷浣�
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
+                if (!function.online)//绂荤嚎涓嶅厑璁告搷浣�
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                    return;
+                }
                 new System.Threading.Thread(() =>
                 {
                     System.Threading.Thread.Sleep(2000);
@@ -311,16 +311,16 @@
             };
             btnDown.MouseUpEventHandler = (sender, e) =>
             {
-                //if (!function.online)//绂荤嚎涓嶅厑璁告搷浣�
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
+                if (!function.online)//绂荤嚎涓嶅厑璁告搷浣�
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                    return;
+                }
                 new System.Threading.Thread(() =>
                 {
                     System.Threading.Thread.Sleep(2000);
diff --git a/HDL_ON/UI/UI2/2-Classification/FunctionPage.cs b/HDL_ON/UI/UI2/2-Classification/FunctionPage.cs
index 624ea5d..0d410f0 100644
--- a/HDL_ON/UI/UI2/2-Classification/FunctionPage.cs
+++ b/HDL_ON/UI/UI2/2-Classification/FunctionPage.cs
@@ -70,7 +70,32 @@
 
 
 #if DEBUG
-       
+            Button testBtn = new Button()
+            {
+                X = Application.GetRealWidth(80),
+                Height = Application.GetRealHeight(64),
+                BackgroundColor = 0xFFFF0000
+            };
+            bodyView.AddChidren(testBtn);
+            int ddd = 0;
+            testBtn.MouseUpEventHandler = (sender, e) => {
+                ddd++;
+            
+                    Function function_online = FunctionList.List.GetLightList().Find((obj) => obj.sid == "0001017DB92D2602020100010101");
+                if (ddd % 2 == 0)
+                {
+                    function_online.online = true;
+                }
+                else
+                {
+                    function_online.online = false;
+                }
+                HomePage.LoadEvent_RefreshDevcieOnline(function_online);
+                FunctionPage.UpdataOnline(function_online);
+                RoomPage.UpdataOnline(function_online);
+
+
+            };
 #endif
 
             /// <summary>
@@ -114,7 +139,6 @@
             };
             bodyView.AddChidren(functionListView);
 
-            //Tag 鏄剧ず鍒楄〃
             if (titleId == StringId.Lights)
             {
                 functionList.AddRange(FunctionList.List.GetLightList());
@@ -157,10 +181,6 @@
             else if (titleId == StringId.FreshAir)
             {
                 functionList.AddRange(FunctionList.List.GetAirFreshList());
-            }
-            else if (titleId == StringId.SmartPanel)
-            {
-                functionList.AddRange(FunctionList.List.GetPanelList());
             }
             functionList.OrderByDescending(o => o.controlCounter).ToList();
 
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs
index 7f0cc74..16e2186 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs
@@ -61,7 +61,6 @@
                 //绌鸿皟
                 case SPK.AcStandard:
                 case SPK.HvacAC:
-                case SPK.HvacCac://姣涚粏绌鸿皟
                 //鍦扮儹
                 case SPK.FloorHeatStandard:
                 case SPK.HvacFloorHeat:
@@ -79,22 +78,6 @@
                         view.btnClick.MouseUpEventHandler += (sender, e) =>
                         {
                             DeviceView(device, view.btnState, StringId.onLogic, StringId.offLogic);
-                        };
-                        if (edit)
-                        {
-                            GetEditState(device, index, view.btnState, null, null, null);
-                        }
-                    }
-                    break;
-                //绱ф�ュ懠鍙�
-                case SPK.SensorHelp:
-                    {
-                        LogicView.FunTypeView view = new LogicView.FunTypeView();
-                        view.btnText.TextID = StringId.qiujiuandzhengchang;
-                        fLayout.AddChidren(view.FLayoutView());
-                        view.btnClick.MouseUpEventHandler += (sender, e) =>
-                        {
-                            DeviceView(device, view.btnState, StringId.qiujiu, StringId.zhengchang);
                         };
                         if (edit)
                         {
@@ -517,7 +500,6 @@
                     case SPK.SensorGas:
                     case SPK.SensorWater:
                     case SPK.SensorSmoke:
-                    case SPK.SensorHelp:
                         {
                             keyVlaue = "status";
                             if (!Is_SpkAttribute(keyVlaue)) {
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs
index eef7829..7fa0b4b 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs
@@ -176,23 +176,6 @@
                                     }
                                     break;
                                 //浼犳劅鍣�
-                                case SPK.SensorHelp:
-                                    {
-                                        foreach (var dic in dicList)
-                                        {
-                                            string value = dic["value"];
-                                            if (value == "alarm")
-                                            {
-                                                inputView.btnState.Text = Language.StringByID(StringId.qiujiu);
-
-                                            }
-                                            else
-                                            {
-                                                inputView.btnState.Text = Language.StringByID(StringId.zhengchang);
-                                            }
-                                        }
-                                    }
-                                    break;
                                 case SPK.SensorSmoke:
                                 case SPK.SensorGas:
                                     {
@@ -1009,6 +992,8 @@
                                     }
                                     break;
                                 case SPK.CurtainSwitch:
+                                case SPK.CurtainTrietex:
+                                case SPK.CurtainRoller:
                                     {
                                         foreach (var dic in dicList)
                                         {
@@ -1031,29 +1016,6 @@
                                                     }
                                                     break;
                                             }
-                                        }
-                                    }
-                                    break;
-                                case SPK.CurtainTrietex:
-                                case SPK.CurtainRoller:
-                                    {
-                                        string on_off = GetKeyValue("on_off", dicList);
-                                        string percent = GetKeyValue("percent", dicList); 
-                                        if (on_off == "on" && percent != "")
-                                        {
-                                            stateStr = Language.StringByID(StringId.onLogic) + percent + "%";
-                                        }
-                                        else if (on_off == "on")
-                                        {
-                                            stateStr = Language.StringByID(StringId.onLogic);
-                                        }
-                                        else if (on_off == "off")
-                                        {
-                                            stateStr = Language.StringByID(StringId.offLogic);
-                                        }
-                                        else if (percent != "")
-                                        {
-                                            stateStr = percent + "%";
                                         }
                                     }
                                     break;
@@ -1493,6 +1455,8 @@
                     }
                     break;
                 case SPK.CurtainSwitch:
+                case SPK.CurtainTrietex:
+                case SPK.CurtainRoller:
                     {
                         foreach (var dic in dicList)
                         {
@@ -1516,52 +1480,6 @@
                                     break;
                             }
                         }
-                    }
-                    break;
-                case SPK.CurtainTrietex:
-                case SPK.CurtainRoller:
-                    {
-                        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;
-                                            case "stop":
-                                                {
-                                                    button1.Text = Language.StringByID(StringId.stop);
-                                                }
-                                                break;
-                                        }
-                                    }
-                                    break;
-                                case "percent":
-                                    {
-                                        if (button2 == null)
-                                        {
-                                            //鎬曡皟璇曡蒋浠朵贡涓婁笢瑗垮鑷存姏寮傚父
-                                            break;
-                                        }
-                                        button2.Text = value + "%";
-                                    }
-                                    break;
-                            }
-
-                        }
-                        
                     }
                     break;
                 case SPK.AcStandard:
@@ -1825,22 +1743,6 @@
 
                         }
 
-                    }
-                    break;
-                case SPK.SensorHelp:
-                    {
-                        foreach (var dic in dicList)
-                        {
-                            string value = dic["value"];
-                            if (value == "alarm")
-                            {
-                                button1.Text = Language.StringByID(StringId.qiujiu);
-                            }
-                            else
-                            {
-                                button1.Text = Language.StringByID(StringId.zhengchang);
-                            }
-                        }
                     }
                     break;
                 case SPK.SensorGas:
@@ -2258,11 +2160,11 @@
             //纭畾鐐瑰嚮浜嬩欢
             timePointView.btnConfirm.MouseUpEventHandler += (sender, e3) =>
             {
-                //if (timepoint == 0)
-                //{
-                //    //鎻愮ず
-                //    return;
-                //}
+                if (timepoint == 0)
+                {
+                    //鎻愮ず
+                    return;
+                }
                 fLayout.RemoveFromParent();
                 action(timepoint);
             };
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs
index 4b7c2fa..181c370 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs
@@ -68,7 +68,6 @@
                         lightSwitchView.btnText.TextID = StringId.switchLogic;
                         fLayout.AddChidren(lightSwitchView.FLayoutView());
 
-
                         ///璁惧寤舵椂iewv
                         DelayView(fLayout, lightSwitchView.frameLayout.Bottom);
                         #endregion
@@ -102,7 +101,7 @@
                         brightnessView.frameLayout.Y = lightSwitchView.frameLayout.Bottom;
                         brightnessView.btnText.TextID = StringId.brightnesLogic;
                         fLayout.AddChidren(brightnessView.FLayoutView());
-                        //brightnessView.btnState.Text = "5%";//浜у搧缁忕悊鏅撹緣瑕佹眰鏀圭殑 2021-11-06
+                        brightnessView.btnState.Text = "5%";//浜у搧缁忕悊鏅撹緣瑕佹眰鏀圭殑 2021-11-06
                         ///璁惧寤舵椂iewv
                         DelayView(fLayout, brightnessView.frameLayout.Bottom);
                         #endregion
@@ -128,28 +127,6 @@
                     break;
                 //绐楀笜
                 case SPK.CurtainSwitch:
-                    {
-                        #region 鐣岄潰
-                        ///寮�鍏�
-                        LogicView.FunTypeView curtainSwitchView = new LogicView.FunTypeView();
-                        curtainSwitchView.btnText.TextID = StringId.switchLogic;
-                        fLayout.AddChidren(curtainSwitchView.FLayoutView());
-                        DelayView(fLayout, curtainSwitchView.frameLayout.Bottom);
-                        #endregion
-                        #region 鐐瑰嚮浜嬩欢
-                        ///寮�鍏崇偣鍑讳簨浠�
-                        curtainSwitchView.btnClick.MouseUpEventHandler += (sender, e) =>
-                        {
-                            SwitchViewMethod(device, curtainSwitchView.btnState, 3);
-                        };
-                        if (edit)
-                        {
-                            //鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬�
-                            GetEditState(device, index, curtainSwitchView.btnState, null, null, null);
-                        }
-                        #endregion
-                    }
-                    break;
                 case SPK.CurtainTrietex:
                 case SPK.CurtainRoller:
                     {
@@ -158,14 +135,8 @@
                         LogicView.FunTypeView curtainSwitchView = new LogicView.FunTypeView();
                         curtainSwitchView.btnText.TextID = StringId.switchLogic;
                         fLayout.AddChidren(curtainSwitchView.FLayoutView());
-                        ///鐧惧垎姣�
-                        LogicView.FunTypeView crtainPercentumView = new LogicView.FunTypeView();
-                        crtainPercentumView.frameLayout.Y = curtainSwitchView.frameLayout.Bottom;
-                        crtainPercentumView.btnText.TextID = StringId.percentum;
-                        fLayout.AddChidren(crtainPercentumView.FLayoutView());
-                        crtainPercentumView.btnState.Text = "5%";//浜у搧缁忕悊鏅撹緣瑕佹眰鏀圭殑 2021-11-06
                         ///璁惧寤舵椂iewv
-                        DelayView(fLayout, crtainPercentumView.frameLayout.Bottom);
+                        DelayView(fLayout, curtainSwitchView.frameLayout.Bottom);
                         #endregion
                         #region 鐐瑰嚮浜嬩欢
                         ///寮�鍏崇偣鍑讳簨浠�
@@ -173,15 +144,10 @@
                         {
                             SwitchViewMethod(device, curtainSwitchView.btnState, 2);
                         };
-                        ///鐧惧垎姣旂偣鍑讳簨浠�
-                        crtainPercentumView.btnClick.MouseUpEventHandler += (sender, e) =>
-                        {
-                            BrightnessMethod(device, crtainPercentumView.btnState, crtainPercentumView.btnText.Text);
-                        };
                         if (edit)
                         {
                             //鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬�
-                            GetEditState(device, index, curtainSwitchView.btnState, crtainPercentumView.btnState, null, null);
+                            GetEditState(device, index, curtainSwitchView.btnState, null, null, null);
                         }
                         #endregion
                     }
@@ -638,9 +604,8 @@
         /// <summary>
         /// 浜害/鐧惧垎姣�=鍔熻兘涓嬩竴绾х晫闈�
         /// </summary>
-        /// <param name="device">璁惧瀵硅薄</param>
-        /// <param name="button">鏄剧ず鐘舵�佸璞�</param>
-        /// <param name="titleName">鏍囬</param>
+        /// <param name="device"></param>
+        /// <param name="button"></param>
         private void BrightnessMethod(Entity.Function device, Button button, string titleName)
         {
             #region 鐣岄潰
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneAddPage.cs b/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneAddPage.cs
index 6edd835..ee6432c 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneAddPage.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneAddPage.cs
@@ -993,9 +993,7 @@
                 })
                 { IsBackground = true }.Start();
             }
-            catch (Exception ex) {
-                MainPage.Log("涓婁紶鍥剧墖寮傚父锛�" + ex.Message);
-            }
+            catch { }
         }
     }
 }
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs b/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs
index 0196aa6..2a48cc0 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs
@@ -571,7 +571,7 @@
 
                 EventHandler<MouseEventArgs> skipEvent = (sender, e) =>
                 {
-                    var ssf = new SceneFunctionInfoEditPage(scene, scenefunction, refreshFunctionRowAction);
+                    var ssf = new SceneFunctionInfoEditPage(scene, scenefunction.localFunction.ConvertSceneFunction(), refreshFunctionRowAction);
                     MainPage.BasePageView.AddChidren(ssf);
                     ssf.LoadPage();
                     MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/FaceManagement/FacePassagePage.cs b/HDL_ON/UI/UI2/4-PersonalCenter/FaceManagement/FacePassagePage.cs
index e4382e4..f92dd5d 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/FaceManagement/FacePassagePage.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/FaceManagement/FacePassagePage.cs
@@ -128,7 +128,6 @@
             };
             communityRow.AddChidren(btnCommunityTitle);
 
-
             btnCommunityAccessControlIcon = new Button()
             {
                 X = Application.GetRealWidth(314),
@@ -158,7 +157,6 @@
             };
 
 #endregion
-
 
             var btnTip = new Button()
             {
@@ -338,9 +336,6 @@
             btnEraseData.RemoveFromParent();
             btnSetFaceId.TextID = StringId.SetFace;
         }
-
-
-
 
         /// <summary>
         /// 鍔犺浇鍥炬爣閫夋嫨閫夐」
@@ -554,7 +549,6 @@
                             Utlis.WriteLine("涓婁紶缁撴灉锛�" + pack.message);
                             uploadResultAction?.Invoke(pack.Code == StateCode.SUCCESS);
                         }
-
                     }
                     catch (Exception ex)
                     {
diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPage.cs b/HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPage.cs
index b4008c8..3887a17 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPage.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPage.cs
@@ -856,7 +856,7 @@
             #endregion
 
             #region Siri
-#if __IOS__
+            #if __IOS__
             //if (Application.PhoneType >= 12)
             {
                 supportViewCellCount++;
@@ -925,10 +925,10 @@
                 };
                 siriView.AddChidren(btnSmartSpeakerViewLine);
             }
-#endif
+            #endif
             #endregion
 
-            //#region 鑾峰彇鏀寔
+            #region 鑾峰彇鏀寔
             //FrameLayout supView = new FrameLayout()
             //{
             //    Height = Application.GetRealWidth(44),
@@ -1022,7 +1022,7 @@
             //    BackgroundColor = CSS_Color.DividingLineColor
             //};
             //supView.AddChidren(btnSupportViewLine);
-            //#endregion
+            #endregion
 
             #region 鍏充簬On Pro
             FrameLayout aboutView = new FrameLayout()
diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPage.cs b/HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPage.cs
index ccba2be..69edf9b 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPage.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPage.cs
@@ -1,14 +1,17 @@
-锘�    using System;
+锘縰sing System;
 using HDL_ON.DAL.Server;
 using HDL_ON.UI;
 using HDL_ON.UI.CSS;
 using Shared;
-
+using HDL_ON.UI.UI2.PersonalCenter.Visitor;
+#if IOS
+using Foundation;
+#endif
 namespace HDL_ON.UI
 {
     public partial class PersonalDataPage : FrameLayout
     {
-        #region 鎺т欢鍒楄〃
+#region 鎺т欢鍒楄〃
         /// <summary>
         /// 褰撳墠
         /// </summary>
@@ -27,7 +30,7 @@
         /// </summary>
         ImageView userHeadImageView;
 
-        #region 鍥炬爣閫夋嫨閮ㄥ垎鍥炬爣
+#region 鍥炬爣閫夋嫨閮ㄥ垎鍥炬爣
         /// <summary>
         /// 鑳屾櫙鍥鹃�夐」鍖哄煙
         /// </summary>
@@ -48,14 +51,14 @@
         /// 鍙栨秷鎸夐挳
         /// </summary>
         Button btnCancel;
-        #endregion
+#endregion
 
-        #region 涓汉淇℃伅閫夐」鍖哄煙
+#region 涓汉淇℃伅閫夐」鍖哄煙
         /// <summary>
         /// 涓汉淇℃伅閫夐」鍖哄煙
         /// </summary>
         VerticalScrolViewLayout optionListView;
-        #region 涓汉閫夐」-鍚嶅瓧鍖哄煙
+#region 涓汉閫夐」-鍚嶅瓧鍖哄煙
         /// <summary>
         /// 涓汉閫夐」-鍚嶅瓧鍖哄煙
         /// </summary>
@@ -72,8 +75,8 @@
         /// 淇敼鐢ㄦ埛鍚嶇О鎸夐挳
         /// </summary>
         Button btnEditUserNameIcon;
-        #endregion
-        #region 涓汉閫夐」-浜岀淮鐮佸尯鍩�
+#endregion
+#region 涓汉閫夐」-浜岀淮鐮佸尯鍩�
         /// <summary>
         /// 涓汉閫夐」-浜岀淮鐮佸尯鍩�
         /// </summary>
@@ -90,8 +93,8 @@
         /// 浜岀淮鐮佸墠杩涘浘鏍�
         /// </summary>
         Button btnQRcodeRight;
-        #endregion
-        #region 涓汉閫夐」-閭淇℃伅鍖哄煙
+#endregion
+#region 涓汉閫夐」-閭淇℃伅鍖哄煙
         /// <summary>
         /// 涓汉閫夐」-閭淇℃伅鍖哄煙
         /// </summary>
@@ -108,8 +111,8 @@
         /// 鐢ㄦ埛閭淇℃伅鍓嶈繘鍥炬爣
         /// </summary>
         Button btnUserEmailRight;
-        #endregion
-        #region 涓汉閫夐」-鎵嬫満淇℃伅鍖哄煙
+#endregion
+#region 涓汉閫夐」-鎵嬫満淇℃伅鍖哄煙
         /// <summary>
         /// 涓汉閫夐」-鎵嬫満淇℃伅鍖哄煙
         /// </summary>
@@ -126,8 +129,8 @@
         /// 鐢ㄦ埛鎵嬫満淇℃伅鍓嶈繘鍥炬爣
         /// </summary>
         Button btnUserPhoneRight;
-        #endregion
-        #region 涓汉閫夐」-绗笁鏂规巿鏉冨尯鍩�
+#endregion
+#region 涓汉閫夐」-绗笁鏂规巿鏉冨尯鍩�
         /// <summary>
         /// 涓汉閫夐」-绗笁鏂规巿鏉冨尯鍩�
         /// </summary>
@@ -137,7 +140,7 @@
         /// </summary>
         Button btnThirdPartyAuthorizationTitle;
         Button btnThirdPartyAuthorizationRight;
-        #region 涓汉閫夐」-淇敼鐧诲綍瀵嗙爜鍖哄煙
+#region 涓汉閫夐」-淇敼鐧诲綍瀵嗙爜鍖哄煙
         /// <summary>
         /// 涓汉閫夐」-淇敼鐧诲綍瀵嗙爜鍖哄煙
         /// </summary>
@@ -147,10 +150,10 @@
         /// </summary>
         Button btnResetPasswordText;
         Button btnResetPasswordRight;
-        #endregion
+#endregion
 
 
-        #region 涓汉閫夐」-鏂板浣忓畢
+#region 涓汉閫夐」-鏂板浣忓畢
         /// <summary>
         /// 涓汉閫夐」-鏂板浣忓畢鍖哄煙
         /// </summary>
@@ -160,10 +163,10 @@
         /// </summary>
         Button btnAddResidenceText;
         Button btnAddResidenceScan;
-        #endregion
+#endregion
 
 
-        #region 涓汉閫夐」-浜鸿劯閫氳绠$悊
+#region 涓汉閫夐」-浜鸿劯閫氳绠$悊
         /// <summary>
         /// 涓汉閫夐」-浜鸿劯閫氳绠$悊琛�
         /// </summary>
@@ -172,14 +175,25 @@
         /// 浜鸿劯閫氳绠$悊鏂囨湰
         /// </summary>
         Button btnFaceManagementText;
-        #endregion
+#endregion
 
+#region 涓汉閫夐」-璁垮绠$悊
+        /// <summary>
+        /// 涓汉閫夐」-璁垮绠$悊
+        ///
+        /// </summary>
+        FrameLayout visitorManagementView;
+        /// <summary>
+        /// 浜鸿劯閫氳绠$悊鏂囨湰isitor
+        /// </summary>
+        Button btnisitorVManagementText;
+#endregion
 
-        #endregion
+#endregion
 
-        #endregion
+#endregion
 
-        #region 瑙i攣璁剧疆鍖哄煙
+#region 瑙i攣璁剧疆鍖哄煙
         /// <summary>
         /// 瑙i攣璁剧疆鍖哄煙
         /// </summary>
@@ -187,14 +201,14 @@
         //Button btnInterpretationSettingsTitle;
         //Button btnInterpretationSettingsTip;
         //Button btnInterpretationSettingsRight;
-        #endregion
+#endregion
 
         /// <summary>
         /// 閫�鍑虹櫥褰曟寜閽�
         /// </summary>
         Button btnLogout;
 
-        #endregion
+#endregion
         /// <summary>
         /// 鏇存柊澶村儚鐨勫洖璋冨嚱鏁�
         /// </summary>
@@ -248,7 +262,7 @@
             };
             headPortraitView.AddChidren(userHeadImageView);
 
-            #region 涓汉淇℃伅閫夐」鍖哄煙
+#region 涓汉淇℃伅閫夐」鍖哄煙
             var topPaddingView = new FrameLayout()
             {
                 Height = Application.GetRealHeight(8)
@@ -266,12 +280,23 @@
             };
             bodyScrolView.AddChidren(optionListView);
 
+            //鏍规嵁闇�瑕佹坊鍔犺
+            int addRow = 0;
             if(Entity.DB_ResidenceData.Instance.SupportFacePass)
             {
-                optionListView.Height = Application.GetRealHeight(51 * (6 + 1));
+                addRow += 1;
             }
 
-            #region 涓汉閫夐」-鍚嶅瓧鍖哄煙
+            if (Entity.DB_ResidenceData.Instance.SupportVisitorManage)
+            {
+                addRow += 1;
+            }
+
+            //鏈夊叏瑙嗛�氱殑鎯呭喌
+            optionListView.Height = Application.GetRealHeight(51 * (6 + addRow));
+
+
+#region 涓汉閫夐」-鍚嶅瓧鍖哄煙
             /// <summary>
             /// 涓汉閫夐」-鍚嶅瓧鍖哄煙
             /// </summary>
@@ -319,8 +344,8 @@
             };
             userNameView.AddChidren(btnEditUserNameIcon);
             optionListView.AddChidren(new Button() { X = Application.GetRealWidth(16), Height = Application.GetRealHeight(1), Width = Application.GetRealWidth(343), BackgroundColor = CSS_Color.DividingLineColor });
-            #endregion
-            #region 涓汉閫夐」-浜岀淮鐮佸尯鍩�
+#endregion
+#region 涓汉閫夐」-浜岀淮鐮佸尯鍩�
             /// <summary>
             /// 涓汉閫夐」-浜岀淮鐮佸尯鍩�
             /// </summary>
@@ -367,8 +392,8 @@
                 UnSelectedImagePath = "Public/Right.png",
             };
             _QRcodeView.AddChidren(btnQRcodeRight);
-            #endregion
-            #region 涓汉閫夐」-閭淇℃伅鍖哄煙
+#endregion
+#region 涓汉閫夐」-閭淇℃伅鍖哄煙
             /// <summary>
             /// 涓汉閫夐」-閭淇℃伅鍖哄煙
             /// </summary>
@@ -416,8 +441,8 @@
             };
             userEmailInfoView.AddChidren(btnUserEmailRight);
             optionListView.AddChidren(new Button() { X = Application.GetRealWidth(16), Height = Application.GetRealHeight(1), Width = Application.GetRealWidth(343), BackgroundColor = CSS_Color.DividingLineColor });
-            #endregion
-            #region 涓汉閫夐」-鎵嬫満淇℃伅鍖哄煙
+#endregion
+#region 涓汉閫夐」-鎵嬫満淇℃伅鍖哄煙
             /// <summary>
             /// 涓汉閫夐」-鎵嬫満淇℃伅鍖哄煙
             /// </summary>
@@ -465,8 +490,8 @@
             };
             userPhoneInfoView.AddChidren(btnUserPhoneRight);
             optionListView.AddChidren(new Button() { X = Application.GetRealWidth(16), Height = Application.GetRealHeight(1), Width = Application.GetRealWidth(343), BackgroundColor = CSS_Color.DividingLineColor });
-            #endregion
-            #region 涓汉閫夐」-绗笁鏂规巿鏉冨尯鍩�
+#endregion
+#region 涓汉閫夐」-绗笁鏂规巿鏉冨尯鍩�
             //2020-12-08 鏆傛椂闅愯棌绗笁鏂规巿鏉冨姛鑳�
             /// <summary>
             /// 涓汉閫夐」-绗笁鏂规巿鏉冨尯鍩�
@@ -498,8 +523,8 @@
                 UnSelectedImagePath = "Public/Right.png",
             };
             thirdPartyAuthorizationView.AddChidren(btnThirdPartyAuthorizationRight);
-            #endregion
-            #region 涓汉閫夐」-淇敼鐧诲綍瀵嗙爜鍖哄煙
+#endregion
+#region 涓汉閫夐」-淇敼鐧诲綍瀵嗙爜鍖哄煙
             /// <summary>
             /// 涓汉閫夐」-淇敼鐧诲綍瀵嗙爜鍖哄煙
             /// </summary>
@@ -531,9 +556,9 @@
             };
             resetPasswordView.AddChidren(btnResetPasswordRight);
             optionListView.AddChidren(new Button() { X = Application.GetRealWidth(16), Height = Application.GetRealHeight(1), Width = Application.GetRealWidth(343), BackgroundColor = CSS_Color.DividingLineColor });
-            #endregion
+#endregion
 
-            #region 涓汉閫夐」-娣诲姞浣忓畢
+#region 涓汉閫夐」-娣诲姞浣忓畢
             addResidenceView = new FrameLayout()
             {
                 Height = Application.GetRealHeight(50),
@@ -633,11 +658,11 @@
                 });
             };
 
-            #endregion
+#endregion
 
             if (Entity.DB_ResidenceData.Instance.SupportFacePass)
             {
-                #region 涓汉閫夐」-浜鸿劯閫氳绠$悊
+#region 涓汉閫夐」-浜鸿劯閫氳绠$悊
                 optionListView.AddChidren(new Button() { X = Application.GetRealWidth(16), Height = Application.GetRealHeight(1), Width = Application.GetRealWidth(343), BackgroundColor = CSS_Color.DividingLineColor });
 
                 faceManagementView = new FrameLayout()
@@ -674,18 +699,70 @@
                     MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                 };
 
-                #endregion
+#endregion
 
             }
 
-            #endregion
+            //璁垮绠$悊
+#region 涓汉閫夐」-璁垮绠$悊
+            if (Entity.DB_ResidenceData.Instance.SupportVisitorManage)//鍒ゆ柇鏄惁鏀寔璁垮绠$悊
+            {
+                optionListView.AddChidren(new Button() { X = Application.GetRealWidth(16), Height = Application.GetRealHeight(1), Width = Application.GetRealWidth(343), BackgroundColor = CSS_Color.DividingLineColor });
+
+                visitorManagementView = new FrameLayout()
+                {
+                    Height = Application.GetRealHeight(50),
+                };
+                optionListView.AddChidren(visitorManagementView);
+
+
+                var btnVisitorManagementRight = new Button()
+                {
+                    X = Application.GetRealWidth(339),
+                    Gravity = Gravity.CenterVertical,
+                    Width = Application.GetMinRealAverage(16),
+                    Height = Application.GetMinRealAverage(16),
+                    UnSelectedImagePath = "Public/Right.png",
+                };
+                visitorManagementView.AddChidren(btnVisitorManagementRight);
+
+                btnisitorVManagementText = new Button()
+                {
+                    X = Application.GetRealWidth(16),
+                    TextAlignment = TextAlignment.CenterLeft,
+                    TextColor = CSS_Color.FirstLevelTitleColor,
+                    TextSize = CSS_FontSize.SubheadingFontSize,
+                    TextID = StringId.VisitorManage,
+                };
+                visitorManagementView.AddChidren(btnisitorVManagementText);
+
+                btnisitorVManagementText.MouseUpEventHandler = (sender, e) =>
+                {
+                    var page = new VisitorQRCodePage();
+                    MainPage.BasePageView.AddChidren(page);
+                    page.LoadPage();
+                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+
+#if __IOS__
+                    //鍒锋柊鎺ュ彛璇锋眰鎵�闇�瑕佺殑鍙傛暟
+                    NSDictionary info = new NSDictionary("regionUrl", HttpUtil.GlobalRequestHttpsHost, "token", UserInfo.Current.LoginTokenString, "appkey", "HDL-HOME-APP-TEST", "secret", "WeJ8TY88vbakCcnvH8G1tDUqzLWY8yss", "refreshToken", UserInfo.Current.RefreshToken);
+                    Shared.IOS.HDLFVSDK.Video.RefreshInfo(info);
+                    //璺宠浆璁垮绠$悊鐣岄潰
+                    Shared.IOS.HDLFVSDK.Video.ShowVisitorManager();
+#endif
+                };
+            }
+
+
+#endregion
+#endregion
             var topPaddingView2 = new FrameLayout()
             {
                 Height = Application.GetRealHeight(8)
             };
             bodyScrolView.AddChidren(topPaddingView2);
 
-            #region 瑙i攣璁剧疆鍖哄煙
+#region 瑙i攣璁剧疆鍖哄煙
             ///// <summary>
             ///// 瑙i攣璁剧疆鍖哄煙
             ///// </summary>
@@ -735,9 +812,9 @@
             //};
             //interpretationSettingsView.AddChidren(btnInterpretationSettingsRight);
             //interpretationSettingsView.AddChidren(new LineView(interpretationSettingsView.Height));
-            #endregion
+#endregion
 
-            #region 鏈嶅姟鍣ㄤ俊鎭�
+#region 鏈嶅姟鍣ㄤ俊鎭�
             ListCellView myServerInfoCellView = new ListCellView()
             {
             };
@@ -754,10 +831,10 @@
             myServerInfoCellView.BtnTilte.Text = Language.StringByID(StringId.ServerInformation);
             //myServerInfoCellView.LineView.RemoveFromParent();
 
-            #endregion
+#endregion
 
 
-            #region 娉ㄩ攢璐﹀彿
+#region 娉ㄩ攢璐﹀彿
             ListCellView logOffView = new ListCellView()
             {
             };
@@ -774,7 +851,7 @@
             logOffView.BtnTilte.Text = Language.StringByID(StringId.CancelAccount);
             logOffView.LineView.RemoveFromParent();
 
-            #endregion
+#endregion
 
             btnLogout = new Button()
             {
diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/Visitor/LpTimeDialogCallBak.cs b/HDL_ON/UI/UI2/4-PersonalCenter/Visitor/LpTimeDialogCallBak.cs
new file mode 100644
index 0000000..272cb66
--- /dev/null
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/Visitor/LpTimeDialogCallBak.cs
@@ -0,0 +1,27 @@
+锘縰sing System;
+using Com.Hdl.Hdllinphonesdk.Dialog;
+using Java.Interop;
+
+namespace HDL_ON.UI.UI2.PersonalCenter.Visitor
+{
+    public class LpTimeDialogCallBak : Java.Lang.Object, LpTimeDialog.IClickListenerInterface
+    {
+        public string Time;
+        private Action<string> action;
+        public LpTimeDialogCallBak(Action<string> _action)
+        {
+            this.action = _action;
+        }
+
+        public void OnCancelClick(LpTimeDialog dialog)
+        {
+            dialog.Dismiss();
+        }
+
+        public void OnConfirmClick(LpTimeDialog dialog, string time)
+        {
+            dialog.Dismiss();
+            action.Invoke(time);
+        }
+    }
+}
\ No newline at end of file
diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/Visitor/LpTipDialogCallBack.cs b/HDL_ON/UI/UI2/4-PersonalCenter/Visitor/LpTipDialogCallBack.cs
new file mode 100644
index 0000000..798b924
--- /dev/null
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/Visitor/LpTipDialogCallBack.cs
@@ -0,0 +1,24 @@
+锘縰sing System;
+using Com.Hdl.Hdllinphonesdk.Dialog;
+namespace HDL_ON.UI.UI2.PersonalCenter.Visitor
+{
+    public class LpTipDialogCallBack : Java.Lang.Object, LpTipDialog.IClickListenerInterface
+    {
+        Action action;
+        public LpTipDialogCallBack(Action _action)
+        {
+            this.action = _action;
+        }
+
+        public void CancelClick(LpTipDialog dialog)
+        {
+            dialog.Dismiss();
+        }
+
+        public void SureClick(LpTipDialog dialog)
+        {
+            dialog.Dismiss();
+            action.Invoke();
+        }
+    }
+}
diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/Visitor/TempPasswordInfo.cs b/HDL_ON/UI/UI2/4-PersonalCenter/Visitor/TempPasswordInfo.cs
new file mode 100644
index 0000000..d9190d3
--- /dev/null
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/Visitor/TempPasswordInfo.cs
@@ -0,0 +1,18 @@
+锘縰sing System;
+namespace HDL_ON.UI.UI2.PersonalCenter.Visitor
+{
+    public class TempPasswordInfo
+    {
+        public int homeId;
+        public String phone;
+        public int deviceId;
+        public String tempPwd;
+        public String validBeginTime;
+        public String validEndTime;//":"2022-05-09 13:00:00",
+        public int useCount;//":1,
+
+        public TempPasswordInfo()
+        {
+        }
+    }
+}
diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/Visitor/VisitorHistoryPage.cs b/HDL_ON/UI/UI2/4-PersonalCenter/Visitor/VisitorHistoryPage.cs
new file mode 100644
index 0000000..4e1dc4d
--- /dev/null
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/Visitor/VisitorHistoryPage.cs
@@ -0,0 +1,140 @@
+锘縰sing System;
+using System.Collections.Generic;
+using HDL_ON.DAL.Server;
+using HDL_ON.UI.CSS;
+using Shared;
+namespace HDL_ON.UI.UI2.PersonalCenter.Visitor
+{
+    public class VisitorHistoryPage : FrameLayout
+    {
+        private FrameLayout bodyView;
+        private VerticalScrolViewLayout bodyScrolView;
+        private List<VisitorTempPassword> pwdList;
+
+        Action backAction;// 鍚庨��鎸夐敭锛屽埛鏂癠I
+        Action action;
+
+        public override void RemoveFromParent()
+        {
+            backAction?.Invoke();
+            base.RemoveFromParent();
+        }
+
+        public VisitorHistoryPage(Action action)
+        {
+            backAction = action;
+            bodyView = this;
+        }
+
+        public void LoadPage()
+        {
+            action = () =>
+            {
+                LoadPage();
+            };
+
+            pwdList = getVisitorPasswordData();
+
+            #region 璁垮璁板綍鎸夐挳
+            bodyView.BackgroundColor = CSS_Color.BackgroundColor;
+            new TopViewDiv(bodyView, Language.StringByID(StringId.VisitorRecord)).LoadTopView();
+            #endregion
+
+            bodyScrolView = new VerticalScrolViewLayout()
+            {
+                Y = Application.GetRealHeight(64),
+                VerticalScrollBarEnabled = false,
+                BackgroundColor = CSS_Color.MainBackgroundColor,
+            };
+            bodyView.AddChidren(bodyScrolView);
+
+            foreach (VisitorTempPassword temPwd in pwdList)
+            {
+                FrameLayout itemLayout = new FrameLayout()
+                {
+                    X = Application.GetRealWidth(16),
+                    Height = Application.GetRealWidth(50),
+                    Width = Application.GetRealWidth(343),
+                };
+
+                // 璁垮浜岀淮鐮乀ext
+                itemLayout.AddChidren(new Button()
+                {
+                    Height = Application.GetRealWidth(20),
+                    Y = Application.GetRealWidth(6),
+                    Text = Language.StringByID(StringId.VisitorInvitationRecord),
+                    TextAlignment = TextAlignment.CenterLeft,
+                    TextColor = CSS_Color.text1Color,
+                    TextSize = CSS_FontSize.TextFontSize,
+                });
+
+                // 鏃堕棿Btn
+                string startTime = temPwd.validBeginTime.Replace("-", "/");
+                string endTime = temPwd.validEndTime.Replace("-", "/");
+                itemLayout.AddChidren(new Button()
+                {
+                    Height = Application.GetRealWidth(14),
+                    Y = Application.GetRealWidth(30),
+                    Text = Language.StringByID(StringId.Time) + "锛�" + startTime + " - " + endTime,
+                    TextAlignment = TextAlignment.CenterLeft,
+                    TextColor = CSS_Color.PromptingColor1,
+                    TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+                });
+
+                // 鍚庨��
+                itemLayout.AddChidren(new ImageView()
+                {
+                    Width = Application.GetRealWidth(16),
+                    Height = Application.GetRealWidth(16),
+                    Gravity = Gravity.CenterRight,
+                    ImagePath = "Public/Right.png",
+                });
+
+                itemLayout.AddChidren(new Button()
+                {
+                    Height = Application.GetRealWidth(1),
+                    Y = Application.GetRealWidth(49),
+                    BackgroundColor = CSS_Color.DividingLineColor,
+                });
+
+                Button btn = new Button();
+                itemLayout.AddChidren(btn);//+= (sender, e)
+                btn.MouseUpEventHandler += (sender, e) =>
+                {
+                    VisitorQRCodePage page = new VisitorQRCodePage(action, temPwd);
+                    MainPage.BasePageView.AddChidren(page);
+                    page.LoadPage();
+                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+                };
+                bodyScrolView.AddChidren(itemLayout);
+            }
+        }
+
+        /// <summary>
+        /// 鑾峰彇璁垮涓存椂瀵嗙爜鍒楄〃
+        /// </summary>
+        private List<VisitorTempPassword> getVisitorPasswordData()
+        {
+            List<VisitorTempPassword> dataList = new List<VisitorTempPassword>();
+            Dictionary<string, object> dictionary = new Dictionary<string, object>();
+            dictionary.Add("homeId", Entity.DB_ResidenceData.Instance.CurrentRegion.id);
+            dictionary.Add("pageNo", 1);
+            dictionary.Add("pageSize", 100);
+            dictionary.Add("order", "descending");
+            dictionary.Add("sort", "id");
+
+            var requestJson = HttpUtil.GetSignRequestJson(dictionary);
+            ResponsePackNew pack = HttpUtil.RequestHttpsPost(NewAPI.API_POST_GET_TEMP_PASSWORD_LIST, requestJson);
+            if (pack != null)
+            {
+                if (pack.Code == StateCode.SUCCESS)
+                {
+                    string json = pack.Data.ToString();
+                    var o = Newtonsoft.Json.JsonConvert.DeserializeObject<GetTempPasswordList>(json);
+                    dataList = o.list;
+                }
+            }
+            return dataList;
+        }
+    }
+}
\ No newline at end of file
diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/Visitor/VisitorQRCodePage.cs b/HDL_ON/UI/UI2/4-PersonalCenter/Visitor/VisitorQRCodePage.cs
new file mode 100644
index 0000000..aac3c30
--- /dev/null
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/Visitor/VisitorQRCodePage.cs
@@ -0,0 +1,667 @@
+锘縰sing System;
+using HDL_ON.UI.CSS;
+using Shared;
+using HDL_ON.DAL.Server;
+using System.Collections.Generic;
+using Com.Hdl.Hdllinphonesdk.Utils;
+using Com.Hdl.Hdllinphonesdk.Dialog;
+
+namespace HDL_ON.UI.UI2.PersonalCenter.Visitor
+{
+    public class VisitorQRCodePage : FrameLayout
+    {
+        FrameLayout bodyView;
+        VerticalScrolViewLayout bodyScrolView;
+        private EditText phoneNumberEditText;// 鐢佃瘽鍙风爜EditText
+        private EditText pwdEditText;// 瀵嗙爜EditText
+        private Button randomBtn;//闅忔満瀵嗙爜Btn
+        private FrameLayout codeLayout;
+        private ImageView codeIV;// 浜岀淮鐮�
+        private Button codeSaveTipBtn;
+        private Button codeTip;//浜岀淮鐮佹湁鏁堟湡鎻愮ず
+        private Button visitorVoucherBtn;
+        private VisitorTempPassword tempPassword;
+
+        Action backAction;// 鍚庨��鎸夐敭锛屽埛鏂癠I
+
+        public VisitorQRCodePage()
+        {
+            bodyView = this;
+        }
+
+        public VisitorQRCodePage(Action action,VisitorTempPassword pwd)
+        {
+            bodyView = this;
+            this.tempPassword = pwd;
+            backAction = action;
+        }
+
+        public override void RemoveFromParent()
+        {
+            this.tempPassword = null;
+            backAction?.Invoke();
+            base.RemoveFromParent();
+        }
+
+        public void LoadPage()
+        {
+            #region 椤堕儴瀵艰埅鏍�
+            if (tempPassword == null || tempPassword.id == null)
+            {
+                tempPassword = new VisitorTempPassword();
+
+                Action click = () =>
+                {
+                    Action action = () =>
+                    {
+                        LoadPage();
+                    };
+                    VisitorHistoryPage page = new VisitorHistoryPage(action);
+                    MainPage.BasePageView.AddChidren(page);
+                    page.LoadPage();
+                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+                };
+
+                bodyView.BackgroundColor = CSS_Color.BackgroundColor;
+                new TopViewDiv(bodyView, Language.StringByID(StringId.VisitorInvitation))
+                    .LoadTopView_SettingText(click, Language.StringByID(StringId.VisitorRecord));
+            }
+            else
+            {
+                bodyView.BackgroundColor = CSS_Color.BackgroundColor;
+                new TopViewDiv(bodyView, Language.StringByID(StringId.VisitorInvitation)).LoadTopView();
+            }
+            #endregion
+
+            bodyScrolView = new VerticalScrolViewLayout()
+            {
+                Y = Application.GetRealHeight(64),
+                VerticalScrollBarEnabled = false,
+                BackgroundColor = CSS_Color.MainBackgroundColor,
+            };
+            bodyView.AddChidren(bodyScrolView);
+
+            // 鎻愮ず鏂囧瓧
+            bodyScrolView.AddChidren(new Button()
+            {
+                Text = Language.StringByID(StringId.VisitorTip),
+                IsMoreLines = true,
+                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+                TextColor = CSS_Color.PromptingColor1,
+                TextAlignment = TextAlignment.Center,
+                Padding = new Padding(0, Application.GetRealWidth(20), 0, Application.GetRealWidth(20)),
+                Height = Application.GetRealHeight(60),
+            });
+
+            #region 鎵嬫満鍙�
+            bodyScrolView.AddChidren(new Button()
+            {
+                Text = Language.StringByID(StringId.PhoneNumber),
+                Y = Application.GetRealWidth(10),
+                TextSize = CSS_FontSize.SubheadingFontSize,
+                TextColor = CSS_Color.FirstLevelTitleColor,
+                Height = Application.GetRealHeight(20),
+                Padding = new Padding(0, Application.GetRealWidth(20), 0, Application.GetRealWidth(20)),
+                TextAlignment = TextAlignment.CenterLeft,
+            });
+
+            phoneNumberEditText = new EditText()
+            {
+                Height = Application.GetRealHeight(45),
+                X = Application.GetRealWidth(20),
+                Width = Application.GetRealWidth(335),
+                TextSize = CSS_FontSize.TextFontSize,
+                TextColor = CSS_Color.FirstLevelTitleColor,
+
+                PlaceholderText = Language.StringByID(StringId.InputPhoneNumberOfTheVisitor),
+                Text = tempPassword.phone,
+                IsNumberKeyboardType = true,
+                PlaceholderTextColor = CSS_Color.PromptingColor1,
+            };
+            bodyScrolView.AddChidren(phoneNumberEditText);
+            //phoneNumberEditText.Foucs = true;
+
+            // 鍒嗗壊绾�
+            bodyScrolView.AddChidren(new Button()
+            {
+                X = Application.GetRealWidth(20),
+                Width = Application.GetRealWidth(335),
+                Height = Application.GetRealHeight(1),
+                BackgroundColor = CSS_Color.DividingLineColor,
+            });
+            #endregion
+
+            #region 鍔ㄦ�佸瘑鐮�
+            bodyScrolView.AddChidren(new Button() { Height = Application.GetRealWidth(10), });
+            bodyScrolView.AddChidren(new Button()
+            {
+                Text = Language.StringByID(StringId.linshimima),
+                TextSize = CSS_FontSize.SubheadingFontSize,
+                TextColor = CSS_Color.FirstLevelTitleColor,
+                Height = Application.GetRealHeight(20),
+                Padding = new Padding(0, Application.GetRealWidth(20), 0, Application.GetRealWidth(20)),
+                TextAlignment = TextAlignment.CenterLeft,
+            });
+
+            FrameLayout pwdLayout = new FrameLayout()
+            {
+                Height = Application.GetRealHeight(40),
+            };
+
+            // 瀵嗙爜杈撳叆妗�
+            pwdEditText = new EditText()
+            {
+                X = Application.GetRealWidth(20),
+                TextSize = CSS_FontSize.TextFontSize,
+                TextColor = CSS_Color.FirstLevelTitleColor,
+                Width = Application.GetRealWidth(335),
+                PlaceholderText = Language.StringByID(StringId.Input6_DigitsTemporaryPassword),
+                IsNumberKeyboardType = true,
+                PlaceholderTextColor = CSS_Color.PromptingColor1,
+            };
+            pwdLayout.AddChidren(pwdEditText);
+
+            //闅忔満瀵嗙爜Btn
+            randomBtn = new Button()
+            {
+                X = Application.GetRealWidth(275),
+                Width = Application.GetRealWidth(80),
+                Text = Language.StringByID(StringId.RandomGeneration),
+                TextAlignment = TextAlignment.CenterRight,
+                TextColor = CSS_Color.MainColor,
+                TextSize = CSS_FontSize.TextFontSize,
+            };
+            pwdLayout.AddChidren(randomBtn);
+            bodyScrolView.AddChidren(pwdLayout);
+
+            // 鍒嗗壊绾�
+            bodyScrolView.AddChidren(new Button()
+            {
+                X = Application.GetRealWidth(20),
+                Width = Application.GetRealWidth(335),
+                Height = Application.GetRealHeight(1),
+                BackgroundColor = CSS_Color.DividingLineColor,
+            });
+            #endregion
+
+            #region 浜岀淮鐮佺敓鏁堟椂闂�
+            FrameLayout startLayout = new FrameLayout()
+            {
+                Height = Application.GetRealHeight(40),
+                Y = Application.GetRealWidth(10),
+            };
+
+            startLayout.AddChidren(new Button()
+            {
+                Text = Language.StringByID(StringId.EffectiveTime),
+                X = Application.GetRealWidth(20),
+                Width = Application.GetRealWidth(130),
+                TextSize = CSS_FontSize.SubheadingFontSize,
+                TextColor = CSS_Color.FirstLevelTitleColor,
+                TextAlignment = TextAlignment.CenterLeft,
+                Enable = false,
+            });
+            Button startTimeText = new Button()
+            {
+                X = Application.GetRealWidth(159),
+                Width = Application.GetRealWidth(150),
+                TextAlignment = TextAlignment.CenterRight,
+                TextSize = CSS_FontSize.TextFontSize,
+                TextColor = CSS_Color.FirstLevelTitleColor,
+            };
+            if (tempPassword.tempPwd == null || tempPassword.tempPwd == "")
+            {
+                startTimeText.Text = "";// System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
+            }
+            else
+            {
+                startTimeText.Text = tempPassword.validBeginTime;
+            }
+
+            startLayout.AddChidren(startTimeText);
+            startLayout.AddChidren(new Button()
+            {
+                X = Application.GetRealWidth(339),
+                Gravity = Gravity.CenterVertical,
+                Width = Application.GetMinRealAverage(16),
+                Height = Application.GetMinRealAverage(16),
+                UnSelectedImagePath = "Public/Right.png",
+                Enable = false,
+            });
+            Button startTimeBtn = new Button();
+            startLayout.AddChidren(startTimeBtn);
+            // dialog鍥炶皟
+            Action<string> startTimeAction = (str) =>
+            {
+                startTimeText.Text = str + ":00";
+            };
+            startTimeBtn.MouseUpEventHandler += (sender, e) =>
+            {
+                try
+                {
+                    new LpTimeDialog(Application.Activity, new LpTimeDialogCallBak(startTimeAction)).Show();
+                }
+                catch (Exception ex)
+                {
+                    string error = ex.Message;
+                }
+            };
+            bodyScrolView.AddChidren(startLayout);
+            // 鍒嗗壊绾�
+            bodyScrolView.AddChidren(new Button()
+            {
+                X = Application.GetRealWidth(20),
+                Width = Application.GetRealWidth(335),
+                Height = Application.GetRealHeight(1),
+                BackgroundColor = CSS_Color.DividingLineColor,
+            });
+
+            #endregion
+
+            #region 浜岀淮鐮佸け鏁堟椂闂�
+            FrameLayout endLayout = new FrameLayout()
+            {
+                Height = Application.GetRealHeight(40),
+                Y = Application.GetRealWidth(10),
+            };
+
+            endLayout.AddChidren(new Button()
+            {
+                Text = Language.StringByID(StringId.FailureTime),
+                X = Application.GetRealWidth(20),
+                Width = Application.GetRealWidth(130),
+                TextSize = CSS_FontSize.SubheadingFontSize,
+                TextColor = CSS_Color.FirstLevelTitleColor,
+                TextAlignment = TextAlignment.CenterLeft,
+                Enable = false,
+            });
+            Button endTimeText = new Button()
+            {
+                X = Application.GetRealWidth(159),
+                Width = Application.GetRealWidth(150),
+                TextAlignment = TextAlignment.CenterRight,
+                TextSize = CSS_FontSize.TextFontSize,
+                TextColor = CSS_Color.FirstLevelTitleColor,
+                Enable = false,
+            };
+            if (tempPassword.tempPwd == null || tempPassword.tempPwd == "")
+            {
+                endTimeText.Text = "";// System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
+            }
+            else
+            {
+                endTimeText.Text = tempPassword.validEndTime;
+            }
+            endLayout.AddChidren(endTimeText);
+            endLayout.AddChidren(new Button()
+            {
+                X = Application.GetRealWidth(339),
+                Gravity = Gravity.CenterVertical,
+                Width = Application.GetMinRealAverage(16),
+                Height = Application.GetMinRealAverage(16),
+                UnSelectedImagePath = "Public/Right.png",
+                Enable = false,
+            });
+            Button endTimeBtn = new Button();
+            endLayout.AddChidren(endTimeBtn);
+            bodyScrolView.AddChidren(endLayout);
+            // 鍒嗗壊绾�
+            bodyScrolView.AddChidren(new Button()
+            {
+                X = Application.GetRealWidth(20),
+                Width = Application.GetRealWidth(335),
+                Height = Application.GetRealHeight(1),
+                BackgroundColor = CSS_Color.DividingLineColor,
+            });
+            // dialog鍥炶皟
+            Action<string> endTimeAction = (str) =>
+            {
+                endTimeText.Text = str + ":00";
+            };
+            endTimeBtn.MouseUpEventHandler += (sender, e) =>
+            {
+                try
+                {
+                    new LpTimeDialog(Application.Activity, new LpTimeDialogCallBak(endTimeAction)).Show();
+                }
+                catch (Exception ex)
+                {
+                    string error = ex.Message;
+                }
+            };
+            #endregion
+
+            #region 浜岀淮鐮�
+            bodyScrolView.AddChidren(new Button() { Height = Application.GetRealWidth(33), });
+            codeLayout = new FrameLayout()
+            {
+                X = Application.GetRealWidth(117),
+                Width = Application.GetRealWidth(142),
+                Height = Application.GetRealWidth(142),
+            };
+            bodyScrolView.AddChidren(codeLayout);
+
+            // 浜岀淮鐮両magView
+            codeIV = new ImageView()
+            {
+                BackgroundColor = CSS_Color.BackgroundColor,
+            };
+            codeLayout.AddChidren(codeIV);
+
+            bodyScrolView.AddChidren(new Button() { Height = Application.GetRealWidth(20), });
+            codeSaveTipBtn = new Button()
+            {
+                X = Application.GetRealWidth(16),
+                Width = Application.GetRealWidth(343),
+                Height = Application.GetRealWidth(20),
+                Text = Language.StringByID(StringId.LongPressQRCodeSave),
+                TextAlignment = TextAlignment.Center,
+                TextColor = CSS_Color.FirstLevelTitleColor,
+                Visible = false,
+            };
+            bodyScrolView.AddChidren(codeSaveTipBtn);
+            #endregion
+
+            bodyScrolView.AddChidren(new Button() { Height = Application.GetRealWidth(28), });
+            visitorVoucherBtn = new Button()
+            {
+                X = Application.GetRealWidth(78),
+                Width = Application.GetRealWidth(220),
+                Height = Application.GetRealWidth(44),
+                BackgroundColor = CSS_Color.MainColor,
+                Radius = (uint)Application.GetRealWidth(44),
+                TextSize = CSS_FontSize.SubheadingFontSize,
+                TextAlignment = TextAlignment.Center,
+                TextColor = CSS_Color.textWhiteColor,
+            };
+            bodyScrolView.AddChidren(visitorVoucherBtn);
+
+            Action voucher_action = () =>
+            {
+                if (codeIV.ImageBytes == null)
+                {
+                    // 璇锋眰鏈嶅姟绔紝鐢熸垚涓存椂瀵嗙爜
+                    tempPassword.homeId = Entity.DB_ResidenceData.Instance.CurrentRegion.id;
+                    tempPassword.phone = phoneNumberEditText.Text;
+                    tempPassword.tempPwd = pwdEditText.Text;
+                    tempPassword.validBeginTime = startTimeText.Text;
+                    tempPassword.validEndTime = endTimeText.Text;
+                    tempPassword.useCount = 1000;
+                    CreateVisitorPassword(tempPassword);
+                }
+                else
+                {
+                    // 鍒犻櫎璁垮涓存椂瀵嗙爜
+                    DelVisitorPassword(tempPassword);
+                }
+            };
+            visitorVoucherBtn.MouseUpEventHandler += (sender, e) =>
+            {
+                if (startTimeText.Text.Trim() == "")
+                {
+                    var tip_dialog = new Tip()
+                    {
+                        Text = Language.StringByID(StringId.VisitorStartTime),
+                        CloseTime = 2,
+                        Direction = AMPopTipDirection.None
+                    };
+                    tip_dialog.Show(MainPage.BaseView);
+                    return;
+                }
+
+                if (endTimeText.Text.Trim() == "")
+                {
+                    var tip_dialog = new Tip()
+                    {
+                        Text = Language.StringByID(StringId.VisitorEndTime),
+                        CloseTime = 2,
+                        Direction = AMPopTipDirection.None
+                    };
+                    tip_dialog.Show(MainPage.BaseView);
+                    return;
+                }
+
+                if (phoneNumberEditText.Text.Trim() == "" || phoneNumberEditText.Text.Trim().Length != 11)
+                {
+                    var tip_dialog = new Tip()
+                    {
+                        Text = Language.StringByID(StringId.PhoneNumberErrorTip),
+                        CloseTime = 2,
+                        Direction = AMPopTipDirection.None
+                    };
+                    tip_dialog.Show(MainPage.BaseView);
+                    phoneNumberEditText.Foucs = true;
+                    return;
+                }
+
+                if (pwdEditText.Text.Trim() == "" || pwdEditText.Text.Trim().Length != 6)
+                {
+                    var tip_dialog = new Tip()
+                    {
+                        Text = Language.StringByID(StringId.Input6_DigitsTemporaryPassword),
+                        CloseTime = 2,
+                        Direction = AMPopTipDirection.None
+                    };
+                    tip_dialog.Show(MainPage.BaseView);
+                    pwdEditText.Foucs = true;
+                    return;
+                }
+
+                string tip = "";
+                string message = "";
+                if (codeIV.ImageBytes == null)
+                {
+                    tip = Language.StringByID(StringId.tip);
+                    message = Language.StringByID(StringId.VisitorTipContent);
+                }
+                else
+                {
+                    tip = Language.StringByID(StringId.tip);
+                    message = Language.StringByID(StringId.VisitorDelTipContent);
+                }
+                new LpTipDialog(Application.Activity, tip, message, new LpTipDialogCallBack(voucher_action)).Show();
+            };
+
+            //灏嗕簩缁寸爜淇濆瓨鍒版湰鍦扮浉鍐�
+            codeIV.MouseLongEventHandler += (sender, e) =>
+            {
+#if __Android__
+                bool bol = HDLImageUtils.SaveImageToGallery(Application.Activity,
+                    Scan.BytesFromText(tempPassword.tempPwd, codeIV.Width, codeIV.Height));
+
+                string msg = "";
+                if (bol)
+                {
+                    msg = Language.StringByID(StringId.SavedSuccessfully);
+                }
+                else
+                {
+                    msg = Language.StringByID(StringId.saveFail);
+                }
+
+                var tip_dialog = new Tip()
+                {
+                    Text = msg,
+                    CloseTime = 2,
+                    Direction = AMPopTipDirection.None
+                };
+                tip_dialog.Show(MainPage.BaseView);
+#endif
+            };
+
+            if (tempPassword != null && tempPassword.id != null && tempPassword.id != "")
+            {
+                pwdEditText.Text = "";
+                pwdEditText.PlaceholderText = Language.StringByID(StringId.TemporaryPasswordInvalid);
+                pwdEditText.Enable = false;
+                phoneNumberEditText.Enable = false;
+                randomBtn.Enable = false;
+                startTimeBtn.Enable = false;
+                endTimeBtn.Enable = false;
+            }
+            else
+            {
+                pwdEditText.FoucsChanged = (sender, e) =>
+                {
+                    if (!pwdEditText.Foucs)
+                    {
+                        // 6浣嶅瘑鐮侀獙璇�
+                        var tip_dialog = new Tip()
+                        {
+                            Text = Language.StringByID(StringId.Input6_DigitsTemporaryPassword),
+                            CloseTime = 2,
+                            Direction = AMPopTipDirection.None
+                        };
+                        tip_dialog.Show(MainPage.BaseView);
+                    }
+                };
+
+                randomBtn.MouseUpEventHandler += (sender, e) =>
+                {
+                    string tPwd = getRandomPwd();
+                    pwdEditText.Text = tPwd;
+                };
+
+                phoneNumberEditText.FoucsChanged = (sender, e) =>
+                {
+                    if (!phoneNumberEditText.Foucs)
+                    {
+                        //鎵嬫満鍙风爜閿欒鎻愮ず
+                        if (!Utlis.CheckPhoneNumber(phoneNumberEditText.Text.Trim(), "86"))
+                        {
+                            var tip_dialog = new Tip()
+                            {
+                                Text = Language.StringByID(StringId.PhoneNumberErrorTip),
+                                CloseTime = 2,
+                                Direction = AMPopTipDirection.None
+                            };
+                            tip_dialog.Show(MainPage.BaseView);
+                        }
+                    }
+                };
+            }
+
+            RefreshVisitorVoucherBtn();
+        }
+
+        /// <summary>
+        /// 鍒锋柊VisitorVoucherBtn鐘舵��
+        /// </summary>
+        private void RefreshVisitorVoucherBtn()
+        {
+            if (tempPassword == null) return;
+
+            if (tempPassword.tempPwd != null && tempPassword.tempPwd != "")
+            {
+                codeIV.ImageBytes = Scan.BytesFromText(tempPassword.tempPwd, codeIV.Width, codeIV.Height);
+                //鍒ゆ柇浜岀淮鐮佹槸鍚﹀け鏁�
+                DateTime endTime = DateTime.Parse(tempPassword.validEndTime);
+                DateTime currentTime = DateTime.Now;
+                if (currentTime > endTime || !tempPassword.status)
+                {
+                    // 浜岀淮鐮佹湁鏁堟湡鎻愮ず
+                    codeTip = new Button()
+                    {
+                        TextAlignment = TextAlignment.Center,
+                        TextColor = CSS_Color.textWhiteColor,
+                        BackgroundColor = CSS_Color.DialogTransparentColor1,
+                        Text = Language.StringByID(StringId.QRcodeIsInvalid),
+                    };
+                    codeLayout.AddChidren(codeTip);
+                    visitorVoucherBtn.Visible = false;
+                }
+                visitorVoucherBtn.Text = Language.StringByID(StringId.CancleVisitorCredentials);
+            }
+            else
+            {
+                visitorVoucherBtn.Visible = true;
+                visitorVoucherBtn.Text = Language.StringByID(StringId.GenerateVisitorCredentials);
+            }
+        }
+
+        /// <summary>
+        /// 娣诲姞涓存椂瀵嗙爜锛堣瀹㈠嚟璇侊級
+        /// </summary>
+        /// <param name="homeId">浣忓畢id</param>
+        /// <param name="phone">璁垮鎵嬫満鍙�</param>
+        /// <param name="tempPwd">涓存椂瀵嗙爜</param>
+        /// <param name="validBeginTime">寮�濮嬫椂闂�</param>
+        /// <param name="validEndTime">缁撴潫鏃堕棿</param>
+        /// <param name="useCount">浣跨敤娆℃暟锛岄粯璁や竴涓暟鍊煎ぇ涓�浜涚殑</param>
+        /// <returns></returns>
+        private bool CreateVisitorPassword(VisitorTempPassword pwd)
+        {
+            var result = false;
+            Dictionary<string, object> dictionary = new Dictionary<string, object>();
+            dictionary.Add("homeId", pwd.homeId);
+            dictionary.Add("phone", pwd.phone);
+            dictionary.Add("tempPwd", pwd.tempPwd);
+            dictionary.Add("validBeginTime", pwd.validBeginTime);
+            dictionary.Add("validEndTime", pwd.validEndTime);
+            dictionary.Add("useCount", pwd.useCount);
+
+            var requestJson = HttpUtil.GetSignRequestJson(dictionary);
+            var pack = HttpUtil.RequestHttpsPost(NewAPI.API_POST_ADD_TEMP_PASSWORD, requestJson);
+            if (pack != null)
+            {
+                if (pack.Code == StateCode.SUCCESS)
+                {
+                    pwd.id = pack.Data.ToString();
+                    codeIV.ImageBytes = Scan.BytesFromText(pwdEditText.Text, codeIV.Width, codeIV.Height);
+                    codeSaveTipBtn.Visible = true;
+                    RefreshVisitorVoucherBtn();
+                }
+                else {
+                    var tip_dialog = new Tip()
+                    {
+                        Text = pack.message,
+                        CloseTime = 2,
+                        Direction = AMPopTipDirection.None
+                    };
+                    tip_dialog.Show(MainPage.BaseView);
+                }
+            }
+            return result;
+        }
+
+        /// <summary>
+        /// 鍒犻櫎涓存椂瀵嗙爜(璁垮鍑瘉)
+        /// </summary>
+        /// <param name="home_id">浣忓畢id</param>
+        /// <param name="pwd_id">涓存椂瀵嗙爜id</param>
+        private bool DelVisitorPassword(VisitorTempPassword pwd)
+        {
+            Dictionary<string, object> dictionary = new Dictionary<string, object>();
+            dictionary.Add("homeId", pwd.homeId);
+            dictionary.Add("id", pwd.id);
+            var result = false;
+            var requestJson = HttpUtil.GetSignRequestJson(dictionary);
+            var pack = HttpUtil.RequestHttpsPost(NewAPI.API_POST_DEL_TEMP_PASSWORD, requestJson);
+            if (pack != null)
+            {
+                if (pack.Code == StateCode.SUCCESS)
+                {
+                    // 鍏抽棴褰撳墠鐣岄潰
+                    RemoveFromParent();
+                }
+            }
+            RefreshVisitorVoucherBtn();
+            return result;
+        }
+
+        /// <summary>
+        /// 鐢熸垚6浣嶉殢鏈哄瘑鐮�
+        /// </summary>
+        /// <returns></returns>
+        private string getRandomPwd()
+        {
+            string pwd = "";
+            for (int i = 0; i < 6; i++)
+            {
+                int math = new Random().Next(0, 9);
+                pwd += math;
+            }
+            return pwd;
+        }
+    }
+}
\ No newline at end of file
diff --git a/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AcControlPage.cs b/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AcControlPage.cs
index 6a45090..ca02d57 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AcControlPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AcControlPage.cs
@@ -366,15 +366,15 @@
                 };
                 EventHandler<MouseEventArgs> eventHandler1 = (sender, e) =>
                 {
-                    //if (!device.online)
-                    //{
-                    //    new Tip()
-                    //    {
-                    //        CloseTime = 1,
-                    //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                    //        Direction = AMPopTipDirection.None,
-                    //    }.Show(MainPage.BaseView);
-                    //}
+                    if (!device.online)
+                    {
+                        new Tip()
+                        {
+                            CloseTime = 1,
+                            Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                            Direction = AMPopTipDirection.None,
+                        }.Show(MainPage.BaseView);
+                    }
                     btnModeIcon.IsSelected = btnModeText.IsSelected = true;
                     device.SetAttrState(FunctionAttributeKey.Mode, m);
                     btnMode.UnSelectedImagePath = acFunction.GetModeIconPath(m);
@@ -502,15 +502,15 @@
                 };
                 EventHandler<MouseEventArgs> eventHandler1 = (sender, e) =>
                 {
-                    //if (!device.online)
-                    //{
-                    //    new Tip()
-                    //    {
-                    //        CloseTime = 1,
-                    //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                    //        Direction = AMPopTipDirection.None,
-                    //    }.Show(MainPage.BaseView);
-                    //}
+                    if (!device.online)
+                    {
+                        new Tip()
+                        {
+                            CloseTime = 1,
+                            Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                            Direction = AMPopTipDirection.None,
+                        }.Show(MainPage.BaseView);
+                    }
                     btnModeIcon.IsSelected = btnModeText.IsSelected = true;
                     device.SetAttrState(FunctionAttributeKey.Swing, m);
                     btnSwing.UnSelectedImagePath = acFunction.GetSwingIconPath(m);
@@ -626,15 +626,15 @@
                 };
                 EventHandler<MouseEventArgs> eventHandler1 = (sender, e) =>
                 {
-                    //if (!device.online)
-                    //{
-                    //    new Tip()
-                    //    {
-                    //        CloseTime = 1,
-                    //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                    //        Direction = AMPopTipDirection.None,
-                    //    }.Show(MainPage.BaseView);
-                    //}
+                    if (!device.online)
+                    {
+                        new Tip()
+                        {
+                            CloseTime = 1,
+                            Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                            Direction = AMPopTipDirection.None,
+                        }.Show(MainPage.BaseView);
+                    }
                     btnFanIcon.IsSelected = btnFanText.IsSelected = true;
                     device.SetAttrState(FunctionAttributeKey.FanSpeed, m);
                     btnWindSpeed.UnSelectedImagePath = acFunction.GetFanIconPath(m);
@@ -822,15 +822,15 @@
 
                 btn.MouseUpEventHandler = (sender, e) =>
                 {
-                    //if (!device.online)
-                    //{
-                    //    new Tip()
-                    //    {
-                    //        CloseTime = 1,
-                    //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                    //        Direction = AMPopTipDirection.None,
-                    //    }.Show(MainPage.BaseView);
-                    //}
+                    if (!device.online)
+                    {
+                        new Tip()
+                        {
+                            CloseTime = 1,
+                            Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                            Direction = AMPopTipDirection.None,
+                        }.Show(MainPage.BaseView);
+                    }
                     Dictionary<string, string> d = new Dictionary<string, string>();
                     d.Add(attr.key, "");
                     Control.Ins.SendWriteCommand(device, d);
@@ -885,15 +885,15 @@
         {
             btnMinus.MouseUpEventHandler = (sender, e) =>
             {
-                //if (!device.online)
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //}
+                if (!device.online)
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                }
                 if (device.trait_on_off.curValue.ToString() == "off" || device.GetAttrState(FunctionAttributeKey.Mode) == "fan")
                 {
                     return;
@@ -915,15 +915,15 @@
             };
             btnPlus.MouseUpEventHandler = (sender, e) =>
             {
-                //if (!device.online)
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //}
+                if (!device.online)
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                }
                 if (device.trait_on_off.curValue.ToString() == "off" || device.GetAttrState(FunctionAttributeKey.Mode) == "fan")
                 {
                     return;
@@ -941,7 +941,7 @@
                 d.Add(FunctionAttributeKey.SetTemp, temp.ToString());
                 Control.Ins.SendWriteCommand(device, d);
             };
-            //if (device.online)
+            if (!device.online)
             {
                 arcBar.OnStopTrackingTouchEvent = (sender, e) =>
                 {
@@ -949,7 +949,7 @@
                     device.SetAttrState(FunctionAttributeKey.SetTemp, arcBar.Progress.ToString());
                     btnTemp.Text = arcBar.Progress.ToString();
                     controlTime = DateTime.Now;
-                    Dictionary<string, string> d = new Dictionary<string, string>();
+                    System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
                     d.Add(FunctionAttributeKey.SetTemp, arcBar.Progress.ToString());
                     Control.Ins.SendWriteCommand(device, d);
                 };
@@ -1002,15 +1002,15 @@
 
             btnSwitch.MouseUpEventHandler = (sender, e) =>
             {
-                //if (!device.online)
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //}
+                if (!device.online)
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                }
                 btnSwitch.IsSelected = !btnSwitch.IsSelected;
                 device.trait_on_off.curValue = btnSwitch.IsSelected ? "on" : "off";
                 if (device.trait_on_off.curValue.ToString() == "on")
diff --git a/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AirFreshControlPage.cs b/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AirFreshControlPage.cs
index 22ddee1..7075c77 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AirFreshControlPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AirFreshControlPage.cs
@@ -719,13 +719,13 @@
             this.btnMode2.CanClick = this.airFreshData.Open;
 
             //椋庨��
-            if (this.airFreshData.Fan == "level_3" || this.airFreshData.Fan == "high")
+            if (this.airFreshData.Fan == "level_3")
             {
                 this.btnFan.UnSelectedImagePath = "FunctionIcon/AirFresh/Fan3.png";
                 this.btnFan.SelectedImagePath = "FunctionIcon/AirFresh/Fan3Select.png";
                 this.btnFanView.Text = this.dicText["3妗�"];
             }
-            else if(this.airFreshData.Fan == "level_2" || this.airFreshData.Fan == "medium")
+            else if(this.airFreshData.Fan == "level_2")
             {
                 this.btnFan.UnSelectedImagePath = "FunctionIcon/AirFresh/Fan2.png";
                 this.btnFan.SelectedImagePath = "FunctionIcon/AirFresh/Fan2Select.png";
@@ -759,15 +759,15 @@
         /// <param name="comadValue">鍛戒护</param>
         private void SendOtherComand(IconViewControl btnIcon, string comadKey, string comadValue)
         {
-            //if (!device.online)
-            //{
-            //    new Tip()
-            //    {
-            //        CloseTime = 1,
-            //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-            //        Direction = AMPopTipDirection.None,
-            //    }.Show(MainPage.BaseView);
-            //}
+            if (!device.online)
+            {
+                new Tip()
+                {
+                    CloseTime = 1,
+                    Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                    Direction = AMPopTipDirection.None,
+                }.Show(MainPage.BaseView);
+            }
             btnIcon.CanClick = false;
 
             HdlThreadLogic.Current.RunThread(() =>
@@ -788,15 +788,15 @@
         /// </summary>
         private void SendSwitchComand()
         {
-            //if (!device.online)
-            //{
-            //    new Tip()
-            //    {
-            //        CloseTime = 1,
-            //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-            //        Direction = AMPopTipDirection.None,
-            //    }.Show(MainPage.BaseView);
-            //}
+            if (!device.online)
+            {
+                new Tip()
+                {
+                    CloseTime = 1,
+                    Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                    Direction = AMPopTipDirection.None,
+                }.Show(MainPage.BaseView);
+            }
             this.btnSwitch.CanClick = false;
 
             string statu = this.btnSwitch.IsSelected == true ? "off" : "on";
diff --git a/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AirFreshRelayControlPage.cs b/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AirFreshRelayControlPage.cs
index 90fea50..7ea9ab3 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AirFreshRelayControlPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AirFreshRelayControlPage.cs
@@ -89,15 +89,15 @@
             FrameWhiteCentet1.AddChidren(btnSwitch);
             btnSwitch.MouseUpEventHandler = (sender, e) =>
             {
-                //if (!device.online)
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //}
+                if (!device.online)
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                }
                 btnSwitch.IsSelected = !btnSwitch.IsSelected;
                 device.trait_on_off.curValue = btnSwitch.IsSelected ? "on" : "off";
                 new System.Threading.Thread(() =>
@@ -109,15 +109,15 @@
                 { IsBackground = true }.Start();
             };
 
+            //鍒锋柊鐣岄潰鐘舵��
+            this.RefreshFormStatu();
+
             if (fanSpeedList.Count > 0)
             {
                 this.btnFan.UnSelectedImagePath = "FunctionIcon/AirFresh/Fan1.png";
                 this.btnFan.SelectedImagePath = "FunctionIcon/AirFresh/Fan1Select.png";
                 this.btnFanView.Text = Language.StringByID(StringId.LowWindSpeed);
             }
-            //鍒锋柊鐣岄潰鐘舵��
-            this.RefreshFormStatu();
-
         }
 
         #endregion
@@ -289,15 +289,15 @@
         /// <param name="comadValue">鍛戒护</param>
         private void SendOtherComand(IconViewControl btnIcon, string comadKey, string comadValue)
         {
-            //if (!device.online)
-            //{
-            //    new Tip()
-            //    {
-            //        CloseTime = 1,
-            //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-            //        Direction = AMPopTipDirection.None,
-            //    }.Show(MainPage.BaseView);
-            //}
+            if (!device.online)
+            {
+                new Tip()
+                {
+                    CloseTime = 1,
+                    Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                    Direction = AMPopTipDirection.None,
+                }.Show(MainPage.BaseView);
+            }
             btnIcon.CanClick = false;
 
             HdlThreadLogic.Current.RunThread(() =>
diff --git a/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/CacDayHistoryPage.cs b/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/CacDayHistoryPage.cs
deleted file mode 100644
index 4553294..0000000
--- a/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/CacDayHistoryPage.cs
+++ /dev/null
@@ -1,199 +0,0 @@
-锘縰sing System;
-using System.Collections.Generic;
-using HDL_ON.DAL.Server;
-using HDL_ON.Entity;
-using HDL_ON.UI.CSS;
-using Shared;
-
-namespace HDL_ON.UI
-{
-    public class CacDayHistoryPage : FrameLayout
-    {
-        CacDayHistoryPage bodyView;
-        EchartsOption_BrokenLine brokenLine;
-        MyEchartsViewOn myEchartsView_Line;
-        string curQueryType = "hour";
-        string queryTime;
-        string functionId;
-        string time;
-        public CacDayHistoryPage(string functionId,string queryType, string time)
-        {
-            this.time = time;
-            this.functionId = functionId;
-            curQueryType = queryType;
-            bodyView = this;
-            queryTime = time;
-        }
-
-
-        /// <summary>
-        /// 
-        /// </summary>
-        public void InitView()
-        {
-            new TopViewDiv(bodyView, Language.StringByID(StringId.StatisticalChart24Hour)).LoadTopView();
-            bodyView.BackgroundColor = CSS_Color.BackgroundColor;
-
-            var contentView = new FrameLayout()
-            {
-                Y = Application.GetRealHeight(64),
-                Height = Application.GetRealHeight(603),
-            };
-            bodyView.AddChidren(contentView);
-
-            var btnTitle = new Button()
-            {
-                Height = Application.GetRealHeight(60),
-                TextAlignment = TextAlignment.Center,
-                TextSize = CSS_FontSize.SubheadingFontSize,
-                TextColor = CSS_Color.FirstLevelTitleColor,
-            };
-            if(curQueryType == "room_temp")
-            {
-                btnTitle.Text = queryTime + "瀹ゅ唴娓╁害鍘嗗彶鏁版嵁";
-            }
-            else
-            {
-                btnTitle.Text = queryTime + "瀹ゅ唴婀垮害鍘嗗彶鏁版嵁";
-            }
-            contentView.AddChidren(btnTitle);
-
-
-            var historyDataView = new FrameLayout()
-            {
-                Gravity = Gravity.CenterHorizontal,
-                Y = Application.GetRealWidth(52),
-                Height = Application.GetRealWidth(350),
-            };
-            contentView.AddChidren(historyDataView);
-
-
-            brokenLine = new EchartsOption_BrokenLine();
-
-            myEchartsView_Line = new MyEchartsViewOn()
-            {
-                Y = Application.GetRealWidth(10),
-                Height = Application.GetRealWidth(338),
-            };
-            historyDataView.AddChidren(myEchartsView_Line);
-
-
-#if DEBUG
-
-            //List<string> vs = new List<string>() {
-            //            "1","2","3","4","5","6","7","8","9","10","11","12","13","14"
-            //        };
-            //brokenLine.InitXdataText(vs);
-            //brokenLine.InitYdataText("yData", new List<EnvironmentalSensorHistor>() {
-            //    new EnvironmentalSensorHistor{ fieldName = "1", fieldValue= "23"  },
-            //    new EnvironmentalSensorHistor{ fieldName = "2", fieldValue= "22"  },
-            //    new EnvironmentalSensorHistor{ fieldName = "3", fieldValue= "-11"  },
-            //    new EnvironmentalSensorHistor{ fieldName = "4", fieldValue= "21"  },
-            //    new EnvironmentalSensorHistor{ fieldName = "5", fieldValue= "-41"  },
-            //    new EnvironmentalSensorHistor{ fieldName = "6", fieldValue= "23"  },
-            //    new EnvironmentalSensorHistor{ fieldName = "7", fieldValue= "-31"  },
-            //    new EnvironmentalSensorHistor{ fieldName = "8", fieldValue= "-23"  },
-            //    new EnvironmentalSensorHistor{ fieldName = "9", fieldValue= "-11"  },
-            //    new EnvironmentalSensorHistor{ fieldName = "10", fieldValue= "-21"  },
-            //    new EnvironmentalSensorHistor{ fieldName = "11", fieldValue= "24"  },
-            //    new EnvironmentalSensorHistor{ fieldName = "12", fieldValue= "41"  },
-            //    new EnvironmentalSensorHistor{ fieldName = "13", fieldValue= "32"  },
-            //    new EnvironmentalSensorHistor{ fieldName = "14", fieldValue= "23"  }
-            //}, "#FF9D54");
-            //brokenLine.yTitle = "(鈩�)";
-            //brokenLine.xTitle = "";
-            ////if (curQueryType != "hour")
-            ////{
-            ////    brokenLine.xTitle = Language.StringByID(StringId.Date);
-            ////}
-            //var opString = brokenLine.InitOption();
-
-            //    myEchartsView_Line.ShowWithOption(opString);
-
-#endif
-            LoadMothed_GetHistoryData();
-        }
-
-        /// <summary>
-        /// 璇诲彇鍘嗗彶鏁版嵁
-        /// </summary>
-        void LoadMothed_GetHistoryData()
-        {
-
-            var loadPage = new Loading()
-            {
-                LodingBackgroundColor = 0x88888888,
-            };
-            bodyView.AddChidren(loadPage);
-
-            new System.Threading.Thread(() =>
-            {
-                try
-                {
-                    Application.RunOnMainThread(() =>
-                    {
-                        loadPage.Start(Language.StringByID(StringId.PleaseWait));
-                    });
-
-                    var revertObj = new HttpServerRequest().GetSensorHistory("day_hour", functionId, curQueryType,time);
-                    if (revertObj != null)
-                    {
-                        if (revertObj.Code == StateCode.SUCCESS)
-                        {
-                            var revertData = Newtonsoft.Json.JsonConvert.DeserializeObject<List<EnvironmentalSensorHistor>>(revertObj.Data.ToString());
-
-                            List<string> vs = new List<string>();
-                            if (brokenLine.YvalueText == "")
-                            {
-                                foreach (var data in revertData)
-                                {
-                                    vs.Add(data.fieldName);
-                                }
-                                brokenLine.InitXdataText(vs);
-                            }
-                            //if (sr.GetAttribute("ydata") == null)
-                            //{
-                            //    sr.attributes.Add(new FunctionAttributes() { key = "ydata" });
-                            //}
-                            //sr.SetAttrState("ydata",
-                            brokenLine.InitYdataText("", revertData, "#FF9D54");// + ",");
-                        }
-                    }
-                    brokenLine.yTitle = Language.StringByID(StringId.Uint);
-                    if(curQueryType == "room_temp")
-                    {
-                        brokenLine.yTitle += ":掳C";
-                    }
-                    else
-                    {
-                        brokenLine.yTitle += ":%";
-                    }
-                    brokenLine.xTitle = Language.StringByID(StringId.timeMode);
-                    //if (curQueryType != "hour")
-                    //{
-                    //    brokenLine.xTitle = Language.StringByID(StringId.Date);
-                    //}
-                    var opString = brokenLine.InitOption();
-
-                    Application.RunOnMainThread(() =>
-                    {
-                        myEchartsView_Line.ShowWithOption(opString);
-                    });
-                }
-                catch (Exception ex)
-                {
-                    MainPage.Log($"sensor history error : {ex.Message}");
-                }
-                finally
-                {
-                    Application.RunOnMainThread(() =>
-                    {
-                        loadPage.Hide();
-                    });
-                }
-            })
-            { IsBackground = true }.Start();
-        }
-
-    }
-}
diff --git a/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/CacHistoryChoosePage.cs b/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/CacHistoryChoosePage.cs
deleted file mode 100644
index d9514ef..0000000
--- a/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/CacHistoryChoosePage.cs
+++ /dev/null
@@ -1,108 +0,0 @@
-锘縰sing System;
-using HDL_ON.Entity;
-using HDL_ON.UI.CSS;
-using Shared;
-namespace HDL_ON.UI
-{
-    /// <summary>
-    /// 娓╂帶鍣ㄥ巻鍙叉暟鎹樉绀洪�夋嫨鐣岄潰
-    /// </summary>
-    public class CacHistoryChoosePage : FrameLayout
-    {
-        FrameLayout bodyView;
-        Function device;
-        public CacHistoryChoosePage(Function function)
-        {
-            device = function;
-            bodyView = this;
-        }
-
-        public void InitView()
-        {
-            new TopViewDiv(bodyView, Language.StringByID(StringId.Data)).LoadTopView();
-            bodyView.BackgroundColor = CSS_Color.BackgroundColor;
-
-            FrameLayout tempView = new FrameLayout()
-            {
-                Y = Application.GetRealHeight(64),
-                Height = Application.GetRealHeight(50),
-                BackgroundColor = CSS_Color.MainBackgroundColor,
-            };
-            bodyView.AddChidren(tempView);
-
-            Button btnTempRight = new Button()
-            {
-                X = Application.GetRealWidth(339),
-                Gravity = Gravity.CenterVertical,
-                Width = Application.GetMinRealAverage(16),
-                Height = Application.GetMinRealAverage(16),
-                UnSelectedImagePath = "Public/Right.png",
-            };
-            tempView.AddChidren(btnTempRight);
-
-            Button btnTempLine = new Button()
-            {
-                Y = Application.GetRealHeight(49),
-                Gravity = Gravity.CenterHorizontal,
-                Width = Application.GetRealWidth(343),
-                Height = Application.GetRealHeight(1),
-                BackgroundColor = CSS_Color.DividingLineColor
-            };
-            tempView.AddChidren(btnTempLine);
-
-            Button btnTempName = new Button()
-            {
-                X = Application.GetRealWidth(16),
-                TextAlignment = TextAlignment.CenterLeft,
-                TextColor = CSS_Color.FirstLevelTitleColor,
-                TextSize = CSS_FontSize.SubheadingFontSize,
-                TextID = StringId.TemperatureStatistics
-            };
-            tempView.AddChidren(btnTempName);
-            btnTempName.MouseUpEventHandler = (sender, e) => {
-                var page = new CacWeekHistoryPage(device, "room_temp");
-                MainPage.BasePageView.AddChidren(page);
-                page.InitView();
-                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
-            };
-
-
-
-            FrameLayout humidityView = new FrameLayout()
-            {
-                Y = Application.GetRealHeight(64 + 50),
-                Height = Application.GetRealHeight(50),
-                BackgroundColor = CSS_Color.MainBackgroundColor,
-            };
-            bodyView.AddChidren(humidityView);
-
-            Button btnHumidityRight = new Button()
-            {
-                X = Application.GetRealWidth(339),
-                Gravity = Gravity.CenterVertical,
-                Width = Application.GetMinRealAverage(16),
-                Height = Application.GetMinRealAverage(16),
-                UnSelectedImagePath = "Public/Right.png",
-            };
-            humidityView.AddChidren(btnHumidityRight);
-
-            Button btnHumidityName = new Button()
-            {
-                X = Application.GetRealWidth(16),
-                TextAlignment = TextAlignment.CenterLeft,
-                TextColor = CSS_Color.FirstLevelTitleColor,
-                TextSize = CSS_FontSize.SubheadingFontSize,
-                TextID = StringId.HumidityStatistics
-            };
-            humidityView.AddChidren(btnHumidityName);
-            btnHumidityName.MouseUpEventHandler = (sender, e) => {
-                var page = new CacWeekHistoryPage(device, "room_humidity");
-                MainPage.BasePageView.AddChidren(page);
-                page.InitView();
-                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
-            };
-
-
-        }
-    }
-}
diff --git a/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/CacWeekHistoryPage.cs b/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/CacWeekHistoryPage.cs
deleted file mode 100644
index 1f5553b..0000000
--- a/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/CacWeekHistoryPage.cs
+++ /dev/null
@@ -1,424 +0,0 @@
-锘縰sing System;
-using System.Collections.Generic;
-using HDL_ON.DAL.Server;
-using HDL_ON.Entity;
-using HDL_ON.Stan;
-using HDL_ON.UI.CSS;
-using Shared;
-
-namespace HDL_ON.UI
-{
-    public class CacWeekHistoryPage : FrameLayout
-    {
-
-        CacWeekHistoryPage bodyView;
-            HorizontalScrolViewLayout dateHorView;
-        Function device;
-        /// <summary>
-        /// 鏁版嵁鏄剧ず绫诲瀷
-        /// room_temp 娓╁害
-        /// room_humidity 婀垮害
-        /// </summary>
-        string showType;
-            Dictionary<string, double> dataDic = new Dictionary<string, double>();
-        public CacWeekHistoryPage(Function device,string type)
-        {
-            bodyView = this;
-            this.device = device;
-            showType = type;
-            BackgroundColor = CSS_Color.BackgroundColor;
-        }
-
-        public void InitView()
-        {
-            if (showType == "room_temp")
-            {
-                new TopViewDiv(bodyView, Language.StringByID(StringId.Temp)).LoadTopView();
-            }
-            else
-            {
-                new TopViewDiv(bodyView, Language.StringByID(StringId.Humidity)).LoadTopView();
-            }
-
-
-
-            InitContentView();
-        }
-
-
-        private void InitContentView()
-        {
-            FrameLayout contentView = new FrameLayout()
-            {
-                Y = Application.GetRealHeight(80),
-                Gravity = Gravity.CenterHorizontal,
-                Width = Application.GetRealWidth(343),
-                Height = Application.GetRealHeight(482),
-                BackgroundColor = CSS_Color.MainBackgroundColor,
-                Radius = (uint)Application.GetRealWidth(5)
-            };
-            bodyView.AddChidren(contentView);
-
-            Button btnTitle = new Button()
-            {
-                Height = Application.GetRealHeight(60),
-                TextColor = CSS_Color.FirstLevelTitleColor,
-                TextSize = CSS_FontSize.TextFontSize,
-                TextAlignment = TextAlignment.Center,
-            };
-            if (showType == "room_temp")
-            {
-                btnTitle.Text = "鏈�杩�7澶╂瘡澶╁钩鍧囧鍐呮俯搴︾粺璁″浘";
-            }
-            else
-            {
-                btnTitle.Text = "鏈�杩�7澶╂瘡澶╁钩鍧囧鍐呮箍搴︾粺璁″浘";
-            }
-            contentView.AddChidren(btnTitle);
-
-            FrameLayout dataView = new FrameLayout()
-            {
-                Y = Application.GetRealHeight(39),
-                Gravity = Gravity.CenterHorizontal,
-                Width = Application.GetRealWidth(293),
-                Height = Application.GetRealHeight(345 + 30),
-            };
-            contentView.AddChidren(dataView);
-
-            Button btnUnit = new Button()
-            {
-                Height = Application.GetRealHeight(15 + 30),
-                TextAlignment = TextAlignment.CenterLeft,
-                TextColor = 0xFF43425D,
-                TextSize = 8,
-            };
-            if (showType == "room_temp")
-            {
-                btnUnit.Text = Language.StringByID(StringId.Uint) + "锛氣剝";
-            }
-            else
-            {
-                btnUnit.Text = Language.StringByID(StringId.Uint) + "%";
-            }
-            dataView.AddChidren(btnUnit);
-
-#if DEBUG
-            //dataDic.Add("0201", 49);
-            //dataDic.Add("0202", 20);
-            //dataDic.Add("0203", 10);
-            //dataDic.Add("0204", 49);
-            //dataDic.Add("0205", 20);
-            //dataDic.Add("0206", 20);
-            //dataDic.Add("0207", 48);
-
-            //dataDic.Add("0201", -20);
-            //dataDic.Add("0202", -20);
-            //dataDic.Add("0203", -20);
-            //dataDic.Add("0204", -48);
-            //dataDic.Add("0205", -20);
-            //dataDic.Add("0206", -20);
-            //dataDic.Add("0207", -20);
-#endif
-
-            DataItemView dataShowView = new DataItemView("0",360);
-            //dataShowView.Height = Application.GetRealHeight(360);
-            dataShowView.Y = Application.GetRealHeight(30);
-
-            List<string> items = new List<string>()
-            {
-                "100","90","80","70","60","50","40","30","20","10","0"
-            };
-            if (showType == "room_temp")
-            {
-                items = new List<string>()
-                {
-                    "50","40","30","20","10","0","-10","-20","-30","-40","-50"
-                };
-            }
-            int index = 0;
-            foreach (var item in items)
-            {
-                DataItemView dataItemView;
-                if (item == "0" )
-                {
-                    dataItemView = dataShowView;
-                    index++;
-                }
-                else
-                {
-                    dataItemView = new DataItemView(item,30);
-                    dataItemView.Y = ++index * Application.GetRealHeight(30) + Application.GetRealHeight(15);
-                }
-                dataItemView.InitView(showType == "room_temp");
-                dataView.AddChidren(dataItemView);
-            }
-            dateHorView = new HorizontalScrolViewLayout()
-            {
-                X = Application.GetRealWidth(48),
-                Y = dataView.Bottom,// - Application.GetRealHeight(19),
-                Width = Application.GetRealWidth(267),
-                Height = Application.GetRealHeight(26),
-            };
-            contentView.AddChidren(dateHorView);
-
-            Button btnTip = new Button()
-            {
-                Y = contentView.Bottom + Application.GetRealHeight(28),
-                Height = Application.GetRealHeight(20),
-                TextColor = CSS_Color.FirstLevelTitleColor,
-                TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
-                TextAlignment = TextAlignment.Center,
-                Text = "*鍙�氳繃鐐瑰嚮鏌卞舰鍥炬煡鐪嬪綋澶�24灏忔椂娓╁害缁熻"
-            };
-            bodyView.AddChidren(btnTip);
-
-
-            new System.Threading.Thread(() =>
-            {
-
-                var revertObj = new HttpServerRequest().GetSensorHistory("week", device.deviceId, showType);
-                if (revertObj.Code == StateCode.SUCCESS)
-                {
-                    var revertData = Newtonsoft.Json.JsonConvert.DeserializeObject<List<EnvironmentalSensorHistor>>(revertObj.Data.ToString());
-                    foreach (var reObj in revertData)
-                    {
-                        double value = 0;
-                        try
-                        {
-                            value = Convert.ToDouble(reObj.fieldValue);
-                        }
-                        catch { }
-                        dataDic.Add(reObj.time, value);
-                    }
-                    Application.RunOnMainThread(() =>
-                    {
-                        RefrshDataView(dataDic, dataShowView);
-                        RefreshXtext();
-                    });
-
-                }
-            })
-            { IsBackground = true }.Start();
-        }
-
-        void RefreshXtext()
-        {
-            dateHorView.RemoveAll();
-
-            foreach (var dic in dataDic)
-            {
-                FrameLayout dateView = new FrameLayout()
-                {
-                    Width = Application.GetRealWidth(39),
-                    Height = Application.GetRealHeight(26),
-                };
-                dateHorView.AddChidren(dateView);
-
-                Button btnLineh = new Button()
-                {
-                    Width = 1,
-                    Height = Application.GetRealHeight(4),
-                    Gravity = Gravity.CenterHorizontal,
-                    BackgroundColor = 0xFFDBDBDB
-                };
-                dateView.AddChidren(btnLineh);
-
-                Button btnDate = new Button()
-                {
-                    Y = Application.GetRealHeight(12),
-                    Height = Application.GetRealHeight(14),
-                    TextColor = 0xFF43425D,
-                    TextSize = 10,
-                    Text = dic.Key,
-                };
-                try
-                {
-                    string[] strs = dic.Key.Split(@"/");
-                    btnDate.Text = strs[1] + "/" + strs[2];
-                }
-                catch { }
-                dateView.AddChidren(btnDate);
-            }
-
-        }
-
-
-        void RefrshDataView(Dictionary<string,double> dataDic, FrameLayout dataShowView)
-        {
-            int valueIndex = 0;
-            foreach (var data in dataDic)
-            {
-                ColumnarView cv = new ColumnarView(device.deviceId,showType, data.Key, data.Value);
-                cv.X = Application.GetRealWidth(valueIndex * 38 + 25);
-                cv.InitView();
-                dataShowView.AddChidren(cv);
-                cv.Clicker();
-
-
-                valueIndex++;
-            }
-        }
-
-
-
-    }
-
-    class DataItemView : FrameLayout
-    {
-        string value;
-        Button btnLine;
-        int height;
-        public DataItemView(string value,int height)
-        {
-            this.value = value;
-            Width = Application.GetRealWidth(293);
-            this.height = height;
-            Height = Application.GetRealHeight(height);
-        }
-
-        public void InitView(bool isTemp) {
-
-            Button btnValue = new Button()
-            {
-                Width = Application.GetRealWidth(18),
-                Height = Application.GetRealHeight(30),
-                TextAlignment = TextAlignment.CenterRight,
-                TextColor = 0xFF43425D,
-                TextSize = 8,
-                Text = value
-            };
-            AddChidren(btnValue);
-
-            btnLine = new Button()
-            {
-                X = Application.GetRealWidth(26),
-                Width = Application.GetRealWidth(267),
-                Height = 1,
-                BackgroundColor = CSS_Color.DividingLineColor,
-            };
-            if (isTemp)
-            {
-                btnLine.Gravity = Gravity.CenterVertical;
-                btnValue.Gravity = Gravity.CenterVertical;
-            }
-            else
-            {
-                if (height == 360)
-                {
-                    btnValue.Y = Application.GetRealHeight(height - 45);
-                }
-                else
-                {
-                    btnLine.Gravity = Gravity.CenterVertical;
-                }
-                btnLine.Y = Application.GetRealHeight(height - 30);
-            }
-            AddChidren(btnLine);
-
-
-
-
-
-        }
-
-    }
-
-    class ColumnarView : VerticalScrolViewLayout
-    {
-        string functionId;
-        string time;
-        string type;
-        double value;
-        string valueText;
-        /// <summary>
-        /// 鏂瑰悜锛氬悜涓娿�佸悜涓�
-        /// </summary>
-        bool isUpward;
-        Button btnValue;
-        Button btnValueText;
-
-
-        public ColumnarView(string functionId,string type, string key, double value)
-        {
-            this.functionId = functionId;
-            this.type = type;
-            time = key;
-            this.isUpward = value >= 0;
-            valueText = value.ToString();
-            if (isUpward)
-            {
-                this.value = value;
-            }
-            else
-            {
-                this.value = value * -1;
-            }
-            Width = Application.GetRealWidth(39);
-            Height = Application.GetRealHeight((int)(value * 3 + 30));
-        }
-
-        public void InitView()
-        {
-            int yValue = 0;
-            btnValue = new Button()
-            {
-                Gravity = Gravity.CenterHorizontal,
-                Height = Application.GetRealHeight((int)(value * 3)),
-                Width = Application.GetRealWidth(16),
-                BackgroundColor = 0xFFFF9D54,
-            };
-
-            btnValueText = new Button()
-            {
-                Height = Application.GetRealHeight(30),
-                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
-                TextColor = 0xFF43425D,
-                Text = valueText,
-            };
-            if(type == "room_temp")
-            {
-                btnValueText.Text += "鈩�";
-                if (isUpward)
-                {
-                    yValue = (int)(150 - value * 3);
-                    yValue = yValue > 0 ? yValue : 0;
-                    Y = Application.GetRealHeight(yValue+1);
-                    AddChidren(btnValueText);
-                    AddChidren(btnValue);
-                }
-                else
-                {
-                    Y = Application.GetRealHeight(180);
-                    AddChidren(btnValue);
-                    AddChidren(btnValueText);
-                }
-            }
-            else
-            {
-                yValue = (int)(360 -30- 30 - value * 3);
-                Y = Application.GetRealHeight(yValue+1);
-                AddChidren(btnValueText);
-                AddChidren(btnValue);
-                btnValueText.Text += "%";
-            }
-        }
-
-        public void Clicker()
-        {
-            btnValue.MouseUpEventHandler = (sender, e) =>
-            {
-                var page = new CacDayHistoryPage(functionId,type, time);
-                MainPage.BasePageView.AddChidren(page);
-                page.InitView();
-                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
-            };
-            btnValueText.MouseUpEventHandler = (sender, e) =>
-            {
-                var page = new CacDayHistoryPage(functionId,type, time);
-                MainPage.BasePageView.AddChidren(page);
-                page.InitView();
-                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
-            };
-        }
-    }
-}
diff --git a/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/FhControlPage.cs b/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/FhControlPage.cs
index 100e277..ec6fda3 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/FhControlPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/FhControlPage.cs
@@ -458,15 +458,15 @@
                 };
                 EventHandler<MouseEventArgs> eventHandler1 = (sender, e) =>
                 {
-                    //if (!device.online)
-                    //{
-                    //    new Tip()
-                    //    {
-                    //        CloseTime = 1,
-                    //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                    //        Direction = AMPopTipDirection.None,
-                    //    }.Show(MainPage.BaseView);
-                    //}
+                    if (!device.online)
+                    {
+                        new Tip()
+                        {
+                            CloseTime = 1,
+                            Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                            Direction = AMPopTipDirection.None,
+                        }.Show(MainPage.BaseView);
+                    }
                     btnModeIcon.IsSelected = btnModeText.IsSelected = true;
                     device.SetAttrState(FunctionAttributeKey.Mode, m);
                     btnMode.UnSelectedImagePath = fhTemp.GetModeIconPath(m);
@@ -524,16 +524,15 @@
         {
             btnMinus.MouseUpEventHandler = (sender, e) =>
             {
-                //if (!device.online)
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
+                if (!device.online)
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                }
                 if (device.trait_on_off.curValue.ToString() == "off" || device.GetAttrState(FunctionAttributeKey.Mode) == "fan")
                 {
                     return;
@@ -553,16 +552,15 @@
             };
             btnPlus.MouseUpEventHandler = (sender, e) =>
             {
-                //if (!device.online)
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
+                if (!device.online)
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                }
                 if (device.trait_on_off.curValue.ToString() == "off" || device.GetAttrState(FunctionAttributeKey.Mode) == "fan")
                 {
                     return;
@@ -581,7 +579,7 @@
                 Control.Ins.SendWriteCommand(device, d);
             };
 
-            //if (device.online)
+            if (!device.online)
             {
                 arcBar.OnStopTrackingTouchEvent = (sender, e) =>
                 {
diff --git a/HDL_ON/UI/UI2/FuntionControlView/ArmCenter/AddOutputPage.cs b/HDL_ON/UI/UI2/FuntionControlView/ArmCenter/AddOutputPage.cs
index 7f04f4e..e1dd248 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/ArmCenter/AddOutputPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/ArmCenter/AddOutputPage.cs
@@ -145,7 +145,7 @@
                 {
                     continue;
                 }
-                if (!string.IsNullOrEmpty(roomId) && roomId != "ALLSELECT")
+                if (!string.IsNullOrEmpty(roomId) && roomId == "ALLSELECT")
                 {
                     if (!function.roomIds.Contains(roomId))
                     {
@@ -172,7 +172,7 @@
                 {
                     continue;
                 }
-                if (!string.IsNullOrEmpty(roomId) && roomId != "ALLSELECT")
+                if (!string.IsNullOrEmpty(roomId))
                 {
                     if (!scene.roomIds.Contains(roomId))
                     {
@@ -202,131 +202,121 @@
         void LoadFunctionListRow()
         {
             functionListView.RemoveAll();
-            new System.Threading.Thread(() =>
+            foreach (var function in allocatedList)
             {
-                System.Threading.Thread.Sleep(50);
-                Application.RunOnMainThread(() =>
+                //var output = alarm.output.Find((obj) => obj.sid == function.sid);
+                //if (output == null)
+                //{
+                //    output = new SecurityOutput();
+                //    output.sid = function.sid;
+                //}
+
+                FrameLayout functionRow = new FrameLayout()
                 {
+                    Height = Application.GetRealHeight(65),
+                    BackgroundColor = CSS_Color.MainBackgroundColor,
+                };
+                functionListView.AddChidren(functionRow);
 
-                    foreach (var function in allocatedList)
+                var btnFunctionName = new Button()
+                {
+                    X = Application.GetRealWidth(16),
+                    Width = Application.GetRealWidth(200),
+                    Height = Application.GetRealHeight(44),
+                    Text = function.name,
+                    TextAlignment = TextAlignment.CenterLeft,
+                    TextColor = CSS_Color.FirstLevelTitleColor,
+                    TextSize = CSS_FontSize.TextFontSize,
+                };
+                functionRow.AddChidren(btnFunctionName);
+
+                var btnFunctionFloorName = new Button()
+                {
+                    X = Application.GetRealWidth(16),
+                    Y = Application.GetRealHeight(24),
+                    Width = Application.GetRealWidth(200),
+                    Height = Application.GetRealHeight(41),
+                    Text = function.RoomName,
+                    TextAlignment = TextAlignment.CenterLeft,
+                    TextColor = CSS_Color.PromptingColor1,
+                    TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+                };
+                functionRow.AddChidren(btnFunctionFloorName);
+
+                Button btnState = new Button()
+                {
+                    Width = Application.GetRealWidth(317),
+                    TextAlignment = TextAlignment.CenterRight,
+                    TextSize = CSS_FontSize.TextFontSize,
+                    TextColor = CSS_Color.PromptingColor1,
+                    Text = function.StateText()
+                };
+                functionRow.AddChidren(btnState);
+
+                Button btnChooseIcon = new Button()
+                {
+                    X = Application.GetRealWidth(333),
+                    Gravity = Gravity.CenterVertical,
+                    Width = Application.GetMinRealAverage(32),
+                    Height = Application.GetMinRealAverage(32),
+                    UnSelectedImagePath = "Public/ChooseIcon.png",
+                    SelectedImagePath = "Public/ChooseOnIcon.png",
+                };
+                functionRow.AddChidren(btnChooseIcon);
+
+                btnChooseIcon.MouseUpEventHandler = (sender, e) => {
+                    btnChooseIcon.IsSelected = !btnChooseIcon.IsSelected;
+                    var tempLocal = alarm.output.Find((obj) =>
+                        obj.sid == function.sid
+                    );
+                    //if (tempLocal == null && !string.IsNullOrEmpty(output.spk))
+                    //{
+                    //    ShowStateDialog(output, btnState, btnChooseIcon);
+                    //}
+                    if (btnChooseIcon.IsSelected)
                     {
-                        //var output = alarm.output.Find((obj) => obj.sid == function.sid);
-                        //if (output == null)
-                        //{
-                        //    output = new SecurityOutput();
-                        //    output.sid = function.sid;
-                        //}
-
-                        FrameLayout functionRow = new FrameLayout()
-                        {
-                            Height = Application.GetRealHeight(65),
-                            BackgroundColor = CSS_Color.MainBackgroundColor,
-                        };
-                        functionListView.AddChidren(functionRow);
-
-                        var btnFunctionName = new Button()
-                        {
-                            X = Application.GetRealWidth(16),
-                            Width = Application.GetRealWidth(200),
-                            Height = Application.GetRealHeight(44),
-                            Text = function.name,
-                            TextAlignment = TextAlignment.CenterLeft,
-                            TextColor = CSS_Color.FirstLevelTitleColor,
-                            TextSize = CSS_FontSize.TextFontSize,
-                        };
-                        functionRow.AddChidren(btnFunctionName);
-
-                        var btnFunctionFloorName = new Button()
-                        {
-                            X = Application.GetRealWidth(16),
-                            Y = Application.GetRealHeight(24),
-                            Width = Application.GetRealWidth(200),
-                            Height = Application.GetRealHeight(41),
-                            Text = function.RoomName,
-                            TextAlignment = TextAlignment.CenterLeft,
-                            TextColor = CSS_Color.PromptingColor1,
-                            TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
-                        };
-                        functionRow.AddChidren(btnFunctionFloorName);
-
-                        Button btnState = new Button()
-                        {
-                            Width = Application.GetRealWidth(317),
-                            TextAlignment = TextAlignment.CenterRight,
-                            TextSize = CSS_FontSize.TextFontSize,
-                            TextColor = CSS_Color.PromptingColor1,
-                            Text = function.StateText()
-                        };
-                        functionRow.AddChidren(btnState);
-
-                        Button btnChooseIcon = new Button()
-                        {
-                            X = Application.GetRealWidth(333),
-                            Gravity = Gravity.CenterVertical,
-                            Width = Application.GetMinRealAverage(32),
-                            Height = Application.GetMinRealAverage(32),
-                            UnSelectedImagePath = "Public/ChooseIcon.png",
-                            SelectedImagePath = "Public/ChooseOnIcon.png",
-                        };
-                        functionRow.AddChidren(btnChooseIcon);
-
-                        btnChooseIcon.MouseUpEventHandler = (sender, e) =>
-                        {
-                            btnChooseIcon.IsSelected = !btnChooseIcon.IsSelected;
-                            var tempLocal = alarm.output.Find((obj) =>
-                                obj.sid == function.sid
-                            );
-                            //if (tempLocal == null && !string.IsNullOrEmpty(output.spk))
-                            //{
-                            //    ShowStateDialog(output, btnState, btnChooseIcon);
-                            //}
-                            if (btnChooseIcon.IsSelected)
-                            {
-                                if (tempLocal == null)
-                                    alarm.output.Add(function);
-                                ShowStateDialog(function, btnState, btnChooseIcon);
-                            }
-                            else
-                            {
-                                if (tempLocal != null)
-                                {
-                                    alarm.output.Remove(function);
-                                }
-                            }
-                        };
-                        btnState.MouseUpEventHandler = (sender, e) =>
-                        {
-                            btnChooseIcon.IsSelected = true;
-                            var tempLocal = alarm.output.Find((obj) =>
-                                obj.sid == function.sid
-                            );
-                            if (tempLocal == null)
-                                alarm.output.Add(function);
-                            ShowStateDialog(function, btnState, btnChooseIcon);
-                        };
-
-                        var localOutput = alarm.output.Find((obj) => obj.sid == function.sid);
-
-                        if (localOutput != null)
-                        {
-                            btnChooseIcon.IsSelected = true;
-                            btnState.Text = function.StateText();
-                        }
-
-
-                        functionListView.AddChidren(new Button()
-                        {
-                            Gravity = Gravity.CenterHorizontal,
-                            Width = Application.GetRealWidth(343),
-                            Height = Application.GetRealWidth(1),
-                            BackgroundColor = CSS_Color.DividingLineColor,
-                        });
-
-
+                        if (tempLocal == null)
+                            alarm.output.Add(function);
+                        ShowStateDialog(function, btnState, btnChooseIcon);
                     }
+                    else
+                    {
+                        if (tempLocal != null)
+                        {
+                            alarm.output.Remove(function);
+                        }
+                    }
+                };
+                btnState.MouseUpEventHandler = (sender, e) =>
+                {
+                    btnChooseIcon.IsSelected = true;
+                    var tempLocal = alarm.output.Find((obj) =>
+                        obj.sid == function.sid
+                    );
+                    if (tempLocal == null)
+                        alarm.output.Add(function);
+                    ShowStateDialog(function, btnState, btnChooseIcon);
+                };
 
+                var localOutput = alarm.output.Find((obj) => obj.sid == function.sid);
+
+                if (localOutput != null)
+                {
+                    btnChooseIcon.IsSelected = true;
+                    btnState.Text = function.StateText();
+                }
+
+
+                functionListView.AddChidren(new Button()
+                {
+                    Gravity = Gravity.CenterHorizontal,
+                    Width = Application.GetRealWidth(343),
+                    Height = Application.GetRealWidth(1),
+                    BackgroundColor = CSS_Color.DividingLineColor,
                 });
-            }).Start();
+
+
+            }
         }
 
 
@@ -481,8 +471,7 @@
                 var form = new FloorRoomSelectPopupView();
                 form.ShowDeviceFunctionView(btnFloor, listAllFun, (selectId, listFun) =>
                 {
-                    var selecteRoom = SpatialInfo.CurrentSpatial.RoomList.Find((obj) => obj.uid == selectId);
-                    SetData(selecteRoom.roomId);
+                    SetData(selectId);
                     //閲嶆柊鍒锋柊璁惧鍒楄〃
                     this.LoadFunctionListRow();
                 }, nowSelectId);
diff --git a/HDL_ON/UI/UI2/FuntionControlView/ArmSensor/ArmSensorHistroyPaging.cs b/HDL_ON/UI/UI2/FuntionControlView/ArmSensor/ArmSensorHistroyPaging.cs
index 5e78767..5ca7239 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/ArmSensor/ArmSensorHistroyPaging.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/ArmSensor/ArmSensorHistroyPaging.cs
@@ -32,7 +32,7 @@
             VerticalScrolViewLayout histroyView = new VerticalScrolViewLayout()
             {
                 Y = btnTitle.Bottom,
-                Height = Application.GetRealHeight(0),
+                Height = Application.GetRealHeight(450),
             };
             FrameWhiteCentet2.AddChidren(histroyView);
 
@@ -53,14 +53,6 @@
                     Application.RunOnMainThread(() =>
                     {
                         var startTime = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1)); // 褰撳湴鏃跺尯
-                        if (revData.list.Count > 9)
-                        {
-                            histroyView.Height = Application.GetRealHeight(450);
-                        }
-                        else
-                        {
-                            histroyView.Height = Application.GetRealHeight(50*revData.list.Count);
-                        }
                         foreach (var data in revData.list)
                         {
                             var yearString = startTime.AddMilliseconds(Convert.ToDouble(data.createTime)).ToString("yyyy") + Language.StringByID(StringId.Years);
diff --git a/HDL_ON/UI/UI2/FuntionControlView/ContentView/AcContentView.cs b/HDL_ON/UI/UI2/FuntionControlView/ContentView/AcContentView.cs
deleted file mode 100644
index 1bb8cbf..0000000
--- a/HDL_ON/UI/UI2/FuntionControlView/ContentView/AcContentView.cs
+++ /dev/null
@@ -1,1110 +0,0 @@
-锘縰sing System;
-using System.Collections.Generic;
-using HDL_ON.DriverLayer;
-using HDL_ON.Entity;
-using HDL_ON.Stan;
-using HDL_ON.UI.CSS;
-using Shared;
-
-namespace HDL_ON.UI.UI2.FuntionControlView.Panel
-{
-    public class AcContentView : FrameLayout
-    {
-
-        #region 鈻� 鍙橀噺澹版槑___________________________
-        /// <summary>
-        /// 绌鸿皟娓╁害鎺у埗鎺т欢
-        /// </summary>
-        DiyArcSeekBar arcBar;
-        /// <summary>
-        /// 鍑忓彿鎸夐挳
-        /// </summary>
-        Button btnMinus;
-        /// <summary>
-        /// 鍔犲彿鎸夐挳
-        /// </summary>
-        Button btnPlus;
-        /// <summary>
-        /// 娓╁害鎸夐挳
-        /// </summary>
-        Button btnTemp;
-        Button btnTempUint;
-        /// <summary>
-        /// 瀹ゅ唴娓╁害鎸夐挳
-        /// </summary>
-        Button btnIndoorTemp;
-        /// <summary>
-        /// 妯″紡鎸夐挳
-        /// </summary>
-        Button btnMode;
-        /// <summary>
-        /// 鎵鎸夐挳
-        /// </summary>
-        Button btnSwing;
-        /// <summary>
-        /// 椋庨�熸寜閽�
-        /// </summary>
-        Button btnWindSpeed;
-        /// <summary>
-        /// 寮�鍏虫寜閽�
-        /// </summary>
-        Button btnSwitch;
-
-        AC acFunction = new AC();
-
-        /// <summary>
-        /// 鎺у埗鏃堕棿
-        /// </summary>
-        DateTime controlTime = DateTime.MinValue.AddDays(10);
-        /// <summary>
-        /// 鎺у埗娓╁害
-        /// </summary>
-        int temp = 16;
-
-        #endregion
-        Function device;
-        public AcContentView(Function function)
-        {
-            device = function;
-
-            var sk = device.GetAttribute(FunctionAttributeKey.SetTemp);
-            if (sk != null)
-            {
-                if (sk.min == 0)
-                {
-                    sk.min = 16;
-                }
-                if (sk.max == 0)
-                {
-                    sk.max = 32;
-                }
-            }
-
-        }
-        #region 鈻� 鍒濆鍖朹____________________________
-
-        /// <summary>
-        /// 鍒濆鍖栫櫧鑹插尯鍩熺殑鍐呭
-        /// </summary>
-        public void InitContent(bool initStandard = true)
-        {
-            if (initStandard)
-            {
-                //璁惧鍚嶅瓧
-                var btnDeviceName = new NormalViewControl(270, 37, true);
-                btnDeviceName.X = Application.GetRealWidth(16);
-                btnDeviceName.Y = Application.GetRealHeight(18);
-                btnDeviceName.TextColor = CSS_Color.FirstLevelTitleColor;
-                btnDeviceName.TextSize = CSS_FontSize.EmphasisFontSize_FirstLevel;
-                btnDeviceName.Text = device.name;
-                btnDeviceName.Width = btnDeviceName.GetRealWidthByText();
-                AddChidren(btnDeviceName);
-                //鎴块棿鍚嶅瓧
-                var btnRoomName = new NormalViewControl(270, 21, true);
-                btnRoomName.X = Application.GetRealWidth(16);
-                btnRoomName.Y = btnDeviceName.Bottom;
-                btnRoomName.TextColor = CSS_Color.PromptingColor1;
-                btnRoomName.TextSize = CSS_FontSize.PromptFontSize_FirstLevel;
-                btnRoomName.Text = device.GetRoomListName();
-                btnRoomName.Width = btnRoomName.GetRealWidthByText();
-                AddChidren(btnRoomName);
-
-            }
-
-            //鍒濆鍖栫涓�涓储寮曢〉鐨勫唴瀹�
-            this.InitFrameWhiteContent();
-
-            //鍒锋柊鐣岄潰鐘舵��
-            this.RefreshFormStatu();
-            //璇诲彇鐘舵��
-            new System.Threading.Thread(() =>
-            {
-                while (true)
-                {
-                    if (controlTime == DateTime.MinValue)
-                    {
-
-                    }
-                    else if (controlTime.AddSeconds(2) < DateTime.Now)
-                    {
-                        Control.Ins.SendReadCommand(device);
-                        controlTime = DateTime.MinValue;
-                    }
-                    System.Threading.Thread.Sleep(1000);
-                }
-            })
-            { IsBackground = true }.Start();
-        }
-
-        /// <summary>
-        /// 鍒濆鍖栫涓�涓储寮曢〉鐨勫唴瀹�
-        /// </summary>
-        private void InitFrameWhiteContent()
-        {
-            temp = (int)Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.SetTemp).Replace(",", "."));
-            arcBar = new DiyArcSeekBar()
-            {
-                Gravity = Gravity.CenterHorizontal,
-                OpenAngle = 160,
-                ThumbImageHeight = Application.GetRealWidth(50),
-                ProgressBarColor = CSS_Color.MainColor,
-                OfflineProgressBarColor = CSS_Color.PromptingColor2,
-                ArcColor = CSS_Color.BackgroundColor,
-#if __IOS__
-                Y = Application.GetRealHeight(120 + 25),
-                Width = Application.GetRealWidth(260 - 40),
-                Height = Application.GetRealWidth(260 - 40),
-                SeekBarPadding = Application.GetRealWidth(8),
-#else
-                Y = Application.GetRealHeight(120 + 40),
-                Width = Application.GetRealWidth(260 - 40),
-                Height = Application.GetRealWidth(260 - 40),
-                SeekBarPadding = Application.GetRealWidth(7),
-#endif
-
-            };
-            this.AddChidren(arcBar);
-
-
-            arcBar.ThumbImagePath = device.GetAttrState(FunctionAttributeKey.OnOff) == "on" ? "FunctionIcon/AC/DiyThumbIconOn.png" : "FunctionIcon/AC/DiyThumbIcon.png";
-            arcBar.IsOffline = device.GetAttrState(FunctionAttributeKey.OnOff) == "off";
-            arcBar.MinValue = device.GetAttribute(FunctionAttributeKey.SetTemp).min;
-            arcBar.MaxValue = device.GetAttribute(FunctionAttributeKey.SetTemp).max;
-            arcBar.Progress = (int)Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.SetTemp).Replace(",", "."));
-
-            btnTemp = new Button()
-            {
-                Gravity = Gravity.CenterHorizontal,
-                Y = Application.GetRealHeight(206),
-                Width = Application.GetRealWidth(71),
-                Height = Application.GetRealWidth(60),
-                TextColor = CSS_Color.FirstLevelTitleColor,
-                TextSize = 50,
-                IsBold = true,
-                Text = Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.SetTemp).Replace(",", ".")).ToString(),
-                TextAlignment = TextAlignment.Center,
-            };
-            this.AddChidren(btnTemp);
-
-            btnTempUint = new Button()
-            {
-                X = btnTemp.Right,
-                Y = btnTemp.Y,
-                Width = Application.GetRealWidth(30),
-                Height = Application.GetRealHeight(30),
-                TextColor = CSS_Color.FirstLevelTitleColor,
-                TextSize = CSS_FontSize.EmphasisFontSize_Secondary,
-                IsBold = true,
-                TextAlignment = TextAlignment.CenterLeft,
-                Text = "掳C",
-            };
-            this.AddChidren(btnTempUint);
-
-            btnIndoorTemp = new Button()
-            {
-                Gravity = Gravity.CenterHorizontal,
-                Y = btnTemp.Bottom,
-                Width = Application.GetRealWidth(120),
-                Height = Application.GetRealHeight(20),
-                Text = Language.StringByID(StringId.IndoorTemp) + "20掳C",
-                TextColor = CSS_Color.PromptingColor1,
-                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
-            };
-            this.AddChidren(btnIndoorTemp);
-
-            btnMinus = new Button()
-            {
-                X = Application.GetRealWidth(21),
-                Y = Application.GetRealHeight(263),
-                Width = Application.GetRealWidth(32),
-                Height = Application.GetRealWidth(32),
-                UnSelectedImagePath = "Public/MinusSignIcon.png",
-            };
-            this.AddChidren(btnMinus);
-
-            btnPlus = new Button()
-            {
-                X = Application.GetRealWidth(275),
-                Y = Application.GetRealHeight(263),
-                Width = Application.GetRealWidth(32),
-                Height = Application.GetRealWidth(32),
-                UnSelectedImagePath = "Public/PlusSignIcon.png",
-            };
-            this.AddChidren(btnPlus);
-
-            btnMode = new Button()
-            {
-                X = Application.GetRealWidth(60),
-                Y = Application.GetRealHeight(334),
-                Width = Application.GetRealWidth(30),
-                Height = Application.GetRealWidth(30),
-                UnSelectedImagePath = acFunction.GetModeIconPath(device.GetAttrState(FunctionAttributeKey.Mode)),
-            };
-            this.AddChidren(btnMode);
-
-
-            btnSwing = new Button()
-            {
-                Gravity = Gravity.CenterHorizontal,
-                Y = Application.GetRealHeight(330),
-                Width = Application.GetRealWidth(40),
-                Height = Application.GetRealWidth(40),
-                UnSelectedImagePath = "FunctionIcon/AC/SweepIconNullOn.png",
-            };
-            if (device.GetAttribute(FunctionAttributeKey.Swing) != null)
-            {
-                this.AddChidren(btnSwing);
-            }
-
-
-            btnWindSpeed = new Button()
-            {
-                X = Application.GetRealWidth(235),
-                Y = Application.GetRealHeight(337),
-                Width = Application.GetRealWidth(30),
-                Height = Application.GetRealWidth(30),
-                UnSelectedImagePath = acFunction.GetFanIconPath(device.GetAttrState(FunctionAttributeKey.FanSpeed)),
-            };
-            this.AddChidren(btnWindSpeed);
-
-            btnSwitch = new Button()
-            {
-                Gravity = Gravity.CenterHorizontal,
-                Y = Application.GetRealHeight(466),
-                Width = Application.GetRealWidth(32),
-                Height = Application.GetRealWidth(32),
-                UnSelectedImagePath = "Public/PowerClose.png",
-                SelectedImagePath = "Public/PowerOpen.png",
-                IsSelected = device.GetAttrState(FunctionAttributeKey.OnOff) == "on"
-            };
-            this.AddChidren(btnSwitch);
-
-            LoadEvent_TempChange();
-            LoadEvent_AcStatesChange();
-
-            LoadDiv_IrView();
-        }
-
-        /// <summary>
-        /// 鍔犺浇淇敼妯″紡鍖哄煙
-        /// </summary>
-        void LoadDiv_ChangeModeView()
-        {
-            Dialog dialog = new Dialog();
-
-            FrameLayout dialogView = new FrameLayout()
-            {
-                BackgroundColor = CSS_Color.DialogTransparentColor1,
-            };
-            dialog.AddChidren(dialogView);
-
-            FrameLayout modeChangeView;
-            modeChangeView = new FrameLayout()
-            {
-                X = Application.GetRealWidth(30),
-                Y = Application.GetRealHeight(128),
-                Width = Application.GetRealWidth(160),
-                Height = Application.GetRealHeight(287),
-                BackgroundImagePath = "FunctionIcon/AC/DivBg1.png",
-            };
-            dialogView.AddChidren(modeChangeView);
-
-            Button btnTitle;
-            btnTitle = new Button()
-            {
-                X = Application.GetRealWidth(8 + 16),
-                Y = Application.GetRealHeight(8),
-                Width = Application.GetRealWidth(112),
-                Height = Application.GetRealHeight(44),
-                TextID = StringId.ChooseMode,
-                TextAlignment = TextAlignment.CenterLeft,
-                TextColor = CSS_Color.FirstLevelTitleColor,
-                TextSize = CSS_FontSize.EmphasisFontSize_Secondary,
-            };
-            modeChangeView.AddChidren(btnTitle);
-
-            Button btnLine = new Button()
-            {
-                X = btnTitle.X,
-                Y = btnTitle.Bottom,
-                Width = Application.GetRealWidth(112),
-                Height = Application.GetRealHeight(1),
-                BackgroundColor = CSS_Color.BackgroundColor,
-            };
-            modeChangeView.AddChidren(btnLine);
-
-            var modeList = device.GetAttribute(FunctionAttributeKey.Mode).value;
-            foreach (var m in modeList)
-            {
-                Button btnModeIcon = new Button()
-                {
-                    X = btnTitle.X,
-                    Y = Application.GetRealHeight(44 * (modeList.IndexOf(m) + 1) + 10 + 8),
-                    Width = Application.GetRealWidth(24),
-                    Height = Application.GetRealWidth(24),
-                    IsSelected = device.GetAttrState(FunctionAttributeKey.Mode) == m,
-                };
-                modeChangeView.AddChidren(btnModeIcon);
-
-                Button btnModeText = new Button()
-                {
-                    X = Application.GetRealWidth(12) + btnModeIcon.Right,
-                    Y = Application.GetRealHeight(44 * (modeList.IndexOf(m) + 1) + 8),
-                    Height = Application.GetRealHeight(44),
-                    Width = Application.GetRealWidth(90),
-                    TextAlignment = TextAlignment.CenterLeft,
-                    TextColor = CSS_Color.FirstLevelTitleColor,
-                    SelectedTextColor = CSS_Color.MainColor,
-                    IsSelected = device.GetAttrState(FunctionAttributeKey.Mode) == m,
-                    TextSize = CSS_FontSize.TextFontSize,
-                };
-                modeChangeView.AddChidren(btnModeText);
-
-                btnModeIcon.UnSelectedImagePath = acFunction.GetModeIconPath(m, false);
-                btnModeIcon.SelectedImagePath = acFunction.GetModeIconPath(m);
-                btnModeText.Text = acFunction.GetModeAttrText(m);
-
-                if (modeList.IndexOf(m) < modeList.Count - 1)
-                {
-                    modeChangeView.AddChidren(new Button()
-                    {
-                        X = btnTitle.X,
-                        Y = btnModeText.Bottom,
-                        Width = Application.GetRealWidth(112),
-                        Height = Application.GetRealHeight(1),
-                        BackgroundColor = CSS_Color.BackgroundColor,
-                    });
-                }
-                EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
-                {
-                    dialog.Close();
-                };
-                EventHandler<MouseEventArgs> eventHandler1 = (sender, e) =>
-                {
-                    //if (!device.online)
-                    //{
-                    //    new Tip()
-                    //    {
-                    //        CloseTime = 1,
-                    //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                    //        Direction = AMPopTipDirection.None,
-                    //    }.Show(MainPage.BaseView);
-                    //}
-                    btnModeIcon.IsSelected = btnModeText.IsSelected = true;
-                    device.SetAttrState(FunctionAttributeKey.Mode, m);
-                    btnMode.UnSelectedImagePath = acFunction.GetModeIconPath(m);
-                    Dictionary<string, string> d = new Dictionary<string, string>();
-                    d.Add(FunctionAttributeKey.Mode, m);
-                    Control.Ins.SendWriteCommand(device, d);
-                    dialog.Close();
-                    if (device.GetAttrState(FunctionAttributeKey.Mode) == "fan")
-                    {
-                        arcBar.IsClickable = false;
-                        arcBar.IsOffline = true;
-                    }
-                    else
-                    {
-                        arcBar.IsOffline = false;
-                        arcBar.IsClickable = true;
-                    }
-                };
-                btnModeIcon.MouseUpEventHandler = eventHandler1;
-                btnModeText.MouseUpEventHandler = eventHandler1;
-                dialogView.MouseUpEventHandler = eventHandler;
-
-            }
-
-            dialogView.MouseUpEventHandler = (sender, e) => {
-                dialog.Close();
-            };
-            dialog.Show();
-        }
-
-        /// <summary>
-        /// 鍔犺浇淇敼鎵妯″紡鍖哄煙
-        /// </summary>
-        void LoadDiv_ChangeSwingView()
-        {
-            Dialog dialog = new Dialog();
-
-            FrameLayout dialogView = new FrameLayout()
-            {
-                BackgroundColor = CSS_Color.DialogTransparentColor1,
-            };
-            dialog.AddChidren(dialogView);
-
-            FrameLayout modeChangeView;
-            modeChangeView = new FrameLayout()
-            {
-                Gravity = Gravity.CenterHorizontal,
-                Y = Application.GetRealHeight(128),
-                Width = Application.GetRealWidth(160),
-                Height = Application.GetRealHeight(287),
-                BackgroundImagePath = "FunctionIcon/AC/DivBg2.png",
-            };
-            dialogView.AddChidren(modeChangeView);
-
-            Button btnTitle;
-            btnTitle = new Button()
-            {
-                X = Application.GetRealWidth(8 + 16),
-                Y = Application.GetRealHeight(8),
-                Width = Application.GetRealWidth(112),
-                Height = Application.GetRealHeight(44),
-                TextID = StringId.Swing,
-                TextAlignment = TextAlignment.CenterLeft,
-                TextColor = CSS_Color.FirstLevelTitleColor,
-                TextSize = CSS_FontSize.EmphasisFontSize_Secondary,
-            };
-            modeChangeView.AddChidren(btnTitle);
-
-            Button btnLine = new Button()
-            {
-                X = btnTitle.X,
-                Y = btnTitle.Bottom,
-                Width = Application.GetRealWidth(112),
-                Height = Application.GetRealHeight(1),
-                BackgroundColor = CSS_Color.BackgroundColor,
-            };
-            modeChangeView.AddChidren(btnLine);
-
-            var modeList = device.GetAttribute(FunctionAttributeKey.Swing).value;
-            foreach (var m in modeList)
-            {
-                Button btnModeIcon = new Button()
-                {
-                    X = btnTitle.X,
-                    Y = Application.GetRealHeight(44 * (modeList.IndexOf(m) + 1) + 10 + 8),
-                    Width = Application.GetRealWidth(24),
-                    Height = Application.GetRealWidth(24),
-                    IsSelected = device.GetAttrState(FunctionAttributeKey.Swing) == m,
-                };
-                modeChangeView.AddChidren(btnModeIcon);
-
-                Button btnModeText = new Button()
-                {
-                    X = Application.GetRealWidth(12) + btnModeIcon.Right,
-                    Y = Application.GetRealHeight(44 * (modeList.IndexOf(m) + 1) + 8),
-                    Height = Application.GetRealHeight(44),
-                    Width = Application.GetRealWidth(90),
-                    TextAlignment = TextAlignment.CenterLeft,
-                    TextColor = CSS_Color.FirstLevelTitleColor,
-                    SelectedTextColor = CSS_Color.MainColor,
-                    IsSelected = device.GetAttrState(FunctionAttributeKey.Swing) == m,
-                    TextSize = CSS_FontSize.TextFontSize,
-                };
-                modeChangeView.AddChidren(btnModeText);
-
-                if (modeList.IndexOf(m) < modeList.Count - 1)
-                {
-                    modeChangeView.AddChidren(new Button()
-                    {
-                        X = btnTitle.X,
-                        Y = btnModeText.Bottom,
-                        Width = Application.GetRealWidth(112),
-                        Height = Application.GetRealHeight(1),
-                        BackgroundColor = CSS_Color.BackgroundColor,
-                    });
-                }
-
-                btnModeIcon.UnSelectedImagePath = acFunction.GetSwingIconPath(m, false);
-                btnModeIcon.SelectedImagePath = acFunction.GetSwingIconPath(m);
-                btnModeText.Text = acFunction.GetSwingAttrText(m);
-
-                EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
-                {
-                    dialog.Close();
-                };
-                EventHandler<MouseEventArgs> eventHandler1 = (sender, e) =>
-                {
-                    //if (!device.online)
-                    //{
-                    //    new Tip()
-                    //    {
-                    //        CloseTime = 1,
-                    //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                    //        Direction = AMPopTipDirection.None,
-                    //    }.Show(MainPage.BaseView);
-                    //}
-                    btnModeIcon.IsSelected = btnModeText.IsSelected = true;
-                    device.SetAttrState(FunctionAttributeKey.Swing, m);
-                    btnSwing.UnSelectedImagePath = acFunction.GetSwingIconPath(m);
-                    Dictionary<string, string> d = new Dictionary<string, string>();
-                    d.Add(FunctionAttributeKey.Swing, m);
-                    Control.Ins.SendWriteCommand(device, d);
-                    dialog.Close();
-                };
-                btnModeIcon.MouseUpEventHandler = eventHandler1;
-                btnModeText.MouseUpEventHandler = eventHandler1;
-                dialogView.MouseUpEventHandler = eventHandler;
-
-            }
-
-            dialogView.MouseUpEventHandler = (sender, e) => {
-                dialog.Close();
-            };
-            dialog.Show();
-        }
-        /// <summary>
-        /// 鍔犺浇淇敼妯″紡鍖哄煙
-        /// </summary>
-        void LoadDiv_ChangeFanView()
-        {
-            Dialog dialog = new Dialog();
-
-            FrameLayout dialogView = new FrameLayout()
-            {
-                BackgroundColor = CSS_Color.DialogTransparentColor1,
-            };
-            dialog.AddChidren(dialogView);
-
-            FrameLayout modeChangeView;
-            modeChangeView = new FrameLayout()
-            {
-                X = Application.GetRealWidth(185),
-                Y = Application.GetRealHeight(172),
-                Width = Application.GetRealWidth(160),
-                Height = Application.GetRealHeight(243),
-                BackgroundImagePath = "FunctionIcon/AC/DivBg2.png",
-            };
-            dialogView.AddChidren(modeChangeView);
-
-            Button btnTitle;
-            btnTitle = new Button()
-            {
-                X = Application.GetRealWidth(8 + 16),
-                Y = Application.GetRealHeight(8),
-                Width = Application.GetRealWidth(112),
-                Height = Application.GetRealHeight(44),
-                TextID = StringId.ChooseFan,
-                TextAlignment = TextAlignment.CenterLeft,
-                TextColor = CSS_Color.FirstLevelTitleColor,
-                TextSize = CSS_FontSize.EmphasisFontSize_Secondary,
-            };
-            modeChangeView.AddChidren(btnTitle);
-
-            Button btnLine = new Button()
-            {
-                X = btnTitle.X,
-                Y = btnTitle.Bottom,
-                Width = Application.GetRealWidth(112),
-                Height = Application.GetRealHeight(1),
-                BackgroundColor = CSS_Color.BackgroundColor,
-            };
-            modeChangeView.AddChidren(btnLine);
-
-            var modeList = device.GetAttribute(FunctionAttributeKey.FanSpeed).value;
-            foreach (var m in modeList)
-            {
-                Button btnFanIcon = new Button()
-                {
-                    X = btnTitle.X,
-                    Y = Application.GetRealHeight(44 * (modeList.IndexOf(m) + 1) + 10 + 8),
-                    Width = Application.GetRealWidth(24),
-                    Height = Application.GetRealWidth(24),
-                    IsSelected = device.GetAttrState(FunctionAttributeKey.FanSpeed) == m,
-                };
-                modeChangeView.AddChidren(btnFanIcon);
-
-                Button btnFanText = new Button()
-                {
-                    X = Application.GetRealWidth(12) + btnFanIcon.Right,
-                    Y = Application.GetRealHeight(44 * (modeList.IndexOf(m) + 1) + 8),
-                    Height = Application.GetRealHeight(44),
-                    Width = Application.GetRealWidth(70),
-                    TextAlignment = TextAlignment.CenterLeft,
-                    TextColor = CSS_Color.FirstLevelTitleColor,
-                    SelectedTextColor = CSS_Color.MainColor,
-                    IsSelected = device.GetAttrState(FunctionAttributeKey.FanSpeed) == m,
-                    TextSize = CSS_FontSize.TextFontSize,
-                };
-                modeChangeView.AddChidren(btnFanText);
-                btnFanIcon.UnSelectedImagePath = acFunction.GetFanIconPath(m, false);
-                btnFanIcon.SelectedImagePath = acFunction.GetFanIconPath(m);
-                btnFanText.Text = acFunction.GetFanAttrText(m);
-
-                if (modeList.IndexOf(m) < modeList.Count - 1)
-                {
-                    modeChangeView.AddChidren(new Button()
-                    {
-                        X = btnTitle.X,
-                        Y = btnFanText.Bottom,
-                        Width = Application.GetRealWidth(112),
-                        Height = Application.GetRealHeight(1),
-                        BackgroundColor = CSS_Color.BackgroundColor,
-                    });
-                }
-
-                EventHandler<MouseEventArgs> closeDialogEvent = (sender, e) =>
-                {
-                    dialog.Close();
-                };
-                EventHandler<MouseEventArgs> eventHandler1 = (sender, e) =>
-                {
-                    //if (!device.online)
-                    //{
-                    //    new Tip()
-                    //    {
-                    //        CloseTime = 1,
-                    //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                    //        Direction = AMPopTipDirection.None,
-                    //    }.Show(MainPage.BaseView);
-                    //}
-                    btnFanIcon.IsSelected = btnFanText.IsSelected = true;
-                    device.SetAttrState(FunctionAttributeKey.FanSpeed, m);
-                    btnWindSpeed.UnSelectedImagePath = acFunction.GetFanIconPath(m);
-                    System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
-                    d.Add(FunctionAttributeKey.FanSpeed, m);
-                    Control.Ins.SendWriteCommand(device, d);
-                    //btnWindSpeed.UnSelectedImagePath = btnFanIcon.UnSelectedImagePath;
-                    dialog.Close();
-                };
-                btnFanIcon.MouseUpEventHandler = eventHandler1;
-                btnFanText.MouseUpEventHandler = eventHandler1;
-                dialogView.MouseUpEventHandler = closeDialogEvent;
-            }
-
-            dialog.Show();
-        }
-
-        /// <summary>
-        /// 鍔犺浇绾㈠閬ユ帶鍣紝棰濆鎸夐挳
-        /// </summary>
-        void LoadDiv_IrView()
-        {
-            if (device.spk == SPK.AcIr)
-            {
-                var btnMore = new Button()
-                {
-                    Gravity = Gravity.CenterHorizontal,
-                    Y = Application.GetRealHeight(334 + 80),
-                    Width = Application.GetRealWidth(35),
-                    Height = Application.GetRealWidth(35),
-                    UnSelectedImagePath = "FunctionIcon/AC/More.png",
-                };
-                this.AddChidren(btnMore);
-
-                btnMore.MouseUpEventHandler = (sender, e) => {
-                    LoadDialog_IrMoreView();
-                };
-            }
-        }
-
-        /// <summary>
-        /// 鍔犺浇棰濆瀵圭孩澶栨寜閽晫闈�
-        /// </summary>
-        void LoadDialog_IrMoreView()
-        {
-            Dialog dialog = new Dialog();
-
-            var div = new FrameLayout();
-            dialog.AddChidren(div);
-            div.MouseUpEventHandler = (sender, e) => {
-                dialog.Close();
-            };
-
-            var bodyView = new FrameLayout()
-            {
-                Y = Application.GetRealHeight(427),//667
-                Height = Application.GetRealHeight(240),
-                BackgroundColor = CSS_Color.MainBackgroundColor,
-            };
-            div.AddChidren(bodyView);
-
-            var contentView = new VerticalScrolViewLayout()
-            {
-                Y = Application.GetRealHeight(16),
-                Gravity = Gravity.CenterHorizontal,
-                Width = Application.GetRealWidth(296 + 200),
-            };
-            bodyView.AddChidren(contentView);
-
-
-            var row = new FrameLayout()
-            {
-                Height = Application.GetRealHeight(60),
-                Width = Application.GetRealWidth(296),
-                Gravity = Gravity.CenterHorizontal,
-            };
-            contentView.AddChidren(row);
-
-            int index = 0;
-            List<FunctionAttributes> attrList = new List<FunctionAttributes>();
-            attrList.AddRange(device.attributes);
-            attrList.Add(new FunctionAttributes()
-            {
-                key = "+",
-            });
-
-            foreach (var attr in attrList)
-            {
-                if (attr.key == FunctionAttributeKey.Mode
-                    || attr.key == FunctionAttributeKey.OnOff
-                    || attr.key == FunctionAttributeKey.SetTemp
-                    || attr.key == FunctionAttributeKey.SetTempStep
-                    || attr.key == FunctionAttributeKey.FanSpeed
-                    || attr.key == FunctionAttributeKey.FanManual
-                    || attr.key == FunctionAttributeKey.FanAuto
-                    )
-                {
-                    continue;
-                }
-                if (index != 0 && index % 3 == 0)
-                {
-                    row = new FrameLayout()
-                    {
-                        Height = Application.GetRealHeight(56),
-                        Width = Application.GetRealWidth(296),
-                        Gravity = Gravity.CenterHorizontal,
-                    };
-                    contentView.AddChidren(row);
-                }
-                if (attr.key == "+")
-                {
-                    var addView = new FrameLayout()
-                    {
-                        Gravity = Gravity.CenterVertical,
-                        Width = Application.GetRealWidth(88),
-                        Height = Application.GetRealHeight(40),
-                        Radius = (uint)Application.GetRealHeight(18),
-                        BorderColor = CSS_Color.PromptingColor1,
-                        BorderWidth = (uint)Application.GetRealWidth(2),
-                    };
-
-
-                    if (index % 3 == 1)
-                    {
-                        addView.Gravity = Gravity.Center;
-                    }
-                    else if (index % 3 == 2)
-                    {
-                        addView.X = Application.GetRealWidth(208);
-                    }
-                    row.AddChidren(addView);
-
-                    var btnAdd = new Button()
-                    {
-                        Gravity = Gravity.Center,
-                        UnSelectedImagePath = "Public/PlusSignIcon.png",
-                        Width = Application.GetRealWidth(32),
-                        Height = Application.GetRealWidth(32),
-                    };
-                    addView.AddChidren(btnAdd);
-
-                    btnAdd.MouseUpEventHandler = (sender, e) =>
-                    {
-                        dialog.Close();
-                        Action action = () => {
-                            LoadDialog_IrMoreView();
-                        };
-                        var addButton = new AcControlPage_AddIrButton(action);
-                        MainPage.BasePageView.AddChidren(addButton);
-                        addButton.Show(device);
-                        MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
-                    };
-
-
-                }
-                else
-                {
-
-                    var btn = new Button()
-                    {
-                        Gravity = Gravity.CenterVertical,
-                        Width = Application.GetRealWidth(88),
-                        Height = Application.GetRealHeight(40),
-                        Radius = (uint)Application.GetRealHeight(18),
-                        BorderColor = CSS_Color.PromptingColor1,
-                        BorderWidth = (uint)Application.GetRealWidth(2),
-                        TextAlignment = TextAlignment.Center,
-                        TextSize = CSS_FontSize.TextFontSize,
-                        TextColor = CSS_Color.FirstLevelTitleColor,
-                        SelectedTextColor = CSS_Color.MainBackgroundColor,
-                        SelectedBackgroundColor = CSS_Color.MainColor,
-                    };
-                    if (attr.value.Count > 0)
-                    {
-                        btn.Text = attr.value[0];
-                    }
-                    if (index % 3 == 1)
-                    {
-                        btn.Gravity = Gravity.Center;
-                    }
-                    else if (index % 3 == 2)
-                    {
-                        btn.X = Application.GetRealWidth(208);
-                    }
-                    row.AddChidren(btn);
-
-                    btn.MouseUpEventHandler = (sender, e) =>
-                    {
-                        //if (!device.online)
-                        //{
-                        //    new Tip()
-                        //    {
-                        //        CloseTime = 1,
-                        //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                        //        Direction = AMPopTipDirection.None,
-                        //    }.Show(MainPage.BaseView);
-                        //}
-                        Dictionary<string, string> d = new Dictionary<string, string>();
-                        d.Add(attr.key, "");
-                        Control.Ins.SendWriteCommand(device, d);
-
-                        new System.Threading.Thread(() =>
-                        {
-                            System.Threading.Thread.Sleep(2000);
-                            Application.RunOnMainThread(() =>
-                            {
-                                btn.IsSelected = false;
-                            });
-                        })
-                        { IsBackground = true }.Start();
-                    };
-
-                }
-
-                index++;
-            }
-
-            dialog.Show();
-        }
-
-
-        #endregion
-
-        #region 鈻� 鍙戦�佸悇绉嶅懡浠______________________
-
-        /// <summary>
-        /// 娓╁害鏀瑰彉妯″紡
-        /// </summary>
-        void LoadEvent_TempChange()
-        {
-            btnMinus.MouseUpEventHandler = (sender, e) =>
-            {
-                //if (!device.online)
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //}
-                if (device.trait_on_off.curValue.ToString() == "off" || device.GetAttrState(FunctionAttributeKey.Mode) == "fan")
-                {
-                    return;
-                }
-
-                if (temp <= device.GetAttribute(FunctionAttributeKey.SetTemp).min)
-                {
-                    return;
-                }
-                --temp;
-                Console.WriteLine($"temp == {temp}");
-                controlTime = DateTime.Now;
-                arcBar.Progress = temp;
-                btnTemp.Text = temp.ToString();
-                device.SetAttrState(FunctionAttributeKey.SetTemp, temp.ToString());
-                System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
-                d.Add(FunctionAttributeKey.SetTemp, temp.ToString());
-                Control.Ins.SendWriteCommand(device, d);
-            };
-            btnPlus.MouseUpEventHandler = (sender, e) =>
-            {
-                //if (!device.online)
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //}
-                if (device.trait_on_off.curValue.ToString() == "off" || device.GetAttrState(FunctionAttributeKey.Mode) == "fan")
-                {
-                    return;
-                }
-                if (temp >= device.GetAttribute(FunctionAttributeKey.SetTemp).max)
-                {
-                    return;
-                }
-                ++temp;
-                controlTime = DateTime.Now;
-                arcBar.Progress = temp;
-                btnTemp.Text = temp.ToString();
-                device.SetAttrState(FunctionAttributeKey.SetTemp, temp.ToString());
-                System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
-                d.Add(FunctionAttributeKey.SetTemp, temp.ToString());
-                Control.Ins.SendWriteCommand(device, d);
-            };
-            //if (device.online)
-            {
-                arcBar.OnStopTrackingTouchEvent = (sender, e) =>
-                {
-                    temp = arcBar.Progress;
-                    device.SetAttrState(FunctionAttributeKey.SetTemp, arcBar.Progress.ToString());
-                    btnTemp.Text = arcBar.Progress.ToString();
-                    controlTime = DateTime.Now;
-                    Dictionary<string, string> d = new Dictionary<string, string>();
-                    d.Add(FunctionAttributeKey.SetTemp, arcBar.Progress.ToString());
-                    Control.Ins.SendWriteCommand(device, d);
-                };
-                arcBar.OnProgressChangedEvent = (sender, e) =>
-                {
-                    device.SetAttrState(FunctionAttributeKey.SetTemp, e.ToString());
-                    btnTemp.Text = e.ToString();
-                };
-                //arcBar.MouseDownEventHandler = (sender, e) => {
-                //    Console.WriteLine("ddd");
-                //    MainPage.BasePageView.ScrollEnabled =false;
-                //};
-                //arcBar.MouseUpEventHandler = (sender, e) => {
-                //    Console.WriteLine("ddd2");
-                //    MainPage.BasePageView.ScrollEnabled = true;
-                //};
-            }
-        }
-
-        /// <summary>
-        /// 鎺у埗妯″紡浜嬩欢
-        /// </summary>
-        void LoadEvent_AcStatesChange()
-        {
-            btnMode.MouseUpEventHandler = (sender, e) =>
-            {
-                if (device.trait_on_off.curValue.ToString() == "off")
-                {
-                    return;
-                }
-                LoadDiv_ChangeModeView();
-            };
-            //鎵鏀瑰彉妯″紡
-            btnSwing.MouseUpEventHandler = (sender, e) =>
-            {
-                if (device.trait_on_off.curValue.ToString() == "off")
-                {
-                    return;
-                }
-                LoadDiv_ChangeSwingView();
-            };
-            btnWindSpeed.MouseUpEventHandler = (sender, e) =>
-            {
-                if (device.trait_on_off.curValue.ToString() == "off")
-                {
-                    return;
-                }
-                LoadDiv_ChangeFanView();
-            };
-
-            btnSwitch.MouseUpEventHandler = (sender, e) =>
-            {
-                //if (!device.online)
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //}
-                btnSwitch.IsSelected = !btnSwitch.IsSelected;
-                device.trait_on_off.curValue = btnSwitch.IsSelected ? "on" : "off";
-                if (device.trait_on_off.curValue.ToString() == "on")
-                {
-                    arcBar.ThumbImagePath = "FunctionIcon/AC/DiyThumbIconOn.png";
-                    btnSwitch.IsSelected = true;
-                    arcBar.IsOffline = false;
-                }
-                else
-                {
-                    arcBar.ThumbImagePath = "FunctionIcon/AC/DiyThumbIcon.png";
-                    btnSwitch.IsBold = false;
-                    arcBar.IsOffline = true;
-                }
-                System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
-                d.Add(FunctionAttributeKey.OnOff, device.trait_on_off.curValue.ToString());
-                Control.Ins.SendWriteCommand(device, d);
-            };
-        }
-
-        #endregion
-
-        #region 鈻� 鍒锋柊鐣岄潰鐘舵�乢______________________
-
-        /// <summary>
-        /// 鍒锋柊鐣岄潰鐘舵��
-        /// </summary>
-        public void RefreshFormStatu()
-        {
-            Application.RunOnMainThread(() =>
-            {
-                //app鑷繁鎺у埗鐨勪笉鐢ㄦ洿鏂帮紝浼氶�犳垚璺冲姩
-                if (controlTime.AddSeconds(2) > DateTime.Now)
-                {
-                    return;
-                }
-                else
-                {
-                    btnIndoorTemp.Text = Language.StringByID(StringId.IndoorTemp) + Convert.ToInt32(Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.RoomTemp).Replace(",", "."))) + "掳C";
-                    btnMode.SelectedImagePath = acFunction.GetModeIconPath(device.GetAttrState(FunctionAttributeKey.Mode));
-                    btnSwing.SelectedImagePath = acFunction.GetSwingIconPath(device.GetAttrState(FunctionAttributeKey.Swing));
-                    btnWindSpeed.SelectedImagePath = acFunction.GetFanIconPath(device.GetAttrState(FunctionAttributeKey.FanSpeed));
-                    btnMode.UnSelectedImagePath = acFunction.GetModeIconPath(device.GetAttrState(FunctionAttributeKey.Mode), false);
-                    btnSwing.UnSelectedImagePath = acFunction.GetSwingIconPath(device.GetAttrState(FunctionAttributeKey.Swing), false);
-                    btnWindSpeed.UnSelectedImagePath = acFunction.GetFanIconPath(device.GetAttrState(FunctionAttributeKey.FanSpeed), false);
-                    temp = Convert.ToInt32(Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.SetTemp).Replace(",", ".")));
-
-
-                    arcBar.Progress = temp;
-                    btnTemp.Text = temp.ToString();
-
-                    if (device.trait_on_off.curValue.ToString() == "on")
-                    {
-                        btnMode.IsSelected = btnSwing.IsSelected = btnWindSpeed.IsSelected = true;
-                        arcBar.IsOffline = false;
-                        btnSwitch.IsSelected = true;
-                        arcBar.ThumbImagePath = "FunctionIcon/AC/DiyThumbIconOn.png";
-                        if (device.GetAttrState(FunctionAttributeKey.Mode) == "fan")
-                        {
-                            arcBar.IsClickable = false;
-                        }
-                        else
-                        {
-                            arcBar.IsClickable = true;
-                        }
-                    }
-                    else
-                    {
-                        btnMode.IsSelected = btnSwing.IsSelected = btnWindSpeed.IsSelected = false;
-                        arcBar.IsOffline = true;
-                        btnSwitch.IsSelected = false;
-                        arcBar.IsClickable = false;
-                        arcBar.ThumbImagePath = "FunctionIcon/AC/DiyThumbIcon.png";
-                    }
-
-                    if (device.GetAttrState(FunctionAttributeKey.Mode) == "dry")
-                    {
-                        arcBar.IsOffline = true;
-                        arcBar.IsClickable = false;
-
-                    }
-                }
-
-            });
-        }
-
-        #endregion
-
-        #region 鈻� 涓�鑸柟娉昣__________________________
-
-        /// <summary>
-        /// 鍒锋柊褰撳墠璁惧鐨勭姸鎬佺紦瀛�
-        /// </summary>
-        private void RefreshNowDeviceStatuMemory(Function i_LocalDevice)
-        {
-        }
-
-        #endregion
-    }
-}
\ No newline at end of file
diff --git a/HDL_ON/UI/UI2/FuntionControlView/ContentView/FhContentView.cs b/HDL_ON/UI/UI2/FuntionControlView/ContentView/FhContentView.cs
deleted file mode 100644
index a4134a9..0000000
--- a/HDL_ON/UI/UI2/FuntionControlView/ContentView/FhContentView.cs
+++ /dev/null
@@ -1,540 +0,0 @@
-锘縰sing System;
-using HDL_ON.DriverLayer;
-using HDL_ON.Entity;
-using HDL_ON.Stan;
-using HDL_ON.UI.CSS;
-using Shared;
-namespace HDL_ON.UI
-{
-    public class FhContentView : FrameLayout
-    {
-        #region 鈻� 鍙橀噺澹版槑___________________________
-        /// <summary>
-        /// 绌鸿皟娓╁害鎺у埗鎺т欢
-        /// </summary>
-        DiyArcSeekBar arcBar;
-        /// <summary>
-        /// 鍑忓彿鎸夐挳
-        /// </summary>
-        Button btnMinus;
-        /// <summary>
-        /// 鍔犲彿鎸夐挳
-        /// </summary>
-        Button btnPlus;
-        /// <summary>
-        /// 娓╁害鎸夐挳
-        /// </summary>
-        Button btnTemp;
-        Button btnTempUint;
-        /// <summary>
-        /// 瀹ゅ唴娓╁害鎸夐挳
-        /// </summary>
-        Button btnIndoorTemp;
-        /// <summary>
-        /// 妯″紡鎸夐挳
-        /// </summary>
-        Button btnMode;
-        /// <summary>
-        /// 寮�鍏虫寜閽�
-        /// </summary>
-        Button btnSwitch;
-
-        FloorHeating fhTemp = new FloorHeating();
-
-        Function device;
-
-        #endregion
-
-        public FhContentView(Function function)
-        {
-            device = function;
-        }
-
-        #region 鈻� 鍒濆鍖朹____________________________
-
-        /// <summary>
-        /// 鍒濆鍖栫櫧鑹插尯鍩熺殑鍐呭
-        /// </summary>
-        public void InitContentView(bool initStandard)
-        {
-
-            if (initStandard)
-            {
-                //璁惧鍚嶅瓧
-                var btnDeviceName = new NormalViewControl(270, 37, true);
-                btnDeviceName.X = Application.GetRealWidth(16);
-                btnDeviceName.Y = Application.GetRealHeight(18);
-                btnDeviceName.TextColor = CSS_Color.FirstLevelTitleColor;
-                btnDeviceName.TextSize = CSS_FontSize.EmphasisFontSize_FirstLevel;
-                btnDeviceName.Text = device.name;
-                btnDeviceName.Width = btnDeviceName.GetRealWidthByText();
-                AddChidren(btnDeviceName);
-                //鎴块棿鍚嶅瓧
-                var btnRoomName = new NormalViewControl(270, 21, true);
-                btnRoomName.X = Application.GetRealWidth(16);
-                btnRoomName.Y = btnDeviceName.Bottom;
-                btnRoomName.TextColor = CSS_Color.PromptingColor1;
-                btnRoomName.TextSize = CSS_FontSize.PromptFontSize_FirstLevel;
-                btnRoomName.Text = device.GetRoomListName();
-                btnRoomName.Width = btnRoomName.GetRealWidthByText();
-                AddChidren(btnRoomName);
-
-            }
-            //鍒濆鍖栫涓�涓储寮曢〉鐨勫唴瀹�
-            this.InitFrameWhiteContent1();
-
-            //鍒锋柊鐣岄潰鐘舵��
-            this.RefreshFormStatu();
-            //璇诲彇鐘舵��
-            new System.Threading.Thread(() =>
-            {
-                Control.Ins.SendReadCommand(device);
-            })
-            { IsBackground = true }.Start();
-        }
-
-        /// <summary>
-        /// 鍒濆鍖栫涓�涓储寮曢〉鐨勫唴瀹�
-        /// </summary>
-        private void InitFrameWhiteContent1()
-        {
-
-            arcBar = new DiyArcSeekBar()
-            {
-                Gravity = Gravity.CenterHorizontal,
-                OpenAngle = 160,
-                //ThumbImagePath = device.trait_on_off.curValue.ToString() == "on" ? "FunctionIcon/FloorHeating/DiyThumbIconOn.png" : "FunctionIcon/AC/DiyThumbIcon.png",
-                ThumbImageHeight = Application.GetRealWidth(50),
-                ProgressBarColor = CSS_Color.AuxiliaryColor1, // 0xFFFC9C04,
-                OfflineProgressBarColor = CSS_Color.PromptingColor2,
-                MinValue = device.GetAttribute(FunctionAttributeKey.SetTemp).min,
-                MaxValue = device.GetAttribute(FunctionAttributeKey.SetTemp).max,
-                ArcColor = CSS_Color.BackgroundColor,
-                Progress = Convert.ToInt32(device.GetAttrState(FunctionAttributeKey.SetTemp)),
-#if __IOS__
-                Y = Application.GetRealHeight(120 + 25),
-                Width = Application.GetRealWidth(260 - 40),
-                Height = Application.GetRealWidth(260 - 40),
-                SeekBarPadding = Application.GetRealWidth(8),
-#else
-                Y = Application.GetRealHeight(120 + 40),
-                Width = Application.GetRealWidth(260 - 40),
-                Height = Application.GetRealWidth(260 - 40),
-                SeekBarPadding = Application.GetRealWidth(7),
-#endif
-
-            };
-            AddChidren(arcBar);
-
-
-            arcBar.ThumbImagePath = device.GetAttrState(FunctionAttributeKey.OnOff) == "on" ? "FunctionIcon/AC/DiyThumbIconOn.png" : "FunctionIcon/AC/DiyThumbIcon.png";
-            arcBar.IsOffline = device.GetAttrState(FunctionAttributeKey.OnOff) == "off";
-            arcBar.MinValue = device.GetAttribute(FunctionAttributeKey.SetTemp).min;
-            arcBar.MaxValue = device.GetAttribute(FunctionAttributeKey.SetTemp).max;
-            arcBar.Progress = Convert.ToInt32(device.GetAttrState(FunctionAttributeKey.SetTemp));
-
-
-
-            btnTemp = new Button()
-            {
-                Gravity = Gravity.CenterHorizontal,
-                Y = Application.GetRealHeight(200),
-                Width = Application.GetRealWidth(80),
-                Height = Application.GetRealWidth(60),
-                TextColor = CSS_Color.FirstLevelTitleColor,
-                TextSize = 56,
-                IsBold = true,
-                Text = device.GetAttrState(FunctionAttributeKey.SetTemp),
-                TextAlignment = TextAlignment.Center,
-            };
-            AddChidren(btnTemp);
-
-            btnTempUint = new Button()
-            {
-                X = btnTemp.Right,
-                Y = btnTemp.Y,
-                Width = Application.GetRealWidth(30),
-                Height = Application.GetRealWidth(25),
-                TextColor = CSS_Color.FirstLevelTitleColor,
-                TextSize = CSS_FontSize.EmphasisFontSize_Secondary,
-                IsBold = true,
-                TextAlignment = TextAlignment.CenterLeft,
-                Text = fhTemp.GetTempUnitString(device)
-            };
-            AddChidren(btnTempUint);
-
-            btnIndoorTemp = new Button()
-            {
-                Gravity = Gravity.CenterHorizontal,
-                Y = btnTemp.Bottom + Application.GetRealWidth(10),
-                Width = Application.GetRealWidth(100),
-                Height = Application.GetRealHeight(20),
-                Text = Language.StringByID(StringId.IndoorTemp) + "20掳C",
-                TextColor = CSS_Color.PromptingColor1,
-                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
-            };
-            AddChidren(btnIndoorTemp);
-
-            btnMinus = new Button()
-            {
-                X = Application.GetRealWidth(21),
-                Y = Application.GetRealHeight(263),
-                Width = Application.GetRealWidth(32),
-                Height = Application.GetRealWidth(32),
-                UnSelectedImagePath = "Public/MinusSignIcon.png",
-            };
-            AddChidren(btnMinus);
-
-            btnPlus = new Button()
-            {
-                X = Application.GetRealWidth(275),
-                Y = Application.GetRealHeight(263),
-                Width = Application.GetRealWidth(32),
-                Height = Application.GetRealWidth(32),
-                UnSelectedImagePath = "Public/PlusSignIcon.png",
-            };
-            AddChidren(btnPlus);
-
-            if (device.GetAttribute(FunctionAttributeKey.Mode) != null)
-            {
-                btnMode = new Button()
-                {
-                    X = Application.GetRealWidth(235),
-                    Y = Application.GetRealHeight(337),
-                    Width = Application.GetRealWidth(30),
-                    Height = Application.GetRealWidth(30),
-                    UnSelectedImagePath = fhTemp.GetModeIconPath(device.GetAttrState(FunctionAttributeKey.Mode))
-                };
-                AddChidren(btnMode);
-                if (device.GetAttribute(FunctionAttributeKey.Mode).value.Count > 1)
-                {
-                    btnMode.MouseUpEventHandler = (sender, e) =>
-                    {
-                        LoadDiv_ChangeModeView();
-                    };
-                }
-            }
-
-            btnSwitch = new Button()
-            {
-                Gravity = Gravity.CenterHorizontal,
-                Y = Application.GetRealHeight(466),
-                Width = Application.GetRealWidth(32),
-                Height = Application.GetRealWidth(32),
-                UnSelectedImagePath = "Public/PowerClose.png",
-                SelectedImagePath = "Public/PowerOpen.png",
-                IsSelected = device.trait_on_off.curValue.ToString() == "on"
-            };
-            AddChidren(btnSwitch);
-
-            LoadEvent_TempChange();
-            LoadEvent_AcStatesChange();
-
-        }
-
-        /// <summary>
-        /// 鍔犺浇淇敼妯″紡鍖哄煙
-        /// </summary>
-        void LoadDiv_ChangeModeView()
-        {
-            Dialog dialog = new Dialog();
-
-            FrameLayout dialogView = new FrameLayout()
-            {
-                BackgroundColor = CSS_Color.DialogTransparentColor1,
-            };
-            dialog.AddChidren(dialogView);
-
-            FrameLayout modeChangeView;
-            modeChangeView = new FrameLayout()
-            {
-                X = Application.GetRealWidth(30),
-                Y = Application.GetRealHeight(128),
-                Width = Application.GetRealWidth(160),
-                Height = Application.GetRealHeight(287),
-                BackgroundImagePath = "FunctionIcon/AC/DivBg1.png",
-            };
-            dialogView.AddChidren(modeChangeView);
-
-            Button btnTitle;
-            btnTitle = new Button()
-            {
-                X = Application.GetRealWidth(8 + 16),
-                Y = Application.GetRealHeight(8),
-                Width = Application.GetRealWidth(112),
-                Height = Application.GetRealHeight(44),
-                TextID = StringId.ChooseMode,
-                TextAlignment = TextAlignment.CenterLeft,
-                TextColor = CSS_Color.FirstLevelTitleColor,
-                TextSize = CSS_FontSize.EmphasisFontSize_Secondary,
-            };
-            modeChangeView.AddChidren(btnTitle);
-
-            Button btnLine = new Button()
-            {
-                X = btnTitle.X,
-                Y = btnTitle.Bottom,
-                Width = Application.GetRealWidth(112),
-                Height = Application.GetRealHeight(1),
-                BackgroundColor = CSS_Color.BackgroundColor,
-            };
-            modeChangeView.AddChidren(btnLine);
-
-            var modeList = device.GetAttribute(FunctionAttributeKey.Mode).value;
-            foreach (var m in modeList)
-            {
-                Button btnModeIcon = new Button()
-                {
-                    X = btnTitle.X,
-                    Y = Application.GetRealHeight(44 * (modeList.IndexOf(m) + 1) + 10 + 8),
-                    Width = Application.GetRealWidth(24),
-                    Height = Application.GetRealWidth(24),
-                    IsSelected = device.GetAttrState(FunctionAttributeKey.Mode) == m,
-                };
-                modeChangeView.AddChidren(btnModeIcon);
-
-                Button btnModeText = new Button()
-                {
-                    X = Application.GetRealWidth(12) + btnModeIcon.Right,
-                    Y = Application.GetRealHeight(44 * (modeList.IndexOf(m) + 1) + 8),
-                    Height = Application.GetRealHeight(44),
-                    Width = Application.GetRealWidth(90),
-                    TextAlignment = TextAlignment.CenterLeft,
-                    TextColor = CSS_Color.FirstLevelTitleColor,
-                    SelectedTextColor = CSS_Color.MainColor,
-                    IsSelected = device.GetAttrState(FunctionAttributeKey.Mode) == m,
-                    TextSize = CSS_FontSize.TextFontSize,
-                };
-                modeChangeView.AddChidren(btnModeText);
-
-                btnModeIcon.UnSelectedImagePath = fhTemp.GetModeIconPath(m, false);
-                btnModeIcon.SelectedImagePath = fhTemp.GetModeIconPath(m);
-                btnModeText.Text = fhTemp.GetModeAttrText(m);
-
-                if (modeList.IndexOf(m) < modeList.Count - 1)
-                {
-                    modeChangeView.AddChidren(new Button()
-                    {
-                        X = btnTitle.X,
-                        Y = btnModeText.Bottom,
-                        Width = Application.GetRealWidth(112),
-                        Height = Application.GetRealHeight(1),
-                        BackgroundColor = CSS_Color.BackgroundColor,
-                    });
-                }
-                EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
-                {
-                    dialog.Close();
-                };
-                EventHandler<MouseEventArgs> eventHandler1 = (sender, e) =>
-                {
-                    //if (!device.online)
-                    //{
-                    //    new Tip()
-                    //    {
-                    //        CloseTime = 1,
-                    //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                    //        Direction = AMPopTipDirection.None,
-                    //    }.Show(MainPage.BaseView);
-                    //}
-                    btnModeIcon.IsSelected = btnModeText.IsSelected = true;
-                    device.SetAttrState(FunctionAttributeKey.Mode, m);
-                    btnMode.UnSelectedImagePath = fhTemp.GetModeIconPath(m);
-                    System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
-                    btnMode.UnSelectedImagePath = btnModeIcon.UnSelectedImagePath;
-                    d.Add(FunctionAttributeKey.Mode, m);
-                    Control.Ins.SendWriteCommand(device, d);
-                    dialog.Close();
-                    if (device.GetAttrState(FunctionAttributeKey.Mode) == "fan")
-                    {
-                        arcBar.IsClickable = false;
-                    }
-                    else
-                    {
-                        arcBar.IsClickable = true;
-                    }
-                };
-                btnModeIcon.MouseUpEventHandler = eventHandler1;
-                btnModeText.MouseUpEventHandler = eventHandler1;
-                dialogView.MouseUpEventHandler = eventHandler;
-
-            }
-
-            dialogView.MouseUpEventHandler = (sender, e) => {
-                dialog.Close();
-            };
-            dialog.Show();
-        }
-
-        #endregion
-
-
-        #region 鈻� 鍙戦�佸悇绉嶅懡浠______________________
-
-        /// <summary>
-        /// 娓╁害鏀瑰彉妯″紡
-        /// </summary>
-        void LoadEvent_TempChange()
-        {
-            btnMinus.MouseUpEventHandler = (sender, e) =>
-            {
-                //if (!device.online)
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
-                if (device.trait_on_off.curValue.ToString() == "off" || device.GetAttrState(FunctionAttributeKey.Mode) == "fan")
-                {
-                    return;
-                }
-                var temp = Convert.ToInt32(device.GetAttrState(FunctionAttributeKey.SetTemp));
-                if (temp <= device.GetAttribute(FunctionAttributeKey.Mode).min)
-                {
-                    return;
-                }
-                temp--;
-                arcBar.Progress = temp;
-                btnTemp.Text = temp.ToString();
-                device.SetAttrState(FunctionAttributeKey.SetTemp, temp.ToString());
-                System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
-                d.Add(FunctionAttributeKey.SetTemp, temp.ToString());
-                Control.Ins.SendWriteCommand(device, d);
-            };
-            btnPlus.MouseUpEventHandler = (sender, e) =>
-            {
-                //if (!device.online)
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
-                if (device.trait_on_off.curValue.ToString() == "off" || device.GetAttrState(FunctionAttributeKey.Mode) == "fan")
-                {
-                    return;
-                }
-                var temp = Convert.ToInt32(device.GetAttrState(FunctionAttributeKey.SetTemp));
-                if (temp >= device.GetAttribute(FunctionAttributeKey.SetTemp).max)
-                {
-                    return;
-                }
-                temp++;
-                arcBar.Progress = temp;
-                btnTemp.Text = temp.ToString();
-                device.SetAttrState(FunctionAttributeKey.SetTemp, temp.ToString());
-                System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
-                d.Add(FunctionAttributeKey.SetTemp, temp.ToString());
-                Control.Ins.SendWriteCommand(device, d);
-            };
-
-            //if (device.online)
-            {
-                arcBar.OnStopTrackingTouchEvent = (sender, e) =>
-                {
-                    device.SetAttrState(FunctionAttributeKey.SetTemp, arcBar.Progress.ToString());
-                    btnTemp.Text = arcBar.Progress.ToString();
-                    System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
-                    d.Add(FunctionAttributeKey.SetTemp, arcBar.Progress.ToString());
-                    Control.Ins.SendWriteCommand(device, d);
-                };
-                arcBar.OnProgressChangedEvent = (sender, e) =>
-                {
-                    device.SetAttrState(FunctionAttributeKey.SetTemp, e.ToString());
-                    btnTemp.Text = e.ToString();
-                };
-            }
-        }
-        /// <summary>
-        /// 鎺у埗妯″紡浜嬩欢
-        /// </summary>
-        void LoadEvent_AcStatesChange()
-        {
-            btnMode.MouseUpEventHandler = (sender, e) =>
-            {
-                if (device.trait_on_off.curValue.ToString() == "off")
-                {
-                    return;
-                }
-                LoadDiv_ChangeModeView();
-            };
-
-            btnSwitch.MouseUpEventHandler = (sender, e) =>
-            {
-                btnSwitch.IsSelected = !btnSwitch.IsSelected;
-                device.trait_on_off.curValue = btnSwitch.IsSelected ? "on" : "off";
-                if (device.trait_on_off.curValue.ToString() == "on")
-                {
-                    arcBar.ThumbImagePath = "FunctionIcon/AC/DiyThumbIconOn.png";
-                    btnSwitch.IsSelected = true;
-                    arcBar.IsOffline = false;
-                }
-                else
-                {
-                    arcBar.ThumbImagePath = "FunctionIcon/AC/DiyThumbIcon.png";
-                    btnSwitch.IsBold = false;
-                    arcBar.IsOffline = true;
-                }
-                System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
-                d.Add(FunctionAttributeKey.OnOff, device.trait_on_off.curValue.ToString());
-                Control.Ins.SendWriteCommand(device, d);
-            };
-        }
-
-        #endregion
-
-        #region 鈻� 鍒锋柊鐣岄潰鐘舵�乢______________________
-
-        /// <summary>
-        /// 鍒锋柊鐣岄潰鐘舵��
-        /// </summary>
-        private void RefreshFormStatu()
-        {
-            Application.RunOnMainThread(() =>
-            {
-                btnTemp.Text = device.GetAttrState(FunctionAttributeKey.SetTemp);
-                btnIndoorTemp.Text = Language.StringByID(StringId.IndoorTemp) + Convert.ToInt32(Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.RoomTemp).Replace(",", "."))) + "掳C";
-                btnMode.UnSelectedImagePath = fhTemp.GetModeIconPath(device.GetAttrState(FunctionAttributeKey.Mode));
-                arcBar.Progress = Convert.ToInt32(Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.SetTemp).Replace(",", ".")));
-                if (device.trait_on_off.curValue.ToString() == "on")
-                {
-                    arcBar.IsOffline = false;
-                    btnSwitch.IsSelected = true;
-                    arcBar.ThumbImagePath = "FunctionIcon/AC/DiyThumbIconOn.png";
-                    if (device.GetAttrState(FunctionAttributeKey.Mode) == "fan")
-                    {
-                        arcBar.IsClickable = false;
-                    }
-                    else
-                    {
-                        arcBar.IsClickable = true;
-                    }
-                }
-                else
-                {
-                    arcBar.IsOffline = true;
-                    btnSwitch.IsSelected = false;
-                    arcBar.IsClickable = false;
-                    arcBar.ThumbImagePath = "FunctionIcon/AC/DiyThumbIcon.png";
-                }
-                //鑷姩妯″紡涓嶅厑璁歌皟娓╁害 2021-10-27 09:41:35 wxr 闄堢惓鍙嶉
-                if (device.GetAttrState(FunctionAttributeKey.Mode) == "auto")
-                {
-                    btnPlus.Enable = false;
-                    btnMinus.Enable = false;
-                    arcBar.IsClickable = false;
-                    arcBar.IsOffline = true;
-                }
-            });
-        }
-
-        #endregion
-    }
-}
\ No newline at end of file
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Curtain/CurtainModulePage.cs b/HDL_ON/UI/UI2/FuntionControlView/Curtain/CurtainModulePage.cs
index 39fee50..050f0b1 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Curtain/CurtainModulePage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Curtain/CurtainModulePage.cs
@@ -122,8 +122,8 @@
                 Y= Application.GetRealHeight(130),
                 Width = Application.GetRealWidth(250),
                 Height = Application.GetRealHeight(177),
-                SelectedImagePath = "FunctionIcon/Curtain/CurtainBgIcon.png",
-                UnSelectedImagePath = "FunctionIcon/Curtain/CurtainBgOnIcon.png",
+                UnSelectedImagePath = "FunctionIcon/Curtain/CurtainBgIcon.png",
+                SelectedImagePath = "FunctionIcon/Curtain/CurtainBgOnIcon.png",
             };
             controlView.AddChidren(btnCurtainBgIcon);
 
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Curtain/CurtainModulePageBLL.cs b/HDL_ON/UI/UI2/FuntionControlView/Curtain/CurtainModulePageBLL.cs
index 5c2383a..242fb61 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Curtain/CurtainModulePageBLL.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Curtain/CurtainModulePageBLL.cs
@@ -72,15 +72,15 @@
         void LoadEvent_ControlEvent()
         {
             btnCurtainClose.MouseUpEventHandler = (sender, e) => {
-                //if (!function.online)
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //}
+                if (!function.online)
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                }
                 new System.Threading.Thread(() => {
                     System.Threading.Thread.Sleep(2000);
                     Application.RunOnMainThread(() => {
@@ -116,15 +116,15 @@
 
             btnCurtainStop.MouseUpEventHandler = (sender, e) =>
             {
-                //if (!function.online)
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //}
+                if (!function.online)
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                }
                 new System.Threading.Thread(() => {
                     System.Threading.Thread.Sleep(2000);
                     Application.RunOnMainThread(() => {
@@ -139,15 +139,15 @@
             };
             btnCurtainOpen.MouseUpEventHandler = (sender, e) =>
             {
-                //if (!function.online)
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //}
+                if (!function.online)
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                }
                 new System.Threading.Thread(() => {
                     System.Threading.Thread.Sleep(2000);
                     Application.RunOnMainThread(() => {
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Curtain/MotorCurtainPageBLL.cs b/HDL_ON/UI/UI2/FuntionControlView/Curtain/MotorCurtainPageBLL.cs
index a7b399d..87044d5 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Curtain/MotorCurtainPageBLL.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Curtain/MotorCurtainPageBLL.cs
@@ -137,16 +137,15 @@
         {
             btnCurtainClose.MouseUpEventHandler = (sender, e) =>
             {
-                //if (!function.online)
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
+                if (!function.online)
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                }
                 new System.Threading.Thread(() =>
                 {
                     System.Threading.Thread.Sleep(2000);
@@ -166,16 +165,15 @@
 
             btnCurtainStop.MouseUpEventHandler = (sender, e) =>
             {
-                //if (!function.online)
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
+                if (!function.online)
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                }
                 onCurtainAnimation = false;
                 new System.Threading.Thread(() =>
                 {
@@ -194,16 +192,15 @@
 
             btnCurtainOpen.MouseUpEventHandler = (sender, e) =>
             {
-                //if (!function.online)
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
+                if (!function.online)
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                }
                 new System.Threading.Thread(() =>
                 {
                     System.Threading.Thread.Sleep(2000);
@@ -221,7 +218,7 @@
                 CurtainAnimation(100);
             };
 
-            //if (function.online)
+            if (!function.online)
             {
                 btnCurtainStop.MouseDownEventHandler = (sender, e) =>
                 {
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Curtain/RollingShutterPageBLL.cs b/HDL_ON/UI/UI2/FuntionControlView/Curtain/RollingShutterPageBLL.cs
index 1f752b7..94bfddc 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Curtain/RollingShutterPageBLL.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Curtain/RollingShutterPageBLL.cs
@@ -138,16 +138,15 @@
         {
             btnCurtainClose.MouseUpEventHandler = (sender, e) =>
             {
-                //if (!function.online)
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
+                if (!function.online)
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                }
                 new System.Threading.Thread(() =>
                 {
                     System.Threading.Thread.Sleep(2000);
@@ -167,16 +166,15 @@
 
             btnCurtainStop.MouseUpEventHandler = (sender, e) =>
             {
-                //if (!function.online)
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
+                if (!function.online)
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                }
                 new System.Threading.Thread(() => {
                     System.Threading.Thread.Sleep(2000);
                     Application.RunOnMainThread(() => {
@@ -193,16 +191,15 @@
 
             btnCurtainOpen.MouseUpEventHandler = (sender, e) =>
             {
-                //if (!function.online)
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
+                if (!function.online)
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                }
                 new System.Threading.Thread(() =>
                 {
                     System.Threading.Thread.Sleep(2000);
@@ -238,8 +235,9 @@
             //    DriverLayer.Control.Ins.SendWriteCommand(function, d);
             //};
 
-            //if (function.online)
+            if (!function.online)
             {
+
                 btnCurtainStop.MouseDownEventHandler = (sender, e) =>
                 {
                     btnCurtainStop.IsSelected = true;
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Electrical/AirSwitchPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Electrical/AirSwitchPage.cs
index bfcf8d4..7021c55 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Electrical/AirSwitchPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Electrical/AirSwitchPage.cs
@@ -417,16 +417,16 @@
         {
             btnSwitchIcon.MouseUpEventHandler = (sender, e) =>
             {
-                //if (!function.online)
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
+                if (!function.online)
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                    return;
+                }
                 btnSwitch.IsSelected = btnSwitchIcon.IsSelected = !btnSwitchIcon.IsSelected;
                 new System.Threading.Thread(() =>
                 {
@@ -439,16 +439,16 @@
             };
             btnSwitch.MouseUpEventHandler = (sender, e) =>
             {
-                //if (!function.online)
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
+                if (!function.online)
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                    return;
+                }
                 btnSwitchIcon.IsSelected = btnSwitch.IsSelected = !btnSwitch.IsSelected;
                 new System.Threading.Thread(() =>
                 {
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Electrical/ClothesHangerPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Electrical/ClothesHangerPage.cs
index 89d64ae..d93b021 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Electrical/ClothesHangerPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Electrical/ClothesHangerPage.cs
@@ -126,16 +126,16 @@
 
             #region 鎺у埗
             btnUp.MouseUpEventHandler = (sender, e) => {
-                //if (!device.online)
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
+                if (!device.online)
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                    return;
+                }
                 new System.Threading.Thread(() =>
                 {
                     System.Threading.Thread.Sleep(2000);
@@ -151,16 +151,16 @@
             };
             //----
             btnStop.MouseUpEventHandler = (sender, e) => {
-                //if (!device.online)
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
+                if (!device.online)
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                    return;
+                }
                 new System.Threading.Thread(() =>
                 {
                     System.Threading.Thread.Sleep(2000);
@@ -174,7 +174,7 @@
                 d.Add(FunctionAttributeKey.Position, "stop");
                 Control.Ins.SendWriteCommand(device, d);
             };
-            //if (!device.online)
+            if (!device.online)
             {
                 btnUp.MouseDownEventHandler = (sender, e) => {
                     btnUp.IsSelected = true;
@@ -189,16 +189,16 @@
                 };
             }
             btnDown.MouseUpEventHandler = (sender, e) => {
-                //if (!device.online)
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
+                if (!device.online)
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                    return;
+                }
                 new System.Threading.Thread(() =>
                 {
                     System.Threading.Thread.Sleep(2000);
@@ -242,16 +242,16 @@
 
                 EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
                 {
-                    //if (!device.online)
-                    //{
-                    //    new Tip()
-                    //    {
-                    //        CloseTime = 1,
-                    //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                    //        Direction = AMPopTipDirection.None,
-                    //    }.Show(MainPage.BaseView);
-                    //    return;
-                    //}
+                    if (!device.online)
+                    {
+                        new Tip()
+                        {
+                            CloseTime = 1,
+                            Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                            Direction = AMPopTipDirection.None,
+                        }.Show(MainPage.BaseView);
+                    return;
+                    }
                     string onoff = hotDryView.Lighting ? "false" : "true";
                     device.SetAttrState(FunctionAttributeKey.HotDry, onoff);
                     Dictionary<string, string> d = new Dictionary<string, string>();
@@ -281,16 +281,16 @@
 
                 EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
                 {
-                    //if (!device.online)
-                    //{
-                    //    new Tip()
-                    //    {
-                    //        CloseTime = 1,
-                    //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                    //        Direction = AMPopTipDirection.None,
-                    //    }.Show(MainPage.BaseView);
-                    //    return;
-                    //}
+                    if (!device.online)
+                    {
+                        new Tip()
+                        {
+                            CloseTime = 1,
+                            Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                            Direction = AMPopTipDirection.None,
+                        }.Show(MainPage.BaseView);
+                    return;
+                    }
                     string onoff = windDryView.Lighting ? "false" : "true";
                     device.SetAttrState(FunctionAttributeKey.WindDry, onoff);
                     Dictionary<string, string> d = new Dictionary<string, string>();
@@ -326,16 +326,16 @@
 
                 EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
                 {
-                    //if (!device.online)
-                    //{
-                    //    new Tip()
-                    //    {
-                    //        CloseTime = 1,
-                    //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                    //        Direction = AMPopTipDirection.None,
-                    //    }.Show(MainPage.BaseView);
-                    //    return;
-                    //}
+                    if (!device.online)
+                    {
+                        new Tip()
+                        {
+                            CloseTime = 1,
+                            Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                            Direction = AMPopTipDirection.None,
+                        }.Show(MainPage.BaseView);
+                    return;
+                    }
                     string onoff = disinfectView.Lighting ? "false" : "true";
                     device.SetAttrState(FunctionAttributeKey.Disinfect, onoff);
                     Dictionary<string, string> d = new Dictionary<string, string>();
@@ -376,16 +376,16 @@
 
                 EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
                 {
-                    //if (!device.online)
-                    //{
-                    //    new Tip()
-                    //    {
-                    //        CloseTime = 1,
-                    //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                    //        Direction = AMPopTipDirection.None,
-                    //    }.Show(MainPage.BaseView);
-                    //    return;
-                    //}
+                    if (!device.online)
+                    {
+                        new Tip()
+                        {
+                            CloseTime = 1,
+                            Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                            Direction = AMPopTipDirection.None,
+                        }.Show(MainPage.BaseView);
+                    return;
+                    }
                     string onoff = lightingView.Lighting ? "off" : "on";
                     device.SetAttrState(FunctionAttributeKey.OnOff, onoff);
                     Dictionary<string, string> d = new Dictionary<string, string>();
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Electrical/ClothesHangerSetTimePage.cs b/HDL_ON/UI/UI2/FuntionControlView/Electrical/ClothesHangerSetTimePage.cs
index 330147b..e9ec37c 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Electrical/ClothesHangerSetTimePage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Electrical/ClothesHangerSetTimePage.cs
@@ -74,16 +74,16 @@
                 functionListView.AddChidren(hotDryTimeCell);
                 hotDryTimeCell.GoAction = () =>
                 {
-                    //if (!device.online)
-                    //{
-                    //    new Tip()
-                    //    {
-                    //        CloseTime = 1,
-                    //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                    //        Direction = AMPopTipDirection.None,
-                    //    }.Show(MainPage.BaseView);
-                    //    return;
-                    //}
+                    if (!device.online)
+                    {
+                        new Tip()
+                        {
+                            CloseTime = 1,
+                            Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                            Direction = AMPopTipDirection.None,
+                        }.Show(MainPage.BaseView);
+                        return;
+                    }
                     BottomTimeSelectControl timeControl = new BottomTimeSelectControl(hRange, mRange,3, Language.StringByID(StringId.HotDryTime));
                     timeControl.RowHeight = Application.GetRealHeight(50);
                     timeControl.InitControl(0, 1, 162);
@@ -130,16 +130,16 @@
                 functionListView.AddChidren(windDryCell);
                 windDryCell.GoAction = () =>
                 {
-                    //if (!device.online)
-                    //{
-                    //    new Tip()
-                    //    {
-                    //        CloseTime = 1,
-                    //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                    //        Direction = AMPopTipDirection.None,
-                    //    }.Show(MainPage.BaseView);
-                    //    return;
-                    //}
+                    if (!device.online)
+                    {
+                        new Tip()
+                        {
+                            CloseTime = 1,
+                            Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                            Direction = AMPopTipDirection.None,
+                        }.Show(MainPage.BaseView);
+                        return;
+                    }
                     BottomTimeSelectControl timeControl = new BottomTimeSelectControl(hRange, mRange,3,Language.StringByID(StringId.WindDryTime));
                     timeControl.RowHeight = Application.GetRealHeight(50);
                     timeControl.InitControl(0, 1, 162);
@@ -187,16 +187,16 @@
 
                 functionListView.AddChidren(disinfectTimeCell);
                 disinfectTimeCell.GoAction = () => {
-                    //if (!device.online)
-                    //{
-                    //    new Tip()
-                    //    {
-                    //        CloseTime = 1,
-                    //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                    //        Direction = AMPopTipDirection.None,
-                    //    }.Show(MainPage.BaseView);
-                    //    return;
-                    //}
+                    if (!device.online)
+                    {
+                        new Tip()
+                        {
+                            CloseTime = 1,
+                            Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                            Direction = AMPopTipDirection.None,
+                        }.Show(MainPage.BaseView);
+                        return;
+                    }
                     BottomTimeSelectControl timeControl = new BottomTimeSelectControl(hRange, mRange,3, Language.StringByID(StringId.DisinfectTime));
                     timeControl.RowHeight = Application.GetRealHeight(50);
                     timeControl.InitControl(0, 1, 162);
@@ -245,16 +245,16 @@
                 anionTimeCell.LineView.RemoveFromParent();
 
                 anionTimeCell.GoAction = () => {
-                    //if (!device.online)
-                    //{
-                    //    new Tip()
-                    //    {
-                    //        CloseTime = 1,
-                    //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                    //        Direction = AMPopTipDirection.None,
-                    //    }.Show(MainPage.BaseView);
-                    //    return;
-                    //}
+                    if (!device.online)
+                    {
+                        new Tip()
+                        {
+                            CloseTime = 1,
+                            Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                            Direction = AMPopTipDirection.None,
+                        }.Show(MainPage.BaseView);
+                        return;
+                    }
                     BottomTimeSelectControl timeControl = new BottomTimeSelectControl(hRange, mRange,3,Language.StringByID(StringId.AnionTime));
 
 
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Electrical/FanPageBLL.cs b/HDL_ON/UI/UI2/FuntionControlView/Electrical/FanPageBLL.cs
index 8b2c58c..7dab158 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Electrical/FanPageBLL.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Electrical/FanPageBLL.cs
@@ -62,16 +62,16 @@
         {
             btnSwitchIcon.MouseUpEventHandler += (sender, e) =>
             {
-                //if (!function.online)
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
+                if (!function.online)
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                    return;
+                }
                 btnSwitchIcon.IsSelected = btnSwitch.IsSelected = !btnSwitchIcon.IsSelected;
 
                 new System.Threading.Thread(() =>
@@ -86,16 +86,16 @@
             };
             btnSwitch.MouseUpEventHandler += (sender, e) =>
             {
-                //if (!function.online)
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
+                if (!function.online)
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                    return;
+                }
                 btnSwitch.IsSelected = btnSwitchIcon.IsSelected = !btnSwitch.IsSelected;
 
                 new System.Threading.Thread(() =>
@@ -108,7 +108,7 @@
                 { IsBackground = true }.Start();
             };
 
-            //if (function.online)
+            if (!function.online)
             {
                 barGradualChange.OnProgressChangedEvent = (sender, e) =>
                 {
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Electrical/IrLearnPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Electrical/IrLearnPage.cs
index b32280c..c8041d3 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Electrical/IrLearnPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Electrical/IrLearnPage.cs
@@ -90,16 +90,16 @@
 
                 btn.MouseUpEventHandler = (sender, e) => {
 
-                    //if (!device.online)
-                    //{
-                    //    new Tip()
-                    //    {
-                    //        CloseTime = 1,
-                    //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                    //        Direction = AMPopTipDirection.None,
-                    //    }.Show(MainPage.BaseView);
-                    //    return;
-                    //}
+                    if (!device.online)
+                    {
+                        new Tip()
+                        {
+                            CloseTime = 1,
+                            Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                            Direction = AMPopTipDirection.None,
+                        }.Show(MainPage.BaseView);
+                        return;
+                    }
                     System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
                     d.Add(attr.key, "");
                     Control.Ins.SendWriteCommand(device, d);
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Electrical/PjtPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Electrical/PjtPage.cs
index ce95adc..df0f1d1 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Electrical/PjtPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Electrical/PjtPage.cs
@@ -480,16 +480,16 @@
 
                     btn.MouseUpEventHandler = (sender, e) =>
                     {
-                        //if (!device.online)
-                        //{
-                        //    new Tip()
-                        //    {
-                        //        CloseTime = 1,
-                        //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                        //        Direction = AMPopTipDirection.None,
-                        //    }.Show(MainPage.BaseView);
-                        //    return;
-                        //}
+                        if (!device.online)
+                        {
+                            new Tip()
+                            {
+                                CloseTime = 1,
+                                Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                                Direction = AMPopTipDirection.None,
+                            }.Show(MainPage.BaseView);
+                            return;
+                        }
                         Dictionary<string, string> d = new Dictionary<string, string>();
                         d.Add(attr.key, "");
                         Control.Ins.SendWriteCommand(device, d);
@@ -548,16 +548,16 @@
 
             btnChlPlus.MouseUpEventHandler = (sender, e) =>
             {
-                //if (!device.online)
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
+                if (!device.online)
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                    return;
+                }
                 if (DB_ResidenceData.Instance.GatewayType == 1)
                 {
                     Dictionary<string, string> d = new Dictionary<string, string>();
@@ -567,16 +567,16 @@
             };
             btnChlReduce.MouseUpEventHandler = (sender, e) =>
             {
-                //if (!device.online)
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
+                if (!device.online)
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                    return;
+                }
                 if (DB_ResidenceData.Instance.GatewayType == 1)
                 {
                     Dictionary<string, string> d = new Dictionary<string, string>();
@@ -586,16 +586,16 @@
             };
             btnVolPlus.MouseUpEventHandler = (sender, e) =>
             {
-                //if (!device.online)
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
+                if (!device.online)
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                    return;
+                }
                 if (DB_ResidenceData.Instance.GatewayType == 1)
                 {
                     Dictionary<string, string> d = new Dictionary<string, string>();
@@ -605,16 +605,16 @@
             };
             btnVolReduce.MouseUpEventHandler = (sender, e) =>
             {
-                //if (!device.online)
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
+                if (!device.online)
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                    return;
+                }
                 if (DB_ResidenceData.Instance.GatewayType == 1)
                 {
                     Dictionary<string, string> d = new Dictionary<string, string>();
@@ -624,16 +624,16 @@
             };
             btnBack.MouseUpEventHandler = (sender, e) =>
             {
-                //if (!device.online)
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
+                if (!device.online)
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                    return;
+                }
                 if (DB_ResidenceData.Instance.GatewayType == 1)
                 {
                     Dictionary<string, string> d = new Dictionary<string, string>();
@@ -643,16 +643,16 @@
             };
             btnPower.MouseUpEventHandler = (sender, e) =>
             {
-                //if (!device.online)
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
+                if (!device.online)
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                    return;
+                }
                 if (DB_ResidenceData.Instance.GatewayType == 1)
                 {
                     Dictionary<string, string> d = new Dictionary<string, string>();
@@ -679,16 +679,16 @@
             };
             btnMenu.MouseUpEventHandler = (sender, e) =>
             {
-                //if (!device.online)
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
+                if (!device.online)
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                    return;
+                }
                 topMenuView.BackgroundImagePath = "FunctionIcon/Electrical/TV/TVOkIcon.png";
                 if (DB_ResidenceData.Instance.GatewayType == 1)
                 {
@@ -699,16 +699,16 @@
             };
             btnTopMenuUp.MouseUpEventHandler = (sender, e) => {
 
-                //if (!device.online)
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
+                if (!device.online)
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                    return;
+                }
                 topMenuView.BackgroundImagePath = "FunctionIcon/Electrical/TV/TVOkIcon.png";
                 if (DB_ResidenceData.Instance.GatewayType == 1)
                 {
@@ -719,16 +719,16 @@
             };
             btnTopMenuLeft.MouseUpEventHandler = (sender, e) => {
 
-                //if (!device.online)
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
+                if (!device.online)
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                    return;
+                }
                 topMenuView.BackgroundImagePath = "FunctionIcon/Electrical/TV/TVOkIcon.png";
                 if (DB_ResidenceData.Instance.GatewayType == 1)
                 {
@@ -739,16 +739,16 @@
             };
             btnTopMenuRight.MouseUpEventHandler = (sender, e) => {
 
-                //if (!device.online)
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
+                if (!device.online)
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                    return;
+                }
                 topMenuView.BackgroundImagePath = "FunctionIcon/Electrical/TV/TVOkIcon.png";
                 if (DB_ResidenceData.Instance.GatewayType == 1)
                 {
@@ -759,16 +759,16 @@
             };
             btnTopMenuDown.MouseUpEventHandler = (sender, e) => {
 
-                //if (!device.online)
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
+                if (!device.online)
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                    return;
+                }
                 topMenuView.BackgroundImagePath = "FunctionIcon/Electrical/TV/TVOkIcon.png";
                 if (DB_ResidenceData.Instance.GatewayType == 1)
                 {
@@ -779,16 +779,16 @@
             };
             btnOk.MouseUpEventHandler = (sender, e) => {
 
-                //if (!device.online)
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
+                if (!device.online)
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                    return;
+                }
                 topMenuView.BackgroundImagePath = "FunctionIcon/Electrical/TV/TVOkIcon.png";
                 if (DB_ResidenceData.Instance.GatewayType == 1)
                 {
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Electrical/SocketPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Electrical/SocketPage.cs
index 2177666..c5c93da 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Electrical/SocketPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Electrical/SocketPage.cs
@@ -290,16 +290,16 @@
         {
             btnSwitchIcon.MouseUpEventHandler += (sender, e) =>
             {
-                //if (!function.online)
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
+                if (!function.online)
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                    return;
+                }
                 btnSwitchIcon.IsSelected = btnSwitch.IsSelected = !btnSwitchIcon.IsSelected;
 
                 new System.Threading.Thread(() =>
@@ -316,16 +316,16 @@
             };
             btnSwitch.MouseUpEventHandler += (sender, e) =>
             {
-                //if (!function.online)
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
+                if (!function.online)
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                    return;
+                }
                 btnSwitch.IsSelected = btnSwitchIcon.IsSelected = !btnSwitch.IsSelected;
 
                 new System.Threading.Thread(() =>
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Electrical/StbPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Electrical/StbPage.cs
index 0559e90..cf97d88 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Electrical/StbPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Electrical/StbPage.cs
@@ -421,16 +421,16 @@
                 }
                 numberView.AddChidren(btn);
                 btn.MouseUpEventHandler = (sender, e) => {
-                    //if (!device.online)
-                    //{
-                    //    new Tip()
-                    //    {
-                    //        CloseTime = 1,
-                    //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                    //        Direction = AMPopTipDirection.None,
-                    //    }.Show(MainPage.BaseView);
-                    //    return;
-                    //}
+                    if (!device.online)
+                    {
+                        new Tip()
+                        {
+                            CloseTime = 1,
+                            Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                            Direction = AMPopTipDirection.None,
+                        }.Show(MainPage.BaseView);
+                        return;
+                    }
                     string index = (sender as Button).Text;
                     btn.IsSelected = false;
                     if (DB_ResidenceData.Instance.GatewayType == 1)
@@ -484,16 +484,16 @@
         {
             btnMenu.MouseUpEventHandler = (sender, e) =>
             {
-                //if (!device.online)
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
+                if (!device.online)
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                    return;
+                }
                 if (DB_ResidenceData.Instance.GatewayType == 1)
                 {
                     Dictionary<string, string> d = new Dictionary<string, string>();
@@ -503,16 +503,16 @@
             };
             btnChlPlus.MouseUpEventHandler = (sender, e) =>
             {
-                //if (!device.online)
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
+                if (!device.online)
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                    return;
+                }
                 if (DB_ResidenceData.Instance.GatewayType == 1)
                 {
                     Dictionary<string, string> d = new Dictionary<string, string>();
@@ -522,16 +522,16 @@
             };
             btnChlReduce.MouseUpEventHandler = (sender, e) =>
             {
-                //if (!device.online)
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
+                if (!device.online)
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                    return;
+                }
                 if (DB_ResidenceData.Instance.GatewayType == 1)
                 {
                     Dictionary<string, string> d = new Dictionary<string, string>();
@@ -541,16 +541,16 @@
             };
             btnVolPlus.MouseUpEventHandler = (sender, e) =>
             {
-                //if (!device.online)
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
+                if (!device.online)
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                    return;
+                }
                 if (DB_ResidenceData.Instance.GatewayType == 1)
                 {
                     Dictionary<string, string> d = new Dictionary<string, string>();
@@ -560,16 +560,16 @@
             };
             btnVolReduce.MouseUpEventHandler = (sender, e) =>
             {
-                //if (!device.online)
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
+                if (!device.online)
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                    return;
+                }
                 if (DB_ResidenceData.Instance.GatewayType == 1)
                 {
                     Dictionary<string, string> d = new Dictionary<string, string>();
@@ -579,16 +579,16 @@
             };
             btnBack.MouseUpEventHandler = (sender, e) =>
             {
-                //if (!device.online)
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
+                if (!device.online)
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                    return;
+                }
                 if (DB_ResidenceData.Instance.GatewayType == 1)
                 {
                     Dictionary<string, string> d = new Dictionary<string, string>();
@@ -599,16 +599,16 @@
 
             btnMenu.MouseUpEventHandler = (sender, e) =>
             {
-                //if (!device.online)
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
+                if (!device.online)
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                    return;
+                }
                 if (DB_ResidenceData.Instance.GatewayType == 1)
                 {
                     Dictionary<string, string> d = new Dictionary<string, string>();
@@ -618,30 +618,30 @@
             };
             btn123.MouseUpEventHandler = (sender, e) =>
             {
-                //if (!device.online)
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
+                if (!device.online)
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                    return;
+                }
                 ShowNumberView();
             };
             btnMute.MouseUpEventHandler = (sender, e) =>
             {
-                //if (!device.online)
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
+                if (!device.online)
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                    return;
+                }
                 if (DB_ResidenceData.Instance.GatewayType == 1)
                 {
                     Dictionary<string, string> d = new Dictionary<string, string>();
@@ -651,16 +651,16 @@
             };
             btnPower.MouseUpEventHandler = (sender, e) =>
             {
-                //if (!device.online)
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
+                if (!device.online)
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                    return;
+                }
                 if (DB_ResidenceData.Instance.GatewayType == 1)
                 {
                     Dictionary<string, string> d = new Dictionary<string, string>();
@@ -670,7 +670,7 @@
             };
 
 
-            //if (device.online)
+            if (!device.online)
             {
                 btnTopMenuUp.MouseDownEventHandler = (sender, e) =>
                 {
@@ -695,16 +695,16 @@
             }
             btnMenu.MouseUpEventHandler = (sender, e) =>
             {
-                //if (!device.online)
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
+                if (!device.online)
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                    return;
+                }
                 topMenuView.BackgroundImagePath = "FunctionIcon/Electrical/TV/TVOkIcon.png";
                 if (DB_ResidenceData.Instance.GatewayType == 1)
                 {
@@ -715,16 +715,16 @@
             };
             btnTopMenuUp.MouseUpEventHandler = (sender, e) => {
 
-                //if (!device.online)
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
+                if (!device.online)
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                    return;
+                }
                 topMenuView.BackgroundImagePath = "FunctionIcon/Electrical/TV/TVOkIcon.png";
                 if (DB_ResidenceData.Instance.GatewayType == 1)
                 {
@@ -735,16 +735,16 @@
             };
             btnTopMenuLeft.MouseUpEventHandler = (sender, e) => {
 
-                //if (!device.online)
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
+                if (!device.online)
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                    return;
+                }
                 topMenuView.BackgroundImagePath = "FunctionIcon/Electrical/TV/TVOkIcon.png";
                 if (DB_ResidenceData.Instance.GatewayType == 1)
                 {
@@ -755,16 +755,16 @@
             };
             btnTopMenuRight.MouseUpEventHandler = (sender, e) => {
 
-                //if (!device.online)
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
+                if (!device.online)
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                    return;
+                }
                 topMenuView.BackgroundImagePath = "FunctionIcon/Electrical/TV/TVOkIcon.png";
                 if (DB_ResidenceData.Instance.GatewayType == 1)
                 {
@@ -775,16 +775,16 @@
             };
             btnTopMenuDown.MouseUpEventHandler = (sender, e) => {
 
-                //if (!device.online)
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
+                if (!device.online)
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                    return;
+                }
                 topMenuView.BackgroundImagePath = "FunctionIcon/Electrical/TV/TVOkIcon.png";
                 if (DB_ResidenceData.Instance.GatewayType == 1)
                 {
@@ -795,16 +795,16 @@
             };
             btnOk.MouseUpEventHandler = (sender, e) => {
 
-                //if (!device.online)
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
+                if (!device.online)
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                    return;
+                }
                 topMenuView.BackgroundImagePath = "FunctionIcon/Electrical/TV/TVOkIcon.png";
                 if (DB_ResidenceData.Instance.GatewayType == 1)
                 {
@@ -971,16 +971,16 @@
 
                     btn.MouseUpEventHandler = (sender, e) =>
                     {
-                        //if (!device.online)
-                        //{
-                        //    new Tip()
-                        //    {
-                        //        CloseTime = 1,
-                        //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                        //        Direction = AMPopTipDirection.None,
-                        //    }.Show(MainPage.BaseView);
-                        //    return;
-                        //}
+                        if (!device.online)
+                        {
+                            new Tip()
+                            {
+                                CloseTime = 1,
+                                Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                                Direction = AMPopTipDirection.None,
+                            }.Show(MainPage.BaseView);
+                            return;
+                        }
                         Dictionary<string, string> d = new Dictionary<string, string>();
                         d.Add(attr.key, "");
                         Control.Ins.SendWriteCommand(device, d);
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Electrical/TVPageBLL.cs b/HDL_ON/UI/UI2/FuntionControlView/Electrical/TVPageBLL.cs
index 86bb29e..ff71d51 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Electrical/TVPageBLL.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Electrical/TVPageBLL.cs
@@ -40,16 +40,16 @@
         /// </summary>
         void LoadControlEvent()
         {
-            //if (!function.online)
-            //{
-            //    new Tip()
-            //    {
-            //        CloseTime = 1,
-            //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-            //        Direction = AMPopTipDirection.None,
-            //    }.Show(MainPage.BaseView);
-            //    return;
-            //}
+            if (!function.online)
+            {
+                new Tip()
+                {
+                    CloseTime = 1,
+                    Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                    Direction = AMPopTipDirection.None,
+                }.Show(MainPage.BaseView);
+                return;
+            }
             btnChangeTVAV.MouseUpEventHandler = (sender, e) =>
             {
                 if (DB_ResidenceData.Instance.GatewayType == 1)
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Electrical/TuyaAirCleanerPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Electrical/TuyaAirCleanerPage.cs
index 5632784..0bc953c 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Electrical/TuyaAirCleanerPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Electrical/TuyaAirCleanerPage.cs
@@ -540,16 +540,16 @@
         /// <param name="value">auto:鑷姩  sleep:鐫$湢  manual:鎵嬪姩  strong:寮虹儓</param>
         private void SendModeComand(string value)
         {
-            //if (!device.online)
-            //{
-            //    new Tip()
-            //    {
-            //        CloseTime = 1,
-            //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-            //        Direction = AMPopTipDirection.None,
-            //    }.Show(MainPage.BaseView);
-            //    return;
-            //}
+            if (!device.online)
+            {
+                new Tip()
+                {
+                    CloseTime = 1,
+                    Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                    Direction = AMPopTipDirection.None,
+                }.Show(MainPage.BaseView);
+                return;
+            }
             this.btnMode.CanClick = false;
             HdlThreadLogic.Current.RunThread(() =>
             {
@@ -569,16 +569,16 @@
         /// <param name="value">canel:鍙栨秷 1:1灏忔椂 2:2灏忔椂 3:4灏忔椂 4:8灏忔椂</param>
         private void SendTimingComand(string value)
         {
-            //if (!device.online)
-            //{
-            //    new Tip()
-            //    {
-            //        CloseTime = 1,
-            //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-            //        Direction = AMPopTipDirection.None,
-            //    }.Show(MainPage.BaseView);
-            //    return;
-            //}
+            if (!device.online)
+            {
+                new Tip()
+                {
+                    CloseTime = 1,
+                    Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                    Direction = AMPopTipDirection.None,
+                }.Show(MainPage.BaseView);
+                return;
+            }
             this.btnTime.CanClick = false;
             HdlThreadLogic.Current.RunThread(() =>
             {
@@ -598,16 +598,16 @@
         /// <param name="value">1:浣庢。 2:涓。 3:楂樻。</param>
         private void SendFanSpeedComand(string value)
         {
-            //if (!device.online)
-            //{
-            //    new Tip()
-            //    {
-            //        CloseTime = 1,
-            //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-            //        Direction = AMPopTipDirection.None,
-            //    }.Show(MainPage.BaseView);
-            //    return;
-            //}
+            if (!device.online)
+            {
+                new Tip()
+                {
+                    CloseTime = 1,
+                    Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                    Direction = AMPopTipDirection.None,
+                }.Show(MainPage.BaseView);
+                return;
+            }
             this.btnFan.CanClick = false;
             HdlThreadLogic.Current.RunThread(() =>
             {
@@ -626,16 +626,16 @@
         /// </summary>
         private void SendSwitchComand()
         {
-            //if (!device.online)
-            //{
-            //    new Tip()
-            //    {
-            //        CloseTime = 1,
-            //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-            //        Direction = AMPopTipDirection.None,
-            //    }.Show(MainPage.BaseView);
-            //    return;
-            //}
+            if (!device.online)
+            {
+                new Tip()
+                {
+                    CloseTime = 1,
+                    Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                    Direction = AMPopTipDirection.None,
+                }.Show(MainPage.BaseView);
+                return;
+            }
             this.btnPictrue.CanClick = false;
             this.btnSwitch.CanClick = false;
 
@@ -663,16 +663,16 @@
         /// </summary>
         private void SendEnableComand(MostRightIconControl btnSwitch, string sendKey, string value)
         {
-            //if (!device.online)
-            //{
-            //    new Tip()
-            //    {
-            //        CloseTime = 1,
-            //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-            //        Direction = AMPopTipDirection.None,
-            //    }.Show(MainPage.BaseView);
-            //    return;
-            //}
+            if (!device.online)
+            {
+                new Tip()
+                {
+                    CloseTime = 1,
+                    Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                    Direction = AMPopTipDirection.None,
+                }.Show(MainPage.BaseView);
+                return;
+            }
             if (btnSwitch != null)
             {
                 btnSwitch.CanClick = false;
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Electrical/TuyaFanPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Electrical/TuyaFanPage.cs
index af53681..df3ecc3 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Electrical/TuyaFanPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Electrical/TuyaFanPage.cs
@@ -99,7 +99,7 @@
             //妗�
             var strView = Language.StringByID(StringId.Gear);
 
-            //if (device.online)
+            if (device.online)
             {
                 seekBarContr.ProgressChangedEvent += (div, value) =>
                 {
@@ -179,16 +179,16 @@
         /// </summary>
         private void SendSwitchComand()
         {
-            //if (!device.online)
-            //{
-            //    new Tip()
-            //    {
-            //        CloseTime = 1,
-            //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-            //        Direction = AMPopTipDirection.None,
-            //    }.Show(MainPage.BaseView);
-            //    return;
-            //}
+            if (!device.online)
+            {
+                new Tip()
+                {
+                    CloseTime = 1,
+                    Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                    Direction = AMPopTipDirection.None,
+                }.Show(MainPage.BaseView);
+                return;
+            }
             this.btnSwitch.CanClick = false;
 
             string statu = this.btnSwitch.IsSelected == true ? "off" : "on";
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Electrical/TuyaWaterValvePage.cs b/HDL_ON/UI/UI2/FuntionControlView/Electrical/TuyaWaterValvePage.cs
index 491651a..3d08b88 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Electrical/TuyaWaterValvePage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Electrical/TuyaWaterValvePage.cs
@@ -167,16 +167,16 @@
         /// </summary>
         private void SendSwitchComand()
         {
-            //if (!device.online)
-            //{
-            //    new Tip()
-            //    {
-            //        CloseTime = 1,
-            //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-            //        Direction = AMPopTipDirection.None,
-            //    }.Show(MainPage.BaseView);
-            //    return;
-            //}
+            if (!device.online)
+            {
+                new Tip()
+                {
+                    CloseTime = 1,
+                    Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                    Direction = AMPopTipDirection.None,
+                }.Show(MainPage.BaseView);
+                return;
+            }
             this.btnPictrue.CanClick = false;
             this.btnSwitch.CanClick = false;
 
@@ -282,16 +282,16 @@
 
         private void SetControlTime()
         {
-            //if (!device.online)
-            //{
-            //    new Tip()
-            //    {
-            //        CloseTime = 1,
-            //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-            //        Direction = AMPopTipDirection.None,
-            //    }.Show(MainPage.BaseView);
-            //    return;
-            //}
+            if (!device.online)
+            {
+                new Tip()
+                {
+                    CloseTime = 1,
+                    Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                    Direction = AMPopTipDirection.None,
+                }.Show(MainPage.BaseView);
+                return;
+            }
             var timeControl = new BottomTimeSelectControl();
             timeControl.RowCount = 5;
             timeControl.InitControl(0,0);
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Electrical/TuyaWeepRobotConsumablesMagPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Electrical/TuyaWeepRobotConsumablesMagPage.cs
index 524ae5b..0b3bf1b 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Electrical/TuyaWeepRobotConsumablesMagPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Electrical/TuyaWeepRobotConsumablesMagPage.cs
@@ -86,16 +86,16 @@
             btnSwitch.IsSelected = i_brushStatu;
             btnSwitch.ButtonClickEvent += (sender, e) =>
             {
-                //if (!i_device.online)
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
+                if (!i_device.online)
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                    return;
+                }
                 if (btnSwitch.IsSelected == true)
                 {
                     //鍙栨秷鐨勮瘽鐩存帴鍙栨秷
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Electrical/TuyaWeepRobotPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Electrical/TuyaWeepRobotPage.cs
index b9b0dc1..1fa0b85 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Electrical/TuyaWeepRobotPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Electrical/TuyaWeepRobotPage.cs
@@ -455,16 +455,16 @@
         /// </summary>
         private void SendComand(string key, string i_value)
         {
-            //if (!device.online)
-            //{
-            //    new Tip()
-            //    {
-            //        CloseTime = 1,
-            //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-            //        Direction = AMPopTipDirection.None,
-            //    }.Show(MainPage.BaseView);
-            //    return;
-            //}
+            if (!device.online)
+            {
+                new Tip()
+                {
+                    CloseTime = 1,
+                    Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                    Direction = AMPopTipDirection.None,
+                }.Show(MainPage.BaseView);
+                return;
+            }
             HdlThreadLogic.Current.RunThread(() =>
             {
                 var dic = new Dictionary<string, string>();
diff --git a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/A_EnvironmentalDataCenter.cs b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/A_EnvironmentalDataCenter.cs
index 0b08588..cf7936f 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/A_EnvironmentalDataCenter.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/A_EnvironmentalDataCenter.cs
@@ -1,1052 +1,1052 @@
-锘�//using System;
-//using System.Collections.Generic;
-//using HDL_ON.DriverLayer;
-//using HDL_ON.Entity;
-//using HDL_ON.UI.CSS;
-//using Shared;
+锘縰sing System;
+using System.Collections.Generic;
+using HDL_ON.DriverLayer;
+using HDL_ON.Entity;
+using HDL_ON.UI.CSS;
+using Shared;
 
-//namespace HDL_ON.UI
-//{
-//    public class A_EnvironmentalDataCenter : FrameLayout
-//    {
+namespace HDL_ON.UI
+{
+    public class A_EnvironmentalDataCenter : FrameLayout
+    {
 
-//        #region 鎺т欢闆嗗悎
-//        static A_EnvironmentalDataCenter bodyView;
-//        /// <summary>
-//        /// 妤煎眰鏄剧ず
-//        /// </summary>
-//        Button btnRoom;
-//        /// <summary>
-//        /// 鎴块棿閫夋嫨涓嬫媺鍥炬爣
-//        /// </summary>
-//        Button btnFoorDownIcon;
-//        /// <summary>
-//        /// 鎴块棿閫夋嫨瑙﹀彂鍖哄煙
-//        /// </summary>
-//        Button btnRoomClickRow;
-//        /// <summary>
-//        /// 浼犳劅鍣ㄥ垪琛ㄥ尯鍩�
-//        /// </summary>
-//        FrameLayout sensorListView;
+        #region 鎺т欢闆嗗悎
+        static A_EnvironmentalDataCenter bodyView;
+        /// <summary>
+        /// 妤煎眰鏄剧ず
+        /// </summary>
+        Button btnRoom;
+        /// <summary>
+        /// 鎴块棿閫夋嫨涓嬫媺鍥炬爣
+        /// </summary>
+        Button btnFoorDownIcon;
+        /// <summary>
+        /// 鎴块棿閫夋嫨瑙﹀彂鍖哄煙
+        /// </summary>
+        Button btnRoomClickRow;
+        /// <summary>
+        /// 浼犳劅鍣ㄥ垪琛ㄥ尯鍩�
+        /// </summary>
+        FrameLayout sensorListView;
 
-//        VerticalScrolViewLayout sensorListContentView;
+        VerticalScrolViewLayout sensorListContentView;
 
-//        /// <summary>
-//        /// 澶╂皵鍚嶇О鏂囨湰
-//        /// </summary>
-//        Button btnWatherText;
-//        /// <summary>
-//        /// 婀垮害鏁版嵁鏂囨湰
-//        /// </summary>
-//        Button btnHumidityText;
-//        /// <summary>
-//        /// pm25鏁版嵁鏂囨湰
-//        /// </summary>
-//        Button btnPm25Values;
-//        /// <summary>
-//        /// 椋庨�熸暟鎹枃鏈�
-//        /// </summary>
-//        Button btnFanSpeedValues;
+        /// <summary>
+        /// 澶╂皵鍚嶇О鏂囨湰
+        /// </summary>
+        Button btnWatherText;
+        /// <summary>
+        /// 婀垮害鏁版嵁鏂囨湰
+        /// </summary>
+        Button btnHumidityText;
+        /// <summary>
+        /// pm25鏁版嵁鏂囨湰
+        /// </summary>
+        Button btnPm25Values;
+        /// <summary>
+        /// 椋庨�熸暟鎹枃鏈�
+        /// </summary>
+        Button btnFanSpeedValues;
 
 
 
-//        List<SensorView> sensorViewList = new List<SensorView>();
-//        #endregion
-//        #region 鍖哄煙鍙橀噺
-//        Room room;
+        List<SensorView> sensorViewList = new List<SensorView>();
+        #endregion
+        #region 鍖哄煙鍙橀噺
+        Room room;
 
-//        Sensor sensorTemp = new Sensor();
-//        /// <summary>
-//        /// 浼犳劅鍣ㄥ垎绫诲垪琛�
-//        /// </summary>
-//        Dictionary<string, List<Function>> sensorList = new Dictionary<string, List<Function>>();
-//        #endregion
+        Sensor sensorTemp = new Sensor();
+        /// <summary>
+        /// 浼犳劅鍣ㄥ垎绫诲垪琛�
+        /// </summary>
+        Dictionary<string, List<Function>> sensorList = new Dictionary<string, List<Function>>();
+        #endregion
 
 
-//        public A_EnvironmentalDataCenter()
-//        {
-//            bodyView = this;
-//        }
+        public A_EnvironmentalDataCenter()
+        {
+            bodyView = this;
+        }
 
-//        /// <summary>
-//        /// 鍔犺浇鐣岄潰
-//        /// </summary>
-//        /// <param name="btnCollectionIcon">鏀惰棌鎸夐挳</param>
-//        /// <param name="btnFunctionName">鍔熻兘鍚嶇О淇℃伅鎸夐挳</param>
-//        /// <param name="btnFromFloor">鍔熻兘妤煎眰淇℃伅鎸夐挳</param>
-//        public void LoadPage()
-//        {
-//            bodyView.BackgroundColor = CSS_Color.BackgroundColor;
+        /// <summary>
+        /// 鍔犺浇鐣岄潰
+        /// </summary>
+        /// <param name="btnCollectionIcon">鏀惰棌鎸夐挳</param>
+        /// <param name="btnFunctionName">鍔熻兘鍚嶇О淇℃伅鎸夐挳</param>
+        /// <param name="btnFromFloor">鍔熻兘妤煎眰淇℃伅鎸夐挳</param>
+        public void LoadPage()
+        {
+            bodyView.BackgroundColor = CSS_Color.BackgroundColor;
 
-//            #region 椤堕儴澶╂皵閮ㄥ垎
-//            var topWeatherView = new FrameLayout()
-//            {
-//                Gravity = Gravity.CenterHorizontal,
-//                Y = Application.GetRealHeight(73),
-//                Width = Application.GetRealWidth(361),
-//                Height = Application.GetRealWidth(166),
-//                BackgroundImagePath = "FunctionIcon/EnvirSensor/0.png",
-//            };
-//            bodyView.AddChidren(topWeatherView);
-//            LoadEvent_ChangeWeatherIcon(topWeatherView);
+            #region 椤堕儴澶╂皵閮ㄥ垎
+            var topWeatherView = new FrameLayout()
+            {
+                Gravity = Gravity.CenterHorizontal,
+                Y = Application.GetRealHeight(73),
+                Width = Application.GetRealWidth(361),
+                Height = Application.GetRealWidth(166),
+                BackgroundImagePath = "FunctionIcon/EnvirSensor/0.png",
+            };
+            bodyView.AddChidren(topWeatherView);
+            LoadEvent_ChangeWeatherIcon(topWeatherView);
 
-//            var btnLocationText = new Button()
-//            {
-//                X = Application.GetRealWidth(27),
-//                Width = Application.GetRealWidth(74),
-//                Height = Application.GetRealWidth(44),
-//                TextAlignment = TextAlignment.CenterLeft,
-//                TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
-//                TextColor = CSS_Color.FirstLevelTitleColor,
-//                Text = MainPage.cityInfo.location,
-//            };
-//            topWeatherView.AddChidren(btnLocationText);
+            var btnLocationText = new Button()
+            {
+                X = Application.GetRealWidth(27),
+                Width = Application.GetRealWidth(74),
+                Height = Application.GetRealWidth(44),
+                TextAlignment = TextAlignment.CenterLeft,
+                TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+                TextColor = CSS_Color.FirstLevelTitleColor,
+                Text = MainPage.cityInfo.location,
+            };
+            topWeatherView.AddChidren(btnLocationText);
 
 
-//            var btnTemp = new Button()
-//            {
-//                X = Application.GetRealWidth(21),
-//                Y = Application.GetRealWidth(53),
-//                Width = Application.GetRealWidth(78),
-//                Height = Application.GetRealWidth(68),
-//                TextSize = 60,
-//                IsBold = true,
-//                TextAlignment = TextAlignment.CenterLeft,
-//                TextColor = CSS_Color.FirstLevelTitleColor,
-//                Text = MainPage.cityInfo.temperature,
-//            };
-//            topWeatherView.AddChidren(btnTemp);
+            var btnTemp = new Button()
+            {
+                X = Application.GetRealWidth(21),
+                Y = Application.GetRealWidth(53),
+                Width = Application.GetRealWidth(78),
+                Height = Application.GetRealWidth(68),
+                TextSize = 60,
+                IsBold = true,
+                TextAlignment = TextAlignment.CenterLeft,
+                TextColor = CSS_Color.FirstLevelTitleColor,
+                Text = MainPage.cityInfo.temperature,
+            };
+            topWeatherView.AddChidren(btnTemp);
 
-//            var btnTempUint = new Button()
-//            {
-//                X = Application.GetRealWidth(109),
-//                Y = Application.GetRealWidth(60),
-//                Width = Application.GetRealWidth(20),
-//                Height = Application.GetRealWidth(20),
-//                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
-//                TextColor = CSS_Color.TextualColor,
-//                Text = "掳C",
-//            };
-//            topWeatherView.AddChidren(btnTempUint);
+            var btnTempUint = new Button()
+            {
+                X = Application.GetRealWidth(109),
+                Y = Application.GetRealWidth(60),
+                Width = Application.GetRealWidth(20),
+                Height = Application.GetRealWidth(20),
+                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+                TextColor = CSS_Color.TextualColor,
+                Text = "掳C",
+            };
+            topWeatherView.AddChidren(btnTempUint);
 
 
-//            btnWatherText = new Button()
-//            {
-//                X = Application.GetRealWidth(109),
-//                Y = Application.GetRealWidth(82),
-//                Width = Application.GetRealWidth(200),
-//                Height = Application.GetRealWidth(20),
-//                TextColor = CSS_Color.TextualColor,
-//                TextSize = CSS_FontSize.TextFontSize,
-//                TextAlignment = TextAlignment.CenterLeft,
-//                Text = MainPage.cityInfo.weather
-//            };
-//            topWeatherView.AddChidren(btnWatherText);
+            btnWatherText = new Button()
+            {
+                X = Application.GetRealWidth(109),
+                Y = Application.GetRealWidth(82),
+                Width = Application.GetRealWidth(200),
+                Height = Application.GetRealWidth(20),
+                TextColor = CSS_Color.TextualColor,
+                TextSize = CSS_FontSize.TextFontSize,
+                TextAlignment = TextAlignment.CenterLeft,
+                Text = MainPage.cityInfo.weather
+            };
+            topWeatherView.AddChidren(btnWatherText);
 
-//            var btnTempUpperLimit = new Button()
-//            {
-//                X = Application.GetRealWidth(107),
-//                Y = Application.GetRealWidth(101),
-//                Width = Application.GetRealWidth(16),
-//                Height = Application.GetRealWidth(16),
-//                UnSelectedImagePath = "FunctionIcon/EnvirSensor/UpperLimit.png",
-//            };
-//            topWeatherView.AddChidren(btnTempUpperLimit);
+            var btnTempUpperLimit = new Button()
+            {
+                X = Application.GetRealWidth(107),
+                Y = Application.GetRealWidth(101),
+                Width = Application.GetRealWidth(16),
+                Height = Application.GetRealWidth(16),
+                UnSelectedImagePath = "FunctionIcon/EnvirSensor/UpperLimit.png",
+            };
+            topWeatherView.AddChidren(btnTempUpperLimit);
 
-//            var btnTempUpperLimitText = new Button()
-//            {
-//                X = btnTempUpperLimit.Right,
-//                Y = Application.GetRealWidth(101),
-//                Width = Application.GetRealWidth(42),
-//                Height = Application.GetRealWidth(20),
-//                TextColor = CSS_Color.TextualColor,
-//                TextAlignment = TextAlignment.CenterLeft,
-//                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
-//                Text = $"{MainPage.cityInfo.highestTemperature}掳C",
-//            };
-//            topWeatherView.AddChidren(btnTempUpperLimitText);
+            var btnTempUpperLimitText = new Button()
+            {
+                X = btnTempUpperLimit.Right,
+                Y = Application.GetRealWidth(101),
+                Width = Application.GetRealWidth(42),
+                Height = Application.GetRealWidth(20),
+                TextColor = CSS_Color.TextualColor,
+                TextAlignment = TextAlignment.CenterLeft,
+                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+                Text = $"{MainPage.cityInfo.highestTemperature}掳C",
+            };
+            topWeatherView.AddChidren(btnTempUpperLimitText);
 
-//            var btnTempLowerLimit = new Button()
-//            {
-//                X = Application.GetRealWidth(156),
-//                Y = Application.GetRealWidth(101),
-//                Width = Application.GetRealWidth(16),
-//                Height = Application.GetRealWidth(16),
-//                UnSelectedImagePath = "FunctionIcon/EnvirSensor/LowerLimit.png",
-//            };
-//            topWeatherView.AddChidren(btnTempLowerLimit);
+            var btnTempLowerLimit = new Button()
+            {
+                X = Application.GetRealWidth(156),
+                Y = Application.GetRealWidth(101),
+                Width = Application.GetRealWidth(16),
+                Height = Application.GetRealWidth(16),
+                UnSelectedImagePath = "FunctionIcon/EnvirSensor/LowerLimit.png",
+            };
+            topWeatherView.AddChidren(btnTempLowerLimit);
 
-//            var btnTempLowerLimitText = new Button()
-//            {
-//                X = btnTempLowerLimit.Right,
-//                Y = Application.GetRealWidth(101),
-//                Width = Application.GetRealWidth(42),
-//                Height = Application.GetRealWidth(20),
-//                TextColor = CSS_Color.TextualColor,
-//                TextAlignment = TextAlignment.CenterLeft,
-//                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
-//                Text = $"{MainPage.cityInfo.lowestTemperature}掳C",
-//            };
-//            topWeatherView.AddChidren(btnTempLowerLimitText);
+            var btnTempLowerLimitText = new Button()
+            {
+                X = btnTempLowerLimit.Right,
+                Y = Application.GetRealWidth(101),
+                Width = Application.GetRealWidth(42),
+                Height = Application.GetRealWidth(20),
+                TextColor = CSS_Color.TextualColor,
+                TextAlignment = TextAlignment.CenterLeft,
+                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+                Text = $"{MainPage.cityInfo.lowestTemperature}掳C",
+            };
+            topWeatherView.AddChidren(btnTempLowerLimitText);
 
 
-//            var btnValue = new Button()
-//            {
-//                X = Application.GetRealWidth(27),
-//                Y = Application.GetRealWidth(119),
-//                Width = Application.GetRealWidth(300),
-//                Height = Application.GetRealWidth(34),
-//                TextAlignment = TextAlignment.CenterLeft,
-//                TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
-//                TextColor = CSS_Color.TextualColor,
-//            };
-//            topWeatherView.AddChidren(btnValue);
-//            var valueText = Language.StringByID(StringId.EnvirSensorValueTip);
-//            btnValue.Text = valueText.Replace("{0}", $"{MainPage.cityInfo.humidity}").Replace("{1}", $"{MainPage.cityInfo.pm25}").Replace("{2}", $"{MainPage.cityInfo.windLevel}");
-//            #endregion
+            var btnValue = new Button()
+            {
+                X = Application.GetRealWidth(27),
+                Y = Application.GetRealWidth(119),
+                Width = Application.GetRealWidth(300),
+                Height = Application.GetRealWidth(34),
+                TextAlignment = TextAlignment.CenterLeft,
+                TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+                TextColor = CSS_Color.TextualColor,
+            };
+            topWeatherView.AddChidren(btnValue);
+            var valueText = Language.StringByID(StringId.EnvirSensorValueTip);
+            btnValue.Text = valueText.Replace("{0}", $"{MainPage.cityInfo.humidity}").Replace("{1}", $"{MainPage.cityInfo.pm25}").Replace("{2}", $"{MainPage.cityInfo.windLevel}");
+            #endregion
 
-//            #region contentView
-//            FrameLayout contentView = new FrameLayout()
-//            {
-//                Gravity = Gravity.CenterHorizontal,
-//                Y = Application.GetRealWidth(239),
-//                Height = Application.GetRealHeight(450),
-//            };
-//            bodyView.AddChidren(contentView);
+            #region contentView
+            FrameLayout contentView = new FrameLayout()
+            {
+                Gravity = Gravity.CenterHorizontal,
+                Y = Application.GetRealWidth(239),
+                Height = Application.GetRealHeight(450),
+            };
+            bodyView.AddChidren(contentView);
 
-//            #region 鎴块棿椤堕儴鍒囨崲鏄剧ず鍖哄煙
-//            room = new Room() { roomName = Language.StringByID(StringId.All) };
-//            btnFoorDownIcon = new Button()
-//            {
-//                Width = Application.GetMinRealAverage(16),
-//                Height = Application.GetMinRealAverage(16),
-//                X = Application.GetRealWidth(16),
-//                Y = Application.GetRealHeight(18),
-//                UnSelectedImagePath = "Public/DownIcon.png",
-//            };
-//            contentView.AddChidren(btnFoorDownIcon);
+            #region 鎴块棿椤堕儴鍒囨崲鏄剧ず鍖哄煙
+            room = new Room() { roomName = Language.StringByID(StringId.All) };
+            btnFoorDownIcon = new Button()
+            {
+                Width = Application.GetMinRealAverage(16),
+                Height = Application.GetMinRealAverage(16),
+                X = Application.GetRealWidth(16),
+                Y = Application.GetRealHeight(18),
+                UnSelectedImagePath = "Public/DownIcon.png",
+            };
+            contentView.AddChidren(btnFoorDownIcon);
 
-//            btnRoom = new Button()
-//            {
-//                X = btnFoorDownIcon.Right,
-//                Y = Application.GetRealHeight(18),
-//                Width = Application.GetRealWidth(200),
-//                Height = Application.GetMinRealAverage(16),
-//                TextColor = CSS_Color.FirstLevelTitleColor,
-//                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
-//                TextAlignment = TextAlignment.CenterLeft,
-//                Text = room.roomName,
-//            };
-//            contentView.AddChidren(btnRoom);
+            btnRoom = new Button()
+            {
+                X = btnFoorDownIcon.Right,
+                Y = Application.GetRealHeight(18),
+                Width = Application.GetRealWidth(200),
+                Height = Application.GetMinRealAverage(16),
+                TextColor = CSS_Color.FirstLevelTitleColor,
+                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+                TextAlignment = TextAlignment.CenterLeft,
+                Text = room.roomName,
+            };
+            contentView.AddChidren(btnRoom);
 
-//            btnRoomClickRow = new Button()
-//            {
-//                Height = Application.GetRealHeight(40),
-//            };
-//            contentView.AddChidren(btnRoomClickRow);
+            btnRoomClickRow = new Button()
+            {
+                Height = Application.GetRealHeight(40),
+            };
+            contentView.AddChidren(btnRoomClickRow);
 
-//            #endregion
-//            sensorListContentView = new VerticalScrolViewLayout()
-//            {
-//                Gravity = Gravity.CenterHorizontal,
-//                Y = Application.GetRealHeight(50),
-//                Height = Application.GetRealHeight(400),
-//                Radius = (uint)Application.GetRealWidth(12),
-//                BorderColor = 0x00000000,
-//                BorderWidth = 0,
-//            };
-//            contentView.AddChidren(sensorListContentView);
-//            sensorListView = new FrameLayout();
-//            sensorListContentView.AddChidren(sensorListView);
+            #endregion
+            sensorListContentView = new VerticalScrolViewLayout()
+            {
+                Gravity = Gravity.CenterHorizontal,
+                Y = Application.GetRealHeight(50),
+                Height = Application.GetRealHeight(400),
+                Radius = (uint)Application.GetRealWidth(12),
+                BorderColor = 0x00000000,
+                BorderWidth = 0,
+            };
+            contentView.AddChidren(sensorListContentView);
+            sensorListView = new FrameLayout();
+            sensorListContentView.AddChidren(sensorListView);
 
-//            LoadSenesorList();
+            LoadSenesorList();
 
 
 
-//            #endregion
+            #endregion
 
-//            //LoadEventList();
-//            LoadDialog_ChangeRoom();
+            //LoadEventList();
+            LoadDialog_ChangeRoom();
 
-//            new TopViewDiv(bodyView, Language.StringByID(StringId.EnvironmentalScience)).LoadTopView();
+            new TopViewDiv(bodyView, Language.StringByID(StringId.EnvironmentalScience)).LoadTopView();
 
-//        }
+        }
 
-//        /// <summary>
-//        /// 鍔犺浇浼犳劅鍣ㄥ垪琛�
-//        /// </summary>
-//        void LoadSenesorList()
-//        {
-//            sensorListView.RemoveAll();
-//            sensorViewList.Clear();
+        /// <summary>
+        /// 鍔犺浇浼犳劅鍣ㄥ垪琛�
+        /// </summary>
+        void LoadSenesorList()
+        {
+            sensorListView.RemoveAll();
+            sensorViewList.Clear();
 
-//            sensorList = new Dictionary<string, List<Function>>();
-//            int index = 0;
-//            foreach (var sensor in FunctionList.List.GetEnvirSensorsList())
-//            {
-//                foreach (var sensorAttr in sensor.attributes)
-//                {
-//                    if (SPK.EnvironSpkList().Contains(sensorAttr.key) || sensorAttr.key == "value")
-//                    {
-//                        var flag = sensorAttr.key;
-//                        if (flag == "value")
-//                        {
-//                            flag = sensor.spk.Replace("sensor.", "");
-//                        }
-//                        var newTemp = new Function()
-//                        {
-//                            name = sensor.name,
-//                            sid = sensor.sid,
-//                            deviceId = sensor.deviceId,
-//                            roomIds = sensor.roomIds,
-//                            spk = "sensor."+ flag,
-//                            attributes = new List<FunctionAttributes> { new FunctionAttributes { key = "value", state = sensorAttr.state, curValue = sensorAttr.curValue }
-//                            , new FunctionAttributes {key = "spk",state = sensorAttr.key,curValue = sensorAttr.key } }
-//                        };
-//                        //鍒嗙被鍔犲叆闆嗗悎
-//                        if (sensorList.ContainsKey(flag))
-//                        {
-//                            sensorList[flag].Add(newTemp);
-//                        }
-//                        else
-//                        {
-//                            sensorList.Add(flag, new List<Function>() { newTemp });
-//                        }
-//                    }
-//                }
+            sensorList = new Dictionary<string, List<Function>>();
+            int index = 0;
+            foreach (var sensor in FunctionList.List.GetEnvirSensorsList())
+            {
+                foreach (var sensorAttr in sensor.attributes)
+                {
+                    if (SPK.EnvironSpkList().Contains(sensorAttr.key) || sensorAttr.key == "value")
+                    {
+                        var flag = sensorAttr.key;
+                        if (flag == "value")
+                        {
+                            flag = sensor.spk.Replace("sensor.", "");
+                        }
+                        var newTemp = new Function()
+                        {
+                            name = sensor.name,
+                            sid = sensor.sid,
+                            deviceId = sensor.deviceId,
+                            roomIds = sensor.roomIds,
+                            spk = "sensor."+ flag,
+                            attributes = new List<FunctionAttributes> { new FunctionAttributes { key = "value", state = sensorAttr.state, curValue = sensorAttr.curValue }
+                            , new FunctionAttributes {key = "spk",state = sensorAttr.key,curValue = sensorAttr.key } }
+                        };
+                        //鍒嗙被鍔犲叆闆嗗悎
+                        if (sensorList.ContainsKey(flag))
+                        {
+                            sensorList[flag].Add(newTemp);
+                        }
+                        else
+                        {
+                            sensorList.Add(flag, new List<Function>() { newTemp });
+                        }
+                    }
+                }
 
-//                new System.Threading.Thread(() =>
-//                {
-//                    Control.Ins.SendReadCommand(sensor);
-//                })
-//                { IsBackground = true }.Start();
-//            }
+                new System.Threading.Thread(() =>
+                {
+                    Control.Ins.SendReadCommand(sensor);
+                })
+                { IsBackground = true }.Start();
+            }
 
 
-//            foreach(var sensorAssemble in sensorList)
-//            {
-//                var showList = sensorAssemble.Value;
-//                if(room.roomId != "")
-//                {
-//                    showList = sensorAssemble.Value.FindAll((obj) => obj.roomIds.Contains(room.roomId));
-//                }
-//                if (showList != null && showList.Count > 0)
-//                {
-//                    var sensorView = new SensorView(showList,index);
-//                    sensorListView.AddChidren(sensorView);
-//                    sensorViewList.Add(sensorView);
-//                    sensorView.LoadView();
+            foreach(var sensorAssemble in sensorList)
+            {
+                var showList = sensorAssemble.Value;
+                if(room.roomId != "")
+                {
+                    showList = sensorAssemble.Value.FindAll((obj) => obj.roomIds.Contains(room.roomId));
+                }
+                if (showList != null && showList.Count > 0)
+                {
+                    var sensorView = new SensorView(showList,index);
+                    sensorListView.AddChidren(sensorView);
+                    sensorViewList.Add(sensorView);
+                    sensorView.LoadView();
 
-//                    index++;
-//                }
-//            }
-//            sensorListView.Height = Application.GetRealWidth(124 * (index + 1) / 2);
-//        }
+                    index++;
+                }
+            }
+            sensorListView.Height = Application.GetRealWidth(124 * (index + 1) / 2);
+        }
 
 
-//        /// <summary>
-//        /// 鎴块棿鍒楄〃鐐瑰嚮浜嬩欢
-//        /// </summary>
-//        void LoadDialog_ChangeRoom()
-//        {
-//            EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
-//            {
-//                var dialog = new Dialog();
-//                var dialogBody = new FrameLayout();
-//                dialog.AddChidren(dialogBody);
-//                dialogBody.MouseUpEventHandler += (sender1, e1) =>
-//                {
-//                    dialog.Close();
-//                };
+        /// <summary>
+        /// 鎴块棿鍒楄〃鐐瑰嚮浜嬩欢
+        /// </summary>
+        void LoadDialog_ChangeRoom()
+        {
+            EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
+            {
+                var dialog = new Dialog();
+                var dialogBody = new FrameLayout();
+                dialog.AddChidren(dialogBody);
+                dialogBody.MouseUpEventHandler += (sender1, e1) =>
+                {
+                    dialog.Close();
+                };
 
-//                var dispalyView = new FrameLayout()
-//                {
-//                    X = Application.GetRealWidth(10),
-//                    Y = Application.GetRealHeight(266),
-//                    Width = Application.GetRealWidth(160),
-//                    Height = Application.GetRealHeight(110),
-//                    BackgroundImagePath = "PersonalCenter/HomeList1bg.png",
-//                };
-//                dialogBody.AddChidren(dispalyView);
+                var dispalyView = new FrameLayout()
+                {
+                    X = Application.GetRealWidth(10),
+                    Y = Application.GetRealHeight(266),
+                    Width = Application.GetRealWidth(160),
+                    Height = Application.GetRealHeight(110),
+                    BackgroundImagePath = "PersonalCenter/HomeList1bg.png",
+                };
+                dialogBody.AddChidren(dispalyView);
 
-//                var contentView = new VerticalScrolViewLayout()
-//                {
-//                    X = Application.GetRealWidth(8),
-//                    Y = Application.GetRealHeight(15),
-//                    Width = Application.GetRealWidth(150),
-//                    Height = Application.GetRealHeight(45 * 2),
-//                    ScrollEnabled = false
-//                };
-//                dispalyView.AddChidren(contentView);
+                var contentView = new VerticalScrolViewLayout()
+                {
+                    X = Application.GetRealWidth(8),
+                    Y = Application.GetRealHeight(15),
+                    Width = Application.GetRealWidth(150),
+                    Height = Application.GetRealHeight(45 * 2),
+                    ScrollEnabled = false
+                };
+                dispalyView.AddChidren(contentView);
 
-//                if (SpatialInfo.CurrentSpatial.RoomList.Count < 2)
-//                {
-//                }
-//                else if (SpatialInfo.CurrentSpatial.RoomList.Count < 3)
-//                {
-//                    dispalyView = new FrameLayout()
-//                    {
-//                        X = Application.GetRealWidth(10),
-//                        Y = Application.GetRealHeight(266),
-//                        Width = Application.GetRealWidth(160),
-//                        Height = Application.GetRealHeight(155),
-//                        BackgroundImagePath = "PersonalCenter/HomeList2bg.png",
-//                    };
-//                    dialogBody.AddChidren(dispalyView);
+                if (SpatialInfo.CurrentSpatial.RoomList.Count < 2)
+                {
+                }
+                else if (SpatialInfo.CurrentSpatial.RoomList.Count < 3)
+                {
+                    dispalyView = new FrameLayout()
+                    {
+                        X = Application.GetRealWidth(10),
+                        Y = Application.GetRealHeight(266),
+                        Width = Application.GetRealWidth(160),
+                        Height = Application.GetRealHeight(155),
+                        BackgroundImagePath = "PersonalCenter/HomeList2bg.png",
+                    };
+                    dialogBody.AddChidren(dispalyView);
 
-//                    contentView.Height = Application.GetRealHeight(45 * 3);
-//                    dispalyView.AddChidren(contentView);
-//                }
-//                else if (SpatialInfo.CurrentSpatial.RoomList.Count < 4)
-//                {
-//                    dispalyView = new FrameLayout()
-//                    {
-//                        X = Application.GetRealWidth(10),
-//                        Y = Application.GetRealHeight(266),
-//                        Width = Application.GetRealWidth(160),
-//                        Height = Application.GetRealHeight(200),
-//                        BackgroundImagePath = "PersonalCenter/HomeList3bg.png",
-//                    };
-//                    dialogBody.AddChidren(dispalyView);
+                    contentView.Height = Application.GetRealHeight(45 * 3);
+                    dispalyView.AddChidren(contentView);
+                }
+                else if (SpatialInfo.CurrentSpatial.RoomList.Count < 4)
+                {
+                    dispalyView = new FrameLayout()
+                    {
+                        X = Application.GetRealWidth(10),
+                        Y = Application.GetRealHeight(266),
+                        Width = Application.GetRealWidth(160),
+                        Height = Application.GetRealHeight(200),
+                        BackgroundImagePath = "PersonalCenter/HomeList3bg.png",
+                    };
+                    dialogBody.AddChidren(dispalyView);
 
-//                    contentView.Height = Application.GetRealHeight(45 * 4);
-//                    dispalyView.AddChidren(contentView);
-//                }
-//                else
-//                {
-//                    dispalyView = new FrameLayout()
-//                    {
-//                        X = Application.GetRealWidth(10),
-//                        Y = Application.GetRealHeight(266),
-//                        Width = Application.GetRealWidth(160),
-//                        Height = Application.GetRealHeight(245),
-//                        BackgroundImagePath = "PersonalCenter/HomeList4bg.png",
-//                    };
-//                    dialogBody.AddChidren(dispalyView);
+                    contentView.Height = Application.GetRealHeight(45 * 4);
+                    dispalyView.AddChidren(contentView);
+                }
+                else
+                {
+                    dispalyView = new FrameLayout()
+                    {
+                        X = Application.GetRealWidth(10),
+                        Y = Application.GetRealHeight(266),
+                        Width = Application.GetRealWidth(160),
+                        Height = Application.GetRealHeight(245),
+                        BackgroundImagePath = "PersonalCenter/HomeList4bg.png",
+                    };
+                    dialogBody.AddChidren(dispalyView);
 
-//                    contentView.Height = Application.GetRealHeight(45 * 5);
-//                    contentView.ScrollEnabled = true;
-//                    dispalyView.AddChidren(contentView);
-//                }
+                    contentView.Height = Application.GetRealHeight(45 * 5);
+                    contentView.ScrollEnabled = true;
+                    dispalyView.AddChidren(contentView);
+                }
 
 
-//                var showListRoom = new List<Room>();
-//                showListRoom.Add(new Room() { roomName = Language.StringByID(StringId.All) });
-//                showListRoom.AddRange(SpatialInfo.CurrentSpatial.RoomList);
+                var showListRoom = new List<Room>();
+                showListRoom.Add(new Room() { roomName = Language.StringByID(StringId.All) });
+                showListRoom.AddRange(SpatialInfo.CurrentSpatial.RoomList);
 
-//                foreach (var roomTemp in showListRoom)
-//                {
-//                    string roomName = roomTemp.roomName;
-//                    var btnRoomName = new Button()
-//                    {
-//                        Gravity = Gravity.CenterHorizontal,
-//                        Width = Application.GetRealWidth(112),
-//                        Height = Application.GetRealHeight(44),
-//                        TextAlignment = TextAlignment.CenterLeft,
-//                        TextColor = CSS_Color.FirstLevelTitleColor,
-//                        SelectedTextColor = CSS_Color.MainColor,
-//                        Text = roomName,
-//                        TextSize = CSS_FontSize.SubheadingFontSize,
-//                        IsSelected = btnRoom.Text == roomName,
-//                        IsMoreLines = true,
-//                        Tag = roomName
-//                    };
-//                    contentView.AddChidren(btnRoomName);
+                foreach (var roomTemp in showListRoom)
+                {
+                    string roomName = roomTemp.roomName;
+                    var btnRoomName = new Button()
+                    {
+                        Gravity = Gravity.CenterHorizontal,
+                        Width = Application.GetRealWidth(112),
+                        Height = Application.GetRealHeight(44),
+                        TextAlignment = TextAlignment.CenterLeft,
+                        TextColor = CSS_Color.FirstLevelTitleColor,
+                        SelectedTextColor = CSS_Color.MainColor,
+                        Text = roomName,
+                        TextSize = CSS_FontSize.SubheadingFontSize,
+                        IsSelected = btnRoom.Text == roomName,
+                        IsMoreLines = true,
+                        Tag = roomName
+                    };
+                    contentView.AddChidren(btnRoomName);
 
-//                    btnRoomName.MouseUpEventHandler += (senderH, en) =>
-//                    {
-//                        dialog.Close();
-//                        btnRoom.Text = roomName;
-//                        room = roomTemp;
-//                        LoadSenesorList();
-//                    };
-//                }
+                    btnRoomName.MouseUpEventHandler += (senderH, en) =>
+                    {
+                        dialog.Close();
+                        btnRoom.Text = roomName;
+                        room = roomTemp;
+                        LoadSenesorList();
+                    };
+                }
 
-//                dialog.Show();
-//            };
+                dialog.Show();
+            };
 
-//            btnRoomClickRow.MouseUpEventHandler = eventHandler;
-//            //btnFoorDownIcon.MouseUpEventHandler = eventHandler;
-//        }
+            btnRoomClickRow.MouseUpEventHandler = eventHandler;
+            //btnFoorDownIcon.MouseUpEventHandler = eventHandler;
+        }
 
 
 
 
 
-//        #region event
+        #region event
 
-//        public static void LoadEvent_UpdataStatus(Function updateTemp)
-//        {
-//            Application.RunOnMainThread(() =>
-//            {
-//                try
-//                {
-//                    if (bodyView != null)
-//                    {
-//                        foreach (var sensorAttr in updateTemp.attributes)
-//                        {
-//                            if (SPK.EnvironSpkList().Contains(sensorAttr.key) || sensorAttr.key == "value")
-//                            {
-//                                var flag = sensorAttr.key;
-//                                if (flag == "value")
-//                                {
-//                                    flag = updateTemp.spk.Replace("sensor.", "");
-//                                }
+        public static void LoadEvent_UpdataStatus(Function updateTemp)
+        {
+            Application.RunOnMainThread(() =>
+            {
+                try
+                {
+                    if (bodyView != null)
+                    {
+                        foreach (var sensorAttr in updateTemp.attributes)
+                        {
+                            if (SPK.EnvironSpkList().Contains(sensorAttr.key) || sensorAttr.key == "value")
+                            {
+                                var flag = sensorAttr.key;
+                                if (flag == "value")
+                                {
+                                    flag = updateTemp.spk.Replace("sensor.", "");
+                                }
 
-//                                foreach (var view in bodyView.sensorViewList)
-//                                {
-//                                    if (view.Tag.ToString() == flag)
-//                                    {
-//                                        view.UpdataStatus(flag,updateTemp.sid, sensorAttr.state);
-//                                    }
-//                                }
+                                foreach (var view in bodyView.sensorViewList)
+                                {
+                                    if (view.Tag.ToString() == flag)
+                                    {
+                                        view.UpdataStatus(flag,updateTemp.sid, sensorAttr.state);
+                                    }
+                                }
 
-//                            }
-//                        }
+                            }
+                        }
 
-//                    }
-//                }
-//                catch (Exception ex)
-//                {
-//                    MainPage.Log($"鏇存柊鐜浼犳劅鍣ㄧ晫闈㈠紓甯�:{ex.Message}");
-//                }
-//            });
-//        }
+                    }
+                }
+                catch (Exception ex)
+                {
+                    MainPage.Log($"鏇存柊鐜浼犳劅鍣ㄧ晫闈㈠紓甯�:{ex.Message}");
+                }
+            });
+        }
 
-//        void LoadEvent_ChangeWeatherIcon(FrameLayout view)
-//        {
+        void LoadEvent_ChangeWeatherIcon(FrameLayout view)
+        {
 
-//            switch (MainPage.cityInfo.weather)
-//            {
-//                case "鏅�":
-//                case "Sunny":
-//                case "鏅村ぉ":
-//                case "澶╂櫞":
-//                case "Clear":
-//                case "澶ч儴鏅存湕":
-//                case "Mostly Sunny":
-//                case "鏅存檪澶氶洸":
-//                case "闄藉厜鍏呮矝":
-//                case "Mostly Clear":
-//                    view.BackgroundImagePath = "FunctionIcon/EnvirSensor/0.png";
-//                    break;
-//                case "澶氫簯":
-//                case "Cloudy":
-//                case "澶氶洸":
-//                case "灏戜簯":
-//                case "Partly Cloudy":
-//                case "灏戦洸":
-//                    view.BackgroundImagePath = "FunctionIcon/EnvirSensor/1.png";
-//                    break;
-//                case "闃�":
-//                case "Overcast":
-//                case "闄板ぉ":
-//                    view.BackgroundImagePath = "FunctionIcon/EnvirSensor/2.png";
-//                    break;
-//                case "闃甸洦":
-//                case "Showers":
-//                case "闄i洦":
-//                case "椹熼洦":
-//                case "灞�閮ㄩ樀闆�":
-//                case "Scattered Showers":
-//                case "灞�鍦伴櫍闆�":
-//                case "灞�閮ㄥ湴鍗�鎬ч闆�":
-//                case "灏忛樀闆�":
-//                case "Light Showers":
-//                case "灏忛櫍闆�":
-//                case "闆舵暎椹熼洦":
-//                case "寮洪樀闆�":
-//                case "Heavy Showers":
-//                case "寮烽櫍闆�":
-//                case "闁撲腑鏈夐闆�":
-//                    view.BackgroundImagePath = "FunctionIcon/EnvirSensor/3.png";
-//                    break;
-//                case "闃甸洩":
-//                case "Snow Showers":
-//                case "闄i洩":
-//                case "椹熼洩":
-//                case "灏忛樀闆�":
-//                case "Light Snow Showers":
-//                case "灏忛櫍闆�":
-//                case "闆舵暎椹熼洩":
-//                    view.BackgroundImagePath = "FunctionIcon/EnvirSensor/13.png";
-//                    break;
-//                case "闆�":
-//                case "Fog":
-//                case "闇�":
-//                case "钖勯湩":
-//                case "鍐婚浘":
-//                case "Freezing Fog":
-//                case "鍑嶉湩":
-//                    view.BackgroundImagePath = "FunctionIcon/EnvirSensor/18.png";
-//                    break;
-//                case "娌欏皹鏆�":
-//                case "Sandstorm":
-//                case "娌欏〉鏆�":
-//                case "寮烘矙灏樻毚":
-//                case "Heavy Sandstorm":
-//                case "寮锋矙濉垫毚":
-//                    view.BackgroundImagePath = "FunctionIcon/EnvirSensor/20.png";
-//                    break;
-//                case "娴皹":
-//                case "Dust":
-//                case "娴〉":
-//                case "灏樺嵎椋�":
-//                case "Dust Storm":
-//                case "濉垫嵅棰�":
-//                case "鎵矙":
-//                case "Sand":
-//                case "鎻氭矙":
-//                    view.BackgroundImagePath = "FunctionIcon/EnvirSensor/29.png";
-//                    break;
-//                case "闇�":
-//                case "Haze":
-//                case "鐓欓湠":
-//                    view.BackgroundImagePath = "FunctionIcon/EnvirSensor/45.png";
-//                    break;
-//                case "闆烽樀闆�":
-//                case "Thundershower":
-//                case "闆烽櫍闆�":
-//                case "闆烽洦":
-//                case "闆风數":
-//                case "Lightning":
-//                case "闆烽浕":
-//                case "闆锋毚":
-//                case "Thunderstorm":
-//                    view.BackgroundImagePath = "FunctionIcon/EnvirSensor/4.png";
-//                    break;
-//                case "闆烽樀闆ㄤ即鏈夊啺闆�":
-//                case "Thundershower with Hail":
-//                case "闆烽櫍闆ㄤ即鏈夊啺闆�":
-//                case "闆烽洦浼存湁鍐伴浌":
-//                case "鍐伴浌":
-//                case "Hail":
-//                case "鍐伴拡":
-//                case "Needle Ice":
-//                case "鍐伴嚌":
-//                case "鍐扮矑":
-//                case "Icy":
-//                    view.BackgroundImagePath = "FunctionIcon/EnvirSensor/5.png";
-//                    break;
-//                case "闆ㄥす闆�":
-//                case "Sleet":
-//                case "闆ㄥぞ闆�":
-//                    view.BackgroundImagePath = "FunctionIcon/EnvirSensor/6.png";
-//                    break;
-//                case "灏忛洦":
-//                case "Light Rain":
-//                    view.BackgroundImagePath = "FunctionIcon/EnvirSensor/3.png";
-//                    break;
-//                case "涓洦":
-//                case "Rain":
-//                case "灏忓埌涓洦":
-//                case "闆�":
-//                    view.BackgroundImagePath = "FunctionIcon/EnvirSensor/3.png";
-//                    break;
-//                case "澶ч洦":
-//                case "Heavy Rain":
-//                case "涓埌澶ч洦":
-//                    view.BackgroundImagePath = "FunctionIcon/EnvirSensor/3.png";
-//                    break;
-//                case "鏆撮洦":
-//                case "Rainstorm":
-//                case "璞洦":
-//                case "澶ф毚闆�":
-//                case "Heavy Rainstorm":
-//                case "澶ц豹闆�":
-//                case "鐗瑰ぇ鏆撮洦":
-//                case "Extreme Rainstorm":
-//                case "瓒呭ぇ璞洦":
-//                case "澶у埌鏆撮洦":
-//                    view.BackgroundImagePath = "FunctionIcon/EnvirSensor/3.png";
-//                    break;
-//                case "灏忛洩":
-//                case "Light Snow":
-//                    view.BackgroundImagePath = "FunctionIcon/EnvirSensor/13.png";
-//                    break;
-//                case "闆�":
-//                case "涓洩":
-//                case "灏忓埌涓洩":
-//                case "Snow":
-//                    view.BackgroundImagePath = "FunctionIcon/EnvirSensor/13.png";
-//                    break;
-//                case "澶ч洩":
-//                case "Heavy Snow":
-//                    view.BackgroundImagePath = "FunctionIcon/EnvirSensor/13.png";
-//                    break;
-//                case "鏆撮洩":
-//                case "Blizzard":
-//                    view.BackgroundImagePath = "FunctionIcon/EnvirSensor/13.png";
-//                    break;
-//                case "鍐婚洦":
-//                case "Freezing Rain":
-//                case "鍑嶉洦":
-//                    view.BackgroundImagePath = "FunctionIcon/EnvirSensor/6.png";
-//                    break;
-//            }
-//        }
+            switch (MainPage.cityInfo.weather)
+            {
+                case "鏅�":
+                case "Sunny":
+                case "鏅村ぉ":
+                case "澶╂櫞":
+                case "Clear":
+                case "澶ч儴鏅存湕":
+                case "Mostly Sunny":
+                case "鏅存檪澶氶洸":
+                case "闄藉厜鍏呮矝":
+                case "Mostly Clear":
+                    view.BackgroundImagePath = "FunctionIcon/EnvirSensor/0.png";
+                    break;
+                case "澶氫簯":
+                case "Cloudy":
+                case "澶氶洸":
+                case "灏戜簯":
+                case "Partly Cloudy":
+                case "灏戦洸":
+                    view.BackgroundImagePath = "FunctionIcon/EnvirSensor/1.png";
+                    break;
+                case "闃�":
+                case "Overcast":
+                case "闄板ぉ":
+                    view.BackgroundImagePath = "FunctionIcon/EnvirSensor/2.png";
+                    break;
+                case "闃甸洦":
+                case "Showers":
+                case "闄i洦":
+                case "椹熼洦":
+                case "灞�閮ㄩ樀闆�":
+                case "Scattered Showers":
+                case "灞�鍦伴櫍闆�":
+                case "灞�閮ㄥ湴鍗�鎬ч闆�":
+                case "灏忛樀闆�":
+                case "Light Showers":
+                case "灏忛櫍闆�":
+                case "闆舵暎椹熼洦":
+                case "寮洪樀闆�":
+                case "Heavy Showers":
+                case "寮烽櫍闆�":
+                case "闁撲腑鏈夐闆�":
+                    view.BackgroundImagePath = "FunctionIcon/EnvirSensor/3.png";
+                    break;
+                case "闃甸洩":
+                case "Snow Showers":
+                case "闄i洩":
+                case "椹熼洩":
+                case "灏忛樀闆�":
+                case "Light Snow Showers":
+                case "灏忛櫍闆�":
+                case "闆舵暎椹熼洩":
+                    view.BackgroundImagePath = "FunctionIcon/EnvirSensor/13.png";
+                    break;
+                case "闆�":
+                case "Fog":
+                case "闇�":
+                case "钖勯湩":
+                case "鍐婚浘":
+                case "Freezing Fog":
+                case "鍑嶉湩":
+                    view.BackgroundImagePath = "FunctionIcon/EnvirSensor/18.png";
+                    break;
+                case "娌欏皹鏆�":
+                case "Sandstorm":
+                case "娌欏〉鏆�":
+                case "寮烘矙灏樻毚":
+                case "Heavy Sandstorm":
+                case "寮锋矙濉垫毚":
+                    view.BackgroundImagePath = "FunctionIcon/EnvirSensor/20.png";
+                    break;
+                case "娴皹":
+                case "Dust":
+                case "娴〉":
+                case "灏樺嵎椋�":
+                case "Dust Storm":
+                case "濉垫嵅棰�":
+                case "鎵矙":
+                case "Sand":
+                case "鎻氭矙":
+                    view.BackgroundImagePath = "FunctionIcon/EnvirSensor/29.png";
+                    break;
+                case "闇�":
+                case "Haze":
+                case "鐓欓湠":
+                    view.BackgroundImagePath = "FunctionIcon/EnvirSensor/45.png";
+                    break;
+                case "闆烽樀闆�":
+                case "Thundershower":
+                case "闆烽櫍闆�":
+                case "闆烽洦":
+                case "闆风數":
+                case "Lightning":
+                case "闆烽浕":
+                case "闆锋毚":
+                case "Thunderstorm":
+                    view.BackgroundImagePath = "FunctionIcon/EnvirSensor/4.png";
+                    break;
+                case "闆烽樀闆ㄤ即鏈夊啺闆�":
+                case "Thundershower with Hail":
+                case "闆烽櫍闆ㄤ即鏈夊啺闆�":
+                case "闆烽洦浼存湁鍐伴浌":
+                case "鍐伴浌":
+                case "Hail":
+                case "鍐伴拡":
+                case "Needle Ice":
+                case "鍐伴嚌":
+                case "鍐扮矑":
+                case "Icy":
+                    view.BackgroundImagePath = "FunctionIcon/EnvirSensor/5.png";
+                    break;
+                case "闆ㄥす闆�":
+                case "Sleet":
+                case "闆ㄥぞ闆�":
+                    view.BackgroundImagePath = "FunctionIcon/EnvirSensor/6.png";
+                    break;
+                case "灏忛洦":
+                case "Light Rain":
+                    view.BackgroundImagePath = "FunctionIcon/EnvirSensor/3.png";
+                    break;
+                case "涓洦":
+                case "Rain":
+                case "灏忓埌涓洦":
+                case "闆�":
+                    view.BackgroundImagePath = "FunctionIcon/EnvirSensor/3.png";
+                    break;
+                case "澶ч洦":
+                case "Heavy Rain":
+                case "涓埌澶ч洦":
+                    view.BackgroundImagePath = "FunctionIcon/EnvirSensor/3.png";
+                    break;
+                case "鏆撮洦":
+                case "Rainstorm":
+                case "璞洦":
+                case "澶ф毚闆�":
+                case "Heavy Rainstorm":
+                case "澶ц豹闆�":
+                case "鐗瑰ぇ鏆撮洦":
+                case "Extreme Rainstorm":
+                case "瓒呭ぇ璞洦":
+                case "澶у埌鏆撮洦":
+                    view.BackgroundImagePath = "FunctionIcon/EnvirSensor/3.png";
+                    break;
+                case "灏忛洩":
+                case "Light Snow":
+                    view.BackgroundImagePath = "FunctionIcon/EnvirSensor/13.png";
+                    break;
+                case "闆�":
+                case "涓洩":
+                case "灏忓埌涓洩":
+                case "Snow":
+                    view.BackgroundImagePath = "FunctionIcon/EnvirSensor/13.png";
+                    break;
+                case "澶ч洩":
+                case "Heavy Snow":
+                    view.BackgroundImagePath = "FunctionIcon/EnvirSensor/13.png";
+                    break;
+                case "鏆撮洩":
+                case "Blizzard":
+                    view.BackgroundImagePath = "FunctionIcon/EnvirSensor/13.png";
+                    break;
+                case "鍐婚洦":
+                case "Freezing Rain":
+                case "鍑嶉洦":
+                    view.BackgroundImagePath = "FunctionIcon/EnvirSensor/6.png";
+                    break;
+            }
+        }
 
-//        #endregion
-//    }
+        #endregion
+    }
 
 
 
 
-//    /// <summary>
-//    /// 鍔犺浇浼犳劅鍣ㄥ垪琛�
-//    /// </summary>
-//    public class SensorView :FrameLayout
-//    {
-//        Button btnSensorValues;
-//        Button btnLevel;
+    /// <summary>
+    /// 鍔犺浇浼犳劅鍣ㄥ垪琛�
+    /// </summary>
+    public class SensorView :FrameLayout
+    {
+        Button btnSensorValues;
+        Button btnLevel;
 
-//        List<Function> sensorList = new List<Function>();
-//        string imagePath = "";
-//        string iconPath = "";
-//        string sensorSPK = "";
-//        Sensor sensorTemp = new Sensor();
-//        double assembleValues = 0.0;
+        List<Function> sensorList = new List<Function>();
+        string imagePath = "";
+        string iconPath = "";
+        string sensorSPK = "";
+        Sensor sensorTemp = new Sensor();
+        double assembleValues = 0.0;
 
-//        public SensorView(List<Function> showList, int index)//,,string spk,double value)
-//        {
-//            sensorList = showList;
-//            sensorSPK = showList[0].spk;
-//            foreach (var s in showList)
-//            {
-//                assembleValues += Convert.ToDouble(s.GetAttrState("value").Replace(",", "."));
-//            }
+        public SensorView(List<Function> showList, int index)//,,string spk,double value)
+        {
+            sensorList = showList;
+            sensorSPK = showList[0].spk;
+            foreach (var s in showList)
+            {
+                assembleValues += Convert.ToDouble(s.GetAttrState("value").Replace(",", "."));
+            }
 
 
-//            this.X = Application.GetRealWidth(7);
-//            this.Width = Application.GetRealWidth(182);
-//            this.Height = Application.GetRealWidth(124);
-//            this.Y = Application.GetRealWidth(124 * (index / 2));
-//            this.Tag = sensorSPK;
+            this.X = Application.GetRealWidth(7);
+            this.Width = Application.GetRealWidth(182);
+            this.Height = Application.GetRealWidth(124);
+            this.Y = Application.GetRealWidth(124 * (index / 2));
+            this.Tag = sensorSPK;
 
-//            if (index % 2 != 0)
-//            {
-//                this.X = Application.GetRealWidth(189);
-//            }
+            if (index % 2 != 0)
+            {
+                this.X = Application.GetRealWidth(189);
+            }
 
 
-//            switch (sensorSPK)
-//            {
-//                case SPK.SensorCO2:
-//                    imagePath = "FunctionIcon/EnvirSensor/Co2Bg.png";
-//                    iconPath = "FunctionIcon/EnvirSensor/Co2Icon.png";
-//                    break;
-//                case SPK.SensorPm25:
-//                    imagePath = "FunctionIcon/EnvirSensor/Pm25Bg.png";
-//                    iconPath = "FunctionIcon/EnvirSensor/Pm25Icon.png";
-//                    break;
-//                case SPK.SensorTVOC:
-//                    imagePath = "FunctionIcon/EnvirSensor/TvocBg.png";
-//                    iconPath = "FunctionIcon/EnvirSensor/TvocIcon.png";
-//                    break;
-//                case SPK.SensorHumidity:
-//                    imagePath = "FunctionIcon/EnvirSensor/HumidityBg.png";
-//                    iconPath = "FunctionIcon/EnvirSensor/HumidityIcon.png";
-//                    break;
-//                case SPK.SensorTemperature:
-//                    imagePath = "FunctionIcon/EnvirSensor/TempBg.png";
-//                    iconPath = "FunctionIcon/EnvirSensor/TempIcon.png";
-//                    break;
-//                case SPK.SensorHcho:
-//                    imagePath = "FunctionIcon/EnvirSensor/HchoBg.png";
-//                    iconPath = "FunctionIcon/EnvirSensor/HchoIcon.png";
-//                    break;
-//            }
-//        }
+            switch (sensorSPK)
+            {
+                case SPK.SensorCO2:
+                    imagePath = "FunctionIcon/EnvirSensor/Co2Bg.png";
+                    iconPath = "FunctionIcon/EnvirSensor/Co2Icon.png";
+                    break;
+                case SPK.SensorPm25:
+                    imagePath = "FunctionIcon/EnvirSensor/Pm25Bg.png";
+                    iconPath = "FunctionIcon/EnvirSensor/Pm25Icon.png";
+                    break;
+                case SPK.SensorTVOC:
+                    imagePath = "FunctionIcon/EnvirSensor/TvocBg.png";
+                    iconPath = "FunctionIcon/EnvirSensor/TvocIcon.png";
+                    break;
+                case SPK.SensorHumidity:
+                    imagePath = "FunctionIcon/EnvirSensor/HumidityBg.png";
+                    iconPath = "FunctionIcon/EnvirSensor/HumidityIcon.png";
+                    break;
+                case SPK.SensorTemperature:
+                    imagePath = "FunctionIcon/EnvirSensor/TempBg.png";
+                    iconPath = "FunctionIcon/EnvirSensor/TempIcon.png";
+                    break;
+                case SPK.SensorHcho:
+                    imagePath = "FunctionIcon/EnvirSensor/HchoBg.png";
+                    iconPath = "FunctionIcon/EnvirSensor/HchoIcon.png";
+                    break;
+            }
+        }
 
-//        public void LoadView()
-//        {
-//            Function sensor = sensorList[0];
-//            this.BackgroundImagePath = imagePath;
+        public void LoadView()
+        {
+            Function sensor = sensorList[0];
+            this.BackgroundImagePath = imagePath;
 
-//            var btnIcon = new Button()
-//            {
-//                X = Application.GetRealWidth(23),
-//                Y = Application.GetRealHeight(17),
-//                Width = Application.GetRealWidth(32),
-//                Height = Application.GetRealWidth(32),
-//                UnSelectedImagePath = iconPath
-//            };
-//            this.AddChidren(btnIcon);
+            var btnIcon = new Button()
+            {
+                X = Application.GetRealWidth(23),
+                Y = Application.GetRealHeight(17),
+                Width = Application.GetRealWidth(32),
+                Height = Application.GetRealWidth(32),
+                UnSelectedImagePath = iconPath
+            };
+            this.AddChidren(btnIcon);
 
-//            btnIcon.MouseUpEventHandler = (sender, e) =>
-//            {
-//                #region 
-//                var esp = new EnvironmentalSensorPage(sensor,sensorList);
-//                MainPage.BasePageView.AddChidren(esp);
-//                esp.LoadPage();
-//                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
-//                #endregion
-//            };
+            btnIcon.MouseUpEventHandler = (sender, e) =>
+            {
+                #region 
+                var esp = new EnvironmentalSensorPage(sensor,sensorList);
+                MainPage.BasePageView.AddChidren(esp);
+                esp.LoadPage();
+                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+                #endregion
+            };
 
-//            var btnInfoIcon = new Button()
-//            {
-//                X = Application.GetRealWidth(139),
-//                Y = Application.GetRealHeight(21),
-//                Width = Application.GetRealWidth(24),
-//                Height = Application.GetRealWidth(24),
-//                UnSelectedImagePath = "FunctionIcon/EnvirSensor/InfoIcon.png",
-//            };
-//            this.AddChidren(btnInfoIcon);
-//            btnInfoIcon.MouseUpEventHandler = (sender, e) =>
-//            {
-//                LoadInfo(sensorSPK);
-//            };
+            var btnInfoIcon = new Button()
+            {
+                X = Application.GetRealWidth(139),
+                Y = Application.GetRealHeight(21),
+                Width = Application.GetRealWidth(24),
+                Height = Application.GetRealWidth(24),
+                UnSelectedImagePath = "FunctionIcon/EnvirSensor/InfoIcon.png",
+            };
+            this.AddChidren(btnInfoIcon);
+            btnInfoIcon.MouseUpEventHandler = (sender, e) =>
+            {
+                LoadInfo(sensorSPK);
+            };
 
-//            var curLevel = sensorTemp.GetCurLevel(sensorSPK, assembleValues);
-//            var levelTextList = sensorTemp.GetLevelTextList(sensor);
-//            btnLevel = new Button()
-//            {
-//                X = Application.GetRealWidth(25),
-//                Y = Application.GetRealWidth(59),
-//                Width = Application.GetRealWidth(100),
-//                Height = Application.GetRealWidth(32),
-//                TextAlignment = TextAlignment.CenterLeft,
-//                TextColor = sensorTemp.GetLevelColorList(sensor)[curLevel - 1],
-//                TextSize = CSS_FontSize.SubheadingFontSize,
-//                Text = levelTextList[curLevel - 1],
-//                Tag = "SensorLevel",
-//            };
-//            this.AddChidren(btnLevel);
+            var curLevel = sensorTemp.GetCurLevel(sensorSPK, assembleValues);
+            var levelTextList = sensorTemp.GetLevelTextList(sensorSPK);
+            btnLevel = new Button()
+            {
+                X = Application.GetRealWidth(25),
+                Y = Application.GetRealWidth(59),
+                Width = Application.GetRealWidth(100),
+                Height = Application.GetRealWidth(32),
+                TextAlignment = TextAlignment.CenterLeft,
+                TextColor = sensorTemp.GetLevelColorList(sensorSPK)[curLevel - 1],
+                TextSize = CSS_FontSize.SubheadingFontSize,
+                TextID = levelTextList[curLevel - 1],
+                Tag = "SensorLevel",
+            };
+            this.AddChidren(btnLevel);
 
-//            btnLevel.MouseUpEventHandler = (sender, e) =>
-//            {
-//                #region 
-//                var esp = new EnvironmentalSensorPage(sensor,sensorList);
-//                MainPage.BasePageView.AddChidren(esp);
-//                esp.LoadPage();
-//                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
-//                #endregion
-//            };
+            btnLevel.MouseUpEventHandler = (sender, e) =>
+            {
+                #region 
+                var esp = new EnvironmentalSensorPage(sensor,sensorList);
+                MainPage.BasePageView.AddChidren(esp);
+                esp.LoadPage();
+                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+                #endregion
+            };
 
 
-//            btnSensorValues = new Button()
-//            {
-//                X = Application.GetRealWidth(25),
-//                Y = Application.GetRealWidth(83),
-//                Width = Application.GetRealWidth(100),
-//                Height = Application.GetRealWidth(27),
-//                TextAlignment = TextAlignment.CenterLeft,
-//                TextColor = CSS_Color.PromptingColor1,
-//                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
-//                IsBold = true,
-//                Text = assembleValues.ToString(),
-//                Tag = "SensorValues"
-//            };
-//            this.AddChidren(btnSensorValues);
-//            btnSensorValues.MouseUpEventHandler = (sender, e) =>
-//            {
-//                #region 
-//                var esp = new EnvironmentalSensorPage(sensor,sensorList);
-//                MainPage.BasePageView.AddChidren(esp);
-//                esp.LoadPage();
-//                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
-//                #endregion
-//            };
-//        }
+            btnSensorValues = new Button()
+            {
+                X = Application.GetRealWidth(25),
+                Y = Application.GetRealWidth(83),
+                Width = Application.GetRealWidth(100),
+                Height = Application.GetRealWidth(27),
+                TextAlignment = TextAlignment.CenterLeft,
+                TextColor = CSS_Color.PromptingColor1,
+                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+                IsBold = true,
+                Text = assembleValues.ToString(),
+                Tag = "SensorValues"
+            };
+            this.AddChidren(btnSensorValues);
+            btnSensorValues.MouseUpEventHandler = (sender, e) =>
+            {
+                #region 
+                var esp = new EnvironmentalSensorPage(sensor,sensorList);
+                MainPage.BasePageView.AddChidren(esp);
+                esp.LoadPage();
+                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+                #endregion
+            };
+        }
 
 
-//        /// <summary>
-//        /// 鍔犺浇浼犳劅鍣ㄧ瓑绾х浉鍏充俊鎭�
-//        /// </summary>
-//        void LoadInfo(string sensorSPK)
-//        {
-//            var levelColorList = sensorTemp.GetLevelColorList(sensorSPK);
-//            var levelTextList = sensorTemp.GetLevelTextList(sensorSPK);
-//            Dialog dialog = new Dialog();
+        /// <summary>
+        /// 鍔犺浇浼犳劅鍣ㄧ瓑绾х浉鍏充俊鎭�
+        /// </summary>
+        void LoadInfo(string sensorSPK)
+        {
+            var levelColorList = sensorTemp.GetLevelColorList(sensorSPK);
+            var levelTextList = sensorTemp.GetLevelTextList(sensorSPK);
+            Dialog dialog = new Dialog();
 
-//            FrameLayout dialogBodyView = new FrameLayout();
-//            dialog.AddChidren(dialogBodyView);
-//            dialogBodyView.MouseUpEventHandler = (sender, e) =>
-//            {
-//                dialog.Close();
-//            };
-//            VerticalScrolViewLayout infoView = new VerticalScrolViewLayout()
-//            {
-//                Gravity = Gravity.CenterHorizontal,
-//                Y = Application.GetRealHeight(667 - 94 - (levelColorList.Count * 44) - 20),
-//                Width = Application.GetRealWidth(343),
-//                Height = Application.GetRealHeight(94 + (levelColorList.Count * 44) + levelColorList.Count),
-//                Radius = (uint)Application.GetRealWidth(12),
-//                BackgroundColor = CSS_Color.MainBackgroundColor,
-//                Animate = Animate.DownToUp,
-//                ScrollEnabled = false,
-//                AnimateSpeed = 0.3f,
-//            };
-//            dialogBodyView.AddChidren(infoView);
+            FrameLayout dialogBodyView = new FrameLayout();
+            dialog.AddChidren(dialogBodyView);
+            dialogBodyView.MouseUpEventHandler = (sender, e) =>
+            {
+                dialog.Close();
+            };
+            VerticalScrolViewLayout infoView = new VerticalScrolViewLayout()
+            {
+                Gravity = Gravity.CenterHorizontal,
+                Y = Application.GetRealHeight(667 - 94 - (levelColorList.Count * 44) - 20),
+                Width = Application.GetRealWidth(343),
+                Height = Application.GetRealHeight(94 + (levelColorList.Count * 44) + levelColorList.Count),
+                Radius = (uint)Application.GetRealWidth(12),
+                BackgroundColor = CSS_Color.MainBackgroundColor,
+                Animate = Animate.DownToUp,
+                ScrollEnabled = false,
+                AnimateSpeed = 0.3f,
+            };
+            dialogBodyView.AddChidren(infoView);
 
-//            Button btnTitle = new Button()
-//            {
-//                Height = Application.GetRealHeight(50),
-//                TextColor = CSS_Color.FirstLevelTitleColor,
-//                IsBold = true,
-//                TextSize = CSS_FontSize.SubheadingFontSize,
-//                TextAlignment = TextAlignment.Center,
-//            };
-//            infoView.AddChidren(btnTitle);
+            Button btnTitle = new Button()
+            {
+                Height = Application.GetRealHeight(50),
+                TextColor = CSS_Color.FirstLevelTitleColor,
+                IsBold = true,
+                TextSize = CSS_FontSize.SubheadingFontSize,
+                TextAlignment = TextAlignment.Center,
+            };
+            infoView.AddChidren(btnTitle);
 
-//            switch (sensorSPK)
-//            {
-//                case SPK.SensorPm25:
-//                    btnTitle.Text = "PM2.5(ug/m虏)";
-//                    break;
-//                case SPK.SensorTemperature:
-//                    btnTitle.Text = Language.StringByID(StringId.Temp) + "(掳C)";
-//                    break;
-//                case SPK.SensorTVOC:
-//                    btnTitle.Text = "TVOC(PPB)";
-//                    break;
-//                case SPK.SensorCO2:
-//                    btnTitle.Text = "CO2(PPM)";
-//                    break;
-//                case SPK.SensorHumidity:
-//                    btnTitle.Text = Language.StringByID(StringId.Humidity) + "(%)";
-//                    break;
-//                case SPK.SensorHcho:
-//                    btnTitle.Text = Language.StringByID(StringId.Formaldehyde) + "(mg/m3)";
-//                    break;
-//            }
+            switch (sensorSPK)
+            {
+                case SPK.SensorPm25:
+                    btnTitle.Text = "PM2.5(ug/m虏)";
+                    break;
+                case SPK.SensorTemperature:
+                    btnTitle.Text = Language.StringByID(StringId.Temp) + "(掳C)";
+                    break;
+                case SPK.SensorTVOC:
+                    btnTitle.Text = "TVOC(PPB)";
+                    break;
+                case SPK.SensorCO2:
+                    btnTitle.Text = "CO2(PPM)";
+                    break;
+                case SPK.SensorHumidity:
+                    btnTitle.Text = Language.StringByID(StringId.Humidity) + "(%)";
+                    break;
+                case SPK.SensorHcho:
+                    btnTitle.Text = Language.StringByID(StringId.Formaldehyde) + "(mg/m3)";
+                    break;
+            }
 
-//            FrameLayout subTitleView = new FrameLayout()
-//            {
-//                Height = Application.GetRealHeight(44),
-//            };
-//            infoView.AddChidren(subTitleView);
+            FrameLayout subTitleView = new FrameLayout()
+            {
+                Height = Application.GetRealHeight(44),
+            };
+            infoView.AddChidren(subTitleView);
 
-//            subTitleView.AddChidren(new Button()
-//            {
-//                X = Application.GetRealWidth(20),
-//                Width = Application.GetRealWidth(100),
-//                TextAlignment = TextAlignment.CenterLeft,
-//                TextColor = CSS_Color.FirstLevelTitleColor,
-//                TextSize = CSS_FontSize.TextFontSize,
-//                IsBold = true,
-//                TextID = StringId.IntervalValue,
-//            });
+            subTitleView.AddChidren(new Button()
+            {
+                X = Application.GetRealWidth(20),
+                Width = Application.GetRealWidth(100),
+                TextAlignment = TextAlignment.CenterLeft,
+                TextColor = CSS_Color.FirstLevelTitleColor,
+                TextSize = CSS_FontSize.TextFontSize,
+                IsBold = true,
+                TextID = StringId.IntervalValue,
+            });
 
-//            subTitleView.AddChidren(new Button()
-//            {
-//                Gravity = Gravity.CenterHorizontal,
-//                Width = Application.GetRealWidth(100),
-//                TextAlignment = TextAlignment.Center,
-//                TextColor = CSS_Color.FirstLevelTitleColor,
-//                TextSize = CSS_FontSize.TextFontSize,
-//                IsBold = true,
-//                TextID = StringId.LevelSensor,
-//            });
+            subTitleView.AddChidren(new Button()
+            {
+                Gravity = Gravity.CenterHorizontal,
+                Width = Application.GetRealWidth(100),
+                TextAlignment = TextAlignment.Center,
+                TextColor = CSS_Color.FirstLevelTitleColor,
+                TextSize = CSS_FontSize.TextFontSize,
+                IsBold = true,
+                TextID = StringId.LevelSensor,
+            });
 
-//            subTitleView.AddChidren(new Button()
-//            {
-//                X = Application.GetRealWidth(223),
-//                Width = Application.GetRealWidth(100),
-//                TextAlignment = TextAlignment.CenterRight,
-//                TextColor = CSS_Color.FirstLevelTitleColor,
-//                TextSize = CSS_FontSize.TextFontSize,
-//                IsBold = true,
-//                TextID = StringId.ColorValue,
-//            });
-//            for (int index = 0; index < levelTextList.Count; index++)
-//            {
-//                infoView.AddChidren(new Button()
-//                {
-//                    Gravity = Gravity.CenterHorizontal,
-//                    Width = Application.GetRealWidth(303),
-//                    Height = Application.GetRealWidth(1),
-//                    BackgroundColor = CSS_Color.DividingLineColor,
-//                });
+            subTitleView.AddChidren(new Button()
+            {
+                X = Application.GetRealWidth(223),
+                Width = Application.GetRealWidth(100),
+                TextAlignment = TextAlignment.CenterRight,
+                TextColor = CSS_Color.FirstLevelTitleColor,
+                TextSize = CSS_FontSize.TextFontSize,
+                IsBold = true,
+                TextID = StringId.ColorValue,
+            });
+            for (int index = 0; index < levelTextList.Count; index++)
+            {
+                infoView.AddChidren(new Button()
+                {
+                    Gravity = Gravity.CenterHorizontal,
+                    Width = Application.GetRealWidth(303),
+                    Height = Application.GetRealWidth(1),
+                    BackgroundColor = CSS_Color.DividingLineColor,
+                });
 
-//                FrameLayout subInfoView = new FrameLayout()
-//                {
-//                    Height = Application.GetRealHeight(44),
-//                };
-//                infoView.AddChidren(subInfoView);
+                FrameLayout subInfoView = new FrameLayout()
+                {
+                    Height = Application.GetRealHeight(44),
+                };
+                infoView.AddChidren(subInfoView);
 
-//                subInfoView.AddChidren(new Button()
-//                {
-//                    X = Application.GetRealWidth(20),
-//                    Width = Application.GetRealWidth(100),
-//                    TextAlignment = TextAlignment.CenterLeft,
-//                    TextColor = CSS_Color.FirstLevelTitleColor,
-//                    TextSize = CSS_FontSize.TextFontSize,
-//                    IsBold = true,
-//                    Text = sensorTemp.GetIntervalValue(sensorSPK)[index]
-//                });
+                subInfoView.AddChidren(new Button()
+                {
+                    X = Application.GetRealWidth(20),
+                    Width = Application.GetRealWidth(100),
+                    TextAlignment = TextAlignment.CenterLeft,
+                    TextColor = CSS_Color.FirstLevelTitleColor,
+                    TextSize = CSS_FontSize.TextFontSize,
+                    IsBold = true,
+                    Text = sensorTemp.GetIntervalValue(sensorSPK)[index]
+                });
 
-//                subInfoView.AddChidren(new Button()
-//                {
-//                    Gravity = Gravity.CenterHorizontal,
-//                    Width = Application.GetRealWidth(100),
-//                    TextAlignment = TextAlignment.Center,
-//                    TextColor = CSS_Color.FirstLevelTitleColor,
-//                    TextSize = CSS_FontSize.TextFontSize,
-//                    IsBold = true,
-//                    TextID = levelTextList[index]
-//                });
+                subInfoView.AddChidren(new Button()
+                {
+                    Gravity = Gravity.CenterHorizontal,
+                    Width = Application.GetRealWidth(100),
+                    TextAlignment = TextAlignment.Center,
+                    TextColor = CSS_Color.FirstLevelTitleColor,
+                    TextSize = CSS_FontSize.TextFontSize,
+                    IsBold = true,
+                    TextID = levelTextList[index]
+                });
 
-//                subInfoView.AddChidren(new Button()
-//                {
-//                    X = Application.GetRealWidth(285),
-//                    Gravity = Gravity.CenterVertical,
-//                    Width = Application.GetRealWidth(38),
-//                    Height = Application.GetRealHeight(18),
-//                    Radius = (uint)Application.GetRealWidth(4),
-//                    BackgroundColor = levelColorList[index]
-//                });
-//            }
+                subInfoView.AddChidren(new Button()
+                {
+                    X = Application.GetRealWidth(285),
+                    Gravity = Gravity.CenterVertical,
+                    Width = Application.GetRealWidth(38),
+                    Height = Application.GetRealHeight(18),
+                    Radius = (uint)Application.GetRealWidth(4),
+                    BackgroundColor = levelColorList[index]
+                });
+            }
 
 
 
 
-//            dialog.Show();
-//        }
+            dialog.Show();
+        }
 
 
 
-//        public void calculateAverage()
-//        {
-//            assembleValues = 0;
-//            foreach (var s in sensorList)
-//            {
-//                assembleValues += Convert.ToDouble(s.GetAttrState("value").Replace(",", "."));
-//            }
-//        }
+        public void calculateAverage()
+        {
+            assembleValues = 0;
+            foreach (var s in sensorList)
+            {
+                assembleValues += Convert.ToDouble(s.GetAttrState("value").Replace(",", "."));
+            }
+        }
 
-//        /// <summary>
-//        /// 鏇存柊鐘舵��
-//        /// </summary>
-//        /// <param name="updateTemp"></param>
-//        public void UpdataStatus(string spk ,string sid,string value)
-//        {
-//            try
-//            {
-//                if (spk == sensorSPK)
-//                {
-//                    var temp = sensorList.Find((obj) => obj.sid == sid);
-//                    if(temp!= null)
-//                    {
-//                        temp.SetAttrState("value", value);
-//                    }
-//                    calculateAverage();
+        /// <summary>
+        /// 鏇存柊鐘舵��
+        /// </summary>
+        /// <param name="updateTemp"></param>
+        public void UpdataStatus(string spk ,string sid,string value)
+        {
+            try
+            {
+                if (spk == sensorSPK)
+                {
+                    var temp = sensorList.Find((obj) => obj.sid == sid);
+                    if(temp!= null)
+                    {
+                        temp.SetAttrState("value", value);
+                    }
+                    calculateAverage();
 
 
-//                    btnSensorValues.Text = assembleValues.ToString();
+                    btnSensorValues.Text = assembleValues.ToString();
 
-//                    var curLevel = sensorTemp.GetCurLevel(sensorSPK, assembleValues);
+                    var curLevel = sensorTemp.GetCurLevel(sensorSPK, assembleValues);
 
-//                    btnLevel.TextID = sensorTemp.GetLevelTextList(sensorSPK)[curLevel- 1];
-//                    btnLevel.TextColor = sensorTemp.GetLevelColorList(sensorSPK)[curLevel - 1];
-//                }
-//            }
-//            catch (Exception ex)
-//            {
-//                MainPage.Log($"鏇存柊鐜浼犳劅鍣ㄧ晫闈㈠紓甯�:{ex.Message}");
-//            }
-//        }
+                    btnLevel.TextID = sensorTemp.GetLevelTextList(sensorSPK)[curLevel- 1];
+                    btnLevel.TextColor = sensorTemp.GetLevelColorList(sensorSPK)[curLevel - 1];
+                }
+            }
+            catch (Exception ex)
+            {
+                MainPage.Log($"鏇存柊鐜浼犳劅鍣ㄧ晫闈㈠紓甯�:{ex.Message}");
+            }
+        }
 
-//    }
+    }
 
-//}
+}
diff --git a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EchartsOption_BrokenLine.cs b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EchartsOption_BrokenLine.cs
index b41bbcf..c022001 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EchartsOption_BrokenLine.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EchartsOption_BrokenLine.cs
@@ -4,7 +4,7 @@
 namespace HDL_ON.UI
 {
     /// <summary>
-    /// 鏇茬嚎鍥炬暟鎹�
+    /// 鏇茬嚎鍥�
     /// </summary>
     public class EchartsOption_BrokenLine
     {
diff --git a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalPage.cs b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalPage.cs
index d7acf79..ea27379 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalPage.cs
@@ -347,8 +347,8 @@
         /// </summary>
         void LoadSensorDiv(Function sensor,int index)
         {
-            var levelColorList = sensorTemp.GetLevelColorList(sensor);
-            var levelTextList = sensorTemp.GetLevelTextList(sensor);
+            var levelColorList = sensorTemp.GetLevelColorList(sensor.spk);
+            var levelTextList = sensorTemp.GetLevelTextList(sensor.spk);
             {
                 var sensorTag = sensor.spk + sensor.sid + sensor.deviceId;
                 FrameLayout sensorView = new FrameLayout()
@@ -438,9 +438,9 @@
                     Width = Application.GetRealWidth(100),
                     Height = Application.GetRealWidth(32),
                     TextAlignment = TextAlignment.CenterLeft,
-                    TextColor = sensorTemp.GetLevelColorList(sensor)[sensorTemp.GetCurLevel(sensor) - 1],
+                    TextColor = sensorTemp.GetLevelColorList(sensor.spk)[sensorTemp.GetCurLevel(sensor) - 1],
                     TextSize = CSS_FontSize.SubheadingFontSize,
-                    Text = levelTextList[sensorTemp.GetCurLevel(sensor) - 1],
+                    TextID = levelTextList[sensorTemp.GetCurLevel(sensor) - 1],
                     Tag = "SensorLevel",
                 };
                 sensorView.AddChidren(btnLevel);
@@ -488,8 +488,8 @@
         /// </summary>
         void LoadInfo(Function sensor)
         {
-            var levelColorList = sensorTemp.GetLevelColorList(sensor);
-            var levelTextList = sensorTemp.GetLevelTextList(sensor);
+            var levelColorList = sensorTemp.GetLevelColorList(sensor.spk);
+            var levelTextList = sensorTemp.GetLevelTextList(sensor.spk);
             Dialog dialog = new Dialog();
 
             FrameLayout dialogBodyView = new FrameLayout();
@@ -525,22 +525,22 @@
             switch (sensor.spk)
             {
                 case SPK.SensorPm25:
-                    btnTitle.Text = $"PM2.5({sensorTemp.Unit(sensor)})";
+                    btnTitle.Text = "PM2.5(ug/m虏)";
                     break;
                 case SPK.SensorTemperature:
-                    btnTitle.Text = Language.StringByID(StringId.Temp) + $"({sensorTemp.Unit(sensor)})";
+                    btnTitle.Text = Language.StringByID(StringId.Temp) + "(掳C)";
                     break;
                 case SPK.SensorTVOC:
-                    btnTitle.Text = $"TVOC({sensorTemp.Unit(sensor)})";
+                    btnTitle.Text = "TVOC(PPB)";
                     break;
                 case SPK.SensorCO2:
-                    btnTitle.Text = $"CO2({sensorTemp.Unit(sensor)})";
+                    btnTitle.Text = "CO2(PPM)";
                     break;
                 case SPK.SensorHumidity:
-                    btnTitle.Text = Language.StringByID(StringId.Humidity) + $"({sensorTemp.Unit(sensor)})";
+                    btnTitle.Text = Language.StringByID(StringId.Humidity) + "(%)";
                     break;
                 case SPK.SensorHcho:
-                    btnTitle.Text = Language.StringByID(StringId.Formaldehyde) +$"({sensorTemp.Unit(sensor)})";
+                    btnTitle.Text = Language.StringByID(StringId.Formaldehyde) +"(mg/m3)";
                     break;
             }
 
@@ -606,7 +606,7 @@
                     TextColor = CSS_Color.FirstLevelTitleColor,
                     TextSize = CSS_FontSize.TextFontSize,
                     IsBold = true,
-                    Text = sensorTemp.GetIntervalValue(sensor)[index]
+                    Text = sensorTemp.GetIntervalValue(sensor.spk)[index]
                 });
 
                 subInfoView.AddChidren(new Button()
@@ -617,7 +617,7 @@
                     TextColor = CSS_Color.FirstLevelTitleColor,
                     TextSize = CSS_FontSize.TextFontSize,
                     IsBold = true,
-                    Text = levelTextList[index]
+                    TextID = levelTextList[index]
                 });
 
                 subInfoView.AddChidren(new Button()
@@ -865,16 +865,16 @@
                                             }
                                             else if (tag == "SensorLevel")
                                             {
-                                                (btn as Button).Text = bodyView.sensorTemp.GetLevelTextList(updateTemp)[bodyView.sensorTemp.GetCurLevel(updateTemp) - 1];
-                                                (btn as Button).TextColor = bodyView.sensorTemp.GetLevelColorList(updateTemp)[bodyView.sensorTemp.GetCurLevel(updateTemp) - 1];
+                                                (btn as Button).TextID = bodyView.sensorTemp.GetLevelTextList(updateTemp.spk)[bodyView.sensorTemp.GetCurLevel(updateTemp) - 1];
+                                                (btn as Button).TextColor = bodyView.sensorTemp.GetLevelColorList(updateTemp.spk)[bodyView.sensorTemp.GetCurLevel(updateTemp) - 1];
                                             }
                                         }
                                     }
                                     else if (btn.GetType() == typeof(ArcSeekBar))
                                     {
-                                        (btn as ArcSeekBar).ProgressBarColor = bodyView.sensorTemp.GetLevelColorList(updateTemp)[bodyView.sensorTemp.GetCurLevel(updateTemp) - 1];
+                                        (btn as ArcSeekBar).ProgressBarColor = bodyView.sensorTemp.GetLevelColorList(updateTemp.spk)[bodyView.sensorTemp.GetCurLevel(updateTemp) - 1];
 
-                                        (btn as ArcSeekBar).Progress = (96 / bodyView.sensorTemp.GetLevelColorList(updateTemp).Count) * bodyView.sensorTemp.GetCurLevel(updateTemp);
+                                        (btn as ArcSeekBar).Progress = (96 / bodyView.sensorTemp.GetLevelColorList(updateTemp.spk).Count) * bodyView.sensorTemp.GetCurLevel(updateTemp);
                                     }
                                 }
                             }
diff --git a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs
index 0505d7d..2d25afd 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs
@@ -149,383 +149,383 @@
             historyDataView.AddChidren(myEchartsView);
 
             #region 搴曢儴绛夌骇鎻愮ず
-            //HorizontalScrolViewLayout tipValuesView = new HorizontalScrolViewLayout()
-            //{
-            //    Gravity = Gravity.CenterHorizontal,
-            //    Y = Application.GetRealWidth(348),
-            //    Width = Application.GetRealWidth(303),
-            //    Height = Application.GetRealHeight(30),
-            //};
-            //diagramView.AddChidren(tipValuesView);
+            HorizontalScrolViewLayout tipValuesView = new HorizontalScrolViewLayout()
+            {
+                Gravity = Gravity.CenterHorizontal,
+                Y = Application.GetRealWidth(348),
+                Width = Application.GetRealWidth(303),
+                Height = Application.GetRealHeight(30),
+            };
+            diagramView.AddChidren(tipValuesView);
 
-            //Button btnColorTip = new Button()
-            //{
-            //    Gravity = Gravity.CenterHorizontal,
-            //    Y = tipValuesView.Bottom,
-            //    Width = Application.GetRealWidth(303),
-            //    Height = Application.GetRealHeight(7),
-            //    UnSelectedImagePath = "FunctionIcon/EnvironmentalScience/SensorColorTipBg.png",
-            //};
-            //diagramView.AddChidren(btnColorTip);
+            Button btnColorTip = new Button()
+            {
+                Gravity = Gravity.CenterHorizontal,
+                Y = tipValuesView.Bottom,
+                Width = Application.GetRealWidth(303),
+                Height = Application.GetRealHeight(7),
+                UnSelectedImagePath = "FunctionIcon/EnvironmentalScience/SensorColorTipBg.png",
+            };
+            diagramView.AddChidren(btnColorTip);
 
-            //HorizontalScrolViewLayout tipTextView = new HorizontalScrolViewLayout()
-            //{
-            //    Gravity = Gravity.CenterHorizontal,
-            //    Y = btnColorTip.Bottom,
-            //    Width = Application.GetRealWidth(303),
-            //    Height = Application.GetRealHeight(30),
-            //};
-            //diagramView.AddChidren(tipTextView);
+            HorizontalScrolViewLayout tipTextView = new HorizontalScrolViewLayout()
+            {
+                Gravity = Gravity.CenterHorizontal,
+                Y = btnColorTip.Bottom,
+                Width = Application.GetRealWidth(303),
+                Height = Application.GetRealHeight(30),
+            };
+            diagramView.AddChidren(tipTextView);
 
-            //switch (function.spk)
-            //{
-            //    case SPK.SensorPm25:
-            //        tipValuesView.AddChidren(new Button()
-            //        {
-            //            Width = Application.GetRealWidth(101),
-            //            Text = "35",
-            //            TextAlignment = TextAlignment.Center,
-            //            TextColor = CSS_Color.FirstLevelTitleColor,
-            //            TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
-            //        });
-            //        tipValuesView.AddChidren(new Button()
-            //        {
-            //            Width = Application.GetRealWidth(101),
-            //            Text = "75",
-            //            TextAlignment = TextAlignment.Center,
-            //            TextColor = CSS_Color.FirstLevelTitleColor,
-            //            TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
-            //        });
-            //        tipValuesView.AddChidren(new Button()
-            //        {
-            //            Width = Application.GetRealWidth(101),
-            //            Text = "115",
-            //            TextAlignment = TextAlignment.Center,
-            //            TextColor = CSS_Color.FirstLevelTitleColor,
-            //            TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
-            //        });
-            //        tipTextView.AddChidren(new Button()
-            //        {
-            //            Width = Application.GetRealWidth(75),
-            //            TextID = StringId.Great,
-            //            TextAlignment = TextAlignment.Center,
-            //            TextColor = CSS_Color.FirstLevelTitleColor,
-            //            TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
-            //        });
-            //        tipTextView.AddChidren(new Button()
-            //        {
-            //            Width = Application.GetRealWidth(75),
-            //            TextID = StringId.Good,
-            //            TextAlignment = TextAlignment.Center,
-            //            TextColor = CSS_Color.FirstLevelTitleColor,
-            //            TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
-            //        });
-            //        tipTextView.AddChidren(new Button()
-            //        {
-            //            Width = Application.GetRealWidth(75),
-            //            TextID = StringId.MildPollution,
-            //            TextAlignment = TextAlignment.Center,
-            //            TextColor = CSS_Color.FirstLevelTitleColor,
-            //            TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
-            //        });
-            //        tipTextView.AddChidren(new Button()
-            //        {
-            //            Width = Application.GetRealWidth(75),
-            //            TextID = StringId.HeavyPollution,
-            //            TextAlignment = TextAlignment.Center,
-            //            TextColor = CSS_Color.FirstLevelTitleColor,
-            //            TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
-            //        });
-            //        break;
-            //    //case SPK.SensorPm25:
-            //    //_intervalValue.Add("0 ~ 35");
-            //    //_intervalValue.Add("36 ~ 75");
-            //    //_intervalValue.Add("76 ~ 115");
-            //    //_intervalValue.Add("115 ~");
-            //    //_levelTextList.Add(StringId.Great);
-            //    //_levelTextList.Add(StringId.Good);
-            //    //_levelTextList.Add(StringId.MildPollution);
-            //    //_levelTextList.Add(StringId.HeavyPollution);
-            //    //break;
-            //    case SPK.SensorCO2:
-            //        tipValuesView.AddChidren(new Button()
-            //        {
-            //            Width = Application.GetRealWidth(101),
-            //            Text = "1000",
-            //            TextAlignment = TextAlignment.Center,
-            //            TextColor = CSS_Color.FirstLevelTitleColor,
-            //            TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
-            //        });
-            //        tipValuesView.AddChidren(new Button()
-            //        {
-            //            Width = Application.GetRealWidth(101),
-            //            Text = "2000",
-            //            TextAlignment = TextAlignment.Center,
-            //            TextColor = CSS_Color.FirstLevelTitleColor,
-            //            TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
-            //        });
-            //        tipValuesView.AddChidren(new Button()
-            //        {
-            //            Width = Application.GetRealWidth(101),
-            //            Text = "5000",
-            //            TextAlignment = TextAlignment.Center,
-            //            TextColor = CSS_Color.FirstLevelTitleColor,
-            //            TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
-            //        });
-            //        tipTextView.AddChidren(new Button()
-            //        {
-            //            Width = Application.GetRealWidth(75),
-            //            TextID = StringId.SensorReferenceTipCO2Level1,
-            //            TextAlignment = TextAlignment.Center,
-            //            TextColor = CSS_Color.FirstLevelTitleColor,
-            //            TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
-            //        });
-            //        tipTextView.AddChidren(new Button()
-            //        {
-            //            Width = Application.GetRealWidth(75),
-            //            TextID = StringId.SensorReferenceTipCO2Level2,
-            //            TextAlignment = TextAlignment.Center,
-            //            TextColor = CSS_Color.FirstLevelTitleColor,
-            //            TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
-            //        });
-            //        tipTextView.AddChidren(new Button()
-            //        {
-            //            Width = Application.GetRealWidth(75),
-            //            TextID = StringId.SensorReferenceTipCO2Level3,
-            //            TextAlignment = TextAlignment.Center,
-            //            TextColor = CSS_Color.FirstLevelTitleColor,
-            //            TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
-            //        });
-            //        tipTextView.AddChidren(new Button()
-            //        {
-            //            Width = Application.GetRealWidth(75),
-            //            TextID = StringId.SensorReferenceTipCO2Level4,
-            //            TextAlignment = TextAlignment.Center,
-            //            TextColor = CSS_Color.FirstLevelTitleColor,
-            //            TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
-            //        });
-            //        break;
-            //    case SPK.SensorTemperature:
-            //        tipValuesView.AddChidren(new Button()
-            //        {
-            //            Width = Application.GetRealWidth(50),
-            //            Text = "18掳C",
-            //            TextAlignment = TextAlignment.Center,
-            //            TextColor = CSS_Color.FirstLevelTitleColor,
-            //            TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
-            //        });
-            //        tipValuesView.AddChidren(new Button()
-            //        {
-            //            Width = Application.GetRealWidth(50),
-            //            Text = "20掳C",
-            //            TextAlignment = TextAlignment.Center,
-            //            TextColor = CSS_Color.FirstLevelTitleColor,
-            //            TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
-            //        });
-            //        tipValuesView.AddChidren(new Button()
-            //        {
-            //            Width = Application.GetRealWidth(50),
-            //            Text = "25掳C",
-            //            TextAlignment = TextAlignment.Center,
-            //            TextColor = CSS_Color.FirstLevelTitleColor,
-            //            TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
-            //        });
-            //        tipValuesView.AddChidren(new Button()
-            //        {
-            //            Width = Application.GetRealWidth(50),
-            //            Text = "27掳C",
-            //            TextAlignment = TextAlignment.Center,
-            //            TextColor = CSS_Color.FirstLevelTitleColor,
-            //            TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
-            //        });
-            //        tipValuesView.AddChidren(new Button()
-            //        {
-            //            Width = Application.GetRealWidth(50),
-            //            Text = "30掳C",
-            //            TextAlignment = TextAlignment.Center,
-            //            TextColor = CSS_Color.FirstLevelTitleColor,
-            //            TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
-            //        });
-            //        tipValuesView.AddChidren(new Button()
-            //        {
-            //            Width = Application.GetRealWidth(50),
-            //            Text = "33掳C",
-            //            TextAlignment = TextAlignment.Center,
-            //            TextColor = CSS_Color.FirstLevelTitleColor,
-            //            TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
-            //        });
-            //        //_intervalValue.Add("~ 18掳C");
-            //        //_intervalValue.Add("18 ~ 20掳C");
-            //        //_intervalValue.Add("20 ~ 25掳C");
-            //        //_intervalValue.Add("25 ~ 27掳C");
-            //        //_intervalValue.Add("27 ~ 30掳C");
-            //        //_intervalValue.Add("30 ~ 33掳C");
-            //        //_intervalValue.Add("33掳C ~");
-            //        tipTextView.AddChidren(new Button()
-            //        {
-            //            Width = Application.GetRealWidth(43),
-            //            TextID = StringId.ExtremelyCold,
-            //            TextAlignment = TextAlignment.Center,
-            //            TextColor = CSS_Color.FirstLevelTitleColor,
-            //            TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
-            //        });
-            //        tipTextView.AddChidren(new Button()
-            //        {
-            //            Width = Application.GetRealWidth(43),
-            //            TextID = StringId.SlightlyCold,
-            //            TextAlignment = TextAlignment.Center,
-            //            TextColor = CSS_Color.FirstLevelTitleColor,
-            //            TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
-            //        });
-            //        tipTextView.AddChidren(new Button()
-            //        {
-            //            Width = Application.GetRealWidth(43),
-            //            TextID = StringId.Cold,
-            //            TextAlignment = TextAlignment.Center,
-            //            TextColor = CSS_Color.FirstLevelTitleColor,
-            //            TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
-            //        });
-            //        tipTextView.AddChidren(new Button()
-            //        {
-            //            Width = Application.GetRealWidth(43),
-            //            TextID = StringId.Comfortable,
-            //            TextAlignment = TextAlignment.Center,
-            //            TextColor = CSS_Color.FirstLevelTitleColor,
-            //            TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
-            //        });
-            //        tipTextView.AddChidren(new Button()
-            //        {
-            //            Width = Application.GetRealWidth(43),
-            //            TextID = StringId.TepidFever,
-            //            TextAlignment = TextAlignment.Center,
-            //            TextColor = CSS_Color.FirstLevelTitleColor,
-            //            TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
-            //        });
-            //        tipTextView.AddChidren(new Button()
-            //        {
-            //            Width = Application.GetRealWidth(43),
-            //            TextID = StringId.Heat_SensorTip,
-            //            TextAlignment = TextAlignment.Center,
-            //            TextColor = CSS_Color.FirstLevelTitleColor,
-            //            TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
-            //        });
-            //        tipTextView.AddChidren(new Button()
-            //        {
-            //            Width = Application.GetRealWidth(43),
-            //            TextID = StringId.ExtremeHeat,
-            //            TextAlignment = TextAlignment.Center,
-            //            TextColor = CSS_Color.FirstLevelTitleColor,
-            //            TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
-            //        });
-            //        //_levelTextList.Add(StringId.ExtremelyCold);
-            //        //_levelTextList.Add(StringId.);
-            //        //_levelTextList.Add(StringId.);
-            //        //_levelTextList.Add(StringId.);
-            //        //_levelTextList.Add(StringId.);
-            //        //_levelTextList.Add(StringId.);
-            //        //_levelTextList.Add(StringId.ExtremeHeat);
-            //        break;
-            //    case SPK.SensorTVOC:
-            //        tipValuesView.AddChidren(new Button()
-            //        {
-            //            Width = Application.GetRealWidth(101),
-            //            Text = "0.6",
-            //            TextAlignment = TextAlignment.Center,
-            //            TextColor = CSS_Color.FirstLevelTitleColor,
-            //            TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
-            //        });
-            //        tipValuesView.AddChidren(new Button()
-            //        {
-            //            Width = Application.GetRealWidth(101),
-            //            Text = "2",
-            //            TextAlignment = TextAlignment.Center,
-            //            TextColor = CSS_Color.FirstLevelTitleColor,
-            //            TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
-            //        });
-            //        tipValuesView.AddChidren(new Button()
-            //        {
-            //            Width = Application.GetRealWidth(101),
-            //            Text = "5",
-            //            TextAlignment = TextAlignment.Center,
-            //            TextColor = CSS_Color.FirstLevelTitleColor,
-            //            TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
-            //        });
-            //        tipTextView.AddChidren(new Button()
-            //        {
-            //            Width = Application.GetRealWidth(75),
-            //            TextID = StringId.SensorReferenceTVOCTipLevel1,
-            //            TextAlignment = TextAlignment.Center,
-            //            TextColor = CSS_Color.FirstLevelTitleColor,
-            //            TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
-            //        });
-            //        tipTextView.AddChidren(new Button()
-            //        {
-            //            Width = Application.GetRealWidth(75),
-            //            TextID = StringId.SensorReferenceTVOCTipLevel2,
-            //            TextAlignment = TextAlignment.Center,
-            //            TextColor = CSS_Color.FirstLevelTitleColor,
-            //            TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
-            //        });
-            //        tipTextView.AddChidren(new Button()
-            //        {
-            //            Width = Application.GetRealWidth(75),
-            //            TextID = StringId.SensorReferenceTVOCTipLevel3,
-            //            TextAlignment = TextAlignment.Center,
-            //            TextColor = CSS_Color.FirstLevelTitleColor,
-            //            TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
-            //        });
-            //        tipTextView.AddChidren(new Button()
-            //        {
-            //            Width = Application.GetRealWidth(75),
-            //            TextID = StringId.SensorReferenceTVOCTipLevel4,
-            //            TextAlignment = TextAlignment.Center,
-            //            TextColor = CSS_Color.FirstLevelTitleColor,
-            //            TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
-            //        });
-            //        break;
-            //    case SPK.SensorHumidity:
-            //        tipValuesView.AddChidren(new Button()
-            //        {
-            //            Width = Application.GetRealWidth(151),
-            //            Text = "40%",
-            //            TextAlignment = TextAlignment.Center,
-            //            TextColor = CSS_Color.FirstLevelTitleColor,
-            //            TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
-            //        });
-            //        tipValuesView.AddChidren(new Button()
-            //        {
-            //            Width = Application.GetRealWidth(151),
-            //            Text = "70%",
-            //            TextAlignment = TextAlignment.Center,
-            //            TextColor = CSS_Color.FirstLevelTitleColor,
-            //            TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
-            //        });
-            //        tipTextView.AddChidren(new Button()
-            //        {
-            //            Width = Application.GetRealWidth(101),
-            //            TextID = StringId.SensorReferenceHumidityTipLevel1,
-            //            TextAlignment = TextAlignment.Center,
-            //            TextColor = CSS_Color.FirstLevelTitleColor,
-            //            TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
-            //        });
-            //        tipTextView.AddChidren(new Button()
-            //        {
-            //            Width = Application.GetRealWidth(101),
-            //            TextID = StringId.SensorReferenceHumidityTipLevel2,
-            //            TextAlignment = TextAlignment.Center,
-            //            TextColor = CSS_Color.FirstLevelTitleColor,
-            //            TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
-            //        });
-            //        tipTextView.AddChidren(new Button()
-            //        {
-            //            Width = Application.GetRealWidth(101),
-            //            TextID = StringId.SensorReferenceHumidityTipLevel3,
-            //            TextAlignment = TextAlignment.Center,
-            //            TextColor = CSS_Color.FirstLevelTitleColor,
-            //            TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
-            //        });
-            //        break;
-            //}
+            switch (function.spk)
+            {
+                case SPK.SensorPm25:
+                    tipValuesView.AddChidren(new Button()
+                    {
+                        Width = Application.GetRealWidth(101),
+                        Text = "35",
+                        TextAlignment = TextAlignment.Center,
+                        TextColor = CSS_Color.FirstLevelTitleColor,
+                        TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+                    });
+                    tipValuesView.AddChidren(new Button()
+                    {
+                        Width = Application.GetRealWidth(101),
+                        Text = "75",
+                        TextAlignment = TextAlignment.Center,
+                        TextColor = CSS_Color.FirstLevelTitleColor,
+                        TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+                    });
+                    tipValuesView.AddChidren(new Button()
+                    {
+                        Width = Application.GetRealWidth(101),
+                        Text = "115",
+                        TextAlignment = TextAlignment.Center,
+                        TextColor = CSS_Color.FirstLevelTitleColor,
+                        TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+                    });
+                    tipTextView.AddChidren(new Button()
+                    {
+                        Width = Application.GetRealWidth(75),
+                        TextID = StringId.Great,
+                        TextAlignment = TextAlignment.Center,
+                        TextColor = CSS_Color.FirstLevelTitleColor,
+                        TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+                    });
+                    tipTextView.AddChidren(new Button()
+                    {
+                        Width = Application.GetRealWidth(75),
+                        TextID = StringId.Good,
+                        TextAlignment = TextAlignment.Center,
+                        TextColor = CSS_Color.FirstLevelTitleColor,
+                        TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+                    });
+                    tipTextView.AddChidren(new Button()
+                    {
+                        Width = Application.GetRealWidth(75),
+                        TextID = StringId.MildPollution,
+                        TextAlignment = TextAlignment.Center,
+                        TextColor = CSS_Color.FirstLevelTitleColor,
+                        TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+                    });
+                    tipTextView.AddChidren(new Button()
+                    {
+                        Width = Application.GetRealWidth(75),
+                        TextID = StringId.HeavyPollution,
+                        TextAlignment = TextAlignment.Center,
+                        TextColor = CSS_Color.FirstLevelTitleColor,
+                        TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+                    });
+                    break;
+                //case SPK.SensorPm25:
+                //_intervalValue.Add("0 ~ 35");
+                //_intervalValue.Add("36 ~ 75");
+                //_intervalValue.Add("76 ~ 115");
+                //_intervalValue.Add("115 ~");
+                //_levelTextList.Add(StringId.Great);
+                //_levelTextList.Add(StringId.Good);
+                //_levelTextList.Add(StringId.MildPollution);
+                //_levelTextList.Add(StringId.HeavyPollution);
+                //break;
+                case SPK.SensorCO2:
+                    tipValuesView.AddChidren(new Button()
+                    {
+                        Width = Application.GetRealWidth(101),
+                        Text = "1000",
+                        TextAlignment = TextAlignment.Center,
+                        TextColor = CSS_Color.FirstLevelTitleColor,
+                        TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+                    });
+                    tipValuesView.AddChidren(new Button()
+                    {
+                        Width = Application.GetRealWidth(101),
+                        Text = "2000",
+                        TextAlignment = TextAlignment.Center,
+                        TextColor = CSS_Color.FirstLevelTitleColor,
+                        TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+                    });
+                    tipValuesView.AddChidren(new Button()
+                    {
+                        Width = Application.GetRealWidth(101),
+                        Text = "5000",
+                        TextAlignment = TextAlignment.Center,
+                        TextColor = CSS_Color.FirstLevelTitleColor,
+                        TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+                    });
+                    tipTextView.AddChidren(new Button()
+                    {
+                        Width = Application.GetRealWidth(75),
+                        TextID = StringId.SensorReferenceTipCO2Level1,
+                        TextAlignment = TextAlignment.Center,
+                        TextColor = CSS_Color.FirstLevelTitleColor,
+                        TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+                    });
+                    tipTextView.AddChidren(new Button()
+                    {
+                        Width = Application.GetRealWidth(75),
+                        TextID = StringId.SensorReferenceTipCO2Level2,
+                        TextAlignment = TextAlignment.Center,
+                        TextColor = CSS_Color.FirstLevelTitleColor,
+                        TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+                    });
+                    tipTextView.AddChidren(new Button()
+                    {
+                        Width = Application.GetRealWidth(75),
+                        TextID = StringId.SensorReferenceTipCO2Level3,
+                        TextAlignment = TextAlignment.Center,
+                        TextColor = CSS_Color.FirstLevelTitleColor,
+                        TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+                    });
+                    tipTextView.AddChidren(new Button()
+                    {
+                        Width = Application.GetRealWidth(75),
+                        TextID = StringId.SensorReferenceTipCO2Level4,
+                        TextAlignment = TextAlignment.Center,
+                        TextColor = CSS_Color.FirstLevelTitleColor,
+                        TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+                    });
+                    break;
+                case SPK.SensorTemperature:
+                    tipValuesView.AddChidren(new Button()
+                    {
+                        Width = Application.GetRealWidth(50),
+                        Text = "18掳C",
+                        TextAlignment = TextAlignment.Center,
+                        TextColor = CSS_Color.FirstLevelTitleColor,
+                        TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+                    });
+                    tipValuesView.AddChidren(new Button()
+                    {
+                        Width = Application.GetRealWidth(50),
+                        Text = "20掳C",
+                        TextAlignment = TextAlignment.Center,
+                        TextColor = CSS_Color.FirstLevelTitleColor,
+                        TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+                    });
+                    tipValuesView.AddChidren(new Button()
+                    {
+                        Width = Application.GetRealWidth(50),
+                        Text = "25掳C",
+                        TextAlignment = TextAlignment.Center,
+                        TextColor = CSS_Color.FirstLevelTitleColor,
+                        TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+                    });
+                    tipValuesView.AddChidren(new Button()
+                    {
+                        Width = Application.GetRealWidth(50),
+                        Text = "27掳C",
+                        TextAlignment = TextAlignment.Center,
+                        TextColor = CSS_Color.FirstLevelTitleColor,
+                        TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+                    });
+                    tipValuesView.AddChidren(new Button()
+                    {
+                        Width = Application.GetRealWidth(50),
+                        Text = "30掳C",
+                        TextAlignment = TextAlignment.Center,
+                        TextColor = CSS_Color.FirstLevelTitleColor,
+                        TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+                    });
+                    tipValuesView.AddChidren(new Button()
+                    {
+                        Width = Application.GetRealWidth(50),
+                        Text = "33掳C",
+                        TextAlignment = TextAlignment.Center,
+                        TextColor = CSS_Color.FirstLevelTitleColor,
+                        TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+                    });
+                    //_intervalValue.Add("~ 18掳C");
+                    //_intervalValue.Add("18 ~ 20掳C");
+                    //_intervalValue.Add("20 ~ 25掳C");
+                    //_intervalValue.Add("25 ~ 27掳C");
+                    //_intervalValue.Add("27 ~ 30掳C");
+                    //_intervalValue.Add("30 ~ 33掳C");
+                    //_intervalValue.Add("33掳C ~");
+                    tipTextView.AddChidren(new Button()
+                    {
+                        Width = Application.GetRealWidth(43),
+                        TextID = StringId.ExtremelyCold,
+                        TextAlignment = TextAlignment.Center,
+                        TextColor = CSS_Color.FirstLevelTitleColor,
+                        TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+                    });
+                    tipTextView.AddChidren(new Button()
+                    {
+                        Width = Application.GetRealWidth(43),
+                        TextID = StringId.SlightlyCold,
+                        TextAlignment = TextAlignment.Center,
+                        TextColor = CSS_Color.FirstLevelTitleColor,
+                        TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+                    });
+                    tipTextView.AddChidren(new Button()
+                    {
+                        Width = Application.GetRealWidth(43),
+                        TextID = StringId.Cold,
+                        TextAlignment = TextAlignment.Center,
+                        TextColor = CSS_Color.FirstLevelTitleColor,
+                        TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+                    });
+                    tipTextView.AddChidren(new Button()
+                    {
+                        Width = Application.GetRealWidth(43),
+                        TextID = StringId.Comfortable,
+                        TextAlignment = TextAlignment.Center,
+                        TextColor = CSS_Color.FirstLevelTitleColor,
+                        TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+                    });
+                    tipTextView.AddChidren(new Button()
+                    {
+                        Width = Application.GetRealWidth(43),
+                        TextID = StringId.TepidFever,
+                        TextAlignment = TextAlignment.Center,
+                        TextColor = CSS_Color.FirstLevelTitleColor,
+                        TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+                    });
+                    tipTextView.AddChidren(new Button()
+                    {
+                        Width = Application.GetRealWidth(43),
+                        TextID = StringId.Heat_SensorTip,
+                        TextAlignment = TextAlignment.Center,
+                        TextColor = CSS_Color.FirstLevelTitleColor,
+                        TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+                    });
+                    tipTextView.AddChidren(new Button()
+                    {
+                        Width = Application.GetRealWidth(43),
+                        TextID = StringId.ExtremeHeat,
+                        TextAlignment = TextAlignment.Center,
+                        TextColor = CSS_Color.FirstLevelTitleColor,
+                        TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+                    });
+                    //_levelTextList.Add(StringId.ExtremelyCold);
+                    //_levelTextList.Add(StringId.);
+                    //_levelTextList.Add(StringId.);
+                    //_levelTextList.Add(StringId.);
+                    //_levelTextList.Add(StringId.);
+                    //_levelTextList.Add(StringId.);
+                    //_levelTextList.Add(StringId.ExtremeHeat);
+                    break;
+                case SPK.SensorTVOC:
+                    tipValuesView.AddChidren(new Button()
+                    {
+                        Width = Application.GetRealWidth(101),
+                        Text = "0.6",
+                        TextAlignment = TextAlignment.Center,
+                        TextColor = CSS_Color.FirstLevelTitleColor,
+                        TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+                    });
+                    tipValuesView.AddChidren(new Button()
+                    {
+                        Width = Application.GetRealWidth(101),
+                        Text = "2",
+                        TextAlignment = TextAlignment.Center,
+                        TextColor = CSS_Color.FirstLevelTitleColor,
+                        TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+                    });
+                    tipValuesView.AddChidren(new Button()
+                    {
+                        Width = Application.GetRealWidth(101),
+                        Text = "5",
+                        TextAlignment = TextAlignment.Center,
+                        TextColor = CSS_Color.FirstLevelTitleColor,
+                        TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+                    });
+                    tipTextView.AddChidren(new Button()
+                    {
+                        Width = Application.GetRealWidth(75),
+                        TextID = StringId.SensorReferenceTVOCTipLevel1,
+                        TextAlignment = TextAlignment.Center,
+                        TextColor = CSS_Color.FirstLevelTitleColor,
+                        TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+                    });
+                    tipTextView.AddChidren(new Button()
+                    {
+                        Width = Application.GetRealWidth(75),
+                        TextID = StringId.SensorReferenceTVOCTipLevel2,
+                        TextAlignment = TextAlignment.Center,
+                        TextColor = CSS_Color.FirstLevelTitleColor,
+                        TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+                    });
+                    tipTextView.AddChidren(new Button()
+                    {
+                        Width = Application.GetRealWidth(75),
+                        TextID = StringId.SensorReferenceTVOCTipLevel3,
+                        TextAlignment = TextAlignment.Center,
+                        TextColor = CSS_Color.FirstLevelTitleColor,
+                        TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+                    });
+                    tipTextView.AddChidren(new Button()
+                    {
+                        Width = Application.GetRealWidth(75),
+                        TextID = StringId.SensorReferenceTVOCTipLevel4,
+                        TextAlignment = TextAlignment.Center,
+                        TextColor = CSS_Color.FirstLevelTitleColor,
+                        TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+                    });
+                    break;
+                case SPK.SensorHumidity:
+                    tipValuesView.AddChidren(new Button()
+                    {
+                        Width = Application.GetRealWidth(151),
+                        Text = "40%",
+                        TextAlignment = TextAlignment.Center,
+                        TextColor = CSS_Color.FirstLevelTitleColor,
+                        TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+                    });
+                    tipValuesView.AddChidren(new Button()
+                    {
+                        Width = Application.GetRealWidth(151),
+                        Text = "70%",
+                        TextAlignment = TextAlignment.Center,
+                        TextColor = CSS_Color.FirstLevelTitleColor,
+                        TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+                    });
+                    tipTextView.AddChidren(new Button()
+                    {
+                        Width = Application.GetRealWidth(101),
+                        TextID = StringId.SensorReferenceHumidityTipLevel1,
+                        TextAlignment = TextAlignment.Center,
+                        TextColor = CSS_Color.FirstLevelTitleColor,
+                        TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+                    });
+                    tipTextView.AddChidren(new Button()
+                    {
+                        Width = Application.GetRealWidth(101),
+                        TextID = StringId.SensorReferenceHumidityTipLevel2,
+                        TextAlignment = TextAlignment.Center,
+                        TextColor = CSS_Color.FirstLevelTitleColor,
+                        TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+                    });
+                    tipTextView.AddChidren(new Button()
+                    {
+                        Width = Application.GetRealWidth(101),
+                        TextID = StringId.SensorReferenceHumidityTipLevel3,
+                        TextAlignment = TextAlignment.Center,
+                        TextColor = CSS_Color.FirstLevelTitleColor,
+                        TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+                    });
+                    break;
+            }
 
             #endregion
 
@@ -659,10 +659,6 @@
             int index = 1;
             foreach (var tempSensor in sensorList)
             {
-                if (index > 5)
-                {
-                    break;
-                }
                 if (tempSensor.sid == function.sid)
                 {
                     continue;
@@ -959,9 +955,5 @@
         /// <summary>
         /// </summary>
         public string fieldValue { get; set; }
-        /// <summary>
-        /// 鏃堕棿
-        /// </summary>
-        public string time { get; set; }
     }
 }
\ No newline at end of file
diff --git a/HDL_ON/UI/UI2/FuntionControlView/FoolHeating/FloorHeatingPageBLL.cs b/HDL_ON/UI/UI2/FuntionControlView/FoolHeating/FloorHeatingPageBLL.cs
index 860de44..14d031a 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/FoolHeating/FloorHeatingPageBLL.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/FoolHeating/FloorHeatingPageBLL.cs
@@ -133,16 +133,16 @@
         /// </summary>
         void LoadEvent_TempChange()
         {
-            //if (!function.online)
-            //{
-            //    new Tip()
-            //    {
-            //        CloseTime = 1,
-            //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-            //        Direction = AMPopTipDirection.None,
-            //    }.Show(MainPage.BaseView);
-            //    return;
-            //}
+            if (!function.online)
+            {
+                new Tip()
+                {
+                    CloseTime = 1,
+                    Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                    Direction = AMPopTipDirection.None,
+                }.Show(MainPage.BaseView);
+                return;
+            }
             btnMinus.MouseUpEventHandler = (sender, e) =>
             {
                 if (function.trait_on_off.curValue.ToString() == "off")
diff --git a/HDL_ON/UI/UI2/FuntionControlView/FunctionBaseInfoSetPage.cs b/HDL_ON/UI/UI2/FuntionControlView/FunctionBaseInfoSetPage.cs
index bf7e271..feb241d 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/FunctionBaseInfoSetPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/FunctionBaseInfoSetPage.cs
@@ -365,57 +365,6 @@
                 #endregion
             }
 
-
-            if (function.spk == SPK.HvacCac)
-            {
-                #region 姣涚粏绌鸿皟
-                var energyView1 = new FrameLayout()
-                {
-                    Height = Application.GetRealHeight(55),
-                    BackgroundColor = CSS_Color.MainBackgroundColor,
-                };
-                contentView.AddChidren(energyView1);
-
-                var btnEnergyText1 = new Button()
-                {
-                    X = Application.GetRealWidth(16),
-                    Width = Application.GetRealWidth(160),
-                    TextAlignment = TextAlignment.CenterLeft,
-                    TextColor = CSS_Color.FirstLevelTitleColor,
-                    TextSize = CSS_FontSize.SubheadingFontSize,
-                    TextID = StringId.DewPointTemp,
-                };
-                energyView1.AddChidren(btnEnergyText1);
-
-
-                double realTimePower = 0;
-                double.TryParse(function.GetAttrState("dew_point_temp"), out realTimePower);
-
-                var energyValue1 = new Button()
-                {
-                    Width = Application.GetRealWidth(355),
-                    TextAlignment = TextAlignment.CenterRight,
-                    TextSize = CSS_FontSize.TextFontSize,
-                    TextColor = CSS_Color.PromptingColor1,
-                    Text = realTimePower + "掳C",
-                };
-                energyView1.AddChidren(energyValue1);
-
-                energyView1.AddChidren(
-                    new Button()
-                    {
-                        Gravity = Gravity.CenterHorizontal,
-                        Y = Application.GetRealHeight(54),
-                        BackgroundColor = CSS_Color.DividingLineColor,
-                        Width = Application.GetRealWidth(343),
-                        Height = Application.GetRealHeight(1)
-                    });
-                //-----------------
-
-                #endregion
-            }
-
-
             LoadEventList();
         }
 
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Light/ColorTureLampPageBLL.cs b/HDL_ON/UI/UI2/FuntionControlView/Light/ColorTureLampPageBLL.cs
index 4ab9b83..a79ca26 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Light/ColorTureLampPageBLL.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Light/ColorTureLampPageBLL.cs
@@ -26,11 +26,11 @@
                             if (!bodyView.onDimmerBar)
                             {
                                 bodyView.dimmerBar.Progress = Convert.ToInt32(updataTemp.GetAttrState(FunctionAttributeKey.Brightness));
-                            }
-                            if (updataTemp.GetAttrState(FunctionAttributeKey.Brightness) != "0")
-                            {
-                                bodyView.btnBrightnessText.Text = updataTemp.GetAttrState(FunctionAttributeKey.Brightness) + "%";
-                                bodyView.btnBrightnessText.Y = ((100 - Convert.ToInt32(updataTemp.GetAttrState(FunctionAttributeKey.Brightness))) * Application.GetRealHeight(222 - 16) / 100) + Application.GetRealWidth(80);
+                            }
+                            if (updataTemp.GetAttrState(FunctionAttributeKey.Brightness) != "0")
+                            {
+                                bodyView.btnBrightnessText.Text = updataTemp.GetAttrState(FunctionAttributeKey.Brightness) + "%";
+                                bodyView.btnBrightnessText.Y = ((100 - Convert.ToInt32(updataTemp.GetAttrState(FunctionAttributeKey.Brightness))) * Application.GetRealHeight(222 - 16) / 100) + Application.GetRealWidth(80);
                             }
                         }
                         else
@@ -41,8 +41,8 @@
                         bodyView.barColorTemplatrue.Enable = updataTemp.trait_on_off.curValue.ToString() == "on";
                         var cct = 27;
                         int.TryParse(updataTemp.GetAttrState(FunctionAttributeKey.CCT), out cct);
-                        bodyView.barColorTemplatrue.Progress = cct / 100;
-                        //璁剧疆鍒濆鍊�
+                        bodyView.barColorTemplatrue.Progress = cct / 100;
+                        //璁剧疆鍒濆鍊�
                         bodyView.barColorTemplatrue.SetCustomText(bodyView.barColorTemplatrue.Progress * 100 + "K");
 
                     }
@@ -62,7 +62,7 @@
             LoadEvet_ChangeFadeTime();
             LoadEvet_ChangeColorTemplatrue();
             //鍥為��鍒锋柊淇℃伅浜嬩欢
-            actionRefresh = () =>
+            actionRefresh = () =>
             {
                 btnFunctionName.Text = btnFunctionName_Out.Text = function.name;
                 btnFromFloor_Out.Text = btnFromFoorAndRoom.Text = function.GetRoomListName();
@@ -74,54 +74,54 @@
         /// </summary>
         void LoadEvet_ChangeFadeTime()
         {
-            if (function.GetAttribute(FunctionAttributeKey.FadeTime) != null)
-            {
-                barFadeTime.OnStopTrackingTouchEvent = (sender, e) =>
-                {
-                    function.SetAttrState(FunctionAttributeKey.FadeTime, e.ToString());
-                    function.SaveFunctionFile();
-                };
-            }
+            if (function.GetAttribute(FunctionAttributeKey.FadeTime) != null)
+            {
+                barFadeTime.OnStopTrackingTouchEvent = (sender, e) =>
+                {
+                    function.SetAttrState(FunctionAttributeKey.FadeTime, e.ToString());
+                    function.SaveFunctionFile();
+                };
+            }
         }
 
         /// <summary>
         /// 淇敼鑹叉俯
         /// </summary>
         void LoadEvet_ChangeColorTemplatrue()
-        {
-            //if (!function.online)
-            //{
-            //    new Tip()
-            //    {
-            //        CloseTime = 1,
-            //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-            //        Direction = AMPopTipDirection.None,
-            //    }.Show(MainPage.BaseView);
-            //    return;
-            //}
+        {
+            if (!function.online)
+            {
+                new Tip()
+                {
+                    CloseTime = 1,
+                    Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                    Direction = AMPopTipDirection.None,
+                }.Show(MainPage.BaseView);
+                return;
+            }
             barColorTemplatrue.OnProgressChangedEvent += (sender, value) =>
             {
-                new System.Threading.Thread(() =>
-                {
-                    Application.RunOnMainThread(() =>
-                    {
-                        //璁剧疆鑷畾涔夌殑鏂囨湰
-                        barColorTemplatrue.SetCustomText(value * 100 + "K");
-                        function.SetAttrState(FunctionAttributeKey.CCT, value * 100);
-                        //System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
-                        //d.Add(FunctionAttributeKey.CCT, function.Attr_CCT.curValue.ToString());
-                        //Control.Ins.SendWriteCommand(function, d);
+                new System.Threading.Thread(() =>
+                {
+                    Application.RunOnMainThread(() =>
+                    {
+                        //璁剧疆鑷畾涔夌殑鏂囨湰
+                        barColorTemplatrue.SetCustomText(value * 100 + "K");
+                        function.SetAttrState(FunctionAttributeKey.CCT, value * 100);
+                        //System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
+                        //d.Add(FunctionAttributeKey.CCT, function.Attr_CCT.curValue.ToString());
+                        //Control.Ins.SendWriteCommand(function, d);
                     });
                     //System.Threading.Thread.Sleep(200);
                 }).Start();
-            };
-
+            };
+
             barColorTemplatrue.OnStopTrackingTouchEvent = (sender, value) =>
-            {
-                function.SetAttrState(FunctionAttributeKey.CCT, value * 100);
-                System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
-                d.Add(FunctionAttributeKey.CCT, (value * 100 ).ToString());
-                Control.Ins.SendWriteCommand(function, d);
+            {
+                function.SetAttrState(FunctionAttributeKey.CCT, value * 100);
+                System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
+                d.Add(FunctionAttributeKey.CCT, (value * 100 ).ToString());
+                Control.Ins.SendWriteCommand(function, d);
             };
 
         }
@@ -143,76 +143,76 @@
         /// </summary>
         void LoadEvent_DimmerBar()
         {
-            dimmerBar.OnStopTrackingTouchEvent = (sender, e) =>
-            {
-                //if (!function.online)
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
+            dimmerBar.OnStopTrackingTouchEvent = (sender, e) =>
+            {
+                //if (!function.online)
+                //{
+                //    new Tip()
+                //    {
+                //        CloseTime = 1,
+                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                //        Direction = AMPopTipDirection.None,
+                //    }.Show(MainPage.BaseView);
+                //    return;
                 //}
                 //onDimmerBar = false;
-                    curDimmerStatus = false;
+                    curDimmerStatus = false;
                 function.SetAttrState(FunctionAttributeKey.Brightness, dimmerBar.Progress);
                 System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
-                d.Add(FunctionAttributeKey.Brightness, dimmerBar.Progress.ToString());
-                d.Add(FunctionAttributeKey.FadeTime, function.GetAttrState(FunctionAttributeKey.FadeTime));
-                if (dimmerBar.Progress > 0)
-                {
-                    d.Add(FunctionAttributeKey.OnOff, "on");
+                d.Add(FunctionAttributeKey.Brightness, dimmerBar.Progress.ToString());
+                d.Add(FunctionAttributeKey.FadeTime, function.GetAttrState(FunctionAttributeKey.FadeTime));
+                if (dimmerBar.Progress > 0)
+                {
+                    d.Add(FunctionAttributeKey.OnOff, "on");
                 }
                 Control.Ins.SendWriteCommand(function, d);
                 //function.fadeTime = barFadeTime.Progress;
-                btnBrightnessText.Text = dimmerBar.Progress + "%";
-
-                dimmerBar.SetProgressBarColors(CSS_Color.AuxiliaryColor1, CSS_Color.AuxiliaryColor1);
-            };
-            //if (function.online)
-            {
-                dimmerBar.OnStartTrackingTouchEvent = (sender, e) =>
-                {
-                    curDimmerStatus = onDimmerBar = true;
-                };
-                dimmerBar.OnProgressChangedEvent = (sender, e) =>
-                {
-                    //dimmerBar.SetProgressBarColors(CSS_Color.AuxiliaryColor1, CSS_Color.AuxiliaryColor1);
-                if (!btnSwitch.IsSelected)
-                    {
-                        dimmerBar.SetProgressBarColors(CSS_Color.AuxiliaryColor1, CSS_Color.AuxiliaryColor1);
-                    }
-                    btnSwitch.IsSelected = e > 0 ? true : false;
-                    function.trait_on_off.curValue = e > 0 ? "on" : "off";
-
-                    if (e == 0 || e == 100)
-                    {
-                        System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
-                        d.Add(FunctionAttributeKey.Brightness, e.ToString());
-                        Control.Ins.SendWriteCommand(function, d);
-                    }
-                    else
-                    {
-                        if (350 < (DateTime.Now - function.refreshTime).TotalMilliseconds)
-                        {
-                            function.refreshTime = DateTime.Now;
-                            new System.Threading.Thread(() =>
-                            {
-                                System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
-                                d.Add(FunctionAttributeKey.Brightness, e.ToString());
-                                Control.Ins.SendWriteCommand(function, d);
-                            })
-                            { IsBackground = true }.Start();
-                        }
-                    }
-
-
-                    btnBrightnessText.Y = ((100 - dimmerBar.Progress) * Application.GetRealHeight(222 - 16) / 100) + Application.GetRealWidth(80);
-                    btnBrightnessText.Text = dimmerBar.Progress + "%";
-                };
-
+                btnBrightnessText.Text = dimmerBar.Progress + "%";
+
+                dimmerBar.SetProgressBarColors(CSS_Color.AuxiliaryColor1, CSS_Color.AuxiliaryColor1);
+            };
+            //if (function.online)
+            {
+                dimmerBar.OnStartTrackingTouchEvent = (sender, e) =>
+                {
+                    curDimmerStatus = onDimmerBar = true;
+                };
+                dimmerBar.OnProgressChangedEvent = (sender, e) =>
+                {
+                    //dimmerBar.SetProgressBarColors(CSS_Color.AuxiliaryColor1, CSS_Color.AuxiliaryColor1);
+                if (!btnSwitch.IsSelected)
+                    {
+                        dimmerBar.SetProgressBarColors(CSS_Color.AuxiliaryColor1, CSS_Color.AuxiliaryColor1);
+                    }
+                    btnSwitch.IsSelected = e > 0 ? true : false;
+                    function.trait_on_off.curValue = e > 0 ? "on" : "off";
+
+                    if (e == 0 || e == 100)
+                    {
+                        System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
+                        d.Add(FunctionAttributeKey.Brightness, e.ToString());
+                        Control.Ins.SendWriteCommand(function, d);
+                    }
+                    else
+                    {
+                        if (350 < (DateTime.Now - function.refreshTime).TotalMilliseconds)
+                        {
+                            function.refreshTime = DateTime.Now;
+                            new System.Threading.Thread(() =>
+                            {
+                                System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
+                                d.Add(FunctionAttributeKey.Brightness, e.ToString());
+                                Control.Ins.SendWriteCommand(function, d);
+                            })
+                            { IsBackground = true }.Start();
+                        }
+                    }
+
+
+                    btnBrightnessText.Y = ((100 - dimmerBar.Progress) * Application.GetRealHeight(222 - 16) / 100) + Application.GetRealWidth(80);
+                    btnBrightnessText.Text = dimmerBar.Progress + "%";
+                };
+
             }
         }
 
@@ -222,17 +222,17 @@
         void LoadSwitchEvent()
         {
             btnSwitch.MouseUpEventHandler += (sender, e) =>
-            {
-                //if (!function.online)
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
+            {
+                if (!function.online)
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                    return;
+                }
                 //function.fadeTime = barFadeTime.Progress;
                 btnSwitch.IsSelected = !btnSwitch.IsSelected;
                 if (btnSwitch.IsSelected)
@@ -248,7 +248,6 @@
                     function.trait_on_off.curValue = btnSwitch.IsSelected ? "on" : "off";
                     System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
                     d.Add(FunctionAttributeKey.OnOff, function.trait_on_off.curValue.ToString());
-                    d.Add(FunctionAttributeKey.FadeTime, function.GetAttrState(FunctionAttributeKey.FadeTime));
                     if (btnSwitch.IsSelected)
                     {
                         d.Add(FunctionAttributeKey.Brightness, function.lastBrightness.ToString());
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPageBLL.cs b/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPageBLL.cs
index f8bcb69..c724edb 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPageBLL.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPageBLL.cs
@@ -90,7 +90,7 @@
         /// </summary>
         void LoadEvent_DimmerBar()
         {
-            //if (function.online)
+            if (function.online)
             {
                 dimmerBar.OnStartTrackingTouchEvent = (sender, e) =>
                 {
@@ -155,16 +155,16 @@
         {
             btnSwitch.MouseUpEventHandler += (sender, e) =>
             {
-                //if (!function.online)
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
+                if (!function.online)
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                    return;
+                }
                 btnSwitch.IsSelected = !btnSwitch.IsSelected;
                 if (btnSwitch.IsSelected)
                 {
@@ -179,7 +179,6 @@
                     function.trait_on_off.curValue = btnSwitch.IsSelected ? "on" : "off";
                     System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
                     d.Add(FunctionAttributeKey.OnOff, function.trait_on_off.curValue.ToString());
-                    d.Add(FunctionAttributeKey.FadeTime, function.GetAttrState(FunctionAttributeKey.FadeTime));
                     if (btnSwitch.IsSelected)
                     {
                         if(function.lastBrightness == 0)
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPageBLL.cs b/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPageBLL.cs
index 023c828..046ed07 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPageBLL.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPageBLL.cs
@@ -88,16 +88,16 @@
         /// </summary>
         void LoadColorChangeEvent()
         {
-            //if (!function.online)
-            //{
-            //    new Tip()
-            //    {
-            //        CloseTime = 1,
-            //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-            //        Direction = AMPopTipDirection.None,
-            //    }.Show(MainPage.BaseView);
-            //    return;
-            //}
+            if (!function.online)
+            {
+                new Tip()
+                {
+                    CloseTime = 1,
+                    Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                    Direction = AMPopTipDirection.None,
+                }.Show(MainPage.BaseView);
+                return;
+            }
             DateTime colorChangeTime = DateTime.MinValue;
             //bool send = false;
 
@@ -233,7 +233,7 @@
 
                 Control.Ins.SendWriteCommand(function, d);
             };
-            //if (function.online)
+            if (function.online)
             {
                 dimmerBar.OnStartTrackingTouchEvent = (sender, e) =>
                 {
@@ -330,10 +330,10 @@
         {
             btnRestoredPoint.MouseUpEventHandler = (sender, e) =>
             {
-                //if (!function.online)
-                //{
-                //    return;
-                //}
+                if (!function.online)
+                {
+                    return;
+                }
                 if(function.trait_on_off.curValue.ToString() == "off")
                 {
                     return;
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Light/RelayPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Light/RelayPage.cs
index f4c4801..1bb8d06 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Light/RelayPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Light/RelayPage.cs
@@ -52,7 +52,7 @@
         {
             bodyView = this;
             function = func;
-            
+
         }
         /// <summary>
         /// 鍔犺浇鐣岄潰
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Light/RelayPageBLL.cs b/HDL_ON/UI/UI2/FuntionControlView/Light/RelayPageBLL.cs
index 410e738..2af8248 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Light/RelayPageBLL.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Light/RelayPageBLL.cs
@@ -63,16 +63,16 @@
         {
             btnSwitchIcon.MouseUpEventHandler = (sender, e) =>
             {
-                //if (!function.online)
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
+                if (!function.online)
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                    return;
+                }
                 btnSwitch.IsSelected = btnSwitchIcon.IsSelected = !btnSwitchIcon.IsSelected;
                 new System.Threading.Thread(() =>
                 {
@@ -85,16 +85,16 @@
             };
             btnSwitch.MouseUpEventHandler = (sender, e) =>
             {
-                //if (!function.online)
-                //{
-                //    new Tip()
-                //    {
-                //        CloseTime = 1,
-                //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
-                //        Direction = AMPopTipDirection.None,
-                //    }.Show(MainPage.BaseView);
-                //    return;
-                //}
+                if (!function.online)
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                    return;
+                }
                 btnSwitchIcon.IsSelected = btnSwitch.IsSelected = !btnSwitch.IsSelected;
                 new System.Threading.Thread(() =>
                 {
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Music/A31MusicModel.cs b/HDL_ON/UI/UI2/FuntionControlView/Music/A31MusicModel.cs
index 698abcd..40ee2ef 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Music/A31MusicModel.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Music/A31MusicModel.cs
@@ -57,14 +57,13 @@
         /// ((褰撳墠鏃堕棿)DateTime.Now - (璁板綍鏃堕棿)LastDateTimeLastDateTime).TotalSeconds=璇樊鏃堕棿(绉�)
         /// </summary>
         public DateTime LastDateTime;
-        /// <summary>
-        /// 璁板綍婊戝姩闊抽噺鏉℃椂闂�<鐢ㄦ潵澶勭悊闊抽噺璺冲姩>
-        /// </summary>
-        public static DateTime ProgressDateTime = DateTime.MinValue;
+      
         /// <summary>
         /// 闊充箰鎾斁鍣↖D
         /// </summary>
         public string UniqueDeviceName = string.Empty;
+
+       
 
         public MusicInfo CurrentMusic = new MusicInfo();
 
@@ -115,7 +114,10 @@
        
 
         public Slaves Slave = new Slaves();
-       
+        /// <summary>
+        /// 璁板綍鏃堕棿
+        /// </summary>
+        public static DateTime ProgressDateTime = DateTime.Now;
 
         /// <summary>
         /// 鍒ゆ柇鏄惁鏄痡son鏁版嵁
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Music/MusicMain.cs b/HDL_ON/UI/UI2/FuntionControlView/Music/MusicMain.cs
index cd2c148..fb59e14 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Music/MusicMain.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Music/MusicMain.cs
@@ -167,7 +167,6 @@
                     {
                         try
                         {
-                            
                             SendMethod.mMethod.RefreshDeviceStatus(new List<string> { a31player.functionMusic.deviceId });
                             System.Threading.Thread.Sleep(500);
                         }
@@ -291,7 +290,6 @@
                         musicView.musicNameBtn.Text = player.functionMusic.name;
                         if (player.functionMusic.GetAttrState(KeyProperty.on_off) == ValueProperty.on)
                         {
-
                             musicView.playBtn.IsSelected = true;
                         }
                         else
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Music/MusicProperty.cs b/HDL_ON/UI/UI2/FuntionControlView/Music/MusicProperty.cs
index 65be6b6..22bd45a 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Music/MusicProperty.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Music/MusicProperty.cs
@@ -105,17 +105,13 @@
         /// </summary>
         public const string down = "down";
         /// <summary>
-        /// 寮�/鎾斁<on>
+        /// 寮�<on>
         /// </summary>
         public const string on = "on";
         /// <summary>
-        /// 鍏�/鍋滄<off>
+        /// 鍏�<off>
         /// </summary>
         public const string off = "off";
-        /// <summary>
-        /// 鏆傚仠
-        /// </summary>
-        public const string pause = "pause";
         /// <summary>
         /// 鍗曟洸<single>
         /// </summary>
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Music/SendMethod.cs b/HDL_ON/UI/UI2/FuntionControlView/Music/SendMethod.cs
index 0fde19f..366b349 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Music/SendMethod.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Music/SendMethod.cs
@@ -12,7 +12,7 @@
 {
     public class SendMethod
     {
-        private static SendMethod sMethod = null;
+        private static SendMethod sMethod=null;    
         public static SendMethod mMethod
         {
             get
@@ -48,8 +48,7 @@
             })
             { IsBackground = true }.Start();
         }
-        //璁板綍姝屾洸鎾斁鏃堕棿
-        private int songPlayTime = -1;
+
         /// <summary>
         /// 鑾峰彇璁惧鏈�鏂扮殑鐘舵��
         /// </summary>
@@ -59,7 +58,7 @@
             try
             {
                 //RefreshDeviceStatus(functionIds);
-                //a31Music.LastDateTime = DateTime.Now;
+                a31Music.LastDateTime = DateTime.Now;
                 ///浠庣紦瀛橀噷闈㈡煡鎵鹃煶涔愭挱鏀惧櫒瀵硅薄<缂撳瓨鏁版嵁鏀跺埌鎺ㄩ�佽繃鏉ョ殑鐘舵�佷細鏇存柊缂撳瓨鏁版嵁>
                 var allLocalFuntion = FunctionList.List.GetDeviceFunctionList();
                 var localFunction = allLocalFuntion.Find((obj) => obj.sid == sid);
@@ -69,13 +68,6 @@
                 }
                 ///鏇存柊鐨勬暟鎹�
                 a31Music.functionMusic = localFunction;
-                if (int.Parse(A31MusicModel.Current.functionMusic.GetAttrState(UI2.FuntionControlView.Music.KeyProperty.playing_time)) != songPlayTime)
-                {
-                    ///姝屾洸璁板綍鏃堕棿鍜屽綋鍓嶆椂闂翠笉涓�鏍凤紝绔嬪嵆鏇存柊鏁版嵁鍙嶉鏃堕棿
-                    a31Music.LastDateTime = DateTime.Now;
-                    ///姝屾洸璁板綍鏃堕棿鍜屽綋鍓嶆椂闂翠笉涓�鏍凤紝绔嬪嵆鏇存柊姝屾洸鎾斁鏃堕棿
-                    songPlayTime = int.Parse(A31MusicModel.Current.functionMusic.GetAttrState(UI2.FuntionControlView.Music.KeyProperty.playing_time));
-                }
 
             }
             catch { }
@@ -97,7 +89,6 @@
                 {
                     return;
                 }
-
             }
             catch { }
         }
@@ -130,7 +121,7 @@
                 d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id);
                 d.Add("deviceIds", new List<string> { music.deviceId });
                 var responsePackNew = RequestServerhomeId(d, NewAPI.Api_Post_PlayerList);
-                if (responsePackNew.Code != "0" || responsePackNew.Data == null || responsePackNew.Data.ToString() == "")
+                if (responsePackNew.Code != "0"||responsePackNew.Data == null ||responsePackNew.Data.ToString() == "")
                 {
                     return;
                 }
@@ -139,7 +130,7 @@
                 var palyLists = Newtonsoft.Json.JsonConvert.DeserializeObject<List<PalyListInfo>>(str);
                 if (palyLists == null)
                 {
-                    palyLists = new List<PalyListInfo>();
+                    palyLists =new List<PalyListInfo>();
                 }
                 if (palyLists.Count > 0)
                 {
@@ -152,12 +143,12 @@
             }
 
         }
-
+       
         /// <summary>
         ///璇锋眰鏈嶅姟鍣紙涓庝綇瀹呮湁鍏�:渚嬪锛沨omeId锛� 
         /// </summary>
         /// <returns></returns>
-        public ResponsePackNew RequestServerhomeId(object o, string api_Url, int mTimeout = 5)
+        public  ResponsePackNew RequestServerhomeId(object o, string api_Url, int mTimeout = 5)
         {
             var requestJson = HttpUtil.GetSignRequestJson(o);
             return HttpUtil.RequestHttpsPostFroHome(api_Url, requestJson, mTimeout);
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Panel/EnvironmentPanelPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Panel/EnvironmentPanelPage.cs
deleted file mode 100644
index abb5549..0000000
--- a/HDL_ON/UI/UI2/FuntionControlView/Panel/EnvironmentPanelPage.cs
+++ /dev/null
@@ -1,174 +0,0 @@
-锘縰sing System;
-using HDL_ON.Entity;
-using HDL_ON.Stan;
-using HDL_ON.UI.CSS;
-using Shared;
-
-namespace HDL_ON.UI
-{
-    public class EnvironmentPanelPage : DeviceFunction4CardCommonForm
-    {
-        #region 鈻� 鍙橀噺澹版槑___________________________
-
-        /// <summary>
-        /// 鍥炬爣
-        /// </summary>
-        private IconViewControl btnIcon = null;
-        /// <summary>
-        /// 鏂囨湰鎺т欢
-        /// </summary>
-        private NormalViewControl btnSuctionView = null;
-
-        Function acDevice;
-        Function fhDevice;
-        Function airFreshDevice;
-        #endregion
-
-        #region 鈻� 鍒濆鍖朹____________________________
-
-        /// <summary>
-        /// 鍒濆鍖栫櫧鑹插尯鍩熺殑鍐呭
-        /// </summary>
-        public override void InitFrameWhiteContent()
-        {
-            base.ShowColltionButton = false;
-            base.SetTitleText(Language.StringByID(StringId.SmartPanel));
-            foreach (var sid in device.targetSids)
-            {
-                var targetObj = FunctionList.List.Functions.Find((obj) => sid == obj.sid);
-                if (targetObj == null)
-                {
-                    continue;
-                }
-                if (SPK.AcSpkList().Contains(targetObj.spk))
-                {
-                    acDevice = targetObj;
-                }
-                else if (SPK.FhSpkList().Contains(targetObj.spk))
-                {
-                    fhDevice = targetObj;
-                }
-                else if (SPK.AirFreshSpkList().Contains(targetObj.spk))
-                {
-                    airFreshDevice = targetObj;
-                }
-            }
-
-            //娣诲姞绗簩绱㈠紩椤�
-            this.Add4Page();
-            //鍒濆鍖栫涓�涓储寮曢〉鐨勫唴瀹�
-            this.InitFrameWhiteContent1();
-            //鍒濆鍖栫浜屼釜绱㈠紩椤电殑鍐呭
-            this.InitFrameWhiteContent2();
-            this.InitFrameWhiteContent3();
-            //鍒锋柊鐣岄潰鐘舵��
-            //this.RefreshFormStatu();
-            //璇诲彇鐘舵��
-            //new System.Threading.Thread(() =>
-            //{
-            //    DriverLayer.Control.Ins.SendReadCommand(device);
-            //})
-            //{ IsBackground = true }.Start();
-        }
-
-        /// <summary>
-        /// 鍒濆鍖栫涓�涓储寮曢〉鐨勫唴瀹�
-        /// </summary>
-        private void InitFrameWhiteContent1()
-        {
-            btnIcon = new IconViewControl(198)
-            {
-                Gravity = Gravity.CenterHorizontal,
-                Y = Application.GetRealWidth(146),
-                UnSelectedImagePath = "FunctionIcon/Panel/PanelHelpNormalBgIcon.png",
-                SelectedImagePath = "FunctionIcon/Panel/PanelHelpAlarmBgIcon.png",
-            };
-            FrameWhiteCentet1.AddChidren(btnIcon);
-
-            btnSuctionView = new NormalViewControl(300, 84, true)
-            {
-                Gravity = Gravity.CenterHorizontal,
-                Y = btnIcon.Bottom,
-                TextAlignment = TextAlignment.Center,
-                TextSize = CSS_FontSize.TextFontSize,
-                TextColor = CSS_Color.MainColor,
-                SelectedTextColor = CSS_Color.AuxiliaryColor2,
-                //BackgroundColor = 0xFFFF0000
-            };
-            FrameWhiteCentet1.AddChidren(btnSuctionView);
-        }
-
-        /// <summary>
-        /// 鍒濆鍖栫浜屼釜绱㈠紩椤电殑鍐呭
-        /// </summary>
-        private void InitFrameWhiteContent2()
-        {
-            var acPage = new UI2.FuntionControlView.Panel.AcContentView(acDevice);
-            FrameWhiteCentet2.AddChidren(acPage);
-            acPage.InitContent();
-        }
-
-        private void InitFrameWhiteContent3()
-        {
-            var fhPage = new FhContentView(fhDevice);
-            FrameWhiteCentet3.AddChidren(fhPage);
-            fhPage.InitContentView(true);
-        }
-
-        #endregion
-
-        #region 鈻� 璁惧鐘舵�佸弽棣坃______________________
-
-        /// <summary>
-        /// 璁惧鐘舵�佸弽棣�
-        /// </summary>
-        /// <param name="i_LocalDevice"></param>
-        public override void DeviceStatuPush(Function i_LocalDevice)
-        {
-            //涓嶆槸鍚屼竴涓笢瑗�
-            if (this.device.sid != i_LocalDevice.sid) { return; }
-
-            //鍒锋柊鐣岄潰鐘舵��
-            this.RefreshFormStatu();
-        }
-
-        #endregion
-
-        #region 鈻� 鍙戦�佸悇绉嶅懡浠______________________
-
-        #endregion
-
-        #region 鈻� 鍒锋柊鐣岄潰鐘舵�乢______________________
-
-        /// <summary>
-        /// 鍒锋柊鐣岄潰鐘舵��
-        /// </summary>
-        private void RefreshFormStatu()
-        {
-            Application.RunOnMainThread(() => {
-                var temp = device.attributes.Find((sta) => sta.key == "alarm_status");
-                if (temp != null)
-                {
-                    if (temp.state == "alarm")
-                    {
-                        btnIcon.IsSelected = true;
-                        btnSuctionView.TextID = StringId.InAlarm;
-                        btnSuctionView.IsSelected = true;
-                    }
-                    else
-                    {
-                        btnIcon.IsSelected = false;
-                        btnSuctionView.TextID = StringId.SensorNormalState;
-                        btnSuctionView.IsSelected = false;
-                    }
-                }
-            });
-        }
-
-        #endregion
-
-        #region 鈻� 涓�鑸柟娉昣__________________________
-
-        #endregion
-    }
-}
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Panel/PanelHelpPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Panel/PanelHelpPage.cs
deleted file mode 100644
index 1350a45..0000000
--- a/HDL_ON/UI/UI2/FuntionControlView/Panel/PanelHelpPage.cs
+++ /dev/null
@@ -1,142 +0,0 @@
-锘縰sing System;
-using HDL_ON.Entity;
-using HDL_ON.Stan;
-using HDL_ON.UI.CSS;
-using Shared;
-
-namespace HDL_ON.UI.UI2.FuntionControlView.Panel
-{
-    public class PanelHelpPage : DeviceFunctionCardCommonForm
-    {
-        #region 鈻� 鍙橀噺澹版槑___________________________
-
-        /// <summary>
-        /// 鍥炬爣
-        /// </summary>
-        private IconViewControl btnIcon = null;
-        /// <summary>
-        /// 鏂囨湰鎺т欢
-        /// </summary>
-        private NormalViewControl btnSuctionView = null;
-
-        #endregion
-
-        #region 鈻� 鍒濆鍖朹____________________________
-
-        /// <summary>
-        /// 鍒濆鍖栫櫧鑹插尯鍩熺殑鍐呭
-        /// </summary>
-        public override void InitFrameWhiteContent()
-        {
-            base.ShowColltionButton = false;
-            base.SetTitleText(Language.StringByID(StringId.SmartPanel));
-
-            //娣诲姞绗簩绱㈠紩椤�
-            this.AddSecondPage();
-            //鍒濆鍖栫涓�涓储寮曢〉鐨勫唴瀹�
-            this.InitFrameWhiteContent1();
-            //鍒濆鍖栫浜屼釜绱㈠紩椤电殑鍐呭
-            this.InitFrameWhiteContent2();
-            //鍒锋柊鐣岄潰鐘舵��
-            this.RefreshFormStatu();
-            //璇诲彇鐘舵��
-            new System.Threading.Thread(() =>
-            {
-                DriverLayer.Control.Ins.SendReadCommand(device);
-            })
-            { IsBackground = true }.Start();
-        }
-
-        /// <summary>
-        /// 鍒濆鍖栫涓�涓储寮曢〉鐨勫唴瀹�
-        /// </summary>
-        private void InitFrameWhiteContent1()
-        {
-            btnIcon = new IconViewControl(198)
-            {
-                Gravity = Gravity.CenterHorizontal,
-                Y = Application.GetRealWidth(146),
-                UnSelectedImagePath = "FunctionIcon/Panel/PanelHelpNormalBgIcon.png",
-                SelectedImagePath = "FunctionIcon/Panel/PanelHelpAlarmBgIcon.png",
-            };
-            FrameWhiteCentet1.AddChidren(btnIcon);
-
-            btnSuctionView = new NormalViewControl(300, 84, true)
-            {
-                Gravity = Gravity.CenterHorizontal,
-                Y = btnIcon.Bottom,
-                TextAlignment = TextAlignment.Center,
-                TextSize = CSS_FontSize.TextFontSize,
-                TextColor = CSS_Color.MainColor,
-                SelectedTextColor = CSS_Color.AuxiliaryColor2,
-                //BackgroundColor = 0xFFFF0000
-            };
-            FrameWhiteCentet1.AddChidren(btnSuctionView);
-        }
-
-        /// <summary>
-        /// 鍒濆鍖栫浜屼釜绱㈠紩椤电殑鍐呭
-        /// </summary>
-        private void InitFrameWhiteContent2()
-        {
-            var paging = new ArmSensorHistroyPaging(device);
-            paging.InitFrame(FrameWhiteCentet2);
-        }
-
-        #endregion
-
-        #region 鈻� 璁惧鐘舵�佸弽棣坃______________________
-
-        /// <summary>
-        /// 璁惧鐘舵�佸弽棣�
-        /// </summary>
-        /// <param name="i_LocalDevice"></param>
-        public override void DeviceStatuPush(Function i_LocalDevice)
-        {
-            //涓嶆槸鍚屼竴涓笢瑗�
-            if (this.device.sid != i_LocalDevice.sid) { return; }
-
-            //鍒锋柊鐣岄潰鐘舵��
-            this.RefreshFormStatu();
-        }
-
-        #endregion
-
-        #region 鈻� 鍙戦�佸悇绉嶅懡浠______________________
-
-        #endregion
-
-        #region 鈻� 鍒锋柊鐣岄潰鐘舵�乢______________________
-
-        /// <summary>
-        /// 鍒锋柊鐣岄潰鐘舵��
-        /// </summary>
-        private void RefreshFormStatu()
-        {
-            Application.RunOnMainThread(() => {
-                var temp = device.attributes.Find((sta) => sta.key == "alarm_status");
-                if (temp != null)
-                {
-                    if (temp.state == "alarm")
-                    {
-                        btnIcon.IsSelected = true;
-                        btnSuctionView.TextID = StringId.InAlarming;
-                        btnSuctionView.IsSelected = true;
-                    }
-                    else
-                    {
-                        btnIcon.IsSelected = false;
-                        btnSuctionView.TextID = StringId.Monitoring;
-                        btnSuctionView.IsSelected = false;
-                    }
-                }
-            });
-        }
-
-        #endregion
-
-        #region 鈻� 涓�鑸柟娉昣__________________________
-
-        #endregion
-    }
-}
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Video/ObjectClass.cs b/HDL_ON/UI/UI2/FuntionControlView/Video/ObjectClass.cs
index 36e51aa..384f58d 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Video/ObjectClass.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Video/ObjectClass.cs
@@ -132,11 +132,6 @@
         /// </summary>
         public string deviceName = string.Empty;
         /// <summary>
-        /// 鍖哄垎鏄媱鑰愬厠杩樻槸鑷爺
-        /// 鐩墠鍙湁鑷爺鏈夊�硷細door.gate
-        /// </summary>
-        public string spk = string.Empty;
-        /// <summary>
         /// 璁惧id銆佸簭鍒楀彿銆乽uid
         /// </summary>
         public string deviceId = string.Empty;
@@ -168,6 +163,10 @@
         ///  homeId
         /// </summary>
         public string homeId;
+        /// <summary>
+        ///  璁惧缂栧彿锛堢洰鍓嶇敤浜庡叏瑙嗛�氾紝鐩稿綋浜庡叏瑙嗛�歀ocalDirectory瀛楁锛�
+        /// </summary>
+        public string deviceCode;
     }
 
     /// <summary>
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Video/VideoMainView.cs b/HDL_ON/UI/UI2/FuntionControlView/Video/VideoMainView.cs
index b1c8fb3..b6fa2c9 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Video/VideoMainView.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Video/VideoMainView.cs
@@ -2,16 +2,14 @@
 using HDL_ON.UI.Music;
 using System.Collections.Generic;
 using Shared;
-using HDL_ON.UI.CSS;
+using HDL_ON.Stan;
+using ZXing.QrCode.Internal;
+using static HDL_ON.UI.UI2.FuntionControlView.Video.VideoMethod;
 
 namespace HDL_ON.UI.UI2.FuntionControlView.Video
 {
     public class VideoMainView : FrameLayout
     {
-
-        List<Video> ximoVideoList = new List<Video>();
-
-
         /// <summary>
         /// 鍔犺浇鍙瀵硅UI
         /// </summary>
@@ -19,14 +17,11 @@
         /// <param name="videoList">鍙瀵硅鍒楄〃</param>
         public void Show(List<CallView> listCall, List<Video> videoList)
         {
-            ximoVideoList = videoList.FindAll((obj) => obj.spk == "door.gate");
-
             #region 甯冨眬鐣岄潰
             this.BackgroundColor = MusicColor.ViewColor;
             var topView = new TopView();
             this.AddChidren(topView.TopFLayoutView());
             topView.topNameBtn.TextID = StringId.keshiduijiang;
-
 
             var pageView = new PageLayout()
             {
@@ -38,7 +33,9 @@
             var view1 = new FrameLayout();
             pageView.AddChidren(view1);
             var view2 = new FrameLayout();
-            pageView.AddChidren(view2);
+            if (!Entity.DB_ResidenceData.Instance.SupportFVDevice) {//闈炲叏瑙嗛�氬睍绀洪�氳瘽璁板綍
+                pageView.AddChidren(view2);
+            }
             View1(view1, videoList);
             View2(view2, listCall, videoList);
             Button btn11 = new Button
@@ -50,7 +47,7 @@
                 BackgroundColor = MusicColor.SelectedColor,
                 Radius = (uint)Application.GetRealHeight(4),
             };
-            view1.AddChidren(btn11);
+            //view1.AddChidren(btn11);
 
             Button btn12 = new Button
             {
@@ -61,7 +58,13 @@
                 BackgroundColor = 0x404484F4,
                 Radius = (uint)Application.GetRealHeight(4),
             };
-            view1.AddChidren(btn12);
+            //view1.AddChidren(btn12);
+            if (!Entity.DB_ResidenceData.Instance.SupportFVDevice)
+            {//闈炲叏瑙嗛�氬睍绀轰笅鏂归�夋嫨鎸夐挳
+                view1.AddChidren(btn11);
+                view1.AddChidren(btn12);
+            }
+
             Button btn21 = new Button
             {
                 X = Application.GetRealWidth(170),
@@ -195,17 +198,11 @@
             };
             bjFl.AddChidren(vv);
 
-            bool bol = haveQRCodeVideo(videoList);
+            bool bol = haveFlVideo(videoList);
             if (bol)
             {
                 //闂ㄧ浜岀淮鐮佸浐瀹氭湁鐨�,铏氭嫙涓�涓嚭鏉�
-                videoList.Add(new Video { deviceName = Language.StringByID(StringId.menjinerweima), interphoneType = "100",devType = "100" });
-            }
-            if (ximoVideoList.Count > 0)
-            {
-                //寰樺緤鎶ヨ
-                videoList.Add(new Video { deviceName = Language.StringByID(StringId.WanderingAlarm), interphoneType = "222", devType = "222" });
-                
+                videoList.Add(new Video { deviceName = Language.StringByID(StringId.menjinerweima), interphoneType = "100" });
             }
             //鏁扮粍涓暟
             //int value = 15;
@@ -227,13 +224,10 @@
             };
             vv.AddChidren(fL);
             int line = 0;
-
-
             #endregion
             for (int i = 1, j = 0; i <= videoList.Count; i++, j++)
             {
                 var video = videoList[i - 1];
-             
                 #region
                 var fLayout = new FrameLayout
                 {
@@ -252,7 +246,6 @@
                     UnSelectedImagePath = "VideoIcon/weiqiangji.png",
                 };
                 fLayout.AddChidren(iconBtn);
-
 
                 var deviceNameBtn = new Button
                 {
@@ -281,28 +274,19 @@
                 //闂ㄥ彛鏈虹殑鐐瑰嚮浜嬩欢
                 clickBtn.MouseUpEventHandler += (sender, e) =>
                 {
-                    if (video.devType == "VisitorQrCode")
-                    {
-
-                        return;
-                    }
-                    else if (video.devType == "FaceManagement")
-                    {
-
-                        return;
-                    }
-
                     var video2 = clickBtn.Tag as Video;
                     if (video2.devType == "100")
                     {
-                        ChooseVideoShowQRCode();
-
-                    }
-                    else if(video2.devType == "222")
-                    {
-                        ChooseAlarmShow();
-
-
+                        //闂ㄧ浜岀淮鐮佸浐瀹氭湁鐨�
+                        VideoSend.GetQRcode(this, video2, (tag, paw) =>
+                        {
+                            if (tag)
+                            {
+                                //娉ㄦ剰锛氬瘑鐮佹湁鍙兘寤舵椂1鍒嗛挓鐢熸晥
+                                View.ShowDialog showDialog = new View.ShowDialog();
+                                showDialog.QRcode(paw);
+                            }
+                        });
                     }
                     else
                     {
@@ -330,8 +314,10 @@
                             Lc_Psk = video.deviceId,//2021-10-15 PSK瀛楁涓嶈兘鍙杁eviceName
                             Lc_PlayToken = video.playToken,
                             deviceSipAccount = video.deviceSipAccount,
-                            HomeId = video.homeId
+                            HomeId = video.homeId,
+                            deviceCode=video.deviceCode
                         };
+                        
                         ESOnVideo.Current.ShowESVideoMonitor(eSVideoInfo, video.interphoneType);
                     }
                 };
@@ -567,273 +553,20 @@
 
 
         //鍒ゆ柇鏄惁鏈� 涓版灄鍙瀵硅
-        private bool haveQRCodeVideo(List<Video> videoList)
+        private bool haveFlVideo(List<Video> videoList)
         {
             bool bol = false;
 
             for (int i = 0; i < videoList.Count; i++)
             {
                 var _video = videoList[i];
-                if (_video.interphoneType == "FLVI"|| _video.spk == "door.gate")
-                {
+                if (_video.interphoneType == "FLVI")
                     return true;
-                }
             }
 
             return bol;
         }
 
-
-        /// <summary>
-        /// 鑾峰彇闂ㄧ浜岀淮鐮�
-        /// </summary>
-        public void ChooseVideoShowQRCode()
-        {
-            Dialog dialog = new Dialog()
-            {
-                BackgroundColor = CSS_Color.DialogTransparentColor1,
-            };
-
-            FrameLayout dialogView = new FrameLayout();
-            dialog.AddChidren(dialogView);
-            dialogView.MouseUpEventHandler = (sender, e) => {
-                dialog.Close();
-            };
-
-            var contentView = new FrameLayout()
-            {
-                Gravity = Gravity.Center,
-                Width = Application.GetRealWidth(270),
-                Height = Application.GetRealHeight(280),
-                BackgroundColor = CSS_Color.MainBackgroundColor,
-                BorderColor = 0x00000000,
-                BorderWidth = 0,
-                Radius = (uint)Application.GetMinRealAverage(10),
-            };
-            dialogView.AddChidren(contentView);
-
-            var btnTitle = new Button()
-            {
-                Height = Application.GetRealHeight(64),
-                TextAlignment = TextAlignment.Center,
-                TextColor = CSS_Color.FirstLevelTitleColor,
-                TextID = StringId.menjinerweima,
-                TextSize = CSS_FontSize.SubheadingFontSize,
-            };
-            contentView.AddChidren(btnTitle);
-
-            var listView = new VerticalScrolViewLayout()
-            {
-                Gravity = Gravity.CenterHorizontal,
-                Y = Application.GetRealHeight(70),
-                Width = Application.GetRealWidth(230),
-                Height = Application.GetRealHeight(200),
-            };
-            contentView.AddChidren(listView);
-
-            //if (ximoVideoList.Count == 1)
-            {
-                Loading loading = new Loading();
-                contentView.AddChidren(loading);
-                loading.Start("");
-                new System.Threading.Thread(() =>
-                {
-                    try
-                    {
-                        var pack = VideoSend.GetQRcode();
-                        var pairs = Newtonsoft.Json.JsonConvert.DeserializeObject<List<AccessControlQRode>>(pack.Data.ToString());
-                        if (pairs.Count > 0)
-                        {
-                            Application.RunOnMainThread(() =>
-                            {
-                                ImageView codeImage = new ImageView()
-                                {
-                                    Gravity = Gravity.Center,
-                                    Height = Application.GetRealWidth(320),
-                                    Width = Application.GetRealWidth(320),
-                                    ImageBytes = Scan.BytesFromText(pairs[0].qrcode, Application.GetRealWidth(200), Application.GetRealWidth(200)),
-                                };
-                                dialogView.AddChidren(codeImage);
-                            });
-                        }
-                    }
-                    catch (Exception ex)
-                    {
-                        MainPage.Log($"鑾峰彇闂ㄧ浜岀淮鐮佸紓甯革細{ex.Message}");
-                    }
-                    finally
-                    {
-                        Application.RunOnMainThread(() =>
-                        {
-                            if (loading != null)
-                            {
-                                loading.Hide();
-                                loading.RemoveFromParent();
-                            }
-                        });
-                    }
-                })
-                { IsBackground = true }.Start();
-            }
-            //else
-            //{
-
-            //    foreach (var v in ximoVideoList)
-            //    {
-            //        Button btnMsg = new Button()
-            //        {
-            //            Gravity = Gravity.CenterHorizontal,
-            //            Height = Application.GetRealHeight(50),
-            //            Width = Application.GetRealHeight(160),
-            //            TextAlignment = TextAlignment.Center,
-            //            TextColor = CSS_Color.TextualColor,
-            //            TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
-            //            Text = v.deviceName,
-            //            Radius = (uint)Application.GetRealWidth(5),
-            //            BackgroundColor = CSS_Color.DividingLineColor,
-            //            IsMoreLines = true,
-            //        };
-            //        listView.AddChidren(btnMsg);
-
-            //        listView.AddChidren(new Button() { Height = Application.GetRealHeight(12) });
-
-            //        btnMsg.MouseUpEventHandler = (sender, e) =>
-            //        {
-
-
-            //            if (v.spk == "door.gate")
-            //            {
-                          
-            //                return;
-            //            }
-
-            //            //闂ㄧ浜岀淮鐮佸浐瀹氭湁鐨�
-            //            VideoSend.GetQRcode(this, v, (tag, paw) =>
-            //            {
-            //                if (tag)
-            //                {
-            //                //娉ㄦ剰锛氬瘑鐮佹湁鍙兘寤舵椂1鍒嗛挓鐢熸晥
-            //                View.ShowDialog showDialog = new View.ShowDialog();
-            //                    showDialog.QRcode(paw);
-            //                }
-            //            });
-            //            dialog.Close();
-            //        };
-            //    }
-            //}
-            dialog.Show();
-
-        }
-
-        /// <summary>
-        /// 閫夋嫨寰樺緤鎶ヨ鍒楄〃鏄剧ず
-        /// </summary>
-        public void ChooseAlarmShow()
-        {
-            if (ximoVideoList.Count == 1)
-            {
-                var wanderingAlarmPage = new WanderingAlarmPage(ximoVideoList[0].deviceId);
-                MainPage.BasePageView.AddChidren(wanderingAlarmPage);
-                wanderingAlarmPage.LoadPage();
-                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
-
-            }
-            else
-            {
-                Dialog dialog = new Dialog()
-                {
-                    BackgroundColor = CSS_Color.DialogTransparentColor1,
-                };
-
-                FrameLayout dialogView = new FrameLayout();
-                dialog.AddChidren(dialogView);
-                dialogView.MouseUpEventHandler = (sender, e) =>
-                {
-                    dialog.Close();
-                };
-
-                var contentView = new FrameLayout()
-                {
-                    Gravity = Gravity.Center,
-                    Width = Application.GetRealWidth(270),
-                    Height = Application.GetRealHeight(280),
-                    BackgroundColor = CSS_Color.MainBackgroundColor,
-                    BorderColor = 0x00000000,
-                    BorderWidth = 0,
-                    Radius = (uint)Application.GetMinRealAverage(10),
-                };
-                dialogView.AddChidren(contentView);
-
-                var btnTitle = new Button()
-                {
-                    Height = Application.GetRealHeight(64),
-                    TextAlignment = TextAlignment.Center,
-                    TextColor = CSS_Color.FirstLevelTitleColor,
-                    TextID = StringId.WanderingAlarm,
-                    TextSize = CSS_FontSize.SubheadingFontSize,
-                };
-                contentView.AddChidren(btnTitle);
-
-                var listView = new VerticalScrolViewLayout()
-                {
-                    Gravity = Gravity.CenterHorizontal,
-                    Y = Application.GetRealHeight(70),
-                    Width = Application.GetRealWidth(230),
-                    Height = Application.GetRealHeight(200),
-                };
-                contentView.AddChidren(listView);
-
-
-                foreach (var v in ximoVideoList)
-                {
-                    Button btnMsg = new Button()
-                    {
-                        Gravity = Gravity.CenterHorizontal,
-                        Height = Application.GetRealHeight(50),
-                        Width = Application.GetRealHeight(160),
-                        TextAlignment = TextAlignment.Center,
-                        TextColor = CSS_Color.TextualColor,
-                        TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
-                        Text = v.deviceName,
-                        Radius = (uint)Application.GetRealWidth(5),
-                        BackgroundColor = CSS_Color.DividingLineColor,
-                        IsMoreLines = true,
-                    };
-                    listView.AddChidren(btnMsg);
-
-                    listView.AddChidren(new Button() { Height = Application.GetRealHeight(12) });
-
-                    btnMsg.MouseUpEventHandler = (sender, e) =>
-                    {
-
-
-                        var wanderingAlarmPage = new WanderingAlarmPage(v.deviceId);
-                        MainPage.BasePageView.AddChidren(wanderingAlarmPage);
-                        wanderingAlarmPage.LoadPage();
-                        MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
-
-                        dialog.Close();
-                    };
-                }
-                dialog.Show();
-            }
-
-        }
-
-
     }
-
-    public class AccessControlQRode
-    {
-        public string title = string.Empty;
-        public string codeType = string.Empty;
-        public string userName = string.Empty;
-        public string houseFullName = string.Empty;
-        public string communityName = string.Empty;
-        public string desc = string.Empty;
-        public string businessType = string.Empty;
-        public string qrcode = string.Empty;
-    }
-
 
 }
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Video/VideoSend.cs b/HDL_ON/UI/UI2/FuntionControlView/Video/VideoSend.cs
index 9388f8b..ae759bb 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Video/VideoSend.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Video/VideoSend.cs
@@ -3,7 +3,6 @@
 using System.IO;
 using System.Net;
 using HDL_ON.DAL.Server;
-using HDL_ON.Entity;
 using HDL_ON.UI.UI2.PersonalCenter.PirDevice;
 using Newtonsoft.Json.Linq;
 using Shared;
@@ -82,18 +81,6 @@
             return revertObj;
         }
 
-        public static ResponsePackNew GetQRcode()
-        {
-            var jobject = new JObject();
-            jobject.Add("userId", UserInfo.Current.ID);
-            jobject.Add("userType", "C");
-            jobject.Add("houseId", DB_ResidenceData.Instance.CurrentRegion.id);
-            jobject.Add("codeSecond", "60");
-            var requestJson = HttpUtil.GetSignRequestJson(jobject);//鏁版嵁绛惧悕
-            var revertObj = HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_OwnerQRCode, requestJson);
-            return revertObj;
-        }
-
         /// <summary>
         /// 涓婃姤鍔ㄦ�佸紑閿佸瘑鐮�(娉ㄦ剰锛氬瘑鐮佹湁鍙兘寤舵椂1鍒嗛挓鐢熸晥)
         /// </summary>
@@ -103,21 +90,12 @@
             bool if_bool = false;
             //涓存椂瀵嗙爜
             string pwd = VideoMethod.GetCode();
-            var jobject = new JObject();
-
-
-                jobject.Add("communityID", video.flRoomBindVO.flCmtId);//绀惧尯ID
-                jobject.Add("fromTime", VideoMethod.GetCurrentTimeStamp());//寮�濮嬫椂闂�
-                jobject.Add("validTime", VideoMethod.GetTomorrowTimeStamp());//鏈夋晥鏃堕棿
-                jobject.Add("unitno", video.flRoomBindVO.flBuildingId);//鍗曞厓鍙�
-                jobject.Add("roomno", video.flRoomBindVO.flRoomId);//鎴块棿鍙�
-                jobject.Add("code", pwd);
-                jobject.Add("userKey", video.flRoomBindVO.id);
-                jobject.Add("timestamp", VideoMethod.GetCurrentTimeStamp());
-                jobject.Add("secretKey", video.flRoomBindVO.flSecretKey);
-                jobject.Add("method", "setdynamicpwd");
-                jobject.Add("numTimes", "5");
-            
+            var jobject = new JObject();
            jobject.Add("communityID", video.flRoomBindVO.flCmtId);//绀惧尯ID
+            jobject.Add("fromTime", VideoMethod.GetCurrentTimeStamp());//寮�濮嬫椂闂�
+            jobject.Add("validTime", VideoMethod.GetTomorrowTimeStamp());//鏈夋晥鏃堕棿
+            jobject.Add("unitno", video.flRoomBindVO.flBuildingId);//鍗曞厓鍙�
+            jobject.Add("roomno", video.flRoomBindVO.flRoomId);//鎴块棿鍙�
+            jobject.Add("code", pwd);
            jobject.Add("userKey", video.flRoomBindVO.id);
            jobject.Add("timestamp", VideoMethod.GetCurrentTimeStamp());
            jobject.Add("secretKey", video.flRoomBindVO.flSecretKey);
            jobject.Add("method", "setdynamicpwd");
            jobject.Add("numTimes", "5");
             //鍔犺浇log
             Loading loading = new Loading();
             frame.AddChidren(loading);
@@ -126,9 +104,7 @@
             {
                 try
                 {
-                    string str = "";
-
-                    str = HttpWebRequest(NewAPI.API_POST_FL_QRcode, jobject.ToString(), "POST");
+                    var str = HttpWebRequest(NewAPI.API_POST_FL_QRcode, jobject.ToString(), "POST");
                     if (!string.IsNullOrEmpty(str))
                     {
                         var json = JObject.Parse(str);
diff --git a/Shared.Droid.HDLLinphone/Additions/AboutAdditions.txt b/Shared.Droid.HDLLinphone/Additions/AboutAdditions.txt
new file mode 100644
index 0000000..c240307
--- /dev/null
+++ b/Shared.Droid.HDLLinphone/Additions/AboutAdditions.txt
@@ -0,0 +1,48 @@
+锘緼dditions allow you to add arbitrary C# to the generated classes
+before they are compiled.  This can be helpful for providing convenience
+methods or adding pure C# classes.
+
+== Adding Methods to Generated Classes ==
+
+Let's say the library being bound has a Rectangle class with a constructor
+that takes an x and y position, and a width and length size.  It will look like
+this:
+
+public partial class Rectangle
+{
+    public Rectangle (int x, int y, int width, int height)
+    {
+        // JNI bindings
+    }
+}
+
+Imagine we want to add a constructor to this class that takes a Point and
+Size structure instead of 4 ints.  We can add a new file called Rectangle.cs
+with a partial class containing our new method:
+
+public partial class Rectangle
+{
+    public Rectangle (Point location, Size size) :
+        this (location.X, location.Y, size.Width, size.Height)
+    {
+    }
+}
+
+At compile time, the additions class will be added to the generated class
+and the final assembly will a Rectangle class with both constructors.
+
+
+== Adding C# Classes ==
+
+Another thing that can be done is adding fully C# managed classes to the
+generated library.  In the above example, let's assume that there isn't a
+Point class available in Java or our library.  The one we create doesn't need
+to interact with Java, so we'll create it like a normal class in C#.
+
+By adding a Point.cs file with this class, it will end up in the binding library:
+
+public class Point
+{
+    public int X { get; set; }
+    public int Y { get; set; }
+}
\ No newline at end of file
diff --git a/Shared.Droid.HDLLinphone/Jars/AboutJars.txt b/Shared.Droid.HDLLinphone/Jars/AboutJars.txt
new file mode 100644
index 0000000..c359b62
--- /dev/null
+++ b/Shared.Droid.HDLLinphone/Jars/AboutJars.txt
@@ -0,0 +1,24 @@
+锘縏his directory is for Android .jars.
+
+There are 2 types of jars that are supported:
+
+== Input Jar ==
+
+This is the jar that bindings should be generated for.
+
+For example, if you were binding the Google Maps library, this would
+be Google's "maps.jar".
+
+Set the build action for these jars in the properties page to "InputJar".
+
+
+== Reference Jars ==
+
+These are jars that are referenced by the input jar.  C# bindings will
+not be created for these jars.  These jars will be used to resolve
+types used by the input jar.
+
+NOTE: Do not add "android.jar" as a reference jar.  It will be added automatically
+based on the Target Framework selected.
+
+Set the build action for these jars in the properties page to "ReferenceJar".
\ No newline at end of file
diff --git a/Shared.Droid.HDLLinphone/Jars/HDLLinphoneSDK-V1.0.1.aar b/Shared.Droid.HDLLinphone/Jars/HDLLinphoneSDK-V1.0.1.aar
new file mode 100644
index 0000000..4171066
--- /dev/null
+++ b/Shared.Droid.HDLLinphone/Jars/HDLLinphoneSDK-V1.0.1.aar
Binary files differ
diff --git a/Shared.Droid.HDLLinphone/Properties/AssemblyInfo.cs b/Shared.Droid.HDLLinphone/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..e06cae3
--- /dev/null
+++ b/Shared.Droid.HDLLinphone/Properties/AssemblyInfo.cs
@@ -0,0 +1,26 @@
+锘縰sing System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+using Android.App;
+
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("Shared.Droid.HDLLinphone")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("Shared.Droid.HDLLinphone")]
+[assembly: AssemblyCopyright("Copyright 漏  2021")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+[assembly: ComVisible(false)]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+[assembly: AssemblyVersion("1.0.1.7")]
+[assembly: AssemblyFileVersion("1.0.1.7")]
diff --git a/Shared.Droid.HDLLinphone/Shared.Droid.HDLLinphone.csproj b/Shared.Droid.HDLLinphone/Shared.Droid.HDLLinphone.csproj
new file mode 100644
index 0000000..99d751f
--- /dev/null
+++ b/Shared.Droid.HDLLinphone/Shared.Droid.HDLLinphone.csproj
@@ -0,0 +1,74 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>8.0.30703</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{703D29ED-674F-44A8-8AAD-863035899D4B}</ProjectGuid>
+    <ProjectTypeGuids>{10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+    <TemplateGuid>{77efb91c-a7e9-4b0e-a7c5-31eeec3c6d46}</TemplateGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>Shared.Droid.HDLLinphone</RootNamespace>
+    <AssemblyName>Shared.Droid.HDLLinphone</AssemblyName>
+    <FileAlignment>512</FileAlignment>
+    <Deterministic>True</Deterministic>
+    <TargetFrameworkVersion>v8.0</TargetFrameworkVersion>
+    <AndroidClassParser>class-parse</AndroidClassParser>
+    <AndroidCodegenTarget>XAJavaInterop1</AndroidCodegenTarget>
+    <RestoreProjectStyle>PackageReference</RestoreProjectStyle>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>portable</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="Mono.Android" />
+    <Reference Include="System" />
+    <Reference Include="System.Core" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="Jars\AboutJars.txt" />
+    <None Include="Additions\AboutAdditions.txt" />
+  </ItemGroup>
+  <ItemGroup>
+    <TransformFile Include="Transforms\Metadata.xml" />
+    <TransformFile Include="Transforms\EnumFields.xml" />
+    <TransformFile Include="Transforms\EnumMethods.xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <PackageReference Include="Xamarin.Android.Support.v7.AppCompat">
+      <Version>28.0.0.3</Version>
+    </PackageReference>
+    <PackageReference Include="Xamarin.Android.Arch.Core.Common">
+      <Version>1.1.1.3</Version>
+    </PackageReference>
+  </ItemGroup>
+  <ItemGroup>
+    <LibraryProjectZip Include="Jars\HDLLinphoneSDK-V1.0.1.aar" />
+  </ItemGroup>
+  <Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.Bindings.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+</Project>
\ No newline at end of file
diff --git a/Shared.Droid.HDLLinphone/Transforms/EnumFields.xml b/Shared.Droid.HDLLinphone/Transforms/EnumFields.xml
new file mode 100644
index 0000000..e4a0f89
--- /dev/null
+++ b/Shared.Droid.HDLLinphone/Transforms/EnumFields.xml
@@ -0,0 +1,15 @@
+锘�<?xml version="1.0" encoding="UTF-8"?>
+<enum-field-mappings>
+    <!--
+  This example converts the constants Fragment_id, Fragment_name,
+  and Fragment_tag from android.support.v4.app.FragmentActivity.FragmentTag
+  to an enum called Android.Support.V4.App.FragmentTagType with values
+  Id, Name, and Tag.
+  
+  <mapping jni-class="android/support/v4/app/FragmentActivity$FragmentTag" clr-enum-type="Android.Support.V4.App.FragmentTagType">
+    <field jni-name="Fragment_name" clr-name="Name" value="0" />
+    <field jni-name="Fragment_id" clr-name="Id" value="1" />
+    <field jni-name="Fragment_tag" clr-name="Tag" value="2" />
+  </mapping>
+  -->
+</enum-field-mappings>
\ No newline at end of file
diff --git a/Shared.Droid.HDLLinphone/Transforms/EnumMethods.xml b/Shared.Droid.HDLLinphone/Transforms/EnumMethods.xml
new file mode 100644
index 0000000..6ff109b
--- /dev/null
+++ b/Shared.Droid.HDLLinphone/Transforms/EnumMethods.xml
@@ -0,0 +1,14 @@
+锘�<?xml version="1.0" encoding="UTF-8"?>
+<enum-method-mappings>
+    <!--
+  This example changes the Java method:
+    android.support.v4.app.Fragment.SavedState.writeToParcel (int flags)
+  to be:
+    android.support.v4.app.Fragment.SavedState.writeToParcel (Android.OS.ParcelableWriteFlags flags)
+  when bound in C#.
+  
+  <mapping jni-class="android/support/v4/app/Fragment.SavedState">
+    <method jni-name="writeToParcel" parameter="flags" clr-enum-type="Android.OS.ParcelableWriteFlags" />
+  </mapping>
+  -->
+</enum-method-mappings>
\ No newline at end of file
diff --git a/Shared.Droid.HDLLinphone/Transforms/Metadata.xml b/Shared.Droid.HDLLinphone/Transforms/Metadata.xml
new file mode 100644
index 0000000..c7b06b3
--- /dev/null
+++ b/Shared.Droid.HDLLinphone/Transforms/Metadata.xml
@@ -0,0 +1,12 @@
+锘�<?xml version="1.0" encoding="UTF-8"?>
+<metadata>
+    <!--
+  This sample removes the class: android.support.v4.content.AsyncTaskLoader.LoadTask:
+  <remove-node path="/api/package[@name='android.support.v4.content']/class[@name='AsyncTaskLoader.LoadTask']" />
+  
+  This sample removes the method: android.support.v4.content.CursorLoader.loadInBackground:
+  <remove-node path="/api/package[@name='android.support.v4.content']/class[@name='CursorLoader']/method[@name='loadInBackground']" />
+  -->
+    <remove-node path="/api/package[starts-with(@name,'org.linphone')]" />
+    <remove-node path="/api/package[starts-with(@name,'org.apache')]" />
+</metadata>
\ No newline at end of file
diff --git a/SiriIntents/SiriIntents.csproj b/SiriIntents/SiriIntents.csproj
index 5029570..45c6d61 100644
--- a/SiriIntents/SiriIntents.csproj
+++ b/SiriIntents/SiriIntents.csproj
@@ -28,7 +28,6 @@
     <MtouchHttpClientHandler>NSUrlSessionHandler</MtouchHttpClientHandler>
     <DeviceSpecificBuild>false</DeviceSpecificBuild>
     <MtouchVerbosity></MtouchVerbosity>
-    <CodesignProvision>OnProSiri220307-2-Dev</CodesignProvision>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhone' ">
     <DebugType>pdbonly</DebugType>
@@ -45,6 +44,7 @@
     <MtouchArch>ARM64</MtouchArch>
     <MtouchHttpClientHandler>NSUrlSessionHandler</MtouchHttpClientHandler>
     <MtouchVerbosity></MtouchVerbosity>
+    <CodesignProvision>OnProSiri220307-1-Hoc</CodesignProvision>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhoneSimulator' ">
     <DebugType>pdbonly</DebugType>
@@ -86,14 +86,14 @@
     <Reference Include="System.Xml" />
     <Reference Include="System.Core" />
     <Reference Include="Xamarin.iOS" />
+    <Reference Include="Shared.IOS.HDLSceneSiri">
+      <HintPath>..\DLL\IOS\Shared.IOS.HDLSceneSiri.dll</HintPath>
+    </Reference>
     <Reference Include="Newtonsoft.Json">
       <HintPath>..\packages\Newtonsoft.Json.13.0.1\lib\netstandard2.0\Newtonsoft.Json.dll</HintPath>
     </Reference>
     <Reference Include="RestSharp">
       <HintPath>..\packages\RestSharp.106.13.0\lib\netstandard2.0\RestSharp.dll</HintPath>
-    </Reference>
-    <Reference Include="Shared.IOS.HDLSceneSiri">
-      <HintPath>..\DLL\IOS\Shared.IOS.HDLSceneSiri.dll</HintPath>
     </Reference>
   </ItemGroup>
   <ItemGroup>
diff --git a/SiriIntentsUI/SiriIntentsUI.csproj b/SiriIntentsUI/SiriIntentsUI.csproj
index 324b36f..da2da8b 100644
--- a/SiriIntentsUI/SiriIntentsUI.csproj
+++ b/SiriIntentsUI/SiriIntentsUI.csproj
@@ -29,7 +29,6 @@
     <DeviceSpecificBuild>false</DeviceSpecificBuild>
     <MtouchVerbosity></MtouchVerbosity>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <CodesignProvision>OnProSiriUI220307-2-Dev</CodesignProvision>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhone' ">
     <DebugType>pdbonly</DebugType>

--
Gitblit v1.8.0