HDL Home App 第二版本 旧平台金堂用 正在使用
lss
2022-06-09 5ce9a5b3706b7c609d832f73763a853ffd415c85
2022-6-9 修复推送

1、修复极光推送
2、测试小米厂家推送正常
3、oppo推送待审核
16个文件已添加
2个文件已删除
7个文件已修改
2927 ■■■■ 已修改文件
ZigbeeApp/DroidLib/DroidLib.csproj 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/DroidLib/Jars/jcore-android-1.2.7.jar 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/DroidLib/Jars/jpush-android-3.2.0.jar 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/GateWay.Droid/Application.cs 168 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/GateWay.Droid/Assets/agconnect-services.json 84 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/GateWay.Droid/GateWay.Droid.csproj 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/GateWay.Droid/JPush/JPushFirmBroadcast.cs 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/GateWay.Droid/JPush/JPushOpenClickActivity.cs 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/GateWay.Droid/JPush/JPushService.cs 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/GateWay.Droid/JPush/JpushNotificationReceiver.cs 164 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/GateWay.Droid/Properties/AndroidManifest.xml 77 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/GateWay.Droid/Resources/Resource.designer.cs 1642 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/GateWay.sln 94 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared.Droid.JPush/Additions/AboutAdditions.txt 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared.Droid.JPush/HmsContentProvider.cs 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared.Droid.JPush/HmsLazyInputStream.cs 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared.Droid.JPush/Jars/AboutJars.txt 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared.Droid.JPush/Jars/android_jpush_fcm_4.5.0.aar 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared.Droid.JPush/Properties/AssemblyInfo.cs 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared.Droid.JPush/Shared.Droid.JPush.csproj 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared.Droid.JPush/Shared.Droid.JPush.sln 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared.Droid.JPush/Transforms/EnumFields.xml 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared.Droid.JPush/Transforms/EnumMethods.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared.Droid.JPush/Transforms/Metadata.xml 188 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Common/SendDataToServer.cs 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/DroidLib/DroidLib.csproj
old mode 100755 new mode 100644
@@ -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>
ZigbeeApp/DroidLib/Jars/jcore-android-1.2.7.jar
Binary files differ
ZigbeeApp/DroidLib/Jars/jpush-android-3.2.0.jar
Binary files differ
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();
            }
        }
    }
}
ZigbeeApp/GateWay.Droid/Assets/agconnect-services.json
New file
@@ -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"
            }
        }
    ]
}
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" />
ZigbeeApp/GateWay.Droid/JPush/JPushFirmBroadcast.cs
New file
@@ -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
            {
            }
        }
    }
}
ZigbeeApp/GateWay.Droid/JPush/JPushOpenClickActivity.cs
New file
@@ -0,0 +1,48 @@
using 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);
        }
    }
}
ZigbeeApp/GateWay.Droid/JPush/JPushService.cs
New file
@@ -0,0 +1,11 @@
using 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
    {
    }
}
ZigbeeApp/GateWay.Droid/JPush/JpushNotificationReceiver.cs
New file
@@ -0,0 +1,164 @@
using 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 解决点击通知栏打开不了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);
        }
    }
}
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 ;App 不会被其他 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>
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;
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
ZigbeeApp/Shared.Droid.JPush/Additions/AboutAdditions.txt
New file
@@ -0,0 +1,48 @@
Additions 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; }
}
ZigbeeApp/Shared.Droid.JPush/HmsContentProvider.cs
New file
@@ -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();
        }
    }
}
ZigbeeApp/Shared.Droid.JPush/HmsLazyInputStream.cs
New file
@@ -0,0 +1,28 @@
using 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;
            }
        }
    }
}
ZigbeeApp/Shared.Droid.JPush/Jars/AboutJars.txt
New file
@@ -0,0 +1,24 @@
This 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".
ZigbeeApp/Shared.Droid.JPush/Jars/android_jpush_fcm_4.5.0.aar
Binary files differ
ZigbeeApp/Shared.Droid.JPush/Properties/AssemblyInfo.cs
New file
@@ -0,0 +1,24 @@
using 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")]
ZigbeeApp/Shared.Droid.JPush/Shared.Droid.JPush.csproj
New file
@@ -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>
ZigbeeApp/Shared.Droid.JPush/Shared.Droid.JPush.sln
New file
@@ -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
ZigbeeApp/Shared.Droid.JPush/Transforms/EnumFields.xml
New file
@@ -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>
ZigbeeApp/Shared.Droid.JPush/Transforms/EnumMethods.xml
New file
@@ -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>
ZigbeeApp/Shared.Droid.JPush/Transforms/Metadata.xml
New file
@@ -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>
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;
        }
    }
}