lss
2021-04-22 a70dac4349c9bb78d7be5052f371136d840b2665
2021-04-22 临时备份
13个文件已添加
23个文件已修改
3426 ■■■■■ 已修改文件
.vs/HDL_APP_Project/xs/UserPrefs.xml 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DLL/LC/Android/LC_SDK.dll 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Application.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/FengLinVideo/Form/MonitorFragment.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/HDL-ON_Android.csproj 18 ●●●● 补丁 | 查看 | 原始文档 | 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 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Resources/Resource.designer.cs 2089 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Resources/layout/activity_video_phone.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | 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/Common/ApiUtlis.cs 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/Common/Constant.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/Common/HDLCommon.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/DAL/Server/HttpServerRequest.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/DAL/Server/HttpUtil.cs 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/DAL/Server/NewAPI.cs 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/DAL/ThirdPartySdk/ESOnVideo.cs 102 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/Entity/FunctionList.cs 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/MainPage.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs 6 ●●●● 补丁 | 查看 | 原始文档 | 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 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/Video/VideoMethod.cs 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/Video/VideoSend.cs 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/UserPageBLL.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.vs/HDL_APP_Project/xs/UserPrefs.xml
@@ -1,5 +1,6 @@
<Properties StartupConfiguration="{09712674-2A38-407B-B1E2-560B2C352F9A}|Default">
  <MonoDevelop.Ide.ItemProperties.HDL-ON__iOS automaticSigning="False" PreferredExecutionTarget="MonoDevelop.IPhone.IPhoneSimulatorTarget.26569F89-0BA9-4C06-81F2-764A3AF2E1B7" />
<<<<<<< Updated upstream
  <MonoDevelop.Ide.Workbench ActiveDocument="HDL_ON/UI/UI2/1-HomePage/MessageCenterPage.cs">
    <Files>
      <File FileName="HDL_ON/UI/UI2/FuntionControlView/ArmCenter/ArmCenterPage.cs" Line="66" Column="1" />
@@ -11,15 +12,18 @@
      <File FileName="HDL_ON/UI/BindingResidence/BindingResidencePage.cs" Line="1" Column="1" />
      <File FileName="HDL_ON/UI/UI2/1-HomePage/MessageCenterPage.cs" Line="1" Column="1" />
    </Files>
=======
  <MonoDevelop.Ide.Workbench>
>>>>>>> Stashed changes
    <Pads>
      <Pad Id="ProjectPad">
        <State name="__root__">
          <Node name="HDL_APP_Project" expanded="True">
            <Node name="HDL_ON" expanded="True">
              <Node name="Common" expanded="True" />
              <Node name="DAL" expanded="True">
                <Node name="Server" expanded="True" />
              </Node>
<<<<<<< Updated upstream
              <Node name="Entity" expanded="True">
                <Node name="Enumerative" expanded="True" />
                <Node name="Function" expanded="True" />
@@ -43,6 +47,22 @@
              <Node name="Other" expanded="True" />
              <Node name="Resources" expanded="True" />
            </Node>
=======
              <Node name="Entity" expanded="True" />
              <Node name="UI" expanded="True" />
            </Node>
            <Node name="HDL-ON_Android" expanded="True">
              <Node name="LeChengVideo" expanded="True">
                <Node name="Form" expanded="True" />
              </Node>
              <Node name="Properties" expanded="True" />
              <Node name="Resources" expanded="True">
                <Node name="values" expanded="True">
                  <Node name="strings.xml" selected="True" />
                </Node>
              </Node>
            </Node>
>>>>>>> Stashed changes
          </Node>
        </State>
      </Pad>
@@ -54,12 +74,23 @@
    <String>Shared.Droid.TouchID/Shared.Droid.TouchID.csproj</String>
    <String>Shared.IOS/Shared.IOS.csproj</String>
  </DisabledProjects>
  <MonoDevelop.Ide.Workspace ActiveConfiguration="Debug" />
  <MonoDevelop.Ide.ItemProperties.HDL-ON__Android PreferredExecutionTarget="Android.364c4b3158493098" />
  <MonoDevelop.Ide.Workspace ActiveConfiguration="Debug|iPhone" />
  <MonoDevelop.Ide.ItemProperties.HDL-ON__Android PreferredExecutionTarget="Android.2ffc9a07" />
  <MonoDevelop.Ide.DebuggingService.Breakpoints>
    <BreakpointStore>
<<<<<<< Updated upstream
      <Breakpoint file="/Users/kaede/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/Method.cs" relfile="HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/Method.cs" line="34" column="1" />
      <Breakpoint file="/Users/kaede/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AcControlPage.cs" relfile="HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AcControlPage.cs" line="313" column="1" />
=======
      <Breakpoint file="/Users/liaoshaosheng/Documents/GitHub/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/Method.cs" relfile="HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/Method.cs" line="34" column="1" />
      <Breakpoint file="/Users/liaoshaosheng/Documents/GitHub/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AcControlPage.cs" relfile="HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AcControlPage.cs" line="313" column="1" />
      <Breakpoint file="/Users/liaoshaosheng/Documents/GitHub/HDL_APP_Project/HDL_ON/UI/UI2/3-Intelligence/Scene/CatchSceneCatchFunctionListPage.cs" relfile="HDL_ON/UI/UI2/3-Intelligence/Scene/CatchSceneCatchFunctionListPage.cs" line="210" column="1" />
      <Breakpoint file="/Users/liaoshaosheng/Documents/GitHub/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Video/VideoMethod.cs" relfile="HDL_ON/UI/UI2/FuntionControlView/Video/VideoMethod.cs" line="180" column="1" />
      <Breakpoint file="/Users/liaoshaosheng/Documents/GitHub/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Video/VideoMethod.cs" relfile="HDL_ON/UI/UI2/FuntionControlView/Video/VideoMethod.cs" line="159" column="1" />
      <Breakpoint file="/Users/liaoshaosheng/Documents/GitHub/HDL_APP_Project/HDL_ON/UI/UI1-Login/ForgetPasswordPageBLL.cs" relfile="HDL_ON/UI/UI1-Login/ForgetPasswordPageBLL.cs" line="366" column="1" />
      <Breakpoint file="/Users/liaoshaosheng/Documents/GitHub/HDL_APP_Project/HDL_ON/UI/UI1-Login/LoginPageBLL.cs" relfile="HDL_ON/UI/UI1-Login/LoginPageBLL.cs" line="98" column="1" />
      <Breakpoint file="/Users/liaoshaosheng/Documents/GitHub/HDL_APP_Project/HDL_ON/UI/UI1-Login/RegisterPageBLL.cs" relfile="HDL_ON/UI/UI1-Login/RegisterPageBLL.cs" line="411" column="1" />
>>>>>>> Stashed changes
    </BreakpointStore>
  </MonoDevelop.Ide.DebuggingService.Breakpoints>
  <MultiItemStartupConfigurations />
DLL/LC/Android/LC_SDK.dll
Binary files differ
HDL-ON_Android/Application.cs
@@ -229,9 +229,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/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
@@ -33,11 +33,10 @@
    <DefineConstants>DEBUG;TRACE;__Android__</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
    <EmbedAssembliesIntoApk>False</EmbedAssembliesIntoApk>
    <EmbedAssembliesIntoApk>true</EmbedAssembliesIntoApk>
    <MandroidI18n>cjk</MandroidI18n>
    <AndroidDexTool>d8</AndroidDexTool>
    <AndroidEnableSGenConcurrent>false</AndroidEnableSGenConcurrent>
    <AndroidLinkMode>None</AndroidLinkMode>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <DebugSymbols>True</DebugSymbols>
@@ -155,6 +154,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" />
@@ -172,6 +174,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" />
@@ -1117,6 +1122,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>
  <Import Project="..\HDL_ON\HDL_ON.projitems" Label="Shared" Condition="Exists('..\HDL_ON\HDL_ON.projitems')" />
  <Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.CSharp.targets" />
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, "打开对讲失败", 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="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
@@ -7967,1384 +7967,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;
@@ -9352,356 +9355,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()
            {
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/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/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
@@ -259,11 +261,29 @@
                    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,26 @@
                            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_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");
                    }
                }
@@ -307,7 +326,7 @@
        }
        /// <summary>
        ///
        /// 解析丰林可视对讲推送数据
        /// </summary>
        /// <param name="jsonStr"></param>
        /// <returns></returns>
HDL_ON/DAL/Server/HttpServerRequest.cs
@@ -2400,7 +2400,7 @@
        #region 可视对讲
        /// <summary>
        /// 检查住宅是否绑定丰林,并获取门口机列表
        /// 检查住宅是否绑定丰林
        /// </summary>
        /// <returns></returns>
        public ResponsePackNew CheckFlVideo()
HDL_ON/DAL/Server/HttpUtil.cs
@@ -153,13 +153,17 @@
                {
                    urlHead = OnAppConfig.Instance.RequestHttpsHost;
                }
<<<<<<< Updated upstream
                //"https://bahrain-gateway.hdlcontrol.com";
                 urlHead="https://china-gateway.hdlcontrol.com";
                string requestFullUrl = urlHead + apiPath;
=======
                //string requestFullUrl = urlHead + apiPath;
>>>>>>> Stashed changes
                ////**************测试**************
                //string requestFullUrl = GlobalRequestHttpsHost + apiPath;
                string requestFullUrl = GlobalRequestHttpsHost + apiPath;
                ////**************测试**************
                RestClient client = new RestClient(requestFullUrl);
@@ -279,7 +283,7 @@
        /// <summary>
        /// 刷新Token
        /// 刷新  Token
        /// </summary>
        /// <returns></returns>
        static bool RefreshToken()
HDL_ON/DAL/Server/NewAPI.cs
@@ -583,7 +583,7 @@
        #region  ■  -- 丰林相关相关接口___________________________
        /// <summary>
        /// 检查住宅是否绑定丰林,并获取门口机列表
        /// 检查住宅是否绑定丰林
        /// </summary>
        public const string API_POST_FL_Check = "/home-wisdom/app/fl/vi/check";
        /// <summary>
@@ -609,7 +609,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>
@@ -624,6 +625,12 @@
        public const string API_POST_FL_QRcode = "http://112.74.164.111:180/api.php/Device/setdynamicpwd";
        #endregion
        #region 可视对讲标准通用接口
        /// <summary>
        /// 获取可视对讲设备列表(所有对接可视对讲都包含一起)
        /// </summary>
        public const string API_POST_VideoDeviceList = "/home-wisdom/platform/imou/listVisualSpeaks";
        #endregion
    }
HDL_ON/DAL/ThirdPartySdk/ESOnVideo.cs
@@ -3,6 +3,7 @@
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;
@@ -57,7 +58,7 @@
        /// 监控页面
        /// </summary>
        /// <param name="mESVideoInfo"></param>
        public void ShowESVideoMonitor(ESVideoInfo mESVideoInfo)
        public void ShowESVideoMonitor(ESVideoInfo mESVideoInfo, string interphoneType)
        {
#if __IOS__
             int roomID = 0;
@@ -70,29 +71,43 @@
            vc.MESCallDelegate = new OnESCallDelegate(this);
            Shared.Application.currentVC.NavigationController.PushViewController(vc, true);
#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 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>
        /// <param name="mESVideoInfo"></param>
        public void ShowESvideoVideoIntercom(ESVideoInfo mESVideoInfo)
        public void ShowESvideoVideoIntercom(ESVideoInfo mESVideoInfo, string interphoneType)
        {
            this.esVideoInfo = mESVideoInfo;
#if __IOS__
@@ -108,19 +123,38 @@
            vc.MESCallDelegate = mOnESCallDelegate;
            Shared.Application.currentVC.NavigationController.PushViewController(vc, true);
#else
            #region
            Intent intent = new Intent(Shared.Application.Activity, typeof(HDL_ON_Android.VideoActivity));
            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
        }
@@ -186,7 +220,7 @@
                }
                else
                {
                    Utlis.WriteLine("POST 挂断失败 code: "+ revertObj.Code);
                    Utlis.WriteLine("POST 挂断失败 code: " + revertObj.Code);
                }
            })
@@ -260,6 +294,7 @@
        }
        DateTime UnlockDateTime = DateTime.MinValue;
        /// <summary>
        /// 开锁成功
        /// </summary>
@@ -270,9 +305,9 @@
            if (CheckESVideoInfoIsNullOrEmpty()) return;
            //3S内不允许触发第二次
            if(UnlockDateTime.AddSeconds(3) > DateTime.Now)
            if (UnlockDateTime.AddSeconds(3) > DateTime.Now)
            {
                Utlis.WriteLine("3S内不允许触发第二次");
                //丰林SDKbug,呼叫的时候开锁成功会有2次回调,
                return;
@@ -300,10 +335,10 @@
            { IsBackground = false }.Start();
        }
#endregion
        #endregion
#if __IOS__
#region OnESCallDelegate
        #region OnESCallDelegate
        /////// <summary>
        /////// OnESCallDelegate 继承响应事件
        /////// </summary>
@@ -371,7 +406,7 @@
        }
#endregion
        #endregion
#endif
        /// <summary>
@@ -384,23 +419,23 @@
            {
                DeviceName = "室外机88",
                ESVideoUUID = "JJY000019VPLLF",
            };
            if (isMonitor)
            {
                ShowESVideoMonitor(eSVideoInfo);
                ShowESVideoMonitor(eSVideoInfo, "");
            }
            else
            {
                eSVideoInfo.callId = "88888";
                ShowESvideoVideoIntercom(eSVideoInfo);
                ShowESvideoVideoIntercom(eSVideoInfo, "");
            }
        }
    }
    /// <summary>
    ///
    /// 可视对讲参数对象(仅在最后一步跳转到activity时才调用,为了做兼容这里都数据有点乱,以后有时间再理顺思路优化)
    /// </summary>
    public class ESVideoInfo
    {
@@ -439,9 +474,34 @@
        /// </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;
    }
}
HDL_ON/Entity/FunctionList.cs
@@ -128,9 +128,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>();
        /// <summary>
        /// 场景列表
@@ -308,6 +309,7 @@
                List.scenes.Remove(scene);
            }
        }
        /// <summary>
        /// 删除本地功能及文件
        /// </summary>
@@ -425,6 +427,7 @@
            })
            { IsBackground = true }.Start();
        }
        #region 场景相关
        /// <summary>
        /// 添加场景
HDL_ON/UI/MainPage.cs
@@ -346,6 +346,7 @@
            int result = 0;
            Application.RunOnMainThread(() =>
            {
                if (BaseView.ChildrenCount>1)
                {
                    var view = BaseView.GetChildren(BaseView.ChildrenCount - 1);
HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs
@@ -501,7 +501,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;
                        }
@@ -806,12 +806,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;
HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirSend.cs
@@ -36,6 +36,12 @@
                return Entity.DB_ResidenceData.Instance.CurrentRegion.RegionID;
            }
        }
        /// <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
@@ -12,10 +12,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 +34,8 @@
            pageView.AddChidren(view1);
            var view2 = new FrameLayout();
            pageView.AddChidren(view2);
            View1(view1, listVideo, video);
            View2(view2, listCall, video);
            View1(view1, videoList);
            View2(view2, listCall, videoList);
            Button btn11 = new Button
            {
                X = Application.GetRealWidth(170),
@@ -107,13 +106,13 @@
            };
            #endregion
        }
        /// <summary>
        /// 第一个界面
        /// </summary>
        /// <param name="view1">父控件</param>
        /// <param name="list">门口机列表</param>
        /// <param name="videoClouds">当前的可视对讲</param>
        void View1(FrameLayout view1, List<FlVideo> list, VideoClouds videoClouds)
        /// <param name="video">可视对讲对象</param>
        void View1(FrameLayout view1, List<Video> videoList)
        {
            #region 布局界面
            var bjFl = new FrameLayout
@@ -188,23 +187,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
            {
@@ -214,9 +215,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
                {
@@ -245,7 +246,7 @@
                    TextSize = TextSize.Text10,
                    TextColor = CSS.CSS_Color.TextualColor,
                    TextAlignment = TextAlignment.Center,
                    Text = video.aliasName,
                    Text = video.deviceName,
                };
                fLayout.AddChidren(deviceNameBtn);
@@ -263,11 +264,11 @@
                //门口机的点击事件
                clickBtn.MouseUpEventHandler += (sender, e) =>
                {
                    var flVideo = clickBtn.Tag as FlVideo;
                    if (flVideo.devType == "100")
                    var video = clickBtn.Tag as Video;
                    if (video.devType == "100")
                    {
                        //门禁二维码固定有的
                        VideoSend.GetQRcode(this, videoClouds, (tag, paw) =>
                        VideoSend.GetQRcode(this, video, (tag, paw) =>
                        {
                            if (tag)
                            {
@@ -279,36 +280,44 @@
                    }
                    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>
        /// <param name="video">当前的可视对讲</param>
        void View2(FrameLayout view2, List<CallView> listCall, VideoClouds video)
        /// <param name="videoList">可视对讲列表</param>
        void View2(FrameLayout view2, List<CallView> listCall, List<Video> videoList)
        {
            var bjFl = new FrameLayout
            {
                Y = Application.GetRealHeight(24),
@@ -360,7 +369,7 @@
            vv.BeginHeaderRefreshingAction += () =>
            {
                VideoMethod videoMethod = new VideoMethod();
                var list = videoMethod.GetCall(video.id);
                var list = videoMethod.GetCall();
                RefreshView(vv, list);
                //关闭刷新View;
                vv.EndHeaderRefreshing();
@@ -368,6 +377,7 @@
            RefreshView(vv, listCall);
        }
        /// <summary>
        /// 通话记录刷新界面
        /// </summary>
@@ -404,11 +414,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":
                    {
@@ -526,6 +536,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);
@@ -131,6 +148,7 @@
            })
            { IsBackground = true }.Start();
        }
        /// <summary>
        /// 下载图片
        /// </summary>
@@ -158,6 +176,7 @@
            })
            { IsBackground = true }.Start();
        }
        /// <summary>
        ///  请求服务器的方法(支持请求方式为POST/GET)
        /// </summary>
@@ -201,6 +220,7 @@
                return null;
            }
        }
        /// <summary>
        ///请求服务器(与住宅有关:例如;homeId) 
        /// </summary>
HDL_ON/UI/UI2/UserPageBLL.cs
@@ -1,4 +1,5 @@
using System;
using Android.Content;
using Shared;
namespace HDL_ON.UI