From 65d30e65eb0ee4168871e891984ea565b144c7f4 Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期五, 16 七月 2021 10:35:10 +0800
Subject: [PATCH] 海林传感器主页显示

---
 HDL-ON_Android/Properties/AndroidManifest.xml           |   47 +++
 HDL_ON/UI/UI2/1-HomePage/HomePage.cs                    |   28 ++
 HDL_ON/UI/UI2/FuntionControlView/Video/VideoMainView.cs |    3 
 HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPageBLL.cs |    2 
 HDL_ON/UI/UI2/UserPage.cs                               |   37 +-
 HDL-ON_Android/LeChengVideo/Form/MonitorFragment.cs     |    9 
 HDL-ON_Android/Resources/values-zh/strings.xml          |    4 
 HDL_ON/Entity/FunctionList.cs                           |    1 
 HDL-ON_Android/LeChengVideoActivity.cs                  |   84 ++++++
 HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs                 |    2 
 HDL-ON_Android/Resources/values/strings.xml             |    9 
 HDL-ON_iOS/Info.plist                                   |    4 
 HDL-ON_Android/Resources/Resource.designer.cs           |  348 ++++++++++++++--------------
 HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs     |   22 +
 HDL-ON_Android/LeChengVideo/Form/ReverseCallFragment.cs |   48 +--
 HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPage.cs    |    2 
 .vs/HDL_APP_Project/xs/UserPrefs.xml                    |   17 -
 HDL_ON/UI/MainPage.cs                                   |    2 
 HDL_ON/UI/UI1-Login/LoginPage.cs                        |   11 
 HDL-ON_Android/Application.cs                           |    2 
 20 files changed, 423 insertions(+), 259 deletions(-)

diff --git a/.vs/HDL_APP_Project/xs/UserPrefs.xml b/.vs/HDL_APP_Project/xs/UserPrefs.xml
index 11cc970..f74a32c 100644
--- a/.vs/HDL_APP_Project/xs/UserPrefs.xml
+++ b/.vs/HDL_APP_Project/xs/UserPrefs.xml
@@ -1,23 +1,14 @@
-锘�<Properties StartupConfiguration="{D998E133-F0DD-4760-BE3C-461632F54DA4}|Default">
+锘�<Properties StartupConfiguration="{09712674-2A38-407B-B1E2-560B2C352F9A}|Default">
   <MonoDevelop.Ide.ItemProperties.HDL-ON__iOS PreferredExecutionTarget="MonoDevelop.IPhone.IPhoneDeviceTarget.00008020-000404163432002E" />
-  <MonoDevelop.Ide.Workbench ActiveDocument="HDL-ON_iOS/Info.plist">
+  <MonoDevelop.Ide.Workbench>
     <Files>
-      <File FileName="HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs" Line="704" Column="80" />
-      <File FileName="HDL_ON/UI/UI2/2-Classification/RoomPage.cs" />
-      <File FileName="HDL_ON/DAL/Server/HttpUtil.cs" />
-      <File FileName="HDL_ON/Common/ApiUtlis.cs" />
-      <File FileName="HDL_ON/DAL/DriverLayer/Control.cs" />
-      <File FileName="HDL_ON/DAL/DriverLayer/Control_Udp.cs" />
-      <File FileName="HDL_ON/DAL/DriverLayer/Packet.cs" />
-      <File FileName="HDL-ON_iOS/Info.plist" />
+      <File FileName="HDL_ON/DAL/Server/HttpUtil.cs" Line="1" Column="1" />
     </Files>
     <Pads>
       <Pad Id="ProjectPad">
         <State name="__root__">
           <Node name="HDL_APP_Project" expanded="True">
-            <Node name="HDL-ON_iOS" expanded="True">
-              <Node name="Info.plist" selected="True" />
-            </Node>
+            <Node name="HDL-ON_Android" selected="True" />
           </Node>
         </State>
       </Pad>
diff --git a/HDL-ON_Android/Application.cs b/HDL-ON_Android/Application.cs
index 3d29968..ecb3682 100644
--- a/HDL-ON_Android/Application.cs
+++ b/HDL-ON_Android/Application.cs
@@ -128,8 +128,6 @@
                     //缃戠粶鍙樺寲澶勭悊
                     HDLCommon.Current.UpdateInternetStatus((int)internetStatus, MainPage.IsEnterBackground);
                 };
-                //寮�鍚畾浣嶆湇鍔�
-                Shared.Application.StartGPSLocationService();
             };
             BaseActivity.RefreshUIAction += (activity) =>
             {
diff --git a/HDL-ON_Android/LeChengVideo/Form/MonitorFragment.cs b/HDL-ON_Android/LeChengVideo/Form/MonitorFragment.cs
index 23cefec..f5d7ebb 100644
--- a/HDL-ON_Android/LeChengVideo/Form/MonitorFragment.cs
+++ b/HDL-ON_Android/LeChengVideo/Form/MonitorFragment.cs
@@ -62,7 +62,7 @@
             screenshotLayout.SetOnClickListener(this);
         }
 
-       
+
 
         /// <summary>
         /// 寮�閿�
@@ -70,6 +70,8 @@
         private void Unlock()
         {
             //
+            CurtActivity.Unlock();
+            UpdataUnlockState();
         }
 
         /// <summary>
@@ -117,16 +119,17 @@
             if (v.Equals(unlockLayout))
             {
                 //寮�閿�
+                Unlock();
             }
             else if (v.Equals(screenshotLayout))
             {
                 //鏈夎棰戣繃鏉ュ彲璋冪敤姝ゆ帴鍙h繘琛屾媿鐓�
-                // 鍐呴儴鍌ㄥ瓨/DCIM/Camera/.....jpg
                 screenImage.Selected = true;
                 SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss");
                 string time = format.Format(new Date(SystemClock.CurrentThreadTimeMillis()));
-                string ss = Android.OS.Environment.ExternalStorageDirectory.Path + "/DCIM/Camera";
+                string ss = Android.OS.Environment.ExternalStorageDirectory.Path + "/DCIM/HDL";
                 string path = ss + "/" + time + ".jpg";
+                CurtActivity.SnapShot(path);
             }
         }
 
diff --git a/HDL-ON_Android/LeChengVideo/Form/ReverseCallFragment.cs b/HDL-ON_Android/LeChengVideo/Form/ReverseCallFragment.cs
index 84d67cf..4f0d886 100644
--- a/HDL-ON_Android/LeChengVideo/Form/ReverseCallFragment.cs
+++ b/HDL-ON_Android/LeChengVideo/Form/ReverseCallFragment.cs
@@ -50,7 +50,7 @@
             CurtActivity.Play();
 
             CurtActivity.CloseAudio();
-            
+
             return mView;
         }
 
@@ -95,6 +95,16 @@
                 catch { }
 
             }).Start();
+        }
+
+        /// <summary>
+        /// 寮�閿�
+        /// </summary>
+        private void Unlock()
+        {
+            //
+            CurtActivity.Unlock();
+            UpdataUnlockState();
         }
 
         /// <summary>
@@ -206,39 +216,17 @@
             else if (v.Equals(screenshotImg))
             {
                 //鏈夎棰戣繃鏉ュ彲璋冪敤姝ゆ帴鍙h繘琛屾媿鐓�
+                screenshotImg.Selected = true;
+                SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss");
+                string time = format.Format(new Date(SystemClock.CurrentThreadTimeMillis()));
+                string ss = Android.OS.Environment.ExternalStorageDirectory.Path + "/DCIM/Camera";
+                string path = ss + "/" + time + ".jpg";
+                CurtActivity.SnapShot(path);
             }
             else if (v.Equals(unlockImg))
             {
-                PostUnlock();
+                CurtActivity.Unlock();
             }
-        }
-
-        /// <summary>
-        /// post 鎴浘
-        /// </summary>
-        /// <param name="path">鎴浘淇濈暀鐨勮矾寰�</param>
-        private void PostScreenshot(string path)
-        {
-            new Thread(() =>
-            {
-                try
-                {
-                    string[] str = path.Split("/");
-                    string img_name = str.GetValue(str.Length - 1).ToString().Replace(".jpg", "");
-                    byte[] images = FileUtlis.Files.ReadFileForPath(path);
-                    Dictionary<string, object> d = new Dictionary<string, object>();
-                    d.Add("callId", VideoActivity.CallId);
-                    d.Add("images", images);
-                    d.Add("imagesName", img_name);
-                    string jsonString = HttpUtil.GetSignRequestJson(d);
-
-                    string url = "/home-wisdom/app/fl/vi/screenshot";
-                    ResponsePackNew response = HttpUtil.RequestHttpsPost(url, jsonString);
-                    Log.Info("LcVideo", "Post Screenshot Response code=" + response.Code);
-                }
-                catch { }
-
-            }).Start();
         }
 
         /// <summary>
diff --git a/HDL-ON_Android/LeChengVideoActivity.cs b/HDL-ON_Android/LeChengVideoActivity.cs
index 9020958..7cff4e5 100644
--- a/HDL-ON_Android/LeChengVideoActivity.cs
+++ b/HDL-ON_Android/LeChengVideoActivity.cs
@@ -21,6 +21,7 @@
 using Com.Lechange.Opensdk.Media;
 using HDL_ON.DAL.Server;
 using HDL_ON_Android.LeChengView.Form;
+using Java.IO;
 using Java.Lang;
 
 namespace HDL_ON_Android
@@ -37,6 +38,8 @@
         public string PlayToken = "";//鎾斁playToken
         public string CallId = "";//鍛煎彨Id
         private int Type = 0;//0鐩戞帶锛�1瀵硅
+        private string DeviceName = "";// 澶囨敞
+
         /// <summary>
         /// 0:鍥藉唴锛�1娴峰
         /// </summary>
@@ -65,6 +68,7 @@
             Type = Intent.GetIntExtra("Type", 0);//0鐩戞帶锛�1瀵硅//1
             Location = Intent.GetIntExtra("Location", 0);//1
             CallId = Intent.GetStringExtra("callId");//1384766990812426242
+            DeviceName = Intent.GetStringExtra("DeviceName");
 
             InitLCSDK();
 
@@ -95,7 +99,7 @@
             ivBack = (ImageView)FindViewById(Resource.Id.videoBackImg);
             tvName = (TextView)FindViewById(Resource.Id.nameText);
 
-            tvName.SetText("DeviceName", null);
+            tvName.SetText(DeviceName, null);
             ivBack.SetOnClickListener(this);
 
         }
@@ -185,6 +189,84 @@
         }
 
         /// <summary>
+        /// 寮�閿�
+        /// </summary>
+        public void Unlock()
+        {
+            //
+            Dictionary<string, object> dic = new Dictionary<string, object>();
+            dic.Add("deviceId", this.DeviceId);
+            dic.Add("callId", this.CallId);
+
+            var requestJson = HttpUtil.GetSignRequestJson(dic);
+            var revertObj = HttpUtil.RequestHttpsPostFroHome("/home-wisdom/platform/imou/openDoorbell", requestJson);
+            if (revertObj.Code == StateCode.SUCCESS)
+            {
+                Toast.MakeText(this, Resources.GetString(Resource.String.unlock_success), ToastLength.Short).Show();
+            }
+            else
+            {
+                Toast.MakeText(this, Resources.GetString(Resource.String.unlock_fail), ToastLength.Short).Show();
+            }
+        }
+
+        /// <summary>
+        /// 鎴浘
+        /// </summary>
+        /// <param name="path"></param>
+        public void SnapShot(string path)
+        {
+            try
+            {
+                int code = mPlayWindow.SnapShot(path);
+                if (code == 0)
+                {
+                    //Android.Provider.MediaStore.Images.Media.InsertImage(this.getContentResolver(), path, "ss", "ss");
+                    Toast.MakeText(this, Resources.GetString(Resource.String.screenshot_success), ToastLength.Short).Show();
+                }
+                else
+                {
+                    Toast.MakeText(this, Resources.GetString(Resource.String.screenshot_fail), ToastLength.Short).Show();
+                }
+            }
+            catch (System.Exception e)
+            {
+                string error = e.Message;
+            }
+            
+            //杩愯鍒拌繖锛宲hotoFile宸茬粡瀛樺湪锛岃繖閲岄渶瑕佽幏寰楄繖涓枃浠剁殑uri
+            //* 鍒嗕袱绉嶆儏鍐碉紝android7.0浠ヤ笂鍜屼互涓�
+            // 鍏堝瓨鍏ヤ复鏃剁洰褰曪紝鐒跺悗鍐嶇Щ鍔ㄥ埌鐩稿唽鐩綍涓�
+            //File photoFile = new File(path);
+            //Android.Net.Uri photoUri;
+
+            //if (Build.VERSION.SdkInt >= 24)
+            //if (Build.VERSION.PreviewSdkInt >= 24)
+            //{
+
+            //    /**
+            //     * FileProvider.getUriForFile(),杩欎釜鏂规硶涓渶瑕佸~鍐欎笁涓弬鏁帮紝
+            //     * 绗竴涓狢ontext锛�
+            //     * 绗簩涓猄
+            //     * tring 浠绘剰
+            //     * 绗笁涓狥ile
+            //     */
+            //    photoUri = FileProvider.GetUriForFile(this, "HDL Video SnapShot", photoFile);
+
+            //}
+            //else
+            //{
+            //    photoUri = Android.Net.Uri.FromFile(photoFile);
+            //}
+    
+        }
+
+        private ContentResolver getContentResolver()
+        {
+            throw new NotImplementedException();
+        }
+
+        /// <summary>
         /// 璁剧疆椤堕儴鐘舵�佹爮鑳屾櫙閫忔槑
         /// </summary>
         private void SetStatusBarColor()
diff --git a/HDL-ON_Android/Properties/AndroidManifest.xml b/HDL-ON_Android/Properties/AndroidManifest.xml
index f928257..9d87cd4 100644
--- a/HDL-ON_Android/Properties/AndroidManifest.xml
+++ b/HDL-ON_Android/Properties/AndroidManifest.xml
@@ -1,6 +1,49 @@
 锘�<?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="202107094" android:versionName="1.2.202107094" package="com.hdl.onpro">
+<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="202107151" android:versionName="1.2.202107151" package="com.hdl.onpro">
 	<uses-sdk android:minSdkVersion="23" android:targetSdkVersion="29" />
+	<!-- 涔愭鍙瀵硅闇�瑕佺殑鏉冮檺 -->
+	<!--<uses-permission android:name="android.permission.INTERNET" />-->
+	<!--缃戠粶璁块棶-->
+	<!--<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />-->
+	<!--鍏佽绋嬪簭鍐欏叆澶栭儴瀛樺偍,濡係D鍗′笂鍐欐枃浠讹紝鎶撳浘銆佸綍鍒剁瓑-->
+	<!--<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />-->
+	<!--绋嬪簭鍙互璇诲彇璁惧澶栭儴瀛樺偍绌洪棿(鍐呯疆SDcard鍜屽缃甋DCard)鐨勬枃浠讹紝鎴戠殑鏂囦欢绛�-->
+	<uses-permission android:name="android.permission.USE_CREDENTIALS" />
+	<!--鍏佽绋嬪簭璇锋眰楠岃瘉浠嶢ccountManager锛燂紵锛�-->
+	<!--<uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />-->
+	<!--鍏佽鏀瑰彉WiFi澶氭挱鐘舵�侊紵锛燂紵-->
+	<!--<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />-->
+	<!--鍏佽绋嬪簭鏄剧ず绯荤粺绐楀彛锛屽簲璇ュ凡缁忎笉閫傜敤浜嗭紵锛燂紵-->
+	<!--<uses-permission android:name="android.permission.RECORD_AUDIO" />-->
+	<!--鍏佽绋嬪簭褰曞埗澹伴煶閫氳繃鎵嬫満鎴栬�虫満鐨勯害鍏嬶紝瀵硅銆佽嚜瀹氫箟鎶ヨ闊崇瓑-->
+	<!--<uses-permission android:name="android.permission.CAMERA" />-->
+	<!--鍏佽绋嬪簭璁块棶鎽勫儚澶磋繘琛屾媿鐓э紝浜岀淮鐮佹壂鎻忚ˉ鍏夈�佹媿鐓т笂浼犲浘鐗囩瓑-->
+	<uses-permission android:name="android.permission.FLASHLIGHT" />
+	<!--鍏佽璁块棶闂厜鐏紝浜岀淮鐮佹壂鎻忚ˉ鍏�-->
+	<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
+	<!--鍏佽绋嬪簭淇敼澹伴煶璁剧疆淇℃伅锛屽0娉㈤厤瀵癸紝鑷姩璋冨ぇ闊抽噺銆傞渶姹傚彉鏇翠箣鍚庡簲璇ヤ笉闇�瑕佷簡锛燂紵锛�-->
+	<!--<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />-->
+	<!--鍏佽绋嬪簭鑾峰彇褰撳墠WiFi鎺ュ叆鐨勭姸鎬佷互鍙奧LAN鐑偣鐨勪俊鎭紝璁惧娣诲姞浣曠閰嶇綉娴佺▼浣跨敤-->
+	<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
+	<!--鍏佽绋嬪簭鏀瑰彉WiFi鐘舵�侊紝閰嶇綉绛�-->
+	<!--<uses-feature android:name="android.hardware.camera" />-->
+	<!--<uses-feature android:name="android.hardware.camera.autofocus" />-->
+	<!-- 纭欢鍔犻�熷X5瑙嗛鎾斁闈炲父閲嶈锛屽缓璁紑鍚� -->
+	<uses-permission android:name="android.permission.READ_SETTINGS" />
+	<!--鍏佽绋嬪簭璇诲彇绯荤粺璁剧疆锛屽0娉㈤厤瀵硅幏鍙栧綋鍓嶇郴缁熼煶閲忕瓑-->
+	<!-- Optional for location -->
+	<!--<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />-->
+	<!--鍏佽涓�涓▼搴忚闂瓹ellID鎴� WiFi鐑偣鏉ヨ幏鍙栫矖鐣ョ殑浣嶇疆锛岀櫥闄嗐�佽澶囨坊鍔犵瓑-->
+	<!--<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />-->
+	<!--鍏佽涓�涓▼搴忚闂瓹ellID鎴� WiFi鐑偣鏉ヨ幏鍙栫簿纭殑浣嶇疆锛岀櫥闄嗐�佽澶囨坊鍔犵瓑锛燂紵锛�-->
+	<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
+	<!--鍏佽搴旂敤绋嬪簭璁块棶棰濆鐨勪綅缃彁渚涘懡浠わ紝鐧婚檰銆佽澶囨坊鍔犵瓑锛燂紵锛�-->
+	<!--<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />-->
+	<!--鍏佽绋嬪簭鏀瑰彉缃戠粶鐘舵��,濡傛槸鍚﹁仈缃戯紝閰嶇綉锛燂紵锛�-->
+	<!--<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />-->
+	<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
+	<!--鍏佽搴旂敤绋嬪簭璇锋眰瀹夎鍖呫�傞拡瀵笰PI澶т簬22蹇呴』鎸佹湁璇ヨ鍙娇鐢ˋCTION_INSTALL_PACKAGE搴旂敤銆傚簲璇ユ病鍦ㄧ敤锛燂紵锛�-->
+	<uses-permission android:name="android.permission.VIBRATE" />
 	<!--  鍙瀵硅鏉冮檺-->
 	<uses-permission android:name="android.permission.CAMERA" />
 	<uses-feature android:name="android.hardware.camera" />
@@ -39,7 +82,7 @@
 	<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
 	<uses-permission android:name="android.permission.READ_LOGS" />
 	<!-- 鏋佸厜鎺ㄩ�佺粨鏉� -->
-	<application android:debuggable="false" android:allowBackup="true" android:icon="@drawable/Icon" android:networkSecurityConfig="@xml/network_security_config" android:largeHeap="true" android:label="ON+">
+	<application android:allowBackup="true" android:icon="@drawable/Icon" android:networkSecurityConfig="@xml/network_security_config" android:largeHeap="true" android:label="ON+">
 		<provider android:name="android.support.v4.content.FileProvider" android:authorities="com.hdl.onpro.fileProvider" android:grantUriPermissions="true" android:exported="false">
 			<meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/file_paths" />
 		</provider>
diff --git a/HDL-ON_Android/Resources/Resource.designer.cs b/HDL-ON_Android/Resources/Resource.designer.cs
index 2bc20e9..cdccafe 100644
--- a/HDL-ON_Android/Resources/Resource.designer.cs
+++ b/HDL-ON_Android/Resources/Resource.designer.cs
@@ -12059,448 +12059,454 @@
 			public const int scan_title_txt = 2131689998;
 			
 			// aapt resource value: 0x7F0F020F
-			public const int screenshot_success = 2131689999;
+			public const int screenshot_fail = 2131689999;
 			
 			// aapt resource value: 0x7F0F0210
-			public const int sdk_is_init = 2131690000;
+			public const int screenshot_success = 2131690000;
 			
 			// aapt resource value: 0x7F0F0211
-			public const int search = 2131690001;
+			public const int sdk_is_init = 2131690001;
 			
 			// aapt resource value: 0x7F0F0212
-			public const int search_menu_title = 2131690002;
+			public const int search = 2131690002;
 			
 			// aapt resource value: 0x7F0F0213
-			public const int secure_validate = 2131690003;
-			
-			// aapt resource value: 0x7F0F0215
-			public const int secure_validatee_fail = 2131690005;
+			public const int search_menu_title = 2131690003;
 			
 			// aapt resource value: 0x7F0F0214
-			public const int secure_validate_success = 2131690004;
+			public const int secure_validate = 2131690004;
 			
 			// aapt resource value: 0x7F0F0216
-			public const int seek_camera_fail_device_not_support_shipin7 = 2131690006;
+			public const int secure_validatee_fail = 2131690006;
+			
+			// aapt resource value: 0x7F0F0215
+			public const int secure_validate_success = 2131690005;
 			
 			// aapt resource value: 0x7F0F0217
-			public const int select_all = 2131690007;
+			public const int seek_camera_fail_device_not_support_shipin7 = 2131690007;
 			
 			// aapt resource value: 0x7F0F0218
-			public const int select_date = 2131690008;
+			public const int select_all = 2131690008;
 			
 			// aapt resource value: 0x7F0F0219
-			public const int serial_add_hint = 2131690009;
+			public const int select_date = 2131690009;
 			
 			// aapt resource value: 0x7F0F021A
-			public const int serial_add_password_error_title = 2131690010;
+			public const int serial_add_hint = 2131690010;
 			
 			// aapt resource value: 0x7F0F021B
-			public const int serial_input_text = 2131690011;
+			public const int serial_add_password_error_title = 2131690011;
 			
 			// aapt resource value: 0x7F0F021C
-			public const int serial_number_error = 2131690012;
+			public const int serial_input_text = 2131690012;
 			
 			// aapt resource value: 0x7F0F021D
-			public const int serial_number_is_null = 2131690013;
+			public const int serial_number_error = 2131690013;
 			
 			// aapt resource value: 0x7F0F021E
-			public const int serial_number_put_the_right_no = 2131690014;
+			public const int serial_number_is_null = 2131690014;
 			
 			// aapt resource value: 0x7F0F021F
-			public const int server_area = 2131690015;
-			
-			// aapt resource value: 0x7F0F0224
-			public const int setting = 2131690020;
-			
-			// aapt resource value: 0x7F0F0225
-			public const int setting_video_level = 2131690021;
+			public const int serial_number_put_the_right_no = 2131690015;
 			
 			// aapt resource value: 0x7F0F0220
-			public const int set_defence_plan = 2131690016;
+			public const int server_area = 2131690016;
 			
-			// aapt resource value: 0x7F0F0221
-			public const int set_device_wifi_network_need_reset_the_device = 2131690017;
-			
-			// aapt resource value: 0x7F0F0222
-			public const int set_ptz_flip_fail = 2131690018;
-			
-			// aapt resource value: 0x7F0F0223
-			public const int set_ptz_flip_success = 2131690019;
+			// aapt resource value: 0x7F0F0225
+			public const int setting = 2131690021;
 			
 			// aapt resource value: 0x7F0F0226
-			public const int share_devices = 2131690022;
+			public const int setting_video_level = 2131690022;
+			
+			// aapt resource value: 0x7F0F0221
+			public const int set_defence_plan = 2131690017;
+			
+			// aapt resource value: 0x7F0F0222
+			public const int set_device_wifi_network_need_reset_the_device = 2131690018;
+			
+			// aapt resource value: 0x7F0F0223
+			public const int set_ptz_flip_fail = 2131690019;
+			
+			// aapt resource value: 0x7F0F0224
+			public const int set_ptz_flip_success = 2131690020;
 			
 			// aapt resource value: 0x7F0F0227
-			public const int sms_verify_bind_error = 2131690023;
+			public const int share_devices = 2131690023;
 			
 			// aapt resource value: 0x7F0F0228
-			public const int sms_verify_code_received = 2131690024;
+			public const int sms_verify_bind_error = 2131690024;
 			
 			// aapt resource value: 0x7F0F0229
-			public const int source_detection_off = 2131690025;
+			public const int sms_verify_code_received = 2131690025;
 			
 			// aapt resource value: 0x7F0F022A
-			public const int source_detection_on = 2131690026;
+			public const int source_detection_off = 2131690026;
 			
 			// aapt resource value: 0x7F0F022B
-			public const int specified_device = 2131690027;
+			public const int source_detection_on = 2131690027;
 			
 			// aapt resource value: 0x7F0F022C
-			public const int srl_component_falsify = 2131690028;
+			public const int specified_device = 2131690028;
 			
 			// aapt resource value: 0x7F0F022D
-			public const int srl_content_empty = 2131690029;
+			public const int srl_component_falsify = 2131690029;
 			
 			// aapt resource value: 0x7F0F022E
-			public const int srl_footer_failed = 2131690030;
+			public const int srl_content_empty = 2131690030;
 			
 			// aapt resource value: 0x7F0F022F
-			public const int srl_footer_finish = 2131690031;
+			public const int srl_footer_failed = 2131690031;
 			
 			// aapt resource value: 0x7F0F0230
-			public const int srl_footer_loading = 2131690032;
+			public const int srl_footer_finish = 2131690032;
 			
 			// aapt resource value: 0x7F0F0231
-			public const int srl_footer_nothing = 2131690033;
+			public const int srl_footer_loading = 2131690033;
 			
 			// aapt resource value: 0x7F0F0232
-			public const int srl_footer_pulling = 2131690034;
+			public const int srl_footer_nothing = 2131690034;
 			
 			// aapt resource value: 0x7F0F0233
-			public const int srl_footer_refreshing = 2131690035;
+			public const int srl_footer_pulling = 2131690035;
 			
 			// aapt resource value: 0x7F0F0234
-			public const int srl_footer_release = 2131690036;
+			public const int srl_footer_refreshing = 2131690036;
 			
 			// aapt resource value: 0x7F0F0235
-			public const int srl_header_failed = 2131690037;
+			public const int srl_footer_release = 2131690037;
 			
 			// aapt resource value: 0x7F0F0236
-			public const int srl_header_finish = 2131690038;
+			public const int srl_header_failed = 2131690038;
 			
 			// aapt resource value: 0x7F0F0237
-			public const int srl_header_loading = 2131690039;
+			public const int srl_header_finish = 2131690039;
 			
 			// aapt resource value: 0x7F0F0238
-			public const int srl_header_pulling = 2131690040;
+			public const int srl_header_loading = 2131690040;
 			
 			// aapt resource value: 0x7F0F0239
-			public const int srl_header_refreshing = 2131690041;
+			public const int srl_header_pulling = 2131690041;
 			
 			// aapt resource value: 0x7F0F023A
-			public const int srl_header_release = 2131690042;
+			public const int srl_header_refreshing = 2131690042;
 			
 			// aapt resource value: 0x7F0F023B
-			public const int srl_header_secondary = 2131690043;
+			public const int srl_header_release = 2131690043;
 			
 			// aapt resource value: 0x7F0F023C
-			public const int srl_header_update = 2131690044;
+			public const int srl_header_secondary = 2131690044;
 			
 			// aapt resource value: 0x7F0F023D
-			public const int start_cloud = 2131690045;
+			public const int srl_header_update = 2131690045;
 			
 			// aapt resource value: 0x7F0F023E
-			public const int start_to_experience = 2131690046;
+			public const int start_cloud = 2131690046;
 			
 			// aapt resource value: 0x7F0F023F
-			public const int start_voice_talk = 2131690047;
+			public const int start_to_experience = 2131690047;
 			
 			// aapt resource value: 0x7F0F0240
-			public const int status_bar_notification_info_overflow = 2131690048;
+			public const int start_voice_talk = 2131690048;
 			
 			// aapt resource value: 0x7F0F0241
-			public const int step3_adding_device_to_account = 2131690049;
+			public const int status_bar_notification_info_overflow = 2131690049;
 			
 			// aapt resource value: 0x7F0F0242
-			public const int storage_status = 2131690050;
+			public const int step3_adding_device_to_account = 2131690050;
 			
 			// aapt resource value: 0x7F0F0243
-			public const int stream_type = 2131690051;
-			
-			// aapt resource value: 0x7F0F0246
-			public const int string_apiurl = 2131690054;
+			public const int storage_status = 2131690051;
 			
 			// aapt resource value: 0x7F0F0244
-			public const int string_ap_connection = 2131690052;
-			
-			// aapt resource value: 0x7F0F0245
-			public const int string_ap_connection_normal = 2131690053;
+			public const int stream_type = 2131690052;
 			
 			// aapt resource value: 0x7F0F0247
-			public const int string_authurl = 2131690055;
+			public const int string_apiurl = 2131690055;
 			
-			// aapt resource value: 0x7F0F0249
-			public const int string_deviceserial = 2131690057;
+			// aapt resource value: 0x7F0F0245
+			public const int string_ap_connection = 2131690053;
+			
+			// aapt resource value: 0x7F0F0246
+			public const int string_ap_connection_normal = 2131690054;
 			
 			// aapt resource value: 0x7F0F0248
-			public const int string_device_network_mode = 2131690056;
+			public const int string_authurl = 2131690056;
 			
 			// aapt resource value: 0x7F0F024A
-			public const int string_ezopenurl = 2131690058;
+			public const int string_deviceserial = 2131690058;
+			
+			// aapt resource value: 0x7F0F0249
+			public const int string_device_network_mode = 2131690057;
 			
 			// aapt resource value: 0x7F0F024B
-			public const int string_get_device_version_fail = 2131690059;
+			public const int string_ezopenurl = 2131690059;
 			
 			// aapt resource value: 0x7F0F024C
-			public const int string_smart_and_sound_wave_connection = 2131690060;
+			public const int string_get_device_version_fail = 2131690060;
 			
 			// aapt resource value: 0x7F0F024D
-			public const int string_smart_connection = 2131690061;
+			public const int string_smart_and_sound_wave_connection = 2131690061;
 			
 			// aapt resource value: 0x7F0F024E
-			public const int string_smart_connection_normal = 2131690062;
+			public const int string_smart_connection = 2131690062;
 			
 			// aapt resource value: 0x7F0F024F
-			public const int string_sound_wave_connection = 2131690063;
+			public const int string_smart_connection_normal = 2131690063;
 			
 			// aapt resource value: 0x7F0F0250
-			public const int string_wired_connection = 2131690064;
+			public const int string_sound_wave_connection = 2131690064;
 			
 			// aapt resource value: 0x7F0F0251
-			public const int submit_secure_validate = 2131690065;
+			public const int string_wired_connection = 2131690065;
 			
 			// aapt resource value: 0x7F0F0252
-			public const int submit_sms_code = 2131690066;
+			public const int submit_secure_validate = 2131690066;
 			
 			// aapt resource value: 0x7F0F0253
-			public const int switch_to_handset = 2131690067;
+			public const int submit_sms_code = 2131690067;
 			
 			// aapt resource value: 0x7F0F0254
-			public const int switch_to_speaker = 2131690068;
+			public const int switch_to_handset = 2131690068;
 			
 			// aapt resource value: 0x7F0F0255
-			public const int tab_more = 2131690069;
+			public const int switch_to_speaker = 2131690069;
 			
 			// aapt resource value: 0x7F0F0256
-			public const int talk = 2131690070;
-			
-			// aapt resource value: 0x7F0F0259
-			public const int talking = 2131690073;
+			public const int tab_more = 2131690070;
 			
 			// aapt resource value: 0x7F0F0257
-			public const int talk_open_failed = 2131690071;
-			
-			// aapt resource value: 0x7F0F0258
-			public const int talk_open_success = 2131690072;
+			public const int talk = 2131690071;
 			
 			// aapt resource value: 0x7F0F025A
-			public const int tip_heard_voice = 2131690074;
+			public const int talking = 2131690074;
+			
+			// aapt resource value: 0x7F0F0258
+			public const int talk_open_failed = 2131690072;
+			
+			// aapt resource value: 0x7F0F0259
+			public const int talk_open_success = 2131690073;
 			
 			// aapt resource value: 0x7F0F025B
-			public const int tip_login_out = 2131690075;
+			public const int tip_heard_voice = 2131690075;
 			
 			// aapt resource value: 0x7F0F025C
-			public const int tip_of_added_by_yourself_and_online = 2131690076;
+			public const int tip_login_out = 2131690076;
 			
 			// aapt resource value: 0x7F0F025D
-			public const int tip_of_bad_net = 2131690077;
+			public const int tip_of_added_by_yourself_and_online = 2131690077;
 			
 			// aapt resource value: 0x7F0F025E
-			public const int tip_playback_again = 2131690078;
+			public const int tip_of_bad_net = 2131690078;
 			
 			// aapt resource value: 0x7F0F025F
-			public const int tip_specified_device = 2131690079;
+			public const int tip_playback_again = 2131690079;
 			
 			// aapt resource value: 0x7F0F0260
-			public const int title_activate_device = 2131690080;
+			public const int tip_specified_device = 2131690080;
 			
 			// aapt resource value: 0x7F0F0261
-			public const int title_activate_device_fail = 2131690081;
+			public const int title_activate_device = 2131690081;
 			
 			// aapt resource value: 0x7F0F0262
-			public const int title_activity_connect_device_wifi = 2131690082;
+			public const int title_activate_device_fail = 2131690082;
 			
 			// aapt resource value: 0x7F0F0263
-			public const int title_activity_ezupgrade_device = 2131690083;
+			public const int title_activity_connect_device_wifi = 2131690083;
 			
 			// aapt resource value: 0x7F0F0264
-			public const int today = 2131690084;
+			public const int title_activity_ezupgrade_device = 2131690084;
 			
 			// aapt resource value: 0x7F0F0265
-			public const int touch_fingerprint_sensor_hint = 2131690085;
+			public const int today = 2131690085;
 			
 			// aapt resource value: 0x7F0F0266
-			public const int touch_to_load = 2131690086;
+			public const int touch_fingerprint_sensor_hint = 2131690086;
 			
 			// aapt resource value: 0x7F0F0267
-			public const int try_again = 2131690087;
+			public const int touch_to_load = 2131690087;
 			
 			// aapt resource value: 0x7F0F0268
-			public const int ui_call_demo_txt = 2131690088;
+			public const int try_again = 2131690088;
 			
 			// aapt resource value: 0x7F0F0269
-			public const int unable_identify_two_dimensional_code_tip = 2131690089;
+			public const int ui_call_demo_txt = 2131690089;
 			
 			// aapt resource value: 0x7F0F026A
-			public const int unbind_to_bind = 2131690090;
+			public const int unable_identify_two_dimensional_code_tip = 2131690090;
 			
 			// aapt resource value: 0x7F0F026B
-			public const int unknow_ssid = 2131690091;
+			public const int unbind_to_bind = 2131690091;
 			
 			// aapt resource value: 0x7F0F026C
-			public const int unlock_success = 2131690092;
+			public const int unknow_ssid = 2131690092;
 			
 			// aapt resource value: 0x7F0F026D
-			public const int unnamed = 2131690093;
+			public const int unlock_fail = 2131690093;
 			
 			// aapt resource value: 0x7F0F026E
-			public const int update_exit = 2131690094;
+			public const int unlock_success = 2131690094;
 			
 			// aapt resource value: 0x7F0F026F
-			public const int upgrade = 2131690095;
+			public const int unnamed = 2131690095;
 			
 			// aapt resource value: 0x7F0F0270
-			public const int upgrade_fail = 2131690096;
+			public const int update_exit = 2131690096;
 			
 			// aapt resource value: 0x7F0F0271
-			public const int upgrade_progress = 2131690097;
+			public const int upgrade = 2131690097;
 			
 			// aapt resource value: 0x7F0F0272
-			public const int upgrade_success = 2131690098;
+			public const int upgrade_fail = 2131690098;
 			
 			// aapt resource value: 0x7F0F0273
-			public const int upgrade_success_progress = 2131690099;
+			public const int upgrade_progress = 2131690099;
 			
 			// aapt resource value: 0x7F0F0274
-			public const int user_name_txt = 2131690100;
+			public const int upgrade_success = 2131690100;
 			
 			// aapt resource value: 0x7F0F0275
-			public const int verify_code_error = 2131690101;
+			public const int upgrade_success_progress = 2131690101;
 			
 			// aapt resource value: 0x7F0F0276
-			public const int verify_sms_code_fail = 2131690102;
+			public const int user_name_txt = 2131690102;
 			
 			// aapt resource value: 0x7F0F0277
-			public const int verify_sms_code_success = 2131690103;
+			public const int verify_code_error = 2131690103;
 			
 			// aapt resource value: 0x7F0F0278
-			public const int version_newest = 2131690104;
+			public const int verify_sms_code_fail = 2131690104;
 			
 			// aapt resource value: 0x7F0F0279
-			public const int video_answer = 2131690105;
+			public const int verify_sms_code_success = 2131690105;
 			
 			// aapt resource value: 0x7F0F027A
-			public const int video_box = 2131690106;
+			public const int version_newest = 2131690106;
 			
 			// aapt resource value: 0x7F0F027B
-			public const int video_confirm = 2131690107;
+			public const int video_answer = 2131690107;
 			
 			// aapt resource value: 0x7F0F027C
-			public const int video_device = 2131690108;
+			public const int video_box = 2131690108;
 			
 			// aapt resource value: 0x7F0F027D
-			public const int video_fail = 2131690109;
+			public const int video_confirm = 2131690109;
 			
 			// aapt resource value: 0x7F0F027E
-			public const int video_hang_up = 2131690110;
+			public const int video_device = 2131690110;
 			
 			// aapt resource value: 0x7F0F027F
-			public const int video_icon = 2131690111;
+			public const int video_fail = 2131690111;
 			
 			// aapt resource value: 0x7F0F0280
-			public const int video_not_answer = 2131690112;
+			public const int video_hang_up = 2131690112;
 			
 			// aapt resource value: 0x7F0F0281
-			public const int video_screenshot = 2131690113;
+			public const int video_icon = 2131690113;
 			
 			// aapt resource value: 0x7F0F0282
-			public const int video_square = 2131690114;
+			public const int video_not_answer = 2131690114;
 			
 			// aapt resource value: 0x7F0F0283
-			public const int video_success = 2131690115;
+			public const int video_screenshot = 2131690115;
 			
 			// aapt resource value: 0x7F0F0284
-			public const int video_talk_call_cancel = 2131690116;
+			public const int video_square = 2131690116;
 			
 			// aapt resource value: 0x7F0F0285
-			public const int video_talk_call_is_accepted = 2131690117;
+			public const int video_success = 2131690117;
 			
 			// aapt resource value: 0x7F0F0286
-			public const int video_talk_is_playing = 2131690118;
+			public const int video_talk_call_cancel = 2131690118;
 			
 			// aapt resource value: 0x7F0F0287
-			public const int video_talk_sdk_toast_hang_up = 2131690119;
+			public const int video_talk_call_is_accepted = 2131690119;
 			
 			// aapt resource value: 0x7F0F0288
-			public const int video_talk_sdk_toast_nobody = 2131690120;
+			public const int video_talk_is_playing = 2131690120;
 			
 			// aapt resource value: 0x7F0F0289
-			public const int video_talk_signal_weak = 2131690121;
+			public const int video_talk_sdk_toast_hang_up = 2131690121;
 			
 			// aapt resource value: 0x7F0F028A
-			public const int video_talk_watch_is_busy = 2131690122;
+			public const int video_talk_sdk_toast_nobody = 2131690122;
 			
 			// aapt resource value: 0x7F0F028B
-			public const int video_talk_watch_temperature_high_hang = 2131690123;
+			public const int video_talk_signal_weak = 2131690123;
 			
 			// aapt resource value: 0x7F0F028C
-			public const int video_talk_watch_temperature_high_hint = 2131690124;
+			public const int video_talk_watch_is_busy = 2131690124;
 			
 			// aapt resource value: 0x7F0F028D
-			public const int video_talk_watch_temperature_high_reject = 2131690125;
+			public const int video_talk_watch_temperature_high_hang = 2131690125;
 			
 			// aapt resource value: 0x7F0F028E
-			public const int video_talk_watch_temperature_high_warn = 2131690126;
+			public const int video_talk_watch_temperature_high_hint = 2131690126;
 			
 			// aapt resource value: 0x7F0F028F
-			public const int video_tip = 2131690127;
+			public const int video_talk_watch_temperature_high_reject = 2131690127;
 			
 			// aapt resource value: 0x7F0F0290
-			public const int video_unlock = 2131690128;
+			public const int video_talk_watch_temperature_high_warn = 2131690128;
 			
 			// aapt resource value: 0x7F0F0291
-			public const int wait = 2131690129;
+			public const int video_tip = 2131690129;
 			
 			// aapt resource value: 0x7F0F0292
-			public const int web_login_button_txt = 2131690130;
+			public const int video_unlock = 2131690130;
 			
 			// aapt resource value: 0x7F0F0293
-			public const int wechat_interconnect = 2131690131;
+			public const int wait = 2131690131;
 			
 			// aapt resource value: 0x7F0F0294
-			public const int wifi_connected = 2131690132;
+			public const int web_login_button_txt = 2131690132;
 			
 			// aapt resource value: 0x7F0F0295
-			public const int wifi_connection_finish_need_refresh = 2131690133;
+			public const int wechat_interconnect = 2131690133;
 			
 			// aapt resource value: 0x7F0F0296
-			public const int wifi_set = 2131690134;
+			public const int wifi_connected = 2131690134;
 			
 			// aapt resource value: 0x7F0F0297
-			public const int wifi_setting = 2131690135;
+			public const int wifi_connection_finish_need_refresh = 2131690135;
 			
 			// aapt resource value: 0x7F0F0298
-			public const int wired_connection = 2131690136;
-			
-			// aapt resource value: 0x7F0F029A
-			public const int xlistview_footer_hint_normal = 2131690138;
+			public const int wifi_set = 2131690136;
 			
 			// aapt resource value: 0x7F0F0299
-			public const int xlistview_footer_hint_no_more_device = 2131690137;
+			public const int wifi_setting = 2131690137;
 			
-			// aapt resource value: 0x7F0F029B
-			public const int xlistview_footer_hint_ready = 2131690139;
+			// aapt resource value: 0x7F0F029A
+			public const int wired_connection = 2131690138;
 			
 			// aapt resource value: 0x7F0F029C
-			public const int xlistview_footer_no_more = 2131690140;
+			public const int xlistview_footer_hint_normal = 2131690140;
+			
+			// aapt resource value: 0x7F0F029B
+			public const int xlistview_footer_hint_no_more_device = 2131690139;
 			
 			// aapt resource value: 0x7F0F029D
-			public const int xlistview_footer_no_more_msg = 2131690141;
+			public const int xlistview_footer_hint_ready = 2131690141;
 			
 			// aapt resource value: 0x7F0F029E
-			public const int xlistview_header_hint_loading = 2131690142;
+			public const int xlistview_footer_no_more = 2131690142;
 			
 			// aapt resource value: 0x7F0F029F
-			public const int xlistview_header_hint_more = 2131690143;
+			public const int xlistview_footer_no_more_msg = 2131690143;
 			
 			// aapt resource value: 0x7F0F02A0
-			public const int xlistview_header_hint_normal = 2131690144;
+			public const int xlistview_header_hint_loading = 2131690144;
 			
 			// aapt resource value: 0x7F0F02A1
-			public const int xlistview_header_hint_ready = 2131690145;
+			public const int xlistview_header_hint_more = 2131690145;
 			
 			// aapt resource value: 0x7F0F02A2
-			public const int xlistview_header_last_time = 2131690146;
+			public const int xlistview_header_hint_normal = 2131690146;
+			
+			// aapt resource value: 0x7F0F02A3
+			public const int xlistview_header_hint_ready = 2131690147;
+			
+			// aapt resource value: 0x7F0F02A4
+			public const int xlistview_header_last_time = 2131690148;
 			
 			static String()
 			{
diff --git a/HDL-ON_Android/Resources/values-zh/strings.xml b/HDL-ON_Android/Resources/values-zh/strings.xml
index 4636041..0d86f4f 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">HDL_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>
@@ -20,4 +20,6 @@
 	<string name="screenshot_success">鎴浘鎴愬姛</string>
 	<string name="talk_open_success">瀵硅寮�濮�</string>
 	<string name="talk_open_failed">瀵硅鎵撳紑澶辫触</string>
+	<string name="unlock_fail">寮�閿佸け璐�</string>
+	<string name="screenshot_fail">鎴浘澶辫触</string>
 </resources>
\ No newline at end of file
diff --git a/HDL-ON_Android/Resources/values/strings.xml b/HDL-ON_Android/Resources/values/strings.xml
index 948af94..6f41ee5 100644
--- a/HDL-ON_Android/Resources/values/strings.xml
+++ b/HDL-ON_Android/Resources/values/strings.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources>
-    <string name="action_settings">Setting</string>
+        <string name="action_settings">Setting</string>
         <string name="video_screenshot">Screenshot</string>
         <string name="video_unlock">Unlock</string>
         <string name="video_answer">Answer</string>
@@ -17,7 +17,8 @@
         <string name="on_the_phone">On the phone</string>
         <string name="unlock_success">Unlock successfully</string>
         <string name="screenshot_success">Screenshot successfully</string>
-    <string name="talk_open_success">Intercom Begin</string>
-    <string name="talk_open_failed">Intercom failed to open</string>
-
+        <string name="talk_open_success">Intercom Begin</string>
+        <string name="talk_open_failed">Intercom failed to open</string>
+        <string name="unlock_fail">Fail to unlock</string>
+	    <string name="screenshot_fail">Fail to screenshot</string>
 </resources>
\ No newline at end of file
diff --git a/HDL-ON_iOS/Info.plist b/HDL-ON_iOS/Info.plist
index 89d4e0a..69da1d9 100644
--- a/HDL-ON_iOS/Info.plist
+++ b/HDL-ON_iOS/Info.plist
@@ -100,9 +100,9 @@
 	<key>UIStatusBarStyle</key>
 	<string>UIStatusBarStyleLightContent</string>
 	<key>CFBundleShortVersionString</key>
-	<string>1.2.202107095</string>
+	<string>1.2.202107151</string>
 	<key>CFBundleVersion</key>
-	<string>1.2.07095</string>
+	<string>1.2.07151</string>
 	<key>NSLocationWhenInUseUsageDescription</key>
 	<string>Use geographic location to provide services such as weather</string>
 	<key>NSAppleMusicUsageDescription</key>
diff --git a/HDL_ON/Entity/FunctionList.cs b/HDL_ON/Entity/FunctionList.cs
index 707c057..0d84b83 100644
--- a/HDL_ON/Entity/FunctionList.cs
+++ b/HDL_ON/Entity/FunctionList.cs
@@ -184,7 +184,6 @@
         /// <para>false:鐩存帴鏃犳潯浠舵坊鍔�</para></param>
         public void IniFunctionList(string filePath, bool checkRepeat = false)
         {
-            MainPage.Log("鍒濆鍖栧姛鑳芥暟鎹�");
             // todo 澧炲姞璁惧锛屽鍔犲姛鑳借繘鍔熻兘鍒楄〃
             if (filePath.StartsWith("FunctionData_"))
             {
diff --git a/HDL_ON/UI/MainPage.cs b/HDL_ON/UI/MainPage.cs
index 22b9615..258b480 100644
--- a/HDL_ON/UI/MainPage.cs
+++ b/HDL_ON/UI/MainPage.cs
@@ -25,7 +25,7 @@
         /// <summary>
         /// 鐗堟湰鍙�
         /// </summary>
-        public static string VersionString = "1.2.0709";
+        public static string VersionString = "1.2.0714";
         ///// <summary>
         ///// 瀹㈡埛绔被鍨�
         ///// </summary>
diff --git a/HDL_ON/UI/UI1-Login/LoginPage.cs b/HDL_ON/UI/UI1-Login/LoginPage.cs
index 2103fe5..8899c7d 100644
--- a/HDL_ON/UI/UI1-Login/LoginPage.cs
+++ b/HDL_ON/UI/UI1-Login/LoginPage.cs
@@ -227,9 +227,10 @@
                     //etAccount.Text = "13168123446";
                     //etAccount.Text = "13676202754";//宸存灄鏈嶅姟鍣�
                     //etAccount.Text = "13602944661";//kx
-                    etAccount.Text = "551775569@qq.com";//wcf
+                    //etAccount.Text = "551775569@qq.com";//wcf
                     //etAccount.Text = "18666455392";//13375012446//13602944661//tzy 18778381374
                     //etAccount.Text = "15971583093";//楂樿儨
+                    etAccount.Text = "15217626103";//鏄嗘槑閲戣寕椤圭洰
                 }
                 b = !b;
                 etPassword.Text = "123456";
@@ -520,13 +521,19 @@
                 Text = "Demo妯″紡"
             };
             bodyView.AddChidren(btnDomeLogin);
+
+            if(Language.CurrentLanguage!= "Chinese")
+            {
+                btnDomeLogin.Text = "Experience model";
+            }
+
             btnDomeLogin.MouseUpEventHandler = (sender, e) => {
 
                 MainPage.NoLoginMode = true;
 #if DEBUG
                 FileUtlis.Files.DeleteAllFile();
 #endif
-
+                //DB_ResidenceData.Instance.HomeGateway.gatewayType = "AGATEWAY";
                 //妤煎眰鎴块棿鍒楄〃
                 var floor1 = new SpatialInfo("FLOOR") { roomName = "F1", parentId = DB_ResidenceData.Instance.CurrentRegion.id };
                 floor1.SaveRoomFile();
diff --git a/HDL_ON/UI/UI2/1-HomePage/HomePage.cs b/HDL_ON/UI/UI2/1-HomePage/HomePage.cs
index f057023..1959c82 100644
--- a/HDL_ON/UI/UI2/1-HomePage/HomePage.cs
+++ b/HDL_ON/UI/UI2/1-HomePage/HomePage.cs
@@ -194,6 +194,34 @@
                 #region 鐜鏁版嵁
                 var tempSensorList = FunctionList.List.GetEnvirSensorsList().FindAll((obj) => obj.spk == SPK.SensorTemperature);
                 var humiSensorList = FunctionList.List.GetEnvirSensorsList().FindAll((obj) => obj.spk == SPK.SensorHumidity);
+                var enviList = FunctionList.List.GetEnvirSensorsList().FindAll((obj) => obj.spk == SPK.SensorEnvironment);
+                foreach (var enviTemp in enviList)
+                {
+                    var humiAttr = enviTemp.attributes.Find((obj) => obj.key == "humidity");
+                    if (humiAttr != null)
+                    {
+                        var newTemp = new Function()
+                        {
+                            name = enviTemp.name,
+                            sid = enviTemp.sid,
+                            deviceId = enviTemp.deviceId,
+                            attributes = new List<FunctionAttributes> { new FunctionAttributes { key = "value", state = humiAttr.state, curValue = humiAttr.curValue } },
+                        };
+                        humiSensorList.Add(newTemp);
+                    }
+                    var tempAttr = enviTemp.attributes.Find((obj) => obj.key == "temperature");
+                    if (tempAttr != null)
+                    {
+                        var newTemp = new Function()
+                        {
+                            name = enviTemp.name,
+                            sid = enviTemp.sid,
+                            deviceId = enviTemp.deviceId,
+                            attributes = new List<FunctionAttributes> { new FunctionAttributes { key = "value", state = tempAttr.state, curValue = tempAttr.curValue } },
+                        };
+                        tempSensorList.Add(newTemp);
+                    }
+                }
 
                 var btnEnvirValuesTitle = new Button() {
                     X = Application.GetRealWidth(12),
diff --git a/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs b/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs
index f704df6..82c5530 100644
--- a/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs
+++ b/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs
@@ -65,7 +65,7 @@
         }
 
         /// <summary>
-        /// 鏇存柊瀹ゅ唴浼犳劅鍣ㄦ暟鎹�-鏅氱偣
+        /// 鏇存柊瀹ゅ唴浼犳劅鍣ㄦ暟鎹�
         /// </summary>
         public static void LoadEvent_RefreshEnvirIndoorTemp()
         { 
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs
index 13d98be..1b9285f 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs
@@ -238,6 +238,10 @@
                     new LogicView.TipPopView().TipBox(StringId.tip, StringId.targetNull);
                     return;
                 }
+
+                
+
+
                 Loading loading = new Loading();
                 this.AddChidren(loading);
                 HDL_ON.DAL.Server.ResponsePackNew responsePackNew = null;
@@ -256,11 +260,13 @@
                         loading.Start();
                         new System.Threading.Thread(() =>
                         {
-
                             try
                             {
-                                //鍙戦�佹柊鍔犻�昏緫鍛戒护锛�
-                                responsePackNew = Send.AddLogic(Logic.currlogic);
+                                if (!MainPage.NoLoginMode)
+                                {
+                                    //鍙戦�佹柊鍔犻�昏緫鍛戒护锛�
+                                    responsePackNew = Send.AddLogic(Logic.currlogic);
+                                }
 
                             }
                             catch { }
@@ -269,10 +275,16 @@
                                 Application.RunOnMainThread(() =>
                                 {
                                     loading.Hide();
+                                    if(MainPage.NoLoginMode)
+                                    {
+                                        Logic.LogicList.Add(Logic.currlogic);
+                                        LogicMethod.CurrLogicMethod.RemoveAllView();
+                                        MainView.MainShow();
+                                        return;
+                                    }
+
                                     if (responsePackNew != null && responsePackNew.Code == "0" && responsePackNew.Data.ToString() != "")
                                     {
-
-
                                         //鑾峰彇閫昏緫璇︾粏杩斿洖鏄竴涓暟缁�(object绫诲瀷杞崲涓烘暟缁�);
                                         var jArray = Newtonsoft.Json.Linq.JArray.Parse(responsePackNew.Data.ToString());
                                         for (int a = 0; a < jArray.Count; a++)
diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPage.cs b/HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPage.cs
index 6c82a05..1ffbbce 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPage.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPage.cs
@@ -239,7 +239,7 @@
             {
                 Button btnExit = new Button()
                 {
-                    Y = Application.GetRealHeight(258) + personalInfoView.Bottom,
+                    Y = Application.GetRealHeight(288) + personalInfoView.Bottom,
                     Gravity = Gravity.CenterHorizontal,
                     Height = Application.GetRealHeight(60),
                     Width = Application.GetRealWidth(330),
diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPageBLL.cs b/HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPageBLL.cs
index 9ddce15..ff66821 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPageBLL.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPageBLL.cs
@@ -292,8 +292,6 @@
         {
             btnSupportText.MouseUpEventHandler = (sender, e) =>
             {
-                //throw new Exception("寮傚父娴嬭瘯");
-                
                 var getsupportPage = new FAQHelpPage();
                 MainPage.BasePageView.AddChidren(getsupportPage);
                 getsupportPage.LoadPage();
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Video/VideoMainView.cs b/HDL_ON/UI/UI2/FuntionControlView/Video/VideoMainView.cs
index de7c61b..5198364 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Video/VideoMainView.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Video/VideoMainView.cs
@@ -473,8 +473,9 @@
         {
             var utcTime = Convert.ToDateTime(str);
             var dateTime = TimeZoneInfo.ConvertTimeFromUtc(utcTime, TimeZoneInfo.Local);
-            return dateTime.ToString("HH") + ":" + dateTime.ToString("mm");
+            return dateTime.ToString("MM-dd HH:mm");
         }
+
         /// <summary>
         /// 鑾峰彇鍛煎彨鐘舵�佹枃鏈�
         /// </summary>
diff --git a/HDL_ON/UI/UI2/UserPage.cs b/HDL_ON/UI/UI2/UserPage.cs
index 2da462c..0cca652 100644
--- a/HDL_ON/UI/UI2/UserPage.cs
+++ b/HDL_ON/UI/UI2/UserPage.cs
@@ -129,6 +129,11 @@
                 //2020-12-07 澧炲姞鐗堟湰妫�娴嬫洿鏂版柟娉�
                 HDLCommon.Current.CheckIfNeedForceUpdate();
 
+#if __Android__
+                //寮�鍚畾浣嶆湇鍔�
+                Shared.Application.StartGPSLocationService();
+#endif
+
             }
             catch (Exception ex)
             {
@@ -169,7 +174,7 @@
             };
             navigationView.AddChidren(NavigationSubView);
 
-            #region 鏀惰棌鍖哄煙
+#region 鏀惰棌鍖哄煙
             collectionView = new FrameLayout() {
                 Width  = Application.GetRealWidth(94),
             };
@@ -197,9 +202,9 @@
                 IsSelected = true,
             };
             collectionView.AddChidren(btnCollectionText);
-            #endregion
+#endregion
 
-            #region 鍒嗙被鍖哄煙
+#region 鍒嗙被鍖哄煙
             classificationView = new FrameLayout()
             {
                 Width = Application.GetRealWidth(94),
@@ -228,9 +233,9 @@
                 TextAlignment = TextAlignment.Center,
             };
             classificationView.AddChidren(btnClassificationText);
-            #endregion
+#endregion
 
-            #region 鏅鸿兘鍖哄煙
+#region 鏅鸿兘鍖哄煙
             intellectualizationView = new FrameLayout()
             {
                 Width = Application.GetRealWidth(94),
@@ -259,9 +264,9 @@
                 TextAlignment = TextAlignment.Center,
             };
             intellectualizationView.AddChidren(btnIntellectualizationText);
-            #endregion
+#endregion
             
-            #region 涓汉涓績
+#region 涓汉涓績
             personalCenterView = new FrameLayout()
             {
                 Width = Application.GetRealWidth(94),
@@ -292,7 +297,7 @@
                 TextAlignment = TextAlignment.Center,
             };
             personalCenterView.AddChidren(btnPersonalCenterText);
-            #endregion
+#endregion
 
             var homePage = new HomePage();
             ContextView.AddChidren(homePage);
@@ -315,7 +320,7 @@
             btnClassificationText.IsSelected = false;
             btnIntellectualizationText.IsSelected = false;
             btnPersonalCenterText.IsSelected = false;
-            #region 绉诲姩鍔ㄧ敾
+#region 绉诲姩鍔ㄧ敾
             //绉诲姩璺濈
             var distance = navigationSelectionView.X - collectionView.X + Application.GetRealWidth(94*3);
             int total = 10;
@@ -375,7 +380,7 @@
                     btnNavigationSelectionIcon.SetRotation(0f);
                 });
             }) { IsBackground = true ,Priority = System.Threading.ThreadPriority.Highest}.Start();
-            #endregion
+#endregion
             ContextView.RemoveAll();
             var homePage = new HomePage();
             ContextView.AddChidren(homePage);
@@ -397,7 +402,7 @@
             btnClassificationText.IsSelected = false;
             btnIntellectualizationText.IsSelected = false;
             btnPersonalCenterText.IsSelected = false;
-            #region 绉诲姩鍔ㄧ敾
+#region 绉诲姩鍔ㄧ敾
             var distance = navigationSelectionView.X - classificationView.X + Application.GetRealWidth(94 * 3);
             int total = 10;
             int sleepTime = 300;
@@ -464,7 +469,7 @@
                 });
             })
             { IsBackground = true, Priority = System.Threading.ThreadPriority.Highest }.Start();
-            #endregion
+#endregion
             ContextView.RemoveAll();
             var classificaitionView = new ClassificationPage();
             ContextView.AddChidren(classificaitionView);
@@ -488,7 +493,7 @@
             btnCollectionIcon.IsSelected = false;
             btnClassificationIcon.IsSelected = false;
             btnPersonalCenterIcon.IsSelected = false;
-            #region 绉诲姩鍔ㄧ敾
+#region 绉诲姩鍔ㄧ敾
             var distance = navigationSelectionView.X - intellectualizationView.X + Application.GetRealWidth(94 * 3);
             int total = 10;
             int sleepTime = 300;
@@ -554,7 +559,7 @@
                 });
             })
             { IsBackground = true, Priority = System.Threading.ThreadPriority.Highest }.Start();
-            #endregion
+#endregion
             ContextView.RemoveAll();
             var intelligenceView = new IntelligencePage();
             ContextView.AddChidren(intelligenceView);
@@ -579,7 +584,7 @@
             btnCollectionIcon.IsSelected = false;
             btnClassificationIcon.IsSelected = false;
             btnIntellectualizationIcon.IsSelected = false;
-            #region 绉诲姩鍔ㄧ敾
+#region 绉诲姩鍔ㄧ敾
             var distance = navigationSelectionView.X - personalCenterView.X + Application.GetRealWidth(94 * 3);
             int total = 10;
             int sleepTime = 300;
@@ -638,7 +643,7 @@
                 });
             })
             { IsBackground = true, Priority = System.Threading.ThreadPriority.Highest }.Start();
-            #endregion
+#endregion
 
             ContextView.RemoveAll();
             var personalCenterPage = new UI.PersonalCenterPage();

--
Gitblit v1.8.0