14个文件已添加
2个文件已删除
46个文件已修改
6801 ■■■■ 已修改文件
DLL/LC/Android/LC_SDK.dll 补丁 | 查看 | 原始文档 | blame | 历史
DLL/LC/IOS/Shared.IOS.LCVideoOnSDK.dll 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Application.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Assets/Language.ini 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/FengLinVideo/Form/MonitorFragment.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/HDL-ON_Android.csproj 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/LeChengVideo/Form/MonitorFragment.cs 148 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/LeChengVideo/Form/ReverseCallFragment.cs 317 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/LeChengVideoActivity.cs 304 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Properties/AndroidManifest.xml 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Resources/Resource.designer.cs 2253 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Resources/layout/activity_video_phone.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Resources/values-zh/strings.xml 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Resources/values/strings.xml 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/libs/armeabi-v7a/libGMCrypto.so 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/libs/armeabi-v7a/libLCOpenApiClient.so 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/libs/armeabi-v7a/libLechangeSDK.so 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/libs/armeabi-v7a/libSmartConfig.so 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/libs/armeabi-v7a/libSoftAPConfig.so 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/libs/armeabi-v7a/libconfigsdk.so 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/libs/armeabi-v7a/libgnustl_shared.so 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/libs/armeabi-v7a/libjninetsdk.so 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/libs/armeabi-v7a/libnetsdk.so 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/HDL-ON_iOS.csproj 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_APP_Project.sln 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/Common/ApiUtlis.cs 48 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/Common/Constant.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/Common/HDLCommon.cs 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/Common/OnAppConfig.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/Common/R.cs 708 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/DAL/Server/HttpServerRequest.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/DAL/Server/HttpUtil.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/DAL/Server/NewAPI.cs 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/DAL/ThirdPartySdk/ESOnVideo.cs 364 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/Entity/FunctionList.cs 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/HDL_ON.projitems 530 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI0-Public/TopViewDiv.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI0-Public/Widget/DiySelectPopupDialog.cs 665 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/3-Intelligence/Automation/AirQuality.cs 132 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/3-Intelligence/Automation/Logic.cs 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/AddOutputInputTextView.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/TopView.cs 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/3-Intelligence/Automation/MainView.cs 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/3-Intelligence/Automation/PublicInterface.cs 151 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/3-Intelligence/Automation/Time3.cs 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/3-Intelligence/Automation/Weather.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/3-Intelligence/Automation/WeatherCondition.cs 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/3-Intelligence/IntelligencePage.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/3-Intelligence/Scene/CatchSceneAddPage.cs 377 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirSend.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/Video/ObjectClass.cs 92 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/Video/VideoMainView.cs 117 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/Video/VideoMethod.cs 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/Video/VideoSend.cs 60 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/Video/View/FrameLayout50.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/Video/View/FrameLayout60.cs 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/Video/View/ShowDialog.cs 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/UserPageBLL.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DLL/LC/Android/LC_SDK.dll
Binary files differ
DLL/LC/IOS/Shared.IOS.LCVideoOnSDK.dll
Binary files differ
HDL-ON_Android/Application.cs
@@ -228,9 +228,9 @@
        {
            //手机名称 Android.OS.Build.Manufacturer;
            //OnAppConfig.Instance.PhoneName = Android.OS.Build.Manufacturer;
#if DEBUG
            CN.Jpush.Android.Api.JPushInterface.SetDebugMode(true);
#endif
//#if DEBUG
            //CN.Jpush.Android.Api.JPushInterface.SetDebugMode(true);
//#endif
            CN.Jpush.Android.Api.JPushInterface.Init(this);
        }
HDL-ON_Android/Assets/Language.ini
@@ -328,7 +328,7 @@
324=Scene delay
325=Delay setting
326=Delay
327=Capture the scene
327=Catch Scene
328=Film scene
329=General
330=Automatic mode
@@ -466,6 +466,7 @@
477=Swing
478=Pattern
479=Speed
442=Generate scene
 
@@ -1391,7 +1392,7 @@
324=场景延时
325=延时设置
326=延时
327=捕捉场景
327=捕获场景
328=电影场景
329=普通
330=自动模式
@@ -1997,6 +1998,7 @@
7134=目标状态
7135=跌倒
 
9000=请使用新的手机账号登录APP
9001=请使用新的邮箱账号登录APP
9002=登录手机修改完成
HDL-ON_Android/FengLinVideo/Form/MonitorFragment.cs
@@ -80,7 +80,7 @@
                    unlockImag.Selected = true;
                    JSONObject ht = new JSONObject();
                    ht.Put("command", "open");//固定参数
                    ht.Put("room_id", 123);
                    ht.Put("room_id", VideoActivity.Roomno);
                    ht.Put("devType", 7);
                    mPhone.SendCustomData(ht.ToString());
                }
HDL-ON_Android/HDL-ON_Android.csproj
@@ -37,7 +37,6 @@
    <MandroidI18n>cjk</MandroidI18n>
    <AndroidDexTool>d8</AndroidDexTool>
    <AndroidEnableSGenConcurrent>false</AndroidEnableSGenConcurrent>
    <AndroidLinkMode>None</AndroidLinkMode>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <DebugSymbols>True</DebugSymbols>
@@ -156,6 +155,9 @@
    <Reference Include="ys">
      <HintPath>..\DLL\EZvizMonitor\ys.dll</HintPath>
    </Reference>
    <Reference Include="LC_SDK">
      <HintPath>..\DLL\LC\Android\LC_SDK.dll</HintPath>
    </Reference>
  </ItemGroup>
  <ItemGroup>
    <Compile Include="MainActivity.cs" />
@@ -173,6 +175,9 @@
    <Compile Include="FengLinVideo\Form\MonitorFragment.cs" />
    <Compile Include="FengLinVideo\Form\ReverseCallFragment.cs" />
    <Compile Include="FengLinVideo\widget\TipDiaglog.cs" />
    <Compile Include="LeChengVideo\Form\MonitorFragment.cs" />
    <Compile Include="LeChengVideo\Form\ReverseCallFragment.cs" />
    <Compile Include="LeChengVideoActivity.cs" />
  </ItemGroup>
  <ItemGroup>
    <None Include="Resources\AboutResources.txt" />
@@ -1234,6 +1239,15 @@
  <ItemGroup>
    <AndroidNativeLibrary Include="libs\armeabi-v7a\libelianjni.so" />
    <AndroidNativeLibrary Include="libs\armeabi-v7a\libjcore127.so" />
    <AndroidNativeLibrary Include="libs\armeabi-v7a\libconfigsdk.so" />
    <AndroidNativeLibrary Include="libs\armeabi-v7a\libGMCrypto.so" />
    <AndroidNativeLibrary Include="libs\armeabi-v7a\libgnustl_shared.so" />
    <AndroidNativeLibrary Include="libs\armeabi-v7a\libjninetsdk.so" />
    <AndroidNativeLibrary Include="libs\armeabi-v7a\libLCOpenApiClient.so" />
    <AndroidNativeLibrary Include="libs\armeabi-v7a\libLechangeSDK.so" />
    <AndroidNativeLibrary Include="libs\armeabi-v7a\libnetsdk.so" />
    <AndroidNativeLibrary Include="libs\armeabi-v7a\libSmartConfig.so" />
    <AndroidNativeLibrary Include="libs\armeabi-v7a\libSoftAPConfig.so" />
  </ItemGroup>
  <ItemGroup>
    <AndroidAsset Include="Assets\Phone\FunctionIcon\DoorLock\Connect.png" />
HDL-ON_Android/LeChengVideo/Form/MonitorFragment.cs
New file
@@ -0,0 +1,148 @@

using System.Threading;
using Android.App;
using Android.Icu.Text;
using Android.OS;
using Android.Views;
using Android.Widget;
using Java.Util;
namespace HDL_ON_Android.LeChengView.Form
{
    public class MonitorFragment : Fragment, View.IOnClickListener
    {
        private View mView;
        // 截图
        private LinearLayout screenshotLayout;
        private ImageView screenImage;
        private TextView ScreenText;
        //开锁
        private LinearLayout unlockLayout;
        private ImageView unlockImag;
        private TextView unlockText;
        // 更新线程
        private Thread thread = null;
        private LeChengVideoActivity CurtActivity;
        public override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            CurtActivity = (LeChengVideoActivity)this.Activity;
        }
        public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            mView = inflater.Inflate(Resource.Layout.fragment_monitor, container, false);
            IniView();
            CurtActivity.Play();
            CurtActivity.OpenAudio();
            return mView;
        }
        private void IniView()
        {
            screenshotLayout = (LinearLayout)mView.FindViewById(Resource.Id.icon_sceenshotLayout);
            screenImage = (ImageView)mView.FindViewById(Resource.Id.icon_sceenshotImg);
            ScreenText = (TextView)mView.FindViewById(Resource.Id.icon_sceenshotText);
            unlockLayout = (LinearLayout)mView.FindViewById(Resource.Id.icon_unlockLayout);
            unlockImag = (ImageView)mView.FindViewById(Resource.Id.icon_unlockImg);
            unlockText = (TextView)mView.FindViewById(Resource.Id.icon_unlockText);
            unlockLayout.SetOnClickListener(this);
            screenshotLayout.SetOnClickListener(this);
        }
        /// <summary>
        /// 开锁
        /// </summary>
        private void Unlock()
        {
            //
        }
        /// <summary>
        /// 更新开锁按钮状态
        /// </summary>
        private void UpdataUnlockState()
        {
            try
            {
                //开锁成功,15秒内不给再点击按钮
                unlockLayout.Enabled = false;
                if (thread != null)
                {
                    try
                    {
                        thread.Interrupt();
                    }
                    catch { }
                    thread = null;
                }
                thread = new Thread(() =>
                {
                    try
                    {
                        Thread.Sleep(15 * 1000);
                        Activity.RunOnUiThread(() =>
                        {
                            if (unlockLayout != null)
                                unlockLayout.Enabled = true;
                        });
                    }
                    catch { }
                });
                thread.Start();
            }
            catch { }
        }
        public void OnClick(View v)
        {
            //
            if (v.Equals(unlockLayout))
            {
                //开锁
            }
            else if (v.Equals(screenshotLayout))
            {
                //有视频过来可调用此接口进行拍照
                // 内部储存/DCIM/Camera/.....jpg
                screenImage.Selected = true;
                SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss");
                string time = format.Format(new Date(SystemClock.CurrentThreadTimeMillis()));
                string ss = Android.OS.Environment.ExternalStorageDirectory.Path + "/DCIM/Camera";
                string path = ss + "/" + time + ".jpg";
            }
        }
        public override void OnDestroy()
        {
            base.OnDestroy();
            if (thread != null)
            {
                try
                {
                    thread.Interrupt();
                }
                catch { }
                thread = null;
            }
        }
    }
}
HDL-ON_Android/LeChengVideo/Form/ReverseCallFragment.cs
New file
@@ -0,0 +1,317 @@

using System;
using System.Collections.Generic;
using System.Threading;
using Android.App;
using Android.Icu.Text;
using Android.OS;
using Android.Runtime;
using Android.Util;
using Android.Views;
using Android.Widget;
using HDL_ON.Common;
using HDL_ON.DAL.Server;
using Java.Util;
namespace HDL_ON_Android.LeChengView.Form
{
    public class ReverseCallFragment : Fragment, View.IOnClickListener
    {
        private View mView;
        private ImageView screenshotImg;// 截图
        private ImageView unlockImg;// 开锁
        private LinearLayout answerLayout; // 接听
        private ImageView hangupImg;// 挂断
        private ImageView answerImg;// 接听
        private TextView hangupText;
        private TextView tvTip;
        private System.Threading.Timer timer = null;
        private int Time = 0;
        private static LeChengVideoActivity CurtActivity;
        public override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            CurtActivity = (LeChengVideoActivity)this.Activity;
        }
        public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            mView = inflater.Inflate(Resource.Layout.fragment_call, container, false);
            IniView();
            CurtActivity.Play();
            CurtActivity.CloseAudio();
            return mView;
        }
        private void IniView()
        {
            screenshotImg = (ImageView)mView.FindViewById(Resource.Id.callScreenshotImg);//
            unlockImg = (ImageView)mView.FindViewById(Resource.Id.callUnlockImg);//
            tvTip = (TextView)mView.FindViewById(Resource.Id.callTipText);
            answerLayout = (LinearLayout)mView.FindViewById(Resource.Id.callAnswerLayout);
            hangupImg = (ImageView)mView.FindViewById(Resource.Id.callHangupImg);
            answerImg = (ImageView)mView.FindViewById(Resource.Id.callAnswerImg);
            hangupText = (TextView)mView.FindViewById(Resource.Id.callHangupText);
            screenshotImg.SetOnClickListener(this);
            unlockImg.SetOnClickListener(this);
            hangupImg.SetOnClickListener(this);
            answerImg.SetOnClickListener(this);
            hangupText.SetText(GetString(Resource.String.video_not_answer), null);
            tvTip.SetText(GetString(Resource.String.calling), null);
        }
        /// <summary>
        /// 开锁
        /// </summary>
        private void PostUnlock()
        {
            //开锁,当收到来电信息时可进行开锁操作
            new Thread(() =>
            {
                try
                {
                    Dictionary<string, object> d = new Dictionary<string, object>();
                    d.Add("deviceId", CurtActivity.DeviceId);//设备id
                    string jsonString = HttpUtil.GetSignRequestJson(d);
                    string url = "/home-wisdom/platform/imou/openDoorbell";
                    ResponsePackNew response = HttpUtil.RequestHttpsPost(url, jsonString);
                    Log.Info("LcVideo", "Post Unlock Response code=" + response.Code);
                }
                catch { }
            }).Start();
        }
        /// <summary>
        /// 更新开锁按钮状态,开锁成功,15秒内不给再点击按钮
        /// </summary>
        private void UpdataUnlockState()
        {
            try
            {
                if (unlockImg == null) return;
                unlockImg.Enabled = false;
                new Thread(() =>
                {
                    Thread.Sleep(15 * 1000);
                    Activity.RunOnUiThread(() =>
                    {
                        if (unlockImg != null)
                            unlockImg.Enabled = true;
                    });
                }).Start();
            }
            catch { }
        }
        private string GetTime(int time)
        {
            int m = time / 60;
            int s = time % 60;
            return UnitFormat(m) + ":" + UnitFormat(s);
        }
        private static string UnitFormat(int i)
        {
            string retStr = null;
            if (i >= 0 && i < 10)
                retStr = "0" + i;
            else
                retStr = "" + i;
            return retStr;
        }
        /// <summary>
        /// 通话记录计时器,从拉流成功开始计算时间
        /// </summary>
        public void TimeStarts()
        {
            try
            {
                if (timer != null)
                    timer.Dispose();
                TimerCallback timerCallback = new TimerCallback(Tick);
                timer = new System.Threading.Timer(timerCallback, null, 0, 1000);
            }
            catch (Exception) { }
        }
        public void TimeEnd()
        {
            Time = 0;
            if (timer != null)
            {
                timer.Dispose();
                timer = null;
            }
        }
        public void Tick(object state)
        {
            try
            {
                Activity.RunOnUiThread(() =>
                {
                    try
                    {
                        Time++;
                        if (tvTip != null)
                            tvTip.SetText(GetTime(Time), null);
                    }
                    catch { }
                });
            }
            catch { }
        }
        public void OnClick(View v)
        {
            if (v.Equals(answerImg))
            {
                //接收来电
                CurtActivity.StartTalk();
                answerLayout.Visibility = ViewStates.Gone;
                PostAnswer();
            }
            else if (v.Equals(hangupImg))
            {
                CurtActivity.StopTalk();
                PostHangup();
                TimeEnd();
                Activity.Finish();
            }
            else if (v.Equals(screenshotImg))
            {
                //有视频过来可调用此接口进行拍照
            }
            else if (v.Equals(unlockImg))
            {
                PostUnlock();
            }
        }
        /// <summary>
        /// post 截图
        /// </summary>
        /// <param name="path">截图保留的路径</param>
        private void PostScreenshot(string path)
        {
            new Thread(() =>
            {
                try
                {
                    string[] str = path.Split("/");
                    string img_name = str.GetValue(str.Length - 1).ToString().Replace(".jpg", "");
                    byte[] images = FileUtlis.Files.ReadFileForPath(path);
                    Dictionary<string, object> d = new Dictionary<string, object>();
                    d.Add("callId", VideoActivity.CallId);
                    d.Add("images", images);
                    d.Add("imagesName", img_name);
                    string jsonString = HttpUtil.GetSignRequestJson(d);
                    string url = "/home-wisdom/app/fl/vi/screenshot";
                    ResponsePackNew response = HttpUtil.RequestHttpsPost(url, jsonString);
                    Log.Info("LcVideo", "Post Screenshot Response code=" + response.Code);
                }
                catch { }
            }).Start();
        }
        /// <summary>
        /// post 接听电话记录
        /// </summary>
        public void PostAnswer()
        {
            new Thread(() =>
            {
                try
                {
                    Dictionary<string, object> d = new Dictionary<string, object>();
                    d.Add("callId", CurtActivity.CallId);//呼叫id
                    d.Add("callStatus", "RECEIVED");//可用值:MISSED,RECEIVED,REJECT
                    // d.Add("callDuration", Time);//通话时长(秒)
                    d.Add("interphoneTypeEnum", "IMOUVISIAL");//可用值:FLVI,IMOUVISIAL
                    string jsonString = HttpUtil.GetSignRequestJson(d);
                    string url = "/home-wisdom/platform/imou/updateCallStatus";
                    ResponsePackNew response = HttpUtil.RequestHttpsPost(url, jsonString);
                    Log.Info("LcVideo", "Post Answer Response code=" + response.Code);
                }
                catch { }
            }).Start();
        }
        /// <summary>
        /// post 挂断电话记录
        /// </summary>
        public void PostHangup()
        {
            new Thread(() =>
            {
                try
                {
                    Dictionary<string, object> d = new Dictionary<string, object>();
                    d.Add("callId", CurtActivity.CallId);//呼叫id
                    //d.Add("callStatus", "REJECT");//可用值:MISSED,RECEIVED,REJECT
                    d.Add("callDuration", Time);//通话时长(秒)
                    d.Add("interphoneTypeEnum", "IMOUVISIAL");//可用值:FLVI,IMOUVISIAL
                    string jsonString = HttpUtil.GetSignRequestJson(d);
                    string url = "/home-wisdom/platform/imou/updateCallStatus";
                    ResponsePackNew response = HttpUtil.RequestHttpsPost(url, jsonString);
                    Log.Info("LcVideo", "Post Hangup Response code=" + response.Code);
                }
                catch { }
            }).Start();
        }
        /// <summary>
        /// post 拒接记录,仅只有在正常挂断状态下才提交通话时间
        /// </summary>
        public void PostReject()
        {
            new Thread(() =>
            {
                try
                {
                    Dictionary<string, object> d = new Dictionary<string, object>();
                    d.Add("callId", CurtActivity.CallId);//呼叫id
                    d.Add("callStatus", "REJECT");//可用值:MISSED,RECEIVED,REJECT
                    string jsonString = HttpUtil.GetSignRequestJson(d);
                    string url = "/home-wisdom/platform/imou/updateCallStatus";
                    ResponsePackNew response = HttpUtil.RequestHttpsPost(url, jsonString);
                    Log.Info("LcVideo", "Post Reject Response code=" + response.Code);
                }
                catch { }
            }).Start();
        }
    }
}
HDL-ON_Android/LeChengVideoActivity.cs
New file
@@ -0,0 +1,304 @@

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Android;
using Android.App;
using Android.Content;
using Android.Content.PM;
using Android.Graphics;
using Android.OS;
using Android.Runtime;
using Android.Support.V4.App;
using Android.Support.V4.Content;
using Android.Util;
using Android.Views;
using Android.Widget;
using Com.Lechange.Opensdk.Api;
using Com.Lechange.Opensdk.Device;
using Com.Lechange.Opensdk.Listener;
using Com.Lechange.Opensdk.Media;
using HDL_ON.DAL.Server;
using HDL_ON_Android.LeChengView.Form;
using Java.Lang;
namespace HDL_ON_Android
{
    [Activity(Label = "LeChengVideoActivity", WindowSoftInputMode = SoftInput.AdjustResize, LaunchMode = LaunchMode.SingleInstance, ConfigurationChanges = (ConfigChanges.Keyboard | ConfigChanges.KeyboardHidden | ConfigChanges.LayoutDirection | ConfigChanges.Locale | ConfigChanges.Orientation | ConfigChanges.ScreenSize), Theme = "@style/MyTheme1", ScreenOrientation = ScreenOrientation.Portrait)]
    public class LeChengVideoActivity : Activity, View.IOnClickListener
    {
        private static LeChengVideoActivity CurtActivity;
        //
        private string URL = "openapi.easy4ip.com:443";
        public string AccessToken = "";
        public string DeviceId = "";
        public string Psk = "";
        public string PlayToken = "";//播放playToken
        public string CallId = "";//呼叫Id
        private int Type = 0;//0监控,1对讲
        /// <summary>
        /// 0:国内,1海外
        /// </summary>
        private int Location = 0;
        private FrameLayout flWindow;
        private FrameLayout flWindowContent;
        private ImageView ivBack;
        private TextView tvName;
        private MonitorFragment monitorFragment = null;
        private ReverseCallFragment reverseCallFragment = null;
        public LCOpenSDK_PlayWindow mPlayWindow;
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.activity_video_phone);
            CurtActivity = this;
            AccessToken = Intent.GetStringExtra("AccessToken");//"St_0000d307a13c965c4db285469484490e"
            DeviceId = Intent.GetStringExtra("DeviceId");//6K056CFAAJ8FFA1
            Psk = Intent.GetStringExtra("Psk");//6K056CFAAJ8FFA1
            PlayToken = Intent.GetStringExtra("PlayToken"); // 播放playToken//"8a5e041afa674a2ba3e84d90a54ea962"
            Type = Intent.GetIntExtra("Type", 0);//0监控,1对讲//1
            Location = Intent.GetIntExtra("Location", 0);//1
            CallId = Intent.GetStringExtra("callId");//1384766990812426242
            InitLCSDK();
            IniView();
            IniData();
            Permissions();
            if (Type == 0)
            {
                monitorFragment = new MonitorFragment();
                FragmentManager.BeginTransaction().Replace(Resource.Id.content, monitorFragment).Commit();
            }
            else
            {
                reverseCallFragment = new ReverseCallFragment();
                FragmentManager.BeginTransaction().Replace(Resource.Id.content, reverseCallFragment).Commit();
            }
        }
        private void IniView()
        {
            //
            flWindowContent = (FrameLayout)FindViewById(Resource.Id.remoteFrame);
            flWindow = (FrameLayout)FindViewById(Resource.Id.live_window);
            ivBack = (ImageView)FindViewById(Resource.Id.videoBackImg);
            tvName = (TextView)FindViewById(Resource.Id.nameText);
            tvName.SetText("DeviceName", null);
            ivBack.SetOnClickListener(this);
        }
        private void IniData()
        {
            //
            //SetStatusBarColor();// 这里设计的TopBarColor是白色,与系统导航栏字体颜色一直,暂时屏蔽不用
            mPlayWindow = new LCOpenSDK_PlayWindow();
            mPlayWindow.InitPlayWindow(this, flWindowContent, 0, true);
            if (Location == 1)
                URL = "openapi.easy4ip.com:443";
        }
        /// <summary>
        ///  初始化乐橙库
        /// </summary>
        private void InitLCSDK()
        {
            InitParams initParams = new InitParams(this, URL, AccessToken);
            LCOpenSDK_Api.InitOpenApi(initParams);
        }
        /// <summary>
        /// 开始播放(预览)
        /// </summary>
        public void Play()
        {
            try
            {
                LCOpenSDK_ParamReal paramReal = new LCOpenSDK_ParamReal(AccessToken, DeviceId, 0, Psk, PlayToken, 1, false, true);
                mPlayWindow.PlayRtspReal(paramReal);
            }
            catch (System.Exception e)
            {
                string sss = e.Message;
            }
        }
        /// <summary>
        /// 停止预览(停止播放画面)
        /// </summary>
        public void Stop()
        {
            mPlayWindow.StopRtspReal(true);//关闭视频
        }
        /// <summary>
        /// 打开对讲
        /// </summary>
        public void StartTalk()
        {
            CloseAudio();// 关闭Audio
            LCOpenSDK_Talk.Listener = new AudioTalkerListener();//设置对讲监听
            // 对讲参数
            LCOpenSDK_ParamTalk paramTalk = new LCOpenSDK_ParamTalk(AccessToken, DeviceId, -1, Psk, PlayToken, true);
            LCOpenSDK_Talk.PlayTalk(paramTalk);
        }
        /// <summary>
        /// 关闭对讲
        /// </summary>
        public void StopTalk()
        {
            LCOpenSDK_Talk.StopTalk();
            LCOpenSDK_Talk.Listener = null;
        }
        /// <summary>
        /// 打开声音(预览的时候可以听到门口机传来的声音)
        /// </summary>
        /// <returns></returns>
        public bool OpenAudio()
        {
            return mPlayWindow.PlayAudio() == 0;
        }
        /// <summary>
        /// 关闭声音(预览的时候关闭门口挤传来的声音,注意:打开对讲时需要先调用此方法关闭声音)
        /// </summary>
        /// <returns></returns>
        public bool CloseAudio()
        {
            return mPlayWindow.StopAudio() == 0;
        }
        /// <summary>
        /// 设置顶部状态栏背景透明
        /// </summary>
        private void SetStatusBarColor()
        {
            Window.AddFlags(WindowManagerFlags.DrawsSystemBarBackgrounds);
            Window.SetStatusBarColor(Color.Transparent);
        }
        /// <summary>
        /// 必要的一些权限
        /// </summary>
        private void Permissions()
        {
            string[] mPermissionList = new string[]
            {
                Manifest.Permission.WriteExternalStorage,
                Manifest.Permission.ReadExternalStorage,
                Manifest.Permission.Camera,
                Manifest.Permission.RecordAudio
            };
            foreach (string permissions in mPermissionList)
            {
                if (ContextCompat.CheckSelfPermission(this, permissions) != 0)
                {
                    ActivityCompat.RequestPermissions(this, new string[] { permissions }, 1);
                }
            }
        }
        /// <summary>
        /// 点击事件
        /// </summary>
        /// <param name="v"></param>
        public void OnClick(View v)
        {
            if (v.Equals(ivBack))
            {
                this.Finish();
            }
        }
        protected override void OnDestroy()
        {
            base.OnDestroy();
            Stop();
            mPlayWindow.UninitPlayWindow();//销毁底层资源
        }
        /// <summary>
        /// 对讲监听
        /// </summary>
        class AudioTalkerListener : LCOpenSDK_TalkerListener
        {
            /// <summary>
            /// 对讲结果回调
            /// </summary>
            /// <param name="error"></param>
            /// <param name="type"></param>
            public override void OnTalkResult(string error, int type)
            {
                base.OnTalkResult(error, type);
                try
                {
                    bool talkResult = false;
                    if (type == 99 || error.Equals("-1000") || error.Equals("0") || error.Equals("1") || error.Equals("3"))
                    {
                        talkResult = false;
                    }
                    else if (error.Equals("4"))
                    {
                        talkResult = true;
                    }
                    if (!talkResult)
                    {
                        // 提示对讲打开失败
                        CurtActivity.StopTalk();
                        CurtActivity.RunOnUiThread(() =>
                        {
                            Toast.MakeText(CurtActivity, Resource.String.talk_open_failed, ToastLength.Short).Show();
                        });
                    }
                    else
                    {
                        CurtActivity.reverseCallFragment.PostAnswer();// post接听电话,给云端做记录
                        CurtActivity.reverseCallFragment.TimeStarts();//接通成功打开计时器
                    }
                }
                catch { }
            }
            public override void OnTalkPlayReady()
            {
                base.OnTalkPlayReady();
            }
            public override void OnAudioReceive(byte[] bytes, int p1, int p2, int p3, int p4)
            {
                base.OnAudioReceive(bytes, p1, p2, p3, p4);
            }
            public override void OnAudioRecord(byte[] bytes, int p1, int p2, int p3, int p4)
            {
                base.OnAudioRecord(bytes, p1, p2, p3, p4);
            }
            public override void OnDataLength(int i)
            {
                base.OnDataLength(i);
            }
        }
    }
}
HDL-ON_Android/Properties/AndroidManifest.xml
@@ -1,6 +1,49 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="202106291" android:versionName="1.2.202106291" package="com.hdl.onpro">
    <uses-sdk android:minSdkVersion="23" android:targetSdkVersion="29" />
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="202104131" android:versionName="1.2.202104131" package="com.hdl.onpro">
    <uses-sdk android:minSdkVersion="26" android:targetSdkVersion="26" />
    <!-- 乐橙可视对讲需要的权限 -->
    <!--<uses-permission android:name="android.permission.INTERNET" />-->
    <!--网络访问-->
    <!--<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />-->
    <!--允许程序写入外部存储,如SD卡上写文件,抓图、录制等-->
    <!--<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />-->
    <!--程序可以读取设备外部存储空间(内置SDcard和外置SDCard)的文件,我的文件等-->
    <uses-permission android:name="android.permission.USE_CREDENTIALS" />
    <!--允许程序请求验证从AccountManager???-->
    <!--<uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />-->
    <!--允许改变WiFi多播状态???-->
    <!--<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />-->
    <!--允许程序显示系统窗口,应该已经不适用了???-->
    <!--<uses-permission android:name="android.permission.RECORD_AUDIO" />-->
    <!--允许程序录制声音通过手机或耳机的麦克,对讲、自定义报警音等-->
    <!--<uses-permission android:name="android.permission.CAMERA" />-->
    <!--允许程序访问摄像头进行拍照,二维码扫描补光、拍照上传图片等-->
    <uses-permission android:name="android.permission.FLASHLIGHT" />
    <!--允许访问闪光灯,二维码扫描补光-->
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
    <!--允许程序修改声音设置信息,声波配对,自动调大音量。需求变更之后应该不需要了???-->
    <!--<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />-->
    <!--允许程序获取当前WiFi接入的状态以及WLAN热点的信息,设备添加何种配网流程使用-->
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
    <!--允许程序改变WiFi状态,配网等-->
    <!--<uses-feature android:name="android.hardware.camera" />-->
    <!--<uses-feature android:name="android.hardware.camera.autofocus" />-->
    <!-- 硬件加速对X5视频播放非常重要,建议开启 -->
    <uses-permission android:name="android.permission.READ_SETTINGS" />
    <!--允许程序读取系统设置,声波配对获取当前系统音量等-->
    <!-- Optional for location -->
    <!--<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />-->
    <!--允许一个程序访问CellID或 WiFi热点来获取粗略的位置,登陆、设备添加等-->
    <!--<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />-->
    <!--允许一个程序访问CellID或 WiFi热点来获取精确的位置,登陆、设备添加等???-->
    <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
    <!--允许应用程序访问额外的位置提供命令,登陆、设备添加等???-->
    <!--<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />-->
    <!--允许程序改变网络状态,如是否联网,配网???-->
    <!--<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />-->
    <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
    <!--允许应用程序请求安装包。针对API大于22必须持有该许可使用ACTION_INSTALL_PACKAGE应用。应该没在用???-->
    <uses-permission android:name="android.permission.VIBRATE" />
    <!--  可视对讲权限-->
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-feature android:name="android.hardware.camera" />
HDL-ON_Android/Resources/Resource.designer.cs
@@ -7970,1384 +7970,1387 @@
            public const int list_item = 2131296671;
            
            // aapt resource value: 0x7F0901A2
            public const int llyCloundService = 2131296674;
            public const int live_window = 2131296674;
            
            // aapt resource value: 0x7F0901A3
            public const int llyStatus1 = 2131296675;
            public const int llyCloundService = 2131296675;
            
            // aapt resource value: 0x7F0901A4
            public const int llyStatus2 = 2131296676;
            public const int llyStatus1 = 2131296676;
            
            // aapt resource value: 0x7F0901A5
            public const int llyStatus3 = 2131296677;
            public const int llyStatus2 = 2131296677;
            
            // aapt resource value: 0x7F0901A6
            public const int loadingTextView = 2131296678;
            public const int llyStatus3 = 2131296678;
            
            // aapt resource value: 0x7F0901A7
            public const int loading_pb_ly = 2131296679;
            public const int loadingTextView = 2131296679;
            
            // aapt resource value: 0x7F0901A8
            public const int loading_play_btn = 2131296680;
            public const int loading_pb_ly = 2131296680;
            
            // aapt resource value: 0x7F0901A9
            public const int loading_text = 2131296681;
            public const int loading_play_btn = 2131296681;
            
            // aapt resource value: 0x7F0901AA
            public const int loading_view = 2131296682;
            // aapt resource value: 0x7F0901AC
            public const int localDoorUnlock = 2131296684;
            // aapt resource value: 0x7F0901AD
            public const int localVideo = 2131296685;
            // aapt resource value: 0x7F0901AE
            public const int local_alarm1 = 2131296686;
            // aapt resource value: 0x7F0901AF
            public const int local_alarm2 = 2131296687;
            // aapt resource value: 0x7F0901B0
            public const int local_alarm3 = 2131296688;
            // aapt resource value: 0x7F0901B1
            public const int local_l1 = 2131296689;
            // aapt resource value: 0x7F0901B2
            public const int local_l2 = 2131296690;
            // aapt resource value: 0x7F0901B3
            public const int local_l3 = 2131296691;
            // aapt resource value: 0x7F0901B4
            public const int local_realplay_btn = 2131296692;
            // aapt resource value: 0x7F0901B5
            public const int local_time_part1 = 2131296693;
            // aapt resource value: 0x7F0901B6
            public const int local_time_part2 = 2131296694;
            // aapt resource value: 0x7F0901B7
            public const int local_time_part3 = 2131296695;
            public const int loading_text = 2131296682;
            
            // aapt resource value: 0x7F0901AB
            public const int locaVideo = 2131296683;
            public const int loading_view = 2131296683;
            // aapt resource value: 0x7F0901AD
            public const int localDoorUnlock = 2131296685;
            // aapt resource value: 0x7F0901AE
            public const int localVideo = 2131296686;
            // aapt resource value: 0x7F0901AF
            public const int local_alarm1 = 2131296687;
            // aapt resource value: 0x7F0901B0
            public const int local_alarm2 = 2131296688;
            // aapt resource value: 0x7F0901B1
            public const int local_alarm3 = 2131296689;
            // aapt resource value: 0x7F0901B2
            public const int local_l1 = 2131296690;
            // aapt resource value: 0x7F0901B3
            public const int local_l2 = 2131296691;
            // aapt resource value: 0x7F0901B4
            public const int local_l3 = 2131296692;
            // aapt resource value: 0x7F0901B5
            public const int local_realplay_btn = 2131296693;
            // aapt resource value: 0x7F0901B6
            public const int local_time_part1 = 2131296694;
            // aapt resource value: 0x7F0901B7
            public const int local_time_part2 = 2131296695;
            
            // aapt resource value: 0x7F0901B8
            public const int login_name = 2131296696;
            public const int local_time_part3 = 2131296696;
            // aapt resource value: 0x7F0901AC
            public const int locaVideo = 2131296684;
            
            // aapt resource value: 0x7F0901B9
            public const int login_pwd = 2131296697;
            public const int login_name = 2131296697;
            
            // aapt resource value: 0x7F0901BA
            public const int longitude = 2131296698;
            public const int login_pwd = 2131296698;
            
            // aapt resource value: 0x7F0901BB
            public const int main_layout = 2131296699;
            public const int longitude = 2131296699;
            
            // aapt resource value: 0x7F0901BC
            public const int masked = 2131296700;
            public const int main_layout = 2131296700;
            // aapt resource value: 0x7F0901BD
            public const int masked = 2131296701;
            
            // aapt resource value: 0x7F090009
            public const int MatchLayout = 2131296265;
            
            // aapt resource value: 0x7F0901BD
            public const int matte_image = 2131296701;
            // aapt resource value: 0x7F0901BE
            public const int media_actions = 2131296702;
            public const int matte_image = 2131296702;
            
            // aapt resource value: 0x7F0901BF
            public const int menu_layout = 2131296703;
            public const int media_actions = 2131296703;
            
            // aapt resource value: 0x7F0901C0
            public const int menu_play = 2131296704;
            public const int menu_layout = 2131296704;
            
            // aapt resource value: 0x7F0901C1
            public const int message = 2131296705;
            public const int menu_play = 2131296705;
            
            // aapt resource value: 0x7F0901C2
            public const int message1 = 2131296706;
            public const int message = 2131296706;
            
            // aapt resource value: 0x7F0901C3
            public const int message2 = 2131296707;
            public const int message1 = 2131296707;
            
            // aapt resource value: 0x7F0901C4
            public const int message_check = 2131296708;
            public const int message2 = 2131296708;
            
            // aapt resource value: 0x7F0901C5
            public const int message_content = 2131296709;
            public const int message_check = 2131296709;
            
            // aapt resource value: 0x7F0901C6
            public const int message_from = 2131296710;
            public const int message_content = 2131296710;
            
            // aapt resource value: 0x7F0901C7
            public const int message_from_tip = 2131296711;
            public const int message_from = 2131296711;
            
            // aapt resource value: 0x7F0901C8
            public const int message_image = 2131296712;
            public const int message_from_tip = 2131296712;
            
            // aapt resource value: 0x7F0901C9
            public const int message_image_layout = 2131296713;
            public const int message_image = 2131296713;
            
            // aapt resource value: 0x7F0901CA
            public const int message_image_progress = 2131296714;
            public const int message_image_layout = 2131296714;
            
            // aapt resource value: 0x7F0901CB
            public const int message_layout = 2131296715;
            public const int message_image_progress = 2131296715;
            
            // aapt resource value: 0x7F0901CC
            public const int message_list = 2131296716;
            public const int message_layout = 2131296716;
            
            // aapt resource value: 0x7F0901CD
            public const int message_num_tv = 2131296717;
            public const int message_list = 2131296717;
            
            // aapt resource value: 0x7F0901CE
            public const int message_play_layout = 2131296718;
            public const int message_num_tv = 2131296718;
            
            // aapt resource value: 0x7F0901CF
            public const int message_time = 2131296719;
            public const int message_play_layout = 2131296719;
            
            // aapt resource value: 0x7F0901D0
            public const int message_type = 2131296720;
            public const int message_time = 2131296720;
            
            // aapt resource value: 0x7F0901D1
            public const int message_unread = 2131296721;
            public const int message_type = 2131296721;
            
            // aapt resource value: 0x7F0901D2
            public const int message_video_layout = 2131296722;
            public const int message_unread = 2131296722;
            // aapt resource value: 0x7F0901D3
            public const int message_video_layout = 2131296723;
            
            // aapt resource value: 0x7F090008
            public const int META = 2131296264;
            
            // aapt resource value: 0x7F0901D4
            public const int middle = 2131296724;
            // aapt resource value: 0x7F0901D3
            public const int mid_vertical_view = 2131296723;
            // aapt resource value: 0x7F0901D5
            public const int min = 2131296725;
            public const int middle = 2131296725;
            // aapt resource value: 0x7F0901D4
            public const int mid_vertical_view = 2131296724;
            
            // aapt resource value: 0x7F0901D6
            public const int mini = 2131296726;
            public const int min = 2131296726;
            
            // aapt resource value: 0x7F0901D7
            public const int mirror_line = 2131296727;
            public const int mini = 2131296727;
            
            // aapt resource value: 0x7F0901D8
            public const int modify_password_layout = 2131296728;
            public const int mirror_line = 2131296728;
            
            // aapt resource value: 0x7F0901D9
            public const int monitor = 2131296729;
            public const int modify_password_layout = 2131296729;
            
            // aapt resource value: 0x7F0901DA
            public const int month = 2131296730;
            public const int monitor = 2131296730;
            
            // aapt resource value: 0x7F0901DB
            public const int more_btn = 2131296731;
            public const int month = 2131296731;
            
            // aapt resource value: 0x7F0901DC
            public const int multiply = 2131296732;
            public const int more_btn = 2131296732;
            
            // aapt resource value: 0x7F0901DD
            public const int myRelativeLayout = 2131296733;
            public const int multiply = 2131296733;
            
            // aapt resource value: 0x7F0901DE
            public const int myRetry = 2131296734;
            public const int myRelativeLayout = 2131296734;
            
            // aapt resource value: 0x7F0901DF
            public const int nameText = 2131296735;
            public const int myRetry = 2131296735;
            
            // aapt resource value: 0x7F0901E0
            public const int name_del = 2131296736;
            public const int nameText = 2131296736;
            
            // aapt resource value: 0x7F0901E1
            public const int name_text = 2131296737;
            public const int name_del = 2131296737;
            
            // aapt resource value: 0x7F0901E2
            public const int name_tv = 2131296738;
            public const int name_text = 2131296738;
            
            // aapt resource value: 0x7F0901E3
            public const int navigation_header_container = 2131296739;
            public const int name_tv = 2131296739;
            
            // aapt resource value: 0x7F0901E4
            public const int never = 2131296740;
            public const int navigation_header_container = 2131296740;
            
            // aapt resource value: 0x7F0901E5
            public const int new_password = 2131296741;
            public const int never = 2131296741;
            
            // aapt resource value: 0x7F0901E6
            public const int next_play_btn = 2131296742;
            // aapt resource value: 0x7F0901EE
            public const int none = 2131296750;
            // aapt resource value: 0x7F0901EF
            public const int normal = 2131296751;
            public const int new_password = 2131296742;
            
            // aapt resource value: 0x7F0901E7
            public const int noText = 2131296743;
            public const int next_play_btn = 2131296743;
            // aapt resource value: 0x7F0901EF
            public const int none = 2131296751;
            
            // aapt resource value: 0x7F0901F0
            public const int notification_background = 2131296752;
            // aapt resource value: 0x7F0901F1
            public const int notification_main_column = 2131296753;
            // aapt resource value: 0x7F0901F2
            public const int notification_main_column_container = 2131296754;
            // aapt resource value: 0x7F0901F3
            public const int novideo_img = 2131296755;
            // aapt resource value: 0x7F0901F4
            public const int novideo_img_device = 2131296756;
            public const int normal = 2131296752;
            
            // aapt resource value: 0x7F0901E8
            public const int no_camera_tip_ly = 2131296744;
            public const int noText = 2131296744;
            
            // aapt resource value: 0x7F0901E9
            public const int no_message_button = 2131296745;
            // aapt resource value: 0x7F0901F1
            public const int notification_background = 2131296753;
            
            // aapt resource value: 0x7F0901EA
            public const int no_message_layout = 2131296746;
            // aapt resource value: 0x7F0901F2
            public const int notification_main_column = 2131296754;
            
            // aapt resource value: 0x7F0901EB
            public const int no_message_text = 2131296747;
            // aapt resource value: 0x7F0901F3
            public const int notification_main_column_container = 2131296755;
            
            // aapt resource value: 0x7F0901EC
            public const int no_more_hint = 2131296748;
            // aapt resource value: 0x7F0901ED
            public const int no_more_text = 2131296749;
            // aapt resource value: 0x7F0901F4
            public const int novideo_img = 2131296756;
            
            // aapt resource value: 0x7F0901F5
            public const int offline_bg = 2131296757;
            public const int novideo_img_device = 2131296757;
            // aapt resource value: 0x7F0901E9
            public const int no_camera_tip_ly = 2131296745;
            // aapt resource value: 0x7F0901EA
            public const int no_message_button = 2131296746;
            // aapt resource value: 0x7F0901EB
            public const int no_message_layout = 2131296747;
            // aapt resource value: 0x7F0901EC
            public const int no_message_text = 2131296748;
            // aapt resource value: 0x7F0901ED
            public const int no_more_hint = 2131296749;
            // aapt resource value: 0x7F0901EE
            public const int no_more_text = 2131296750;
            
            // aapt resource value: 0x7F0901F6
            public const int ok_tv = 2131296758;
            public const int offline_bg = 2131296758;
            
            // aapt resource value: 0x7F0901F7
            public const int options1 = 2131296759;
            public const int ok_tv = 2131296759;
            
            // aapt resource value: 0x7F0901F8
            public const int options2 = 2131296760;
            public const int options1 = 2131296760;
            
            // aapt resource value: 0x7F0901F9
            public const int options3 = 2131296761;
            public const int options2 = 2131296761;
            
            // aapt resource value: 0x7F0901FA
            public const int optionspicker = 2131296762;
            public const int options3 = 2131296762;
            
            // aapt resource value: 0x7F0901FB
            public const int outmost_container = 2131296763;
            public const int optionspicker = 2131296763;
            
            // aapt resource value: 0x7F0901FC
            public const int packed = 2131296764;
            // aapt resource value: 0x7F0901FE
            public const int pager = 2131296766;
            // aapt resource value: 0x7F0901FF
            public const int pager_tab_strip = 2131296767;
            public const int outmost_container = 2131296764;
            
            // aapt resource value: 0x7F0901FD
            public const int page_container = 2131296765;
            public const int packed = 2131296765;
            // aapt resource value: 0x7F0901FF
            public const int pager = 2131296767;
            
            // aapt resource value: 0x7F090200
            public const int parallax = 2131296768;
            public const int pager_tab_strip = 2131296768;
            // aapt resource value: 0x7F0901FE
            public const int page_container = 2131296766;
            
            // aapt resource value: 0x7F090201
            public const int parent = 2131296769;
            public const int parallax = 2131296769;
            
            // aapt resource value: 0x7F090202
            public const int parentPanel = 2131296770;
            public const int parent = 2131296770;
            
            // aapt resource value: 0x7F090203
            public const int parent_matrix = 2131296771;
            public const int parentPanel = 2131296771;
            
            // aapt resource value: 0x7F090204
            public const int passwordETV = 2131296772;
            public const int parent_matrix = 2131296772;
            
            // aapt resource value: 0x7F090205
            public const int pb_notlist_title_bar_landscape = 2131296773;
            public const int passwordETV = 2131296773;
            
            // aapt resource value: 0x7F090206
            public const int pb_play_loading = 2131296774;
            public const int pb_notlist_title_bar_landscape = 2131296774;
            
            // aapt resource value: 0x7F090207
            public const int pb_search_content_tab = 2131296775;
            public const int pb_play_loading = 2131296775;
            
            // aapt resource value: 0x7F090208
            public const int pb_search_tab_btn_cloud = 2131296776;
            public const int pb_search_content_tab = 2131296776;
            
            // aapt resource value: 0x7F090209
            public const int pb_search_tab_btn_device = 2131296777;
            public const int pb_search_tab_btn_cloud = 2131296777;
            
            // aapt resource value: 0x7F09020A
            public const int pb_title_bar_landscape = 2131296778;
            public const int pb_search_tab_btn_device = 2131296778;
            
            // aapt resource value: 0x7F09020B
            public const int peerAddress = 2131296779;
            public const int pb_title_bar_landscape = 2131296779;
            
            // aapt resource value: 0x7F09020C
            public const int percent = 2131296780;
            public const int peerAddress = 2131296780;
            
            // aapt resource value: 0x7F09020D
            public const int phone_et = 2131296781;
            public const int percent = 2131296781;
            
            // aapt resource value: 0x7F09020E
            public const int phone_ly = 2131296782;
            public const int phone_et = 2131296782;
            
            // aapt resource value: 0x7F09020F
            public const int phone_lyt = 2131296783;
            public const int phone_ly = 2131296783;
            
            // aapt resource value: 0x7F090210
            public const int pin = 2131296784;
            // aapt resource value: 0x7F090212
            public const int platform_login_btn = 2131296786;
            public const int phone_lyt = 2131296784;
            
            // aapt resource value: 0x7F090211
            public const int plat_tv = 2131296785;
            public const int pin = 2131296785;
            
            // aapt resource value: 0x7F090213
            public const int play_video_layout = 2131296787;
            public const int platform_login_btn = 2131296787;
            // aapt resource value: 0x7F090212
            public const int plat_tv = 2131296786;
            
            // aapt resource value: 0x7F090214
            public const int preview_view = 2131296788;
            // aapt resource value: 0x7F090219
            public const int progressbar = 2131296793;
            public const int play_video_layout = 2131296788;
            
            // aapt resource value: 0x7F090215
            public const int progress_area = 2131296789;
            // aapt resource value: 0x7F090216
            public const int progress_circular = 2131296790;
            // aapt resource value: 0x7F090217
            public const int progress_horizontal = 2131296791;
            // aapt resource value: 0x7F090218
            public const int progress_seekbar = 2131296792;
            public const int preview_view = 2131296789;
            
            // aapt resource value: 0x7F09021A
            public const int ptz_bottom_btn = 2131296794;
            public const int progressbar = 2131296794;
            // aapt resource value: 0x7F090216
            public const int progress_area = 2131296790;
            // aapt resource value: 0x7F090217
            public const int progress_circular = 2131296791;
            // aapt resource value: 0x7F090218
            public const int progress_horizontal = 2131296792;
            // aapt resource value: 0x7F090219
            public const int progress_seekbar = 2131296793;
            
            // aapt resource value: 0x7F09021B
            public const int ptz_close_btn = 2131296795;
            public const int ptz_bottom_btn = 2131296795;
            
            // aapt resource value: 0x7F09021C
            public const int ptz_control_ly = 2131296796;
            public const int ptz_close_btn = 2131296796;
            
            // aapt resource value: 0x7F09021D
            public const int ptz_flip_btn = 2131296797;
            public const int ptz_control_ly = 2131296797;
            
            // aapt resource value: 0x7F09021E
            public const int ptz_left_btn = 2131296798;
            public const int ptz_flip_btn = 2131296798;
            
            // aapt resource value: 0x7F09021F
            public const int ptz_right_btn = 2131296799;
            public const int ptz_left_btn = 2131296799;
            
            // aapt resource value: 0x7F090220
            public const int ptz_top_btn = 2131296800;
            public const int ptz_right_btn = 2131296800;
            
            // aapt resource value: 0x7F090221
            public const int quality_balanced_btn = 2131296801;
            public const int ptz_top_btn = 2131296801;
            
            // aapt resource value: 0x7F090222
            public const int quality_close_btn = 2131296802;
            public const int quality_balanced_btn = 2131296802;
            
            // aapt resource value: 0x7F090223
            public const int quality_flunet_btn = 2131296803;
            public const int quality_close_btn = 2131296803;
            
            // aapt resource value: 0x7F090224
            public const int quality_hd_btn = 2131296804;
            public const int quality_flunet_btn = 2131296804;
            
            // aapt resource value: 0x7F090225
            public const int quality_line = 2131296805;
            public const int quality_hd_btn = 2131296805;
            
            // aapt resource value: 0x7F090226
            public const int quality_super_hd_btn = 2131296806;
            // aapt resource value: 0x7F090228
            public const int queryingCameraRyt = 2131296808;
            // aapt resource value: 0x7F090229
            public const int querying_camera_tv = 2131296809;
            public const int quality_line = 2131296806;
            
            // aapt resource value: 0x7F090227
            public const int query_exception_ly = 2131296807;
            public const int quality_super_hd_btn = 2131296807;
            // aapt resource value: 0x7F090229
            public const int queryingCameraRyt = 2131296809;
            
            // aapt resource value: 0x7F09022A
            public const int quit = 2131296810;
            public const int querying_camera_tv = 2131296810;
            // aapt resource value: 0x7F090228
            public const int query_exception_ly = 2131296808;
            
            // aapt resource value: 0x7F09022B
            public const int radio = 2131296811;
            public const int quit = 2131296811;
            
            // aapt resource value: 0x7F09022C
            public const int range = 2131296812;
            public const int radio = 2131296812;
            
            // aapt resource value: 0x7F09022D
            public const int rangeSort = 2131296813;
            public const int range = 2131296813;
            
            // aapt resource value: 0x7F09022E
            public const int rate_16x = 2131296814;
            public const int rangeSort = 2131296814;
            
            // aapt resource value: 0x7F09022F
            public const int rate_1x = 2131296815;
            public const int rate_16x = 2131296815;
            
            // aapt resource value: 0x7F090230
            public const int rate_4x = 2131296816;
            public const int rate_1x = 2131296816;
            
            // aapt resource value: 0x7F090231
            public const int rate_8x = 2131296817;
            // aapt resource value: 0x7F090233
            public const int read_button = 2131296819;
            // aapt resource value: 0x7F090234
            public const int realplay_area = 2131296820;
            // aapt resource value: 0x7F090235
            public const int realplay_back_btn = 2131296821;
            // aapt resource value: 0x7F090236
            public const int realplay_capture_iv = 2131296822;
            // aapt resource value: 0x7F090237
            public const int realplay_capture_rl = 2131296823;
            // aapt resource value: 0x7F090238
            public const int realplay_capture_watermark_iv = 2131296824;
            // aapt resource value: 0x7F090239
            public const int realplay_control_bar = 2131296825;
            // aapt resource value: 0x7F09023A
            public const int realplay_control_rl = 2131296826;
            // aapt resource value: 0x7F09023B
            public const int realplay_display_view = 2131296827;
            // aapt resource value: 0x7F09023C
            public const int realplay_flow_tv = 2131296828;
            // aapt resource value: 0x7F09023D
            public const int realplay_full_anim_btn = 2131296829;
            // aapt resource value: 0x7F09023E
            public const int realplay_full_flow_ly = 2131296830;
            // aapt resource value: 0x7F09023F
            public const int realplay_full_flow_tv = 2131296831;
            // aapt resource value: 0x7F090240
            public const int realplay_full_operate_bar = 2131296832;
            // aapt resource value: 0x7F090241
            public const int realplay_full_operate_layout = 2131296833;
            // aapt resource value: 0x7F090242
            public const int realplay_full_play_btn = 2131296834;
            // aapt resource value: 0x7F090243
            public const int realplay_full_previously_btn = 2131296835;
            // aapt resource value: 0x7F090244
            public const int realplay_full_ptz_anim_btn = 2131296836;
            // aapt resource value: 0x7F090245
            public const int realplay_full_ptz_btn = 2131296837;
            // aapt resource value: 0x7F090246
            public const int realplay_full_ptz_prompt_iv = 2131296838;
            // aapt resource value: 0x7F090247
            public const int realplay_full_rate_tv = 2131296839;
            // aapt resource value: 0x7F090248
            public const int realplay_full_sound_btn = 2131296840;
            // aapt resource value: 0x7F090249
            public const int realplay_full_talk_anim_btn = 2131296841;
            // aapt resource value: 0x7F09024A
            public const int realplay_full_talk_btn = 2131296842;
            // aapt resource value: 0x7F09024B
            public const int realplay_full_video_btn = 2131296843;
            // aapt resource value: 0x7F09024C
            public const int realplay_full_video_container = 2131296844;
            // aapt resource value: 0x7F09024D
            public const int realplay_full_video_start_btn = 2131296845;
            // aapt resource value: 0x7F09024E
            public const int realplay_loading = 2131296846;
            // aapt resource value: 0x7F09024F
            public const int realplay_loading_rl = 2131296847;
            // aapt resource value: 0x7F090250
            public const int realplay_operate_bar = 2131296848;
            // aapt resource value: 0x7F090251
            public const int realplay_operate_bar2 = 2131296849;
            // aapt resource value: 0x7F090252
            public const int realplay_operate_ly = 2131296850;
            // aapt resource value: 0x7F090253
            public const int realplay_operate_ly2 = 2131296851;
            // aapt resource value: 0x7F090256
            public const int realplay_pages_gallery = 2131296854;
            // aapt resource value: 0x7F090254
            public const int realplay_page_anim_iv = 2131296852;
            // aapt resource value: 0x7F090255
            public const int realplay_page_ly = 2131296853;
            // aapt resource value: 0x7F090257
            public const int realplay_play_btn = 2131296855;
            // aapt resource value: 0x7F090258
            public const int realplay_play_iv = 2131296856;
            // aapt resource value: 0x7F090259
            public const int realplay_play_rl = 2131296857;
            // aapt resource value: 0x7F09025A
            public const int realplay_previously_btn = 2131296858;
            // aapt resource value: 0x7F09025B
            public const int realplay_previously_btn2 = 2131296859;
            // aapt resource value: 0x7F09025C
            public const int realplay_previously_btn_ly = 2131296860;
            // aapt resource value: 0x7F09025D
            public const int realplay_previously_btn_ly2 = 2131296861;
            // aapt resource value: 0x7F09025E
            public const int realplay_privacy_btn = 2131296862;
            // aapt resource value: 0x7F09025F
            public const int realplay_privacy_btn2 = 2131296863;
            // aapt resource value: 0x7F090260
            public const int realplay_privacy_btn_ly = 2131296864;
            // aapt resource value: 0x7F090261
            public const int realplay_privacy_btn_ly2 = 2131296865;
            // aapt resource value: 0x7F090262
            public const int realplay_privacy_ly = 2131296866;
            // aapt resource value: 0x7F090263
            public const int realplay_privacy_tv = 2131296867;
            // aapt resource value: 0x7F090264
            public const int realplay_privacy_tv2 = 2131296868;
            // aapt resource value: 0x7F090265
            public const int realplay_prompt_rl = 2131296869;
            // aapt resource value: 0x7F090266
            public const int realplay_ptz_btn = 2131296870;
            // aapt resource value: 0x7F090267
            public const int realplay_ptz_btn2 = 2131296871;
            // aapt resource value: 0x7F090268
            public const int realplay_ptz_btn_ly = 2131296872;
            // aapt resource value: 0x7F090269
            public const int realplay_ptz_btn_ly2 = 2131296873;
            // aapt resource value: 0x7F09026A
            public const int realplay_ptz_direction_iv = 2131296874;
            // aapt resource value: 0x7F09026B
            public const int realplay_quality_btn = 2131296875;
            // aapt resource value: 0x7F09026C
            public const int realplay_ratio_tv = 2131296876;
            // aapt resource value: 0x7F09026D
            public const int realplay_record_iv = 2131296877;
            // aapt resource value: 0x7F09026E
            public const int realplay_record_ly = 2131296878;
            // aapt resource value: 0x7F09026F
            public const int realplay_record_tv = 2131296879;
            // aapt resource value: 0x7F090270
            public const int realplay_sound_btn = 2131296880;
            // aapt resource value: 0x7F090271
            public const int realplay_ssl_btn = 2131296881;
            // aapt resource value: 0x7F090272
            public const int realplay_ssl_btn2 = 2131296882;
            // aapt resource value: 0x7F090273
            public const int realplay_ssl_btn_ly = 2131296883;
            // aapt resource value: 0x7F090274
            public const int realplay_ssl_btn_ly2 = 2131296884;
            // aapt resource value: 0x7F090275
            public const int realplay_ssl_btn_rl = 2131296885;
            // aapt resource value: 0x7F090276
            public const int realplay_ssl_btn_rl2 = 2131296886;
            // aapt resource value: 0x7F090277
            public const int realplay_ssl_progress = 2131296887;
            // aapt resource value: 0x7F090278
            public const int realplay_ssl_progress2 = 2131296888;
            // aapt resource value: 0x7F090279
            public const int realplay_ssl_tv = 2131296889;
            // aapt resource value: 0x7F09027A
            public const int realplay_ssl_tv2 = 2131296890;
            // aapt resource value: 0x7F09027B
            public const int realplay_stop_btn = 2131296891;
            // aapt resource value: 0x7F09027C
            public const int realplay_sv = 2131296892;
            // aapt resource value: 0x7F09027D
            public const int realplay_talk_btn = 2131296893;
            // aapt resource value: 0x7F09027E
            public const int realplay_talk_btn2 = 2131296894;
            // aapt resource value: 0x7F09027F
            public const int realplay_talk_btn_ly = 2131296895;
            // aapt resource value: 0x7F090280
            public const int realplay_talk_btn_ly2 = 2131296896;
            // aapt resource value: 0x7F090281
            public const int realplay_tip_tv = 2131296897;
            // aapt resource value: 0x7F090282
            public const int realplay_title_tv = 2131296898;
            // aapt resource value: 0x7F090283
            public const int realplay_top_bar = 2131296899;
            // aapt resource value: 0x7F090284
            public const int realplay_video_btn = 2131296900;
            // aapt resource value: 0x7F090285
            public const int realplay_video_btn2 = 2131296901;
            // aapt resource value: 0x7F090286
            public const int realplay_video_container = 2131296902;
            // aapt resource value: 0x7F090287
            public const int realplay_video_container2 = 2131296903;
            // aapt resource value: 0x7F090288
            public const int realplay_video_container_ly = 2131296904;
            // aapt resource value: 0x7F090289
            public const int realplay_video_container_ly2 = 2131296905;
            // aapt resource value: 0x7F09028A
            public const int realplay_video_start_btn = 2131296906;
            // aapt resource value: 0x7F09028B
            public const int realplay_video_start_btn2 = 2131296907;
            // aapt resource value: 0x7F09028C
            public const int realplay_waiting_lr = 2131296908;
            // aapt resource value: 0x7F09028D
            public const int realplay_watting_pb = 2131296909;
            // aapt resource value: 0x7F09028E
            public const int realplay_watting_tv = 2131296910;
            // aapt resource value: 0x7F09028F
            public const int realplay_wnd_sv = 2131296911;
            // aapt resource value: 0x7F090290
            public const int recycler_view = 2131296912;
            // aapt resource value: 0x7F090291
            public const int refresh_button = 2131296913;
            // aapt resource value: 0x7F090292
            public const int refresh_layout = 2131296914;
            // aapt resource value: 0x7F090293
            public const int refresh_tip = 2131296915;
            // aapt resource value: 0x7F090294
            public const int remoteFrame = 2131296916;
            // aapt resource value: 0x7F090295
            public const int remoteFrameContainer = 2131296917;
            // aapt resource value: 0x7F0902A2
            public const int remoteplayback_begin_time_tv = 2131296930;
            // aapt resource value: 0x7F0902A3
            public const int remoteplayback_capture_iv = 2131296931;
            // aapt resource value: 0x7F0902A4
            public const int remoteplayback_capture_rl = 2131296932;
            // aapt resource value: 0x7F0902A5
            public const int remoteplayback_capture_watermark_iv = 2131296933;
            // aapt resource value: 0x7F0902A6
            public const int remoteplayback_control_rl = 2131296934;
            // aapt resource value: 0x7F0902A7
            public const int remoteplayback_end_time_tv = 2131296935;
            // aapt resource value: 0x7F0902A8
            public const int remoteplayback_file_time_bar = 2131296936;
            // aapt resource value: 0x7F0902A9
            public const int remoteplayback_flow_tv = 2131296937;
            // aapt resource value: 0x7F0902AA
            public const int remoteplayback_full_down_btn = 2131296938;
            // aapt resource value: 0x7F0902AB
            public const int remoteplayback_full_flow_ly = 2131296939;
            // aapt resource value: 0x7F0902AC
            public const int remoteplayback_full_flow_tv = 2131296940;
            // aapt resource value: 0x7F0902AD
            public const int remoteplayback_full_operate_bar = 2131296941;
            // aapt resource value: 0x7F0902AE
            public const int remoteplayback_full_play_btn = 2131296942;
            // aapt resource value: 0x7F0902AF
            public const int remoteplayback_full_previously_btn = 2131296943;
            // aapt resource value: 0x7F0902B0
            public const int remoteplayback_full_rate_tv = 2131296944;
            // aapt resource value: 0x7F0902B1
            public const int remoteplayback_full_sound_btn = 2131296945;
            // aapt resource value: 0x7F0902B2
            public const int remoteplayback_full_video_btn = 2131296946;
            // aapt resource value: 0x7F0902B3
            public const int remoteplayback_full_video_container = 2131296947;
            // aapt resource value: 0x7F0902B4
            public const int remoteplayback_full_video_start_btn = 2131296948;
            // aapt resource value: 0x7F0902B5
            public const int remoteplayback_loading_iv = 2131296949;
            // aapt resource value: 0x7F0902B6
            public const int remoteplayback_loading_ly = 2131296950;
            // aapt resource value: 0x7F0902B7
            public const int remoteplayback_loading_pb_ly = 2131296951;
            // aapt resource value: 0x7F0902B8
            public const int remoteplayback_loading_play_btn = 2131296952;
            // aapt resource value: 0x7F0902B9
            public const int remoteplayback_loading_tv = 2131296953;
            // aapt resource value: 0x7F0902BA
            public const int remoteplayback_operate_bar = 2131296954;
            // aapt resource value: 0x7F0902BB
            public const int remoteplayback_page_ly = 2131296955;
            // aapt resource value: 0x7F0902BC
            public const int remoteplayback_play_btn = 2131296956;
            // aapt resource value: 0x7F0902BD
            public const int remoteplayback_play_rl = 2131296957;
            // aapt resource value: 0x7F0902BE
            public const int remoteplayback_previously_btn = 2131296958;
            // aapt resource value: 0x7F0902C1
            public const int remoteplayback_progressbar = 2131296961;
            // aapt resource value: 0x7F0902BF
            public const int remoteplayback_progress_ly = 2131296959;
            // aapt resource value: 0x7F0902C0
            public const int remoteplayback_progress_seekbar = 2131296960;
            // aapt resource value: 0x7F0902C2
            public const int remoteplayback_ratio_tv = 2131296962;
            // aapt resource value: 0x7F0902C3
            public const int remoteplayback_record_iv = 2131296963;
            // aapt resource value: 0x7F0902C4
            public const int remoteplayback_record_ly = 2131296964;
            // aapt resource value: 0x7F0902C5
            public const int remoteplayback_record_tv = 2131296965;
            // aapt resource value: 0x7F0902C6
            public const int remoteplayback_replay_btn = 2131296966;
            // aapt resource value: 0x7F0902C7
            public const int remoteplayback_small_previously_btn = 2131296967;
            // aapt resource value: 0x7F0902C8
            public const int remoteplayback_small_video_btn = 2131296968;
            // aapt resource value: 0x7F0902C9
            public const int remoteplayback_small_video_container = 2131296969;
            // aapt resource value: 0x7F0902CA
            public const int remoteplayback_small_video_start_btn = 2131296970;
            // aapt resource value: 0x7F0902CB
            public const int remoteplayback_sound_btn = 2131296971;
            // aapt resource value: 0x7F0902CC
            public const int remoteplayback_sv = 2131296972;
            // aapt resource value: 0x7F0902CE
            public const int remoteplayback_timebar = 2131296974;
            // aapt resource value: 0x7F0902CF
            public const int remoteplayback_timebar_rl = 2131296975;
            // aapt resource value: 0x7F0902CD
            public const int remoteplayback_time_tv = 2131296973;
            // aapt resource value: 0x7F0902D0
            public const int remoteplayback_tip_tv = 2131296976;
            // aapt resource value: 0x7F0902D1
            public const int remoteplayback_video_btn = 2131296977;
            // aapt resource value: 0x7F0902D2
            public const int remoteplayback_video_container = 2131296978;
            // aapt resource value: 0x7F0902D3
            public const int remoteplayback_video_start_btn = 2131296979;
            // aapt resource value: 0x7F090296
            public const int remoteVideo = 2131296918;
            // aapt resource value: 0x7F090297
            public const int remote_list_page = 2131296919;
            // aapt resource value: 0x7F090298
            public const int remote_loading_buffer_tv = 2131296920;
            // aapt resource value: 0x7F090299
            public const int remote_loading_iv = 2131296921;
            // aapt resource value: 0x7F09029A
            public const int remote_playback_area = 2131296922;
            // aapt resource value: 0x7F09029B
            public const int remote_playback_capture_btn = 2131296923;
            // aapt resource value: 0x7F09029C
            public const int remote_playback_download_btn = 2131296924;
            // aapt resource value: 0x7F09029D
            public const int remote_playback_flow_tv = 2131296925;
            // aapt resource value: 0x7F09029E
            public const int remote_playback_pause_btn = 2131296926;
            // aapt resource value: 0x7F09029F
            public const int remote_playback_sound_btn = 2131296927;
            // aapt resource value: 0x7F0902A0
            public const int remote_playback_video_recording_btn = 2131296928;
            // aapt resource value: 0x7F0902A1
            public const int remote_playback_wnd_sv = 2131296929;
            // aapt resource value: 0x7F0902D4
            public const int render_texture_view = 2131296980;
            // aapt resource value: 0x7F0902D5
            public const int render_texture_view_soft = 2131296981;
            // aapt resource value: 0x7F0902D6
            public const int replay_btn = 2131296982;
            // aapt resource value: 0x7F0902D7
            public const int requestA = 2131296983;
            // aapt resource value: 0x7F0902D8
            public const int requestMasterAudio = 2131296984;
            // aapt resource value: 0x7F0902D9
            public const int requestMasterVideo = 2131296985;
            // aapt resource value: 0x7F0902DA
            public const int requestV = 2131296986;
            // aapt resource value: 0x7F0902DB
            public const int restart_preview = 2131296987;
            // aapt resource value: 0x7F0902DC
            public const int retry_btn = 2131296988;
            // aapt resource value: 0x7F0902DD
            public const int retry_button = 2131296989;
            // aapt resource value: 0x7F0902DE
            public const int return_scan_result = 2131296990;
            // aapt resource value: 0x7F0902DF
            public const int reverseCall = 2131296991;
            // aapt resource value: 0x7F0902E0
            public const int reverseCallInfo = 2131296992;
            public const int rate_4x = 2131296817;
            
            // aapt resource value: 0x7F090232
            public const int re_next_area = 2131296818;
            public const int rate_8x = 2131296818;
            // aapt resource value: 0x7F090234
            public const int read_button = 2131296820;
            // aapt resource value: 0x7F090235
            public const int realplay_area = 2131296821;
            // aapt resource value: 0x7F090236
            public const int realplay_back_btn = 2131296822;
            // aapt resource value: 0x7F090237
            public const int realplay_capture_iv = 2131296823;
            // aapt resource value: 0x7F090238
            public const int realplay_capture_rl = 2131296824;
            // aapt resource value: 0x7F090239
            public const int realplay_capture_watermark_iv = 2131296825;
            // aapt resource value: 0x7F09023A
            public const int realplay_control_bar = 2131296826;
            // aapt resource value: 0x7F09023B
            public const int realplay_control_rl = 2131296827;
            // aapt resource value: 0x7F09023C
            public const int realplay_display_view = 2131296828;
            // aapt resource value: 0x7F09023D
            public const int realplay_flow_tv = 2131296829;
            // aapt resource value: 0x7F09023E
            public const int realplay_full_anim_btn = 2131296830;
            // aapt resource value: 0x7F09023F
            public const int realplay_full_flow_ly = 2131296831;
            // aapt resource value: 0x7F090240
            public const int realplay_full_flow_tv = 2131296832;
            // aapt resource value: 0x7F090241
            public const int realplay_full_operate_bar = 2131296833;
            // aapt resource value: 0x7F090242
            public const int realplay_full_operate_layout = 2131296834;
            // aapt resource value: 0x7F090243
            public const int realplay_full_play_btn = 2131296835;
            // aapt resource value: 0x7F090244
            public const int realplay_full_previously_btn = 2131296836;
            // aapt resource value: 0x7F090245
            public const int realplay_full_ptz_anim_btn = 2131296837;
            // aapt resource value: 0x7F090246
            public const int realplay_full_ptz_btn = 2131296838;
            // aapt resource value: 0x7F090247
            public const int realplay_full_ptz_prompt_iv = 2131296839;
            // aapt resource value: 0x7F090248
            public const int realplay_full_rate_tv = 2131296840;
            // aapt resource value: 0x7F090249
            public const int realplay_full_sound_btn = 2131296841;
            // aapt resource value: 0x7F09024A
            public const int realplay_full_talk_anim_btn = 2131296842;
            // aapt resource value: 0x7F09024B
            public const int realplay_full_talk_btn = 2131296843;
            // aapt resource value: 0x7F09024C
            public const int realplay_full_video_btn = 2131296844;
            // aapt resource value: 0x7F09024D
            public const int realplay_full_video_container = 2131296845;
            // aapt resource value: 0x7F09024E
            public const int realplay_full_video_start_btn = 2131296846;
            // aapt resource value: 0x7F09024F
            public const int realplay_loading = 2131296847;
            // aapt resource value: 0x7F090250
            public const int realplay_loading_rl = 2131296848;
            // aapt resource value: 0x7F090251
            public const int realplay_operate_bar = 2131296849;
            // aapt resource value: 0x7F090252
            public const int realplay_operate_bar2 = 2131296850;
            // aapt resource value: 0x7F090253
            public const int realplay_operate_ly = 2131296851;
            // aapt resource value: 0x7F090254
            public const int realplay_operate_ly2 = 2131296852;
            // aapt resource value: 0x7F090257
            public const int realplay_pages_gallery = 2131296855;
            // aapt resource value: 0x7F090255
            public const int realplay_page_anim_iv = 2131296853;
            // aapt resource value: 0x7F090256
            public const int realplay_page_ly = 2131296854;
            // aapt resource value: 0x7F090258
            public const int realplay_play_btn = 2131296856;
            // aapt resource value: 0x7F090259
            public const int realplay_play_iv = 2131296857;
            // aapt resource value: 0x7F09025A
            public const int realplay_play_rl = 2131296858;
            // aapt resource value: 0x7F09025B
            public const int realplay_previously_btn = 2131296859;
            // aapt resource value: 0x7F09025C
            public const int realplay_previously_btn2 = 2131296860;
            // aapt resource value: 0x7F09025D
            public const int realplay_previously_btn_ly = 2131296861;
            // aapt resource value: 0x7F09025E
            public const int realplay_previously_btn_ly2 = 2131296862;
            // aapt resource value: 0x7F09025F
            public const int realplay_privacy_btn = 2131296863;
            // aapt resource value: 0x7F090260
            public const int realplay_privacy_btn2 = 2131296864;
            // aapt resource value: 0x7F090261
            public const int realplay_privacy_btn_ly = 2131296865;
            // aapt resource value: 0x7F090262
            public const int realplay_privacy_btn_ly2 = 2131296866;
            // aapt resource value: 0x7F090263
            public const int realplay_privacy_ly = 2131296867;
            // aapt resource value: 0x7F090264
            public const int realplay_privacy_tv = 2131296868;
            // aapt resource value: 0x7F090265
            public const int realplay_privacy_tv2 = 2131296869;
            // aapt resource value: 0x7F090266
            public const int realplay_prompt_rl = 2131296870;
            // aapt resource value: 0x7F090267
            public const int realplay_ptz_btn = 2131296871;
            // aapt resource value: 0x7F090268
            public const int realplay_ptz_btn2 = 2131296872;
            // aapt resource value: 0x7F090269
            public const int realplay_ptz_btn_ly = 2131296873;
            // aapt resource value: 0x7F09026A
            public const int realplay_ptz_btn_ly2 = 2131296874;
            // aapt resource value: 0x7F09026B
            public const int realplay_ptz_direction_iv = 2131296875;
            // aapt resource value: 0x7F09026C
            public const int realplay_quality_btn = 2131296876;
            // aapt resource value: 0x7F09026D
            public const int realplay_ratio_tv = 2131296877;
            // aapt resource value: 0x7F09026E
            public const int realplay_record_iv = 2131296878;
            // aapt resource value: 0x7F09026F
            public const int realplay_record_ly = 2131296879;
            // aapt resource value: 0x7F090270
            public const int realplay_record_tv = 2131296880;
            // aapt resource value: 0x7F090271
            public const int realplay_sound_btn = 2131296881;
            // aapt resource value: 0x7F090272
            public const int realplay_ssl_btn = 2131296882;
            // aapt resource value: 0x7F090273
            public const int realplay_ssl_btn2 = 2131296883;
            // aapt resource value: 0x7F090274
            public const int realplay_ssl_btn_ly = 2131296884;
            // aapt resource value: 0x7F090275
            public const int realplay_ssl_btn_ly2 = 2131296885;
            // aapt resource value: 0x7F090276
            public const int realplay_ssl_btn_rl = 2131296886;
            // aapt resource value: 0x7F090277
            public const int realplay_ssl_btn_rl2 = 2131296887;
            // aapt resource value: 0x7F090278
            public const int realplay_ssl_progress = 2131296888;
            // aapt resource value: 0x7F090279
            public const int realplay_ssl_progress2 = 2131296889;
            // aapt resource value: 0x7F09027A
            public const int realplay_ssl_tv = 2131296890;
            // aapt resource value: 0x7F09027B
            public const int realplay_ssl_tv2 = 2131296891;
            // aapt resource value: 0x7F09027C
            public const int realplay_stop_btn = 2131296892;
            // aapt resource value: 0x7F09027D
            public const int realplay_sv = 2131296893;
            // aapt resource value: 0x7F09027E
            public const int realplay_talk_btn = 2131296894;
            // aapt resource value: 0x7F09027F
            public const int realplay_talk_btn2 = 2131296895;
            // aapt resource value: 0x7F090280
            public const int realplay_talk_btn_ly = 2131296896;
            // aapt resource value: 0x7F090281
            public const int realplay_talk_btn_ly2 = 2131296897;
            // aapt resource value: 0x7F090282
            public const int realplay_tip_tv = 2131296898;
            // aapt resource value: 0x7F090283
            public const int realplay_title_tv = 2131296899;
            // aapt resource value: 0x7F090284
            public const int realplay_top_bar = 2131296900;
            // aapt resource value: 0x7F090285
            public const int realplay_video_btn = 2131296901;
            // aapt resource value: 0x7F090286
            public const int realplay_video_btn2 = 2131296902;
            // aapt resource value: 0x7F090287
            public const int realplay_video_container = 2131296903;
            // aapt resource value: 0x7F090288
            public const int realplay_video_container2 = 2131296904;
            // aapt resource value: 0x7F090289
            public const int realplay_video_container_ly = 2131296905;
            // aapt resource value: 0x7F09028A
            public const int realplay_video_container_ly2 = 2131296906;
            // aapt resource value: 0x7F09028B
            public const int realplay_video_start_btn = 2131296907;
            // aapt resource value: 0x7F09028C
            public const int realplay_video_start_btn2 = 2131296908;
            // aapt resource value: 0x7F09028D
            public const int realplay_waiting_lr = 2131296909;
            // aapt resource value: 0x7F09028E
            public const int realplay_watting_pb = 2131296910;
            // aapt resource value: 0x7F09028F
            public const int realplay_watting_tv = 2131296911;
            // aapt resource value: 0x7F090290
            public const int realplay_wnd_sv = 2131296912;
            // aapt resource value: 0x7F090291
            public const int recycler_view = 2131296913;
            // aapt resource value: 0x7F090292
            public const int refresh_button = 2131296914;
            // aapt resource value: 0x7F090293
            public const int refresh_layout = 2131296915;
            // aapt resource value: 0x7F090294
            public const int refresh_tip = 2131296916;
            // aapt resource value: 0x7F090295
            public const int remoteFrame = 2131296917;
            // aapt resource value: 0x7F090296
            public const int remoteFrameContainer = 2131296918;
            // aapt resource value: 0x7F0902A3
            public const int remoteplayback_begin_time_tv = 2131296931;
            // aapt resource value: 0x7F0902A4
            public const int remoteplayback_capture_iv = 2131296932;
            // aapt resource value: 0x7F0902A5
            public const int remoteplayback_capture_rl = 2131296933;
            // aapt resource value: 0x7F0902A6
            public const int remoteplayback_capture_watermark_iv = 2131296934;
            // aapt resource value: 0x7F0902A7
            public const int remoteplayback_control_rl = 2131296935;
            // aapt resource value: 0x7F0902A8
            public const int remoteplayback_end_time_tv = 2131296936;
            // aapt resource value: 0x7F0902A9
            public const int remoteplayback_file_time_bar = 2131296937;
            // aapt resource value: 0x7F0902AA
            public const int remoteplayback_flow_tv = 2131296938;
            // aapt resource value: 0x7F0902AB
            public const int remoteplayback_full_down_btn = 2131296939;
            // aapt resource value: 0x7F0902AC
            public const int remoteplayback_full_flow_ly = 2131296940;
            // aapt resource value: 0x7F0902AD
            public const int remoteplayback_full_flow_tv = 2131296941;
            // aapt resource value: 0x7F0902AE
            public const int remoteplayback_full_operate_bar = 2131296942;
            // aapt resource value: 0x7F0902AF
            public const int remoteplayback_full_play_btn = 2131296943;
            // aapt resource value: 0x7F0902B0
            public const int remoteplayback_full_previously_btn = 2131296944;
            // aapt resource value: 0x7F0902B1
            public const int remoteplayback_full_rate_tv = 2131296945;
            // aapt resource value: 0x7F0902B2
            public const int remoteplayback_full_sound_btn = 2131296946;
            // aapt resource value: 0x7F0902B3
            public const int remoteplayback_full_video_btn = 2131296947;
            // aapt resource value: 0x7F0902B4
            public const int remoteplayback_full_video_container = 2131296948;
            // aapt resource value: 0x7F0902B5
            public const int remoteplayback_full_video_start_btn = 2131296949;
            // aapt resource value: 0x7F0902B6
            public const int remoteplayback_loading_iv = 2131296950;
            // aapt resource value: 0x7F0902B7
            public const int remoteplayback_loading_ly = 2131296951;
            // aapt resource value: 0x7F0902B8
            public const int remoteplayback_loading_pb_ly = 2131296952;
            // aapt resource value: 0x7F0902B9
            public const int remoteplayback_loading_play_btn = 2131296953;
            // aapt resource value: 0x7F0902BA
            public const int remoteplayback_loading_tv = 2131296954;
            // aapt resource value: 0x7F0902BB
            public const int remoteplayback_operate_bar = 2131296955;
            // aapt resource value: 0x7F0902BC
            public const int remoteplayback_page_ly = 2131296956;
            // aapt resource value: 0x7F0902BD
            public const int remoteplayback_play_btn = 2131296957;
            // aapt resource value: 0x7F0902BE
            public const int remoteplayback_play_rl = 2131296958;
            // aapt resource value: 0x7F0902BF
            public const int remoteplayback_previously_btn = 2131296959;
            // aapt resource value: 0x7F0902C2
            public const int remoteplayback_progressbar = 2131296962;
            // aapt resource value: 0x7F0902C0
            public const int remoteplayback_progress_ly = 2131296960;
            // aapt resource value: 0x7F0902C1
            public const int remoteplayback_progress_seekbar = 2131296961;
            // aapt resource value: 0x7F0902C3
            public const int remoteplayback_ratio_tv = 2131296963;
            // aapt resource value: 0x7F0902C4
            public const int remoteplayback_record_iv = 2131296964;
            // aapt resource value: 0x7F0902C5
            public const int remoteplayback_record_ly = 2131296965;
            // aapt resource value: 0x7F0902C6
            public const int remoteplayback_record_tv = 2131296966;
            // aapt resource value: 0x7F0902C7
            public const int remoteplayback_replay_btn = 2131296967;
            // aapt resource value: 0x7F0902C8
            public const int remoteplayback_small_previously_btn = 2131296968;
            // aapt resource value: 0x7F0902C9
            public const int remoteplayback_small_video_btn = 2131296969;
            // aapt resource value: 0x7F0902CA
            public const int remoteplayback_small_video_container = 2131296970;
            // aapt resource value: 0x7F0902CB
            public const int remoteplayback_small_video_start_btn = 2131296971;
            // aapt resource value: 0x7F0902CC
            public const int remoteplayback_sound_btn = 2131296972;
            // aapt resource value: 0x7F0902CD
            public const int remoteplayback_sv = 2131296973;
            // aapt resource value: 0x7F0902CF
            public const int remoteplayback_timebar = 2131296975;
            // aapt resource value: 0x7F0902D0
            public const int remoteplayback_timebar_rl = 2131296976;
            // aapt resource value: 0x7F0902CE
            public const int remoteplayback_time_tv = 2131296974;
            // aapt resource value: 0x7F0902D1
            public const int remoteplayback_tip_tv = 2131296977;
            // aapt resource value: 0x7F0902D2
            public const int remoteplayback_video_btn = 2131296978;
            // aapt resource value: 0x7F0902D3
            public const int remoteplayback_video_container = 2131296979;
            // aapt resource value: 0x7F0902D4
            public const int remoteplayback_video_start_btn = 2131296980;
            // aapt resource value: 0x7F090297
            public const int remoteVideo = 2131296919;
            // aapt resource value: 0x7F090298
            public const int remote_list_page = 2131296920;
            // aapt resource value: 0x7F090299
            public const int remote_loading_buffer_tv = 2131296921;
            // aapt resource value: 0x7F09029A
            public const int remote_loading_iv = 2131296922;
            // aapt resource value: 0x7F09029B
            public const int remote_playback_area = 2131296923;
            // aapt resource value: 0x7F09029C
            public const int remote_playback_capture_btn = 2131296924;
            // aapt resource value: 0x7F09029D
            public const int remote_playback_download_btn = 2131296925;
            // aapt resource value: 0x7F09029E
            public const int remote_playback_flow_tv = 2131296926;
            // aapt resource value: 0x7F09029F
            public const int remote_playback_pause_btn = 2131296927;
            // aapt resource value: 0x7F0902A0
            public const int remote_playback_sound_btn = 2131296928;
            // aapt resource value: 0x7F0902A1
            public const int remote_playback_video_recording_btn = 2131296929;
            // aapt resource value: 0x7F0902A2
            public const int remote_playback_wnd_sv = 2131296930;
            // aapt resource value: 0x7F0902D5
            public const int render_texture_view = 2131296981;
            // aapt resource value: 0x7F0902D6
            public const int render_texture_view_soft = 2131296982;
            // aapt resource value: 0x7F0902D7
            public const int replay_btn = 2131296983;
            // aapt resource value: 0x7F0902D8
            public const int requestA = 2131296984;
            // aapt resource value: 0x7F0902D9
            public const int requestMasterAudio = 2131296985;
            // aapt resource value: 0x7F0902DA
            public const int requestMasterVideo = 2131296986;
            // aapt resource value: 0x7F0902DB
            public const int requestV = 2131296987;
            // aapt resource value: 0x7F0902DC
            public const int restart_preview = 2131296988;
            // aapt resource value: 0x7F0902DD
            public const int retry_btn = 2131296989;
            // aapt resource value: 0x7F0902DE
            public const int retry_button = 2131296990;
            // aapt resource value: 0x7F0902DF
            public const int return_scan_result = 2131296991;
            // aapt resource value: 0x7F0902E0
            public const int reverseCall = 2131296992;
            
            // aapt resource value: 0x7F0902E1
            public const int right = 2131296993;
            public const int reverseCallInfo = 2131296993;
            // aapt resource value: 0x7F090233
            public const int re_next_area = 2131296819;
            
            // aapt resource value: 0x7F0902E2
            public const int right_icon = 2131296994;
            public const int right = 2131296994;
            
            // aapt resource value: 0x7F0902E3
            public const int right_side = 2131296995;
            public const int right_icon = 2131296995;
            
            // aapt resource value: 0x7F0902E4
            public const int rv_multi_screen = 2131296996;
            public const int right_side = 2131296996;
            
            // aapt resource value: 0x7F0902E5
            public const int rv_topbar = 2131296997;
            public const int rv_multi_screen = 2131296997;
            
            // aapt resource value: 0x7F0902E6
            public const int safe_box_tip = 2131296998;
            public const int rv_topbar = 2131296998;
            
            // aapt resource value: 0x7F0902E7
            public const int sample_text = 2131296999;
            public const int safe_box_tip = 2131296999;
            
            // aapt resource value: 0x7F0902E8
            public const int save_image_matrix = 2131297000;
            public const int sample_text = 2131297000;
            
            // aapt resource value: 0x7F0902E9
            public const int save_non_transition_alpha = 2131297001;
            public const int save_image_matrix = 2131297001;
            
            // aapt resource value: 0x7F0902EA
            public const int save_scale_type = 2131297002;
            public const int save_non_transition_alpha = 2131297002;
            // aapt resource value: 0x7F0902EB
            public const int save_scale_type = 2131297003;
            
            // aapt resource value: 0x7F09000D
            public const int Scale = 2131296269;
            
            // aapt resource value: 0x7F0902EB
            public const int screen = 2131297003;
            // aapt resource value: 0x7F0902EC
            public const int scroll = 2131297004;
            // aapt resource value: 0x7F0902F0
            public const int scrollable = 2131297008;
            public const int screen = 2131297004;
            
            // aapt resource value: 0x7F0902ED
            public const int scrollIndicatorDown = 2131297005;
            // aapt resource value: 0x7F0902EE
            public const int scrollIndicatorUp = 2131297006;
            // aapt resource value: 0x7F0902EF
            public const int scrollView = 2131297007;
            public const int scroll = 2131297005;
            
            // aapt resource value: 0x7F0902F1
            public const int searchAnim = 2131297009;
            public const int scrollable = 2131297009;
            // aapt resource value: 0x7F0902EE
            public const int scrollIndicatorDown = 2131297006;
            // aapt resource value: 0x7F0902EF
            public const int scrollIndicatorUp = 2131297007;
            // aapt resource value: 0x7F0902F0
            public const int scrollView = 2131297008;
            
            // aapt resource value: 0x7F0902F2
            public const int searchBtn = 2131297010;
            public const int searchAnim = 2131297010;
            
            // aapt resource value: 0x7F0902F3
            public const int searchEditTextContainer = 2131297011;
            public const int searchBtn = 2131297011;
            
            // aapt resource value: 0x7F0902F4
            public const int searchFragment = 2131297012;
            public const int searchEditTextContainer = 2131297012;
            
            // aapt resource value: 0x7F0902F5
            public const int search_badge = 2131297013;
            public const int searchFragment = 2131297013;
            
            // aapt resource value: 0x7F0902F6
            public const int search_bar = 2131297014;
            public const int search_badge = 2131297014;
            
            // aapt resource value: 0x7F0902F7
            public const int search_button = 2131297015;
            public const int search_bar = 2131297015;
            
            // aapt resource value: 0x7F0902F8
            public const int search_close_btn = 2131297016;
            public const int search_button = 2131297016;
            
            // aapt resource value: 0x7F0902F9
            public const int search_edit_frame = 2131297017;
            public const int search_close_btn = 2131297017;
            
            // aapt resource value: 0x7F0902FA
            public const int search_go_btn = 2131297018;
            public const int search_edit_frame = 2131297018;
            
            // aapt resource value: 0x7F0902FB
            public const int search_mag_icon = 2131297019;
            public const int search_go_btn = 2131297019;
            
            // aapt resource value: 0x7F0902FC
            public const int search_plate = 2131297020;
            public const int search_mag_icon = 2131297020;
            
            // aapt resource value: 0x7F0902FD
            public const int search_src_text = 2131297021;
            public const int search_plate = 2131297021;
            
            // aapt resource value: 0x7F0902FE
            public const int search_voice_btn = 2131297022;
            public const int search_src_text = 2131297022;
            
            // aapt resource value: 0x7F0902FF
            public const int second = 2131297023;
            public const int search_voice_btn = 2131297023;
            
            // aapt resource value: 0x7F090300
            public const int select_dialog_listview = 2131297024;
            public const int second = 2131297024;
            
            // aapt resource value: 0x7F090301
            public const int sendA = 2131297025;
            public const int select_dialog_listview = 2131297025;
            
            // aapt resource value: 0x7F090302
            public const int sendCustomData = 2131297026;
            public const int sendA = 2131297026;
            
            // aapt resource value: 0x7F090303
            public const int sendV = 2131297027;
            public const int sendCustomData = 2131297027;
            
            // aapt resource value: 0x7F090304
            public const int separate_line = 2131297028;
            public const int sendV = 2131297028;
            
            // aapt resource value: 0x7F090305
            public const int serial_tv = 2131297029;
            public const int separate_line = 2131297029;
            
            // aapt resource value: 0x7F090306
            public const int seriesNumberEt = 2131297030;
            public const int serial_tv = 2131297030;
            // aapt resource value: 0x7F090307
            public const int seriesNumberEt = 2131297031;
            
            // aapt resource value: 0x7F09000A
            public const int SHIFT = 2131296266;
            
            // aapt resource value: 0x7F090307
            public const int shipin7_logo_lyt = 2131297031;
            // aapt resource value: 0x7F090308
            public const int shortcut = 2131297032;
            public const int shipin7_logo_lyt = 2131297032;
            
            // aapt resource value: 0x7F090309
            public const int show = 2131297033;
            public const int shortcut = 2131297033;
            
            // aapt resource value: 0x7F09030A
            public const int showCustom = 2131297034;
            public const int show = 2131297034;
            
            // aapt resource value: 0x7F09030B
            public const int showHome = 2131297035;
            public const int showCustom = 2131297035;
            
            // aapt resource value: 0x7F09030C
            public const int showTitle = 2131297036;
            public const int showHome = 2131297036;
            
            // aapt resource value: 0x7F09030D
            public const int sign_et = 2131297037;
            public const int showTitle = 2131297037;
            
            // aapt resource value: 0x7F09030E
            public const int smallLabel = 2131297038;
            public const int sign_et = 2131297038;
            
            // aapt resource value: 0x7F09030F
            public const int sms_code_et = 2131297039;
            public const int smallLabel = 2131297039;
            
            // aapt resource value: 0x7F090310
            public const int sms_code_lyt = 2131297040;
            public const int sms_code_et = 2131297040;
            
            // aapt resource value: 0x7F090311
            public const int sms_verify_dailog_ly = 2131297041;
            public const int sms_code_lyt = 2131297041;
            
            // aapt resource value: 0x7F090312
            public const int snackbar_action = 2131297042;
            public const int sms_verify_dailog_ly = 2131297042;
            
            // aapt resource value: 0x7F090313
            public const int snackbar_text = 2131297043;
            public const int snackbar_action = 2131297043;
            
            // aapt resource value: 0x7F090314
            public const int snap = 2131297044;
            public const int snackbar_text = 2131297044;
            
            // aapt resource value: 0x7F090315
            public const int snapshot = 2131297045;
            public const int snap = 2131297045;
            
            // aapt resource value: 0x7F090316
            public const int sound_line = 2131297046;
            // aapt resource value: 0x7F090318
            public const int spacer = 2131297048;
            // aapt resource value: 0x7F090319
            public const int split_action_bar = 2131297049;
            // aapt resource value: 0x7F09031A
            public const int spread = 2131297050;
            // aapt resource value: 0x7F09031B
            public const int spread_inside = 2131297051;
            public const int snapshot = 2131297046;
            
            // aapt resource value: 0x7F090317
            public const int sp_server_area = 2131297047;
            public const int sound_line = 2131297047;
            // aapt resource value: 0x7F090319
            public const int spacer = 2131297049;
            // aapt resource value: 0x7F09031A
            public const int split_action_bar = 2131297050;
            // aapt resource value: 0x7F09031B
            public const int spread = 2131297051;
            
            // aapt resource value: 0x7F09031C
            public const int squareColumnItem = 2131297052;
            public const int spread_inside = 2131297052;
            // aapt resource value: 0x7F090318
            public const int sp_server_area = 2131297048;
            
            // aapt resource value: 0x7F09031D
            public const int squareVideo = 2131297053;
            public const int squareColumnItem = 2131297053;
            
            // aapt resource value: 0x7F09031E
            public const int squareVideoList = 2131297054;
            public const int squareVideo = 2131297054;
            
            // aapt resource value: 0x7F09031F
            public const int square_channel = 2131297055;
            public const int squareVideoList = 2131297055;
            
            // aapt resource value: 0x7F090320
            public const int src_atop = 2131297056;
            public const int square_channel = 2131297056;
            
            // aapt resource value: 0x7F090321
            public const int src_in = 2131297057;
            public const int src_atop = 2131297057;
            
            // aapt resource value: 0x7F090322
            public const int src_over = 2131297058;
            public const int src_in = 2131297058;
            
            // aapt resource value: 0x7F090323
            public const int srl_classics_arrow = 2131297059;
            public const int src_over = 2131297059;
            
            // aapt resource value: 0x7F090324
            public const int srl_classics_center = 2131297060;
            public const int srl_classics_arrow = 2131297060;
            
            // aapt resource value: 0x7F090325
            public const int srl_classics_progress = 2131297061;
            public const int srl_classics_center = 2131297061;
            
            // aapt resource value: 0x7F090326
            public const int srl_classics_title = 2131297062;
            public const int srl_classics_progress = 2131297062;
            
            // aapt resource value: 0x7F090327
            public const int srl_classics_update = 2131297063;
            public const int srl_classics_title = 2131297063;
            
            // aapt resource value: 0x7F090328
            public const int standard = 2131297064;
            public const int srl_classics_update = 2131297064;
            
            // aapt resource value: 0x7F090329
            public const int start = 2131297065;
            public const int standard = 2131297065;
            
            // aapt resource value: 0x7F09032A
            public const int startAVMsg = 2131297066;
            public const int start = 2131297066;
            
            // aapt resource value: 0x7F09032B
            public const int startDoorKey = 2131297067;
            public const int startAVMsg = 2131297067;
            
            // aapt resource value: 0x7F09032C
            public const int startLocalRecord = 2131297068;
            public const int startDoorKey = 2131297068;
            
            // aapt resource value: 0x7F09032D
            public const int startReadCard = 2131297069;
            public const int startLocalRecord = 2131297069;
            
            // aapt resource value: 0x7F09032E
            public const int startRecord = 2131297070;
            public const int startReadCard = 2131297070;
            
            // aapt resource value: 0x7F09032F
            public const int startRecordLocalAudio = 2131297071;
            public const int startRecord = 2131297071;
            
            // aapt resource value: 0x7F090330
            public const int startRecordPeerAudio = 2131297072;
            public const int startRecordLocalAudio = 2131297072;
            
            // aapt resource value: 0x7F090331
            public const int startStream = 2131297073;
            public const int startRecordPeerAudio = 2131297073;
            
            // aapt resource value: 0x7F090332
            public const int startWatchDog = 2131297074;
            public const int startStream = 2131297074;
            
            // aapt resource value: 0x7F090333
            public const int start_stop = 2131297075;
            public const int startWatchDog = 2131297075;
            
            // aapt resource value: 0x7F090334
            public const int start_stop_stream = 2131297076;
            public const int start_stop = 2131297076;
            
            // aapt resource value: 0x7F090335
            public const int status = 2131297077;
            public const int start_stop_stream = 2131297077;
            
            // aapt resource value: 0x7F090336
            public const int status_bar_latest_event_content = 2131297078;
            public const int status = 2131297078;
            
            // aapt resource value: 0x7F090337
            public const int stopAVMsg = 2131297079;
            public const int status_bar_latest_event_content = 2131297079;
            
            // aapt resource value: 0x7F090338
            public const int stopDoorKey = 2131297080;
            public const int stopAVMsg = 2131297080;
            
            // aapt resource value: 0x7F090339
            public const int stopLocalRecord = 2131297081;
            public const int stopDoorKey = 2131297081;
            
            // aapt resource value: 0x7F09033A
            public const int stopReadCard = 2131297082;
            public const int stopLocalRecord = 2131297082;
            
            // aapt resource value: 0x7F09033B
            public const int stopRecord = 2131297083;
            public const int stopReadCard = 2131297083;
            
            // aapt resource value: 0x7F09033C
            public const int stopRecordLocalAudio = 2131297084;
            public const int stopRecord = 2131297084;
            
            // aapt resource value: 0x7F09033D
            public const int stopRecordPeerAudio = 2131297085;
            public const int stopRecordLocalAudio = 2131297085;
            
            // aapt resource value: 0x7F09033E
            public const int stopStream = 2131297086;
            public const int stopRecordPeerAudio = 2131297086;
            
            // aapt resource value: 0x7F09033F
            public const int stopWatchDog = 2131297087;
            public const int stopStream = 2131297087;
            
            // aapt resource value: 0x7F090340
            public const int storage_layout = 2131297088;
            public const int stopWatchDog = 2131297088;
            
            // aapt resource value: 0x7F090341
            public const int storage_notice = 2131297089;
            public const int storage_layout = 2131297089;
            // aapt resource value: 0x7F090342
            public const int storage_notice = 2131297090;
            
            // aapt resource value: 0x7F09000B
            public const int STROKE = 2131296267;
            
            // aapt resource value: 0x7F090343
            public const int submenuarrow = 2131297091;
            // aapt resource value: 0x7F090344
            public const int submit = 2131297092;
            public const int submenuarrow = 2131297092;
            
            // aapt resource value: 0x7F090345
            public const int submit_area = 2131297093;
            public const int submit = 2131297093;
            
            // aapt resource value: 0x7F090346
            public const int subtitle = 2131297094;
            // aapt resource value: 0x7F090342
            public const int sub_title_text = 2131297090;
            public const int submit_area = 2131297094;
            
            // aapt resource value: 0x7F090347
            public const int successIcon = 2131297095;
            public const int subtitle = 2131297095;
            // aapt resource value: 0x7F090343
            public const int sub_title_text = 2131297091;
            
            // aapt resource value: 0x7F090348
            public const int surfaceview = 2131297096;
            public const int successIcon = 2131297096;
            // aapt resource value: 0x7F090349
            public const int surfaceview = 2131297097;
            
            // aapt resource value: 0x7F09000C
            public const int SYM = 2131296268;
            
            // aapt resource value: 0x7F090349
            public const int tabMode = 2131297097;
            // aapt resource value: 0x7F09034A
            public const int tab_alarmlist_btn = 2131297098;
            public const int tabMode = 2131297098;
            
            // aapt resource value: 0x7F09034B
            public const int tab_alarmlist_rl = 2131297099;
            public const int tab_alarmlist_btn = 2131297099;
            
            // aapt resource value: 0x7F09034C
            public const int tab_devicedefence_btn = 2131297100;
            public const int tab_alarmlist_rl = 2131297100;
            
            // aapt resource value: 0x7F09034D
            public const int tab_devicedefence_rl = 2131297101;
            public const int tab_devicedefence_btn = 2131297101;
            
            // aapt resource value: 0x7F09034E
            public const int tab_devicepicture_btn = 2131297102;
            public const int tab_devicedefence_rl = 2131297102;
            
            // aapt resource value: 0x7F09034F
            public const int tab_devicepicture_rl = 2131297103;
            public const int tab_devicepicture_btn = 2131297103;
            
            // aapt resource value: 0x7F090350
            public const int tab_devicevideo_btn = 2131297104;
            public const int tab_devicepicture_rl = 2131297104;
            
            // aapt resource value: 0x7F090351
            public const int tab_devicevideo_rl = 2131297105;
            public const int tab_devicevideo_btn = 2131297105;
            
            // aapt resource value: 0x7F090352
            public const int tab_remoteplayback_btn = 2131297106;
            public const int tab_devicevideo_rl = 2131297106;
            
            // aapt resource value: 0x7F090353
            public const int tab_remoteplayback_rl = 2131297107;
            public const int tab_remoteplayback_btn = 2131297107;
            
            // aapt resource value: 0x7F090354
            public const int tab_setdevice_btn = 2131297108;
            public const int tab_remoteplayback_rl = 2131297108;
            
            // aapt resource value: 0x7F090355
            public const int tab_setdevice_rl = 2131297109;
            public const int tab_setdevice_btn = 2131297109;
            
            // aapt resource value: 0x7F090356
            public const int tab_video_talk_btn = 2131297110;
            public const int tab_setdevice_rl = 2131297110;
            
            // aapt resource value: 0x7F090357
            public const int tab_video_talk_rl = 2131297111;
            public const int tab_video_talk_btn = 2131297111;
            
            // aapt resource value: 0x7F090358
            public const int tag_key_position = 2131297112;
            public const int tab_video_talk_rl = 2131297112;
            
            // aapt resource value: 0x7F090359
            public const int talkback_close_btn = 2131297113;
            public const int tag_key_position = 2131297113;
            
            // aapt resource value: 0x7F09035A
            public const int talkback_control_btn = 2131297114;
            public const int talkback_close_btn = 2131297114;
            
            // aapt resource value: 0x7F09035B
            public const int talkback_rv = 2131297115;
            public const int talkback_control_btn = 2131297115;
            
            // aapt resource value: 0x7F09035C
            public const int test = 2131297116;
            public const int talkback_rv = 2131297116;
            
            // aapt resource value: 0x7F09035D
            public const int testWatchDogReboot = 2131297117;
            public const int test = 2131297117;
            
            // aapt resource value: 0x7F09035E
            public const int text = 2131297118;
            public const int testWatchDogReboot = 2131297118;
            
            // aapt resource value: 0x7F09035F
            public const int text1 = 2131297119;
            public const int text = 2131297119;
            
            // aapt resource value: 0x7F090360
            public const int text2 = 2131297120;
            public const int text1 = 2131297120;
            
            // aapt resource value: 0x7F090361
            public const int text3 = 2131297121;
            // aapt resource value: 0x7F09036E
            public const int textinput_counter = 2131297134;
            // aapt resource value: 0x7F09036F
            public const int textinput_error = 2131297135;
            public const int text2 = 2131297121;
            
            // aapt resource value: 0x7F090362
            public const int textSpacerNoButtons = 2131297122;
            public const int text3 = 2131297122;
            
            // aapt resource value: 0x7F090363
            public const int textSpacerNoTitle = 2131297123;
            // aapt resource value: 0x7F09036F
            public const int textinput_counter = 2131297135;
            
            // aapt resource value: 0x7F090370
            public const int textureView_play = 2131297136;
            public const int textinput_error = 2131297136;
            // aapt resource value: 0x7F090363
            public const int textSpacerNoButtons = 2131297123;
            // aapt resource value: 0x7F090364
            public const int textSpacerNoTitle = 2131297124;
            
            // aapt resource value: 0x7F090371
            public const int texture_view_play_window = 2131297137;
            public const int textureView_play = 2131297137;
            // aapt resource value: 0x7F090372
            public const int texture_view_play_window = 2131297138;
            
            // aapt resource value: 0x7F09000E
            public const int TextView01 = 2131296270;
@@ -9355,356 +9358,356 @@
            // aapt resource value: 0x7F09000F
            public const int TextView03 = 2131296271;
            
            // aapt resource value: 0x7F090365
            public const int text_camerano = 2131297125;
            // aapt resource value: 0x7F090364
            public const int text_camera_name = 2131297124;
            // aapt resource value: 0x7F090366
            public const int text_device_ip = 2131297126;
            public const int text_camerano = 2131297126;
            // aapt resource value: 0x7F090365
            public const int text_camera_name = 2131297125;
            
            // aapt resource value: 0x7F090367
            public const int text_input_password_toggle = 2131297127;
            public const int text_device_ip = 2131297127;
            
            // aapt resource value: 0x7F090368
            public const int text_left = 2131297128;
            public const int text_input_password_toggle = 2131297128;
            
            // aapt resource value: 0x7F090369
            public const int text_my = 2131297129;
            public const int text_left = 2131297129;
            
            // aapt resource value: 0x7F09036A
            public const int text_right = 2131297130;
            public const int text_my = 2131297130;
            
            // aapt resource value: 0x7F09036B
            public const int text_serial = 2131297131;
            public const int text_right = 2131297131;
            
            // aapt resource value: 0x7F09036C
            public const int text_share = 2131297132;
            public const int text_serial = 2131297132;
            
            // aapt resource value: 0x7F09036D
            public const int text_title = 2131297133;
            public const int text_share = 2131297133;
            
            // aapt resource value: 0x7F090372
            public const int time = 2131297138;
            // aapt resource value: 0x7F090375
            public const int timeline_image = 2131297141;
            // aapt resource value: 0x7F090376
            public const int timepicker = 2131297142;
            // aapt resource value: 0x7F090377
            public const int timer = 2131297143;
            // aapt resource value: 0x7F09036E
            public const int text_title = 2131297134;
            
            // aapt resource value: 0x7F090373
            public const int time_text = 2131297139;
            public const int time = 2131297139;
            
            // aapt resource value: 0x7F090374
            public const int time_tv = 2131297140;
            // aapt resource value: 0x7F090376
            public const int timeline_image = 2131297142;
            // aapt resource value: 0x7F090377
            public const int timepicker = 2131297143;
            
            // aapt resource value: 0x7F090378
            public const int tip = 2131297144;
            public const int timer = 2131297144;
            // aapt resource value: 0x7F090374
            public const int time_text = 2131297140;
            // aapt resource value: 0x7F090375
            public const int time_tv = 2131297141;
            
            // aapt resource value: 0x7F090379
            public const int title = 2131297145;
            public const int tip = 2131297145;
            
            // aapt resource value: 0x7F09037A
            public const int titleBar = 2131297146;
            public const int title = 2131297146;
            
            // aapt resource value: 0x7F09037B
            public const int titleDividerNoCustom = 2131297147;
            public const int titleBar = 2131297147;
            
            // aapt resource value: 0x7F09037C
            public const int title_bar = 2131297148;
            public const int titleDividerNoCustom = 2131297148;
            
            // aapt resource value: 0x7F09037D
            public const int title_bar_landscape = 2131297149;
            public const int title_bar = 2131297149;
            
            // aapt resource value: 0x7F09037E
            public const int title_bar_portrait = 2131297150;
            public const int title_bar_landscape = 2131297150;
            
            // aapt resource value: 0x7F09037F
            public const int title_layout = 2131297151;
            public const int title_bar_portrait = 2131297151;
            
            // aapt resource value: 0x7F090380
            public const int title_left = 2131297152;
            public const int title_layout = 2131297152;
            
            // aapt resource value: 0x7F090381
            public const int title_right = 2131297153;
            public const int title_left = 2131297153;
            
            // aapt resource value: 0x7F090382
            public const int title_template = 2131297154;
            public const int title_right = 2131297154;
            
            // aapt resource value: 0x7F090383
            public const int title_text = 2131297155;
            public const int title_template = 2131297155;
            
            // aapt resource value: 0x7F090384
            public const int title_text_layout = 2131297156;
            public const int title_text = 2131297156;
            
            // aapt resource value: 0x7F090385
            public const int top = 2131297157;
            // aapt resource value: 0x7F090388
            public const int topbar = 2131297160;
            // aapt resource value: 0x7F090389
            public const int topbar_right_img = 2131297161;
            public const int title_text_layout = 2131297157;
            
            // aapt resource value: 0x7F090386
            public const int topPanel = 2131297158;
            public const int top = 2131297158;
            
            // aapt resource value: 0x7F090387
            public const int topTip = 2131297159;
            // aapt resource value: 0x7F090389
            public const int topbar = 2131297161;
            
            // aapt resource value: 0x7F09038A
            public const int touch_loading_buffer_tv = 2131297162;
            public const int topbar_right_img = 2131297162;
            // aapt resource value: 0x7F090387
            public const int topPanel = 2131297159;
            // aapt resource value: 0x7F090388
            public const int topTip = 2131297160;
            
            // aapt resource value: 0x7F09038B
            public const int touch_outside = 2131297163;
            public const int touch_loading_buffer_tv = 2131297163;
            
            // aapt resource value: 0x7F09038C
            public const int touch_progress_layout = 2131297164;
            public const int touch_outside = 2131297164;
            
            // aapt resource value: 0x7F09038D
            public const int transition_current_scene = 2131297165;
            public const int touch_progress_layout = 2131297165;
            
            // aapt resource value: 0x7F09038E
            public const int transition_layout_save = 2131297166;
            public const int transition_current_scene = 2131297166;
            
            // aapt resource value: 0x7F09038F
            public const int transition_position = 2131297167;
            public const int transition_layout_save = 2131297167;
            
            // aapt resource value: 0x7F090390
            public const int transition_scene_layoutid_cache = 2131297168;
            public const int transition_position = 2131297168;
            
            // aapt resource value: 0x7F090391
            public const int transition_transform = 2131297169;
            public const int transition_scene_layoutid_cache = 2131297169;
            // aapt resource value: 0x7F090392
            public const int transition_transform = 2131297170;
            
            // aapt resource value: 0x7F090010
            public const int Translate = 2131296272;
            
            // aapt resource value: 0x7F090392
            public const int tvDeviceWifiConfigTip = 2131297170;
            // aapt resource value: 0x7F090393
            public const int tvIntroduce1 = 2131297171;
            public const int tvDeviceWifiConfigTip = 2131297171;
            
            // aapt resource value: 0x7F090394
            public const int tvIntroduce2 = 2131297172;
            public const int tvIntroduce1 = 2131297172;
            
            // aapt resource value: 0x7F090395
            public const int tvMore = 2131297173;
            public const int tvIntroduce2 = 2131297173;
            
            // aapt resource value: 0x7F090396
            public const int tvSSID = 2131297174;
            public const int tvMore = 2131297174;
            
            // aapt resource value: 0x7F090397
            public const int tvStatus = 2131297175;
            public const int tvSSID = 2131297175;
            
            // aapt resource value: 0x7F090398
            public const int tvSuccess = 2131297176;
            public const int tvStatus = 2131297176;
            
            // aapt resource value: 0x7F090399
            public const int tvTip = 2131297177;
            public const int tvSuccess = 2131297177;
            
            // aapt resource value: 0x7F09039A
            public const int tvTitle = 2131297178;
            public const int tvTip = 2131297178;
            
            // aapt resource value: 0x7F09039B
            public const int tv_adding_to_account = 2131297179;
            public const int tvTitle = 2131297179;
            
            // aapt resource value: 0x7F09039C
            public const int tv_camera_name = 2131297180;
            public const int tv_adding_to_account = 2131297180;
            
            // aapt resource value: 0x7F09039D
            public const int tv_connecting_to_device = 2131297181;
            public const int tv_camera_name = 2131297181;
            
            // aapt resource value: 0x7F09039E
            public const int tv_content = 2131297182;
            public const int tv_connecting_to_device = 2131297182;
            
            // aapt resource value: 0x7F09039F
            public const int tv_decode_type = 2131297183;
            public const int tv_content = 2131297183;
            
            // aapt resource value: 0x7F0903A0
            public const int tv_ezviz_account_login = 2131297184;
            public const int tv_decode_type = 2131297184;
            
            // aapt resource value: 0x7F0903A1
            public const int tv_file_path = 2131297185;
            public const int tv_ezviz_account_login = 2131297185;
            
            // aapt resource value: 0x7F0903A2
            public const int tv_ok = 2131297186;
            public const int tv_file_path = 2131297186;
            
            // aapt resource value: 0x7F0903A3
            public const int tv_play_error = 2131297187;
            public const int tv_ok = 2131297187;
            
            // aapt resource value: 0x7F0903A4
            public const int tv_pwd = 2131297188;
            public const int tv_play_error = 2131297188;
            
            // aapt resource value: 0x7F0903A5
            public const int tv_registering_to_platform = 2131297189;
            public const int tv_pwd = 2131297189;
            
            // aapt resource value: 0x7F0903A6
            public const int tv_sdk_ver = 2131297190;
            public const int tv_registering_to_platform = 2131297190;
            
            // aapt resource value: 0x7F0903A7
            public const int tv_ssid = 2131297191;
            public const int tv_sdk_ver = 2131297191;
            
            // aapt resource value: 0x7F0903A8
            public const int tv_stream_type = 2131297192;
            public const int tv_ssid = 2131297192;
            
            // aapt resource value: 0x7F0903A9
            public const int tv_tip = 2131297193;
            public const int tv_stream_type = 2131297193;
            
            // aapt resource value: 0x7F0903AA
            public const int tv_title = 2131297194;
            public const int tv_tip = 2131297194;
            
            // aapt resource value: 0x7F0903AB
            public const int tv_zxing_back = 2131297195;
            public const int tv_title = 2131297195;
            
            // aapt resource value: 0x7F0903AC
            public const int tv_zxing_flash = 2131297196;
            public const int tv_zxing_back = 2131297196;
            
            // aapt resource value: 0x7F0903AD
            public const int tv_zxing_scan = 2131297197;
            public const int tv_zxing_flash = 2131297197;
            
            // aapt resource value: 0x7F0903AE
            public const int txtResult = 2131297198;
            public const int tv_zxing_scan = 2131297198;
            
            // aapt resource value: 0x7F0903AF
            public const int unbind_button = 2131297199;
            public const int txtResult = 2131297199;
            
            // aapt resource value: 0x7F0903B0
            public const int uniform = 2131297200;
            public const int unbind_button = 2131297200;
            
            // aapt resource value: 0x7F0903B1
            public const int up = 2131297201;
            public const int uniform = 2131297201;
            
            // aapt resource value: 0x7F0903B2
            public const int useLogo = 2131297202;
            public const int up = 2131297202;
            
            // aapt resource value: 0x7F0903B3
            public const int userid_et = 2131297203;
            public const int useLogo = 2131297203;
            
            // aapt resource value: 0x7F0903B4
            public const int userid_lyt = 2131297204;
            public const int userid_et = 2131297204;
            
            // aapt resource value: 0x7F0903B5
            public const int uvc = 2131297205;
            public const int userid_lyt = 2131297205;
            
            // aapt resource value: 0x7F0903B6
            public const int verifycodeEditTextContainer = 2131297206;
            public const int uvc = 2131297206;
            
            // aapt resource value: 0x7F0903B7
            public const int verifycodeEt = 2131297207;
            public const int verifycodeEditTextContainer = 2131297207;
            
            // aapt resource value: 0x7F0903B8
            public const int version = 2131297208;
            public const int verifycodeEt = 2131297208;
            
            // aapt resource value: 0x7F0903B9
            public const int version_arrow = 2131297209;
            public const int version = 2131297209;
            
            // aapt resource value: 0x7F0903BA
            public const int version_layout = 2131297210;
            public const int version_arrow = 2131297210;
            
            // aapt resource value: 0x7F0903BB
            public const int version_newest = 2131297211;
            public const int version_layout = 2131297211;
            
            // aapt resource value: 0x7F0903BC
            public const int version_notice = 2131297212;
            public const int version_newest = 2131297212;
            
            // aapt resource value: 0x7F0903BD
            public const int vertical = 2131297213;
            public const int version_notice = 2131297213;
            
            // aapt resource value: 0x7F0903BE
            public const int vg_child_watch_video_talk_camera = 2131297214;
            public const int vertical = 2131297214;
            
            // aapt resource value: 0x7F0903BF
            public const int vg_child_watch_video_talk_player = 2131297215;
            public const int vg_child_watch_video_talk_camera = 2131297215;
            
            // aapt resource value: 0x7F0903C0
            public const int vg_child_watch_video_talk_video_container = 2131297216;
            public const int vg_child_watch_video_talk_player = 2131297216;
            
            // aapt resource value: 0x7F0903C1
            public const int vg_error_tips = 2131297217;
            public const int vg_child_watch_video_talk_video_container = 2131297217;
            
            // aapt resource value: 0x7F0903C2
            public const int vg_login_anim = 2131297218;
            public const int vg_error_tips = 2131297218;
            
            // aapt resource value: 0x7F0903C3
            public const int vg_notification_operation_tool_container = 2131297219;
            public const int vg_login_anim = 2131297219;
            
            // aapt resource value: 0x7F0903C4
            public const int vg_play_info = 2131297220;
            public const int vg_notification_operation_tool_container = 2131297220;
            
            // aapt resource value: 0x7F0903C5
            public const int vg_play_window = 2131297221;
            public const int vg_play_info = 2131297221;
            
            // aapt resource value: 0x7F0903C6
            public const int videoBackImg = 2131297222;
            public const int vg_play_window = 2131297222;
            
            // aapt resource value: 0x7F0903C7
            public const int videoParent = 2131297223;
            public const int videoBackImg = 2131297223;
            
            // aapt resource value: 0x7F0903C8
            public const int videoTitle = 2131297224;
            public const int videoParent = 2131297224;
            
            // aapt resource value: 0x7F0903C9
            public const int video_button = 2131297225;
            public const int videoTitle = 2131297225;
            
            // aapt resource value: 0x7F0903CA
            public const int video_talk_et_room_id = 2131297226;
            // aapt resource value: 0x7F0903CF
            public const int viewedCount = 2131297231;
            // aapt resource value: 0x7F0903D0
            public const int viewfinder_view = 2131297232;
            public const int video_button = 2131297226;
            
            // aapt resource value: 0x7F0903CB
            public const int viewSort = 2131297227;
            public const int video_talk_et_room_id = 2131297227;
            
            // aapt resource value: 0x7F0903CC
            public const int view_child_watch_video_talk_camera = 2131297228;
            // aapt resource value: 0x7F0903CD
            public const int view_child_watch_video_talk_player = 2131297229;
            // aapt resource value: 0x7F0903CE
            public const int view_offset_helper = 2131297230;
            // aapt resource value: 0x7F0903D0
            public const int viewedCount = 2131297232;
            
            // aapt resource value: 0x7F0903D1
            public const int visible = 2131297233;
            public const int viewfinder_view = 2131297233;
            // aapt resource value: 0x7F0903CC
            public const int viewSort = 2131297228;
            // aapt resource value: 0x7F0903CD
            public const int view_child_watch_video_talk_camera = 2131297229;
            // aapt resource value: 0x7F0903CE
            public const int view_child_watch_video_talk_player = 2131297230;
            // aapt resource value: 0x7F0903CF
            public const int view_offset_helper = 2131297231;
            
            // aapt resource value: 0x7F0903D2
            public const int wait_bar = 2131297234;
            public const int visible = 2131297234;
            
            // aapt resource value: 0x7F0903D3
            public const int wait_tv = 2131297235;
            public const int wait_bar = 2131297235;
            
            // aapt resource value: 0x7F0903D4
            public const int watting_pb = 2131297236;
            // aapt resource value: 0x7F0903D6
            public const int webview = 2131297238;
            public const int wait_tv = 2131297236;
            
            // aapt resource value: 0x7F0903D5
            public const int web_login_btn = 2131297237;
            public const int watting_pb = 2131297237;
            
            // aapt resource value: 0x7F0903D7
            public const int wifi_tv = 2131297239;
            public const int webview = 2131297239;
            // aapt resource value: 0x7F0903D6
            public const int web_login_btn = 2131297238;
            
            // aapt resource value: 0x7F0903D8
            public const int withText = 2131297240;
            public const int wifi_tv = 2131297240;
            
            // aapt resource value: 0x7F0903D9
            public const int wrap = 2131297241;
            public const int withText = 2131297241;
            
            // aapt resource value: 0x7F0903DA
            public const int wrap_content = 2131297242;
            public const int wrap = 2131297242;
            
            // aapt resource value: 0x7F0903DB
            public const int year = 2131297243;
            public const int wrap_content = 2131297243;
            // aapt resource value: 0x7F0903DC
            public const int year = 2131297244;
            
            static Id()
            {
@@ -12271,227 +12274,233 @@
            // aapt resource value: 0x7F0F0256
            public const int talk = 2131690070;
            
            // aapt resource value: 0x7F0F0259
            public const int talking = 2131690073;
            // aapt resource value: 0x7F0F0257
            public const int talking = 2131690071;
            public const int talk_open_failed = 2131690071;
            
            // aapt resource value: 0x7F0F0258
            public const int tip_heard_voice = 2131690072;
            // aapt resource value: 0x7F0F0259
            public const int tip_login_out = 2131690073;
            public const int talk_open_success = 2131690072;
            
            // aapt resource value: 0x7F0F025A
            public const int tip_of_added_by_yourself_and_online = 2131690074;
            public const int tip_heard_voice = 2131690074;
            
            // aapt resource value: 0x7F0F025B
            public const int tip_of_bad_net = 2131690075;
            public const int tip_login_out = 2131690075;
            
            // aapt resource value: 0x7F0F025C
            public const int tip_playback_again = 2131690076;
            public const int tip_of_added_by_yourself_and_online = 2131690076;
            
            // aapt resource value: 0x7F0F025D
            public const int tip_specified_device = 2131690077;
            public const int tip_of_bad_net = 2131690077;
            
            // aapt resource value: 0x7F0F025E
            public const int title_activate_device = 2131690078;
            public const int tip_playback_again = 2131690078;
            
            // aapt resource value: 0x7F0F025F
            public const int title_activate_device_fail = 2131690079;
            public const int tip_specified_device = 2131690079;
            
            // aapt resource value: 0x7F0F0260
            public const int title_activity_connect_device_wifi = 2131690080;
            public const int title_activate_device = 2131690080;
            
            // aapt resource value: 0x7F0F0261
            public const int title_activity_ezupgrade_device = 2131690081;
            public const int title_activate_device_fail = 2131690081;
            
            // aapt resource value: 0x7F0F0262
            public const int today = 2131690082;
            public const int title_activity_connect_device_wifi = 2131690082;
            
            // aapt resource value: 0x7F0F0263
            public const int touch_fingerprint_sensor_hint = 2131690083;
            public const int title_activity_ezupgrade_device = 2131690083;
            
            // aapt resource value: 0x7F0F0264
            public const int touch_to_load = 2131690084;
            public const int today = 2131690084;
            
            // aapt resource value: 0x7F0F0265
            public const int try_again = 2131690085;
            public const int touch_fingerprint_sensor_hint = 2131690085;
            
            // aapt resource value: 0x7F0F0266
            public const int ui_call_demo_txt = 2131690086;
            public const int touch_to_load = 2131690086;
            
            // aapt resource value: 0x7F0F0267
            public const int unable_identify_two_dimensional_code_tip = 2131690087;
            public const int try_again = 2131690087;
            
            // aapt resource value: 0x7F0F0268
            public const int unbind_to_bind = 2131690088;
            public const int ui_call_demo_txt = 2131690088;
            
            // aapt resource value: 0x7F0F0269
            public const int unknow_ssid = 2131690089;
            public const int unable_identify_two_dimensional_code_tip = 2131690089;
            
            // aapt resource value: 0x7F0F026A
            public const int unlock_success = 2131690090;
            public const int unbind_to_bind = 2131690090;
            
            // aapt resource value: 0x7F0F026B
            public const int unnamed = 2131690091;
            public const int unknow_ssid = 2131690091;
            
            // aapt resource value: 0x7F0F026C
            public const int update_exit = 2131690092;
            public const int unlock_success = 2131690092;
            
            // aapt resource value: 0x7F0F026D
            public const int upgrade = 2131690093;
            public const int unnamed = 2131690093;
            
            // aapt resource value: 0x7F0F026E
            public const int upgrade_fail = 2131690094;
            public const int update_exit = 2131690094;
            
            // aapt resource value: 0x7F0F026F
            public const int upgrade_progress = 2131690095;
            public const int upgrade = 2131690095;
            
            // aapt resource value: 0x7F0F0270
            public const int upgrade_success = 2131690096;
            public const int upgrade_fail = 2131690096;
            
            // aapt resource value: 0x7F0F0271
            public const int upgrade_success_progress = 2131690097;
            public const int upgrade_progress = 2131690097;
            
            // aapt resource value: 0x7F0F0272
            public const int user_name_txt = 2131690098;
            public const int upgrade_success = 2131690098;
            
            // aapt resource value: 0x7F0F0273
            public const int verify_code_error = 2131690099;
            public const int upgrade_success_progress = 2131690099;
            
            // aapt resource value: 0x7F0F0274
            public const int verify_sms_code_fail = 2131690100;
            public const int user_name_txt = 2131690100;
            
            // aapt resource value: 0x7F0F0275
            public const int verify_sms_code_success = 2131690101;
            public const int verify_code_error = 2131690101;
            
            // aapt resource value: 0x7F0F0276
            public const int version_newest = 2131690102;
            public const int verify_sms_code_fail = 2131690102;
            
            // aapt resource value: 0x7F0F0277
            public const int video_answer = 2131690103;
            public const int verify_sms_code_success = 2131690103;
            
            // aapt resource value: 0x7F0F0278
            public const int video_box = 2131690104;
            public const int version_newest = 2131690104;
            
            // aapt resource value: 0x7F0F0279
            public const int video_confirm = 2131690105;
            public const int video_answer = 2131690105;
            
            // aapt resource value: 0x7F0F027A
            public const int video_device = 2131690106;
            public const int video_box = 2131690106;
            
            // aapt resource value: 0x7F0F027B
            public const int video_fail = 2131690107;
            public const int video_confirm = 2131690107;
            
            // aapt resource value: 0x7F0F027C
            public const int video_hang_up = 2131690108;
            public const int video_device = 2131690108;
            
            // aapt resource value: 0x7F0F027D
            public const int video_icon = 2131690109;
            public const int video_fail = 2131690109;
            
            // aapt resource value: 0x7F0F027E
            public const int video_not_answer = 2131690110;
            public const int video_hang_up = 2131690110;
            
            // aapt resource value: 0x7F0F027F
            public const int video_screenshot = 2131690111;
            public const int video_icon = 2131690111;
            
            // aapt resource value: 0x7F0F0280
            public const int video_square = 2131690112;
            public const int video_not_answer = 2131690112;
            
            // aapt resource value: 0x7F0F0281
            public const int video_success = 2131690113;
            public const int video_screenshot = 2131690113;
            
            // aapt resource value: 0x7F0F0282
            public const int video_talk_call_cancel = 2131690114;
            public const int video_square = 2131690114;
            
            // aapt resource value: 0x7F0F0283
            public const int video_talk_call_is_accepted = 2131690115;
            public const int video_success = 2131690115;
            
            // aapt resource value: 0x7F0F0284
            public const int video_talk_is_playing = 2131690116;
            public const int video_talk_call_cancel = 2131690116;
            
            // aapt resource value: 0x7F0F0285
            public const int video_talk_sdk_toast_hang_up = 2131690117;
            public const int video_talk_call_is_accepted = 2131690117;
            
            // aapt resource value: 0x7F0F0286
            public const int video_talk_sdk_toast_nobody = 2131690118;
            public const int video_talk_is_playing = 2131690118;
            
            // aapt resource value: 0x7F0F0287
            public const int video_talk_signal_weak = 2131690119;
            public const int video_talk_sdk_toast_hang_up = 2131690119;
            
            // aapt resource value: 0x7F0F0288
            public const int video_talk_watch_is_busy = 2131690120;
            public const int video_talk_sdk_toast_nobody = 2131690120;
            
            // aapt resource value: 0x7F0F0289
            public const int video_talk_watch_temperature_high_hang = 2131690121;
            public const int video_talk_signal_weak = 2131690121;
            
            // aapt resource value: 0x7F0F028A
            public const int video_talk_watch_temperature_high_hint = 2131690122;
            public const int video_talk_watch_is_busy = 2131690122;
            
            // aapt resource value: 0x7F0F028B
            public const int video_talk_watch_temperature_high_reject = 2131690123;
            public const int video_talk_watch_temperature_high_hang = 2131690123;
            
            // aapt resource value: 0x7F0F028C
            public const int video_talk_watch_temperature_high_warn = 2131690124;
            public const int video_talk_watch_temperature_high_hint = 2131690124;
            
            // aapt resource value: 0x7F0F028D
            public const int video_tip = 2131690125;
            public const int video_talk_watch_temperature_high_reject = 2131690125;
            
            // aapt resource value: 0x7F0F028E
            public const int video_unlock = 2131690126;
            public const int video_talk_watch_temperature_high_warn = 2131690126;
            
            // aapt resource value: 0x7F0F028F
            public const int wait = 2131690127;
            public const int video_tip = 2131690127;
            
            // aapt resource value: 0x7F0F0290
            public const int web_login_button_txt = 2131690128;
            public const int video_unlock = 2131690128;
            
            // aapt resource value: 0x7F0F0291
            public const int wechat_interconnect = 2131690129;
            public const int wait = 2131690129;
            
            // aapt resource value: 0x7F0F0292
            public const int wifi_connected = 2131690130;
            public const int web_login_button_txt = 2131690130;
            
            // aapt resource value: 0x7F0F0293
            public const int wifi_connection_finish_need_refresh = 2131690131;
            public const int wechat_interconnect = 2131690131;
            
            // aapt resource value: 0x7F0F0294
            public const int wifi_set = 2131690132;
            public const int wifi_connected = 2131690132;
            
            // aapt resource value: 0x7F0F0295
            public const int wifi_setting = 2131690133;
            public const int wifi_connection_finish_need_refresh = 2131690133;
            
            // aapt resource value: 0x7F0F0296
            public const int wired_connection = 2131690134;
            // aapt resource value: 0x7F0F0298
            public const int xlistview_footer_hint_normal = 2131690136;
            public const int wifi_set = 2131690134;
            
            // aapt resource value: 0x7F0F0297
            public const int xlistview_footer_hint_no_more_device = 2131690135;
            public const int wifi_setting = 2131690135;
            
            // aapt resource value: 0x7F0F0299
            public const int xlistview_footer_hint_ready = 2131690137;
            // aapt resource value: 0x7F0F0298
            public const int wired_connection = 2131690136;
            
            // aapt resource value: 0x7F0F029A
            public const int xlistview_footer_no_more = 2131690138;
            public const int xlistview_footer_hint_normal = 2131690138;
            // aapt resource value: 0x7F0F0299
            public const int xlistview_footer_hint_no_more_device = 2131690137;
            
            // aapt resource value: 0x7F0F029B
            public const int xlistview_footer_no_more_msg = 2131690139;
            public const int xlistview_footer_hint_ready = 2131690139;
            
            // aapt resource value: 0x7F0F029C
            public const int xlistview_header_hint_loading = 2131690140;
            public const int xlistview_footer_no_more = 2131690140;
            
            // aapt resource value: 0x7F0F029D
            public const int xlistview_header_hint_more = 2131690141;
            public const int xlistview_footer_no_more_msg = 2131690141;
            
            // aapt resource value: 0x7F0F029E
            public const int xlistview_header_hint_normal = 2131690142;
            public const int xlistview_header_hint_loading = 2131690142;
            
            // aapt resource value: 0x7F0F029F
            public const int xlistview_header_hint_ready = 2131690143;
            public const int xlistview_header_hint_more = 2131690143;
            
            // aapt resource value: 0x7F0F02A0
            public const int xlistview_header_last_time = 2131690144;
            public const int xlistview_header_hint_normal = 2131690144;
            // aapt resource value: 0x7F0F02A1
            public const int xlistview_header_hint_ready = 2131690145;
            // aapt resource value: 0x7F0F02A2
            public const int xlistview_header_last_time = 2131690146;
            
            static String()
            {
HDL-ON_Android/Resources/layout/activity_video_phone.xml
@@ -30,7 +30,8 @@
            android:text="@string/video_device"/>
    </RelativeLayout>
    <LinearLayout
    <FrameLayout
        android:id="@+id/live_window"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="210"
@@ -48,7 +49,7 @@
            android:layout_width="match_parent"
            android:layout_height="match_parent"/>
    </LinearLayout>
    </FrameLayout>
    <LinearLayout
        android:layout_width="match_parent"
HDL-ON_Android/Resources/values-zh/strings.xml
@@ -18,4 +18,6 @@
    <string name="on_the_phone">通话中...</string>
    <string name="unlock_success">开锁成功</string>
    <string name="screenshot_success">截图成功</string>
    <string name="talk_open_success">对讲开始</string>
    <string name="talk_open_failed">对讲打开失败</string>
</resources>
HDL-ON_Android/Resources/values/strings.xml
@@ -17,5 +17,7 @@
        <string name="on_the_phone">On the phone</string>
        <string name="unlock_success">Unlock successfully</string>
        <string name="screenshot_success">Screenshot successfully</string>
    <string name="talk_open_success">Intercom Begin</string>
    <string name="talk_open_failed">Intercom failed to open</string>
</resources>
HDL-ON_Android/libs/armeabi-v7a/libGMCrypto.so
Binary files differ
HDL-ON_Android/libs/armeabi-v7a/libLCOpenApiClient.so
Binary files differ
HDL-ON_Android/libs/armeabi-v7a/libLechangeSDK.so
Binary files differ
HDL-ON_Android/libs/armeabi-v7a/libSmartConfig.so
Binary files differ
HDL-ON_Android/libs/armeabi-v7a/libSoftAPConfig.so
Binary files differ
HDL-ON_Android/libs/armeabi-v7a/libconfigsdk.so
Binary files differ
HDL-ON_Android/libs/armeabi-v7a/libgnustl_shared.so
Binary files differ
HDL-ON_Android/libs/armeabi-v7a/libjninetsdk.so
Binary files differ
HDL-ON_Android/libs/armeabi-v7a/libnetsdk.so
Binary files differ
HDL-ON_iOS/HDL-ON_iOS.csproj
@@ -92,12 +92,15 @@
        <Reference Include="EZSDK.IOS">
          <HintPath>..\DLL\IOS\EZSDK.IOS.dll</HintPath>
        </Reference>
        <Reference Include="Shared.IOS.ESVideoOnSDK">
          <HintPath>..\DLL\FL\iOS\Shared.IOS.ESVideoOnSDK.dll</HintPath>
        </Reference>
        <Reference Include="Shared.IOS">
          <HintPath>..\DLL\Shared.IOS.dll</HintPath>
        </Reference>
        <Reference Include="Shared.IOS.LCVideoOnSDK">
          <HintPath>..\..\LCOpenSDK_iOS\iOS\Xamarin\Shared.IOS.LCVideoOnSDK\Shared.IOS.LCVideoOnSDK\bin\Release\Shared.IOS.LCVideoOnSDK.dll</HintPath>
        </Reference>
        <Reference Include="Shared.IOS.ESVideoOnSDK">
          <HintPath>..\DLL\FL\iOS\Shared.IOS.ESVideoOnSDK.dll</HintPath>
        </Reference>
    </ItemGroup>
    <ItemGroup>
      <PackageReference Include="Newtonsoft.Json">
HDL_APP_Project.sln
@@ -9,6 +9,8 @@
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Blufi", "HdlBluWi\Blufi.csproj", "{2DDF4C3C-6998-432E-9F43-6786D82F0630}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Shared.IOS.LCVideoOnSDK", "..\LCOpenSDK_iOS\iOS\Xamarin\Shared.IOS.LCVideoOnSDK\Shared.IOS.LCVideoOnSDK\Shared.IOS.LCVideoOnSDK.csproj", "{D78A9ED7-34A3-416F-B645-7475E2E2DE93}"
EndProject
Global
    GlobalSection(SolutionConfigurationPlatforms) = preSolution
        Debug|Any CPU = Debug|Any CPU
@@ -55,5 +57,17 @@
        {2DDF4C3C-6998-432E-9F43-6786D82F0630}.Debug|iPhone.Build.0 = Debug|Any CPU
        {2DDF4C3C-6998-432E-9F43-6786D82F0630}.Release|iPhone.ActiveCfg = Release|Any CPU
        {2DDF4C3C-6998-432E-9F43-6786D82F0630}.Release|iPhone.Build.0 = Release|Any CPU
        {D78A9ED7-34A3-416F-B645-7475E2E2DE93}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
        {D78A9ED7-34A3-416F-B645-7475E2E2DE93}.Debug|Any CPU.Build.0 = Debug|Any CPU
        {D78A9ED7-34A3-416F-B645-7475E2E2DE93}.Release|Any CPU.ActiveCfg = Release|Any CPU
        {D78A9ED7-34A3-416F-B645-7475E2E2DE93}.Release|Any CPU.Build.0 = Release|Any CPU
        {D78A9ED7-34A3-416F-B645-7475E2E2DE93}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
        {D78A9ED7-34A3-416F-B645-7475E2E2DE93}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
        {D78A9ED7-34A3-416F-B645-7475E2E2DE93}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
        {D78A9ED7-34A3-416F-B645-7475E2E2DE93}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
        {D78A9ED7-34A3-416F-B645-7475E2E2DE93}.Debug|iPhone.ActiveCfg = Debug|Any CPU
        {D78A9ED7-34A3-416F-B645-7475E2E2DE93}.Debug|iPhone.Build.0 = Debug|Any CPU
        {D78A9ED7-34A3-416F-B645-7475E2E2DE93}.Release|iPhone.ActiveCfg = Release|Any CPU
        {D78A9ED7-34A3-416F-B645-7475E2E2DE93}.Release|iPhone.Build.0 = Release|Any CPU
    EndGlobalSection
EndGlobal
HDL_ON/Common/ApiUtlis.cs
@@ -4,6 +4,8 @@
using HDL_ON.DAL;
using HDL_ON.DAL.Server;
using HDL_ON.Entity;
using HDL_ON.UI.UI2.FuntionControlView.Video;
using Newtonsoft.Json;
using Shared;
namespace HDL_ON.Common
@@ -106,6 +108,26 @@
                }
                endTime = DateTime.Now.AddSeconds(5);
                MainPage.Log($"刷新个人信息成功");
                //int count = 0;
                //while (count < 10)
                //{
                //    if (DB_ResidenceData.Instance.CheckWhetherGatewayIdIsNull())
                //    {
                //        System.Threading.Thread.Sleep(200);
                //    }
                //    else
                //    {
                //        break;
                //    }
                //    count++;
                //}
                //if (DB_ResidenceData.Instance.CheckWhetherGatewayIdIsNull())
                //{
                //    return;
                //}
                try
                {
                    //===================房间=======================
@@ -229,15 +251,31 @@
                        MainPage.Log($"读取云端场景数据失败:Code:{pack.Code}; Msg:{pack.message}");
                    }
                    //===================读取安防列表==========================
                    GetSecurityList();
                    //===================读取逻辑列表==========================
                    UI.UI2.Intelligence.Automation.MainView.GetLogicList();
                    //===================读取可视对讲数据==========================
                    var flVideoInfo = HttpRequest.CheckFlVideo();
                    if(flVideoInfo.Code == StateCode.SUCCESS)
                    //判断是否有可视对讲数据,有则显示可视对讲icon
                    //var flVideoInfo = HttpRequest.CheckFlVideo();
                    //if(flVideoInfo.Code == StateCode.SUCCESS)
                    //{
                    //    FunctionList.List.videoIntercom1111 = Newtonsoft.Json.JsonConvert.DeserializeObject<UI.UI2.FuntionControlView.Video.VideoClouds>(flVideoInfo.Data.ToString());
                    //}
                    //======================获取可视对讲设备列表====================
                    var videoInfo= VideoSend.GetVideoInfoList();
                    if (videoInfo.Code == StateCode.SUCCESS)
                    {
                        FunctionList.List.videoIntercom = Newtonsoft.Json.JsonConvert.DeserializeObject<UI.UI2.FuntionControlView.Video.VideoClouds>(flVideoInfo.Data.ToString());
                        string videoList = videoInfo.Data.ToString();
                        FunctionList.List.videoIntercom = JsonConvert.DeserializeObject<List<UI.UI2.FuntionControlView.Video.Video>>(videoList);
                        foreach (var video in FunctionList.List.videoIntercom)
                        {
                            if (video.interphoneType == "IMOUVISIAL")
                            {
                                UI.UI2.PersonalCenter.PirDevice.PirSend.LcSubAccessToken = video.subAccountToken;
                            }
                        }
                    }
                }
HDL_ON/Common/Constant.cs
@@ -264,6 +264,10 @@
        /// 安防报警
        /// </summary>
        SecurityAlarm,
        /// <summary>
        /// HDL可视对讲
        /// </summary>
        HDL_INTERPHONE,
    }
    /// <summary>
HDL_ON/Common/HDLCommon.cs
@@ -295,7 +295,27 @@
                            eSVideoInfo.ESVideoUUID = eSVideoInfo.uuid;
                        }
                        ESOnVideo.Current.ShowESvideoVideoIntercom(eSVideoInfo);
                        ESOnVideo.Current.ShowESvideoVideoIntercom(eSVideoInfo, "FLVI");
                    }
                    else if (jpushMessageInfo.messageType.Contains(PushMessageType.HDL_INTERPHONE.ToString()))
                    {
                        if (string.IsNullOrEmpty(jpushMessageInfo.expantContent)) return;
                        //字段兼容问题,只能直接取值了
                        var json= Newtonsoft.Json.Linq.JObject.Parse(jpushMessageInfo.expantContent);
                        ESVideoInfo eSVideoInfo = new ESVideoInfo();// GetESOnVideoJson(jpushMessageInfo.expantContent);
                        eSVideoInfo.callId = json["callId"].ToString();
                        //eSVideoInfo.Lc_AccessToken = UI.UI2.PersonalCenter.PirDevice.PirSend.LcSubAccessToken;//json["subAccountToken"].ToString();//
                        eSVideoInfo.Lc_AccessToken = json["subAccountToken"].ToString();//2021-05-13 目前云端还没拿到Lc_AccessToken,目前没办法正常使用
                        eSVideoInfo.Lc_DeviceId = json["deviceId"].ToString();
                        eSVideoInfo.Lc_Location = OnAppConfig.Instance.RequestHttpsHost.Contains("China") ? 0 : 1;
                        eSVideoInfo.Lc_PlayToken = json["token"].ToString();
                        eSVideoInfo.Lc_Psk = json["cname"].ToString();
                        if (eSVideoInfo == null) return;
                        ESOnVideo.Current.ShowESvideoVideoIntercom(eSVideoInfo, "IMOUVISIAL");
                    }
                    else if(jpushMessageInfo.messageType.Contains(PushMessageType.Prompt.ToString()))
@@ -311,7 +331,7 @@
        }
        /// <summary>
        ///
        /// 解析丰林可视对讲推送数据
        /// </summary>
        /// <param name="jsonStr"></param>
        /// <returns></returns>
HDL_ON/Common/OnAppConfig.cs
@@ -80,7 +80,7 @@
        /// <summary>
        ///  账号注册服务器信息
        /// </summary>
        public string RequestHttpsHost ="https://china.hdlcontrol.com";
        public string RequestHttpsHost = "https://china.hdlcontrol.com";
        /// <summary>
        /// 
        /// </summary>
HDL_ON/Common/R.cs
@@ -565,40 +565,40 @@
        public const int LoginByEmail = 4;
        /// <summary>
        /// 室内湿度
        /// <summary>
        /// 室内湿度
        /// </summary>
        public const int IndoorHumidity = 1000;
        /// <summary>
        /// 童锁
        /// <summary>
        /// 童锁
        /// </summary>
        public const int V_chip = 1001;
        /// <summary>
        /// 负离子
        /// <summary>
        /// 负离子
        /// </summary>
        public const int Anion = 1002;
        /// <summary>
        /// 杀菌
        /// <summary>
        /// 杀菌
        /// </summary>
        public const int Sterilization = 1003;
        /// <summary>
        /// 加湿
        /// <summary>
        /// 加湿
        /// </summary>
        public const int Humidification = 1004;
        /// <summary>
        /// 滤芯复位
        public const int Humidification = 1004;
        /// <summary>
        /// 滤芯复位
        /// </summary>
        public const int FilterElementReset = 1005;
        /// <summary>
        /// 灯光
        public const int FilterElementReset = 1005;
        /// <summary>
        /// 灯光
        /// </summary>
        public const int Lighting = 1006;
        /// <summary>
        /// 自动模式
        public const int Lighting = 1006;
        /// <summary>
        /// 自动模式
        /// </summary>
        public const int AutoMode = 1007;
        /// <summary>
        /// 手动模式
        public const int AutoMode = 1007;
        /// <summary>
        /// 手动模式
        /// </summary>
        public const int HandMode = 1008;
        /// <summary>
@@ -613,96 +613,96 @@
        /// 定时
        /// </summary>
        public const int Timing = 1011;
        /// <summary>
        /// 选择风速
        /// <summary>
        /// 选择风速
        /// </summary>
        public const int WindSpeedSelection = 1012;
        /// <summary>
        /// 档
        public const int WindSpeedSelection = 1012;
        /// <summary>
        /// 档
        /// </summary>
        public const int Gear = 1013;
        /// <summary>
        /// 请确认是否已实际重置滤芯并按{0}照说明书要求操作设备进行滤芯{0}寿命重新计时
        public const int Gear = 1013;
        /// <summary>
        /// 请确认是否已实际重置滤芯并按{0}照说明书要求操作设备进行滤芯{0}寿命重新计时
        /// </summary>
        public const int FilterElementResetMsg = 1014;
        /// <summary>
        /// 低档
        public const int FilterElementResetMsg = 1014;
        /// <summary>
        /// 低档
        /// </summary>
        public const int LowGear = 1015;
        /// <summary>
        /// 中档
        public const int LowGear = 1015;
        /// <summary>
        /// 中档
        /// </summary>
        public const int MidGear = 1016;
        /// <summary>
        /// 高档
        public const int MidGear = 1016;
        /// <summary>
        /// 高档
        /// </summary>
        public const int HeightGear = 1017;
        /// <summary>
        /// 定时设置
        /// <summary>
        /// 定时设置
        /// </summary>
        public const int TimingSetting = 1018;
        /// <summary>
        /// 小时
        /// <summary>
        /// 小时
        /// </summary>
        public const int Hour1 = 1019;
        /// <summary>
        /// 滤芯使用:
        /// <summary>
        /// 滤芯使用:
        /// </summary>
        public const int UseOfFilterElement = 1020;
        /// <summary>
        /// 空气净化器
        /// <summary>
        /// 空气净化器
        /// </summary>
        public const int AirCleaner = 1021;
        /// <summary>
        /// 当前风速
        /// <summary>
        /// 当前风速
        /// </summary>
        public const int CurrentWindSpeed = 1022;
        /// <summary>
        /// 取消定时
        public const int CurrentWindSpeed = 1022;
        /// <summary>
        /// 取消定时
        /// </summary>
        public const int CancelTiming = 1023;
        /// <summary>
        /// 扫地机器人
        public const int CancelTiming = 1023;
        /// <summary>
        /// 扫地机器人
        /// </summary>
        public const int WeepRobot = 1024;
        /// <summary>
        /// 吸力调节
        /// <summary>
        /// 吸力调节
        /// </summary>
        public const int SuctionAdjustment = 1025;
        /// <summary>
        /// 吸力1档
        /// <summary>
        /// 吸力1档
        /// </summary>
        public const int SuctionOneGear = 1026;
        /// <summary>
        /// 吸力2档
        /// <summary>
        /// 吸力2档
        /// </summary>
        public const int SuctionTwoGear = 1027;
        /// <summary>
        /// 吸力3档
        /// <summary>
        /// 吸力3档
        /// </summary>
        public const int SuctionThreeGear = 1028;
        /// <summary>
        /// 充电
        /// <summary>
        /// 充电
        /// </summary>
        public const int Charge = 1029;
        /// <summary>
        /// 声音
        /// <summary>
        /// 声音
        /// </summary>
        public const int Voice = 1030;
        /// <summary>
        /// 静音
        public const int Voice = 1030;
        /// <summary>
        /// 静音
        /// </summary>
        public const int Mute = 1031;
        /// <summary>
        /// 清扫模式
        public const int Mute = 1031;
        /// <summary>
        /// 清扫模式
        /// </summary>
        public const int CleanMode = 1032;
        /// <summary>
        /// 耗材管理
        /// <summary>
        /// 耗材管理
        /// </summary>
        public const int ConsumablesManagement = 1033;
        /// <summary>
        /// 历史记录
        /// <summary>
        /// 历史记录
        /// </summary>
        public const int HistoryLog = 1034;
        /// <summary>
@@ -764,367 +764,367 @@
        /// <summary>
        /// 是否重置滤网
        /// </summary>
        public const int ResetFilterScreenMsg = 1049;
        public const int ResetFilterScreenMsg = 1049;
        /// <summary>
        /// 添加设备
        /// </summary>
        public const int AddDevice = 1050;
        /// <summary>
        /// mini智能遥控器
        /// <summary>
        /// mini智能遥控器
        /// </summary>
        public const int MiniIntelligentRemoteControl = 1051;
        /// <summary>
        /// 添加红外遥控
        public const int MiniIntelligentRemoteControl = 1051;
        /// <summary>
        /// 添加红外遥控
        /// </summary>
        public const int AddInfraredRemoteControl = 1052;
        /// <summary>
        /// 长按红外遥控器按钮10秒,指示灯蓝色快闪
        public const int AddInfraredRemoteControl = 1052;
        /// <summary>
        /// 长按红外遥控器按钮10秒,指示灯蓝色快闪
        /// </summary>
        public const int AddInfraredRemoteControlMsg1 = 1053;
        /// <summary>
        /// 请确保您的蓝牙已开启并处于可以被搜索状态
        public const int AddInfraredRemoteControlMsg1 = 1053;
        /// <summary>
        /// 请确保您的蓝牙已开启并处于可以被搜索状态
        /// </summary>
        public const int AddInfraredRemoteControlMsg2 = 1054;
        /// <summary>
        /// 下一步
        public const int AddInfraredRemoteControlMsg2 = 1054;
        /// <summary>
        /// 下一步
        /// </summary>
        public const int Next = 1055;
        /// <summary>
        /// 设备搜索中...
        /// <summary>
        /// 设备搜索中...
        /// </summary>
        public const int SearchingDevice = 1056;
        /// <summary>
        /// 没有发现红外遥控器
        public const int SearchingDevice = 1056;
        /// <summary>
        /// 没有发现红外遥控器
        /// </summary>
        public const int NoInfraredRemoteControlFound = 1057;
        /// <summary>
        /// 1、请检查设备是否正常通电{0}2、请检查蓝牙功能是否正常开启{0}3、请检查指示灯是否蓝色快闪状态
        public const int NoInfraredRemoteControlFound = 1057;
        /// <summary>
        /// 1、请检查设备是否正常通电{0}2、请检查蓝牙功能是否正常开启{0}3、请检查指示灯是否蓝色快闪状态
        /// </summary>
        public const int AddInfraredRemoteControlMsg3 = 1058;
        /// <summary>
        /// 重新搜索
        /// <summary>
        /// 重新搜索
        /// </summary>
        public const int ReSearch = 1059;
        /// <summary>
        /// 连接WiFi
        public const int ReSearch = 1059;
        /// <summary>
        /// 连接WiFi
        /// </summary>
        public const int ConnectWiFi = 1060;
        /// <summary>
        /// 目前只支持2.4G WiFi网络{0}暂不支持带有中文字符的WiFi名称
        public const int ConnectWiFi = 1060;
        /// <summary>
        /// 目前只支持2.4G WiFi网络{0}暂不支持带有中文字符的WiFi名称
        /// </summary>
        public const int AddInfraredRemoteControlMsg4 = 1061;
        /// <summary>
        /// 密码
        public const int AddInfraredRemoteControlMsg4 = 1061;
        /// <summary>
        /// 密码
        /// </summary>
        public const int Password = 1062;
        /// <summary>
        /// 正在连接中...
        /// <summary>
        /// 正在连接中...
        /// </summary>
        public const int NowConnectting = 1063;
        /// <summary>
        /// 请让红外遥控尽量接近WIFI路由器
        public const int NowConnectting = 1063;
        /// <summary>
        /// 请让红外遥控尽量接近WIFI路由器
        /// </summary>
        public const int AddInfraredRemoteControlMsg5 = 1064;
        /// <summary>
        /// 网络链接中
        public const int AddInfraredRemoteControlMsg5 = 1064;
        /// <summary>
        /// 网络链接中
        /// </summary>
        public const int InTheNetworkLink = 1065;
        /// <summary>
        /// 上传到云
        public const int InTheNetworkLink = 1065;
        /// <summary>
        /// 上传到云
        /// </summary>
        public const int UploadToCloud = 1066;
        /// <summary>
        /// 连接成功
        public const int UploadToCloud = 1066;
        /// <summary>
        /// 连接成功
        /// </summary>
        public const int ConnectSuccess = 1067;
        /// <summary>
        /// 1、请检查设备是否正常通电{0}2、请开启蓝牙功能{0}3、并长按按钮10s,指示灯常亮
        public const int ConnectSuccess = 1067;
        /// <summary>
        /// 1、请检查设备是否正常通电{0}2、请开启蓝牙功能{0}3、并长按按钮10s,指示灯常亮
        /// </summary>
        public const int AddInfraredRemoteControlMsg6 = 1068;
        /// <summary>
        /// 添加失败
        /// <summary>
        /// 添加失败
        /// </summary>
        public const int AddFail = 1069;
        /// <summary>
        /// 添加成功
        public const int AddFail = 1069;
        /// <summary>
        /// 添加成功
        /// </summary>
        public const int AddSuccess = 1070;
        /// <summary>
        /// 可以开始使用红外遥控功能!
        public const int AddSuccess = 1070;
        /// <summary>
        /// 可以开始使用红外遥控功能!
        /// </summary>
        public const int AddInfraredRemoteControlMsg7 = 1071;
        /// <summary>
        /// 开始使用
        /// <summary>
        /// 开始使用
        /// </summary>
        public const int StartUse = 1072;
        /// <summary>
        /// 请打开蓝牙
        /// <summary>
        /// 请打开蓝牙
        /// </summary>
        public const int PleaseTurnOnBluetooth = 1073;
        /// <summary>
        /// 位置信息(GBS)不可用
        /// <summary>
        /// 位置信息(GBS)不可用
        /// </summary>
        public const int GbsIsNotAvailable = 1074;
        /// <summary>
        /// 网络不可用
        public const int GbsIsNotAvailable = 1074;
        /// <summary>
        /// 网络不可用
        /// </summary>
        public const int NetworkIsNotAvailable = 1075;
        /// <summary>
        /// 选择红外遥控器
        /// <summary>
        /// 选择红外遥控器
        /// </summary>
        public const int ChooseInfraredRemoteControl = 1076;
        /// <summary>
        /// 新风
        public const int ChooseInfraredRemoteControl = 1076;
        /// <summary>
        /// 新风
        /// </summary>
        public const int AirFresh = 1077;
        /// <summary>
        /// 当前滤网剩余
        public const int AirFresh = 1077;
        /// <summary>
        /// 当前滤网剩余
        /// </summary>
        public const int ResidualFilterScreen = 1078;
        /// <summary>
        /// 节能
        public const int ResidualFilterScreen = 1078;
        /// <summary>
        /// 节能
        /// </summary>
        public const int Energy = 1079;
        /// <summary>
        /// 通风
        public const int Energy = 1079;
        /// <summary>
        /// 通风
        /// </summary>
        public const int Ventilated = 1080;
        /// <summary>
        /// 1档
        public const int Ventilated = 1080;
        /// <summary>
        /// 1档
        /// </summary>
        public const int OneGear = 1081;
        /// <summary>
        /// 2档
        /// <summary>
        /// 2档
        /// </summary>
        public const int TwoGear = 1082;
        /// <summary>
        /// 3档
        /// <summary>
        /// 3档
        /// </summary>
        public const int ThreeGear = 1083;
        /// <summary>
        /// 风速1档
        public const int ThreeGear = 1083;
        /// <summary>
        /// 风速1档
        /// </summary>
        public const int FanOneGear = 1084;
        /// <summary>
        /// 风速2档
        /// <summary>
        /// 风速2档
        /// </summary>
        public const int FanTwoGear = 1085;
        /// <summary>
        /// 风速3档
        /// <summary>
        /// 风速3档
        /// </summary>
        public const int FanThreeGear = 1086;
        /// <summary>
        /// 一键开锁
        public const int FanThreeGear = 1086;
        /// <summary>
        /// 一键开锁
        /// </summary>
        public const int OneKeyUnlocking = 1087;
        /// <summary>
        /// 临时密码开锁
        public const int OneKeyUnlocking = 1087;
        /// <summary>
        /// 临时密码开锁
        /// </summary>
        public const int TemporaryPasswordUnlocking = 1088;
        /// <summary>
        /// 已连接
        public const int TemporaryPasswordUnlocking = 1088;
        /// <summary>
        /// 已连接
        /// </summary>
        public const int Connected = 1089;
        /// <summary>
        /// 未连接
        public const int Connected = 1089;
        /// <summary>
        /// 未连接
        /// </summary>
        public const int UnConnected = 1090;
        /// <summary>
        /// 生成临时密码
        public const int UnConnected = 1090;
        /// <summary>
        /// 生成临时密码
        /// </summary>
        public const int CreatTemporaryPassword = 1091;
        /// <summary>
        /// 生效时间
        public const int CreatTemporaryPassword = 1091;
        /// <summary>
        /// 生效时间
        /// </summary>
        public const int EffectiveTime = 1092;
        /// <summary>
        /// 失效时间
        public const int EffectiveTime = 1092;
        /// <summary>
        /// 失效时间
        /// </summary>
        public const int FailureTime = 1093;
        /// <summary>
        /// 选择时间
        public const int FailureTime = 1093;
        /// <summary>
        /// 选择时间
        /// </summary>
        public const int SelectTime = 1094;
        /// <summary>
        /// 选择日期
        public const int SelectTime = 1094;
        /// <summary>
        /// 选择日期
        /// </summary>
        public const int SelectDate = 1095;
        /// <summary>
        /// 生成
        /// <summary>
        /// 生成
        /// </summary>
        public const int Generate = 1096;
        /// <summary>
        /// 临时密码已经复制
        public const int Generate = 1096;
        /// <summary>
        /// 临时密码已经复制
        /// </summary>
        public const int TempPsswordHasBeenCopy = 1097;
        /// <summary>
        /// 清除当前临时密码?
        public const int TempPsswordHasBeenCopy = 1097;
        /// <summary>
        /// 清除当前临时密码?
        /// </summary>
        public const int ClearTempPsswordMsg = 1098;
        /// <summary>
        /// 生效时间必须大于失效时间
        public const int ClearTempPsswordMsg = 1098;
        /// <summary>
        /// 生效时间必须大于失效时间
        /// </summary>
        public const int EffectiveTimeMustBeOverFailureTime = 1099;
        /// <summary>
        /// 开锁方式管理
        public const int EffectiveTimeMustBeOverFailureTime = 1099;
        /// <summary>
        /// 开锁方式管理
        /// </summary>
        public const int UnlockingManagement = 1100;
        /// <summary>
        /// 删除操作将被同步于实体锁上是否还需要删除?
        public const int UnlockingManagement = 1100;
        /// <summary>
        /// 删除操作将被同步于实体锁上是否还需要删除?
        /// </summary>
        public const int DeleteUnlockingMethordMsg = 1101;
        /// <summary>
        /// 确认删除
        /// <summary>
        /// 确认删除
        /// </summary>
        public const int ConfirmDeletion = 1102;
        /// <summary>
        /// 修改备注名称
        public const int ConfirmDeletion = 1102;
        /// <summary>
        /// 修改备注名称
        /// </summary>
        public const int EditorRemarkName = 1103;
        /// <summary>
        /// 备注名称不能为空
        public const int EditorRemarkName = 1103;
        /// <summary>
        /// 备注名称不能为空
        /// </summary>
        public const int RemarkNameCanNotEmpty = 1104;
        /// <summary>
        /// 分配至
        /// <summary>
        /// 分配至
        /// </summary>
        public const int AssignTo = 1105;
        /// <summary>
        /// 检测不到可供选择的场景
        /// <summary>
        /// 检测不到可供选择的场景
        /// </summary>
        public const int NotHadCanSelectScene = 1106;
        /// <summary>
        /// 选择场景
        public const int NotHadCanSelectScene = 1106;
        /// <summary>
        /// 选择场景
        /// </summary>
        public const int SelectScene = 1107;
        /// <summary>
        /// 锁已打开
        public const int SelectScene = 1107;
        /// <summary>
        /// 锁已打开
        /// </summary>
        public const int LockIsOpened = 1108;
        /// <summary>
        /// 常开
        /// <summary>
        /// 常开
        /// </summary>
        public const int AlwaysOn = 1109;
        /// <summary>
        /// 时效性常开设置
        /// <summary>
        /// 时效性常开设置
        /// </summary>
        public const int TimelyAlwaysOnSetting = 1110;
        /// <summary>
        /// 常开自动化
        /// <summary>
        /// 常开自动化
        /// </summary>
        public const int AutomationAlwaysOn = 1111;
        /// <summary>
        /// 打开常开模式
        public const int AutomationAlwaysOn = 1111;
        /// <summary>
        /// 打开常开模式
        /// </summary>
        public const int OpenAlwaysOnModel = 1112;
        /// <summary>
        /// 关闭常开模式
        public const int OpenAlwaysOnModel = 1112;
        /// <summary>
        /// 关闭常开模式
        /// </summary>
        public const int CloseAlwaysOnModel = 1113;
        /// <summary>
        /// 编辑
        public const int CloseAlwaysOnModel = 1113;
        /// <summary>
        /// 编辑
        /// </summary>
        public const int Edit = 1114;
        /// <summary>
        /// 常开模式将于{0}关闭
        /// <summary>
        /// 常开模式将于{0}关闭
        /// </summary>
        public const int AlwaysOnWillCloseOnTime = 1115;
        /// <summary>
        /// 条件
        public const int AlwaysOnWillCloseOnTime = 1115;
        /// <summary>
        /// 条件
        /// </summary>
        public const int Condtion = 1116;
        /// <summary>
        /// 动作
        /// <summary>
        /// 动作
        /// </summary>
        public const int Action = 1117;
        /// <summary>
        /// 常开模式
        /// <summary>
        /// 常开模式
        /// </summary>
        public const int AlwaysOnModel = 1118;
        /// <summary>
        /// 锁
        public const int AlwaysOnModel = 1118;
        /// <summary>
        /// 锁
        /// </summary>
        public const int Lock = 1119;
        /// <summary>
        /// 用户
        public const int Lock = 1119;
        /// <summary>
        /// 用户
        /// </summary>
        public const int User = 1120;
        /// <summary>
        /// 开锁方式
        public const int User = 1120;
        /// <summary>
        /// 开锁方式
        /// </summary>
        public const int UnlockingMode = 1121;
        /// <summary>
        /// 指纹
        public const int UnlockingMode = 1121;
        /// <summary>
        /// 指纹
        /// </summary>
        public const int Fingerprints = 1122;
        /// <summary>
        /// 卡
        public const int Fingerprints = 1122;
        /// <summary>
        /// 卡
        /// </summary>
        public const int Card = 1123;
        /// <summary>
        /// 钥匙
        public const int Card = 1123;
        /// <summary>
        /// 钥匙
        /// </summary>
        public const int Key = 1124;
        /// <summary>
        /// 信息类型
        public const int Key = 1124;
        /// <summary>
        /// 信息类型
        /// </summary>
        public const int MessageType = 1125;
        /// <summary>
        /// 开锁信息
        public const int MessageType = 1125;
        /// <summary>
        /// 开锁信息
        /// </summary>
        public const int UnlockingMessage = 1126;
        /// <summary>
        /// 报警类信息
        public const int UnlockingMessage = 1126;
        /// <summary>
        /// 报警类信息
        /// </summary>
        public const int AlarmMessage = 1127;
        /// <summary>
        /// 设备不在线
        public const int AlarmMessage = 1127;
        /// <summary>
        /// 设备不在线
        /// </summary>
        public const int DeviceNotOnline = 1128;
        /// <summary>
        /// 第一次使用,请先绑定门锁密码
        public const int DeviceNotOnline = 1128;
        /// <summary>
        /// 第一次使用,请先绑定门锁密码
        /// </summary>
        public const int PleaseBindTheDoorPswFirst = 1129;
        /// <summary>
        /// 请输入门锁管理员密码
        /// <summary>
        /// 请输入门锁管理员密码
        /// </summary>
        public const int PleaseInputDoorAdminPassword = 1130;
        /// <summary>
        /// 门锁绑定成功
        public const int PleaseInputDoorAdminPassword = 1130;
        /// <summary>
        /// 门锁绑定成功
        /// </summary>
        public const int BindDoorLockSuccess = 1131;
        /// <summary>
        /// 为了安全,请跳转至个人中心{0}设置个人密码,并应用于门锁开锁
        /// <summary>
        /// 为了安全,请跳转至个人中心{0}设置个人密码,并应用于门锁开锁
        /// </summary>
        public const int JumpToPersonalCentetToSetPasswordMsg = 1132;
        /// <summary>
        /// 跳转
        /// <summary>
        /// 跳转
        /// </summary>
        public const int Jump = 1133;
        /// <summary>
        /// 请绘制图案
        public const int Jump = 1133;
        /// <summary>
        /// 请绘制图案
        /// </summary>
        public const int PleaseDrawPattern = 1134;
        /// <summary>
        /// 设置常开模式后{0}您的门锁将处于打开状态{0}是否继续开启
        public const int PleaseDrawPattern = 1134;
        /// <summary>
        /// 设置常开模式后{0}您的门锁将处于打开状态{0}是否继续开启
        /// </summary>
        public const int OpenAlwayOnConfirmMsg = 1135;
        /// <summary>
        /// 确认开启
        public const int OpenAlwayOnConfirmMsg = 1135;
        /// <summary>
        /// 确认开启
        /// </summary>
        public const int ConfirmOpen = 1136;
        /// <summary>
        /// 失效设置
        public const int ConfirmOpen = 1136;
        /// <summary>
        /// 失效设置
        /// </summary>
        public const int FailTimeSeetion = 1137;
        /// <summary>
        /// 常开模式将于{0}小时后失效
        public const int FailTimeSeetion = 1137;
        /// <summary>
        /// 常开模式将于{0}小时后失效
        /// </summary>
        public const int AlwayOnWillCloseAtTimeMsg = 1138;
        /// <summary>
        /// 请输入失效时间
        public const int AlwayOnWillCloseAtTimeMsg = 1138;
        /// <summary>
        /// 请输入失效时间
        /// </summary>
        public const int PleaseInputFailTime = 1139;
        public const int PleaseInputFailTime = 1139;
        /// <summary>
        /// 失效时间不能大于72小时
        /// </summary>
@@ -1132,73 +1132,73 @@
        /// <summary>
        /// 失效时间不能小于1小时
        /// </summary>
        public const int InvalidTimeLessThan1 = 1141;
        public const int InvalidTimeLessThan1 = 1141;
        /// <summary>
        /// 常开模式关闭设置失效,请重试
        /// </summary>
        public const int AlwayOnFailTimeSettionFailMsg = 1142;
        public const int AlwayOnFailTimeSettionFailMsg = 1142;
        /// <summary>
        /// 管理员身份验证失败,请重新登录
        /// </summary>
        public const int CheckAdminFailAndLoginAgain = 1143;
        public const int CheckAdminFailAndLoginAgain = 1143;
        /// <summary>
        /// 您的住宅将过户给其他HDL账号
        /// </summary>
        public const int YourHomeWillBeTransferredToOtherAccounts = 1144;
        public const int YourHomeWillBeTransferredToOtherAccounts = 1144;
        /// <summary>
        /// 请注意:
        /// </summary>
        public const int Attention = 1145;
        public const int Attention = 1145;
        /// <summary>
        /// 1.该住宅您的数据(云端数据)将全部转移给新的户主{0}2.过户后,原有的成员将自动解绑该住宅{0}3.新户主账号为有效的HDL账号{0}4.接收方账号与转移方账号不可为同一个账号
        /// </summary>
        public const int TransferreConfirmMsg1 = 1146;
        /// <summary>
        /// 确认过户
        /// </summary>
        public const int ConfirmTransferre = 1147;
        /// <summary>
        /// 请输入接收方账号
        /// </summary>
        public const int TransferreConfirmMsg1 = 1146;
        /// <summary>
        /// 确认过户
        /// </summary>
        public const int ConfirmTransferre = 1147;
        /// <summary>
        /// 请输入接收方账号
        /// </summary>
        public const int PleaseInputReceiverAccount = 1148;
        /// <summary>
        /// 个人资料
        /// <summary>
        /// 个人资料
        /// </summary>
        public const int Profile = 1149;
        /// <summary>
        /// 确认过户{0}的管理员账号给账号{1}
        public const int Profile = 1149;
        /// <summary>
        /// 确认过户{0}的管理员账号给账号{1}
        /// </summary>
        public const int TransferreConfirmMsg2 = 1150;
        /// <summary>
        /// 目标账号并不存在
        public const int TransferreConfirmMsg2 = 1150;
        /// <summary>
        /// 目标账号并不存在
        /// </summary>
        public const int TargetAcountDoesNotExist = 1151;
        public const int TargetAcountDoesNotExist = 1151;
        /// <summary>
        /// 不能自己过户给自己
        /// </summary>
        public const int YouCannotTransferOwnershipToYourself = 1152;
        /// <summary>
        /// 终止
        /// <summary>
        /// 终止
        /// </summary>
        public const int Terminate = 1153;
        /// <summary>
        /// 正在过户给用户,请稍后...
        public const int Terminate = 1153;
        /// <summary>
        /// 正在过户给用户,请稍后...
        /// </summary>
        public const int IsTransferingPleaseWaitting = 1154;
        public const int IsTransferingPleaseWaitting = 1154;
        /// <summary>
        /// 用户{0}已经成为住宅行管理员
        /// </summary>
        public const int CongratulationsXXBecomingNNAdministrator = 1155;
        /// <summary>
        /// 该住宅的信息将在您的账号中删除
        /// <summary>
        /// 该住宅的信息将在您的账号中删除
        /// </summary>
        public const int ResidenceDataWillBeDeletedFromYourAccount = 1156;
        /// <summary>
        /// 过户失败
        /// <summary>
        /// 过户失败
        /// </summary>
        public const int TransferFail = 1157;
        /// <summary>
        /// 请重新尝试
        /// <summary>
        /// 请重新尝试
        /// </summary>
        public const int PleaseTryAgain = 1158;
HDL_ON/DAL/Server/HttpServerRequest.cs
@@ -727,6 +727,24 @@
            return result != null && result.Code == StateCode.SUCCESS;
        }
        /// <summary>
        /// 管理员权限迁移
        /// </summary>
        /// <param name="i_childAccountId">成员账号id</param>
        /// <returns></returns>
        public bool AdminAuthorityMigration(string i_childAccountId)
        {
            var pra2 = new
            {
                homeId = DB_ResidenceData.Instance.CurrentRegion.id,
                childAccountId = i_childAccountId
            };
            var requestJson = HttpUtil.GetSignRequestJson(pra2);
            var result = HttpUtil.RequestHttpsPost(NewAPI.API_Post_AdminAuthorityMigration, requestJson);
            return result != null && result.Code == StateCode.SUCCESS;
        }
        #region 新数据分享
        /// <summary>
        /// 添加分享
@@ -2463,7 +2481,7 @@
        #region ■ 可视对讲_________________________
        /// <summary>
        /// 检查住宅是否绑定丰林,并获取门口机列表
        /// 检查住宅是否绑定丰林
        /// </summary>
        /// <returns></returns>
        public ResponsePackNew CheckFlVideo()
HDL_ON/DAL/Server/HttpUtil.cs
@@ -164,7 +164,7 @@
                ////**************测试**************
                //string requestFullUrl = GlobalRequestHttpsHost + apiPath;
                string requestFullUrl = GlobalRequestHttpsHost + apiPath;
                ////**************测试**************
                RestClient client = new RestClient(requestFullUrl);
@@ -284,7 +284,7 @@
        /// <summary>
        /// 刷新Token
        /// 刷新  Token
        /// </summary>
        /// <returns></returns>
        static bool RefreshToken()
HDL_ON/DAL/Server/NewAPI.cs
@@ -446,53 +446,6 @@
        #endregion
        #region Kaede -- 安防接口____________________________
        /// <summary>
        /// 获取安防列表
        /// </summary>
        public const string Api_Post_Security_List = "/home-wisdom/app/security/list";
        /// <summary>
        /// 获取安防详情
        /// </summary>
        public const string Api_Post_Security_Info = "/home-wisdom/app/security/info";
        /// <summary>
        /// 添加安防
        /// </summary>
        public const string Api_Post_Security_Add = "/home-wisdom/app/security/add";
        /// <summary>
        /// 编辑安防
        /// </summary>
        public const string Api_Post_Security_Edit = "/home-wisdom/app/security/update";
        /// <summary>
        /// 删除安防
        /// </summary>
        public const string Api_Post_Security_Delete = "/home-wisdom/app/security/delete";
        /// <summary>
        /// 读取安防防区状态
        /// </summary>
        public const string Api_Post_Security_StatusRead = "/home-wisdom/app/security/statusRead";
        /// <summary>
        /// 设置安防防区状态
        /// </summary>
        public const string Api_Post_Security_StatusSet = "/home-wisdom/app/security/statusSet";
        /// <summary>
        /// 安防bypass设置
        /// </summary>
        public const string Api_Post_Security_BypassSet = "/home-wisdom/app/security/bypassSet";
        /// <summary>
        /// 安防bypass读取
        /// </summary>
        public const string Api_Post_Security_BypassRead = "/home-wisdom/app/security/bypassRead";
        /// <summary>
        /// 查询安防所有记录
        /// </summary>
        public const string Api_Post_Security_ListSecurityLog = "/home-wisdom/app/security/listSecurityLog";
        /// <summary>
        /// 查询安防报警记录
        /// </summary>
        public const string Api_Post_Security_ListAlarmLog = "/home-wisdom/app/security/listAlarmLog";
        #endregion
        #region ■  -- 房间、设备、场景分享___________________________
@@ -602,7 +555,7 @@
        #region  ■  -- 丰林相关相关接口___________________________
        /// <summary>
        /// 检查住宅是否绑定丰林,并获取门口机列表
        /// 检查住宅是否绑定丰林
        /// </summary>
        public const string API_POST_FL_Check = "/home-wisdom/app/fl/vi/check";
        /// <summary>
@@ -628,7 +581,8 @@
        /// <summary>
        /// 获取通话记录
        /// </summary>
        public const string API_POST_FL_GetCallList = "/home-wisdom/app/fl/vi/list";
        //public const string API_POST_FL_GetCallList = "/home-wisdom/app/fl/vi/list";
        public const string API_POST_FL_GetCallList = "/home-wisdom/platform/imou/listCallRecords";
        /// <summary>
        /// 删除通话记录
        /// </summary>
HDL_ON/DAL/ThirdPartySdk/ESOnVideo.cs
@@ -3,9 +3,11 @@
using HDL_ON.DAL.Server;
using System.Threading;
using System.Collections.Generic;
using HDL_ON.UI.UI2.PersonalCenter.PirDevice;
#if __IOS__
using Shared.IOS.ESVideoOnSDK;
using Shared.IOS.LCVideoOnSDK;
using UIKit;
using Foundation;
#else
@@ -56,12 +58,18 @@
        /// <summary>
        /// 监控页面
        /// </summary>
<<<<<<< HEAD
        /// <param name="mESVideoInfo">丰林监视所需相关参数</param>
        public void ShowESVideoMonitor(ESVideoInfo mESVideoInfo)
=======
        /// <param name="mESVideoInfo"></param>
        public void ShowESVideoMonitor(ESVideoInfo mESVideoInfo, string interphoneType)
>>>>>>> origin/CJL-LC
        {
#if __IOS__
             int roomID = 0;
            this.esVideoInfo = mESVideoInfo;
            int roomID = 0;
            int.TryParse(mESVideoInfo.roomno, out roomID);
<<<<<<< HEAD
            ESOnMonitorViewController vc = new ESOnMonitorViewController();
            vc.MESVideoID = mESVideoInfo.ESVideoUUID;
            vc.MESRoomID =roomID;
@@ -71,62 +79,152 @@
            mOnESCallDelegate = new OnESCallDelegate(this);
            vc.MESCallDelegate = mOnESCallDelegate;
            Shared.Application.currentVC.NavigationController.PushViewController(vc, true);
#else
=======
            Intent intent = new Intent(Shared.Application.Activity, typeof(HDL_ON_Android.VideoActivity));
#if __IOS__
            if (interphoneType == "IMOUVISIAL")
            {
                //乐橙可视对讲
                //1.初始化LCOpenSDK_Api
                LCApiKit.SharedInstance().InitSDKOpenApi(mESVideoInfo.Lc_AccessToken);
                LCApiKit.SharedInstance().CurrentDevicePlayToken = mESVideoInfo.Lc_PlayToken;
                LCApiKit.SharedInstance().CurrentDeviceId = mESVideoInfo.Lc_DeviceId;
                LCApiKit.SharedInstance().CurrentDeviceName = mESVideoInfo.DeviceName;
                LCApiKit.SharedInstance().CurrentPsk = mESVideoInfo.Lc_DeviceId;
                //2.调整监视页面
                LCOnMonitorViewController vc = new LCOnMonitorViewController();
                mOnLCCallDelegate = new OnLCCallDelegate(this);
                vc.MLCCallDelegate = mOnLCCallDelegate;
                //vc.MLCCallDelegate = new OnLCCallDelegate(this);
                Shared.Application.currentVC.NavigationController.PushViewController(vc, true);
            }
            else
            {
                ESOnMonitorViewController vc = new ESOnMonitorViewController();
                vc.MESVideoID = mESVideoInfo.ESVideoUUID;
                vc.MESRoomID = roomID;
                vc.DeviceName = mESVideoInfo.DeviceName;
                //vc.RoomName = mESVideoInfo.RoomName;
                //vc.MESCallDelegate = new OnESCallDelegate(this);
                Shared.Application.currentVC.NavigationController.PushViewController(vc, true);
            }
>>>>>>> origin/CJL-LC
#else
            Intent intent = null;
            if (interphoneType == "IMOUVISIAL")
            {
                intent = new Intent(Shared.Application.Activity, typeof(HDL_ON_Android.LeChengVideoActivity));
            }
            else
            {
                intent = new Intent(Shared.Application.Activity, typeof(HDL_ON_Android.VideoActivity));
            }
            intent.PutExtra("ESVideoUUID", mESVideoInfo.ESVideoUUID);
            intent.PutExtra("uuid", mESVideoInfo.uuid);
            intent.PutExtra("DeviceName", mESVideoInfo.DeviceName);
            intent.PutExtra("cmtID", mESVideoInfo.cmtID);
            intent.PutExtra("roomno", mESVideoInfo.roomno);
            intent.PutExtra("unitno", mESVideoInfo.unitno);
            //intent.PutExtra("HomeID", mESVideoInfo.HomeID);
            intent.PutExtra("HomeID", PirSend.HomeId);
            intent.PutExtra("callId", mESVideoInfo.callId);
            intent.PutExtra("Type", 0);
            //=========乐橙==========
            intent.PutExtra("AccessToken", mESVideoInfo.Lc_AccessToken);
            intent.PutExtra("DeviceId", mESVideoInfo.Lc_DeviceId);
            intent.PutExtra("Location", OnAppConfig.Instance.RequestHttpsHost.Contains("China") ? 0 : 1);//如果域名包含china,则是国内账号);
            intent.PutExtra("PlayToken", mESVideoInfo.Lc_PlayToken);
            intent.PutExtra("Psk", mESVideoInfo.Lc_Psk);
            Shared.Application.Activity.StartActivity(intent);
#endif
        }
        /// <summary>
        /// 被呼叫页面
        /// </summary>
<<<<<<< HEAD
        /// <param name="mESVideoInfo">丰林呼叫功能所需相关参数</param>
        public void ShowESvideoVideoIntercom(ESVideoInfo mESVideoInfo)
=======
        /// <param name="mESVideoInfo"></param>
        public void ShowESvideoVideoIntercom(ESVideoInfo mESVideoInfo, string interphoneType)
>>>>>>> origin/CJL-LC
        {
            this.esVideoInfo = mESVideoInfo;
#if __IOS__
            int roomID = 0;
            int.TryParse(mESVideoInfo.roomno, out roomID);
            ESOnIntercomViewController vc = new ESOnIntercomViewController();
            vc.MESVideoID = mESVideoInfo.ESVideoUUID;
            vc.MESRoomID = roomID;
            vc.DeviceName = mESVideoInfo.DeviceName;
            //vc.RoomName = mESVideoInfo.RoomName;
            //vc.MESCallDelegate = new OnESCallDelegate(this);
            mOnESCallDelegate = new OnESCallDelegate(this);
            vc.MESCallDelegate = mOnESCallDelegate;
            Shared.Application.currentVC.NavigationController.PushViewController(vc, true);
#else
#if __IOS__
            if (interphoneType == "IMOUVISIAL")
            {
                //乐橙可视对讲
                //1.初始化LCOpenSDK_Api
                LCApiKit.SharedInstance().InitSDKOpenApi(mESVideoInfo.Lc_AccessToken);
                //2021-05-18 目前推送的PlayToken;有问题会导致SDK崩溃,暂时不传
                //LCApiKit.SharedInstance().CurrentDevicePlayToken = mESVideoInfo.Lc_PlayToken;
                LCApiKit.SharedInstance().CurrentDeviceId = mESVideoInfo.Lc_DeviceId;
                LCApiKit.SharedInstance().CurrentDeviceName = mESVideoInfo.DeviceName;
                LCApiKit.SharedInstance().CurrentPsk = mESVideoInfo.Lc_DeviceId;
                //2.跳转乐橙呼叫页面
                LCOnIntercomViewController vc = new LCOnIntercomViewController();
                mOnLCCallDelegate = new OnLCCallDelegate(this);
                vc.MLCCallDelegate = mOnLCCallDelegate;
                //vc.MLCCallDelegate = new OnLCCallDelegate(this);
                Shared.Application.currentVC.NavigationController.PushViewController(vc, true);
            }
            else
            {
            Intent intent = new Intent(Shared.Application.Activity, typeof(HDL_ON_Android.VideoActivity));
                ESOnIntercomViewController vc = new ESOnIntercomViewController();
                vc.MESVideoID = mESVideoInfo.ESVideoUUID;
                vc.MESRoomID = roomID;
                vc.DeviceName = mESVideoInfo.DeviceName;
                //vc.RoomName = mESVideoInfo.RoomName;
                //vc.MESCallDelegate = new OnESCallDelegate(this);
                mOnESCallDelegate = new OnESCallDelegate(this);
                vc.MESCallDelegate = mOnESCallDelegate;
                Shared.Application.currentVC.NavigationController.PushViewController(vc, true);
            }
#else
            #region
            Intent intent = null;
            if (interphoneType == "IMOUVISIAL")
            {
                intent = new Intent(Shared.Application.Activity, typeof(HDL_ON_Android.LeChengVideoActivity));
            }
            else
            {
                intent = new Intent(Shared.Application.Activity, typeof(HDL_ON_Android.VideoActivity));
            }
            intent.PutExtra("ESVideoUUID", mESVideoInfo.ESVideoUUID);
            intent.PutExtra("uuid", mESVideoInfo.uuid);
            intent.PutExtra("DeviceName", mESVideoInfo.DeviceName);
            intent.PutExtra("cmtID", mESVideoInfo.cmtID);
            intent.PutExtra("roomno", mESVideoInfo.roomno);
            intent.PutExtra("unitno", mESVideoInfo.unitno);
            //intent.PutExtra("HomeID", mESVideoInfo.HomeID);
            intent.PutExtra("HomeID", PirSend.HomeId);
            intent.PutExtra("callId", mESVideoInfo.callId);
            intent.PutExtra("Type", 1);
            //=========乐橙==========
            intent.PutExtra("AccessToken", mESVideoInfo.Lc_AccessToken);
            intent.PutExtra("DeviceId", mESVideoInfo.Lc_DeviceId);
            intent.PutExtra("Location", OnAppConfig.Instance.RequestHttpsHost.Contains("China") ? 0 : 1);//如果域名包含china,则是国内账号);
            intent.PutExtra("PlayToken", mESVideoInfo.Lc_PlayToken);
            intent.PutExtra("Psk", mESVideoInfo.Lc_Psk);
            Shared.Application.Activity.StartActivity(intent);
            #endregion
#endif
        }
        #region 动作回调,提交记录到云端
        #region 动作回调和原生交互,提交记录到云端
        /// <summary>
        /// 判断callId是否为空
@@ -188,7 +286,7 @@
                }
                else
                {
                    Utlis.WriteLine("POST 挂断失败 code: "+ revertObj.Code);
                    Utlis.WriteLine("POST 挂断失败 code: " + revertObj.Code);
                }
            })
@@ -262,6 +360,7 @@
        }
        DateTime UnlockDateTime = DateTime.MinValue;
        /// <summary>
        /// 开锁成功
        /// </summary>
@@ -272,9 +371,9 @@
            if (CheckESVideoInfoIsNullOrEmpty()) return;
            //3S内不允许触发第二次
            if(UnlockDateTime.AddSeconds(3) > DateTime.Now)
            if (UnlockDateTime.AddSeconds(3) > DateTime.Now)
            {
                Utlis.WriteLine("3S内不允许触发第二次");
                //丰林SDKbug,呼叫的时候开锁成功会有2次回调,
                return;
@@ -303,6 +402,80 @@
        }
        #endregion
<<<<<<< HEAD
=======
        #region 王赢新接听和开锁接口
        /// <summary>
        /// 开锁
        /// </summary>
        void HDLUnlockAction()
        {
            //Utlis.WriteLine("UnlockAction");
            if (esVideoInfo == null) return;
            new Thread(() =>
            {
                Dictionary<string, object> dic = new Dictionary<string, object>();
                dic.Add("deviceId", esVideoInfo.Lc_DeviceId);//设备id
                dic.Add("callId", esVideoInfo.callId);
                var requestJson = HttpUtil.GetSignRequestJson(dic);
                var revertObj = HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_VideoDevice_OpenDoorbell, requestJson);
                if (revertObj.Code == StateCode.SUCCESS)
                {
                    Application.RunOnMainThread(() =>
                    {
#if __IOS__
                        //和原生监控界面交互、发送开锁成功通知
                        NSNotificationCenter.DefaultCenter.PostNotificationName("lcCallDelegateOpenDoorSuccess", null);
#endif
                    });
                }
                else
                {
                    Utlis.WriteLine("POST 开锁失败 code: " + revertObj.Code);
                }
            })
            { IsBackground = false }.Start();
        }
        /// <summary>
        /// 更改通话状态
        /// </summary>
        void HDLUpdateCallStatus(CallStatusType callStatusType, InterphoneType interphoneType, int callDuration = 0) {
            if (CheckESVideoInfoIsNullOrEmpty()) return;
            new Thread(() =>
            {
                Dictionary<string, object> dic = new Dictionary<string, object>();
                dic.Add("callId", esVideoInfo.callId);//呼叫id
                dic.Add("callStatus", callStatusType.ToString());//可用值:MISSED,RECEIVED,REJECT
                dic.Add("interphoneTypeEnum", interphoneType.ToString());//可用值:FLVI,IMOUVISIAL
                if (callStatusType == CallStatusType.RECEIVED && callDuration > 0)
                {
                    dic.Add("callDuration", callDuration);//通话时长(秒)
                }
                var requestJson = HttpUtil.GetSignRequestJson(dic);
                var revertObj = HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_VideoDevice_UpdateCallStatus, requestJson);
                if (revertObj.Code == StateCode.SUCCESS)
                {
                }
                else
                {
                    Utlis.WriteLine("POST 更新状态失败 code: " + revertObj.Code);
                }
            })
            { IsBackground = false }.Start();
        }
        #endregion
>>>>>>> origin/CJL-LC
#if __IOS__
        #region OnESCallDelegate
@@ -379,7 +552,77 @@
        }
#endregion
        #endregion
        #region OnLCCallDelegate
        /////// <summary>
        /////// OnLCCallDelegate 继承响应事件
        /////// </summary>
        OnLCCallDelegate mOnLCCallDelegate;
        /// <summary>
        ///
        /// </summary>
        public class OnLCCallDelegate : LCCallDelegate
        {
            [Weak] ESOnVideo _ESOnVideo;
            public OnLCCallDelegate(ESOnVideo mESOnVideo)
            {
                _ESOnVideo = mESOnVideo;
            }
            /// <summary>
            /// 接听
            /// </summary>
            public override void OnAnswerAction()
            {
                _ESOnVideo.HDLUpdateCallStatus(CallStatusType.RECEIVED, InterphoneType.IMOUVISIAL);
            }
            /// <summary>
            /// 挂断
            /// </summary>
            /// <param name="callDuration"></param>
            public override void OnHangUpAction(int callDuration)
            {
                _ESOnVideo.HDLUpdateCallStatus(CallStatusType.RECEIVED, InterphoneType.IMOUVISIAL, callDuration);
            }
            /// <summary>
            /// 拒接
            /// </summary>
            public override void OnRejectCallAction()
            {
                _ESOnVideo.HDLUpdateCallStatus(CallStatusType.REJECT, InterphoneType.IMOUVISIAL);
            }
            /// <summary>
            /// 截图成功
            /// </summary>
            /// <param name="image"></param>
            public override void OnScreenshotSuccessfulAction(UIImage image)
            {
                ////NSData imageData = UIImagePNGRepresentation(image); UIImage
                //NSData imageData = image.AsPNG();
                //byte[] dataBytes = new byte[imageData.Length];
                //System.Runtime.InteropServices.Marshal.Copy(imageData.Bytes, dataBytes, 0, Convert.ToInt32(imageData.Length));
                ////image.g
                ////_ESOnVideo.ScreenshotSuccessfulAction(dataBytes);
            }
            /// <summary>
            /// 开锁成功
            /// </summary>
            public override void OnUnlockAction()
            {
                _ESOnVideo.HDLUnlockAction();
            }
        }
        #endregion
#endif
        /// <summary>
@@ -392,23 +635,27 @@
            {
                DeviceName = "室外机88",
                ESVideoUUID = "JJY000019VPLLF",
            };
            if (isMonitor)
            {
                ShowESVideoMonitor(eSVideoInfo);
                ShowESVideoMonitor(eSVideoInfo, "");
            }
            else
            {
                eSVideoInfo.callId = "88888";
                ShowESvideoVideoIntercom(eSVideoInfo);
                ShowESvideoVideoIntercom(eSVideoInfo, "");
            }
        }
    }
    /// <summary>
<<<<<<< HEAD
    /// 丰林监视和呼叫功能所需相关参数
=======
    /// 可视对讲参数对象(仅在最后一步跳转到activity时才调用,为了做兼容这里都数据有点乱,以后有时间再理顺思路优化)
>>>>>>> origin/CJL-LC
    /// </summary>
    public class ESVideoInfo
    {
@@ -447,9 +694,68 @@
        /// </summary>
        public string callId = string.Empty;
        //========================大华==========================
        /// <summary>
        /// 账号accessToken
        /// </summary>
        public string Lc_AccessToken = string.Empty;
        /// <summary>
        /// 设备序列号,通讯必要字段
        /// </summary>
        public string Lc_DeviceId = string.Empty;
        /// <summary>
        /// 备注???
        /// </summary>
        public string Lc_Psk = string.Empty;
        /// <summary>
        /// 预览画面必须使用
        /// </summary>
        public string Lc_PlayToken = string.Empty;
        /// <summary>
        /// 账号标记:0国内,1国外;国内国外访问都地址不一样
        /// </summary>
        public int Lc_Location = 0;
    }
    /// <summary>
    /// 通话状态类型
    /// </summary>
    public enum CallStatusType
    {
        /// <summary>
        /// 未接
        /// </summary>
        MISSED,
        /// <summary>
        /// 已接听
        /// </summary>
        RECEIVED,
        /// <summary>
        /// 拒接
        /// </summary>
        REJECT,
    }
    /// <summary>
    /// 可视对讲设备平台类型
    /// </summary>
    public enum InterphoneType
    {
        /// <summary>
        /// 丰林平台
        /// </summary>
        FLVI,
        /// <summary>
        /// 大华可视对讲平台
        /// </summary>
        IMOUVISIAL,
    }
}
HDL_ON/Entity/FunctionList.cs
@@ -101,6 +101,7 @@
            return Functions.FindAll((obj) => spkList.Contains(obj.spk));
        }
    
        /// <summary>
        /// 红外宝列表
        /// </summary>
@@ -127,7 +128,7 @@
        public List<Function> GetEnvirSensorsList()
        {
            var spkList = SPK.EnvironSpkList();
            return Functions.FindAll((obj) => spkList.Contains(obj.spk));
            return Functions.FindAll((obj) => spkList.Contains(obj.spk));
        }
        /// <summary>
        /// 安防设备列表
@@ -139,9 +140,10 @@
        }
        /// <summary>
        /// 可视对讲列表
        /// 可视对讲列表,当为null或size为0则不显示可视对讲icon
        /// </summary>
        public UI.UI2.FuntionControlView.Video.VideoClouds videoIntercom;
        // public UI.UI2.FuntionControlView.Video.VideoClouds videoIntercom;
        public List<UI.UI2.FuntionControlView.Video.Video> videoIntercom = new List<UI.UI2.FuntionControlView.Video.Video>();
        List<Function> _OtherBrandFunction;
        /// <summary>
@@ -200,23 +202,23 @@
                //{
                //    UI.Music.A31MusicModel.A31MusicModelList.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<UI.Music.A31MusicModel>(functionDataString));
                //}
                if (checkRepeat == true)
                {
                    //检测重复
                    for (int i = 0; i < Functions.Count; i++)
                    {
                        if (Functions[i].deviceId == tempFunction.deviceId)
                        {
                            //先移除掉再加
                            Functions.RemoveAt(i);
                            Functions.Add(tempFunction);
                            return;
                        }
                    }
                if (checkRepeat == true)
                {
                    //检测重复
                    for (int i = 0; i < Functions.Count; i++)
                    {
                        if (Functions[i].deviceId == tempFunction.deviceId)
                        {
                            //先移除掉再加
                            Functions.RemoveAt(i);
                            Functions.Add(tempFunction);
                            return;
                        }
                    }
                }
                Functions.Add(tempFunction);
            }
            else if (filePath.StartsWith("SceneData_"))
            if (filePath.StartsWith("SceneData_"))
            {
                var sceneDataBytes = FileUtlis.Files.ReadFile(filePath);
                var sceneDataString = System.Text.Encoding.UTF8.GetString(sceneDataBytes);
@@ -347,6 +349,7 @@
                List.scenes.Remove(scene);
            }
        }
        /// <summary>
        /// 删除本地功能及文件
        /// </summary>
@@ -464,6 +467,7 @@
            })
            { IsBackground = true }.Start();
        }
        #region 场景相关
        /// <summary>
        /// 添加场景
HDL_ON/HDL_ON.projitems
@@ -9,22 +9,9 @@
    <Import_RootNamespace>HDL_ON</Import_RootNamespace>
  </PropertyGroup>
  <ItemGroup>
    <Compile Include="$(MSBuildThisFileDirectory)UI\BindingResidence\WellcomToHomeForm.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\MainPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)DAL\FileUtils.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Common\R.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)DAL\Mqtt\MqttInfoConfig.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)DAL\Server\HttpServerRequest.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Entity\ResponseEntity\RegionInfoRes.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Entity\ResponseEntity\ResponsePack.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Entity\Enumerative\EmptyHttpReques.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)DAL\Server\HttpServerRequestBase.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Entity\Room.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Entity\Enumerative\Command.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Entity\Enumerative\MyEnum.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Entity\DB_ResidenceData.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Entity\Function\Function.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Public\PublicAssmebly.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\BindingResidence\BindingResidencePage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\BindingResidence\WellcomToHomeForm.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\CSS\CSS.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Stan\Common\CommonClass.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Stan\Controls\BottomControls\BottomDateSelectControl.cs" />
@@ -51,100 +38,28 @@
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\UserPageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\UserPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\2-Classification\ClassificationPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\2-Classification\RoomPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\2-Classification\FunctionPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\2-Classification\FunctionControlZoneBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\2-Classification\FunctionPageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\2-Classification\FunctionControlZone.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\2-Classification\RoomPageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\2-Classification\ClassificaitionPublicBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\2-Classification\ClassificationPageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\FunctionBaseInfoSetPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\ChooseFloorPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\FunctionBaseInfoSetPageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\ChooseRoomPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Curtain\MotorCurtainPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Light\DimmerPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Light\RelayPageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Light\RGBPageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Light\RGBPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Light\RelayPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\1-HomePage\HomePageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\1-HomePage\HomePage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\PersonalCenterPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\PersonalDataPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\PersonalCenterPageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\PersonalDataPageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\RoomListManage\RoomEditPageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\RoomListManage\RoomEditFunctionPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\RoomListManage\RoomEditPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\RoomListManage\ResidentialManagePage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\RoomListManage\RoomEditFunctionPageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\RoomListManage\RoomsManagementPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\RoomListManage\FloorsManagementPageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\RoomListManage\FloorsManagementPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\RoomListManage\ResidentialManagePageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\RoomListManage\RoomsManagementPageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI1-Login\LoginPageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI1-Login\ForgetPasswordPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI1-Login\LoginPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI1-Login\ForgetPasswordPageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI1-Login\ResetPassword_VerificationCode.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI1-Login\RegisterPageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI1-Login\BaseView.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI1-Login\RegisterPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Public\PublicAssmeblyBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Public\TopViewDiv.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Public\TopViewDivBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\ChooseRoomPageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Light\DimmerPageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Curtain\MotorCurtainPageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Curtain\CurtainModulePage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Curtain\CurtainModulePageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Curtain\RollingShutterPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Curtain\RollingShutterPageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\AC\ACPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\AC\ACPageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\2-Classification\FunctionPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\2-Classification\FunctionPageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\2-Classification\FunctionControlZone.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\2-Classification\FunctionControlZoneBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\2-Classification\RoomPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\2-Classification\RoomPageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\2-Classification\ClassificaitionPublicBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Entity\Function\Scene.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Entity\FunctionList.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Entity\Function\AC.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Entity\Function\Curtain.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Entity\Function\FloorHeating.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Entity\Function\Light.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Entity\ResponseEntity\CityInfo.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\UnlockSetting\AppUnlockSettingsPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\UnlockSetting\AppUnlockSettingsPageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\UnlockSetting\AppUnlockPasswordPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Public\OperationSuccessPromptPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\UnlockSetting\AppUnlockGesturePage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Public\AppUnlockPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\FoolHeating\FloorHeatingPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\FoolHeating\FloorHeatingPageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Electrical\FanPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Entity\Function\Fan.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Entity\Function\SwitchSocket.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Electrical\FanPageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Electrical\SocketPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Electrical\SocketPageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Entity\Function\TV.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Electrical\TVPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Electrical\TVPageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\EnvironmentalScience\EnvironmentalSciencePage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Entity\Function\Sensor.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\EnvironmentalScience\EnvironmentalSciencePageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\EnvironmentalScience\EnvironmentalSensorPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\MemberManagement\MemberManagementPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Entity\ResponseEntity\ResidenceMemberInfo.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\MemberManagement\MemberManagementPageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\MemberManagement\MemberPermissionPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\MemberManagement\MemberFunctionPermissionPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Entity\AProtocolEntity.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\MemberManagement\MemberPermissionPageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\MemberManagement\AddMemberScanPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\MemberManagement\AddMemberScanPageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\MemberManagement\MemberFunctionPermissionPageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\FunctionBasePage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\ChooseRoomPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\ArmSensor\SensorWaterImmersionPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\ArmSensor\SensorDoorWinwsPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\ArmSensor\SensorSmokePage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\ArmSensor\SensorPirPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\ArmSensor\ArmSensorHistroyPaging.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\MusicMain.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\A31Radio.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\UpdateThread.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\A31RadioList.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\A31MusicModel.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\A31MusicSourcePage.cs" />
@@ -166,144 +81,237 @@
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\View\TipView.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\View\MusicSourceView.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\View\SongView.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\MemberManagement\ChooseShareMemberTargetListPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\MemberManagement\ChooseShareMemberTargetListPageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\AccountBindInfo\AccountBindInfoPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\AccountBindInfo\ChangeBindAccountPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\AccountBindInfo\ChangeBindVerificationCodePage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\AccountBindInfo\BindAccountPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\EnvironmentalScience\EchartsOption.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\ResetAccountPassword\ResetPasswordOptionPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\ResetAccountPassword\ResetPasswordVerificationCodePage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\ResetAccountPassword\ResetPasswordPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\UpdateThread.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\View\MyListView.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Public\UpdataSidDataDialog.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\IntelligencePage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Public\GalleryPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Scene\NewSceneMenuListPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Scene\SceneEditPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Scene\SceneFunctionListChoosePage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Scene\SetSceneFunctionInfoPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Scene\SetSceneLocationPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Electrical\TuyaFanPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Electrical\ClothesHangerPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Electrical\FanPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Electrical\ClothesHangerSetTimePage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Electrical\TuyaWeepRobotConsumablesMagPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Electrical\TVPageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Electrical\IrLearnPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Electrical\TVPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Electrical\TuyaWeepRobotHistoryPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Electrical\TuyaWaterValvePage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Electrical\SocketPageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Electrical\SocketPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Electrical\TuyaWeepRobotPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Electrical\TuyaAirCleanerPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Electrical\FanPageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Video\VideoMainView.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Video\VideoMethod.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Video\VideoSend.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Video\ObjectClass.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Video\View\ShowDialog.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Video\View\FrameLayout60.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Video\View\FrameLayout50.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\AC\ACPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\AC\ACPageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\FoolHeating\FloorHeatingPageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\FoolHeating\FloorHeatingPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Panel\PanelPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\SearchDevice\SearchDevicePage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\SearchDevice\VoicePanelScenePage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Entity\Device\DeviceModule.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Entity\Device\SBK_SceneListObj.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\SearchDevice\VoicePanelSettingPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\SearchDevice\VoicePanelSceneListPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)DAL\Server\NewAPI.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)DAL\Server\HttpUtil.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Common\Utlis.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)DAL\Server\IMessageCommon.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)DAL\Server\NewApiRes.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\AccountBindInfo\NewBindAccountPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\AccountBindInfo\NewBindVerificationCodePage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Common\HDLCommon.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Common\Constant.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Public\Widget\TextButton.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI1-Login\SelectServerDialog.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)DAL\DriverLayer\Control.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)DAL\DriverLayer\Control_TcpClient.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)DAL\DriverLayer\Control_TcpServer.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)DAL\DriverLayer\Control_Udp.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)DAL\DriverLayer\CRC.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)DAL\DriverLayer\Packet.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)DAL\DriverLayer\Target.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)DAL\DriverLayer\UdpSocket.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)DAL\DriverLayer\A_Protocol_Common.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)DAL\Mqtt\MqttClient.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\MyQRCodePage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Public\Widget\ListCellView.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Public\Widget\UpdateTipDialog.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\MyServerInfoPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\AboutOn\AboutOnPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\AboutOn\FunctionIntroductionPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\AboutOn\ComplaintsPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Public\Widget\EmptyTipView.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Public\Widget\LineView.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Public\Widget\ConfirmDialog.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Public\Widget\WebViewDialog.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\GetSupport\FAQHelpPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Public\Widget\ListIconCellView.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\GetSupport\QuestionListPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\GetSupport\GetSupportPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\RoomListManage\Transfer\TransferConfirmPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Public\Widget\ConfirmButton.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\RoomListManage\Transfer\AdminMigrationConfirmPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\RoomListManage\Transfer\TransferInputPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\RoomListManage\Transfer\AdminMigrationInputPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\RoomListManage\Transfer\TransferUserConfirmPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\1ContorlPage\AirFreshControlPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\1ContorlPage\AcControlPage_AddIrButton.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\1ContorlPage\AcControlPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\1ContorlPage\TvControlPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\1ContorlPage\FhControlPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Curtain\MotorCurtainPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Curtain\RollingShutterPageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Curtain\MotorCurtainPageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Curtain\CurtainModulePage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Curtain\RollingShutterPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Curtain\CurtainModulePageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Energy\EnergyMainPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Energy\EchartsOption_Energy.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\EnvironmentalScience\EnvironmentalSciencePageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\EnvironmentalScience\EnvironmentalSciencePage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\EnvironmentalScience\EchartsOption_Pie.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\EnvironmentalScience\EchartsOption.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\EnvironmentalScience\EnvironmentalPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\EnvironmentalScience\EnvironmentalSensorPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Light\ColorTureLampPageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Light\ColorTureLampPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Light\DimmerPageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Light\DimmerPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Light\RelayPageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Light\RGBPageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Light\RGBPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Light\RelayPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\1-HomePage\HomePageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\1-HomePage\MessageCenterPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Public\Widget\MenuButton.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Public\RoomGalleryPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\AddInputType.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\AddLogic.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\AddTarget.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\1-HomePage\HomePage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\IntelligencePage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\Send.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\FunTpye.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\InpOrOutLogicMethod.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\Logic.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\LogicMethod.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\MainView.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\Set.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\OutdoorEnvironment.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\Weather.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\ConditionDeviceFunList.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\TimeTpye.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\Logic.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\PublicInterface.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\MainView.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\LogicMethod.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\Time3.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\AddLogic.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\Set.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\WeatherCondition.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\TargetDeviceFunList.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\InpOrOutLogicMethod.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\SpeciaTime.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\AddTarget.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\AddInputType.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\LogicView\FunAllAreaView.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\LogicView\DateView.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\LogicView\AreaView.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\LogicView\MonView.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\LogicView\LogicAddView.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\LogicView\FunTypeView.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\LogicView\TopView.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\LogicView\SelectTypeView.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\LogicView\SwitchView.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\LogicView\TemperatureView.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\LogicView\LogicTypeTitleView.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\LogicView\TimeView.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\LogicView\TimeHorizonView.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\LogicView\TextSize.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\LogicView\AddOutputInputView.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\LogicView\TipPopView.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\LogicView\brightnessView.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\LogicView\AddOutputInputTextView.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\LogicView\SaveView.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\LogicView\SingleLogicView.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\Send.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Common\ImageUtlis.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\ConditionDeviceFunList.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\TargetDeviceFunList.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\LogicView\FunTypeView.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\LogicView\CheckView.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Common\FileUtlis.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\LogicView\SingleLogicView.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Scene\CatchSceneAddPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Scene\SceneEditPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Scene\SceneAddPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Scene\SetSceneFunctionInfoPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Scene\NewSceneMenuListPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Scene\SetSceneLocationPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Scene\SceneFunctionListChoosePage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Scene\CatchSceneCatchFunctionListPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\PersonalCenterPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\PersonalDataPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\MyServerInfoPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\PersonalCenterPageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\PersonalDataPageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\MyQRCodePage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\GetSupport\GetSupportPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\GetSupport\FAQHelpPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\GetSupport\QuestionListPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\PirDevice\AddControl.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\PirDevice\PirMain.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\PirDevice\Pir.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\PirDevice\PirSend.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\PirDevice\Matching.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\PirDevice\SetPir.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\PirDevice\BrandList.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\PirDevice\EditControl.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\PirDevice\Method.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\PirDevice\AddControlComplete.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\PirDevice\AddButton.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\PirDevice\View\BrandListView.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\PirDevice\View\PatchView.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\PirDevice\View\TopView.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\PirDevice\View\HeigthChangeView.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\PirDevice\View\PirNameView.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\PirDevice\View\MainView.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\PirDevice\View\ControlView.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\PirDevice\View\FailView.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\PirDevice\View\PirView.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\PirDevice\View\TipView.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\PirDevice\View\ReplicationView.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\PirDevice\View\FrameLayout50.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\PirDevice\View\SaveView.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\PirDevice\View\Buttons.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\AccountBindInfo\NewBindVerificationCodePage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\AccountBindInfo\NewBindAccountPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\AccountBindInfo\BindAccountPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\AccountBindInfo\AccountBindInfoPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\AccountBindInfo\ChangeBindAccountPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\AccountBindInfo\ChangeBindVerificationCodePage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\ResetAccountPassword\ResetPasswordOptionPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\ResetAccountPassword\ResetPasswordPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\ResetAccountPassword\ResetPasswordVerificationCodePage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\SearchDevice\SearchDevicePage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\SearchDevice\VoicePanelSceneListPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\SearchDevice\VoicePanelSettingPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\SearchDevice\VoicePanelScenePage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\RoomListManage\RoomEditPageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\RoomListManage\RoomEditFunctionPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\RoomListManage\RoomEditPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\RoomListManage\ResidentialManagePage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\RoomListManage\RoomEditFunctionPageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\RoomListManage\RoomsManagementPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\RoomListManage\FloorsManagementPageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\RoomListManage\FloorsManagementPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\RoomListManage\ResidentialManagePageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\RoomListManage\RoomsManagementPageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\RoomListManage\Transfer\TransferInputPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\RoomListManage\Transfer\TransferConfirmPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\RoomListManage\Transfer\AdminMigrationInputPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\RoomListManage\Transfer\AdminMigrationConfirmPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\RoomListManage\Transfer\TransferUserConfirmPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\RoomListManage\AddRoom\AddRoomPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\RoomListManage\AddRoom\RoomBinglingFloorPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\BindingResidence\BindingResidencePage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Common\DB_AccountList.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\PublicInterface.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Common\OnAppConfig.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Common\UserInfo.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Scene\SceneAddPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Public\Widget\SelectPopupDialog.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Common\Utlis\FloorSelectPopupDialog.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Light\ColorTureLampPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Light\ColorTureLampPageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Common\Utlis\FloorRoomSelectPopupView.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\LogicView\BrightnessView.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Common\ApiUtlis.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\LogicView\TemperatureView.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Public\DiySelectPopupDialog.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Public\Widget\ListCellDialog.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\SpeciaTime.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\Time3.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\Weather.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\OutdoorEnvironment.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\WeatherCondition.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\1-test-\TestDialog.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\MemberManagement\MemberFunctionPermissionPageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\MemberManagement\MemberFunctionPermissionPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\MemberManagement\AddMemberScanPageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\MemberManagement\ChooseShareMemberTargetListPageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\MemberManagement\MemberManagementPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\MemberManagement\MemberPermissionPageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\MemberManagement\AddMemberScanPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\MemberManagement\MemberManagementPageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\MemberManagement\MemberPermissionPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\MemberManagement\ChooseShareMemberTargetListPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\AddFunction\ThirdPartyBrandListPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\AddFunction\AddDevciePage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\AddFunction\AddThirdPartyBrandListpage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Entity\Integratedbrand\IntegratedBrand.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Entity\Function\AirCleaner.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Entity\Function\WeepRobot.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Electrical\TuyaAirCleanerPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Electrical\TuyaFanPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Electrical\TuyaWeepRobotPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\AddFunction\DeviceListPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\AddFunction\BrandListPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\UnlockSetting\AppUnlockGesturePage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\UnlockSetting\AppUnlockSettingsPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\UnlockSetting\AppUnlockSettingsPageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\UnlockSetting\AppUnlockPasswordPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\AddDevice\AddMiniRemoteControlDirection3Page.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\AddDevice\AddMiniRemoteControlDirection1Page.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\AddDevice\AddMiniRemoteControlDirection2Page.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\AddDevice\AddMiniRemoteControlDirection4Page.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\AddDevice\AddThirdPartyDeviceMenuListPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\AboutOn\FunctionIntroductionPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\AboutOn\AboutOnPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\AboutOn\ComplaintsPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\1-test-\TestDialog.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI1-Login\LoginPageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI1-Login\ForgetPasswordPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI1-Login\LoginPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI1-Login\ForgetPasswordPageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI1-Login\ResetPassword_VerificationCode.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI1-Login\RegisterPageBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI1-Login\BaseView.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI1-Login\RegisterPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI1-Login\SelectServerDialog.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Public\TopViewDivBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Public\RoomGalleryPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Public\DiySelectPopupDialog.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Public\PublicAssmebly.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Public\AppUnlockPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Public\OperationSuccessPromptPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Public\UpdataSidDataDialog.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Public\PublicAssmeblyBLL.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Public\GalleryPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Public\TopViewDiv.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Public\Widget\ListIconCellView.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Public\Widget\TextButton.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Public\Widget\WebViewDialog.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Public\Widget\IconTipDialog.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Public\Widget\SelectPopupDialog.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Public\Widget\ConfirmButton.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Public\Widget\ListCellDialog.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Public\Widget\MenuButton.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Public\Widget\EmptyTipView.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Public\Widget\UpdateTipDialog.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Public\Widget\ListCellView.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Public\Widget\ConfirmDialog.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Public\Widget\LineView.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Stan\Resourse\HdlControlResourse.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Stan\Form\HideOptionDirectoryListForm.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Stan\Form\HideOptionSearchAllFile.cs" />
@@ -316,7 +324,11 @@
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Stan\Logic\HdlThreadLogic.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Stan\Logic\HdlDeviceStatuPushLogic.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Stan\Logic\HdlMessageLogic.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Stan\Logic\HdlCloudReceiveLogic.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Stan\Logic\HdlFormLogic.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Stan\Logic\HdlBluetoothIOSLogic.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Stan\Logic\HdlWifiLogic.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Stan\Logic\HdlBluetoothAndroidLogic.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Stan\Controls\BottomControls\BottomItemEditorControl.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Stan\Controls\BottomControls\BottomDialogCommon.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Stan\Controls\BottomControls\BottomTimeSelectControl.cs" />
@@ -343,21 +355,15 @@
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Stan\Controls\ListViewLayoutControls\VerticalFrameRefreshControl.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Stan\Controls\ListViewLayoutControls\VerticalFrameControl.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Stan\Controls\CompoundControls\DialogTitleMenuControl.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Stan\Controls\CompoundControls\ProgressRowBar.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Stan\Controls\CompoundControls\NormalSelectControl.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Stan\Controls\CompoundControls\DirectionImageControl.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Stan\Controls\CompoundControls\SeekBarImageControl.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Stan\Controls\CompoundControls\BatteryPersentControl.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Stan\Controls\CompoundControls\FanGearSeekBarControl.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Stan\Controls\CompoundControls\ProgressBar.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Electrical\TuyaWaterValvePage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Stan\Controls\CompoundControls\BatteryPersentControl.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Electrical\TuyaWeepRobotConsumablesMagPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Electrical\TuyaWeepRobotHistoryPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Electrical\ClothesHangerPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\FunctionBasePage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\ArmSensor\SensorPirPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\ArmSensor\SensorWaterImmersionPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\ArmSensor\SensorDoorWinwsPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\ArmSensor\SensorSmokePage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Entity\Enumerative\MyEnum.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Entity\Enumerative\Command.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Entity\Enumerative\ClothsHangerEnum.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\PirDevice\PirMain.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\PirDevice\View\TopView.cs" />
@@ -433,29 +439,63 @@
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\AddDevice\SenesorMegahealth\SenesorMegahealthManagerPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\ArmSensor\SenesorMegahealthPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Electrical\IrFanPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Entity\Enumerative\EmptyHttpReques.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Entity\Integratedbrand\IntegratedBrand.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Entity\Function\AirCleaner.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Entity\Function\Scene.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Entity\Function\AC.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Entity\Function\Sensor.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Entity\Function\Curtain.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Entity\Function\FloorHeating.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Entity\Function\Fan.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Entity\Function\Light.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Entity\Function\SwitchSocket.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Entity\Function\Function.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Entity\Function\WeepRobot.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Entity\Function\TV.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Entity\ResponseEntity\RegionInfoRes.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Entity\ResponseEntity\ResidenceMemberInfo.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Entity\ResponseEntity\ResponsePack.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Entity\ResponseEntity\CityInfo.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)DAL\FileUtils.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)DAL\ThirdPartySdk\ESOnVideo.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)DAL\Server\IMessageCommon.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)DAL\Server\NewAPI.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)DAL\Server\HttpUtil.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)DAL\Server\HttpServerRequest.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)DAL\Server\NewApiRes.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)DAL\Server\HttpServerRequestBase.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)DAL\DriverLayer\Control.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)DAL\DriverLayer\A_Protocol_Common.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)DAL\DriverLayer\CRC.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)DAL\DriverLayer\Control_TcpClient.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)DAL\DriverLayer\Control_Udp.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)DAL\DriverLayer\Control_TcpServer.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)DAL\DriverLayer\Packet.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)DAL\DriverLayer\Target.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)DAL\DriverLayer\UdpSocket.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)DAL\Mqtt\MqttClient.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)DAL\Mqtt\MqttInfoConfig.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Common\ApiUtlis.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Common\ImageUtlis.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Common\Utlis.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Common\R.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Common\OnAppConfig.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Common\DB_AccountList.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Common\Constant.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Common\FileUtlis.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Common\UserInfo.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Common\HDLCommon.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Common\Utlis\FloorSelectPopupDialog.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Common\Utlis\FloorRoomSelectPopupView.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Entity\AProtocolEntity.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Entity\DB_ResidenceData.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Entity\FunctionList.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Entity\Room.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Entity\Device\DeviceModule.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Entity\Device\SBK_SceneListObj.cs" />
  </ItemGroup>
  <ItemGroup>
    <Folder Include="$(MSBuildThisFileDirectory)DAL\" />
    <Folder Include="$(MSBuildThisFileDirectory)DAL\Mqtt\" />
    <Folder Include="$(MSBuildThisFileDirectory)Common\" />
    <Folder Include="$(MSBuildThisFileDirectory)DAL\Server\" />
    <Folder Include="$(MSBuildThisFileDirectory)Entity\" />
    <Folder Include="$(MSBuildThisFileDirectory)Entity\ResponseEntity\" />
    <Folder Include="$(MSBuildThisFileDirectory)Entity\Enumerative\" />
    <Folder Include="$(MSBuildThisFileDirectory)Entity\Function\" />
    <Folder Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\AC\" />
    <Folder Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\UnlockSetting\" />
    <Folder Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\FoolHeating\" />
    <Folder Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Electrical\" />
    <Folder Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\EnvironmentalScience\" />
    <Folder Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\MemberManagement\" />
    <Folder Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\AccountBindInfo\" />
    <Folder Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\ResetAccountPassword\" />
    <Folder Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\" />
    <Folder Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\" />
    <Folder Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Scene\" />
    <Folder Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Panel\" />
    <Folder Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\SearchDevice\" />
    <Folder Include="$(MSBuildThisFileDirectory)Entity\Device\" />
    <Folder Include="$(MSBuildThisFileDirectory)UI\UI0-Public\Widget\" />
    <Folder Include="$(MSBuildThisFileDirectory)DAL\DriverLayer\" />
HDL_ON/UI/UI0-Public/TopViewDiv.cs
@@ -340,7 +340,7 @@
        /// <summary>
        /// 成员顶部栏
        /// </summary>
        public void LoadTopView_MemberTopView(Action addAction, Action action)
        public void LoadTopView_MemberTopView(Action callBack, Action action)
        {
            LoadTopView();
            backAction = action;
HDL_ON/UI/UI0-Public/Widget/DiySelectPopupDialog.cs
File was deleted
HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs
@@ -719,7 +719,7 @@
                        functionCount = FunctionList.List.GetArmSensorList().Count;
                        break;
                    case ShowFunction.VideoIntercom:
                        if (FunctionList.List.videoIntercom != null)
                        if (FunctionList.List.videoIntercom != null && FunctionList.List.videoIntercom.Count > 0)
                        {
                            functionCount = 1;
                        }
@@ -1028,12 +1028,12 @@
                        btnName.TextID = StringId.Sensor;
                        functionPageTitleId = StringId.Sensor;
                        break;
                    case ShowFunction.VideoIntercom:
                    case ShowFunction.VideoIntercom://可视对讲
                        btnName.TextID = StringId.VideoIntercom;
                        btnFunctionViewBg.MouseUpEventHandler = (sender, e) =>
                        {
                            var videoMethod = new UI2.FuntionControlView.Video.VideoMethod();
                            videoMethod.MianView(this,FunctionList.List.videoIntercom);
                            videoMethod.MianView(this);
                        };
                        break;
                    case ShowFunction.SecurityCenter:
HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs
@@ -504,6 +504,7 @@
        {
            //定义一个局部weekList列表用来记录选中数据;
            List<string> weekStateList = new List<string>();
            PublicInterface weekView = new PublicInterface();
            if (Logic.currlogic.cycle.type == "week")
            {
HDL_ON/UI/UI2/3-Intelligence/Automation/AirQuality.cs
File was deleted
HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs
@@ -407,40 +407,6 @@
                            }
                        }
                        break;
                    case "9":
                        {
                            inputView.btnIcon.UnSelectedImagePath = "LogicIcon/changesinoutdoor.png";
                            foreach (var dic in dicList)
                            {
                                string strtext = "";
                                string value = dic["value"];
                                switch (value)
                                {
                                    case "excellent":
                                        {
                                            strtext = Language.StringByID(StringId.kongqiyou);
                                        }
                                        break;
                                    case "good":
                                        {
                                            strtext = Language.StringByID(StringId.kongqiliang);
                                        }
                                        break;
                                    case "poor":
                                        {
                                            strtext = Language.StringByID(StringId.kongqicha);
                                        }
                                        break;
                                }
                                inputView.btnText.TextID = StringId.kongqizhiliang;
                                inputView.btnState.Text = strtext;
                            }
                        }
                        break;
                }
                //再次编辑条件状态点击事件
@@ -596,15 +562,6 @@
                                WeatherCondition weatherCondition = new WeatherCondition();
                                MainPage.BasePageView.AddChidren(weatherCondition);
                                weatherCondition.Show();
                                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                            }
                            break;
                        case "9":
                            {
                                AirQuality airQuality = new AirQuality();
                                MainPage.BasePageView.AddChidren(airQuality);
                                airQuality.Show();
                                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                            }
                            break;
HDL_ON/UI/UI2/3-Intelligence/Automation/Logic.cs
@@ -5,7 +5,6 @@
    /// <summary>
    /// 逻辑存储数据对象
    /// </summary>
    [Serializable]
    public class Logic
    {
@@ -49,6 +48,7 @@
        /// 逻辑输出目标数组
        /// </summary>
        public List<Output> output = new List<Output>();
<<<<<<< HEAD
        /// <summary>
        /// 通知配置
        /// </summary>
@@ -58,12 +58,14 @@
        /// </summary>
        public List<PushConfigs> pushConfigs = new List<PushConfigs>();
=======
>>>>>>> origin/CJL-LC
    }
    /// <summary>
    /// 执行周期对象
    /// </summary>
    [Serializable]
    public class Cycle
    {
        /// <summary>
@@ -76,7 +78,6 @@
    /// <summary>
    /// 输入条件对象
    /// </summary>
    [Serializable]
    public class Input
    {
        /// <summary>
@@ -96,15 +97,10 @@
        /// </summary>
        public string condition_type = "";
        public List<Dictionary<string, string>> condition = new List<Dictionary<string, string>>();
        /// <summary>
        /// 地理围栏配置
        /// </summary>
        public Fence geo_fence = new Fence();
    }
    /// <summary>
    /// 输出目标对象
    /// </summary>
    [Serializable]
    public class Output
    {
        /// <summary>
@@ -124,6 +120,7 @@
        public string target_type = "";
        public List<Dictionary<string, string>> status = new List<Dictionary<string, string>>();
    }
<<<<<<< HEAD
    /// <summary>
    /// 地理围栏配置
    /// </summary>
@@ -177,6 +174,9 @@
        /// </summary>
        public List<string> pushTarget = new List<string> {};
    }
=======
>>>>>>> origin/CJL-LC
}
HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/AddOutputInputTextView.cs
@@ -35,6 +35,7 @@
            frameLayout.Height = Application.GetRealHeight(flHeight);
            btnIf.Y= Application.GetRealHeight(btnY);
            frameLayout.AddChidren(btnIf);
            return frameLayout;
        }
    }
HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/TopView.cs
@@ -9,7 +9,7 @@
        /// <summary>
        /// 最上面块View
        /// </summary>
        public FrameLayout frameLayout = new FrameLayout
        public FrameLayout frameLayout = new FrameLayout
        {
            BackgroundColor = CSS.CSS_Color.viewTop,
            Height = Application.GetRealHeight(64),
@@ -22,7 +22,7 @@
        {
            TextSize = TextSize.text18,
            TextColor = CSS.CSS_Color.textColor,
            Width = Application.GetRealWidth(TextSize.view375 - 60 - 60),
            Width = Application.GetRealWidth(TextSize.view375-60-60),
            Height = Application.GetRealHeight(25),
            Y = Application.GetRealHeight(30),
            X = Application.GetRealWidth(60)
@@ -62,7 +62,7 @@
        /// <summary>
        /// 设置图标增加热键大小
        /// </summary>
        public Button clickSetBtn = new Button
        public Button clickSetBtn = new Button
        {
            X = Application.GetRealWidth(337 - 37),
            Width = Application.GetRealWidth(28 + 37),
@@ -82,35 +82,6 @@
            return frameLayout;
        }
        #endregion
        /// <summary>
        /// 显示位置
        /// </summary>
        public void Location()
        {
            //获取宽度
            int widthValue = topNameBtn.GetTextWidth();
            int textWidth = (Application.GetRealWidth(255) - widthValue) / 2;
            Button locationBtn = new Button
            {
                Width = Application.GetRealWidth(18),
                Height = Application.GetRealWidth(18),
                X = Application.GetRealWidth(60 + 4) + textWidth + widthValue,
                Y = Application.GetRealHeight(34 + 1),
                UnSelectedImagePath = "LogicIcon/location.png",
            };
            frameLayout.AddChidren(locationBtn);
            Button textBtn = new Button
            {
                Height = Application.GetRealHeight(14),
                Y = Application.GetRealHeight(57),
                TextSize = LogicView.TextSize.text10,
                TextColor = CSS.CSS_Color.textCancelColor,
                Text = "广东广州市番禺区石楼镇",
            };
            frameLayout.AddChidren(textBtn);
        }
    }
}
HDL_ON/UI/UI2/3-Intelligence/Automation/MainView.cs
@@ -124,7 +124,11 @@
        /// <summary>
        ///  按+跳转到逻辑界面的方法
        /// </summary>
<<<<<<< HEAD
        public void SkipAddLogicPage(Logic logic=null)
=======
        public static void SkipAddLogicPage()
>>>>>>> origin/CJL-LC
        {
            if (logic == null)
            {
@@ -261,7 +265,7 @@
            if (idStr.Code == "0" && idStr.Data != null && idStr.Data.ToString() != "")
            {
                var date = Newtonsoft.Json.JsonConvert.SerializeObject(idStr.Data);
                var dateList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<LogicData>>(date);
                var dateList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Date>>(date);
                for (int i = 0; i < dateList.Count; i++)
                {
                    //添加逻辑ID
@@ -526,12 +530,12 @@
            }
        }
    }
    class LogicData
    class Date
    {
        /// <summary>
        /// 云端唯一id
        /// </summary>
        public string userLogicId = "";
        public string userLogicId = "";
        /// <summary>
        /// 网关id
        /// </summary>
HDL_ON/UI/UI2/3-Intelligence/Automation/PublicInterface.cs
@@ -388,157 +388,6 @@
        }
        /// <summary>
        /// 超出5个元素该用滑动控件
        /// </summary>
        /// <param name="frame">显示在哪个界面的父控件</param>
        /// <param name="list">显示数据源</param>
        /// <param name="stateList">之前状态数据源</param>
        /// <param name="titleText">标题</param>
        /// <param name="action">返回值索引值</param>
        public void FrameOrVvList(FrameLayout frame, List<string> list,List<string>stateList, int titleText, Action<List<string>> action)
        {
            int line = 0;
            if (list.Count == 0 || list.Count > 5)
            {
                //超出5个只能默认5个;
                line = 5;
            }
            else
            {
                line = list.Count;
            }
            FrameLayout frameLayout = new FrameLayout
            {
                BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
            };
            frame.AddChidren(frameLayout);
            LogicView.DateView view = new LogicView.DateView();
            view.btnTitle.TextID = titleText;
            view.FLayoutView(frameLayout, line);
            view.btnCancel.MouseUpEventHandler += (sender, e) =>
            {
                //移除fLayout界面
                frameLayout.RemoveFromParent();
            };
            //小于5使用
            FrameLayout frameL = new FrameLayout
            {
                Y = Application.GetRealHeight(56),
                Height = Application.GetRealHeight(50 * line),
            };
            //大于5使用
            VerticalRefreshLayout verticalRefresh = new VerticalRefreshLayout
            {
                Y = Application.GetRealHeight(56),
                Height = Application.GetRealHeight(50 * 5),
            };
            verticalRefresh.BeginHeaderRefreshingAction += () =>
            {
                //关闭刷新View;
                verticalRefresh.EndHeaderRefreshing();
            };
            if (list.Count == 0)
            {
                //Button btnTipNot = new Button
                //{
                //    X = Application.GetRealWidth(93),
                //    Y = Application.GetRealHeight(80),
                //    Width = Application.GetRealWidth(158),
                //    Height = Application.GetRealWidth(158),
                //    UnSelectedImagePath = "TipNot.png",
                //};
                //view.frameLayout.AddChidren(btnTipNot);
                //Button btnTipNotText = new Button()
                //{
                //    Y = btnTipNot.Bottom + Application.GetRealHeight(16),
                //    Height = Application.GetRealHeight(20),
                //    TextID = StringId.secnenull,
                //    TextColor = CSS.CSS_Color.textColor,
                //    TextSize = LogicView.TextSize.text14,
                //    TextAlignment = TextAlignment.Center,
                //};
                //view.frameLayout.AddChidren(btnTipNotText);
            }
            else if (list.Count > 0 && list.Count <= 5)
            {
                view.frameLayout.AddChidren(frameL);
            }
            else if (list.Count > 5)
            {
                view.frameLayout.AddChidren(verticalRefresh);
            }
            List<string> selecetdList = new List<string>();
            for (int i = 0; i < list.Count; i++)
            {
                string strName = list[i];
                LogicView.CheckView checkView = new LogicView.CheckView();
                checkView.btnText.TextSize = LogicView.TextSize.text14;
                if (list.Count <= 5)
                {
                    checkView.frameLayout.Y = Application.GetRealWidth(i * 50);
                    frameL.AddChidren(checkView.FLayoutView());
                    if (line - 1 == i)
                    {
                        checkView.btnLine.BackgroundColor = CSS.CSS_Color.view;
                    }
                }
                else
                {
                    verticalRefresh.AddChidren(checkView.FLayoutView());
                }
                if (stateList.Contains(strName)) {
                    checkView.btnClick.IsSelected = true;
                    checkView.btnCheckIcon.IsSelected = true;
                    selecetdList.Add(strName);
                }
                checkView.btnText.Text = strName;
                checkView.btnClick.Tag = strName;//标记
                //点击事件
                checkView.btnClick.MouseUpEventHandler += (sender1, e1) =>
                {
                    checkView.btnClick.IsSelected = !checkView.btnClick.IsSelected;
                    checkView.btnCheckIcon.IsSelected = checkView.btnClick.IsSelected;
                    if (checkView.btnClick.IsSelected)
                    {
                        if (!selecetdList.Contains(checkView.btnClick.Tag.ToString()))
                        {
                            selecetdList.Add(checkView.btnClick.Tag.ToString());
                        }
                    }
                    else
                    {
                        if (selecetdList.Contains(checkView.btnClick.Tag.ToString()))
                        {
                            selecetdList.Remove(checkView.btnClick.Tag.ToString());
                        }
                    }
                };
            }
            view.btnConfirm.MouseUpEventHandler += (sender1, e1) =>
            {
                if (selecetdList.Count == 0)
                {
                    return;
                }
                //列表索引值
                action(selecetdList);
                //移除fLayout界面
                frameLayout.RemoveFromParent();
            };
        }
        /// <summary>
        /// 获取界面列表
HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs
@@ -4,33 +4,11 @@
using HDL_ON.DAL.Server;
using Newtonsoft.Json.Linq;
using System.Collections.Generic;
using HDL_ON.Entity;
namespace HDL_ON.UI.UI2.Intelligence.Automation
{
    public  class Send
    {
        /// <summary>
        /// 调用获取住宅子账号列表
        /// </summary>
        public static List<ResidenceMemberInfo> GetResidenceMemberAccount()
        {
            var responePack = new HttpServerRequest().GetResidenceMemberAccount();
            if (responePack.Code == StateCode.SUCCESS)
            {
                return Newtonsoft.Json.JsonConvert.DeserializeObject<List<ResidenceMemberInfo>>(responePack.Data.ToString());
            }
            //失败
            else
            {
                //提示
                IMessageCommon.Current.ShowErrorInfoAlter(responePack.Code);
            }
            return new List<ResidenceMemberInfo>();
        }
        /// <summary>
        /// 获取逻辑ID列表
        /// </summary>
@@ -128,6 +106,7 @@
                    outputArray.Add(outputTypeJOb);
                }
<<<<<<< HEAD
                var noticeConfigJObject = new JObject();
                noticeConfigJObject.Add("enable", logic.noticeConfig.enable);
@@ -151,6 +130,8 @@
                    }
                }
=======
>>>>>>> origin/CJL-LC
                var logicjArray = new JArray { };
                var logicIfon = new JObject { };
                logicIfon.Add("sid", logic.sid);
@@ -161,8 +142,11 @@
                logicIfon.Add("cycle", cycleJObject);
                logicIfon.Add("input", inputArray);
                logicIfon.Add("output", outputArray);
<<<<<<< HEAD
                logicIfon.Add("noticeConfig", noticeConfigJObject);
                logicIfon.Add("pushConfigs", pushConfigsArray);
=======
>>>>>>> origin/CJL-LC
                logicjArray.Add(logicIfon);
                var jObject = new JObject { { "homeId", LogicMethod.HomeId }, { "logics", logicjArray } };
                responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Logic_Add,5);
@@ -241,6 +225,7 @@
                    outputArray.Add(outputTypeJOb);
                }
<<<<<<< HEAD
                var noticeConfigJObject = new JObject();
                noticeConfigJObject.Add("enable", logic.noticeConfig.enable);
                noticeConfigJObject.Add("noticeContent", logic.noticeConfig.noticeContent);
@@ -264,6 +249,8 @@
                    }
                }
=======
>>>>>>> origin/CJL-LC
                var logicjArray = new JArray { };
                var logicIfon = new JObject { };
                logicIfon.Add("userLogicId", logic.userLogicId);
@@ -275,9 +262,12 @@
                logicIfon.Add("cycle", cycleJObject);
                logicIfon.Add("input", inputArray);
                logicIfon.Add("output", outputArray);
<<<<<<< HEAD
                logicIfon.Add("noticeConfig", noticeConfigJObject);
                logicIfon.Add("pushConfigs", pushConfigsArray);
=======
>>>>>>> origin/CJL-LC
                logicjArray.Add(logicIfon);
                var jObject = new JObject { { "homeId", LogicMethod.HomeId }, { "logics", logicjArray } };
                responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Logic_Update,5);
HDL_ON/UI/UI2/3-Intelligence/Automation/Time3.cs
@@ -18,7 +18,29 @@
            topView.frameLayout.Height = Application.GetRealHeight(64 + 20);
            this.AddChidren(topView.FLayoutView());
            topView.topNameBtn.Text = titelText;
            topView.Location();
            //获取宽度
            int widthValue = topView.topNameBtn.GetTextWidth();
            int textWidth = (Application.GetRealWidth(255) - widthValue) / 2;
            Button locationBtn = new Button
            {
                Width = Application.GetRealWidth(18),
                Height = Application.GetRealWidth(18),
                X = Application.GetRealWidth(60 + 4) + textWidth + widthValue,
                Y = Application.GetRealHeight(34 + 1),
                UnSelectedImagePath = "LogicIcon/location.png",
            };
            topView.frameLayout.AddChidren(locationBtn);
            Button textBtn = new Button
            {
                Height = Application.GetRealHeight(14),
                Y = Application.GetRealHeight(57),
                TextSize = LogicView.TextSize.text10,
                TextColor = CSS.CSS_Color.textCancelColor,
                Text = "广东广州市番禺区石楼镇",
            };
            topView.frameLayout.AddChidren(textBtn);
            topView.clickBackBtn.MouseUpEventHandler += (e, sen) =>
            {
                RemoveFromParent();
HDL_ON/UI/UI2/3-Intelligence/Automation/Weather.cs
@@ -46,6 +46,7 @@
            weatherView.btnLine.Width = Application.GetRealWidth(375 - 16 - 16);
            weatherView.btnText.TextID = StringId.tianqibianhua;
            viewLayout.AddChidren(weatherView.FLayoutView());
<<<<<<< HEAD
            //空气质量
            LogicView.SelectTypeView kongqiViewk = new LogicView.SelectTypeView(); 
            kongqiViewk.frameLayout.Y = weatherView.frameLayout.Bottom;
@@ -55,6 +56,9 @@
            kongqiViewk.btnLine.Width = Application.GetRealWidth(375 - 16 - 16);
            kongqiViewk.btnText.TextID = StringId.kongqizhiliang;
            viewLayout.AddChidren(kongqiViewk.FLayoutView());
=======
>>>>>>> origin/CJL-LC
            #endregion
            #region  所有点击事件
            //室外温、湿度、PM2.5变化
@@ -72,14 +76,7 @@
                weatherCondition.Show();
                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
            };
            //空气质量
            kongqiViewk.btnClick.MouseUpEventHandler += (sen, e) => {
                AirQuality airQuality = new AirQuality();
                MainPage.BasePageView.AddChidren(airQuality);
                airQuality.Show();
                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
            };
            #endregion
        }
    }
HDL_ON/UI/UI2/3-Intelligence/Automation/WeatherCondition.cs
@@ -16,7 +16,29 @@
            topView.frameLayout.Height = Application.GetRealHeight(64 + 20);
            this.AddChidren(topView.FLayoutView());
            topView.topNameBtn.TextID = StringId.selectionCondition;
            topView.Location();
            //获取宽度
            int widthValue = topView.topNameBtn.GetTextWidth();
            int textWidth = (Application.GetRealWidth(255) - widthValue) / 2;
            Button locationBtn = new Button
            {
                Width = Application.GetRealWidth(18),
                Height = Application.GetRealWidth(18),
                X = Application.GetRealWidth(60 + 4) + textWidth + widthValue,
                Y = Application.GetRealHeight(34 + 1),
                UnSelectedImagePath = "LogicIcon/location.png",
            };
            topView.frameLayout.AddChidren(locationBtn);
            Button textBtn = new Button
            {
                Height = Application.GetRealHeight(14),
                Y = Application.GetRealHeight(57),
                TextSize = LogicView.TextSize.text10,
                TextColor = CSS.CSS_Color.textCancelColor,
                Text = "广东广州市番禺区石楼镇",
            };
            topView.frameLayout.AddChidren(textBtn);
            topView.clickBackBtn.MouseUpEventHandler += (e, sen) =>
            {
                RemoveFromParent();
HDL_ON/UI/UI2/3-Intelligence/IntelligencePage.cs
@@ -606,8 +606,7 @@
                else
                {
                    //跳转到逻辑界面
                    UI2.Intelligence.Automation.MainView logicMainView = new UI2.Intelligence.Automation.MainView();
                    logicMainView.SkipAddLogicPage();
                    UI2.Intelligence.Automation.MainView.SkipAddLogicPage();
                }
            };
        }
HDL_ON/UI/UI2/3-Intelligence/Scene/CatchSceneAddPage.cs
@@ -1,7 +1,5 @@
using System;
using System.Collections.Generic;
using System.Threading;
using HDL_ON.DAL.Server;
using HDL_ON.Entity;
using HDL_ON.UI.CSS;
using Shared;
@@ -21,36 +19,6 @@
        private Button btnChooseZoneViewTitle;
        private VerticalScrolViewLayout functionListView;
        private Button btnComplete;
        #region 图标选择部分图标
        /// <summary>
        /// 背景图选项区域
        /// </summary>
        FrameLayout pictureOptionView;
        /// <summary>
        /// 背景图选项选择区域
        /// </summary>
        VerticalScrolViewLayout optionView;
        /// <summary>
        /// 默认图库按钮
        /// </summary>
        Button btnDefaultGallery;
        /// <summary>
        /// 拍照按钮
        /// </summary>
        Button btnTakePicture;
        /// <summary>
        /// 相册按钮
        /// </summary>
        Button btnAlbum;
        /// <summary>
        /// 取消按钮
        /// </summary>
        Button btnCancel;
        #endregion
        /// <summary>
        /// 捕捉的区域列表
        /// </summary>
@@ -69,6 +37,7 @@
                RemoveFromParent();
            };
        }
        public void LoadPage()
        {
@@ -105,14 +74,6 @@
            //2020-12-03 修改图片加载方法
            ImageUtlis.Current.LoadLocalOrNetworkImages(scene.ImagePath, addSceneImageView);
            /// <summary>
            /// 修改场景背景事件
            /// </summary>
            addSceneImageView.MouseUpEventHandler = (sender, e) =>
            {
                LoadPictureOptionView();
            };
            #region 场景名称row
            sceneNameView = new FrameLayout()
@@ -213,6 +174,71 @@
                BackgroundColor = CSS_Color.BackgroundColor,
            });
            #endregion
            #region 场景延时row
            /*
            if (DB_ResidenceData.Instance.GatewayType == 1)
            {
                FrameLayout sceneDelayRow = new FrameLayout()
                {
                    Y = sceneNameView.Bottom,
                    Height = Application.GetRealWidth(50),
                };
                contentView.AddChidren(sceneDelayRow);
                Button btnSceneDelayRight = new Button()
                {
                    X = Application.GetRealWidth(339),
                    Gravity = Gravity.CenterVertical,
                    Width = Application.GetMinRealAverage(16),
                    Height = Application.GetMinRealAverage(16),
                    UnSelectedImagePath = "Public/Right.png",
                };
                sceneDelayRow.AddChidren(btnSceneDelayRight);
                var btnSceneDelayInfo = new Button()
                {
                    Width = Application.GetRealWidth(327),
                    TextAlignment = TextAlignment.CenterRight,
                    TextColor = CSS_Color.PromptingColor1,
                    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                    Text = scene.GetDelayText()
                };
                sceneDelayRow.AddChidren(btnSceneDelayInfo);
                Button btnSceneDelayTitle = new Button()
                {
                    X = Application.GetRealWidth(16),
                    //Width = Application.GetRealWidth(90),
                    TextAlignment = TextAlignment.CenterLeft,
                    TextColor = CSS_Color.FirstLevelTitleColor,
                    TextSize = CSS_FontSize.TextFontSize,
                    TextID = StringId.SceneDelay,
                };
                sceneDelayRow.AddChidren(btnSceneDelayTitle);
                btnSceneDelayTitle.MouseUpEventHandler = (sender, e) =>
                {
                    Action<string> action = (obj) => {
                        scene.delay = obj;
                        btnSceneDelayInfo.Text = scene.GetDelayText();
                    };
                    Dictionary<string, string> items = new Dictionary<string, string>();
                    items.Add("30", "30s");
                    items.Add("60", "1min");
                    items.Add("120", "2min");
                    items.Add("300", "5min");
                    new PublicAssmebly().SetSceneDelayDialog(items, action, scene.delay);
                };
                contentView.AddChidren(new Button()
                {
                    Y = sceneDelayRow.Bottom,
                    Height = Application.GetRealHeight(8),
                    BackgroundColor = CSS_Color.BackgroundColor,
                });
            }
            */
            #endregion
            #region 选择区域
            FrameLayout chooseZoneView = new FrameLayout()
@@ -247,6 +273,8 @@
                BackgroundColor = CSS_Color.BackgroundColor,
            };
            contentView.AddChidren(btnLine1);
            #endregion
@@ -314,6 +342,8 @@
                }
            };
        }
        /// <summary>
        /// 加载功能列表
@@ -402,273 +432,6 @@
            }
        }
        /// <summary>
        /// 加载图标选择选项
        /// </summary>
        void LoadPictureOptionView()
        {
            var pView = new FrameLayout()
            {
                BackgroundColor = CSS_Color.DialogTransparentColor1,
            };
            bodyView.AddChidren(pView);
            pictureOptionView = new FrameLayout()
            {
                Y = Application.GetRealHeight(445),
                Height = Application.GetRealHeight(250),
                AnimateSpeed = 0.3f,
                Animate = Animate.DownToUp,
            };
            pView.AddChidren(pictureOptionView);
            optionView = new VerticalScrolViewLayout()
            {
                Gravity = Gravity.CenterHorizontal,
                Width = Application.GetRealWidth(343),
                Height = Application.GetRealHeight(150),
                BackgroundColor = CSS_Color.MainBackgroundColor,
                Radius = (uint)Application.GetRealWidth(12),
            };
            pictureOptionView.AddChidren(optionView);
            btnDefaultGallery = new Button()
            {
                Height = Application.GetRealHeight(50),
                TextAlignment = TextAlignment.Center,
                TextColor = CSS_Color.TextualColor,
                SelectedTextColor = CSS_Color.MainColor,
                TextSize = CSS_FontSize.SubheadingFontSize,
                TextID = StringId.DefaultGallery,
            };
            optionView.AddChidren(btnDefaultGallery);
            optionView.AddChidren(new Button() { Height = Application.GetRealHeight(1), Width = Application.GetRealWidth(343), BackgroundColor = CSS_Color.DividingLineColor });
            btnTakePicture = new Button()
            {
                Height = Application.GetRealHeight(50),
                TextAlignment = TextAlignment.Center,
                TextColor = CSS_Color.TextualColor,
                SelectedTextColor = CSS_Color.MainColor,
                TextSize = CSS_FontSize.SubheadingFontSize,
                TextID = StringId.TakePicture,
            };
            optionView.AddChidren(btnTakePicture);
            optionView.AddChidren(new Button() { Height = Application.GetRealHeight(1), Width = Application.GetRealWidth(343), BackgroundColor = CSS_Color.DividingLineColor });
            btnAlbum = new Button()
            {
                Height = Application.GetRealHeight(50),
                TextAlignment = TextAlignment.Center,
                TextColor = CSS_Color.TextualColor,
                SelectedTextColor = CSS_Color.MainColor,
                TextSize = CSS_FontSize.SubheadingFontSize,
                TextID = StringId.Album,
            };
            optionView.AddChidren(btnAlbum);
            optionView.AddChidren(new Button() { Height = Application.GetRealHeight(1), Width = Application.GetRealWidth(343), BackgroundColor = CSS_Color.DividingLineColor });
            btnCancel = new Button()
            {
                Gravity = Gravity.CenterHorizontal,
                Y = Application.GetRealHeight(8) + optionView.Bottom,
                Width = Application.GetRealWidth(343),
                Height = Application.GetRealHeight(50),
                BackgroundColor = CSS_Color.MainBackgroundColor,
                Radius = (uint)Application.GetRealWidth(12),
                TextID = StringId.Cancel,
                TextColor = CSS_Color.WarningColor,
                TextSize = CSS_FontSize.SubheadingFontSize,
            };
            pictureOptionView.AddChidren(btnCancel);
            LoadEvent_PictureOptionViewEventList(pView);
        }
        /// <summary>
        /// 加载背景图选择区域事件列表
        /// </summary>
        void LoadEvent_PictureOptionViewEventList(FrameLayout pView)
        {
            pictureOptionView.MouseUpEventHandler = (sender, e) =>
            {
                pictureOptionView.Parent.RemoveFromParent();
            };
            pView.MouseUpEventHandler = (sender, e) =>
            {
                pictureOptionView.Parent.RemoveFromParent();
            };
            btnCancel.MouseUpEventHandler = (sender, e) =>
            {
                pictureOptionView.Parent.RemoveFromParent();
            };
            btnTakePicture.MouseDownEventHandler = (sender, e) => {
                btnTakePicture.IsSelected = true;
            };
            btnTakePicture.MouseUpEventHandler = (sender, e) =>
            {
                btnTakePicture.IsSelected = false;
                var imageName = Guid.NewGuid().ToString();
                CropImage.TakePicture((imagePath) =>
                {
                    CropImageCallBack(imagePath);
                }, imageName, 4, 3);
                pictureOptionView.Parent.RemoveFromParent();
            };
            btnAlbum.MouseDownEventHandler = (sender, e) => {
                btnAlbum.IsSelected = true;
            };
            btnAlbum.MouseUpEventHandler = (sender, e) =>
            {
                btnAlbum.IsSelected = false;
                //从相册选择图片裁剪
                var imageName = Guid.NewGuid().ToString();
                //var imageName = scene.sid;
                CropImage.SelectPicture((imagePath) =>
                {
                    CropImageCallBack(imagePath);
                }, imageName, 4, 3);
                //if (pageTitleId == StringId.EditScene)
                //{
                //    scene.SaveFunctionData();
                //}
                pictureOptionView.Parent.RemoveFromParent();
            };
            btnDefaultGallery.MouseUpEventHandler = (sender, e) => {
                pictureOptionView.Parent.RemoveFromParent();
                Action<string> action = (obj) => {
                    scene.ImagePath = obj;
                    addSceneImageView.ImageBytes = null;//解决有ImageBytes不加载ImagePath
                    addSceneImageView.ImagePath = scene.ImagePath;
                };
                var galleryPage = new GalleryPage(scene.ImagePath, action);
                MainPage.BasePageView.AddChidren(galleryPage);
                galleryPage.LoadPage(true);
                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
            };
        }
        /// <summary>
        /// 裁剪完照片回调,统一处理
        /// </summary>
        /// <param name="imagePath">裁剪后的真实路径</param>
        /// <param name="imageName">自定义的图片名称</param>
        void CropImageCallBack(string selectImagePath)
        {
            if (string.IsNullOrEmpty(selectImagePath) == true)
            {
                return;
            }
            //上传成功到回调
            Action<string> uploadSuccessAction = (imageUrl) =>
            {
                //2020-12-03 需要讲最新的图片路径同步到云端
                scene.ImagePath = imageUrl;
            };
            //上传图片到云端
            UploadImage(selectImagePath, addSceneImageView, scene, uploadSuccessAction);
        }
        /// <summary>
        /// 上传图片方法
        /// </summary>
        /// <param name="selectImagePath">裁剪后的图片路径</param>
        /// <param name="imageView"></param>
        /// <param name="uploadSuccessAction"></param>
        void UploadImage(string selectImagePath, ImageView imageView, Scene mScene, Action<string> uploadSuccessAction)
        {
            try
            {
                //MainPage.Log("SelectPicture 裁剪图片返回路径: " + selectImagePath);
                //1.读取裁剪后的图片,然后删除
                var imageBytes = Shared.IO.FileUtils.ReadFile(selectImagePath);
                System.IO.File.Delete(selectImagePath);
                var waitPage = new Loading();
                bodyView.AddChidren(waitPage);
                waitPage.Start(Language.StringByID(StringId.PleaseWait));
                //开始上传
                new Thread(() =>
                {
                    try
                    {
                        var newImageName = mScene.name.Trim() + ".png";
                        var uploadImageObj = new UploadImageObj()
                        {
                            prefix = "Scene" + Utlis.GetTimestamp(),
                            fileName = newImageName,
                            uid = mScene.sid,
                            content = imageBytes,
                        };
                        var imageUrl = ImageUtlis.Current.UploadImage(uploadImageObj);
                        if (!string.IsNullOrEmpty(imageUrl) && imageUrl.Contains(newImageName))
                        {
                            //上传成功
                            Application.RunOnMainThread(() =>
                            {
                                //Utlis.WriteLine("上传成功:" + imageUrl);
                                //1.2如果是自定义图片删除之前的
                                if (!string.IsNullOrEmpty(imageView.ImagePath) && !imageView.ImagePath.Contains("Classification/Room/Roombg"))
                                {
                                    //Utlis.WriteLine("删除: " + imageView.ImagePath);
                                    System.IO.File.Delete(imageView.ImagePath);
                                }
                                //重命名保存
                                ImageUtlis.Current.WriteFileByBytes(imageUrl, imageBytes);
                                imageView.ImagePath = null;
                                imageView.ImageBytes = imageBytes;
                                //上传成功
                                Utlis.ShowTip(Language.StringByID(StringId.UploadSuccessfully));
                                uploadSuccessAction?.Invoke(imageUrl);
                            });
                        }
                        else
                        {
                            //上传失败
                            Application.RunOnMainThread(() =>
                            {
                                //上传失败
                                Utlis.ShowTip(Language.StringByID(StringId.UploadFailed));
                            });
                        }
                    }
                    catch (Exception ex)
                    {
                    }
                    finally
                    {
                        Application.RunOnMainThread(() =>
                        {
                            if (waitPage != null)
                            {
                                waitPage.RemoveFromParent();
                                waitPage = null;
                            }
                        });
                    }
                })
                { IsBackground = true }.Start();
            }
            catch { }
        }
    }
}
HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirSend.cs
@@ -36,6 +36,12 @@
                return Entity.DB_ResidenceData.Instance.CurrentRegion.id;
            }
        }
        /// <summary>
        /// 乐橙subAccessToken
        /// </summary>
        public static string LcSubAccessToken = "";
        /// <summary>
        /// 是否为其他主用户分享过来的住宅
        /// </summary>
HDL_ON/UI/UI2/FuntionControlView/Video/ObjectClass.cs
@@ -7,6 +7,7 @@
    {
       
    }
    [Serializable]
    public class VideoClouds
    {
@@ -52,6 +53,7 @@
        public string flCmtId = string.Empty;
    }
    [Serializable]
    public class Call
    {
@@ -88,6 +90,7 @@
        /// </summary>
        public string flBindId = string.Empty;
    }
    [Serializable]
    public class CallView
    {
@@ -99,6 +102,7 @@
        public List<Call> callList = new List<Call>();
    }
    [Serializable]
    public class FlVideo
    {
@@ -112,4 +116,92 @@
        public string devType = string.Empty;
        public string uuid = string.Empty;
    }
    /// <summary>
    /// 可视对讲(通用)
    /// </summary>
    [Serializable]
    public class Video
    {
        /// <summary>
        /// 子账号accessToken
        /// </summary>
        public string subAccountToken = string.Empty;
        /// <summary>
        /// 设备名称
        /// </summary>
        public string deviceName = string.Empty;
        /// <summary>
        /// 设备id、序列号、uuid
        /// </summary>
        public string deviceId = string.Empty;
        /// <summary>
        /// 设备类型:IMOUVISIAL(乐橙)、
        /// </summary>
        public string interphoneType = string.Empty;
        /// <summary>
        /// 乐橙playToken,预览画面时必须使用的参数
        /// </summary>
        public string playToken = string.Empty;
        /// <summary>
        /// 状态:online
        /// </summary>
        public string status = string.Empty;
        /// <summary>
        /// 设备类型:(1室内机,2室外机,3围墙机,4管理机,5二次确认机)
        /// </summary>
        public string devType = string.Empty;
        /// <summary>
        /// 丰林可视对讲data
        /// </summary>
        public VideoFlData flRoomBindVO = new VideoFlData();
    }
    /// <summary>
    /// 丰林可视对讲数据
    /// </summary>
    [Serializable]
    public class VideoFlData
    {
        /// <summary>
        /// 丰林绑定id(flBindId)(userKey)
        /// </summary>
        public string id = string.Empty;
        /// <summary>
        /// 住宅id
        /// </summary>
        public string homeId = string.Empty;
        /// <summary>
        /// 虚拟手机号
        /// </summary>
        public string phone = string.Empty;
        /// <summary>
        /// 虚拟身份证号码
        /// </summary>
        public string idCard = string.Empty;
        /// <summary>
        /// 社区主键Id
        /// </summary>
        public string communtiyId = string.Empty;
        /// <summary>
        /// 丰林楼栋号
        /// </summary>
        public string flBuildingId = string.Empty;
        /// <summary>
        /// 丰林楼栋名称
        /// </summary>
        public string flBuildingName = string.Empty;
        /// <summary>
        /// 丰林房间名称
        /// </summary>
        public string flRoomId = string.Empty;
        /// <summary>
        /// 丰林安全密钥
        /// </summary>
        public string flSecretKey = string.Empty;
        /// <summary>
        /// 丰林的小区Id
        /// </summary>
        public string flCmtId = string.Empty;
    }
}
HDL_ON/UI/UI2/FuntionControlView/Video/VideoMainView.cs
@@ -4,6 +4,7 @@
using Shared;
using HDL_ON.Stan;
using ZXing.QrCode.Internal;
using static HDL_ON.UI.UI2.FuntionControlView.Video.VideoMethod;
namespace HDL_ON.UI.UI2.FuntionControlView.Video
{
@@ -12,10 +13,9 @@
        /// <summary>
        /// 加载可视对讲UI
        /// </summary>
        /// <param name="listVideo">门口机列表</param>
        /// <param name="listCall">通话记录列表</param>
        /// <param name="video">当前的可视对讲</param>
        public void Show(List<FlVideo> listVideo, List<CallView> listCall, VideoClouds video)
        /// <param name="videoList">可视对讲列表</param>
        public void Show(List<CallView> listCall, List<Video> videoList)
        {
            #region 布局界面
            this.BackgroundColor = MusicColor.ViewColor;
@@ -35,8 +35,13 @@
            pageView.AddChidren(view1);
            var view2 = new FrameLayout();
            pageView.AddChidren(view2);
<<<<<<< HEAD
            ViewFrameLayout1(view1, listVideo, video);
            ViewFrameLayout2(view2, listCall, video);
=======
            View1(view1, videoList);
            View2(view2, listCall, videoList);
>>>>>>> origin/CJL-LC
            Button btn11 = new Button
            {
                X = Application.GetRealWidth(170),
@@ -107,13 +112,19 @@
            };
            #endregion
        }
        /// <summary>
        /// 第一个界面
        /// </summary>
        /// <param name="view1">父控件</param>
<<<<<<< HEAD
        /// <param name="list">门口机列表</param>
        /// <param name="videoClouds">当前的可视对讲</param>
        void ViewFrameLayout1(FrameLayout view1, List<FlVideo> list, VideoClouds videoClouds)
=======
        /// <param name="video">可视对讲对象</param>
        void View1(FrameLayout view1, List<Video> videoList)
>>>>>>> origin/CJL-LC
        {
@@ -190,23 +201,25 @@
                Width = Application.GetRealWidth(327),
            };
            bjFl.AddChidren(vv);
            if (list.Count > 0)
            bool bol = haveFlVideo(videoList);
            if (bol)
            {
                //门禁二维码固定有的,虚拟一个出来
                list.Add(new FlVideo { aliasName = Language.StringByID(StringId.menjinerweima), devType = "100" });
                videoList.Add(new Video { deviceName = Language.StringByID(StringId.menjinerweima), interphoneType = "100" });
            }
            //数组个数
            //int value = 15;
            //先计算数据所需要的很高度;
            int l = 0;
            if (list.Count % 3 == 0)
            if (videoList.Count % 3 == 0)
            {
                l = list.Count / 3;
                l = videoList.Count / 3;
            }
            else
            {
                l = (list.Count / 3) + 1;
                l = (videoList.Count / 3) + 1;
            }
            var fL = new FrameLayout
            {
@@ -216,9 +229,9 @@
            vv.AddChidren(fL);
            int line = 0;
            #endregion
            for (int i = 1, j = 0; i <= list.Count; i++, j++)
            for (int i = 1, j = 0; i <= videoList.Count; i++, j++)
            {
                var video = list[i - 1];
                var video = videoList[i - 1];
                #region
                var fLayout = new FrameLayout
                {
@@ -247,7 +260,7 @@
                    TextSize = TextSize.Text10,
                    TextColor = CSS.CSS_Color.TextualColor,
                    TextAlignment = TextAlignment.Center,
                    Text = video.aliasName,
                    Text = video.deviceName,
                };
                fLayout.AddChidren(deviceNameBtn);
@@ -265,11 +278,11 @@
                //门口机的点击事件
                clickBtn.MouseUpEventHandler += (sender, e) =>
                {
                    var flVideo = clickBtn.Tag as FlVideo;
                    if (flVideo.devType == "100")
                    var video2 = clickBtn.Tag as Video;
                    if (video2.devType == "100")
                    {
                        //门禁二维码固定有的
                        VideoSend.GetQRcode(this, videoClouds, (tag, paw) =>
                        VideoSend.GetQRcode(this, video2, (tag, paw) =>
                        {
                            if (tag)
                            {
@@ -281,36 +294,49 @@
                    }
                    else
                    {
                        if (string.IsNullOrEmpty(flVideo.uuid))
                        if (string.IsNullOrEmpty(video.deviceId))
                        {
                            new Intelligence.Automation.LogicView.TipPopView().FlashingBox(Language.StringByID(StringId.peizhicanshuyouyichang));
                            return;
                        }
                        //Unitno = Intent.GetStringExtra("unitno");
                        //HomeID = Intent.GetStringExtra("HomeID");
                        ESVideoInfo eSVideoInfo = new ESVideoInfo
                        {
                            ESVideoUUID = getUuid(flVideo.uuid),
                            DeviceName = flVideo.aliasName,
                            roomno = videoClouds.flRoomId,
                            unitno = videoClouds.flBuildingId,
                            ESVideoUUID = getUuid(video.deviceId),
                            DeviceName = video.deviceName,
                            roomno = video.flRoomBindVO.flRoomId,
                            unitno = video.flRoomBindVO.flBuildingId,
                            uuid= getUuid(video.deviceId),
                            cmtID=video.flRoomBindVO.flCmtId,
                            Lc_AccessToken = video.subAccountToken,
                            Lc_DeviceId = video.deviceId,
                            Lc_Psk = video.deviceName,
                            Lc_PlayToken = video.playToken,
                        };
                        ESOnVideo.Current.ShowESVideoMonitor(eSVideoInfo);
                        ESOnVideo.Current.ShowESVideoMonitor(eSVideoInfo, video.interphoneType);
                    }
                };
            }
        }
        /// <summary>
        /// 第二个界面
        /// </summary>
        /// <param name="view2">父控件</param>
        /// <param name="listCall">通话记录列表</param>
<<<<<<< HEAD
        /// <param name="video">当前的可视对讲</param>
        void ViewFrameLayout2(FrameLayout view2, List<CallView> listCall, VideoClouds video) 
=======
        /// <param name="videoList">可视对讲列表</param>
        void View2(FrameLayout view2, List<CallView> listCall, List<Video> videoList)
>>>>>>> origin/CJL-LC
        {
            var bjFl = new FrameLayout
            {
                Y = Application.GetRealHeight(24),
@@ -349,20 +375,20 @@
                TextAlignment = TextAlignment.CenterLeft,
                TextID = StringId.baolu30,
            };
            //bjFl.AddChidren(regionBtn);
            bjFl.AddChidren(regionBtn);
            var vv = new VerticalRefreshLayout
            {
                X = Application.GetRealWidth(16),
                Y = Application.GetRealHeight(58),
                Height = Application.GetRealHeight(458),
                Y = Application.GetRealHeight(58 + 17),
                Height = Application.GetRealHeight(458 - 17),
                Width = Application.GetRealWidth(295),
            };
            bjFl.AddChidren(vv);
            vv.BeginHeaderRefreshingAction += () =>
            {
                VideoMethod videoMethod = new VideoMethod();
                var list = videoMethod.GetCall(video.id);
                var list = videoMethod.GetCall();
                RefreshView(vv, list);
                //关闭刷新View;
                vv.EndHeaderRefreshing();
@@ -370,6 +396,7 @@
            RefreshView(vv, listCall);
        }
        /// <summary>
        /// 通话记录刷新界面
        /// </summary>
@@ -395,6 +422,7 @@
                    frameLayout60.btnTime.Text = getTime(call.callTime);
                    ///呼叫状态(0:未接;1:已接;2:拒接);是否开锁;
                    frameLayout60.btnStateText.Text = getStateText(call.callStatus) + "," + getUnlockText(call.isUnlock);
                }
            }
@@ -406,11 +434,11 @@
        /// </summary>
        /// <param name="flVideo"></param>
        /// <param name="iconBtn">图标</param>
        private void getIconAndText(FlVideo flVideo, Button iconBtn)
        private void getIconAndText(Video Video, Button iconBtn)
        {
            //(1室内机,2室外机,3围墙机,4管理机,5二次确认机)
            string iconstr = "";
            switch (flVideo.devType)
            switch (Video.devType)
            {
                case "1":
                    {
@@ -461,10 +489,7 @@
        {
            var utcTime = Convert.ToDateTime(str);
            var dateTime = TimeZoneInfo.ConvertTimeFromUtc(utcTime, TimeZoneInfo.Local);
            // var monday = dateTime.ToString("MM") + Language.StringByID(StringId.month) + dateTime.ToString("dd") + Language.StringByID(StringId.day);
            var monday = dateTime.ToString("MM") + "/" + dateTime.ToString("dd");
            var time = dateTime.ToString("HH") + ":" + dateTime.ToString("mm");
            return monday + " " + time;
            return dateTime.ToString("HH") + ":" + dateTime.ToString("mm");
        }
        /// <summary>
        /// 获取呼叫状态文本
@@ -501,14 +526,16 @@
        /// <returns></returns>
        private string getUnlockText(bool if_bool)
        {
            string s = "";
            if (if_bool)
            {
                return Language.StringByID(StringId.yikaisuo);
                s = Language.StringByID(StringId.yikaisuo);
            }
            else
            {
                return Language.StringByID(StringId.weikaisuo);
                s = Language.StringByID(StringId.weikaisuo);
            }
            return s;
        }
        /// <summary>
        /// 获取uuid
@@ -528,6 +555,22 @@
            }
        }
        //判断是否有 丰林可视对讲
        private bool haveFlVideo(List<Video> videoList)
        {
            bool bol = false;
            for (int i = 0; i < videoList.Count; i++)
            {
                var _video = videoList[i];
                if (_video.interphoneType == "FLVI")
                    return true;
            }
            return bol;
        }
    }
}
HDL_ON/UI/UI2/FuntionControlView/Video/VideoMethod.cs
@@ -3,6 +3,8 @@
using HDL_ON.UI.UI2.PersonalCenter.PirDevice;
using System.Collections.Generic;
using Shared;
using HDL_ON.Entity;
using Newtonsoft.Json;
namespace HDL_ON.UI.UI2.FuntionControlView.Video
{
@@ -13,24 +15,31 @@
        /// </summary>
        /// <param name="frameLayout">log父控件</param>
        /// <param name="video">可视对讲对象</param>
        public void MianView(FrameLayout frameLayout, VideoClouds video)
        public void MianView(FrameLayout frameLayout)
        {
            //加载log
            Loading loading = new Loading();
            frameLayout.AddChidren(loading);
            loading.Start();
            List<FlVideo> listESVideoInfo = new List<FlVideo>();
            List<CallView> listCall = new List<CallView>();
            new System.Threading.Thread(() =>
            {
                try
                {
                    listESVideoInfo = VideoSend.GetVideoInfoList(video);
                    listCall = GetCall(video.id);
                    // 这里再获取一次设备列表(更新数据)
                    var videoInfo = VideoSend.GetVideoInfoList();
                    if (videoInfo.Code == StateCode.SUCCESS)
                    {
                        string data_str = videoInfo.Data.ToString();
                        FunctionList.List.videoIntercom = JsonConvert.DeserializeObject<List<UI.UI2.FuntionControlView.Video.Video>>(data_str);
                    }
                    // 获取通话记录
                    listCall = GetCall();
                }
                catch
                {
                    //
                }
                finally
                {
@@ -39,13 +48,14 @@
                        loading.Hide();
                        var mainView = new VideoMainView();
                        MainPage.BasePageView.AddChidren(mainView);
                        mainView.Show(listESVideoInfo, listCall, video);
                        mainView.Show(listCall, FunctionList.List.videoIntercom);
                        MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                    });
                }
            })
            { IsBackground = true }.Start();
        }
        /// <summary>
        /// 获取可视对讲
        /// </summary>
@@ -68,18 +78,18 @@
                 }
             }, "获取可视对讲", "fram", frame, null, tag);
        } 
        /// <summary>
        /// 获取历史通话记录
        /// </summary>
        /// <param name="id"></param>
        public List<CallView> GetCall(string id)
        public List<CallView> GetCall()
        {
            List<CallView> callViewList = new List<CallView>();
            try
            {
                List<Call> listCall = new List<Call>();
                var responsePackNew = VideoSend.GetCall(id);
                var responsePackNew = VideoSend.GetCall();
                if (responsePackNew != null && responsePackNew.Code == "0" && responsePackNew.Data.ToString() != "")
                {
                    var jobject = Newtonsoft.Json.Linq.JObject.Parse(responsePackNew.Data.ToString());
@@ -132,6 +142,7 @@
            catch { }
            return callViewList;
        } 
        /// <summary>
        /// 发送命令线程
        /// </summary>
@@ -165,11 +176,12 @@
                {
                    if (str == "获取可视对讲")
                    {
                        responsePackNew = VideoSend.GetVideo();
                        // responsePackNew = VideoSend.GetVideo();
                        responsePackNew = VideoSend.GetVideoInfoList();
                    }
                    else if (str == "获取通话记录")
                    {
                        responsePackNew = VideoSend.GetCall(videoObj.id);
                        responsePackNew = VideoSend.GetCall();
                    }
                }
@@ -206,6 +218,7 @@
        }
        /// <summary>
        /// 随机密码6位
        /// </summary>
@@ -220,6 +233,7 @@
            }
            return code;
        } 
        /// <summary>
        /// 获取当前时间戳
        /// </summary>
@@ -234,6 +248,7 @@
            return ((long)(DateTime.Now - startTime).TotalSeconds).ToString(); // 相差秒数
            
        }
        /// <summary>
        /// 获取当前时间戳
        /// </summary>
@@ -246,7 +261,6 @@
            System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)); // 当地时区
            return ((long)(DateTime.Now.AddDays(1) - startTime).TotalSeconds).ToString(); // 相差秒数
        }
    }
}
HDL_ON/UI/UI2/FuntionControlView/Video/VideoSend.cs
@@ -22,16 +22,18 @@
            var responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_FL_Check);
            return responsePackNew;
        }
        /// <summary>
        /// 获取通话记录
        /// </summary>
        /// <returns></returns>
        public static ResponsePackNew GetCall(string flBindId)
        public static ResponsePackNew GetCall()
        {
            var jObject = new JObject { { "homeId", PirSend.HomeId }, { "flBindId", flBindId }, { "pageSize", int.MaxValue } };
            var jObject = new JObject { { "homeId", PirSend.HomeId }, { "pageSize", int.MaxValue } };
            var responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_FL_GetCallList);
            return responsePackNew;
        }
        /// <summary>
        /// 获取门口机列表(1室内机,2室外机,3围墙机,4管理机,5二次确认机)
        /// </summary>
@@ -64,21 +66,36 @@
            catch { }
            return eSVideoInfosList;
        }
        /// <summary>
        /// 获取可视对讲设备列表
        /// </summary>
        /// <returns></returns>
        public static ResponsePackNew GetVideoInfoList()
        {
            var jobject = new JObject();
            jobject.Add("homeId", PirSend.HomeId);//1382596006055460866
            var requestJson = HttpUtil.GetSignRequestJson(jobject);//数据签名
            // 获取可视对讲设备列表
            var revertObj = HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_VideoDeviceList, requestJson);
            return revertObj;
        }
        /// <summary>
        /// 上报动态开锁密码(注意:密码有可能延时1分钟生效)
        /// </summary>
        public static void GetQRcode(FrameLayout frame, VideoClouds video, Action<bool, string> action)
        public static void GetQRcode(FrameLayout frame, Video video, Action<bool, string> action)
        {
            ///标记是否成功
            bool if_bool = false;
            //临时密码
            string pwd = VideoMethod.GetCode();
            var jobject = new JObject();             jobject.Add("communityID", video.flCmtId);//社区ID
            var jobject = new JObject();             jobject.Add("communityID", video.flRoomBindVO.flCmtId);//社区ID
            jobject.Add("fromTime", VideoMethod.GetCurrentTimeStamp());//开始时间
            jobject.Add("validTime", VideoMethod.GetTomorrowTimeStamp());//有效时间
            jobject.Add("unitno", video.flBuildingId);//单元号
            jobject.Add("roomno", video.flRoomId);//房间号
            jobject.Add("code", pwd);             jobject.Add("userKey", video.id);             jobject.Add("timestamp", VideoMethod.GetCurrentTimeStamp());             jobject.Add("secretKey", video.flSecretKey);             jobject.Add("method", "setdynamicpwd");             jobject.Add("numTimes", "5");
            jobject.Add("unitno", video.flRoomBindVO.flBuildingId);//单元号
            jobject.Add("roomno", video.flRoomBindVO.flRoomId);//房间号
            jobject.Add("code", pwd);             jobject.Add("userKey", video.flRoomBindVO.id);             jobject.Add("timestamp", VideoMethod.GetCurrentTimeStamp());             jobject.Add("secretKey", video.flRoomBindVO.flSecretKey);             jobject.Add("method", "setdynamicpwd");             jobject.Add("numTimes", "5");
            //加载log
            Loading loading = new Loading();
            frame.AddChidren(loading);
@@ -90,29 +107,13 @@
                    var str = HttpWebRequest(NewAPI.API_POST_FL_QRcode, jobject.ToString(), "POST");
                    if (!string.IsNullOrEmpty(str))
                    {
                        if (str.Contains("status"))
                        var json = JObject.Parse(str);
                        if (json != null)
                        {
                            //var json = JObject.Parse(str);
                            //if (json != null)
                            //{
                            //    var stateCode = json["status"].ToString();
                            //    if (stateCode == "0")
                            //    {
                            //        if_bool = true;
                            //    }
                            //}
                            if_bool = true;
                        }
                        else {
                            var json = JObject.Parse(str);
                            if (json != null)
                            var stateCode = json["status"].ToString();
                            if (stateCode == "0")
                            {
                                var stateCode = json["desc"].ToString();
                                Application.RunOnMainThread(() =>
                                {
                                    //错误提示
                                    new Intelligence.Automation.LogicView.TipPopView().FlashingBox(stateCode);
                                });
                                if_bool = true;
                            }
                        }
                    }
@@ -131,6 +132,7 @@
            })
            { IsBackground = true }.Start();
        }
        /// <summary>
        /// 下载图片
        /// </summary>
@@ -158,6 +160,7 @@
            })
            { IsBackground = true }.Start();
        }
        /// <summary>
        ///  请求服务器的方法(支持请求方式为POST/GET)
        /// </summary>
@@ -201,6 +204,7 @@
                return null;
            }
        }
        /// <summary>
        ///请求服务器(与住宅有关:例如;homeId) 
        /// </summary>
HDL_ON/UI/UI2/FuntionControlView/Video/View/FrameLayout50.cs
@@ -8,10 +8,10 @@
        /// <summary>
        /// 主控件View
        /// </summary>
        public RowLayout frameLayout = new RowLayout
        public FrameLayout frameLayout = new FrameLayout
        {
            Height = Application.GetRealHeight(50),
            LineColor = CSS.CSS_Color.view,
            // BackgroundColor = CSS.CSS_Color.view,
        };
        /// <summary>
        /// 文本描述
@@ -36,7 +36,7 @@
        /// View的方法
        /// </summary>
        /// <returns></returns>
        public RowLayout FLayoutView()
        public FrameLayout FLayoutView()
        {
            frameLayout.AddChidren(btnText);
            frameLayout.AddChidren(btnClick);
HDL_ON/UI/UI2/FuntionControlView/Video/View/FrameLayout60.cs
@@ -8,10 +8,10 @@
        /// <summary>
        /// 主控件View
        /// </summary>
        public RowLayout frameLayout = new RowLayout
        public FrameLayout frameLayout = new FrameLayout
        {
            Height = Application.GetRealHeight(60),
            LineColor = CSS.CSS_Color.view,
            //BackgroundColor = CSS.CSS_Color.view,
        };
        /// <summary>
@@ -37,10 +37,10 @@
            Y = Application.GetRealHeight(10),
            Width = Application.GetRealWidth(120),
            Height = Application.GetRealHeight(20),
            TextColor = CSS.CSS_Color.textCancelColor,
            TextColor = CSS.CSS_Color.textColor,
            TextSize = TextSize.text14,
            TextAlignment=TextAlignment.CenterLeft,
            //Text = "15:01",
            Text = "15:01",
        };
        /// <summary>
        /// 状态文本
@@ -53,6 +53,7 @@
            TextSize = TextSize.text12,
            TextColor = CSS.CSS_Color.textCancelColor,
            TextAlignment = TextAlignment.CenterLeft,
            Text = "已接听, 已开锁",
        };
@@ -87,7 +88,7 @@
        /// View的方法
        /// </summary>
        /// <returns></returns>
        public RowLayout FLayoutView()
        public FrameLayout FLayoutView()
        {
            frameLayout.AddChidren(btnText);
            frameLayout.AddChidren(btnTime);
HDL_ON/UI/UI2/FuntionControlView/Video/View/ShowDialog.cs
@@ -125,12 +125,16 @@
            //密码
            Button btnpaw = new Button()
            {
                X=Application.GetRealWidth(95),
                X=Application.GetRealWidth(100),
                Y = Application.GetRealHeight(62),
                Height = Application.GetRealHeight(32),
                Width = Application.GetRealWidth(82+5),
                Width = Application.GetRealWidth(82),
                TextColor = MusicColor.SelectedColor,
<<<<<<< HEAD
                TextSize =18,//24
=======
                TextSize =24,
>>>>>>> origin/CJL-LC
                TextAlignment = TextAlignment.Center,
                IsBold = true,
                Text = str1,
HDL_ON/UI/UI2/UserPageBLL.cs
@@ -1,4 +1,5 @@
using System;
//using Android.Content;
using Shared;
namespace HDL_ON.UI