From 5ce9a5b3706b7c609d832f73763a853ffd415c85 Mon Sep 17 00:00:00 2001
From: lss <lsc@hdlchina.com.cn>
Date: 星期四, 09 六月 2022 13:40:37 +0800
Subject: [PATCH] 2022-6-9 修复推送

---
 ZigbeeApp/GateWay.Droid/JPush/JPushFirmBroadcast.cs           |   57 +
 ZigbeeApp/GateWay.Droid/Resources/Resource.designer.cs        | 1642 ++++++++++++++++++++-------------
 ZigbeeApp/Shared/Common/SendDataToServer.cs                   |   75 +
 ZigbeeApp/Shared.Droid.JPush/Transforms/EnumMethods.xml       |   13 
 ZigbeeApp/GateWay.Droid/JPush/JPushService.cs                 |   11 
 ZigbeeApp/GateWay.Droid/Properties/AndroidManifest.xml        |   77 +
 ZigbeeApp/Shared.Droid.JPush/Shared.Droid.JPush.csproj        |   71 +
 ZigbeeApp/Shared.Droid.JPush/Transforms/EnumFields.xml        |   14 
 ZigbeeApp/Shared.Droid.JPush/Transforms/Metadata.xml          |  188 +++
 ZigbeeApp/Shared.Droid.JPush/Properties/AssemblyInfo.cs       |   24 
 ZigbeeApp/GateWay.Droid/Assets/agconnect-services.json        |   84 +
 ZigbeeApp/Shared.Droid.JPush/Jars/android_jpush_fcm_4.5.0.aar |    0 
 ZigbeeApp/GateWay.Droid/GateWay.Droid.csproj                  |   12 
 ZigbeeApp/Shared.Droid.JPush/Additions/AboutAdditions.txt     |   48 
 ZigbeeApp/Shared.Droid.JPush/Shared.Droid.JPush.sln           |   25 
 /dev/null                                                     |    0 
 ZigbeeApp/Shared.Droid.JPush/Jars/AboutJars.txt               |   24 
 ZigbeeApp/DroidLib/DroidLib.csproj                            |    2 
 ZigbeeApp/GateWay.Droid/JPush/JpushNotificationReceiver.cs    |  164 +++
 ZigbeeApp/GateWay.Droid/Application.cs                        |  168 ---
 ZigbeeApp/GateWay.sln                                         |   94 +
 ZigbeeApp/Shared.Droid.JPush/HmsLazyInputStream.cs            |   28 
 ZigbeeApp/Shared.Droid.JPush/HmsContentProvider.cs            |   58 +
 ZigbeeApp/GateWay.Droid/JPush/JPushOpenClickActivity.cs       |   48 
 24 files changed, 2,063 insertions(+), 864 deletions(-)

diff --git a/ZigbeeApp/DroidLib/DroidLib.csproj b/ZigbeeApp/DroidLib/DroidLib.csproj
old mode 100755
new mode 100644
index 9ccca5f..7b8a704
--- a/ZigbeeApp/DroidLib/DroidLib.csproj
+++ b/ZigbeeApp/DroidLib/DroidLib.csproj
@@ -55,8 +55,6 @@
   </ItemGroup>
   <ItemGroup>
     <EmbeddedJar Include="Jars\android-viewbadger.jar" />
-    <EmbeddedJar Include="Jars\jcore-android-1.2.7.jar" />
-    <EmbeddedJar Include="Jars\jpush-android-3.2.0.jar" />
   </ItemGroup>
   <Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.Bindings.targets" />
 </Project>
\ No newline at end of file
diff --git a/ZigbeeApp/DroidLib/Jars/jcore-android-1.2.7.jar b/ZigbeeApp/DroidLib/Jars/jcore-android-1.2.7.jar
deleted file mode 100755
index 77f183b..0000000
--- a/ZigbeeApp/DroidLib/Jars/jcore-android-1.2.7.jar
+++ /dev/null
Binary files differ
diff --git a/ZigbeeApp/DroidLib/Jars/jpush-android-3.2.0.jar b/ZigbeeApp/DroidLib/Jars/jpush-android-3.2.0.jar
deleted file mode 100755
index 76e90c4..0000000
--- a/ZigbeeApp/DroidLib/Jars/jpush-android-3.2.0.jar
+++ /dev/null
Binary files differ
diff --git a/ZigbeeApp/GateWay.Droid/Application.cs b/ZigbeeApp/GateWay.Droid/Application.cs
index 3a13e7b..11b2585 100644
--- a/ZigbeeApp/GateWay.Droid/Application.cs
+++ b/ZigbeeApp/GateWay.Droid/Application.cs
@@ -17,7 +17,8 @@
 using Com.Tencent.MM.Sdk.Openapi;
 using ZXing.Mobile;
 using System.IO;
-
+using GateWay.Droid.JPush;
+
 namespace com.hdl.home
 {
     [Activity(Name = "com.hdl.home.wxapi.WXEntryActivity", Exported = true, Theme = "@android:style/Theme.Translucent", LaunchMode = Android.Content.PM.LaunchMode.SingleTask)]
@@ -157,19 +158,14 @@
             //鍙栨秷灞忓箷甯镐寒
             BaseActivity.KeepScreenON = false;
             //闅愯棌搴曢儴杞寜閿�
-            BaseActivity.IsHideVirualButtons = true;
-
-            //璁剧疆鏋佸厜璋冭瘯妯″紡锛屼负false鏃跺彧鎵撳嵃璀﹀憡淇℃伅
-            // System.Console.WriteLine($"AAA : {System.DateTime.Now.ToString()}");
-#if Release
-            JPushInterface.SetDebugMode(false);
-            //淇濆瓨鎵嬫満鍚嶇О鍒版湰鍦版枃浠�
-            //System.Console.WriteLine($"BBB : {System .DateTime .Now .ToString ()}");
+            BaseActivity.IsHideVirualButtons = true;
 
-            JPushInterface.Init(this);
-            //System.Console.WriteLine($"CCC : {System.DateTime.Now.ToString()}");
-#endif
+            //璁剧疆鏋佸厜璋冭瘯妯″紡锛屼负false鏃跺彧鎵撳嵃璀﹀憡淇℃伅
+            // System.Console.WriteLine($"AAA : {System.DateTime.Now.ToString()}");
 
+            JPushInterface.SetDebugMode(true);
+            JPushInterface.Init(this);
+            string registration_id = JPushInterface.GetRegistrationID(this);
 
             BaseActivity.BackKeyAction = () =>
             {
@@ -335,150 +331,8 @@
                 }
             }
             return false;
-        }
-
-
+        }
     }
-
-    [BroadcastReceiver(Name = "com.evoyo.home.JpushNotificationReceiver", Exported = false, Enabled = true)]
-    [IntentFilter(new string[] { "cn.jpush.android.intent.REGISTRATION",
-               "cn.jpush.android.intent.MESSAGE_RECEIVED",
-                "cn.jpush.android.intent.NOTIFICATION_RECEIVED",
-                "cn.jpush.android.intent.NOTIFICATION_OPENED",
-                "cn.jpush.android.intent.CONNECTION"  }, Categories = new string[] { "com.evoyo.home" })]
-    public class JpushNotificationReceiver : BroadcastReceiver
-    {
-        private static string TAG = "JpushNotificationReceiver";
-        private NotificationManager nm;
-        static string ACTION = "android.intent.action.BOOT_COMPLETED";
-        public override void OnReceive(Context context, Intent intent)
-        {
-            if (nm == null)
-            {
-                nm = (NotificationManager)context.GetSystemService(Context.NotificationService);
-            }
-            //base.OnReceive (context, intent);
-            try
-            {
-                Bundle bundle = intent.Extras;
-                if (intent.Action == ACTION)
-                {
-                    //寮�鏈鸿嚜鍔ㄦ湇鍔¤嚜鍔ㄥ惎鍔�,PushService鏄鍚姩鐨勬湇鍔�
-                    Intent service = new Intent(context, typeof(PushService));
-                    context.StartService(service);
-                }
-
-                //鎺ユ敹Registration Id
-                if (JPushInterface.ActionRegistrationId == intent.Action)
-                {
-                    string regId = bundle.GetString(JPushInterface.ExtraRegistrationId);
-                    if (!string.IsNullOrEmpty(regId))
-                    {
-                        Shared.Common.Config.Instance.RegistrationID = regId;
-                        Shared.Common.Config.Instance.Save();
-                    }
-#if Release
-                    //璋冭瘯:璁板綍鏋佸厜ID
-                    Shared.Phone.UserCenter.HdlLogLogic.Current.WriteOtherText(Shared.Phone.UserCenter.DirNameResourse.JiguangFile, "receive2:" + regId, false, true);
-#endif
-                }
-                //鐢ㄦ埛鐐瑰嚮鎵撳紑浜嗛�氱煡
-                else if (JPushInterface.ActionNotificationOpened == intent.Action)
-                {
-                    OpenNotification(context, bundle);
-                }
-                //鎺ュ彈鍒版帹閫佷笅鏉ョ殑閫氱煡
-                else if (JPushInterface.ActionNotificationReceived == intent.Action)
-                {
-                    //int notifactionId = bundle.GetInt(JPushInterface.ExtraNotificationId);
-                    ReceivingNotification(context, bundle);
-                    //Shared.Common.CommonPage.Instance.SingOut();
-                }
-                //鎺ユ敹鍒版帹閫佷笅鏉ョ殑鑷畾涔夋秷鎭�
-                else if (JPushInterface.ActionMessageReceived == intent.Action)
-                {
-                    bundle.GetString(JPushInterface.ExtraMessage);
-                }
-                else
-                {
-                }
-            }
-            catch (System.Exception e)
-            {
-
-                System.Console.WriteLine("鏋佸厜鎺ㄩ�佸嚭閿�:" + e.Message);
-            }
-        }
-        /// <summary>
-        /// 鎺ユ敹娑堟伅閫氱煡
-        /// </summary>
-        /// <param name="context">Context.</param>
-        /// <param name="bundle">Bundle.</param>
-        private void ReceivingNotification(Context context, Bundle bundle)
-        {
-            String title = bundle.GetString(JPushInterface.ExtraNotificationTitle);
-            System.Console.WriteLine(TAG, " title : " + title);
-            String message = bundle.GetString(JPushInterface.ExtraAlert);
-            System.Console.WriteLine(TAG, "message : " + message);
-            String extras = bundle.GetString(JPushInterface.ExtraExtra);
-            System.Console.WriteLine(TAG, "extras : " + extras);
-
-            //澶勭悊鏋佸厜娑堟伅鎺ㄩ�佺殑閫昏緫鍑芥暟
-            Shared.Phone.UserCenter.HdlJiguangMsgPushLogic.Current.AdjustJiguangMsgPush(title, message, extras);
-        }
-        /// <summary>
-        /// 鎵撳紑娑堟伅鏄剧ず鐣岄潰
-        /// </summary>
-        /// <param name="context">Context.</param>
-        /// <param name="bundle">Bundle.</param>
-        private void OpenNotification(Context context, Bundle bundle)
-        {
-
-            Intent i = new Intent(context, typeof(BaseActivity));//Intent intent=new Intent( 璧峰缁勪欢瀵硅薄 , 鐩爣 Service.class);
-            i.PutExtras(bundle);
-            i.SetFlags(ActivityFlags.NewTask);
-            context.StartActivity(i);
-
-            String extras = bundle.GetString(JPushInterface.ExtraExtra);
-            //String myValue = "";
-            try
-            {
-                VideoMethod(extras);
-                //JSONObject extrasJson = new JSONObject(extras);
-                //myValue = extrasJson.OptString("myKey");
-
-            }
-            catch (Exception e)
-            {
-                System.Console.WriteLine(TAG, "Unexpected: extras is not a valid json", e);
-                return;
-            }
-
-            //if (TYPE_THIS.equals(myValue))
-            //{
-            //Intent mIntent = new Intent(context, ThisActivity.class);
-            //mIntent.putExtras(bundle);
-            //mIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-            //context.startActivity(mIntent);
-            //}
-            //else if (TYPE_ANOTHER.equals(myValue))
-            //{
-            //Intent mIntent = new Intent(context, AnotherActivity.class);
-            //mIntent.putExtras(bundle);
-            //mIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-            //context.startActivity(mIntent);
-            //}
-        }
-
-        /// <summary>
-        /// android閫氱煡鏍忕偣鍑绘墦寮�鍙瀵硅鐨勬柟娉�
-        /// </summary>
-        /// <param name="hiddenJson">浜戠鎺ㄨ繃鏉ョ殑鏁版嵁</param>
-        private void VideoMethod(string hiddenJson)
-        {
-            Com.Evoyohome.Sphonelibs.Global.Global.OpenCallActivity(null);
-        }
-    }
 }
 
 namespace Shared
@@ -556,5 +410,9 @@
                 return stream.ToArray();
             }
         }
+
+      
     }
+
+   
 }
diff --git a/ZigbeeApp/GateWay.Droid/Assets/agconnect-services.json b/ZigbeeApp/GateWay.Droid/Assets/agconnect-services.json
new file mode 100644
index 0000000..4b7059c
--- /dev/null
+++ b/ZigbeeApp/GateWay.Droid/Assets/agconnect-services.json
@@ -0,0 +1,84 @@
+{
+	"agcgw":{
+		"backurl":"connect-drcn.hispace.hicloud.com",
+		"url":"connect-drcn.dbankcloud.cn",
+		"websocketbackurl":"connect-ws-drcn.hispace.dbankcloud.com",
+		"websocketurl":"connect-ws-drcn.hispace.dbankcloud.cn"
+	},
+	"agcgw_all":{
+		"CN":"connect-drcn.dbankcloud.cn",
+		"CN_back":"connect-drcn.hispace.hicloud.com",
+		"DE":"connect-dre.dbankcloud.cn",
+		"DE_back":"connect-dre.hispace.hicloud.com",
+		"RU":"connect-drru.hispace.dbankcloud.ru",
+		"RU_back":"connect-drru.hispace.dbankcloud.cn",
+		"SG":"connect-dra.dbankcloud.cn",
+		"SG_back":"connect-dra.hispace.hicloud.com"
+	},
+	"websocketgw_all":{
+		"CN":"connect-ws-drcn.hispace.dbankcloud.cn",
+		"CN_back":"connect-ws-drcn.hispace.dbankcloud.com",
+		"DE":"connect-ws-dre.hispace.dbankcloud.cn",
+		"DE_back":"connect-ws-dre.hispace.dbankcloud.com",
+		"RU":"connect-ws-drru.hispace.dbankcloud.ru",
+		"RU_back":"connect-ws-drru.hispace.dbankcloud.cn",
+		"SG":"connect-ws-dra.hispace.dbankcloud.cn",
+		"SG_back":"connect-ws-dra.hispace.dbankcloud.com"
+	},
+	"client":{
+		"cp_id":"2850086000428177029",
+		"product_id":"99536292102360529",
+		"client_id":"909271942853316096",
+		"client_secret":"04B947A6C65528311BDC8BC4299D34A8CEF4B2220532524E3EE6C8F1E3CAE637",
+		"project_id":"99536292102360529",
+		"app_id":"103085275",
+		"api_key":"DAEDAAywMRP7NwBehUXjRsqrTI3Y2tU2sDZh5OOI4tHdyEud4kdjQrvhjFvWUYx73dyEfKrQVYLpsSpBMuGnUmYQNx+opJNRxfroXw==",
+		"package_name":"com.evoyo.home"
+	},
+	"oauth_client":{
+		"client_id":"103085275",
+		"client_type":1
+	},
+	"app_info":{
+		"app_id":"103085275",
+		"package_name":"com.evoyo.home"
+	},
+	"service":{
+		"analytics":{
+			"collector_url":"datacollector-drcn.dt.hicloud.com,datacollector-drcn.dt.dbankcloud.cn",
+			"collector_url_ru":"datacollector-drru.dt.dbankcloud.ru,datacollector-drru.dt.hicloud.com",
+			"collector_url_sg":"datacollector-dra.dt.hicloud.com,datacollector-dra.dt.dbankcloud.cn",
+			"collector_url_de":"datacollector-dre.dt.hicloud.com,datacollector-dre.dt.dbankcloud.cn",
+			"collector_url_cn":"datacollector-drcn.dt.hicloud.com,datacollector-drcn.dt.dbankcloud.cn",
+			"resource_id":"p1",
+			"channel_id":""
+		},
+		"search":{
+			"url":"https://search-drcn.cloud.huawei.com"
+		},
+		"cloudstorage":{
+			"storage_url":"https://agc-storage-drcn.platform.dbankcloud.cn"
+		},
+		"ml":{
+			"mlservice_url":"ml-api-drcn.ai.dbankcloud.com,ml-api-drcn.ai.dbankcloud.cn"
+		}
+	},
+	"region":"CN",
+	"configuration_version":"3.0",
+	"appInfos":[
+		{
+			"package_name":"com.evoyo.home",
+			"client":{
+				"app_id":"103085275"
+			},
+			"app_info":{
+				"package_name":"com.evoyo.home",
+				"app_id":"103085275"
+			},
+			"oauth_client":{
+				"client_type":1,
+				"client_id":"103085275"
+			}
+		}
+	]
+}
\ No newline at end of file
diff --git a/ZigbeeApp/GateWay.Droid/GateWay.Droid.csproj b/ZigbeeApp/GateWay.Droid/GateWay.Droid.csproj
index 6af3c8c..749bff1 100644
--- a/ZigbeeApp/GateWay.Droid/GateWay.Droid.csproj
+++ b/ZigbeeApp/GateWay.Droid/GateWay.Droid.csproj
@@ -210,6 +210,10 @@
     <Compile Include="Properties\AssemblyInfo.cs" />
     <Compile Include="ZXing\ZXingCustomScanView.cs" />
     <Compile Include="ZXing\ZXingOverlayView.cs" />
+    <Compile Include="JPush\JPushFirmBroadcast.cs" />
+    <Compile Include="JPush\JPushOpenClickActivity.cs" />
+    <Compile Include="JPush\JpushNotificationReceiver.cs" />
+    <Compile Include="JPush\JPushService.cs" />
   </ItemGroup>
   <ItemGroup>
     <None Include="app.config" />
@@ -220,6 +224,7 @@
       <SubType>Designer</SubType>
     </None>
     <AndroidAsset Include="Assets\Phone\Center\FaceManagement.png" />
+    <AndroidAsset Include="Assets\agconnect-services.json" />
   </ItemGroup>
   <ItemGroup>
     <AndroidResource Include="Resources\layout\Main.axml" />
@@ -2721,6 +2726,13 @@
       <Project>{A6CA3387-58A7-4819-992F-C800C8839AFB}</Project>
       <Name>SPhoneLib</Name>
     </ProjectReference>
+    <ProjectReference Include="..\Shared.Droid.JPush\Shared.Droid.JPush.csproj">
+      <Project>{06B9C874-B9B2-4417-8280-B321F966E46B}</Project>
+      <Name>Shared.Droid.JPush</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <ItemGroup>
+    <Folder Include="JPush\" />
   </ItemGroup>
   <Import Project="..\Shared\Shared.projitems" Label="Shared" Condition="Exists('..\Shared\Shared.projitems')" />
   <Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.CSharp.targets" />
diff --git a/ZigbeeApp/GateWay.Droid/JPush/JPushFirmBroadcast.cs b/ZigbeeApp/GateWay.Droid/JPush/JPushFirmBroadcast.cs
new file mode 100644
index 0000000..0b3bcec
--- /dev/null
+++ b/ZigbeeApp/GateWay.Droid/JPush/JPushFirmBroadcast.cs
@@ -0,0 +1,57 @@
+锘�
+using Android.Content;
+
+using System;
+
+using CN.Jpush.Android.Api;
+using GateWay.Droid.JPush;
+using com.hdl.home;
+using Android.OS;
+
+namespace HDL_ON_Android
+{
+
+    [BroadcastReceiver(Enabled = true, Exported = false, Name = "com.evoyo.home.JPushFirmBroadcast")]
+    [Android.App.IntentFilter(new string[]
+    {
+        "com.evoyo.home.jpush.firm.NOTIFICATION_OPENED"
+    },
+     Categories = new string[]
+    {
+        Intent.CategoryDefault
+    })]
+    class JPushFirmBroadcast : BroadcastReceiver
+    {
+
+        public override void OnReceive(Context context, Intent intent)
+        {
+
+            /* 鐢ㄦ潵鎺ユ敹鍘傚晢鐐瑰嚮閫氱煡娑堟伅锛岄渶瑕佹墦寮�MainActivity 闇�瑕佽嚜琛岃皟鐢�
+             cn.jpush.android.EXTRA,cn.jpush.android.MSG_ID,
+             cn.jpush.android.TYPE_PLATFORM,
+            cn.jpush.android.TITLE,
+            cn.jpush.android.MESSAGE*/
+
+            try
+            {
+                NotificationMessage notificationMessage = new NotificationMessage();
+                string extra = intent.GetStringExtra(JPushInterface.ExtraExtra);
+                string msgId = intent.GetStringExtra(JPushInterface.ExtraMsgId);
+
+                string message = intent.GetStringExtra(JPushInterface.ExtraMessage);
+                string title = intent.GetStringExtra(JPushInterface.ExtraTitle);
+                //  String typePlatform = intent.GetStringExtra(JPushInterface.ExtraTypePlatform);
+
+                notificationMessage.NotificationTitle = title;
+                notificationMessage.NotificationContent = message;
+                notificationMessage.NotificationExtras = extra;
+
+                JpushNotificationReceiver.OpenNotification(context, extra);
+
+            }
+            catch
+            {
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/ZigbeeApp/GateWay.Droid/JPush/JPushOpenClickActivity.cs b/ZigbeeApp/GateWay.Droid/JPush/JPushOpenClickActivity.cs
new file mode 100644
index 0000000..0a18a7b
--- /dev/null
+++ b/ZigbeeApp/GateWay.Droid/JPush/JPushOpenClickActivity.cs
@@ -0,0 +1,48 @@
+锘縰sing Android.App;
+using Android.Content;
+using Android.OS;
+
+using Com.Hdl.ON.Jpush.Androidjpush;
+
+using Android.Views;
+
+namespace HDL_ON_Android
+{
+    [Activity( Exported = true, Enabled = true, Name = "com.evoyo.home.JPushOpenClickActivity"
+        , Theme = "@android:style/Theme.Translucent.NoTitleBar")]
+    [IntentFilter(new string[] { "com.evoyo.home.JPushOpenClickActivity", Intent.ActionView },
+         Categories = new string[] {  "com.evoyo.home",Intent.CategoryDefault })]
+    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)
+        {
+            Intent broadcastIntent = new Intent();
+            broadcastIntent.SetAction("com.evoyo.home.jpush.firm.NOTIFICATION_OPENED");
+            ComponentName componentName = new ComponentName(PackageName, "com.evoyo.home.JPushFirmBroadcast");
+
+            if (Build.VERSION.SdkInt >= BuildVersionCodes.O)
+            {
+                broadcastIntent.SetComponent(componentName);
+            }
+            FirmOpenClickHelper.Instance.HandleOpenClick(this, intent, broadcastIntent);
+            Finish();
+
+        }
+
+        protected override void OnNewIntent(Intent intent)
+        {
+            base.OnNewIntent(intent);
+            HandleOpenClick(intent);
+
+        }
+    }
+}
\ No newline at end of file
diff --git a/ZigbeeApp/GateWay.Droid/JPush/JPushService.cs b/ZigbeeApp/GateWay.Droid/JPush/JPushService.cs
new file mode 100644
index 0000000..123e202
--- /dev/null
+++ b/ZigbeeApp/GateWay.Droid/JPush/JPushService.cs
@@ -0,0 +1,11 @@
+锘縰sing System;
+using CN.Jpush.Android.Service;
+
+namespace GateWay.Droid.JPush
+{
+    [Android.App.Service(Enabled = true, Exported = true, Process = ":pushcore")]
+    [Android.App.IntentFilter(new string[] { "cn.jiguang.user.service.action" })]
+    public class JPushService: JCommonService
+    {
+    }
+}
\ No newline at end of file
diff --git a/ZigbeeApp/GateWay.Droid/JPush/JpushNotificationReceiver.cs b/ZigbeeApp/GateWay.Droid/JPush/JpushNotificationReceiver.cs
new file mode 100644
index 0000000..18b0cd8
--- /dev/null
+++ b/ZigbeeApp/GateWay.Droid/JPush/JpushNotificationReceiver.cs
@@ -0,0 +1,164 @@
+锘縰sing System;
+using Android.App;
+using Android.Content;
+using Android.OS;
+using CN.Jpush.Android.Api;
+using CN.Jpush.Android.Service;
+using Shared;
+using static Shared.Common.SendDataToServer;
+
+namespace GateWay.Droid.JPush
+{
+    [BroadcastReceiver(Enabled = true, Exported = false)]
+    [IntentFilter(new string[]
+    {
+        "cn.jpush.android.intent.RECEIVE_MESSAGE"
+    },
+    Categories = new string[]
+    {
+        "com.evoyo.home"
+    })]
+    public class JpushNotificationReceiver : JPushMessageReceiver
+    {
+        private static string TAG = "JpushNotificationReceiver";
+        private NotificationManager nm;
+        static string ACTION = "android.intent.action.BOOT_COMPLETED";
+
+        /// <summary>
+        /// 鐢ㄦ埛鐐瑰嚮鎵撳紑浜嗛�氱煡
+        /// 鐐瑰嚮閫氱煡鍥炶皟
+        /// </summary>
+        /// <param name="context"></param>
+        /// <param name="notificationMessage"></param>
+        public override void OnNotifyMessageOpened(Context context, NotificationMessage notificationMessage)
+        {
+            //2020-12-23 瑙e喅鐐瑰嚮閫氱煡鏍忔墦寮�涓嶄簡APP闂
+            var pushMes = new JPushMessageInfo()
+            {
+                Title = notificationMessage.NotificationTitle,
+                Content = notificationMessage.NotificationContent,
+                Extras = notificationMessage.NotificationExtras
+            };
+            OpenNotification(context, pushMes.Extras);
+        }
+
+        /// <summary>
+        /// 鏀跺埌閫氱煡鍥炶皟
+        /// </summary>
+        /// <param name="p0"></param>
+        /// <param name="p1"></param>
+        public override void OnNotifyMessageArrived(Context context, NotificationMessage notificationMessage)
+        {
+            base.OnNotifyMessageArrived(context, notificationMessage);
+
+            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;
+                pushMes.HomeId = jpushExpandData.homeId;
+            }
+
+            ReceivingNotification(context, pushMes.Title, pushMes.Content, pushMes.Extras);
+        }
+
+        /// <summary>
+        /// 鑷畾涔夐�氱煡
+        /// </summary>
+        /// <param name="p0"></param>
+        /// <param name="p1"></param>
+        public override void OnMessage(Context p0, CustomMessage p1)
+        {
+            base.OnMessage(p0, p1);
+        }
+
+        /// <summary>
+        /// 娉ㄥ唽鎴愬姛鍥炶皟
+        /// </summary>
+        /// <param name="p0"></param>
+        /// <param name="p1"></param>
+        public override void OnRegister(Context context, string regId)
+        {
+            base.OnRegister(context, regId);
+            Shared.Common.Config.Instance.RegistrationID = regId;
+            Shared.Common.Config.Instance.Save();
+            Shared.Phone.UserCenter.HdlLogLogic.Current.WriteOtherText(Shared.Phone.UserCenter.DirNameResourse.JiguangFile, "receive2:" + regId, false, true);
+        }
+
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="pushMes"></param>
+        /// <returns></returns>
+        static ExpandData GetJPushExpandData(JPushMessageInfo pushMes)
+        {
+            try
+            {
+                if (pushMes.Extras != null)
+                {
+                    var jpushExpandData = Newtonsoft.Json.JsonConvert.DeserializeObject<JPushExpandData>(pushMes.Extras.ToString());
+                    return Newtonsoft.Json.JsonConvert.DeserializeObject<ExpandData>(jpushExpandData.expandData);
+                }
+                return null;
+            }
+            catch
+            {
+                return null;
+            }
+        }
+
+        /// <summary>
+        /// 鎺ユ敹娑堟伅閫氱煡
+        /// </summary>
+        /// <param name="context">Context.</param>
+        /// <param name="bundle">Bundle.</param>
+        private static void ReceivingNotification(Context context, string title, string message, string extras)
+        {
+            System.Console.WriteLine(TAG, " title : " + title);
+            System.Console.WriteLine(TAG, "message : " + message);
+            System.Console.WriteLine(TAG, "extras : " + extras);
+
+            //澶勭悊鏋佸厜娑堟伅鎺ㄩ�佺殑閫昏緫鍑芥暟
+            Shared.Phone.UserCenter.HdlJiguangMsgPushLogic.Current.AdjustJiguangMsgPush(title, message, extras);
+        }
+
+        /// <summary>
+        /// 鎵撳紑娑堟伅鏄剧ず鐣岄潰
+        /// </summary>
+        /// <param name="context">Context.</param>
+        /// <param name="bundle">Bundle.</param>
+        public static void OpenNotification(Context context, string extras)
+        {
+            Intent i = new Intent(context, typeof(BaseActivity));//Intent intent=new Intent( 璧峰缁勪欢瀵硅薄 , 鐩爣 Service.class);
+            i.SetFlags(ActivityFlags.NewTask);
+            context.StartActivity(i);
+            try
+            {
+                VideoMethod(extras);
+            }
+            catch (Exception e)
+            {
+                System.Console.WriteLine(TAG, "Unexpected: extras is not a valid json", e);
+                return;
+            }
+        }
+
+        /// <summary>
+        /// android閫氱煡鏍忕偣鍑绘墦寮�鍙瀵硅鐨勬柟娉�
+        /// </summary>
+        /// <param name="hiddenJson">浜戠鎺ㄨ繃鏉ョ殑鏁版嵁</param>
+        private static void VideoMethod(string hiddenJson)
+        {
+            Com.Evoyohome.Sphonelibs.Global.Global.OpenCallActivity(null);
+        }
+
+       
+    }
+}
diff --git a/ZigbeeApp/GateWay.Droid/Properties/AndroidManifest.xml b/ZigbeeApp/GateWay.Droid/Properties/AndroidManifest.xml
index 08d501f..cc74f47 100644
--- a/ZigbeeApp/GateWay.Droid/Properties/AndroidManifest.xml
+++ b/ZigbeeApp/GateWay.Droid/Properties/AndroidManifest.xml
@@ -103,16 +103,16 @@
 			<meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/file_paths" />
 		</provider>
 		<!--鑷姩鏇存柊缁撴潫-->
+		<!-- 璁剧疆楂樺痉鍦板浘key -->
+		<meta-data android:name="com.amap.api.v2.apikey" android:value="9901dd06e30b229efdd4c5bf5e076224" />
+		<!--  </>鍊兼潵鑷紑鍙戣�呭钩鍙板彇寰楃殑AppKey-->
+		<!-- 璁剧疆楂樺痉鍦板浘key -->
+		<meta-data android:name="com.amap.api.v2.apikey" android:value="f78f951092602db3962811e736758559" />
 		<!--鏋佸厜鎺ㄩ��-->
-		<activity android:name="cn.jpush.android.ui.PopWinActivity" android:exported="false" />
-		<activity android:name="cn.jpush.android.ui.PushActivity" android:configChanges="orientation|keyboardHidden" android:theme="@android:style/Theme.NoTitleBar" android:exported="false">
-			<intent-filter>
-				<action android:name="cn.jpush.android.ui.PushActivity" />
-				<category android:name="android.intent.category.DEFAULT" />
-				<category android:name="com.evoyo.home" />
-			</intent-filter>
-		</activity>
-		<service android:name="cn.jpush.android.service.PushService" android:process=":mult">
+		<provider android:name="Shared.Droid.JPush.HmsContentProvider" android:authorities="${applicationId}.hmspushprovider" android:exported="false"></provider>
+		<!-- Required SDK 鏍稿績鍔熻兘-->
+		<!-- 鍙厤缃� android:process 鍙傛暟灏� PushService 鏀惧湪鍏朵粬杩涚▼涓� -->
+		<service android:name="cn.jpush.android.service.PushService" android:enabled="true" android:exported="false">
 			<intent-filter>
 				<action android:name="cn.jpush.android.intent.REGISTER" />
 				<action android:name="cn.jpush.android.intent.REPORT" />
@@ -121,8 +121,10 @@
 			</intent-filter>
 		</service>
 		<!-- since 3.0.9 Required SDK 鏍稿績鍔熻兘-->
-		<provider android:authorities="com.evoyo.home.DataProvider" android:name="cn.jpush.android.service.DataProvider" android:process=":pushcore" android:exported="false" />
-		<service android:name="cn.jpush.android.service.DaemonService" android:enabled="true" android:exported="true">
+		<provider android:authorities="com.evoyo.home.DataProvider" android:name="cn.jpush.android.service.DataProvider" android:exported="true" />
+		<!-- since 1.8.0 option 鍙�夐」銆傜敤浜庡悓涓�璁惧涓笉鍚屽簲鐢ㄧ殑 JPush 鏈嶅姟鐩镐簰鎷夎捣鐨勫姛鑳姐�� -->
+		<!-- 鑻ヤ笉鍚敤璇ュ姛鑳藉彲鍒犻櫎璇ョ粍浠讹紝鎴栨妸 enabled 璁剧疆鎴� false 锛汚pp 涓嶄細琚叾浠� App 鎷夎捣锛屼絾浼氭媺璧峰叾浠栫殑 App銆� -->
+		<service android:name="cn.jpush.android.service.DaemonService" android:enabled="false" android:exported="true">
 			<intent-filter>
 				<action android:name="cn.jpush.android.intent.DaemonService" />
 				<category android:name="com.evoyo.home" />
@@ -130,6 +132,7 @@
 		</service>
 		<!-- since 3.1.0 Required SDK 鏍稿績鍔熻兘-->
 		<provider android:authorities="com.evoyo.home.DownloadProvider" android:name="cn.jpush.android.service.DownloadProvider" android:exported="true" />
+		<!-- Required SDK 鏍稿績鍔熻兘-->
 		<receiver android:name="cn.jpush.android.service.PushReceiver" android:enabled="true">
 			<intent-filter android:priority="1000">
 				<action android:name="cn.jpush.android.intent.NOTIFICATION_RECEIVED_PROXY" />
@@ -146,14 +149,54 @@
 				<data android:scheme="package" />
 			</intent-filter>
 		</receiver>
-		<receiver android:name="cn.jpush.android.service.AlarmReceiver" android:exported="false" />
-		<!-- User defined.  For test only  鐢ㄦ埛鑷畾涔夌殑骞挎挱鎺ユ敹鍣�-->
-		<!-- Required  . Enable it you can get statistics data with channel -->
+		<!-- Required SDK 鏍稿績鍔熻兘-->
+		<!-- 鑻ユ偍鐨勪笟鍔′腑鏈変娇鐢ㄦ瀬鍏夊瘜濯掍綋鍔熻兘锛屾垨鑰呮瀬鍏夋棭涓婂ソ鍔熻兘锛岄渶瑕佹妸姝� Activity 鐨� exported 璁剧疆鎴� true銆� -->
+		<activity android:name="cn.jpush.android.ui.PushActivity" android:configChanges="orientation|keyboardHidden" android:theme="@android:style/Theme.NoTitleBar" android:exported="false">
+			<intent-filter>
+				<action android:name="cn.jpush.android.ui.PushActivity" />
+				<category android:name="android.intent.category.DEFAULT" />
+				<category android:name="com.evoyo.home" />
+			</intent-filter>
+		</activity>
+		<!-- SDK 鏍稿績鍔熻兘-->
+		<!-- 鑻ユ偍鐨勪笟鍔′腑鏈変娇鐢ㄦ瀬鍏夊瘜濯掍綋鍔熻兘锛屾垨鑰呮瀬鍏夋棭涓婂ソ鍔熻兘锛岄渶瑕佹妸姝� Activity 鐨� exported 璁剧疆鎴� true銆� -->
+		<activity android:name="cn.jpush.android.ui.PopWinActivity" android:configChanges="orientation|keyboardHidden" android:exported="false" android:theme="@style/DialogTheme">
+			<intent-filter>
+				<category android:name="android.intent.category.DEFAULT" />
+				<category android:name="com.evoyo.home" />
+			</intent-filter>
+		</activity>
+		<!-- since 3.6.0 -->
+		<activity android:name="cn.jpush.android.service.DActivity" android:enabled="true" android:exported="true" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:taskAffinity="jpush.custom">
+			<intent-filter>
+				<action android:name="cn.jpush.android.intent.DActivity" />
+				<category android:name="com.evoyo.home" />
+			</intent-filter>
+		</activity>
+		<!-- Required SDK 鏍稿績鍔熻兘-->
+		<receiver android:name="cn.jpush.android.service.AlarmReceiver" />
+		<!-- 3.5.0鏂板锛岀敤浜庡畾鏃跺睍绀哄姛鑳� -->
+		<receiver android:name="cn.jpush.android.service.SchedulerReceiver" android:exported="false" />
+		<!--Required SDK鏍稿績鍔熻兘 since 3.3.0-->
+		<activity android:name="cn.jpush.android.service.JNotifyActivity" android:exported="true" android:taskAffinity="jpush.custom" android:theme="@android:style/Theme.Translucent.NoTitleBar">
+			<intent-filter>
+				<action android:name="cn.jpush.android.intent.JNotifyActivity" />
+				<category android:name="com.evoyo.home" />
+			</intent-filter>
+		</activity>
+		<!-- Required. For publish channel feature -->
+		<!-- JPUSH_CHANNEL 鏄负浜嗘柟渚垮紑鍙戣�呯粺璁� APK 鍒嗗彂娓犻亾銆�-->
+		<!-- 渚嬪: -->
+		<!-- 鍙戝埌 Google Play 鐨� APK 鍙互璁剧疆涓� google-play; -->
+		<!-- 鍙戝埌鍏朵粬甯傚満鐨� APK 鍙互璁剧疆涓� xxx-market銆� -->
 		<meta-data android:name="JPUSH_CHANNEL" android:value="developer-default" />
+		<!-- Required. AppKey copied from Portal -->
 		<meta-data android:name="JPUSH_APPKEY" android:value="07cfd3177490173e7c072f49" />
-		<!--  </>鍊兼潵鑷紑鍙戣�呭钩鍙板彇寰楃殑AppKey-->
+		<meta-data android:name="XIAOMI_APPKEY" android:value="MI-5261873610008" />
+		<meta-data android:name="XIAOMI_APPID" android:value="MI-2882303761518736008" />
+		<!--<meta-data android:name="OPPO_APPKEY" android:value="OP-e942dafe77cf4b9f868d5421d701655a" />
+		<meta-data android:name="OPPO_APPID" android:value="OP-30619979" />
+		<meta-data android:name="OPPO_APPSECRET" android:value="OP-11d511c42f654cafac99588322681003" />-->
 		<!-- 鏋佸厜鎺ㄩ�佺粨鏉� -->
-		<!-- 璁剧疆楂樺痉鍦板浘key -->
-		<meta-data android:name="com.amap.api.v2.apikey" android:value="f78f951092602db3962811e736758559" />
 	</application>
 </manifest>
\ No newline at end of file
diff --git a/ZigbeeApp/GateWay.Droid/Resources/Resource.designer.cs b/ZigbeeApp/GateWay.Droid/Resources/Resource.designer.cs
index 23d873f..b6679fe 100644
--- a/ZigbeeApp/GateWay.Droid/Resources/Resource.designer.cs
+++ b/ZigbeeApp/GateWay.Droid/Resources/Resource.designer.cs
@@ -1772,44 +1772,44 @@
 		public partial class Color
 		{
 			
-			// aapt resource value: 0x7f0d006e
-			public const int abc_background_cache_hint_selector_material_dark = 2131558510;
-			
-			// aapt resource value: 0x7f0d006f
-			public const int abc_background_cache_hint_selector_material_light = 2131558511;
-			
-			// aapt resource value: 0x7f0d0070
-			public const int abc_btn_colored_borderless_text_material = 2131558512;
-			
 			// aapt resource value: 0x7f0d0071
-			public const int abc_btn_colored_text_material = 2131558513;
+			public const int abc_background_cache_hint_selector_material_dark = 2131558513;
 			
 			// aapt resource value: 0x7f0d0072
-			public const int abc_color_highlight_material = 2131558514;
+			public const int abc_background_cache_hint_selector_material_light = 2131558514;
 			
 			// aapt resource value: 0x7f0d0073
-			public const int abc_hint_foreground_material_dark = 2131558515;
+			public const int abc_btn_colored_borderless_text_material = 2131558515;
 			
 			// aapt resource value: 0x7f0d0074
-			public const int abc_hint_foreground_material_light = 2131558516;
+			public const int abc_btn_colored_text_material = 2131558516;
+			
+			// aapt resource value: 0x7f0d0075
+			public const int abc_color_highlight_material = 2131558517;
+			
+			// aapt resource value: 0x7f0d0076
+			public const int abc_hint_foreground_material_dark = 2131558518;
+			
+			// aapt resource value: 0x7f0d0077
+			public const int abc_hint_foreground_material_light = 2131558519;
 			
 			// aapt resource value: 0x7f0d0000
 			public const int abc_input_method_navigation_guard = 2131558400;
 			
-			// aapt resource value: 0x7f0d0075
-			public const int abc_primary_text_disable_only_material_dark = 2131558517;
-			
-			// aapt resource value: 0x7f0d0076
-			public const int abc_primary_text_disable_only_material_light = 2131558518;
-			
-			// aapt resource value: 0x7f0d0077
-			public const int abc_primary_text_material_dark = 2131558519;
-			
 			// aapt resource value: 0x7f0d0078
-			public const int abc_primary_text_material_light = 2131558520;
+			public const int abc_primary_text_disable_only_material_dark = 2131558520;
 			
 			// aapt resource value: 0x7f0d0079
-			public const int abc_search_url_text = 2131558521;
+			public const int abc_primary_text_disable_only_material_light = 2131558521;
+			
+			// aapt resource value: 0x7f0d007a
+			public const int abc_primary_text_material_dark = 2131558522;
+			
+			// aapt resource value: 0x7f0d007b
+			public const int abc_primary_text_material_light = 2131558523;
+			
+			// aapt resource value: 0x7f0d007c
+			public const int abc_search_url_text = 2131558524;
 			
 			// aapt resource value: 0x7f0d0001
 			public const int abc_search_url_text_normal = 2131558401;
@@ -1820,29 +1820,29 @@
 			// aapt resource value: 0x7f0d0003
 			public const int abc_search_url_text_selected = 2131558403;
 			
-			// aapt resource value: 0x7f0d007a
-			public const int abc_secondary_text_material_dark = 2131558522;
-			
-			// aapt resource value: 0x7f0d007b
-			public const int abc_secondary_text_material_light = 2131558523;
-			
-			// aapt resource value: 0x7f0d007c
-			public const int abc_tint_btn_checkable = 2131558524;
-			
 			// aapt resource value: 0x7f0d007d
-			public const int abc_tint_default = 2131558525;
+			public const int abc_secondary_text_material_dark = 2131558525;
 			
 			// aapt resource value: 0x7f0d007e
-			public const int abc_tint_edittext = 2131558526;
+			public const int abc_secondary_text_material_light = 2131558526;
 			
 			// aapt resource value: 0x7f0d007f
-			public const int abc_tint_seek_thumb = 2131558527;
+			public const int abc_tint_btn_checkable = 2131558527;
 			
 			// aapt resource value: 0x7f0d0080
-			public const int abc_tint_spinner = 2131558528;
+			public const int abc_tint_default = 2131558528;
 			
 			// aapt resource value: 0x7f0d0081
-			public const int abc_tint_switch_track = 2131558529;
+			public const int abc_tint_edittext = 2131558529;
+			
+			// aapt resource value: 0x7f0d0082
+			public const int abc_tint_seek_thumb = 2131558530;
+			
+			// aapt resource value: 0x7f0d0083
+			public const int abc_tint_spinner = 2131558531;
+			
+			// aapt resource value: 0x7f0d0084
+			public const int abc_tint_switch_track = 2131558532;
 			
 			// aapt resource value: 0x7f0d0004
 			public const int accent_material_dark = 2131558404;
@@ -1889,23 +1889,23 @@
 			// aapt resource value: 0x7f0d0011
 			public const int button_material_light = 2131558417;
 			
+			// aapt resource value: 0x7f0d0070
+			public const int color_default = 2131558512;
+			
+			// aapt resource value: 0x7f0d006e
+			public const int color_disable = 2131558510;
+			
+			// aapt resource value: 0x7f0d006f
+			public const int color_select = 2131558511;
+			
 			// aapt resource value: 0x7f0d006d
-			public const int color_default = 2131558509;
-			
-			// aapt resource value: 0x7f0d006b
-			public const int color_disable = 2131558507;
-			
-			// aapt resource value: 0x7f0d006c
-			public const int color_select = 2131558508;
-			
-			// aapt resource value: 0x7f0d006a
-			public const int color_white = 2131558506;
+			public const int color_white = 2131558509;
 			
 			// aapt resource value: 0x7f0d003c
 			public const int design_bottom_navigation_shadow_color = 2131558460;
 			
-			// aapt resource value: 0x7f0d0082
-			public const int design_error = 2131558530;
+			// aapt resource value: 0x7f0d0085
+			public const int design_error = 2131558533;
 			
 			// aapt resource value: 0x7f0d003d
 			public const int design_fab_shadow_end_color = 2131558461;
@@ -1931,8 +1931,8 @@
 			// aapt resource value: 0x7f0d0044
 			public const int design_snackbar_background_color = 2131558468;
 			
-			// aapt resource value: 0x7f0d0083
-			public const int design_tint_password_toggle = 2131558531;
+			// aapt resource value: 0x7f0d0086
+			public const int design_tint_password_toggle = 2131558534;
 			
 			// aapt resource value: 0x7f0d0012
 			public const int dim_foreground_disabled_material_dark = 2131558418;
@@ -1955,8 +1955,8 @@
 			// aapt resource value: 0x7f0d0018
 			public const int foreground_material_light = 2131558424;
 			
-			// aapt resource value: 0x7f0d0060
-			public const int gd_top_view = 2131558496;
+			// aapt resource value: 0x7f0d0063
+			public const int gd_top_view = 2131558499;
 			
 			// aapt resource value: 0x7f0d0019
 			public const int highlighted_text_material_dark = 2131558425;
@@ -2012,32 +2012,32 @@
 			// aapt resource value: 0x7f0d003b
 			public const int notification_material_background_media_default_color = 2131558459;
 			
-			// aapt resource value: 0x7f0d0061
-			public const int pickerview_bgColor_default = 2131558497;
-			
-			// aapt resource value: 0x7f0d0062
-			public const int pickerview_bgColor_overlay = 2131558498;
-			
-			// aapt resource value: 0x7f0d0063
-			public const int pickerview_bg_topbar = 2131558499;
-			
 			// aapt resource value: 0x7f0d0064
-			public const int pickerview_timebtn_nor = 2131558500;
+			public const int pickerview_bgColor_default = 2131558500;
 			
 			// aapt resource value: 0x7f0d0065
-			public const int pickerview_timebtn_pre = 2131558501;
+			public const int pickerview_bgColor_overlay = 2131558501;
 			
 			// aapt resource value: 0x7f0d0066
-			public const int pickerview_topbar_title = 2131558502;
+			public const int pickerview_bg_topbar = 2131558502;
 			
 			// aapt resource value: 0x7f0d0067
-			public const int pickerview_wheelview_textcolor_center = 2131558503;
+			public const int pickerview_timebtn_nor = 2131558503;
 			
 			// aapt resource value: 0x7f0d0068
-			public const int pickerview_wheelview_textcolor_divider = 2131558504;
+			public const int pickerview_timebtn_pre = 2131558504;
 			
 			// aapt resource value: 0x7f0d0069
-			public const int pickerview_wheelview_textcolor_out = 2131558505;
+			public const int pickerview_topbar_title = 2131558505;
+			
+			// aapt resource value: 0x7f0d006a
+			public const int pickerview_wheelview_textcolor_center = 2131558506;
+			
+			// aapt resource value: 0x7f0d006b
+			public const int pickerview_wheelview_textcolor_divider = 2131558507;
+			
+			// aapt resource value: 0x7f0d006c
+			public const int pickerview_wheelview_textcolor_out = 2131558508;
 			
 			// aapt resource value: 0x7f0d0027
 			public const int primary_dark_material_dark = 2131558439;
@@ -2138,11 +2138,11 @@
 			// aapt resource value: 0x7f0d0036
 			public const int switch_thumb_disabled_material_light = 2131558454;
 			
-			// aapt resource value: 0x7f0d0084
-			public const int switch_thumb_material_dark = 2131558532;
+			// aapt resource value: 0x7f0d0087
+			public const int switch_thumb_material_dark = 2131558535;
 			
-			// aapt resource value: 0x7f0d0085
-			public const int switch_thumb_material_light = 2131558533;
+			// aapt resource value: 0x7f0d0088
+			public const int switch_thumb_material_light = 2131558536;
 			
 			// aapt resource value: 0x7f0d0037
 			public const int switch_thumb_normal_material_dark = 2131558455;
@@ -2156,8 +2156,8 @@
 			// aapt resource value: 0x7f0d005a
 			public const int teal_700 = 2131558490;
 			
-			// aapt resource value: 0x7f0d0086
-			public const int text_color = 2131558534;
+			// aapt resource value: 0x7f0d0089
+			public const int text_color = 2131558537;
 			
 			// aapt resource value: 0x7f0d005b
 			public const int text_default_color = 2131558491;
@@ -2173,6 +2173,15 @@
 			
 			// aapt resource value: 0x7f0d005d
 			public const int transparent = 2131558493;
+			
+			// aapt resource value: 0x7f0d0060
+			public const int upsdk_color_gray_1 = 2131558496;
+			
+			// aapt resource value: 0x7f0d0061
+			public const int upsdk_color_gray_10 = 2131558497;
+			
+			// aapt resource value: 0x7f0d0062
+			public const int upsdk_color_gray_7 = 2131558498;
 			
 			// aapt resource value: 0x7f0d005e
 			public const int white = 2131558494;
@@ -2637,20 +2646,20 @@
 			// aapt resource value: 0x7f08009a
 			public const int notification_top_pad_large_text = 2131230874;
 			
-			// aapt resource value: 0x7f08009d
-			public const int pickerview_textsize = 2131230877;
+			// aapt resource value: 0x7f0800a2
+			public const int pickerview_textsize = 2131230882;
 			
-			// aapt resource value: 0x7f08009e
-			public const int pickerview_topbar_btn_textsize = 2131230878;
+			// aapt resource value: 0x7f0800a3
+			public const int pickerview_topbar_btn_textsize = 2131230883;
 			
-			// aapt resource value: 0x7f08009f
-			public const int pickerview_topbar_height = 2131230879;
+			// aapt resource value: 0x7f0800a4
+			public const int pickerview_topbar_height = 2131230884;
 			
-			// aapt resource value: 0x7f0800a0
-			public const int pickerview_topbar_padding = 2131230880;
+			// aapt resource value: 0x7f0800a5
+			public const int pickerview_topbar_padding = 2131230885;
 			
-			// aapt resource value: 0x7f0800a1
-			public const int pickerview_topbar_title_textsize = 2131230881;
+			// aapt resource value: 0x7f0800a6
+			public const int pickerview_topbar_title_textsize = 2131230886;
 			
 			// aapt resource value: 0x7f080059
 			public const int tooltip_corner_radius = 2131230809;
@@ -2675,6 +2684,21 @@
 			
 			// aapt resource value: 0x7f080060
 			public const int tooltip_y_offset_touch = 2131230816;
+			
+			// aapt resource value: 0x7f08009d
+			public const int upsdk_margin_l = 2131230877;
+			
+			// aapt resource value: 0x7f08009e
+			public const int upsdk_margin_m = 2131230878;
+			
+			// aapt resource value: 0x7f08009f
+			public const int upsdk_margin_xs = 2131230879;
+			
+			// aapt resource value: 0x7f0800a0
+			public const int upsdk_master_body_2 = 2131230880;
+			
+			// aapt resource value: 0x7f0800a1
+			public const int upsdk_master_subtitle = 2131230881;
 			
 			static Dimension()
 			{
@@ -2941,26 +2965,26 @@
 			// aapt resource value: 0x7f020053
 			public const int avd_hide_password = 2130837587;
 			
-			// aapt resource value: 0x7f0200e4
-			public const int avd_hide_password_1 = 2130837732;
+			// aapt resource value: 0x7f0200ea
+			public const int avd_hide_password_1 = 2130837738;
 			
-			// aapt resource value: 0x7f0200e5
-			public const int avd_hide_password_2 = 2130837733;
+			// aapt resource value: 0x7f0200eb
+			public const int avd_hide_password_2 = 2130837739;
 			
-			// aapt resource value: 0x7f0200e6
-			public const int avd_hide_password_3 = 2130837734;
+			// aapt resource value: 0x7f0200ec
+			public const int avd_hide_password_3 = 2130837740;
 			
 			// aapt resource value: 0x7f020054
 			public const int avd_show_password = 2130837588;
 			
-			// aapt resource value: 0x7f0200e7
-			public const int avd_show_password_1 = 2130837735;
+			// aapt resource value: 0x7f0200ed
+			public const int avd_show_password_1 = 2130837741;
 			
-			// aapt resource value: 0x7f0200e8
-			public const int avd_show_password_2 = 2130837736;
+			// aapt resource value: 0x7f0200ee
+			public const int avd_show_password_2 = 2130837742;
 			
-			// aapt resource value: 0x7f0200e9
-			public const int avd_show_password_3 = 2130837737;
+			// aapt resource value: 0x7f0200ef
+			public const int avd_show_password_3 = 2130837743;
 			
 			// aapt resource value: 0x7f020055
 			public const int back = 2130837589;
@@ -3193,11 +3217,11 @@
 			// aapt resource value: 0x7f0200a1
 			public const int notification_icon_background = 2130837665;
 			
-			// aapt resource value: 0x7f0200e2
-			public const int notification_template_icon_bg = 2130837730;
+			// aapt resource value: 0x7f0200e8
+			public const int notification_template_icon_bg = 2130837736;
 			
-			// aapt resource value: 0x7f0200e3
-			public const int notification_template_icon_low_bg = 2130837731;
+			// aapt resource value: 0x7f0200e9
+			public const int notification_template_icon_low_bg = 2130837737;
 			
 			// aapt resource value: 0x7f0200a2
 			public const int notification_tile_bg = 2130837666;
@@ -3317,79 +3341,97 @@
 			public const int phone_tip_confirm_background = 2130837704;
 			
 			// aapt resource value: 0x7f0200c9
-			public const int sc_avatar = 2130837705;
+			public const int push_pure_close = 2130837705;
 			
 			// aapt resource value: 0x7f0200ca
-			public const int sc_call_status_incoming = 2130837706;
+			public const int sc_avatar = 2130837706;
 			
 			// aapt resource value: 0x7f0200cb
-			public const int sc_call_status_missed = 2130837707;
+			public const int sc_call_status_incoming = 2130837707;
 			
 			// aapt resource value: 0x7f0200cc
-			public const int sc_call_status_outgoing = 2130837708;
+			public const int sc_call_status_missed = 2130837708;
 			
 			// aapt resource value: 0x7f0200cd
-			public const int sc_chat = 2130837709;
+			public const int sc_call_status_outgoing = 2130837709;
 			
 			// aapt resource value: 0x7f0200ce
-			public const int sc_sip_sdk_logo = 2130837710;
+			public const int sc_chat = 2130837710;
 			
 			// aapt resource value: 0x7f0200cf
-			public const int sc_status_level = 2130837711;
+			public const int sc_sip_sdk_logo = 2130837711;
 			
 			// aapt resource value: 0x7f0200d0
-			public const int sc_topbar_avatar = 2130837712;
+			public const int sc_status_level = 2130837712;
 			
 			// aapt resource value: 0x7f0200d1
-			public const int sc_topbar_call_notification = 2130837713;
+			public const int sc_topbar_avatar = 2130837713;
 			
 			// aapt resource value: 0x7f0200d2
-			public const int sc_topbar_chat_notification = 2130837714;
+			public const int sc_topbar_call_notification = 2130837714;
 			
 			// aapt resource value: 0x7f0200d3
-			public const int sc_topbar_videocall_notification = 2130837715;
+			public const int sc_topbar_chat_notification = 2130837715;
 			
 			// aapt resource value: 0x7f0200d4
-			public const int screenshot = 2130837716;
+			public const int sc_topbar_videocall_notification = 2130837716;
 			
 			// aapt resource value: 0x7f0200d5
-			public const int screenshot_def = 2130837717;
+			public const int screenshot = 2130837717;
 			
 			// aapt resource value: 0x7f0200d6
-			public const int screenshot_sel = 2130837718;
+			public const int screenshot_def = 2130837718;
 			
 			// aapt resource value: 0x7f0200d7
-			public const int selector_pickerview_btn = 2130837719;
+			public const int screenshot_sel = 2130837719;
 			
 			// aapt resource value: 0x7f0200d8
-			public const int sure_background_def = 2130837720;
+			public const int selector_pickerview_btn = 2130837720;
 			
 			// aapt resource value: 0x7f0200d9
-			public const int sure_background_sel = 2130837721;
+			public const int stat_sys_third_app_notify = 2130837721;
 			
 			// aapt resource value: 0x7f0200da
-			public const int tip_background = 2130837722;
+			public const int sure_background_def = 2130837722;
 			
 			// aapt resource value: 0x7f0200db
-			public const int tooltip_frame_dark = 2130837723;
+			public const int sure_background_sel = 2130837723;
 			
 			// aapt resource value: 0x7f0200dc
-			public const int tooltip_frame_light = 2130837724;
+			public const int tip_background = 2130837724;
 			
 			// aapt resource value: 0x7f0200dd
-			public const int unlock = 2130837725;
+			public const int tooltip_frame_dark = 2130837725;
 			
 			// aapt resource value: 0x7f0200de
-			public const int unlock_def = 2130837726;
+			public const int tooltip_frame_light = 2130837726;
 			
 			// aapt resource value: 0x7f0200df
-			public const int unlock_disable = 2130837727;
+			public const int unlock = 2130837727;
 			
 			// aapt resource value: 0x7f0200e0
-			public const int unlock_sel = 2130837728;
+			public const int unlock_def = 2130837728;
 			
 			// aapt resource value: 0x7f0200e1
-			public const int video_background = 2130837729;
+			public const int unlock_disable = 2130837729;
+			
+			// aapt resource value: 0x7f0200e2
+			public const int unlock_sel = 2130837730;
+			
+			// aapt resource value: 0x7f0200e3
+			public const int upsdk_cancel_bg = 2130837731;
+			
+			// aapt resource value: 0x7f0200e4
+			public const int upsdk_cancel_normal = 2130837732;
+			
+			// aapt resource value: 0x7f0200e5
+			public const int upsdk_cancel_pressed_bg = 2130837733;
+			
+			// aapt resource value: 0x7f0200e6
+			public const int upsdk_third_download_bg = 2130837734;
+			
+			// aapt resource value: 0x7f0200e7
+			public const int video_background = 2130837735;
 			
 			static Drawable()
 			{
@@ -3467,8 +3509,11 @@
 			// aapt resource value: 0x7f090053
 			public const int Translate = 2131296339;
 			
-			// aapt resource value: 0x7f0900e8
-			public const int action0 = 2131296488;
+			// aapt resource value: 0x7f090154
+			public const int action = 2131296596;
+			
+			// aapt resource value: 0x7f0900ed
+			public const int action0 = 2131296493;
 			
 			// aapt resource value: 0x7f090079
 			public const int action_bar = 2131296377;
@@ -3491,17 +3536,17 @@
 			// aapt resource value: 0x7f090057
 			public const int action_bar_title = 2131296343;
 			
-			// aapt resource value: 0x7f0900e5
-			public const int action_container = 2131296485;
+			// aapt resource value: 0x7f0900ea
+			public const int action_container = 2131296490;
 			
 			// aapt resource value: 0x7f09007a
 			public const int action_context_bar = 2131296378;
 			
-			// aapt resource value: 0x7f0900ec
-			public const int action_divider = 2131296492;
+			// aapt resource value: 0x7f0900f1
+			public const int action_divider = 2131296497;
 			
-			// aapt resource value: 0x7f0900e6
-			public const int action_image = 2131296486;
+			// aapt resource value: 0x7f0900eb
+			public const int action_image = 2131296491;
 			
 			// aapt resource value: 0x7f090003
 			public const int action_menu_divider = 2131296259;
@@ -3518,11 +3563,11 @@
 			// aapt resource value: 0x7f090059
 			public const int action_mode_close_button = 2131296345;
 			
-			// aapt resource value: 0x7f0900e7
-			public const int action_text = 2131296487;
+			// aapt resource value: 0x7f0900ec
+			public const int action_text = 2131296492;
 			
-			// aapt resource value: 0x7f0900f5
-			public const int actions = 2131296501;
+			// aapt resource value: 0x7f0900fa
+			public const int actions = 2131296506;
 			
 			// aapt resource value: 0x7f09005a
 			public const int activity_chooser_view_content = 2131296346;
@@ -3530,17 +3575,17 @@
 			// aapt resource value: 0x7f090021
 			public const int add = 2131296289;
 			
-			// aapt resource value: 0x7f090129
-			public const int agreement_cancel_tv = 2131296553;
+			// aapt resource value: 0x7f09012e
+			public const int agreement_cancel_tv = 2131296558;
 			
-			// aapt resource value: 0x7f09012a
-			public const int agreement_confirm_tv = 2131296554;
+			// aapt resource value: 0x7f09012f
+			public const int agreement_confirm_tv = 2131296559;
 			
-			// aapt resource value: 0x7f090128
-			public const int agreement_tv = 2131296552;
+			// aapt resource value: 0x7f09012d
+			public const int agreement_tv = 2131296557;
 			
-			// aapt resource value: 0x7f0900f8
-			public const int agreement_wv = 2131296504;
+			// aapt resource value: 0x7f0900fd
+			public const int agreement_wv = 2131296509;
 			
 			// aapt resource value: 0x7f09006d
 			public const int alertTitle = 2131296365;
@@ -3548,8 +3593,14 @@
 			// aapt resource value: 0x7f090047
 			public const int all = 2131296327;
 			
+			// aapt resource value: 0x7f090162
+			public const int allsize_textview = 2131296610;
+			
 			// aapt resource value: 0x7f09002d
 			public const int always = 2131296301;
+			
+			// aapt resource value: 0x7f090161
+			public const int appsize_textview = 2131296609;
 			
 			// aapt resource value: 0x7f09004b
 			public const int async = 2131296331;
@@ -3557,11 +3608,11 @@
 			// aapt resource value: 0x7f090039
 			public const int auto = 2131296313;
 			
-			// aapt resource value: 0x7f090137
-			public const int back_ll = 2131296567;
+			// aapt resource value: 0x7f09013c
+			public const int back_ll = 2131296572;
 			
-			// aapt resource value: 0x7f090108
-			public const int bar_layout = 2131296520;
+			// aapt resource value: 0x7f09010d
+			public const int bar_layout = 2131296525;
 			
 			// aapt resource value: 0x7f090024
 			public const int beginning = 2131296292;
@@ -3572,56 +3623,62 @@
 			// aapt resource value: 0x7f090032
 			public const int bottom = 2131296306;
 			
-			// aapt resource value: 0x7f0900c9
-			public const int btnCancel = 2131296457;
+			// aapt resource value: 0x7f0900ca
+			public const int btnCancel = 2131296458;
 			
-			// aapt resource value: 0x7f0900cb
-			public const int btnSubmit = 2131296459;
+			// aapt resource value: 0x7f0900cc
+			public const int btnSubmit = 2131296460;
 			
 			// aapt resource value: 0x7f090060
 			public const int buttonPanel = 2131296352;
 			
+			// aapt resource value: 0x7f09010b
+			public const int call_answer_iv = 2131296523;
+			
+			// aapt resource value: 0x7f09010a
+			public const int call_answer_ll = 2131296522;
+			
+			// aapt resource value: 0x7f090109
+			public const int call_answer_parent_ll = 2131296521;
+			
+			// aapt resource value: 0x7f09010c
+			public const int call_answer_tv = 2131296524;
+			
 			// aapt resource value: 0x7f090106
-			public const int call_answer_iv = 2131296518;
+			public const int call_hangup_iv = 2131296518;
 			
 			// aapt resource value: 0x7f090105
-			public const int call_answer_ll = 2131296517;
-			
-			// aapt resource value: 0x7f090104
-			public const int call_answer_parent_ll = 2131296516;
+			public const int call_hangup_ll = 2131296517;
 			
 			// aapt resource value: 0x7f090107
-			public const int call_answer_tv = 2131296519;
-			
-			// aapt resource value: 0x7f090101
-			public const int call_hangup_iv = 2131296513;
-			
-			// aapt resource value: 0x7f090100
-			public const int call_hangup_ll = 2131296512;
+			public const int call_hangup_tv = 2131296519;
 			
 			// aapt resource value: 0x7f090102
-			public const int call_hangup_tv = 2131296514;
-			
-			// aapt resource value: 0x7f0900fd
-			public const int call_house_code_tv = 2131296509;
-			
-			// aapt resource value: 0x7f0900f9
-			public const int call_name_tv = 2131296505;
+			public const int call_house_code_tv = 2131296514;
 			
 			// aapt resource value: 0x7f0900fe
-			public const int call_screenshot_iv = 2131296510;
+			public const int call_name_tv = 2131296510;
+			
+			// aapt resource value: 0x7f090103
+			public const int call_screenshot_iv = 2131296515;
+			
+			// aapt resource value: 0x7f090104
+			public const int call_unlock_iv = 2131296516;
+			
+			// aapt resource value: 0x7f090100
+			public const int call_video_capture_surface = 2131296512;
 			
 			// aapt resource value: 0x7f0900ff
-			public const int call_unlock_iv = 2131296511;
+			public const int call_video_surface = 2131296511;
 			
-			// aapt resource value: 0x7f0900fb
-			public const int call_video_capture_surface = 2131296507;
+			// aapt resource value: 0x7f0900ee
+			public const int cancel_action = 2131296494;
 			
-			// aapt resource value: 0x7f0900fa
-			public const int call_video_surface = 2131296506;
+			// aapt resource value: 0x7f090157
+			public const int cancel_bg = 2131296599;
 			
-			// aapt resource value: 0x7f0900e9
-			public const int cancel_action = 2131296489;
+			// aapt resource value: 0x7f090158
+			public const int cancel_imageview = 2131296600;
 			
 			// aapt resource value: 0x7f09003a
 			public const int center = 2131296314;
@@ -3635,8 +3692,8 @@
 			// aapt resource value: 0x7f090070
 			public const int checkbox = 2131296368;
 			
-			// aapt resource value: 0x7f0900f1
-			public const int chronometer = 2131296497;
+			// aapt resource value: 0x7f0900f6
+			public const int chronometer = 2131296502;
 			
 			// aapt resource value: 0x7f090043
 			public const int clip_horizontal = 2131296323;
@@ -3647,23 +3704,29 @@
 			// aapt resource value: 0x7f09002e
 			public const int collapseActionView = 2131296302;
 			
-			// aapt resource value: 0x7f09009f
-			public const int container = 2131296415;
+			// aapt resource value: 0x7f0900a0
+			public const int container = 2131296416;
 			
-			// aapt resource value: 0x7f090098
-			public const int content = 2131296408;
+			// aapt resource value: 0x7f090099
+			public const int content = 2131296409;
 			
-			// aapt resource value: 0x7f090144
-			public const int contentFrame = 2131296580;
+			// aapt resource value: 0x7f090168
+			public const int contentFrame = 2131296616;
 			
 			// aapt resource value: 0x7f090063
 			public const int contentPanel = 2131296355;
 			
-			// aapt resource value: 0x7f0900cd
-			public const int content_container = 2131296461;
+			// aapt resource value: 0x7f0900ce
+			public const int content_container = 2131296462;
 			
-			// aapt resource value: 0x7f0900a0
-			public const int coordinator = 2131296416;
+			// aapt resource value: 0x7f090163
+			public const int content_layout = 2131296611;
+			
+			// aapt resource value: 0x7f090164
+			public const int content_textview = 2131296612;
+			
+			// aapt resource value: 0x7f0900a1
+			public const int coordinator = 2131296417;
 			
 			// aapt resource value: 0x7f09006a
 			public const int custom = 2131296362;
@@ -3671,8 +3734,8 @@
 			// aapt resource value: 0x7f090069
 			public const int customPanel = 2131296361;
 			
-			// aapt resource value: 0x7f0900d9
-			public const int day = 2131296473;
+			// aapt resource value: 0x7f0900da
+			public const int day = 2131296474;
 			
 			// aapt resource value: 0x7f090077
 			public const int decor_content_parent = 2131296375;
@@ -3680,44 +3743,53 @@
 			// aapt resource value: 0x7f09005d
 			public const int default_activity_button = 2131296349;
 			
-			// aapt resource value: 0x7f09009a
-			public const int description = 2131296410;
+			// aapt resource value: 0x7f09009b
+			public const int description = 2131296411;
 			
-			// aapt resource value: 0x7f0900a2
-			public const int design_bottom_sheet = 2131296418;
+			// aapt resource value: 0x7f0900a3
+			public const int design_bottom_sheet = 2131296419;
+			
+			// aapt resource value: 0x7f0900aa
+			public const int design_menu_item_action_area = 2131296426;
 			
 			// aapt resource value: 0x7f0900a9
-			public const int design_menu_item_action_area = 2131296425;
+			public const int design_menu_item_action_area_stub = 2131296425;
 			
 			// aapt resource value: 0x7f0900a8
-			public const int design_menu_item_action_area_stub = 2131296424;
+			public const int design_menu_item_text = 2131296424;
 			
 			// aapt resource value: 0x7f0900a7
-			public const int design_menu_item_text = 2131296423;
+			public const int design_navigation_view = 2131296423;
 			
-			// aapt resource value: 0x7f0900a6
-			public const int design_navigation_view = 2131296422;
+			// aapt resource value: 0x7f090136
+			public const int device_icon_iv = 2131296566;
 			
-			// aapt resource value: 0x7f090131
-			public const int device_icon_iv = 2131296561;
+			// aapt resource value: 0x7f090137
+			public const int device_name_tv = 2131296567;
 			
-			// aapt resource value: 0x7f090132
-			public const int device_name_tv = 2131296562;
-			
-			// aapt resource value: 0x7f090133
-			public const int device_space_tv = 2131296563;
+			// aapt resource value: 0x7f090138
+			public const int device_space_tv = 2131296568;
 			
 			// aapt resource value: 0x7f090015
 			public const int disableHome = 2131296277;
 			
+			// aapt resource value: 0x7f09015b
+			public const int divider = 2131296603;
+			
+			// aapt resource value: 0x7f0900e1
+			public const int download_info_progress = 2131296481;
+			
 			// aapt resource value: 0x7f09007b
 			public const int edit_query = 2131296379;
+			
+			// aapt resource value: 0x7f090093
+			public const int enable_service_text = 2131296403;
 			
 			// aapt resource value: 0x7f090025
 			public const int end = 2131296293;
 			
-			// aapt resource value: 0x7f0900f7
-			public const int end_padder = 2131296503;
+			// aapt resource value: 0x7f0900fc
+			public const int end_padder = 2131296508;
 			
 			// aapt resource value: 0x7f090034
 			public const int enterAlways = 2131296308;
@@ -3734,20 +3806,20 @@
 			// aapt resource value: 0x7f09006f
 			public const int expanded_menu = 2131296367;
 			
-			// aapt resource value: 0x7f09010f
-			public const int face_add_iv = 2131296527;
-			
-			// aapt resource value: 0x7f090111
-			public const int face_add_tv = 2131296529;
-			
-			// aapt resource value: 0x7f090112
-			public const int face_gv = 2131296530;
-			
 			// aapt resource value: 0x7f090114
-			public const int face_loading_pb = 2131296532;
+			public const int face_add_iv = 2131296532;
 			
-			// aapt resource value: 0x7f090110
-			public const int face_replace = 2131296528;
+			// aapt resource value: 0x7f090116
+			public const int face_add_tv = 2131296534;
+			
+			// aapt resource value: 0x7f090117
+			public const int face_gv = 2131296535;
+			
+			// aapt resource value: 0x7f090119
+			public const int face_loading_pb = 2131296537;
+			
+			// aapt resource value: 0x7f090115
+			public const int face_replace = 2131296533;
 			
 			// aapt resource value: 0x7f090045
 			public const int fill = 2131296325;
@@ -3758,8 +3830,8 @@
 			// aapt resource value: 0x7f09003d
 			public const int fill_vertical = 2131296317;
 			
-			// aapt resource value: 0x7f09009b
-			public const int fingerprint_icon = 2131296411;
+			// aapt resource value: 0x7f09009c
+			public const int fingerprint_icon = 2131296412;
 			
 			// aapt resource value: 0x7f090049
 			public const int @fixed = 2131296329;
@@ -3767,56 +3839,65 @@
 			// aapt resource value: 0x7f09004d
 			public const int forever = 2131296333;
 			
-			// aapt resource value: 0x7f0900be
-			public const int gd_btn_back = 2131296446;
+			// aapt resource value: 0x7f0900bf
+			public const int gd_btn_back = 2131296447;
+			
+			// aapt resource value: 0x7f0900c8
+			public const int gd_btn_myLocation = 2131296456;
 			
 			// aapt resource value: 0x7f0900c7
-			public const int gd_btn_myLocation = 2131296455;
-			
-			// aapt resource value: 0x7f0900c6
-			public const int gd_btn_save = 2131296454;
-			
-			// aapt resource value: 0x7f0900c3
-			public const int gd_img_search_delete = 2131296451;
-			
-			// aapt resource value: 0x7f0900c5
-			public const int gd_ll_myhome = 2131296453;
-			
-			// aapt resource value: 0x7f0900c1
-			public const int gd_ll_search = 2131296449;
-			
-			// aapt resource value: 0x7f0900c0
-			public const int gd_mapView = 2131296448;
-			
-			// aapt resource value: 0x7f0900bd
-			public const int gd_rl_topview = 2131296445;
-			
-			// aapt resource value: 0x7f0900bf
-			public const int gd_tv_activity_title = 2131296447;
+			public const int gd_btn_save = 2131296455;
 			
 			// aapt resource value: 0x7f0900c4
-			public const int gd_tv_radius = 2131296452;
+			public const int gd_img_search_delete = 2131296452;
+			
+			// aapt resource value: 0x7f0900c6
+			public const int gd_ll_myhome = 2131296454;
 			
 			// aapt resource value: 0x7f0900c2
-			public const int gd_tv_search_title = 2131296450;
+			public const int gd_ll_search = 2131296450;
 			
-			// aapt resource value: 0x7f0900bb
-			public const int hdl_gallery_rootView = 2131296443;
+			// aapt resource value: 0x7f0900c1
+			public const int gd_mapView = 2131296449;
+			
+			// aapt resource value: 0x7f0900be
+			public const int gd_rl_topview = 2131296446;
+			
+			// aapt resource value: 0x7f0900c0
+			public const int gd_tv_activity_title = 2131296448;
+			
+			// aapt resource value: 0x7f0900c5
+			public const int gd_tv_radius = 2131296453;
+			
+			// aapt resource value: 0x7f0900c3
+			public const int gd_tv_search_title = 2131296451;
 			
 			// aapt resource value: 0x7f0900bc
-			public const int hdl_gallery_viewPager = 2131296444;
+			public const int hdl_gallery_rootView = 2131296444;
 			
-			// aapt resource value: 0x7f0900cf
-			public const int hdl_options1 = 2131296463;
+			// aapt resource value: 0x7f0900bd
+			public const int hdl_gallery_viewPager = 2131296445;
 			
 			// aapt resource value: 0x7f0900d0
-			public const int hdl_options2 = 2131296464;
+			public const int hdl_options1 = 2131296464;
 			
 			// aapt resource value: 0x7f0900d1
-			public const int hdl_options3 = 2131296465;
+			public const int hdl_options2 = 2131296465;
 			
-			// aapt resource value: 0x7f0900ce
-			public const int hdl_pickerview_ll = 2131296462;
+			// aapt resource value: 0x7f0900d2
+			public const int hdl_options3 = 2131296466;
+			
+			// aapt resource value: 0x7f0900cf
+			public const int hdl_pickerview_ll = 2131296463;
+			
+			// aapt resource value: 0x7f0900de
+			public const int hms_message_text = 2131296478;
+			
+			// aapt resource value: 0x7f0900e0
+			public const int hms_progress_bar = 2131296480;
+			
+			// aapt resource value: 0x7f0900df
+			public const int hms_progress_text = 2131296479;
 			
 			// aapt resource value: 0x7f090005
 			public const int home = 2131296261;
@@ -3824,23 +3905,23 @@
 			// aapt resource value: 0x7f090016
 			public const int homeAsUp = 2131296278;
 			
-			// aapt resource value: 0x7f0900da
-			public const int hour = 2131296474;
+			// aapt resource value: 0x7f0900db
+			public const int hour = 2131296475;
 			
 			// aapt resource value: 0x7f09005f
 			public const int icon = 2131296351;
 			
-			// aapt resource value: 0x7f090093
-			public const int icon_back = 2131296403;
+			// aapt resource value: 0x7f090094
+			public const int icon_back = 2131296404;
 			
-			// aapt resource value: 0x7f0900f6
-			public const int icon_group = 2131296502;
-			
-			// aapt resource value: 0x7f0900ae
-			public const int icon_screenshot = 2131296430;
+			// aapt resource value: 0x7f0900fb
+			public const int icon_group = 2131296507;
 			
 			// aapt resource value: 0x7f0900af
-			public const int icon_unlock = 2131296431;
+			public const int icon_screenshot = 2131296431;
+			
+			// aapt resource value: 0x7f0900b0
+			public const int icon_unlock = 2131296432;
 			
 			// aapt resource value: 0x7f09002f
 			public const int ifRoom = 2131296303;
@@ -3848,17 +3929,17 @@
 			// aapt resource value: 0x7f09005c
 			public const int image = 2131296348;
 			
-			// aapt resource value: 0x7f0900fc
-			public const int img = 2131296508;
+			// aapt resource value: 0x7f090101
+			public const int img = 2131296513;
 			
-			// aapt resource value: 0x7f0900b5
-			public const int img_call = 2131296437;
+			// aapt resource value: 0x7f0900b6
+			public const int img_call = 2131296438;
 			
-			// aapt resource value: 0x7f0900b2
-			public const int img_hangup = 2131296434;
+			// aapt resource value: 0x7f0900b3
+			public const int img_hangup = 2131296435;
 			
-			// aapt resource value: 0x7f0900f2
-			public const int info = 2131296498;
+			// aapt resource value: 0x7f0900f7
+			public const int info = 2131296503;
 			
 			// aapt resource value: 0x7f09004e
 			public const int italic = 2131296334;
@@ -3866,29 +3947,29 @@
 			// aapt resource value: 0x7f090000
 			public const int item_touch_helper_previous_elevation = 2131296256;
 			
-			// aapt resource value: 0x7f09009e
-			public const int largeLabel = 2131296414;
+			// aapt resource value: 0x7f09009f
+			public const int largeLabel = 2131296415;
 			
-			// aapt resource value: 0x7f0900df
-			public const int leak_canary_action = 2131296479;
-			
-			// aapt resource value: 0x7f0900de
-			public const int leak_canary_display_leak_failure = 2131296478;
-			
-			// aapt resource value: 0x7f0900dd
-			public const int leak_canary_display_leak_list = 2131296477;
-			
-			// aapt resource value: 0x7f0900e2
-			public const int leak_canary_row_connector = 2131296482;
+			// aapt resource value: 0x7f0900e4
+			public const int leak_canary_action = 2131296484;
 			
 			// aapt resource value: 0x7f0900e3
-			public const int leak_canary_row_more = 2131296483;
+			public const int leak_canary_display_leak_failure = 2131296483;
 			
-			// aapt resource value: 0x7f0900e0
-			public const int leak_canary_row_text = 2131296480;
+			// aapt resource value: 0x7f0900e2
+			public const int leak_canary_display_leak_list = 2131296482;
 			
-			// aapt resource value: 0x7f0900e1
-			public const int leak_canary_row_time = 2131296481;
+			// aapt resource value: 0x7f0900e7
+			public const int leak_canary_row_connector = 2131296487;
+			
+			// aapt resource value: 0x7f0900e8
+			public const int leak_canary_row_more = 2131296488;
+			
+			// aapt resource value: 0x7f0900e5
+			public const int leak_canary_row_text = 2131296485;
+			
+			// aapt resource value: 0x7f0900e6
+			public const int leak_canary_row_time = 2131296486;
 			
 			// aapt resource value: 0x7f09003e
 			public const int left = 2131296318;
@@ -3905,89 +3986,95 @@
 			// aapt resource value: 0x7f09005e
 			public const int list_item = 2131296350;
 			
-			// aapt resource value: 0x7f090095
-			public const int localVideo = 2131296405;
+			// aapt resource value: 0x7f090096
+			public const int localVideo = 2131296406;
 			
-			// aapt resource value: 0x7f090146
-			public const int masked = 2131296582;
+			// aapt resource value: 0x7f09016a
+			public const int masked = 2131296618;
 			
-			// aapt resource value: 0x7f0900eb
-			public const int media_actions = 2131296491;
+			// aapt resource value: 0x7f0900f0
+			public const int media_actions = 2131296496;
 			
-			// aapt resource value: 0x7f090140
-			public const int message = 2131296576;
+			// aapt resource value: 0x7f090153
+			public const int message = 2131296595;
 			
 			// aapt resource value: 0x7f090026
 			public const int middle = 2131296294;
 			
-			// aapt resource value: 0x7f0900db
-			public const int min = 2131296475;
+			// aapt resource value: 0x7f0900dc
+			public const int min = 2131296476;
 			
 			// aapt resource value: 0x7f090048
 			public const int mini = 2131296328;
 			
-			// aapt resource value: 0x7f090117
-			public const int monitor_back_ll = 2131296535;
-			
 			// aapt resource value: 0x7f09011c
-			public const int monitor_house_code_tv = 2131296540;
-			
-			// aapt resource value: 0x7f090118
-			public const int monitor_more_ll = 2131296536;
-			
-			// aapt resource value: 0x7f090119
-			public const int monitor_name_tv = 2131296537;
-			
-			// aapt resource value: 0x7f09011e
-			public const int monitor_screenshot_iv = 2131296542;
-			
-			// aapt resource value: 0x7f09011d
-			public const int monitor_screenshot_ll = 2131296541;
-			
-			// aapt resource value: 0x7f09011f
-			public const int monitor_screenshot_tv = 2131296543;
+			public const int monitor_back_ll = 2131296540;
 			
 			// aapt resource value: 0x7f090121
-			public const int monitor_unlock_iv = 2131296545;
+			public const int monitor_house_code_tv = 2131296545;
 			
-			// aapt resource value: 0x7f090120
-			public const int monitor_unlock_ll = 2131296544;
+			// aapt resource value: 0x7f09011d
+			public const int monitor_more_ll = 2131296541;
+			
+			// aapt resource value: 0x7f09011e
+			public const int monitor_name_tv = 2131296542;
+			
+			// aapt resource value: 0x7f090123
+			public const int monitor_screenshot_iv = 2131296547;
 			
 			// aapt resource value: 0x7f090122
-			public const int monitor_unlock_tv = 2131296546;
+			public const int monitor_screenshot_ll = 2131296546;
 			
-			// aapt resource value: 0x7f09011b
-			public const int monitor_video_capture_surface = 2131296539;
+			// aapt resource value: 0x7f090124
+			public const int monitor_screenshot_tv = 2131296548;
 			
-			// aapt resource value: 0x7f09011a
-			public const int monitor_video_surface = 2131296538;
+			// aapt resource value: 0x7f090126
+			public const int monitor_unlock_iv = 2131296550;
 			
-			// aapt resource value: 0x7f0900d8
-			public const int month = 2131296472;
+			// aapt resource value: 0x7f090125
+			public const int monitor_unlock_ll = 2131296549;
 			
-			// aapt resource value: 0x7f090139
-			public const int more_ll = 2131296569;
+			// aapt resource value: 0x7f090127
+			public const int monitor_unlock_tv = 2131296551;
 			
-			// aapt resource value: 0x7f09013a
-			public const int more_tv = 2131296570;
+			// aapt resource value: 0x7f090120
+			public const int monitor_video_capture_surface = 2131296544;
+			
+			// aapt resource value: 0x7f09011f
+			public const int monitor_video_surface = 2131296543;
+			
+			// aapt resource value: 0x7f0900d9
+			public const int month = 2131296473;
+			
+			// aapt resource value: 0x7f09013e
+			public const int more_ll = 2131296574;
+			
+			// aapt resource value: 0x7f09013f
+			public const int more_tv = 2131296575;
 			
 			// aapt resource value: 0x7f09001c
 			public const int multiply = 2131296284;
 			
-			// aapt resource value: 0x7f0900e4
-			public const int myButton = 2131296484;
+			// aapt resource value: 0x7f0900e9
+			public const int myButton = 2131296489;
 			
-			// aapt resource value: 0x7f09010b
-			public const int name_et = 2131296523;
+			// aapt resource value: 0x7f090110
+			public const int name_et = 2131296528;
 			
-			// aapt resource value: 0x7f090109
-			public const int name_rl = 2131296521;
+			// aapt resource value: 0x7f09015c
+			public const int name_layout = 2131296604;
 			
-			// aapt resource value: 0x7f09010a
-			public const int name_tv = 2131296522;
+			// aapt resource value: 0x7f09010e
+			public const int name_rl = 2131296526;
 			
-			// aapt resource value: 0x7f0900a5
-			public const int navigation_header_container = 2131296421;
+			// aapt resource value: 0x7f09015d
+			public const int name_textview = 2131296605;
+			
+			// aapt resource value: 0x7f09010f
+			public const int name_tv = 2131296527;
+			
+			// aapt resource value: 0x7f0900a6
+			public const int navigation_header_container = 2131296422;
 			
 			// aapt resource value: 0x7f090030
 			public const int never = 2131296304;
@@ -3998,29 +4085,29 @@
 			// aapt resource value: 0x7f090013
 			public const int normal = 2131296275;
 			
-			// aapt resource value: 0x7f0900f4
-			public const int notification_background = 2131296500;
+			// aapt resource value: 0x7f0900f9
+			public const int notification_background = 2131296505;
 			
-			// aapt resource value: 0x7f0900ee
-			public const int notification_main_column = 2131296494;
+			// aapt resource value: 0x7f0900f3
+			public const int notification_main_column = 2131296499;
 			
-			// aapt resource value: 0x7f0900ed
-			public const int notification_main_column_container = 2131296493;
-			
-			// aapt resource value: 0x7f0900d3
-			public const int options1 = 2131296467;
+			// aapt resource value: 0x7f0900f2
+			public const int notification_main_column_container = 2131296498;
 			
 			// aapt resource value: 0x7f0900d4
-			public const int options2 = 2131296468;
+			public const int options1 = 2131296468;
 			
 			// aapt resource value: 0x7f0900d5
-			public const int options3 = 2131296469;
+			public const int options2 = 2131296469;
 			
-			// aapt resource value: 0x7f0900d2
-			public const int optionspicker = 2131296466;
+			// aapt resource value: 0x7f0900d6
+			public const int options3 = 2131296470;
 			
-			// aapt resource value: 0x7f0900cc
-			public const int outmost_container = 2131296460;
+			// aapt resource value: 0x7f0900d3
+			public const int optionspicker = 2131296467;
+			
+			// aapt resource value: 0x7f0900cd
+			public const int outmost_container = 2131296461;
 			
 			// aapt resource value: 0x7f090041
 			public const int parallax = 2131296321;
@@ -4028,44 +4115,44 @@
 			// aapt resource value: 0x7f090062
 			public const int parentPanel = 2131296354;
 			
-			// aapt resource value: 0x7f090103
-			public const int phone_chronometer = 2131296515;
-			
-			// aapt resource value: 0x7f09012f
-			public const int phone_dialog_cancel_tv = 2131296559;
-			
-			// aapt resource value: 0x7f090130
-			public const int phone_dialog_confirm_tv = 2131296560;
-			
-			// aapt resource value: 0x7f090135
-			public const int phone_face_del_ll = 2131296565;
-			
-			// aapt resource value: 0x7f090136
-			public const int phone_face_tv = 2131296566;
+			// aapt resource value: 0x7f090108
+			public const int phone_chronometer = 2131296520;
 			
 			// aapt resource value: 0x7f090134
-			public const int phone_face_wiv = 2131296564;
+			public const int phone_dialog_cancel_tv = 2131296564;
 			
-			// aapt resource value: 0x7f09010e
-			public const int phone_number_et = 2131296526;
+			// aapt resource value: 0x7f090135
+			public const int phone_dialog_confirm_tv = 2131296565;
 			
-			// aapt resource value: 0x7f09010c
-			public const int phone_number_rl = 2131296524;
+			// aapt resource value: 0x7f09013a
+			public const int phone_face_del_ll = 2131296570;
 			
-			// aapt resource value: 0x7f09010d
-			public const int phone_number_tv = 2131296525;
+			// aapt resource value: 0x7f09013b
+			public const int phone_face_tv = 2131296571;
 			
-			// aapt resource value: 0x7f09012e
-			public const int phone_title_tv = 2131296558;
+			// aapt resource value: 0x7f090139
+			public const int phone_face_wiv = 2131296569;
 			
-			// aapt resource value: 0x7f09012d
-			public const int photo_cancel_tv = 2131296557;
+			// aapt resource value: 0x7f090113
+			public const int phone_number_et = 2131296531;
 			
-			// aapt resource value: 0x7f09012c
-			public const int photo_select_tv = 2131296556;
+			// aapt resource value: 0x7f090111
+			public const int phone_number_rl = 2131296529;
 			
-			// aapt resource value: 0x7f09012b
-			public const int photograph_tv = 2131296555;
+			// aapt resource value: 0x7f090112
+			public const int phone_number_tv = 2131296530;
+			
+			// aapt resource value: 0x7f090133
+			public const int phone_title_tv = 2131296563;
+			
+			// aapt resource value: 0x7f090132
+			public const int photo_cancel_tv = 2131296562;
+			
+			// aapt resource value: 0x7f090131
+			public const int photo_select_tv = 2131296561;
+			
+			// aapt resource value: 0x7f090130
+			public const int photograph_tv = 2131296560;
 			
 			// aapt resource value: 0x7f090042
 			public const int pin = 2131296322;
@@ -4076,38 +4163,80 @@
 			// aapt resource value: 0x7f090007
 			public const int progress_horizontal = 2131296263;
 			
-			// aapt resource value: 0x7f090113
-			public const int progress_ll = 2131296531;
+			// aapt resource value: 0x7f090118
+			public const int progress_ll = 2131296536;
+			
+			// aapt resource value: 0x7f090149
+			public const int push_big_bigtext_defaultView = 2131296585;
+			
+			// aapt resource value: 0x7f09014a
+			public const int push_big_bigview_defaultView = 2131296586;
+			
+			// aapt resource value: 0x7f090141
+			public const int push_big_defaultView = 2131296577;
+			
+			// aapt resource value: 0x7f090144
+			public const int push_big_notification = 2131296580;
+			
+			// aapt resource value: 0x7f090147
+			public const int push_big_notification_content = 2131296583;
+			
+			// aapt resource value: 0x7f090145
+			public const int push_big_notification_date = 2131296581;
+			
+			// aapt resource value: 0x7f090142
+			public const int push_big_notification_icon = 2131296578;
+			
+			// aapt resource value: 0x7f090143
+			public const int push_big_notification_icon2 = 2131296579;
+			
+			// aapt resource value: 0x7f090146
+			public const int push_big_notification_title = 2131296582;
+			
+			// aapt resource value: 0x7f090140
+			public const int push_big_pic_default_Content = 2131296576;
+			
+			// aapt resource value: 0x7f090148
+			public const int push_big_text_notification_area = 2131296584;
+			
+			// aapt resource value: 0x7f09014c
+			public const int push_pure_bigview_banner = 2131296588;
+			
+			// aapt resource value: 0x7f09014b
+			public const int push_pure_bigview_expanded = 2131296587;
+			
+			// aapt resource value: 0x7f09014d
+			public const int push_pure_close = 2131296589;
 			
 			// aapt resource value: 0x7f090072
 			public const int radio = 2131296370;
 			
-			// aapt resource value: 0x7f090096
-			public const int remoteFrame = 2131296406;
+			// aapt resource value: 0x7f090097
+			public const int remoteFrame = 2131296407;
 			
 			// aapt resource value: 0x7f09003f
 			public const int right = 2131296319;
 			
-			// aapt resource value: 0x7f0900f3
-			public const int right_icon = 2131296499;
+			// aapt resource value: 0x7f0900f8
+			public const int right_icon = 2131296504;
 			
-			// aapt resource value: 0x7f0900ef
-			public const int right_side = 2131296495;
+			// aapt resource value: 0x7f0900f4
+			public const int right_side = 2131296500;
 			
-			// aapt resource value: 0x7f0900b4
-			public const int rl_call = 2131296436;
+			// aapt resource value: 0x7f0900b5
+			public const int rl_call = 2131296437;
 			
-			// aapt resource value: 0x7f0900b1
-			public const int rl_hangup = 2131296433;
+			// aapt resource value: 0x7f0900b2
+			public const int rl_hangup = 2131296434;
 			
-			// aapt resource value: 0x7f0900b7
-			public const int rl_sceenshot = 2131296439;
+			// aapt resource value: 0x7f0900b8
+			public const int rl_sceenshot = 2131296440;
 			
-			// aapt resource value: 0x7f0900b9
-			public const int rl_unlock = 2131296441;
+			// aapt resource value: 0x7f0900ba
+			public const int rl_unlock = 2131296442;
 			
-			// aapt resource value: 0x7f0900c8
-			public const int rv_topbar = 2131296456;
+			// aapt resource value: 0x7f0900c9
+			public const int rv_topbar = 2131296457;
 			
 			// aapt resource value: 0x7f09001d
 			public const int screen = 2131296285;
@@ -4123,6 +4252,9 @@
 			
 			// aapt resource value: 0x7f090065
 			public const int scrollView = 2131296357;
+			
+			// aapt resource value: 0x7f09015a
+			public const int scroll_layout = 2131296602;
 			
 			// aapt resource value: 0x7f09004a
 			public const int scrollable = 2131296330;
@@ -4157,8 +4289,8 @@
 			// aapt resource value: 0x7f090086
 			public const int search_voice_btn = 2131296390;
 			
-			// aapt resource value: 0x7f0900dc
-			public const int second = 2131296476;
+			// aapt resource value: 0x7f0900dd
+			public const int second = 2131296477;
 			
 			// aapt resource value: 0x7f090087
 			public const int select_dialog_listview = 2131296391;
@@ -4175,14 +4307,17 @@
 			// aapt resource value: 0x7f09001a
 			public const int showTitle = 2131296282;
 			
-			// aapt resource value: 0x7f09009d
-			public const int smallLabel = 2131296413;
+			// aapt resource value: 0x7f090160
+			public const int size_layout = 2131296608;
+			
+			// aapt resource value: 0x7f09009e
+			public const int smallLabel = 2131296414;
+			
+			// aapt resource value: 0x7f0900a5
+			public const int snackbar_action = 2131296421;
 			
 			// aapt resource value: 0x7f0900a4
-			public const int snackbar_action = 2131296420;
-			
-			// aapt resource value: 0x7f0900a3
-			public const int snackbar_text = 2131296419;
+			public const int snackbar_text = 2131296420;
 			
 			// aapt resource value: 0x7f090038
 			public const int snap = 2131296312;
@@ -4202,20 +4337,20 @@
 			// aapt resource value: 0x7f090020
 			public const int src_over = 2131296288;
 			
-			// aapt resource value: 0x7f09013b
-			public const int srl_classics_arrow = 2131296571;
+			// aapt resource value: 0x7f09014e
+			public const int srl_classics_arrow = 2131296590;
 			
-			// aapt resource value: 0x7f09013e
-			public const int srl_classics_center = 2131296574;
+			// aapt resource value: 0x7f090151
+			public const int srl_classics_center = 2131296593;
 			
-			// aapt resource value: 0x7f09013d
-			public const int srl_classics_progress = 2131296573;
+			// aapt resource value: 0x7f090150
+			public const int srl_classics_progress = 2131296592;
 			
-			// aapt resource value: 0x7f09013c
-			public const int srl_classics_title = 2131296572;
+			// aapt resource value: 0x7f09014f
+			public const int srl_classics_title = 2131296591;
 			
-			// aapt resource value: 0x7f09013f
-			public const int srl_classics_update = 2131296575;
+			// aapt resource value: 0x7f090152
+			public const int srl_classics_update = 2131296594;
 			
 			// aapt resource value: 0x7f090040
 			public const int start = 2131296320;
@@ -4229,11 +4364,11 @@
 			// aapt resource value: 0x7f090090
 			public const int startV4 = 2131296400;
 			
-			// aapt resource value: 0x7f09009c
-			public const int status = 2131296412;
+			// aapt resource value: 0x7f09009d
+			public const int status = 2131296413;
 			
-			// aapt resource value: 0x7f0900ea
-			public const int status_bar_latest_event_content = 2131296490;
+			// aapt resource value: 0x7f0900ef
+			public const int status_bar_latest_event_content = 2131296495;
 			
 			// aapt resource value: 0x7f090092
 			public const int stop = 2131296402;
@@ -4244,26 +4379,26 @@
 			// aapt resource value: 0x7f090084
 			public const int submit_area = 2131296388;
 			
-			// aapt resource value: 0x7f090099
-			public const int subtitle = 2131296409;
+			// aapt resource value: 0x7f09009a
+			public const int subtitle = 2131296410;
 			
 			// aapt resource value: 0x7f090014
 			public const int tabMode = 2131296276;
 			
-			// aapt resource value: 0x7f090123
-			public const int temp_pwd_bar_rl = 2131296547;
+			// aapt resource value: 0x7f090128
+			public const int temp_pwd_bar_rl = 2131296552;
 			
-			// aapt resource value: 0x7f090126
-			public const int temp_pwd_eyes_iv = 2131296550;
+			// aapt resource value: 0x7f09012b
+			public const int temp_pwd_eyes_iv = 2131296555;
 			
-			// aapt resource value: 0x7f090127
-			public const int temp_pwd_qr_code_iv = 2131296551;
+			// aapt resource value: 0x7f09012c
+			public const int temp_pwd_qr_code_iv = 2131296556;
 			
-			// aapt resource value: 0x7f090124
-			public const int temp_pwd_table_tv = 2131296548;
+			// aapt resource value: 0x7f090129
+			public const int temp_pwd_table_tv = 2131296553;
 			
-			// aapt resource value: 0x7f090125
-			public const int temp_pwd_tv = 2131296549;
+			// aapt resource value: 0x7f09012a
+			public const int temp_pwd_tv = 2131296554;
 			
 			// aapt resource value: 0x7f09000f
 			public const int text = 2131296271;
@@ -4277,8 +4412,8 @@
 			// aapt resource value: 0x7f090066
 			public const int textSpacerNoTitle = 2131296358;
 			
-			// aapt resource value: 0x7f0900aa
-			public const int text_input_password_toggle = 2131296426;
+			// aapt resource value: 0x7f0900ab
+			public const int text_input_password_toggle = 2131296427;
 			
 			// aapt resource value: 0x7f09000a
 			public const int textinput_counter = 2131296266;
@@ -4286,11 +4421,20 @@
 			// aapt resource value: 0x7f09000b
 			public const int textinput_error = 2131296267;
 			
-			// aapt resource value: 0x7f0900f0
-			public const int time = 2131296496;
+			// aapt resource value: 0x7f090155
+			public const int third_app_dl_progress_text = 2131296597;
 			
-			// aapt resource value: 0x7f0900d6
-			public const int timepicker = 2131296470;
+			// aapt resource value: 0x7f090159
+			public const int third_app_dl_progressbar = 2131296601;
+			
+			// aapt resource value: 0x7f090156
+			public const int third_app_warn_text = 2131296598;
+			
+			// aapt resource value: 0x7f0900f5
+			public const int time = 2131296501;
+			
+			// aapt resource value: 0x7f0900d7
+			public const int timepicker = 2131296471;
 			
 			// aapt resource value: 0x7f090011
 			public const int title = 2131296273;
@@ -4301,8 +4445,8 @@
 			// aapt resource value: 0x7f09006c
 			public const int title_template = 2131296364;
 			
-			// aapt resource value: 0x7f090138
-			public const int title_tv = 2131296568;
+			// aapt resource value: 0x7f09013d
+			public const int title_tv = 2131296573;
 			
 			// aapt resource value: 0x7f090033
 			public const int top = 2131296307;
@@ -4310,50 +4454,50 @@
 			// aapt resource value: 0x7f09006b
 			public const int topPanel = 2131296363;
 			
-			// aapt resource value: 0x7f0900a1
-			public const int touch_outside = 2131296417;
+			// aapt resource value: 0x7f0900a2
+			public const int touch_outside = 2131296418;
 			
-			// aapt resource value: 0x7f0900ca
-			public const int tvTitle = 2131296458;
+			// aapt resource value: 0x7f0900cb
+			public const int tvTitle = 2131296459;
 			
-			// aapt resource value: 0x7f0900b6
-			public const int tv_call = 2131296438;
-			
-			// aapt resource value: 0x7f0900ac
-			public const int tv_content = 2131296428;
-			
-			// aapt resource value: 0x7f0900b3
-			public const int tv_hangup = 2131296435;
-			
-			// aapt resource value: 0x7f090094
-			public const int tv_name = 2131296404;
+			// aapt resource value: 0x7f0900b7
+			public const int tv_call = 2131296439;
 			
 			// aapt resource value: 0x7f0900ad
-			public const int tv_ok = 2131296429;
+			public const int tv_content = 2131296429;
 			
-			// aapt resource value: 0x7f090097
-			public const int tv_roomName = 2131296407;
+			// aapt resource value: 0x7f0900b4
+			public const int tv_hangup = 2131296436;
 			
-			// aapt resource value: 0x7f0900b8
-			public const int tv_screenshot = 2131296440;
+			// aapt resource value: 0x7f090095
+			public const int tv_name = 2131296405;
 			
-			// aapt resource value: 0x7f0900b0
-			public const int tv_tip = 2131296432;
+			// aapt resource value: 0x7f0900ae
+			public const int tv_ok = 2131296430;
 			
-			// aapt resource value: 0x7f0900ab
-			public const int tv_title = 2131296427;
+			// aapt resource value: 0x7f090098
+			public const int tv_roomName = 2131296408;
 			
-			// aapt resource value: 0x7f0900ba
-			public const int tv_unlock = 2131296442;
+			// aapt resource value: 0x7f0900b9
+			public const int tv_screenshot = 2131296441;
 			
-			// aapt resource value: 0x7f090142
-			public const int tv_zxing_back = 2131296578;
+			// aapt resource value: 0x7f0900b1
+			public const int tv_tip = 2131296433;
 			
-			// aapt resource value: 0x7f090143
-			public const int tv_zxing_flash = 2131296579;
+			// aapt resource value: 0x7f0900ac
+			public const int tv_title = 2131296428;
 			
-			// aapt resource value: 0x7f090141
-			public const int tv_zxing_scan = 2131296577;
+			// aapt resource value: 0x7f0900bb
+			public const int tv_unlock = 2131296443;
+			
+			// aapt resource value: 0x7f090166
+			public const int tv_zxing_back = 2131296614;
+			
+			// aapt resource value: 0x7f090167
+			public const int tv_zxing_flash = 2131296615;
+			
+			// aapt resource value: 0x7f090165
+			public const int tv_zxing_scan = 2131296613;
 			
 			// aapt resource value: 0x7f090022
 			public const int uniform = 2131296290;
@@ -4364,17 +4508,23 @@
 			// aapt resource value: 0x7f09001b
 			public const int useLogo = 2131296283;
 			
-			// aapt resource value: 0x7f090115
-			public const int video_device_lv = 2131296533;
+			// aapt resource value: 0x7f09015e
+			public const int version_layout = 2131296606;
 			
-			// aapt resource value: 0x7f090116
-			public const int video_progress_ll = 2131296534;
+			// aapt resource value: 0x7f09015f
+			public const int version_textview = 2131296607;
+			
+			// aapt resource value: 0x7f09011a
+			public const int video_device_lv = 2131296538;
+			
+			// aapt resource value: 0x7f09011b
+			public const int video_progress_ll = 2131296539;
 			
 			// aapt resource value: 0x7f09000c
 			public const int view_offset_helper = 2131296268;
 			
-			// aapt resource value: 0x7f090145
-			public const int visible = 2131296581;
+			// aapt resource value: 0x7f090169
+			public const int visible = 2131296617;
 			
 			// aapt resource value: 0x7f090031
 			public const int withText = 2131296305;
@@ -4382,8 +4532,8 @@
 			// aapt resource value: 0x7f090023
 			public const int wrap_content = 2131296291;
 			
-			// aapt resource value: 0x7f0900d7
-			public const int year = 2131296471;
+			// aapt resource value: 0x7f0900d8
+			public const int year = 2131296472;
 			
 			static Id()
 			{
@@ -4535,220 +4685,253 @@
 			public const int activity_elian = 2130968603;
 			
 			// aapt resource value: 0x7f04001c
-			public const int activity_video_phone = 2130968604;
+			public const int activity_endisable_service = 2130968604;
 			
 			// aapt resource value: 0x7f04001d
-			public const int biometric_prompt_dialog_content = 2130968605;
+			public const int activity_video_phone = 2130968605;
 			
 			// aapt resource value: 0x7f04001e
-			public const int design_bottom_navigation_item = 2130968606;
+			public const int biometric_prompt_dialog_content = 2130968606;
 			
 			// aapt resource value: 0x7f04001f
-			public const int design_bottom_sheet_dialog = 2130968607;
+			public const int design_bottom_navigation_item = 2130968607;
 			
 			// aapt resource value: 0x7f040020
-			public const int design_layout_snackbar = 2130968608;
+			public const int design_bottom_sheet_dialog = 2130968608;
 			
 			// aapt resource value: 0x7f040021
-			public const int design_layout_snackbar_include = 2130968609;
+			public const int design_layout_snackbar = 2130968609;
 			
 			// aapt resource value: 0x7f040022
-			public const int design_layout_tab_icon = 2130968610;
+			public const int design_layout_snackbar_include = 2130968610;
 			
 			// aapt resource value: 0x7f040023
-			public const int design_layout_tab_text = 2130968611;
+			public const int design_layout_tab_icon = 2130968611;
 			
 			// aapt resource value: 0x7f040024
-			public const int design_menu_item_action_area = 2130968612;
+			public const int design_layout_tab_text = 2130968612;
 			
 			// aapt resource value: 0x7f040025
-			public const int design_navigation_item = 2130968613;
+			public const int design_menu_item_action_area = 2130968613;
 			
 			// aapt resource value: 0x7f040026
-			public const int design_navigation_item_header = 2130968614;
+			public const int design_navigation_item = 2130968614;
 			
 			// aapt resource value: 0x7f040027
-			public const int design_navigation_item_separator = 2130968615;
+			public const int design_navigation_item_header = 2130968615;
 			
 			// aapt resource value: 0x7f040028
-			public const int design_navigation_item_subheader = 2130968616;
+			public const int design_navigation_item_separator = 2130968616;
 			
 			// aapt resource value: 0x7f040029
-			public const int design_navigation_menu = 2130968617;
+			public const int design_navigation_item_subheader = 2130968617;
 			
 			// aapt resource value: 0x7f04002a
-			public const int design_navigation_menu_item = 2130968618;
+			public const int design_navigation_menu = 2130968618;
 			
 			// aapt resource value: 0x7f04002b
-			public const int design_text_input_password_icon = 2130968619;
+			public const int design_navigation_menu_item = 2130968619;
 			
 			// aapt resource value: 0x7f04002c
-			public const int dialog_tip = 2130968620;
+			public const int design_text_input_password_icon = 2130968620;
 			
 			// aapt resource value: 0x7f04002d
-			public const int fragment_call = 2130968621;
+			public const int dialog_tip = 2130968621;
 			
 			// aapt resource value: 0x7f04002e
-			public const int fragment_monitor = 2130968622;
+			public const int fragment_call = 2130968622;
 			
 			// aapt resource value: 0x7f04002f
-			public const int hdl_gallery_banner_view_layout = 2130968623;
+			public const int fragment_monitor = 2130968623;
 			
 			// aapt resource value: 0x7f040030
-			public const int hdl_widget_activity_crop_image = 2130968624;
+			public const int hdl_gallery_banner_view_layout = 2130968624;
 			
 			// aapt resource value: 0x7f040031
-			public const int hdl_widget_activity_geofence_round = 2130968625;
+			public const int hdl_widget_activity_crop_image = 2130968625;
 			
 			// aapt resource value: 0x7f040032
-			public const int hdl_widget_air_button = 2130968626;
+			public const int hdl_widget_activity_geofence_round = 2130968626;
 			
 			// aapt resource value: 0x7f040033
-			public const int hdl_widget_include_pickerview_topbar = 2130968627;
+			public const int hdl_widget_air_button = 2130968627;
 			
 			// aapt resource value: 0x7f040034
-			public const int hdl_widget_layout_basepickerview = 2130968628;
+			public const int hdl_widget_include_pickerview_topbar = 2130968628;
 			
 			// aapt resource value: 0x7f040035
-			public const int hdl_widget_pickerview = 2130968629;
+			public const int hdl_widget_layout_basepickerview = 2130968629;
 			
 			// aapt resource value: 0x7f040036
-			public const int hdl_widget_pickerview_options = 2130968630;
+			public const int hdl_widget_pickerview = 2130968630;
 			
 			// aapt resource value: 0x7f040037
-			public const int hdl_widget_pickerview_time = 2130968631;
+			public const int hdl_widget_pickerview_options = 2130968631;
 			
 			// aapt resource value: 0x7f040038
-			public const int leak_canary_display_leak = 2130968632;
+			public const int hdl_widget_pickerview_time = 2130968632;
 			
 			// aapt resource value: 0x7f040039
-			public const int leak_canary_heap_dump_toast = 2130968633;
+			public const int hms_download_progress = 2130968633;
 			
 			// aapt resource value: 0x7f04003a
-			public const int leak_canary_leak_row = 2130968634;
+			public const int leak_canary_display_leak = 2130968634;
 			
 			// aapt resource value: 0x7f04003b
-			public const int leak_canary_ref_row = 2130968635;
+			public const int leak_canary_heap_dump_toast = 2130968635;
 			
 			// aapt resource value: 0x7f04003c
-			public const int leak_canary_ref_top_row = 2130968636;
+			public const int leak_canary_leak_row = 2130968636;
 			
 			// aapt resource value: 0x7f04003d
-			public const int Main = 2130968637;
+			public const int leak_canary_ref_row = 2130968637;
 			
 			// aapt resource value: 0x7f04003e
-			public const int notification_action = 2130968638;
+			public const int leak_canary_ref_top_row = 2130968638;
 			
 			// aapt resource value: 0x7f04003f
-			public const int notification_action_tombstone = 2130968639;
+			public const int Main = 2130968639;
 			
 			// aapt resource value: 0x7f040040
-			public const int notification_media_action = 2130968640;
+			public const int notification_action = 2130968640;
 			
 			// aapt resource value: 0x7f040041
-			public const int notification_media_cancel_action = 2130968641;
+			public const int notification_action_tombstone = 2130968641;
 			
 			// aapt resource value: 0x7f040042
-			public const int notification_template_big_media = 2130968642;
+			public const int notification_media_action = 2130968642;
 			
 			// aapt resource value: 0x7f040043
-			public const int notification_template_big_media_custom = 2130968643;
+			public const int notification_media_cancel_action = 2130968643;
 			
 			// aapt resource value: 0x7f040044
-			public const int notification_template_big_media_narrow = 2130968644;
+			public const int notification_template_big_media = 2130968644;
 			
 			// aapt resource value: 0x7f040045
-			public const int notification_template_big_media_narrow_custom = 2130968645;
+			public const int notification_template_big_media_custom = 2130968645;
 			
 			// aapt resource value: 0x7f040046
-			public const int notification_template_custom_big = 2130968646;
+			public const int notification_template_big_media_narrow = 2130968646;
 			
 			// aapt resource value: 0x7f040047
-			public const int notification_template_icon_group = 2130968647;
+			public const int notification_template_big_media_narrow_custom = 2130968647;
 			
 			// aapt resource value: 0x7f040048
-			public const int notification_template_lines_media = 2130968648;
+			public const int notification_template_custom_big = 2130968648;
 			
 			// aapt resource value: 0x7f040049
-			public const int notification_template_media = 2130968649;
+			public const int notification_template_icon_group = 2130968649;
 			
 			// aapt resource value: 0x7f04004a
-			public const int notification_template_media_custom = 2130968650;
+			public const int notification_template_lines_media = 2130968650;
 			
 			// aapt resource value: 0x7f04004b
-			public const int notification_template_part_chronometer = 2130968651;
+			public const int notification_template_media = 2130968651;
 			
 			// aapt resource value: 0x7f04004c
-			public const int notification_template_part_time = 2130968652;
+			public const int notification_template_media_custom = 2130968652;
 			
 			// aapt resource value: 0x7f04004d
-			public const int phone_activity_agreement = 2130968653;
+			public const int notification_template_part_chronometer = 2130968653;
 			
 			// aapt resource value: 0x7f04004e
-			public const int phone_activity_call = 2130968654;
+			public const int notification_template_part_time = 2130968654;
 			
 			// aapt resource value: 0x7f04004f
-			public const int phone_activity_face_add = 2130968655;
+			public const int phone_activity_agreement = 2130968655;
 			
 			// aapt resource value: 0x7f040050
-			public const int phone_activity_face_manage = 2130968656;
+			public const int phone_activity_call = 2130968656;
 			
 			// aapt resource value: 0x7f040051
-			public const int phone_activity_intercom_device = 2130968657;
+			public const int phone_activity_face_add = 2130968657;
 			
 			// aapt resource value: 0x7f040052
-			public const int phone_activity_monitor = 2130968658;
+			public const int phone_activity_face_manage = 2130968658;
 			
 			// aapt resource value: 0x7f040053
-			public const int phone_activity_temporary_password = 2130968659;
+			public const int phone_activity_intercom_device = 2130968659;
 			
 			// aapt resource value: 0x7f040054
-			public const int phone_dialog_agreement = 2130968660;
+			public const int phone_activity_monitor = 2130968660;
 			
 			// aapt resource value: 0x7f040055
-			public const int phone_dialog_photo = 2130968661;
+			public const int phone_activity_temporary_password = 2130968661;
 			
 			// aapt resource value: 0x7f040056
-			public const int phone_dialog_tip = 2130968662;
+			public const int phone_dialog_agreement = 2130968662;
 			
 			// aapt resource value: 0x7f040057
-			public const int phone_item_device = 2130968663;
+			public const int phone_dialog_photo = 2130968663;
 			
 			// aapt resource value: 0x7f040058
-			public const int phone_item_face = 2130968664;
+			public const int phone_dialog_tip = 2130968664;
 			
 			// aapt resource value: 0x7f040059
-			public const int phone_layout_top_bar = 2130968665;
+			public const int phone_item_device = 2130968665;
 			
 			// aapt resource value: 0x7f04005a
-			public const int select_dialog_item_material = 2130968666;
+			public const int phone_item_face = 2130968666;
 			
 			// aapt resource value: 0x7f04005b
-			public const int select_dialog_multichoice_material = 2130968667;
+			public const int phone_layout_top_bar = 2130968667;
 			
 			// aapt resource value: 0x7f04005c
-			public const int select_dialog_singlechoice_material = 2130968668;
+			public const int push_expandable_big_image_notification = 2130968668;
 			
 			// aapt resource value: 0x7f04005d
-			public const int srl_classics_footer = 2130968669;
+			public const int push_expandable_big_text_notification = 2130968669;
 			
 			// aapt resource value: 0x7f04005e
-			public const int srl_classics_header = 2130968670;
+			public const int push_pure_pic_notification_f6 = 2130968670;
 			
 			// aapt resource value: 0x7f04005f
-			public const int support_simple_spinner_dropdown_item = 2130968671;
+			public const int push_pure_pic_notification_f7 = 2130968671;
 			
 			// aapt resource value: 0x7f040060
-			public const int tooltip = 2130968672;
+			public const int push_pure_pic_notification_f8 = 2130968672;
 			
 			// aapt resource value: 0x7f040061
-			public const int zxing_layout = 2130968673;
+			public const int push_pure_pic_notification_f9 = 2130968673;
 			
 			// aapt resource value: 0x7f040062
-			public const int zxingscanneractivitylayout = 2130968674;
+			public const int push_pure_pic_notification_f9_275 = 2130968674;
 			
 			// aapt resource value: 0x7f040063
-			public const int zxingscannerfragmentlayout = 2130968675;
+			public const int select_dialog_item_material = 2130968675;
+			
+			// aapt resource value: 0x7f040064
+			public const int select_dialog_multichoice_material = 2130968676;
+			
+			// aapt resource value: 0x7f040065
+			public const int select_dialog_singlechoice_material = 2130968677;
+			
+			// aapt resource value: 0x7f040066
+			public const int srl_classics_footer = 2130968678;
+			
+			// aapt resource value: 0x7f040067
+			public const int srl_classics_header = 2130968679;
+			
+			// aapt resource value: 0x7f040068
+			public const int support_simple_spinner_dropdown_item = 2130968680;
+			
+			// aapt resource value: 0x7f040069
+			public const int tooltip = 2130968681;
+			
+			// aapt resource value: 0x7f04006a
+			public const int upsdk_app_dl_progress_dialog = 2130968682;
+			
+			// aapt resource value: 0x7f04006b
+			public const int upsdk_ota_update_view = 2130968683;
+			
+			// aapt resource value: 0x7f04006c
+			public const int zxing_layout = 2130968684;
+			
+			// aapt resource value: 0x7f04006d
+			public const int zxingscanneractivitylayout = 2130968685;
+			
+			// aapt resource value: 0x7f04006e
+			public const int zxingscannerfragmentlayout = 2130968686;
 			
 			static Layout()
 			{
@@ -4884,104 +5067,182 @@
 			// aapt resource value: 0x7f0a0023
 			public const int character_counter_pattern = 2131361827;
 			
+			// aapt resource value: 0x7f0a00f1
+			public const int gd_activity_title = 2131362033;
+			
+			// aapt resource value: 0x7f0a00f2
+			public const int gd_cancel = 2131362034;
+			
+			// aapt resource value: 0x7f0a00f3
+			public const int gd_myhome = 2131362035;
+			
+			// aapt resource value: 0x7f0a00f4
+			public const int gd_notifyMsg = 2131362036;
+			
+			// aapt resource value: 0x7f0a00f5
+			public const int gd_notifyTitle = 2131362037;
+			
+			// aapt resource value: 0x7f0a00f6
+			public const int gd_save = 2131362038;
+			
+			// aapt resource value: 0x7f0a00f7
+			public const int gd_search_tip = 2131362039;
+			
+			// aapt resource value: 0x7f0a00f8
+			public const int gd_select_distance = 2131362040;
+			
+			// aapt resource value: 0x7f0a00f9
+			public const int gd_setting = 2131362041;
+			
+			// aapt resource value: 0x7f0a0119
+			public const int hello = 2131362073;
+			
 			// aapt resource value: 0x7f0a00bd
-			public const int gd_activity_title = 2131361981;
+			public const int hms_abort = 2131361981;
 			
 			// aapt resource value: 0x7f0a00be
-			public const int gd_cancel = 2131361982;
+			public const int hms_abort_message = 2131361982;
 			
 			// aapt resource value: 0x7f0a00bf
-			public const int gd_myhome = 2131361983;
+			public const int hms_bindfaildlg_message = 2131361983;
+			
+			// aapt resource value: 0x7f0a00eb
+			public const int hms_bindfaildlg_title = 2131362027;
 			
 			// aapt resource value: 0x7f0a00c0
-			public const int gd_notifyMsg = 2131361984;
+			public const int hms_cancel = 2131361984;
 			
 			// aapt resource value: 0x7f0a00c1
-			public const int gd_notifyTitle = 2131361985;
+			public const int hms_check_failure = 2131361985;
 			
 			// aapt resource value: 0x7f0a00c2
-			public const int gd_save = 2131361986;
+			public const int hms_checking = 2131361986;
 			
 			// aapt resource value: 0x7f0a00c3
-			public const int gd_search_tip = 2131361987;
+			public const int hms_confirm = 2131361987;
 			
 			// aapt resource value: 0x7f0a00c4
-			public const int gd_select_distance = 2131361988;
+			public const int hms_download_failure = 2131361988;
 			
 			// aapt resource value: 0x7f0a00c5
-			public const int gd_setting = 2131361989;
+			public const int hms_download_no_space = 2131361989;
 			
-			// aapt resource value: 0x7f0a00e5
-			public const int hello = 2131362021;
+			// aapt resource value: 0x7f0a00c6
+			public const int hms_download_retry = 2131361990;
+			
+			// aapt resource value: 0x7f0a00c7
+			public const int hms_downloading_loading = 2131361991;
+			
+			// aapt resource value: 0x7f0a00c8
+			public const int hms_install = 2131361992;
+			
+			// aapt resource value: 0x7f0a00c9
+			public const int hms_install_message = 2131361993;
+			
+			// aapt resource value: 0x7f0a00ca
+			public const int hms_is_spoof = 2131361994;
+			
+			// aapt resource value: 0x7f0a00cb
+			public const int hms_push_channel = 2131361995;
+			
+			// aapt resource value: 0x7f0a00ec
+			public const int hms_push_google = 2131362028;
+			
+			// aapt resource value: 0x7f0a00ed
+			public const int hms_push_vmall = 2131362029;
+			
+			// aapt resource value: 0x7f0a00cc
+			public const int hms_retry = 2131361996;
+			
+			// aapt resource value: 0x7f0a00cd
+			public const int hms_spoof_hints = 2131361997;
 			
 			// aapt resource value: 0x7f0a00ce
-			public const int leak_canary_analysis_failed = 2131361998;
+			public const int hms_update = 2131361998;
 			
 			// aapt resource value: 0x7f0a00cf
-			public const int leak_canary_class_has_leaked = 2131361999;
+			public const int hms_update_continue = 2131361999;
 			
 			// aapt resource value: 0x7f0a00d0
-			public const int leak_canary_could_not_save_text = 2131362000;
+			public const int hms_update_message = 2131362000;
 			
 			// aapt resource value: 0x7f0a00d1
-			public const int leak_canary_could_not_save_title = 2131362001;
+			public const int hms_update_message_new = 2131362001;
 			
 			// aapt resource value: 0x7f0a00d2
-			public const int leak_canary_delete = 2131362002;
+			public const int hms_update_nettype = 2131362002;
 			
 			// aapt resource value: 0x7f0a00d3
-			public const int leak_canary_delete_all = 2131362003;
+			public const int hms_update_title = 2131362003;
 			
-			// aapt resource value: 0x7f0a00d4
-			public const int leak_canary_delete_all_leaks_title = 2131362004;
+			// aapt resource value: 0x7f0a0102
+			public const int leak_canary_analysis_failed = 2131362050;
 			
-			// aapt resource value: 0x7f0a00d5
-			public const int leak_canary_display_activity_label = 2131362005;
+			// aapt resource value: 0x7f0a0103
+			public const int leak_canary_class_has_leaked = 2131362051;
 			
-			// aapt resource value: 0x7f0a00d6
-			public const int leak_canary_excluded_row = 2131362006;
+			// aapt resource value: 0x7f0a0104
+			public const int leak_canary_could_not_save_text = 2131362052;
 			
-			// aapt resource value: 0x7f0a00d7
-			public const int leak_canary_failure_report = 2131362007;
+			// aapt resource value: 0x7f0a0105
+			public const int leak_canary_could_not_save_title = 2131362053;
 			
-			// aapt resource value: 0x7f0a00d8
-			public const int leak_canary_leak_excluded = 2131362008;
+			// aapt resource value: 0x7f0a0106
+			public const int leak_canary_delete = 2131362054;
 			
-			// aapt resource value: 0x7f0a00d9
-			public const int leak_canary_leak_list_title = 2131362009;
+			// aapt resource value: 0x7f0a0107
+			public const int leak_canary_delete_all = 2131362055;
 			
-			// aapt resource value: 0x7f0a00da
-			public const int leak_canary_no_leak_text = 2131362010;
+			// aapt resource value: 0x7f0a0108
+			public const int leak_canary_delete_all_leaks_title = 2131362056;
 			
-			// aapt resource value: 0x7f0a00db
-			public const int leak_canary_no_leak_title = 2131362011;
+			// aapt resource value: 0x7f0a0109
+			public const int leak_canary_display_activity_label = 2131362057;
 			
-			// aapt resource value: 0x7f0a00dc
-			public const int leak_canary_notification_message = 2131362012;
+			// aapt resource value: 0x7f0a010a
+			public const int leak_canary_excluded_row = 2131362058;
 			
-			// aapt resource value: 0x7f0a00dd
-			public const int leak_canary_permission_not_granted = 2131362013;
+			// aapt resource value: 0x7f0a010b
+			public const int leak_canary_failure_report = 2131362059;
 			
-			// aapt resource value: 0x7f0a00de
-			public const int leak_canary_permission_notification_text = 2131362014;
+			// aapt resource value: 0x7f0a010c
+			public const int leak_canary_leak_excluded = 2131362060;
 			
-			// aapt resource value: 0x7f0a00df
-			public const int leak_canary_permission_notification_title = 2131362015;
+			// aapt resource value: 0x7f0a010d
+			public const int leak_canary_leak_list_title = 2131362061;
 			
-			// aapt resource value: 0x7f0a00e0
-			public const int leak_canary_share_heap_dump = 2131362016;
+			// aapt resource value: 0x7f0a010e
+			public const int leak_canary_no_leak_text = 2131362062;
 			
-			// aapt resource value: 0x7f0a00e1
-			public const int leak_canary_share_leak = 2131362017;
+			// aapt resource value: 0x7f0a010f
+			public const int leak_canary_no_leak_title = 2131362063;
 			
-			// aapt resource value: 0x7f0a00e2
-			public const int leak_canary_share_with = 2131362018;
+			// aapt resource value: 0x7f0a0110
+			public const int leak_canary_notification_message = 2131362064;
 			
-			// aapt resource value: 0x7f0a00e3
-			public const int leak_canary_storage_permission_activity_label = 2131362019;
+			// aapt resource value: 0x7f0a0111
+			public const int leak_canary_permission_not_granted = 2131362065;
 			
-			// aapt resource value: 0x7f0a00e4
-			public const int leak_canary_toast_heap_dump = 2131362020;
+			// aapt resource value: 0x7f0a0112
+			public const int leak_canary_permission_notification_text = 2131362066;
+			
+			// aapt resource value: 0x7f0a0113
+			public const int leak_canary_permission_notification_title = 2131362067;
+			
+			// aapt resource value: 0x7f0a0114
+			public const int leak_canary_share_heap_dump = 2131362068;
+			
+			// aapt resource value: 0x7f0a0115
+			public const int leak_canary_share_leak = 2131362069;
+			
+			// aapt resource value: 0x7f0a0116
+			public const int leak_canary_share_with = 2131362070;
+			
+			// aapt resource value: 0x7f0a0117
+			public const int leak_canary_storage_permission_activity_label = 2131362071;
+			
+			// aapt resource value: 0x7f0a0118
+			public const int leak_canary_toast_heap_dump = 2131362072;
 			
 			// aapt resource value: 0x7f0a00aa
 			public const int not_recognized_fingerprint_hint = 2131361962;
@@ -5106,29 +5367,35 @@
 			// aapt resource value: 0x7f0a004c
 			public const int phone_video_intercom = 2131361868;
 			
-			// aapt resource value: 0x7f0a00c6
-			public const int pickerview_cancel = 2131361990;
+			// aapt resource value: 0x7f0a00fa
+			public const int pickerview_cancel = 2131362042;
 			
-			// aapt resource value: 0x7f0a00c7
-			public const int pickerview_day = 2131361991;
+			// aapt resource value: 0x7f0a00fb
+			public const int pickerview_day = 2131362043;
 			
-			// aapt resource value: 0x7f0a00c8
-			public const int pickerview_hours = 2131361992;
+			// aapt resource value: 0x7f0a00fc
+			public const int pickerview_hours = 2131362044;
 			
-			// aapt resource value: 0x7f0a00c9
-			public const int pickerview_minutes = 2131361993;
+			// aapt resource value: 0x7f0a00fd
+			public const int pickerview_minutes = 2131362045;
 			
-			// aapt resource value: 0x7f0a00ca
-			public const int pickerview_month = 2131361994;
+			// aapt resource value: 0x7f0a00fe
+			public const int pickerview_month = 2131362046;
 			
-			// aapt resource value: 0x7f0a00cb
-			public const int pickerview_seconds = 2131361995;
+			// aapt resource value: 0x7f0a00ff
+			public const int pickerview_seconds = 2131362047;
 			
-			// aapt resource value: 0x7f0a00cc
-			public const int pickerview_submit = 2131361996;
+			// aapt resource value: 0x7f0a0100
+			public const int pickerview_submit = 2131362048;
 			
-			// aapt resource value: 0x7f0a00cd
-			public const int pickerview_year = 2131361997;
+			// aapt resource value: 0x7f0a0101
+			public const int pickerview_year = 2131362049;
+			
+			// aapt resource value: 0x7f0a00ee
+			public const int push_cat_body = 2131362030;
+			
+			// aapt resource value: 0x7f0a00ef
+			public const int push_cat_head = 2131362031;
 			
 			// aapt resource value: 0x7f0a004d
 			public const int sc_account_already_exist = 2131361869;
@@ -5466,8 +5733,80 @@
 			// aapt resource value: 0x7f0a0014
 			public const int status_bar_notification_info_overflow = 2131361812;
 			
+			// aapt resource value: 0x7f0a00ea
+			public const int system_default_channel = 2131362026;
+			
 			// aapt resource value: 0x7f0a00ab
 			public const int touch_fingerprint_sensor_hint = 2131361963;
+			
+			// aapt resource value: 0x7f0a00d4
+			public const int upsdk_app_download_info_new = 2131362004;
+			
+			// aapt resource value: 0x7f0a00d5
+			public const int upsdk_app_download_installing = 2131362005;
+			
+			// aapt resource value: 0x7f0a00d6
+			public const int upsdk_app_size = 2131362006;
+			
+			// aapt resource value: 0x7f0a00d7
+			public const int upsdk_app_version = 2131362007;
+			
+			// aapt resource value: 0x7f0a00d8
+			public const int upsdk_appstore_install = 2131362008;
+			
+			// aapt resource value: 0x7f0a00d9
+			public const int upsdk_cancel = 2131362009;
+			
+			// aapt resource value: 0x7f0a00da
+			public const int upsdk_checking_update_prompt = 2131362010;
+			
+			// aapt resource value: 0x7f0a00db
+			public const int upsdk_choice_update = 2131362011;
+			
+			// aapt resource value: 0x7f0a00dc
+			public const int upsdk_detail = 2131362012;
+			
+			// aapt resource value: 0x7f0a00dd
+			public const int upsdk_getting_message_fail_prompt_toast = 2131362013;
+			
+			// aapt resource value: 0x7f0a00de
+			public const int upsdk_mobile_dld_warn = 2131362014;
+			
+			// aapt resource value: 0x7f0a00df
+			public const int upsdk_no_available_network_prompt_toast = 2131362015;
+			
+			// aapt resource value: 0x7f0a00e0
+			public const int upsdk_ota_app_name = 2131362016;
+			
+			// aapt resource value: 0x7f0a00e1
+			public const int upsdk_ota_cancel = 2131362017;
+			
+			// aapt resource value: 0x7f0a00e2
+			public const int upsdk_ota_force_cancel_new = 2131362018;
+			
+			// aapt resource value: 0x7f0a00e3
+			public const int upsdk_ota_notify_updatebtn = 2131362019;
+			
+			// aapt resource value: 0x7f0a00e4
+			public const int upsdk_ota_title = 2131362020;
+			
+			// aapt resource value: 0x7f0a00e5
+			public const int upsdk_storage_utils = 2131362021;
+			
+			// aapt resource value: 0x7f0a00f0
+			public const int upsdk_store_url = 2131362032;
+			
+			// aapt resource value: 0x7f0a00e6
+			public const int upsdk_third_app_dl_cancel_download_prompt_ex = 2131362022;
+			
+			// aapt resource value: 0x7f0a00e7
+			public const int upsdk_third_app_dl_install_failed = 2131362023;
+			
+			// aapt resource value: 0x7f0a00e8
+			public const int upsdk_third_app_dl_sure_cancel_download = 2131362024;
+			
+			// aapt resource value: 0x7f0a00e9
+			public const int upsdk_update_check_no_new_version = 2131362025;
 			
 			static String()
 			{
@@ -5989,17 +6328,20 @@
 			// aapt resource value: 0x7f0b016b
 			public const int Base_Widget_Design_TabLayout = 2131427691;
 			
+			// aapt resource value: 0x7f0b018f
+			public const int Base_Translucent = 2131427727;
+			
 			// aapt resource value: 0x7f0b018d
 			public const int BottomSheetDialogAnimation = 2131427725;
 			
-			// aapt resource value: 0x7f0b0196
-			public const int DialogTheme = 2131427734;
-			
-			// aapt resource value: 0x7f0b0194
-			public const int MyTheme = 2131427732;
+			// aapt resource value: 0x7f0b0197
+			public const int DialogTheme = 2131427735;
 			
 			// aapt resource value: 0x7f0b0195
-			public const int MyTheme1 = 2131427733;
+			public const int MyTheme = 2131427733;
+			
+			// aapt resource value: 0x7f0b0196
+			public const int MyTheme1 = 2131427734;
 			
 			// aapt resource value: 0x7f0b001e
 			public const int Platform_AppCompat = 2131427358;
@@ -6682,23 +7024,23 @@
 			// aapt resource value: 0x7f0b0182
 			public const int Widget_Design_TextInputLayout = 2131427714;
 			
-			// aapt resource value: 0x7f0b018f
-			public const int custom_dialog2 = 2131427727;
-			
-			// aapt resource value: 0x7f0b0192
-			public const int leak_canary_LeakCanary_Base = 2131427730;
+			// aapt resource value: 0x7f0b0190
+			public const int custom_dialog2 = 2131427728;
 			
 			// aapt resource value: 0x7f0b0193
-			public const int leak_canary_Theme_Transparent = 2131427731;
+			public const int leak_canary_LeakCanary_Base = 2131427731;
+			
+			// aapt resource value: 0x7f0b0194
+			public const int leak_canary_Theme_Transparent = 2131427732;
 			
 			// aapt resource value: 0x7f0b018b
 			public const int phone_activity_style = 2131427723;
 			
-			// aapt resource value: 0x7f0b0190
-			public const int picker_view_scale_anim = 2131427728;
-			
 			// aapt resource value: 0x7f0b0191
-			public const int picker_view_slide_anim = 2131427729;
+			public const int picker_view_scale_anim = 2131427729;
+			
+			// aapt resource value: 0x7f0b0192
+			public const int picker_view_slide_anim = 2131427730;
 			
 			// aapt resource value: 0x7f0b018c
 			public const int sphone_video_dialog = 2131427724;
diff --git a/ZigbeeApp/GateWay.sln b/ZigbeeApp/GateWay.sln
index e47d289..d5a57b4 100644
--- a/ZigbeeApp/GateWay.sln
+++ b/ZigbeeApp/GateWay.sln
@@ -10,13 +10,15 @@
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GateWay.Droid", "GateWay.Droid\GateWay.Droid.csproj", "{28EDE1FF-20EF-476B-8AF8-24A3EEB69F45}"
 EndProject
-Project("{9344BDBB-3E7F-41FC-A0DD-8665D75EE146}") = "EzvizLib.ios", "..\..\..\HDLDemo\鍏ㄨ閫歕EzvizLib.ios\EzvizLib.ios.csproj", "{4930B212-5FF8-40A0-B07C-7E0BF843F461}"
-EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SPhoneLib", "SPhoneLib\SPhoneLib.csproj", "{A6CA3387-58A7-4819-992F-C800C8839AFB}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elian.iOS", "Elian.iOS\Elian.iOS.csproj", "{85F1AF50-75A6-4011-B811-56B32DA77568}"
+Project("{9344BDBB-3E7F-41FC-A0DD-8665D75EE146}") = "EzvizLib.ios", "..\..\..\HDLDemo\鍏ㄨ閫歕EzvizLib.ios\EzvizLib.ios.csproj", "{91139C9E-B674-417A-B99B-1381705D83F3}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Home.IOS", "Home.Ios\Home.IOS.csproj", "{F1296E2C-3777-4385-85B2-DA77617E3178}"
+Project("{9344BDBB-3E7F-41FC-A0DD-8665D75EE146}") = "Elian.iOS", "Elian.iOS\Elian.iOS.csproj", "{1AA155B7-E058-493A-B374-CCD32DFE953F}"
+EndProject
+Project("{9344BDBB-3E7F-41FC-A0DD-8665D75EE146}") = "Home.IOS", "Home.Ios\Home.IOS.csproj", "{0E10B7DE-15DA-4F8A-9CD0-798AB174603D}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Shared.Droid.JPush", "Shared.Droid.JPush\Shared.Droid.JPush.csproj", "{06B9C874-B9B2-4417-8280-B321F966E46B}"
 EndProject
 Global
 	GlobalSection(SharedMSBuildProjectFiles) = preSolution
@@ -68,18 +70,6 @@
 		{28EDE1FF-20EF-476B-8AF8-24A3EEB69F45}.Release|iPhone.Build.0 = Release|Any CPU
 		{28EDE1FF-20EF-476B-8AF8-24A3EEB69F45}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
 		{28EDE1FF-20EF-476B-8AF8-24A3EEB69F45}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
-		{4930B212-5FF8-40A0-B07C-7E0BF843F461}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{4930B212-5FF8-40A0-B07C-7E0BF843F461}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{4930B212-5FF8-40A0-B07C-7E0BF843F461}.Debug|iPhone.ActiveCfg = Debug|Any CPU
-		{4930B212-5FF8-40A0-B07C-7E0BF843F461}.Debug|iPhone.Build.0 = Debug|Any CPU
-		{4930B212-5FF8-40A0-B07C-7E0BF843F461}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
-		{4930B212-5FF8-40A0-B07C-7E0BF843F461}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
-		{4930B212-5FF8-40A0-B07C-7E0BF843F461}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{4930B212-5FF8-40A0-B07C-7E0BF843F461}.Release|Any CPU.Build.0 = Release|Any CPU
-		{4930B212-5FF8-40A0-B07C-7E0BF843F461}.Release|iPhone.ActiveCfg = Release|Any CPU
-		{4930B212-5FF8-40A0-B07C-7E0BF843F461}.Release|iPhone.Build.0 = Release|Any CPU
-		{4930B212-5FF8-40A0-B07C-7E0BF843F461}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
-		{4930B212-5FF8-40A0-B07C-7E0BF843F461}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
 		{A6CA3387-58A7-4819-992F-C800C8839AFB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{A6CA3387-58A7-4819-992F-C800C8839AFB}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{A6CA3387-58A7-4819-992F-C800C8839AFB}.Debug|iPhone.ActiveCfg = Debug|Any CPU
@@ -92,30 +82,54 @@
 		{A6CA3387-58A7-4819-992F-C800C8839AFB}.Release|iPhone.Build.0 = Release|Any CPU
 		{A6CA3387-58A7-4819-992F-C800C8839AFB}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
 		{A6CA3387-58A7-4819-992F-C800C8839AFB}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
-		{85F1AF50-75A6-4011-B811-56B32DA77568}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{85F1AF50-75A6-4011-B811-56B32DA77568}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{85F1AF50-75A6-4011-B811-56B32DA77568}.Debug|iPhone.ActiveCfg = Debug|Any CPU
-		{85F1AF50-75A6-4011-B811-56B32DA77568}.Debug|iPhone.Build.0 = Debug|Any CPU
-		{85F1AF50-75A6-4011-B811-56B32DA77568}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
-		{85F1AF50-75A6-4011-B811-56B32DA77568}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
-		{85F1AF50-75A6-4011-B811-56B32DA77568}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{85F1AF50-75A6-4011-B811-56B32DA77568}.Release|Any CPU.Build.0 = Release|Any CPU
-		{85F1AF50-75A6-4011-B811-56B32DA77568}.Release|iPhone.ActiveCfg = Release|Any CPU
-		{85F1AF50-75A6-4011-B811-56B32DA77568}.Release|iPhone.Build.0 = Release|Any CPU
-		{85F1AF50-75A6-4011-B811-56B32DA77568}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
-		{85F1AF50-75A6-4011-B811-56B32DA77568}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
-		{F1296E2C-3777-4385-85B2-DA77617E3178}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
-		{F1296E2C-3777-4385-85B2-DA77617E3178}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
-		{F1296E2C-3777-4385-85B2-DA77617E3178}.Debug|iPhone.ActiveCfg = Debug|iPhone
-		{F1296E2C-3777-4385-85B2-DA77617E3178}.Debug|iPhone.Build.0 = Debug|iPhone
-		{F1296E2C-3777-4385-85B2-DA77617E3178}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
-		{F1296E2C-3777-4385-85B2-DA77617E3178}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
-		{F1296E2C-3777-4385-85B2-DA77617E3178}.Release|Any CPU.ActiveCfg = Release|iPhoneSimulator
-		{F1296E2C-3777-4385-85B2-DA77617E3178}.Release|Any CPU.Build.0 = Release|iPhoneSimulator
-		{F1296E2C-3777-4385-85B2-DA77617E3178}.Release|iPhone.ActiveCfg = Release|iPhone
-		{F1296E2C-3777-4385-85B2-DA77617E3178}.Release|iPhone.Build.0 = Release|iPhone
-		{F1296E2C-3777-4385-85B2-DA77617E3178}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
-		{F1296E2C-3777-4385-85B2-DA77617E3178}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
+		{91139C9E-B674-417A-B99B-1381705D83F3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{91139C9E-B674-417A-B99B-1381705D83F3}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{91139C9E-B674-417A-B99B-1381705D83F3}.Debug|iPhone.ActiveCfg = Debug|Any CPU
+		{91139C9E-B674-417A-B99B-1381705D83F3}.Debug|iPhone.Build.0 = Debug|Any CPU
+		{91139C9E-B674-417A-B99B-1381705D83F3}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
+		{91139C9E-B674-417A-B99B-1381705D83F3}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
+		{91139C9E-B674-417A-B99B-1381705D83F3}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{91139C9E-B674-417A-B99B-1381705D83F3}.Release|Any CPU.Build.0 = Release|Any CPU
+		{91139C9E-B674-417A-B99B-1381705D83F3}.Release|iPhone.ActiveCfg = Release|Any CPU
+		{91139C9E-B674-417A-B99B-1381705D83F3}.Release|iPhone.Build.0 = Release|Any CPU
+		{91139C9E-B674-417A-B99B-1381705D83F3}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
+		{91139C9E-B674-417A-B99B-1381705D83F3}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
+		{1AA155B7-E058-493A-B374-CCD32DFE953F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{1AA155B7-E058-493A-B374-CCD32DFE953F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{1AA155B7-E058-493A-B374-CCD32DFE953F}.Debug|iPhone.ActiveCfg = Debug|Any CPU
+		{1AA155B7-E058-493A-B374-CCD32DFE953F}.Debug|iPhone.Build.0 = Debug|Any CPU
+		{1AA155B7-E058-493A-B374-CCD32DFE953F}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
+		{1AA155B7-E058-493A-B374-CCD32DFE953F}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
+		{1AA155B7-E058-493A-B374-CCD32DFE953F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{1AA155B7-E058-493A-B374-CCD32DFE953F}.Release|Any CPU.Build.0 = Release|Any CPU
+		{1AA155B7-E058-493A-B374-CCD32DFE953F}.Release|iPhone.ActiveCfg = Release|Any CPU
+		{1AA155B7-E058-493A-B374-CCD32DFE953F}.Release|iPhone.Build.0 = Release|Any CPU
+		{1AA155B7-E058-493A-B374-CCD32DFE953F}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
+		{1AA155B7-E058-493A-B374-CCD32DFE953F}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
+		{0E10B7DE-15DA-4F8A-9CD0-798AB174603D}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
+		{0E10B7DE-15DA-4F8A-9CD0-798AB174603D}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
+		{0E10B7DE-15DA-4F8A-9CD0-798AB174603D}.Debug|iPhone.ActiveCfg = Debug|iPhone
+		{0E10B7DE-15DA-4F8A-9CD0-798AB174603D}.Debug|iPhone.Build.0 = Debug|iPhone
+		{0E10B7DE-15DA-4F8A-9CD0-798AB174603D}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
+		{0E10B7DE-15DA-4F8A-9CD0-798AB174603D}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
+		{0E10B7DE-15DA-4F8A-9CD0-798AB174603D}.Release|Any CPU.ActiveCfg = Release|iPhoneSimulator
+		{0E10B7DE-15DA-4F8A-9CD0-798AB174603D}.Release|Any CPU.Build.0 = Release|iPhoneSimulator
+		{0E10B7DE-15DA-4F8A-9CD0-798AB174603D}.Release|iPhone.ActiveCfg = Release|iPhone
+		{0E10B7DE-15DA-4F8A-9CD0-798AB174603D}.Release|iPhone.Build.0 = Release|iPhone
+		{0E10B7DE-15DA-4F8A-9CD0-798AB174603D}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
+		{0E10B7DE-15DA-4F8A-9CD0-798AB174603D}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
+		{06B9C874-B9B2-4417-8280-B321F966E46B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{06B9C874-B9B2-4417-8280-B321F966E46B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{06B9C874-B9B2-4417-8280-B321F966E46B}.Debug|iPhone.ActiveCfg = Debug|Any CPU
+		{06B9C874-B9B2-4417-8280-B321F966E46B}.Debug|iPhone.Build.0 = Debug|Any CPU
+		{06B9C874-B9B2-4417-8280-B321F966E46B}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
+		{06B9C874-B9B2-4417-8280-B321F966E46B}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
+		{06B9C874-B9B2-4417-8280-B321F966E46B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{06B9C874-B9B2-4417-8280-B321F966E46B}.Release|Any CPU.Build.0 = Release|Any CPU
+		{06B9C874-B9B2-4417-8280-B321F966E46B}.Release|iPhone.ActiveCfg = Release|Any CPU
+		{06B9C874-B9B2-4417-8280-B321F966E46B}.Release|iPhone.Build.0 = Release|Any CPU
+		{06B9C874-B9B2-4417-8280-B321F966E46B}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
+		{06B9C874-B9B2-4417-8280-B321F966E46B}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
diff --git a/ZigbeeApp/Shared.Droid.JPush/Additions/AboutAdditions.txt b/ZigbeeApp/Shared.Droid.JPush/Additions/AboutAdditions.txt
new file mode 100644
index 0000000..059825a
--- /dev/null
+++ b/ZigbeeApp/Shared.Droid.JPush/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/ZigbeeApp/Shared.Droid.JPush/HmsContentProvider.cs b/ZigbeeApp/Shared.Droid.JPush/HmsContentProvider.cs
new file mode 100644
index 0000000..2f13d5e
--- /dev/null
+++ b/ZigbeeApp/Shared.Droid.JPush/HmsContentProvider.cs
@@ -0,0 +1,58 @@
+锘�
+using Android.Content;
+using Android.Database;
+
+using System;
+using Huawei.Agconnect.Config;
+
+
+namespace Shared.Droid.JPush
+{
+    [ContentProvider(new string[] { "Shared.Droid.JPush.HmsContentProvider" },
+        Enabled = true, Exported = false,
+        Name = "Shared.Droid.JPush.HmsContentProvider")]
+    class HmsContentProvider : ContentProvider
+    {
+
+        public override int Delete(Android.Net.Uri uri, string selection, string[] selectionArgs)
+        {
+            throw new NotImplementedException();
+        }
+
+        public override string GetType(Android.Net.Uri uri)
+        {
+            throw new NotImplementedException();
+        }
+
+        public override Android.Net.Uri Insert(Android.Net.Uri uri, ContentValues values)
+        {
+            throw new NotImplementedException();
+        }
+
+        public override bool OnCreate()
+        {
+
+            try
+            {
+                AGConnectServicesConfig config = AGConnectServicesConfig.FromContext(Context);
+                config.OverlayWith(new HmsLazyInputStream(Context));
+            }
+            catch (Exception e)
+            {
+
+            }
+
+            return false;
+        }
+
+        public override ICursor Query(Android.Net.Uri uri, string[] projection, string selection, string[] selectionArgs, string sortOrder)
+        {
+            throw new NotImplementedException();
+        }
+
+        public override int Update(Android.Net.Uri uri, ContentValues values, string selection, string[] selectionArgs)
+        {
+            throw new NotImplementedException();
+        }
+    }
+}
\ No newline at end of file
diff --git a/ZigbeeApp/Shared.Droid.JPush/HmsLazyInputStream.cs b/ZigbeeApp/Shared.Droid.JPush/HmsLazyInputStream.cs
new file mode 100644
index 0000000..0d1fbc9
--- /dev/null
+++ b/ZigbeeApp/Shared.Droid.JPush/HmsLazyInputStream.cs
@@ -0,0 +1,28 @@
+锘縰sing Android.Content;
+using Android.Util;
+using System;
+using System.IO;
+using Huawei.Agconnect.Config;
+
+namespace Shared.Droid.JPush
+{
+    class HmsLazyInputStream : LazyInputStream
+    {
+        public HmsLazyInputStream(Context context) : base(context)
+        {
+        }
+
+        public override Stream Get(Context context)
+        {
+            try
+            {
+                return context.Assets.Open("agconnect-services.json");
+            }
+            catch (Exception e)
+            {
+                Log.Info(e.ToString(), "Can't open agconnect file");
+                return null;
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/ZigbeeApp/Shared.Droid.JPush/Jars/AboutJars.txt b/ZigbeeApp/Shared.Droid.JPush/Jars/AboutJars.txt
new file mode 100644
index 0000000..4e0d4f3
--- /dev/null
+++ b/ZigbeeApp/Shared.Droid.JPush/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/ZigbeeApp/Shared.Droid.JPush/Jars/android_jpush_fcm_4.5.0.aar b/ZigbeeApp/Shared.Droid.JPush/Jars/android_jpush_fcm_4.5.0.aar
new file mode 100644
index 0000000..dbf4b53
--- /dev/null
+++ b/ZigbeeApp/Shared.Droid.JPush/Jars/android_jpush_fcm_4.5.0.aar
Binary files differ
diff --git a/ZigbeeApp/Shared.Droid.JPush/Properties/AssemblyInfo.cs b/ZigbeeApp/Shared.Droid.JPush/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..4992c57
--- /dev/null
+++ b/ZigbeeApp/Shared.Droid.JPush/Properties/AssemblyInfo.cs
@@ -0,0 +1,24 @@
+锘縰sing System.Reflection;
+using System.Runtime.InteropServices;
+
+// 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.JPush")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("Shared.Droid.JPush")]
+[assembly: AssemblyCopyright("Copyright 漏  2018")]
+[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.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/ZigbeeApp/Shared.Droid.JPush/Shared.Droid.JPush.csproj b/ZigbeeApp/Shared.Droid.JPush/Shared.Droid.JPush.csproj
new file mode 100644
index 0000000..d3c0b0b
--- /dev/null
+++ b/ZigbeeApp/Shared.Droid.JPush/Shared.Droid.JPush.csproj
@@ -0,0 +1,71 @@
+锘�<?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>{06B9C874-B9B2-4417-8280-B321F966E46B}</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.JPush</RootNamespace>
+    <AssemblyName>Shared.Droid.JPush</AssemblyName>
+    <FileAlignment>512</FileAlignment>
+    <Deterministic>True</Deterministic>
+    <TargetFrameworkVersion>v8.0</TargetFrameworkVersion>
+    <AndroidClassParser>class-parse</AndroidClassParser>
+    <AndroidCodegenTarget>XAJavaInterop1</AndroidCodegenTarget>
+    <RestoreProjectStyle>PackageReference</RestoreProjectStyle>
+    <ReleaseVersion>1.1</ReleaseVersion>
+    <SynchReleaseVersion>false</SynchReleaseVersion>
+  </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' ">
+    <DebugType>portable</DebugType>
+    <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="HmsContentProvider.cs" />
+    <Compile Include="HmsLazyInputStream.cs" />
+    <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>
+    <LibraryProjectZip Include="Jars\android_jpush_fcm_4.5.0.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/ZigbeeApp/Shared.Droid.JPush/Shared.Droid.JPush.sln b/ZigbeeApp/Shared.Droid.JPush/Shared.Droid.JPush.sln
new file mode 100644
index 0000000..faf6794
--- /dev/null
+++ b/ZigbeeApp/Shared.Droid.JPush/Shared.Droid.JPush.sln
@@ -0,0 +1,25 @@
+锘�
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.810.16
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Shared.Droid.JPush", "Shared.Droid.JPush.csproj", "{06B9C874-B9B2-4417-8280-B321F966E46B}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+		Release|Any CPU = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{06B9C874-B9B2-4417-8280-B321F966E46B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{06B9C874-B9B2-4417-8280-B321F966E46B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{06B9C874-B9B2-4417-8280-B321F966E46B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{06B9C874-B9B2-4417-8280-B321F966E46B}.Release|Any CPU.Build.0 = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+	GlobalSection(ExtensibilityGlobals) = postSolution
+		SolutionGuid = {2D699278-36F8-45AF-8978-2F3B24C3BC7F}
+	EndGlobalSection
+EndGlobal
diff --git a/ZigbeeApp/Shared.Droid.JPush/Transforms/EnumFields.xml b/ZigbeeApp/Shared.Droid.JPush/Transforms/EnumFields.xml
new file mode 100644
index 0000000..304de5c
--- /dev/null
+++ b/ZigbeeApp/Shared.Droid.JPush/Transforms/EnumFields.xml
@@ -0,0 +1,14 @@
+锘�<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/ZigbeeApp/Shared.Droid.JPush/Transforms/EnumMethods.xml b/ZigbeeApp/Shared.Droid.JPush/Transforms/EnumMethods.xml
new file mode 100644
index 0000000..6294cff
--- /dev/null
+++ b/ZigbeeApp/Shared.Droid.JPush/Transforms/EnumMethods.xml
@@ -0,0 +1,13 @@
+锘�<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/ZigbeeApp/Shared.Droid.JPush/Transforms/Metadata.xml b/ZigbeeApp/Shared.Droid.JPush/Transforms/Metadata.xml
new file mode 100644
index 0000000..b3aedcf
--- /dev/null
+++ b/ZigbeeApp/Shared.Droid.JPush/Transforms/Metadata.xml
@@ -0,0 +1,188 @@
+锘�<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']" />
+  -->
+	
+	
+	<!--=======鍗庝负======-->
+	<!--base-->
+	<attr path="/api/package[@name='com.huawei.hms.common.data']/class[@name='DataHolderCreator']/method[@name='createFromParcel' and count(parameter)=1 and parameter[1][@type='android.os.Parcel']]" name="managedReturn">Java.Lang.Object</attr>
+	<attr path="/api/package[@name='com.huawei.hms.common.data']/class[@name='DataHolderCreator']/method[@name='newArray' and count(parameter)=1 and parameter[1][@type='int']]" name="managedReturn">Java.Lang.Object[]</attr>
+	<attr path="/api/package[@name='com.huawei.hms.support.api']/class[@name='ResolvePendingResult']/method[@name='onComplete' and count(parameter)=1 and parameter[1][@type='T']]" name="managedReturn">Java.Lang.Object</attr>
+	<attr path="/api/package[@name='com.huawei.hms.common.internal']/class[@name='DialogRedirectImpl']/method[@name='redirect' and count(parameter)=0]" name="visibility">protected</attr>
+
+	<attr path="/api/package[@name='com.huawei.hms.common']/class[@name='FeatureCreator']/method[@name='createFromParcel' and count(parameter)=1 and parameter[1][@type='android.os.Parcel']]" name="managedReturn">Java.Lang.Object</attr>
+	<attr path="/api/package[@name='com.huawei.hms.common']/class[@name='FeatureCreator']/method[@name='newArray' and count(parameter)=1 and parameter[1][@type='int']]" name="managedReturn">Java.Lang.Object[]</attr>
+
+	<attr path="/api/package[@name='com.huawei.hms.common.webserverpic']/class[@name='WebServerPicCreator']/method[@name='createFromParcel' and count(parameter)=1 and parameter[1][@type='android.os.Parcel']]" name="managedReturn">Java.Lang.Object</attr>
+	<attr path="/api/package[@name='com.huawei.hms.common.webserverpic']/class[@name='WebServerPicCreator']/method[@name='newArray' and count(parameter)=1 and parameter[1][@type='int']]" name="managedReturn">Java.Lang.Object[]</attr>
+
+	<remove-node path="/api/package[@name='com.huawei.hms.common.internal']/class[@name='TaskApiCall']/method[@name='doExecute']" />
+	<remove-node path="/api/package[@name='com.huawei.hms.common.data']/class[@name='DataHolder']/method[@name='finalize' and count(parameter)=0]" />
+	<remove-node path="/api/package[@name='com.huawei.hms.support.api.client']/class[@name='ResolvingResultCallbacks']/method[@name='onSuccess' and count(parameter)=1 and parameter[1][@type='R']]" />
+
+	<attr path="/api/package[@name='com.huawei.hms.support.hianalytics']/class[@name='HiAnalyticsClient']" name="extends">Java.Lang.Object</attr>
+
+	<add-node path="/api/package[@name='com.huawei.hms.support.api.client']/class[@name='ResolvingResultCallbacks']">
+		<method name="onSuccess" return="void" abstract="false" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public">
+			<parameter name="context" type="java.lang.Object" />
+		</method>
+	</add-node>
+	<add-node path="/api/package[@name='com.huawei.hms.common.data']/class[@name='DBInnerIter']">
+		<method name="remove" return="void" abstract="false" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" />
+	</add-node>
+
+	<!-- Renaming namespaces -->
+
+	<attr path="/api/package[@name='com.huawei.hms.actions']" name="managedName">Huawei.Hms.Actions</attr>
+	<attr path="/api/package[@name='com.huawei.hms.activity']" name="managedName">Huawei.Hms.Activity</attr>
+	<attr path="/api/package[@name='com.huawei.hms.activity.internal']" name="managedName">Huawei.Hms.Activity.Internal</attr>
+	<attr path="/api/package[@name='com.huawei.hms.adapter']" name="managedName">Huawei.Hms.Adapter</attr>
+	<attr path="/api/package[@name='com.huawei.hms.adapter.internal']" name="managedName">Huawei.Hms.Adapter.Internal</attr>
+	<attr path="/api/package[@name='com.huawei.hms.api']" name="managedName">Huawei.Hms.Api</attr>
+	<attr path="/api/package[@name='com.huawei.hms.common']" name="managedName">Huawei.Hms.Common</attr>
+	<attr path="/api/package[@name='com.huawei.hms.common.api']" name="managedName">Huawei.Hms.Common.Api</attr>
+	<attr path="/api/package[@name='com.huawei.hms.common.api.internal']" name="managedName">Huawei.Hms.Common.Api.Internal</attr>
+	<attr path="/api/package[@name='com.huawei.hms.common.data']" name="managedName">Huawei.Hms.Common.Data</attr>
+	<attr path="/api/package[@name='com.huawei.hms.common.internal']" name="managedName">Huawei.Hms.Common.Internal</attr>
+	<attr path="/api/package[@name='com.huawei.hms.common.internal.safeparcel']" name="managedName">Huawei.Hms.Common.Internal.SafeParcel</attr>
+	<attr path="/api/package[@name='com.huawei.hms.common.size']" name="managedName">Huawei.Hms.Common.Size</attr>
+	<attr path="/api/package[@name='com.huawei.hms.common.sqlite']" name="managedName">Huawei.Hms.Common.S</attr>
+	<attr path="/api/package[@name='com.huawei.hms.common.util']" name="managedName">Huawei.Hms.Common.Util</attr>
+	<attr path="/api/package[@name='com.huawei.hms.common.webserverpic']" name="managedName">Huawei.Hms.Common.WebServicePic</attr>
+	<attr path="/api/package[@name='com.huawei.hms.core.aidl']" name="managedName">Huawei.Hms.Core.Aidl</attr>
+	<attr path="/api/package[@name='com.huawei.hms.core.aidl.annotation']" name="managedName">Huawei.Hms.Core.Aidl.Annotation</attr>
+	<attr path="/api/package[@name='com.huawei.hms.security']" name="managedName">Huawei.Hms.Security</attr>
+	<attr path="/api/package[@name='com.huawei.hms.support.api']" name="managedName">Huawei.Hms.Support.Api</attr>
+	<attr path="/api/package[@name='com.huawei.hms.support.api.client']" name="managedName">Huawei.Hms.Support.Api.Client</attr>
+	<attr path="/api/package[@name='com.huawei.hms.support.api.core']" name="managedName">Huawei.Hms.Support.Api.Core</attr>
+	<attr path="/api/package[@name='com.huawei.hms.support.api.entity.auth']" name="managedName">Huawei.Hms.Support.Api.Entity.Auth</attr>
+	<attr path="/api/package[@name='com.huawei.hms.support.api.entity.core']" name="managedName">Huawei.Hms.Support.Api.Entity.Core</attr>
+	<attr path="/api/package[@name='com.huawei.hms.support.api.transport']" name="managedName">Huawei.Hms.Support.Api.Transport</attr>
+	<attr path="/api/package[@name='com.huawei.hms.support.hianalytics']" name="managedName">Huawei.Hms.Support.HiAnalytics</attr>
+	<attr path="/api/package[@name='com.huawei.hms.utils']" name="managedName">Huawei.Hms.Utils</attr>
+	
+	<!--HmsDevice-->
+	<attr path="/api/package[@name='com.huawei.hms.utils']/class[@name='IOUtils']/method[@name='closeQuietly' and count(parameter)=1 and parameter[1][@type='java.io.OutputStream']]" name="managedName">CloseQuietlyOutputStream</attr>
+	<attr path="/api/package[@name='com.huawei.hms.utils']/class[@name='IOUtils']/method[@name='closeQuietly' and count(parameter)=1 and parameter[1][@type='java.io.InputStream']]" name="managedName">CloseQuietlyInputStream</attr>
+
+	<attr path="/api/package[@name='com.huawei.hms.android']" name="managedName">Huawei.Hms.Android</attr>
+	<attr path="/api/package[@name='com.huawei.hms.base.device']" name="managedName">Huawei.Hms.Base.Device</attr>
+	<attr path="/api/package[@name='com.huawei.hms.common']" name="managedName">Huawei.Hms.Common</attr>
+	<attr path="/api/package[@name='com.huawei.hms.common.internal']" name="managedName">Huawei.Hms.Common.Internal</attr>
+	<attr path="/api/package[@name='com.huawei.hms.common.util']" name="managedName">Huawei.Hms.Common.Util</attr>
+	<attr path="/api/package[@name='com.huawei.hms.support.gentyref']" name="managedName">Huawei.Hms.Support.Gentyref</attr>
+	<attr path="/api/package[@name='com.huawei.hms.support.log.common']" name="managedName">Huawei.Hms.Support.Log.Common</attr>
+	<attr path="/api/package[@name='com.huawei.hms.utils']" name="managedName">Huawei.Hms.Utils</attr>
+	<attr path="/api/package[@name='com.huawei.hms.utils.a']" name="managedName">Huawei.Hms.Utils.A</attr>
+	
+	<!--HmsOpenDevice-->
+	<attr path="/api/package[@name='com.huawei.hms.opendevice']/class[@name='OpenDeviceHmsClientBuilder']/method[@name='buildClient']" name="managedReturn">Java.Lang.Object</attr>
+	<attr path="/api/package[@name='com.huawei.hms.aaid.task']/class[@name='PushClientBuilder']/method[@name='buildClient']" name="managedReturn">Java.Lang.Object</attr>
+	<remove-node path="/api/package[@name='com.huawei.hms.opendevice']/class[@name='OpenDeviceTaskApiCall']"/>
+
+	<attr path="/api/package[@name='com.huawei.hms.aaid']" name="managedName">Huawei.Hms.Aaid</attr>
+	<attr path="/api/package[@name='com.huawei.hms.aaid.constant']" name="managedName">Huawei.Hms.Aaid.Constant</attr>
+	<attr path="/api/package[@name='com.huawei.hms.aaid.encrypt']" name="managedName">Huawei.Hms.Aaid.Encrypt</attr>
+	<attr path="/api/package[@name='com.huawei.hms.aaid.entity']" name="managedName">Huawei.Hms.Aaid.Entity</attr>
+	<attr path="/api/package[@name='com.huawei.hms.aaid.init']" name="managedName">Huawei.Hms.Aaid.Init</attr>
+	<attr path="/api/package[@name='com.huawei.hms.aaid.plugin']" name="managedName">Huawei.Hms.Aaid.Plugin</attr>
+	<attr path="/api/package[@name='com.huawei.hms.aaid.task']" name="managedName">Huawei.Hms.Aaid.Task</attr>
+	<attr path="/api/package[@name='com.huawei.hms.aaid.utils']" name="managedName">Huawei.Hms.Aaid.Utils</attr>
+	<attr path="/api/package[@name='com.huawei.hms.opendevice']" name="managedName">Huawei.Hms.OpenDevice</attr>
+	<attr path="/api/package[@name='com.huawei.hms.support.api.entity.opendevice']" name="managedName">Huawei.Hms.Support.Api.Entity.OpenDevice</attr>
+	<attr path="/api/package[@name='com.huawei.hms.support.api.opendevice']" name="managedName">Huawei.Hms.Support.Api.OpenDevice</attr>
+	
+	<!--HmsNetworkCommon-->
+	<attr path="/api/package[@name='com.huawei.hms.framework.common']/class[@name='IoUtils']/method[@name='closeSecure' and count(parameter)=1 and parameter[1][@type='java.io.OutputStream']]" name="managedName">CloseOutputStreamSecure</attr>
+	<attr path="/api/package[@name='com.huawei.hms.framework.common']/class[@name='IoUtils']/method[@name='closeSecure' and count(parameter)=1 and parameter[1][@type='java.io.InputStream']]" name="managedName">CloseInputStreamSecure</attr>
+	<attr path="/api/package[@name='com.huawei.hms.framework.common']" name="managedName">Huawei.Hms.Framework.Common</attr>
+	<attr path="/api/package[@name='com.huawei.hms.framework.common.hianalytics']" name="managedName">Huawei.Hms.Framework.Common.HiAnalytics</attr>
+	<add-node path="/api/package[@name='com.huawei.hms.framework.common']/class[@name='RunnableScheduledFutureEnhance']">
+		<method name="compareTo" return="int" abstract="false" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public">
+			<parameter name="context" type="java.lang.Object" />
+		</method>
+	</add-node>
+	
+	<!--HmsSecurityBase-->
+	<attr path="/api/package[@name='com.huawei.secure.android.common.util']/class[@name='IOUtil']/method[@name='closeSecure' and count(parameter)=1 and parameter[1][@type='java.io.OutputStream']]" name="managedName">CloseOutputStreamSecure</attr>
+	<attr path="/api/package[@name='com.huawei.secure.android.common.util']/class[@name='IOUtil']/method[@name='closeSecure' and count(parameter)=1 and parameter[1][@type='java.io.InputStream']]" name="managedName">CloseInputStreamSecure</attr>
+
+	<attr path="/api/package[@name='com.huawei.secure.android.common']" name="managedName">Huawei.Secure.Android.Common</attr>
+	<attr path="/api/package[@name='com.huawei.secure.android.common.anonymization']" name="managedName">Huawei.Secure.Android.Common.Anonymization</attr>
+	<attr path="/api/package[@name='com.huawei.secure.android.common.base']" name="managedName">Huawei.Secure.Android.Common.Base</attr>
+	<attr path="/api/package[@name='com.huawei.secure.android.common.exception']" name="managedName">Huawei.Secure.Android.Common.Exception</attr>
+	<attr path="/api/package[@name='com.huawei.secure.android.common.sign']" name="managedName">Huawei.Secure.Android.Common.Sign</attr>
+	<attr path="/api/package[@name='com.huawei.secure.android.common.util']" name="managedName">Huawei.Secure.Android.Common.Util</attr>
+	<attr path="/api/package[@name='com.huawei.secure.android.common.webview']" name="managedName">Huawei.Secure.Android.Common.Webview</attr>
+	<attr path="/api/package[@name='com.huawei.secure.android.common.xml']" name="managedName">Huawei.Secure.Android.Common.Xml</attr>
+	
+	<!--agconnnect-->
+	<attr path="/api/package[@name='com.huawei.agconnect.core']/class[@name='Service']" name="managedName">AgconnectService</attr>
+	<attr path="/api/package[@name='com.huawei.agconnect']" name="managedName">Huawei.Agconnect</attr>
+	<attr path="/api/package[@name='com.huawei.agconnect.annotation']" name="managedName">Huawei.Agconnect.Annotation</attr>
+	<attr path="/api/package[@name='com.huawei.agconnect.config']" name="managedName">Huawei.Agconnect.Config</attr>
+	<attr path="/api/package[@name='com.huawei.agconnect.core']" name="managedName">Huawei.Agconnect.Core</attr>
+	<attr path="/api/package[@name='com.huawei.agconnect.core.provider']" name="managedName">Huawei.Agconnect.Core.Provider</attr>
+	<attr path="/api/package[@name='com.huawei.agconnect.core.service']" name="managedName">Huawei.Agconnect.Core.Service</attr>
+	<attr path="/api/package[@name='com.huawei.agconnect.core.service.auth']" name="managedName">Huawei.Agconnect.Core.Service.Auth</attr>
+	<attr path="/api/package[@name='com.huawei.agconnect.exception']" name="managedName">Huawei.Agconnect.Exception</attr>
+
+	<!--push-->
+	<attr path="/api/package[@name='com.huawei.hms.push.task']/class[@name='IntentCallable']/method[@name='call']" name="managedReturn">Java.Lang.Object</attr>
+	<attr path="/api/package[@name='com.huawei.hms.push']" name="managedName">Huawei.Hms.Push</attr>
+	<attr path="/api/package[@name='com.huawei.hms.push.constant']" name="managedName">Huawei.Hms.Push.Constant</attr>
+	<attr path="/api/package[@name='com.huawei.hms.push.task']" name="managedName">Huawei.Hms.Push.Task</attr>
+	<attr path="/api/package[@name='com.huawei.hms.push.ups']" name="managedName">Huawei.Hms.Push.Ups</attr>
+	<attr path="/api/package[@name='com.huawei.hms.push.ups.entity']" name="managedName">Huawei.Hms.Push.Ups.Entity</attr>
+	<attr path="/api/package[@name='com.huawei.hms.push.utils']" name="managedName">Huawei.Hms.Push.Utils</attr>
+	<attr path="/api/package[@name='com.huawei.hms.push.utils.ha']" name="managedName">Huawei.Hms.Push.Utils.HA</attr>
+	<attr path="/api/package[@name='com.huawei.hms.support.api.entity.push']" name="managedName">Huawei.Hms.Support.Api.Entity.Push</attr>
+	<attr path="/api/package[@name='com.huawei.hms.support.api.push']" name="managedName">Huawei.Hms.Support.Api.Push</attr>
+	<attr path="/api/package[@name='com.huawei.hms.support.api.push.base']" name="managedName">Huawei.Hms.Support.Api.Push.Base</attr>
+	<attr path="/api/package[@name='com.huawei.hms.support.api.push.base']" name="managedName">Huawei.Hms.Support.Api.Push.Base</attr>
+	<attr path="/api/package[@name='com.huawei.hms.support.api.push.pushselfshow']" name="managedName">Huawei.Hms.Support.Api.Push.PushSelfShow</attr>
+	<attr path="/api/package[@name='com.huawei.hms.support.api.push.pushselfshow.click']" name="managedName">Huawei.Hms.Support.Api.Push.PushSelfShow.Click</attr>
+	<attr path="/api/package[@name='com.huawei.hms.support.api.push.pushselfshow.entity']" name="managedName">Huawei.Hms.Support.Api.Push.PushSelfShow.Entity</attr>
+	<attr path="/api/package[@name='com.huawei.hms.support.api.push.pushselfshow.prepare']" name="managedName">Huawei.Hms.Support.Api.Push.PushSelfShow.Prepare</attr>
+	<attr path="/api/package[@name='com.huawei.hms.support.api.push.pushselfshow.utils']" name="managedName">Huawei.Hms.Support.Api.Push.PushSelfShow.Utils</attr>
+	<attr path="/api/package[@name='com.huawei.hms.support.api.push.service']" name="managedName">Huawei.Hms.Support.Api.Push.Service</attr>
+	<attr path="/api/package[@name='com.huawei.hms.support.api.push.utils']" name="managedName">Huawei.Hms.Support.Api.Push.Utils</attr>
+	<attr path="/api/package[@name='com.huawei.hms.support.api.push.utils.common']" name="managedName">Huawei.Hms.Support.Api.Push.Utils.Common</attr>
+	<attr path="/api/package[@name='com.huawei.hms.support.api.push.utils.common.base']" name="managedName">Huawei.Hms.Support.Api.Push.Utils.Common.Base</attr>
+	<!--=======鍗庝负End========-->
+	
+	<!--=======灏忕背===========-->
+	<remove-node path="/api/package[@name='com.xiaomi.mipush.sdk']/class[@name='PushMessageHandler']/method[@name='b' and count(parameter)=0]"/>
+	<add-node path="/api/package[@name='com.xiaomi.mipush.sdk']/class[@name='PushMessageHandler']">
+		<method  name="b" return="boolean" abstract="false" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" jni-signature="()Z" jni-return="Z" bridge="false" synthetic="false" visibility="protected">
+		</method>
+	</add-node>
+	<remove-node path="/api/package[@name='com.xiaomi.mipush.sdk']/class[@name='PushMessageHandler']/method[@name='a' and count(parameter)=0]"/>
+	<add-node path="/api/package[@name='com.xiaomi.mipush.sdk']/class[@name='PushMessageHandler']">
+		<method  name="a" return="boolean" abstract="false" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" jni-signature="()Z" jni-return="Z" bridge="false" synthetic="false" visibility="protected">
+		</method>
+	</add-node>
+	<remove-node path="/api/package[@name='com.xiaomi.push.service']/class[@name='XMPushService']/method[@name='a' and count(parameter)=1 and parameter[1][@type='int']]"/>
+	<!--=======灏忕背End========-->
+	
+	<!--=======榄呮棌=========-->
+	<attr path="/api/package[@name='com.meizu.cloud.pushsdk.notification.model']/class[@name='ActVideoSetting']" name="managedName">MeizuActVideoSetting</attr>
+	<attr path="/api/package[@name='com.meizu.cloud.pushsdk.notification.model']/class[@name='AdvanceSetting']" name="managedName">MeizuAdvanceSetting</attr>
+	<attr path="/api/package[@name='com.meizu.cloud.pushsdk.notification.model']/class[@name='AdvanceSettingEx']" name="managedName">MeizuAdvanceSettingEx</attr>
+	<attr path="/api/package[@name='com.meizu.cloud.pushsdk.notification.model']/class[@name='NotifyType']" name="managedName">MeizuNotifyType</attr>
+	<attr path="/api/package[@name='com.meizu.cloud.pushsdk.notification.model']/class[@name='NotificationStyle']" name="managedName">MeizuNotificationStyle</attr>
+	<attr path="/api/package[@name='com.meizu.cloud.pushsdk.notification.model']/class[@name='AdvertisementOption']" name="managedName">MeizuAdvertisementOption</attr>
+	<attr path="/api/package[@name='com.meizu.cloud.pushsdk.notification.model']/class[@name='AppIconSetting']" name="managedName">MeizuAppIconSetting</attr>
+	<attr path="/api/package[@name='com.meizu.cloud.pushsdk.notification.model']/class[@name='BrightRemindSetting']" name="managedName">MeizuBrightRemindSetting</attr>
+	<attr path="/api/package[@name='com.meizu.cloud.pushsdk.notification.model']/class[@name='TimeDisplaySetting']" name="managedName">MeizuTimeDisplaySetting</attr>
+	<!--=======榄呮棌End=========-->
+	
+	<!--========鏋佸厜=========-->
+	<!--<attr path="/api/package[@name='cn.jpush.android.data']" name="managedname">cn.jpush.android.jdata</attr>-->
+	<!--======鏋佸厜End========-->
+</metadata>
diff --git a/ZigbeeApp/Shared/Common/SendDataToServer.cs b/ZigbeeApp/Shared/Common/SendDataToServer.cs
index 4203ddd..98c9fff 100644
--- a/ZigbeeApp/Shared/Common/SendDataToServer.cs
+++ b/ZigbeeApp/Shared/Common/SendDataToServer.cs
@@ -599,5 +599,80 @@
         }
         #endregion
 
+
+        /// <summary>
+        /// 鏋佸厜鎺ㄩ�佹秷鎭�
+        /// </summary>
+        [System.Serializable]
+        public class JPushMessageInfo
+        {
+            /// <summary>
+            /// 浣忓畢ID
+            /// </summary>
+            public string HomeId;
+            /// <summary>
+            /// 鎺ㄩ�佹爣棰�
+            /// </summary>
+            public string Title;
+            /// <summary>
+            /// 鎺ㄩ�佸唴瀹�
+            /// </summary>
+            public string Content;
+            /// <summary>
+            /// 鎺ㄩ�侀檮鍔犳暟鎹�
+            /// </summary>
+            public string Extras;
+            /// <summary>
+            /// 淇℃伅绫诲瀷
+            /// </summary>
+            public string messageType = "";
+            /// <summary>
+            /// 鎵╁睍鏁版嵁鍐呭
+            /// </summary>
+            public string expantContent = "";
+            /// <summary>
+            /// spk鏍囧織锛屽�间负door.gate鏃惰〃绀鸿嚜鐮�
+            /// </summary>
+            public string spk = "";
+            /// <summary>
+            /// sip璐﹀彿
+            /// </summary>
+            public string sipAccount;
+
+        }
+
+        /// <summary>
+        /// 鏋佸厜鎺ㄩ�佹秷鎭�
+        /// </summary>
+        [System.Serializable]
+        public class JPushExpandData
+        {
+            /// <summary>
+            /// 闄勫姞鍐呭
+            /// </summary>
+            public string expandData;
+
+        }
+
+        /// <summary>
+        /// 鏋佸厜鎺ㄩ�佹秷鎭�
+        /// </summary>
+        [System.Serializable]
+        public class ExpandData
+        {
+            /// <summary>
+            /// 浣忓畢ID
+            /// </summary>
+            public string homeId;
+            /// <summary>
+            /// 闄勫姞鍐呭
+            /// </summary>
+            public string expantContent;
+            /// <summary>
+            ///  淇℃伅绫诲瀷
+            /// </summary>
+            public string messageType;
+        }
+
     }
 }

--
Gitblit v1.8.0