wxr
2021-05-12 9acd3887f1f8db40d59f991b1726a61aa7c7637c
Merge branch 'CJL' into wxr4
6个文件已添加
18个文件已删除
22个文件已修改
16672 ■■■■ 已修改文件
DLL/Shared.IOS.TBL.dll 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Assets/Language.ini 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Assets/Phone/PersonalCenter/SmartSpeaker.png 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/HDL-ON_Android.csproj 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Resources/Resource.designer.cs 1909 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Resources/drawable/launchImage.xml 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Resources/values/styles.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/AppDelegate.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/HDL-ON_iOS.csproj 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/Resources/Language.ini 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/Resources/Phone/PersonalCenter/SmartSpeaker.png 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/mono_crash.115869ea88.0.json 775 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/mono_crash.115869ea88.1.json 762 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/mono_crash.115869ea88.2.json 762 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/mono_crash.115869ea88.3.json 762 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/mono_crash.115869ea88.4.json 762 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/mono_crash.1cfb5decbf.0.json 851 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/mono_crash.f3dbeef67.0.json 549 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/mono_crash.f3dbef0b0.0.json 729 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/mono_crash.f3dbef0b0.1.json 729 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/mono_crash.ff14d5fde.0.json 560 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/mono_crash.mem.11851.1.blob 762 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/mono_crash.mem.1228.1.blob 762 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/mono_crash.mem.18126.1.blob 549 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/mono_crash.mem.24817.1.blob 775 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/mono_crash.mem.26066.1.blob 560 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/mono_crash.mem.26567.1.blob 729 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/mono_crash.mem.59025.1.blob 729 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/mono_crash.mem.73837.1.blob 762 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/Common/Constant.cs 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/Common/HDLCommon.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/Common/R.cs 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/DAL/Server/HttpServerRequest.cs 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/DAL/Server/NewAPI.cs 44 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/DAL/Server/NewApiRes.cs 154 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/DAL/ThirdPartySdk/ESOnVideo.cs 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/HDL_ON.projitems 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI0-Public/PublicAssmebly.cs 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI0-Public/Widget/WebViewDialog.cs 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/4-PersonalCenter/AboutOn/FunctionIntroductionPage.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/4-PersonalCenter/GetSupport/GetSupportPage.cs 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPage.cs 119 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPageBLL.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/4-PersonalCenter/SmartSpeaker/SmartSpeakerListPage.cs 576 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/4-PersonalCenter/SmartSpeaker/SmartSpeakerRoomListPage.cs 311 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/4-PersonalCenter/SmartSpeaker/SmartSpeakerSelectDevicesPage.cs 433 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DLL/Shared.IOS.TBL.dll
Binary files differ
HDL-ON_Android/Assets/Language.ini
@@ -441,7 +441,6 @@
454=Deployment information
455=The name can not be blank.
1000=Room Humidity
1001=V-chip
1002=Anion
@@ -731,7 +730,7 @@
9038=(Frequently Asked Questions)
9039=Share and function
9040=Alerts
9041=System info.
9041=System info
9042=Information Center
9043=Please note that your account number is logged in elsewhere. If it is not made by yourself, please change the password immediately.
9044=Successfully uploaded
@@ -755,6 +754,11 @@
9061=Find your password by clicking on "Forgot Password", or try again in {0} minute.
9062=Check
9063=You still have {0} times.
9064=Smart speaker
9065=Data management
9066=Remarks
9067=Remarks cannot be blank.
9068=Do you want to unbind?
    
10000=Invalid password, please log in again.
10001=Fail to request server, please try again later.
@@ -1668,6 +1672,11 @@
9061=请通过忘记密码找回密码或{0}分钟后重试.
9062=查看
9063=还有{0}次机会。
9064=智能音箱
9065=数据管理
9066=备注
9067=备注不能为空
9068=是否解除绑定?
10000=无效登录密钥,请重新登录!
10001=请求服务器失败,请稍后再试!
HDL-ON_Android/Assets/Phone/PersonalCenter/SmartSpeaker.png
HDL-ON_Android/HDL-ON_Android.csproj
@@ -333,6 +333,10 @@
      <SubType></SubType>
      <Generator></Generator>
    </AndroidResource>
    <AndroidResource Include="Resources\drawable\launchImage.xml">
      <SubType></SubType>
      <Generator></Generator>
    </AndroidResource>
  </ItemGroup>
  <ItemGroup>
    <Folder Include="Resources\drawable\" />
@@ -1131,6 +1135,7 @@
    <AndroidAsset Include="Assets\Phone\FunctionIcon\Curtain\CurtainDownIconOn.png" />
    <AndroidAsset Include="Assets\Phone\FunctionIcon\Curtain\CurtainUpIcon.png" />
    <AndroidAsset Include="Assets\Phone\FunctionIcon\Curtain\CurtainUpIconOn.png" />
    <AndroidAsset Include="Assets\Phone\PersonalCenter\SmartSpeaker.png" />
  </ItemGroup>
  <ItemGroup>
    <AndroidNativeLibrary Include="libs\armeabi-v7a\libelianjni.so" />
HDL-ON_Android/Resources/Resource.designer.cs
@@ -5119,1612 +5119,1615 @@
            public const int label_bg_sel = 2131231231;
            
            // aapt resource value: 0x7F080200
            public const int leave_message_play = 2131231232;
            public const int launchImage = 2131231232;
            
            // aapt resource value: 0x7F080201
            public const int leave_message_play_sel = 2131231233;
            public const int leave_message_play = 2131231233;
            
            // aapt resource value: 0x7F080202
            public const int leave_message_play_selector = 2131231234;
            public const int leave_message_play_sel = 2131231234;
            
            // aapt resource value: 0x7F080203
            public const int left_horizontal = 2131231235;
            public const int leave_message_play_selector = 2131231235;
            
            // aapt resource value: 0x7F080204
            public const int left_twinkle = 2131231236;
            public const int left_horizontal = 2131231236;
            
            // aapt resource value: 0x7F080205
            public const int link_account1 = 2131231237;
            public const int left_twinkle = 2131231237;
            
            // aapt resource value: 0x7F080206
            public const int link_account2 = 2131231238;
            public const int link_account1 = 2131231238;
            
            // aapt resource value: 0x7F080207
            public const int link_account3 = 2131231239;
            public const int link_account2 = 2131231239;
            
            // aapt resource value: 0x7F080208
            public const int link_account4 = 2131231240;
            // aapt resource value: 0x7F08020A
            public const int Loading = 2131231242;
            public const int link_account3 = 2131231240;
            
            // aapt resource value: 0x7F080209
            public const int load_failed_bg = 2131231241;
            public const int link_account4 = 2131231241;
            
            // aapt resource value: 0x7F08020B
            public const int lock_bg = 2131231243;
            public const int Loading = 2131231243;
            // aapt resource value: 0x7F08020A
            public const int load_failed_bg = 2131231242;
            
            // aapt resource value: 0x7F08020C
            public const int login_btn_selector = 2131231244;
            public const int lock_bg = 2131231244;
            
            // aapt resource value: 0x7F08020D
            public const int login_logo = 2131231245;
            public const int login_btn_selector = 2131231245;
            
            // aapt resource value: 0x7F08020E
            public const int login_logo_button = 2131231246;
            public const int login_logo = 2131231246;
            
            // aapt resource value: 0x7F08020F
            public const int login_logo_button_sel = 2131231247;
            public const int login_logo_button = 2131231247;
            
            // aapt resource value: 0x7F080210
            public const int logo_loading_1 = 2131231248;
            public const int login_logo_button_sel = 2131231248;
            
            // aapt resource value: 0x7F080211
            public const int logo_loading_2 = 2131231249;
            public const int logo_loading_1 = 2131231249;
            
            // aapt resource value: 0x7F080212
            public const int logo_loading_3 = 2131231250;
            public const int logo_loading_2 = 2131231250;
            
            // aapt resource value: 0x7F080213
            public const int logo_loading_4 = 2131231251;
            public const int logo_loading_3 = 2131231251;
            
            // aapt resource value: 0x7F080214
            public const int mesage_details_callhelp = 2131231252;
            public const int logo_loading_4 = 2131231252;
            
            // aapt resource value: 0x7F080215
            public const int mesage_details_curtain = 2131231253;
            public const int mesage_details_callhelp = 2131231253;
            
            // aapt resource value: 0x7F080216
            public const int mesage_details_data = 2131231254;
            public const int mesage_details_curtain = 2131231254;
            
            // aapt resource value: 0x7F080217
            public const int mesage_details_door = 2131231255;
            public const int mesage_details_data = 2131231255;
            
            // aapt resource value: 0x7F080218
            public const int mesage_details_gas = 2131231256;
            public const int mesage_details_door = 2131231256;
            
            // aapt resource value: 0x7F080219
            public const int mesage_details_hdd = 2131231257;
            public const int mesage_details_gas = 2131231257;
            
            // aapt resource value: 0x7F08021A
            public const int mesage_details_infrared = 2131231258;
            public const int mesage_details_hdd = 2131231258;
            
            // aapt resource value: 0x7F08021B
            public const int mesage_details_keyboard = 2131231259;
            public const int mesage_details_infrared = 2131231259;
            
            // aapt resource value: 0x7F08021C
            public const int mesage_details_loss = 2131231260;
            public const int mesage_details_keyboard = 2131231260;
            
            // aapt resource value: 0x7F08021D
            public const int mesage_details_low_battery = 2131231261;
            public const int mesage_details_loss = 2131231261;
            
            // aapt resource value: 0x7F08021E
            public const int mesage_details_offline = 2131231262;
            public const int mesage_details_low_battery = 2131231262;
            
            // aapt resource value: 0x7F08021F
            public const int mesage_details_power = 2131231263;
            public const int mesage_details_offline = 2131231263;
            
            // aapt resource value: 0x7F080220
            public const int mesage_details_smoke = 2131231264;
            public const int mesage_details_power = 2131231264;
            
            // aapt resource value: 0x7F080221
            public const int mesage_details_tampering = 2131231265;
            public const int mesage_details_smoke = 2131231265;
            
            // aapt resource value: 0x7F080222
            public const int mesage_details_video_loss = 2131231266;
            public const int mesage_details_tampering = 2131231266;
            
            // aapt resource value: 0x7F080223
            public const int mesage_details_water = 2131231267;
            public const int mesage_details_video_loss = 2131231267;
            
            // aapt resource value: 0x7F080224
            public const int message = 2131231268;
            public const int mesage_details_water = 2131231268;
            
            // aapt resource value: 0x7F080225
            public const int message_a1_bg = 2131231269;
            public const int message = 2131231269;
            
            // aapt resource value: 0x7F080226
            public const int message_back = 2131231270;
            public const int message_a1_bg = 2131231270;
            
            // aapt resource value: 0x7F080227
            public const int message_back_sel = 2131231271;
            public const int message_back = 2131231271;
            
            // aapt resource value: 0x7F080228
            public const int message_back_selector = 2131231272;
            public const int message_back_sel = 2131231272;
            
            // aapt resource value: 0x7F080229
            public const int message_border_bg = 2131231273;
            public const int message_back_selector = 2131231273;
            
            // aapt resource value: 0x7F08022A
            public const int message_callhelp = 2131231274;
            public const int message_border_bg = 2131231274;
            
            // aapt resource value: 0x7F08022B
            public const int message_curtain = 2131231275;
            public const int message_callhelp = 2131231275;
            
            // aapt resource value: 0x7F08022C
            public const int message_data = 2131231276;
            public const int message_curtain = 2131231276;
            
            // aapt resource value: 0x7F08022D
            public const int message_door = 2131231277;
            public const int message_data = 2131231277;
            
            // aapt resource value: 0x7F08022E
            public const int message_gas = 2131231278;
            public const int message_door = 2131231278;
            
            // aapt resource value: 0x7F08022F
            public const int message_hdd = 2131231279;
            public const int message_gas = 2131231279;
            
            // aapt resource value: 0x7F080230
            public const int message_infrared = 2131231280;
            public const int message_hdd = 2131231280;
            
            // aapt resource value: 0x7F080231
            public const int message_item_bg_selector = 2131231281;
            public const int message_infrared = 2131231281;
            
            // aapt resource value: 0x7F080232
            public const int message_keyboard = 2131231282;
            public const int message_item_bg_selector = 2131231282;
            
            // aapt resource value: 0x7F080233
            public const int message_loss = 2131231283;
            public const int message_keyboard = 2131231283;
            
            // aapt resource value: 0x7F080234
            public const int message_low_battery = 2131231284;
            public const int message_loss = 2131231284;
            
            // aapt resource value: 0x7F080235
            public const int message_move_magnetometer = 2131231285;
            public const int message_low_battery = 2131231285;
            
            // aapt resource value: 0x7F080236
            public const int message_offline = 2131231286;
            public const int message_move_magnetometer = 2131231286;
            
            // aapt resource value: 0x7F080237
            public const int message_play = 2131231287;
            public const int message_offline = 2131231287;
            
            // aapt resource value: 0x7F080238
            public const int message_play_dis = 2131231288;
            public const int message_play = 2131231288;
            
            // aapt resource value: 0x7F080239
            public const int message_play_sel = 2131231289;
            public const int message_play_dis = 2131231289;
            
            // aapt resource value: 0x7F08023A
            public const int message_play_selector = 2131231290;
            public const int message_play_sel = 2131231290;
            
            // aapt resource value: 0x7F08023B
            public const int message_power = 2131231291;
            public const int message_play_selector = 2131231291;
            
            // aapt resource value: 0x7F08023C
            public const int message_sel = 2131231292;
            public const int message_power = 2131231292;
            
            // aapt resource value: 0x7F08023D
            public const int message_smoke = 2131231293;
            public const int message_sel = 2131231293;
            
            // aapt resource value: 0x7F08023E
            public const int message_tampering = 2131231294;
            public const int message_smoke = 2131231294;
            
            // aapt resource value: 0x7F08023F
            public const int message_video = 2131231295;
            public const int message_tampering = 2131231295;
            
            // aapt resource value: 0x7F080240
            public const int message_video_dis = 2131231296;
            public const int message_video = 2131231296;
            
            // aapt resource value: 0x7F080241
            public const int message_video_loss = 2131231297;
            public const int message_video_dis = 2131231297;
            
            // aapt resource value: 0x7F080242
            public const int message_video_sel = 2131231298;
            public const int message_video_loss = 2131231298;
            
            // aapt resource value: 0x7F080243
            public const int message_video_selector = 2131231299;
            public const int message_video_sel = 2131231299;
            
            // aapt resource value: 0x7F080244
            public const int message_water = 2131231300;
            public const int message_video_selector = 2131231300;
            
            // aapt resource value: 0x7F080245
            public const int mic = 2131231301;
            public const int message_water = 2131231301;
            
            // aapt resource value: 0x7F080246
            public const int mm_trans = 2131231302;
            public const int mic = 2131231302;
            
            // aapt resource value: 0x7F080247
            public const int more = 2131231303;
            public const int mm_trans = 2131231303;
            
            // aapt resource value: 0x7F080248
            public const int my_5k_vr = 2131231304;
            public const int more = 2131231304;
            
            // aapt resource value: 0x7F080249
            public const int my_5k_vr116 = 2131231305;
            public const int my_5k_vr = 2131231305;
            
            // aapt resource value: 0x7F08024A
            public const int my_a1 = 2131231306;
            public const int my_5k_vr116 = 2131231306;
            
            // aapt resource value: 0x7F08024B
            public const int my_a1c = 2131231307;
            public const int my_a1 = 2131231307;
            
            // aapt resource value: 0x7F08024C
            public const int my_a1s = 2131231308;
            public const int my_a1c = 2131231308;
            
            // aapt resource value: 0x7F08024D
            public const int my_add = 2131231309;
            public const int my_a1s = 2131231309;
            
            // aapt resource value: 0x7F08024E
            public const int my_c6p = 2131231310;
            public const int my_add = 2131231310;
            
            // aapt resource value: 0x7F08024F
            public const int my_c6t = 2131231311;
            public const int my_c6p = 2131231311;
            
            // aapt resource value: 0x7F080250
            public const int my_cover = 2131231312;
            public const int my_c6t = 2131231312;
            
            // aapt resource value: 0x7F080251
            public const int my_cover620 = 2131231313;
            public const int my_cover = 2131231313;
            
            // aapt resource value: 0x7F080252
            public const int my_db1 = 2131231314;
            public const int my_cover620 = 2131231314;
            
            // aapt resource value: 0x7F080253
            public const int my_doorbell = 2131231315;
            public const int my_db1 = 2131231315;
            
            // aapt resource value: 0x7F080254
            public const int my_doorbell_hik = 2131231316;
            public const int my_doorbell = 2131231316;
            
            // aapt resource value: 0x7F080255
            public const int my_n1 = 2131231317;
            public const int my_doorbell_hik = 2131231317;
            
            // aapt resource value: 0x7F080256
            public const int my_no_video = 2131231318;
            public const int my_n1 = 2131231318;
            
            // aapt resource value: 0x7F080257
            public const int my_progress_drawable = 2131231319;
            public const int my_no_video = 2131231319;
            
            // aapt resource value: 0x7F080258
            public const int my_r1 = 2131231320;
            public const int my_progress_drawable = 2131231320;
            
            // aapt resource value: 0x7F080259
            public const int my_r2 = 2131231321;
            public const int my_r1 = 2131231321;
            
            // aapt resource value: 0x7F08025A
            public const int my_shoping = 2131231322;
            public const int my_r2 = 2131231322;
            
            // aapt resource value: 0x7F08025B
            public const int my_switch_off = 2131231323;
            public const int my_shoping = 2131231323;
            
            // aapt resource value: 0x7F08025C
            public const int my_switch_on = 2131231324;
            public const int my_switch_off = 2131231324;
            
            // aapt resource value: 0x7F08025D
            public const int my_switch_selector = 2131231325;
            public const int my_switch_on = 2131231325;
            
            // aapt resource value: 0x7F08025E
            public const int my_vr104d = 2131231326;
            public const int my_switch_selector = 2131231326;
            
            // aapt resource value: 0x7F08025F
            public const int my_w1 = 2131231327;
            public const int my_vr104d = 2131231327;
            
            // aapt resource value: 0x7F080260
            public const int my_w2d = 2131231328;
            public const int my_w1 = 2131231328;
            
            // aapt resource value: 0x7F080261
            public const int my_w2s = 2131231329;
            public const int my_w2d = 2131231329;
            
            // aapt resource value: 0x7F080262
            public const int my_w3 = 2131231330;
            public const int my_w2s = 2131231330;
            
            // aapt resource value: 0x7F080263
            public const int my_wlb = 2131231331;
            public const int my_w3 = 2131231331;
            
            // aapt resource value: 0x7F080264
            public const int my_x1 = 2131231332;
            public const int my_wlb = 2131231332;
            
            // aapt resource value: 0x7F080265
            public const int my_x2 = 2131231333;
            public const int my_x1 = 2131231333;
            
            // aapt resource value: 0x7F080266
            public const int my_x3 = 2131231334;
            public const int my_x2 = 2131231334;
            
            // aapt resource value: 0x7F080267
            public const int my_x3c = 2131231335;
            public const int my_x3 = 2131231335;
            
            // aapt resource value: 0x7F080268
            public const int my_x4 = 2131231336;
            public const int my_x3c = 2131231336;
            
            // aapt resource value: 0x7F080269
            public const int my_x5c = 2131231337;
            public const int my_x4 = 2131231337;
            
            // aapt resource value: 0x7F08026A
            public const int name_del = 2131231338;
            public const int my_x5c = 2131231338;
            
            // aapt resource value: 0x7F08026B
            public const int name_del_sel = 2131231339;
            public const int name_del = 2131231339;
            
            // aapt resource value: 0x7F08026C
            public const int name_del_selector = 2131231340;
            public const int name_del_sel = 2131231340;
            
            // aapt resource value: 0x7F08026D
            public const int navigation_empty_icon = 2131231341;
            // aapt resource value: 0x7F080270
            public const int nomessage = 2131231344;
            // aapt resource value: 0x7F080271
            public const int notification_action_background = 2131231345;
            // aapt resource value: 0x7F080272
            public const int notification_bg = 2131231346;
            // aapt resource value: 0x7F080273
            public const int notification_bg_low = 2131231347;
            // aapt resource value: 0x7F080274
            public const int notification_bg_low_normal = 2131231348;
            // aapt resource value: 0x7F080275
            public const int notification_bg_low_pressed = 2131231349;
            // aapt resource value: 0x7F080276
            public const int notification_bg_normal = 2131231350;
            // aapt resource value: 0x7F080277
            public const int notification_bg_normal_pressed = 2131231351;
            // aapt resource value: 0x7F080278
            public const int notification_icon_background = 2131231352;
            // aapt resource value: 0x7F080279
            public const int notification_template_icon_bg = 2131231353;
            // aapt resource value: 0x7F08027A
            public const int notification_template_icon_low_bg = 2131231354;
            // aapt resource value: 0x7F08027B
            public const int notification_tile_bg = 2131231355;
            // aapt resource value: 0x7F08027C
            public const int notify_bg = 2131231356;
            // aapt resource value: 0x7F08027D
            public const int notify_panel_notification_icon_bg = 2131231357;
            public const int name_del_selector = 2131231341;
            
            // aapt resource value: 0x7F08026E
            public const int no_message = 2131231342;
            public const int navigation_empty_icon = 2131231342;
            
            // aapt resource value: 0x7F08026F
            public const int no_read = 2131231343;
            // aapt resource value: 0x7F080271
            public const int nomessage = 2131231345;
            // aapt resource value: 0x7F080272
            public const int notification_action_background = 2131231346;
            // aapt resource value: 0x7F080273
            public const int notification_bg = 2131231347;
            // aapt resource value: 0x7F080274
            public const int notification_bg_low = 2131231348;
            // aapt resource value: 0x7F080275
            public const int notification_bg_low_normal = 2131231349;
            // aapt resource value: 0x7F080276
            public const int notification_bg_low_pressed = 2131231350;
            // aapt resource value: 0x7F080277
            public const int notification_bg_normal = 2131231351;
            // aapt resource value: 0x7F080278
            public const int notification_bg_normal_pressed = 2131231352;
            // aapt resource value: 0x7F080279
            public const int notification_icon_background = 2131231353;
            // aapt resource value: 0x7F08027A
            public const int notification_template_icon_bg = 2131231354;
            // aapt resource value: 0x7F08027B
            public const int notification_template_icon_low_bg = 2131231355;
            // aapt resource value: 0x7F08027C
            public const int notification_tile_bg = 2131231356;
            // aapt resource value: 0x7F08027D
            public const int notify_bg = 2131231357;
            
            // aapt resource value: 0x7F08027E
            public const int number_bg = 2131231358;
            public const int notify_panel_notification_icon_bg = 2131231358;
            // aapt resource value: 0x7F08026F
            public const int no_message = 2131231343;
            // aapt resource value: 0x7F080270
            public const int no_read = 2131231344;
            
            // aapt resource value: 0x7F08027F
            public const int offline = 2131231359;
            public const int number_bg = 2131231359;
            
            // aapt resource value: 0x7F080280
            public const int open_cameralist_alarmlist_selector = 2131231360;
            public const int offline = 2131231360;
            
            // aapt resource value: 0x7F080281
            public const int open_cameralist_button_selector = 2131231361;
            public const int open_cameralist_alarmlist_selector = 2131231361;
            
            // aapt resource value: 0x7F080282
            public const int open_cameralist_remotepb_selector = 2131231362;
            public const int open_cameralist_button_selector = 2131231362;
            
            // aapt resource value: 0x7F080283
            public const int open_cameralist_setup_selector = 2131231363;
            public const int open_cameralist_remotepb_selector = 2131231363;
            
            // aapt resource value: 0x7F080284
            public const int opinion = 2131231364;
            public const int open_cameralist_setup_selector = 2131231364;
            
            // aapt resource value: 0x7F080285
            public const int palyback_alarm_icon2 = 2131231365;
            public const int opinion = 2131231365;
            
            // aapt resource value: 0x7F080286
            public const int palyback_close = 2131231366;
            public const int palyback_alarm_icon2 = 2131231366;
            
            // aapt resource value: 0x7F080287
            public const int palyback_close_sel = 2131231367;
            public const int palyback_close = 2131231367;
            
            // aapt resource value: 0x7F080288
            public const int palyback_close_selector = 2131231368;
            public const int palyback_close_sel = 2131231368;
            
            // aapt resource value: 0x7F080289
            public const int palyback_date_down = 2131231369;
            public const int palyback_close_selector = 2131231369;
            
            // aapt resource value: 0x7F08028A
            public const int palyback_date_down_sel = 2131231370;
            public const int palyback_date_down = 2131231370;
            
            // aapt resource value: 0x7F08028B
            public const int palyback_full_down = 2131231371;
            public const int palyback_date_down_sel = 2131231371;
            
            // aapt resource value: 0x7F08028C
            public const int palyback_full_up = 2131231372;
            public const int palyback_full_down = 2131231372;
            
            // aapt resource value: 0x7F08028D
            public const int palyback_nest = 2131231373;
            public const int palyback_full_up = 2131231373;
            
            // aapt resource value: 0x7F08028E
            public const int palyback_pause = 2131231374;
            public const int palyback_nest = 2131231374;
            
            // aapt resource value: 0x7F08028F
            public const int palyback_pause_sel = 2131231375;
            public const int palyback_pause = 2131231375;
            
            // aapt resource value: 0x7F080290
            public const int palyback_previously = 2131231376;
            public const int palyback_pause_sel = 2131231376;
            
            // aapt resource value: 0x7F080291
            public const int palyback_previously_sel = 2131231377;
            public const int palyback_previously = 2131231377;
            
            // aapt resource value: 0x7F080292
            public const int palyback_previously_selector = 2131231378;
            public const int palyback_previously_sel = 2131231378;
            
            // aapt resource value: 0x7F080293
            public const int palyback_replay = 2131231379;
            public const int palyback_previously_selector = 2131231379;
            
            // aapt resource value: 0x7F080294
            public const int palyback_retry = 2131231380;
            public const int palyback_replay = 2131231380;
            
            // aapt resource value: 0x7F080295
            public const int palyback_time_bg = 2131231381;
            public const int palyback_retry = 2131231381;
            
            // aapt resource value: 0x7F080296
            public const int palyback_video = 2131231382;
            public const int palyback_time_bg = 2131231382;
            
            // aapt resource value: 0x7F080297
            public const int palyback_video_now = 2131231383;
            public const int palyback_video = 2131231383;
            
            // aapt resource value: 0x7F080298
            public const int palyback_video_now_sel = 2131231384;
            public const int palyback_video_now = 2131231384;
            
            // aapt resource value: 0x7F080299
            public const int palyback_video_now_selector = 2131231385;
            public const int palyback_video_now_sel = 2131231385;
            
            // aapt resource value: 0x7F08029A
            public const int palyback_video_sel = 2131231386;
            public const int palyback_video_now_selector = 2131231386;
            
            // aapt resource value: 0x7F08029B
            public const int palyback_video_selector = 2131231387;
            public const int palyback_video_sel = 2131231387;
            
            // aapt resource value: 0x7F08029C
            public const int pause = 2131231388;
            public const int palyback_video_selector = 2131231388;
            
            // aapt resource value: 0x7F08029D
            public const int pause_sel = 2131231389;
            public const int pause = 2131231389;
            
            // aapt resource value: 0x7F08029E
            public const int pic_bg = 2131231390;
            public const int pause_sel = 2131231390;
            
            // aapt resource value: 0x7F08029F
            public const int play = 2131231391;
            // aapt resource value: 0x7F0802FE
            public const int playback = 2131231486;
            // aapt resource value: 0x7F08030E
            public const int playbackslider = 2131231502;
            // aapt resource value: 0x7F08030F
            public const int playbackslider_sel = 2131231503;
            // aapt resource value: 0x7F0802FF
            public const int playback_button = 2131231487;
            // aapt resource value: 0x7F080300
            public const int playback_cancel = 2131231488;
            // aapt resource value: 0x7F080301
            public const int playback_check_selector = 2131231489;
            // aapt resource value: 0x7F080302
            public const int playback_cover2 = 2131231490;
            // aapt resource value: 0x7F080303
            public const int playback_cut = 2131231491;
            // aapt resource value: 0x7F080304
            public const int playback_cut_btn_selector = 2131231492;
            // aapt resource value: 0x7F080305
            public const int playback_cut_disable = 2131231493;
            // aapt resource value: 0x7F080306
            public const int playback_cut_sel = 2131231494;
            // aapt resource value: 0x7F080307
            public const int playback_matte = 2131231495;
            // aapt resource value: 0x7F080308
            public const int playback_more_down = 2131231496;
            // aapt resource value: 0x7F080309
            public const int playback_more_down1 = 2131231497;
            // aapt resource value: 0x7F08030A
            public const int playback_more_up1 = 2131231498;
            // aapt resource value: 0x7F08030B
            public const int playback_play = 2131231499;
            // aapt resource value: 0x7F08030C
            public const int playback_play_sel = 2131231500;
            // aapt resource value: 0x7F08030D
            public const int playback_sel = 2131231501;
            // aapt resource value: 0x7F080310
            public const int playbtn_selector = 2131231504;
            public const int pic_bg = 2131231391;
            
            // aapt resource value: 0x7F0802A0
            public const int play_balanced = 2131231392;
            public const int play = 2131231392;
            
            // aapt resource value: 0x7F0802A1
            public const int play_balanced_disabel = 2131231393;
            // aapt resource value: 0x7F0802FF
            public const int playback = 2131231487;
            
            // aapt resource value: 0x7F0802A2
            public const int play_balanced_sel = 2131231394;
            // aapt resource value: 0x7F08030F
            public const int playbackslider = 2131231503;
            
            // aapt resource value: 0x7F0802A3
            public const int play_balanced_selector = 2131231395;
            // aapt resource value: 0x7F080310
            public const int playbackslider_sel = 2131231504;
            
            // aapt resource value: 0x7F0802A4
            public const int play_big = 2131231396;
            // aapt resource value: 0x7F080300
            public const int playback_button = 2131231488;
            
            // aapt resource value: 0x7F0802A6
            public const int play_bigbtn_selector = 2131231398;
            // aapt resource value: 0x7F080301
            public const int playback_cancel = 2131231489;
            
            // aapt resource value: 0x7F0802A5
            public const int play_big_press = 2131231397;
            // aapt resource value: 0x7F080302
            public const int playback_check_selector = 2131231490;
            
            // aapt resource value: 0x7F0802A7
            public const int play_button_bg = 2131231399;
            // aapt resource value: 0x7F080303
            public const int playback_cover2 = 2131231491;
            
            // aapt resource value: 0x7F0802A8
            public const int play_button_sel = 2131231400;
            // aapt resource value: 0x7F080304
            public const int playback_cut = 2131231492;
            
            // aapt resource value: 0x7F0802A9
            public const int play_button_selector = 2131231401;
            // aapt resource value: 0x7F080305
            public const int playback_cut_btn_selector = 2131231493;
            
            // aapt resource value: 0x7F0802AA
            public const int play_close = 2131231402;
            // aapt resource value: 0x7F080306
            public const int playback_cut_disable = 2131231494;
            
            // aapt resource value: 0x7F0802AB
            public const int play_close_sel = 2131231403;
            // aapt resource value: 0x7F080307
            public const int playback_cut_sel = 2131231495;
            
            // aapt resource value: 0x7F0802AC
            public const int play_close_selector = 2131231404;
            // aapt resource value: 0x7F080308
            public const int playback_matte = 2131231496;
            
            // aapt resource value: 0x7F0802AD
            public const int play_disable = 2131231405;
            // aapt resource value: 0x7F080309
            public const int playback_more_down = 2131231497;
            
            // aapt resource value: 0x7F0802AE
            public const int play_flunet = 2131231406;
            // aapt resource value: 0x7F08030A
            public const int playback_more_down1 = 2131231498;
            
            // aapt resource value: 0x7F0802AF
            public const int play_flunet_disabel = 2131231407;
            // aapt resource value: 0x7F08030B
            public const int playback_more_up1 = 2131231499;
            
            // aapt resource value: 0x7F0802B0
            public const int play_flunet_sel = 2131231408;
            // aapt resource value: 0x7F08030C
            public const int playback_play = 2131231500;
            
            // aapt resource value: 0x7F0802B1
            public const int play_flunet_selector = 2131231409;
            // aapt resource value: 0x7F08030D
            public const int playback_play_sel = 2131231501;
            
            // aapt resource value: 0x7F0802B2
            public const int play_full_loding_logo = 2131231410;
            // aapt resource value: 0x7F0802B3
            public const int play_full_multiple = 2131231411;
            // aapt resource value: 0x7F0802B4
            public const int play_full_multiple2 = 2131231412;
            // aapt resource value: 0x7F0802B5
            public const int play_full_multiple3 = 2131231413;
            // aapt resource value: 0x7F0802B6
            public const int play_full_multiple4 = 2131231414;
            // aapt resource value: 0x7F0802B7
            public const int play_full_multiple5 = 2131231415;
            // aapt resource value: 0x7F0802B8
            public const int play_full_pause = 2131231416;
            // aapt resource value: 0x7F0802B9
            public const int play_full_pause_sel = 2131231417;
            // aapt resource value: 0x7F0802BA
            public const int play_full_pause_selector = 2131231418;
            // aapt resource value: 0x7F0802BB
            public const int play_full_play = 2131231419;
            // aapt resource value: 0x7F0802BC
            public const int play_full_play_sel = 2131231420;
            // aapt resource value: 0x7F0802BD
            public const int play_full_play_selector = 2131231421;
            // aapt resource value: 0x7F0802BE
            public const int play_full_previously = 2131231422;
            // aapt resource value: 0x7F0802BF
            public const int play_full_previously_sel = 2131231423;
            // aapt resource value: 0x7F0802C0
            public const int play_full_previously_selector = 2131231424;
            // aapt resource value: 0x7F0802C1
            public const int play_full_ptz_selector = 2131231425;
            // aapt resource value: 0x7F0802C2
            public const int play_full_quality_color_selector = 2131231426;
            // aapt resource value: 0x7F0802C3
            public const int play_full_quality_selector = 2131231427;
            // aapt resource value: 0x7F0802C4
            public const int play_full_soundoff_btn_selector = 2131231428;
            // aapt resource value: 0x7F0802C5
            public const int play_full_soundon_btn_selector = 2131231429;
            // aapt resource value: 0x7F0802C6
            public const int play_full_stop = 2131231430;
            // aapt resource value: 0x7F0802C7
            public const int play_full_stop_sel = 2131231431;
            // aapt resource value: 0x7F0802C8
            public const int play_full_stop_selector = 2131231432;
            // aapt resource value: 0x7F0802C9
            public const int play_full_talk_selector = 2131231433;
            // aapt resource value: 0x7F0802CA
            public const int play_full_video = 2131231434;
            // aapt resource value: 0x7F0802CB
            public const int play_full_video_now = 2131231435;
            // aapt resource value: 0x7F0802CC
            public const int play_full_video_now_sel = 2131231436;
            // aapt resource value: 0x7F0802CD
            public const int play_full_video_now_selector = 2131231437;
            // aapt resource value: 0x7F0802CE
            public const int play_full_video_sel = 2131231438;
            // aapt resource value: 0x7F0802CF
            public const int play_full_video_selector = 2131231439;
            // aapt resource value: 0x7F0802D0
            public const int play_hd = 2131231440;
            // aapt resource value: 0x7F0802D1
            public const int play_hd_disabel = 2131231441;
            // aapt resource value: 0x7F0802D2
            public const int play_hd_sel = 2131231442;
            // aapt resource value: 0x7F0802D3
            public const int play_hd_selector = 2131231443;
            // aapt resource value: 0x7F0802D4
            public const int play_play = 2131231444;
            // aapt resource value: 0x7F0802D5
            public const int play_play_dis = 2131231445;
            // aapt resource value: 0x7F0802D6
            public const int play_play_sel = 2131231446;
            // aapt resource value: 0x7F0802D7
            public const int play_play_selector = 2131231447;
            // aapt resource value: 0x7F0802D8
            public const int play_press = 2131231448;
            // aapt resource value: 0x7F0802D9
            public const int play_previously = 2131231449;
            // aapt resource value: 0x7F0802DA
            public const int play_previously_dis = 2131231450;
            // aapt resource value: 0x7F0802DB
            public const int play_previously_sel = 2131231451;
            // aapt resource value: 0x7F0802DC
            public const int play_previously_selector = 2131231452;
            // aapt resource value: 0x7F0802DD
            public const int play_privacy_selector = 2131231453;
            // aapt resource value: 0x7F0802DE
            public const int play_ptz = 2131231454;
            // aapt resource value: 0x7F0802DF
            public const int play_ptz_dis = 2131231455;
            // aapt resource value: 0x7F0802E0
            public const int play_ptz_sel = 2131231456;
            // aapt resource value: 0x7F0802E1
            public const int play_ptz_selector = 2131231457;
            // aapt resource value: 0x7F0802E2
            public const int play_small = 2131231458;
            // aapt resource value: 0x7F0802E4
            public const int play_smallbtn_selector = 2131231460;
            // aapt resource value: 0x7F0802E3
            public const int play_small_press = 2131231459;
            // aapt resource value: 0x7F0802E5
            public const int play_speech = 2131231461;
            // aapt resource value: 0x7F0802E6
            public const int play_speech_dis = 2131231462;
            // aapt resource value: 0x7F0802E7
            public const int play_speech_sel = 2131231463;
            // aapt resource value: 0x7F0802E8
            public const int play_speech_selector = 2131231464;
            // aapt resource value: 0x7F0802E9
            public const int play_stop = 2131231465;
            // aapt resource value: 0x7F0802EA
            public const int play_stop_sel = 2131231466;
            // aapt resource value: 0x7F0802EB
            public const int play_stop_selector = 2131231467;
            // aapt resource value: 0x7F0802EC
            public const int play_talk = 2131231468;
            // aapt resource value: 0x7F0802F0
            public const int play_talkback = 2131231472;
            // aapt resource value: 0x7F0802F1
            public const int play_talkback_sel = 2131231473;
            // aapt resource value: 0x7F0802F2
            public const int play_talkback_selector = 2131231474;
            // aapt resource value: 0x7F0802ED
            public const int play_talk_dis = 2131231469;
            // aapt resource value: 0x7F0802EE
            public const int play_talk_sel = 2131231470;
            // aapt resource value: 0x7F0802EF
            public const int play_talk_selector = 2131231471;
            // aapt resource value: 0x7F0802F3
            public const int play_video = 2131231475;
            // aapt resource value: 0x7F0802F4
            public const int play_video_dis = 2131231476;
            // aapt resource value: 0x7F0802F5
            public const int play_video_record = 2131231477;
            // aapt resource value: 0x7F0802F6
            public const int play_video_sel = 2131231478;
            // aapt resource value: 0x7F0802F7
            public const int play_video_selector = 2131231479;
            // aapt resource value: 0x7F0802F8
            public const int play_video_start = 2131231480;
            // aapt resource value: 0x7F0802F9
            public const int play_video_time_bg = 2131231481;
            // aapt resource value: 0x7F0802FA
            public const int play_voice = 2131231482;
            // aapt resource value: 0x7F0802FB
            public const int play_voice_dis = 2131231483;
            // aapt resource value: 0x7F0802FC
            public const int play_voice_sel = 2131231484;
            // aapt resource value: 0x7F0802FD
            public const int play_voice_selector = 2131231485;
            // aapt resource value: 0x7F08030E
            public const int playback_sel = 2131231502;
            
            // aapt resource value: 0x7F080311
            public const int popdialogbg = 2131231505;
            public const int playbtn_selector = 2131231505;
            // aapt resource value: 0x7F0802A1
            public const int play_balanced = 2131231393;
            // aapt resource value: 0x7F0802A2
            public const int play_balanced_disabel = 2131231394;
            // aapt resource value: 0x7F0802A3
            public const int play_balanced_sel = 2131231395;
            // aapt resource value: 0x7F0802A4
            public const int play_balanced_selector = 2131231396;
            // aapt resource value: 0x7F0802A5
            public const int play_big = 2131231397;
            // aapt resource value: 0x7F0802A7
            public const int play_bigbtn_selector = 2131231399;
            // aapt resource value: 0x7F0802A6
            public const int play_big_press = 2131231398;
            // aapt resource value: 0x7F0802A8
            public const int play_button_bg = 2131231400;
            // aapt resource value: 0x7F0802A9
            public const int play_button_sel = 2131231401;
            // aapt resource value: 0x7F0802AA
            public const int play_button_selector = 2131231402;
            // aapt resource value: 0x7F0802AB
            public const int play_close = 2131231403;
            // aapt resource value: 0x7F0802AC
            public const int play_close_sel = 2131231404;
            // aapt resource value: 0x7F0802AD
            public const int play_close_selector = 2131231405;
            // aapt resource value: 0x7F0802AE
            public const int play_disable = 2131231406;
            // aapt resource value: 0x7F0802AF
            public const int play_flunet = 2131231407;
            // aapt resource value: 0x7F0802B0
            public const int play_flunet_disabel = 2131231408;
            // aapt resource value: 0x7F0802B1
            public const int play_flunet_sel = 2131231409;
            // aapt resource value: 0x7F0802B2
            public const int play_flunet_selector = 2131231410;
            // aapt resource value: 0x7F0802B3
            public const int play_full_loding_logo = 2131231411;
            // aapt resource value: 0x7F0802B4
            public const int play_full_multiple = 2131231412;
            // aapt resource value: 0x7F0802B5
            public const int play_full_multiple2 = 2131231413;
            // aapt resource value: 0x7F0802B6
            public const int play_full_multiple3 = 2131231414;
            // aapt resource value: 0x7F0802B7
            public const int play_full_multiple4 = 2131231415;
            // aapt resource value: 0x7F0802B8
            public const int play_full_multiple5 = 2131231416;
            // aapt resource value: 0x7F0802B9
            public const int play_full_pause = 2131231417;
            // aapt resource value: 0x7F0802BA
            public const int play_full_pause_sel = 2131231418;
            // aapt resource value: 0x7F0802BB
            public const int play_full_pause_selector = 2131231419;
            // aapt resource value: 0x7F0802BC
            public const int play_full_play = 2131231420;
            // aapt resource value: 0x7F0802BD
            public const int play_full_play_sel = 2131231421;
            // aapt resource value: 0x7F0802BE
            public const int play_full_play_selector = 2131231422;
            // aapt resource value: 0x7F0802BF
            public const int play_full_previously = 2131231423;
            // aapt resource value: 0x7F0802C0
            public const int play_full_previously_sel = 2131231424;
            // aapt resource value: 0x7F0802C1
            public const int play_full_previously_selector = 2131231425;
            // aapt resource value: 0x7F0802C2
            public const int play_full_ptz_selector = 2131231426;
            // aapt resource value: 0x7F0802C3
            public const int play_full_quality_color_selector = 2131231427;
            // aapt resource value: 0x7F0802C4
            public const int play_full_quality_selector = 2131231428;
            // aapt resource value: 0x7F0802C5
            public const int play_full_soundoff_btn_selector = 2131231429;
            // aapt resource value: 0x7F0802C6
            public const int play_full_soundon_btn_selector = 2131231430;
            // aapt resource value: 0x7F0802C7
            public const int play_full_stop = 2131231431;
            // aapt resource value: 0x7F0802C8
            public const int play_full_stop_sel = 2131231432;
            // aapt resource value: 0x7F0802C9
            public const int play_full_stop_selector = 2131231433;
            // aapt resource value: 0x7F0802CA
            public const int play_full_talk_selector = 2131231434;
            // aapt resource value: 0x7F0802CB
            public const int play_full_video = 2131231435;
            // aapt resource value: 0x7F0802CC
            public const int play_full_video_now = 2131231436;
            // aapt resource value: 0x7F0802CD
            public const int play_full_video_now_sel = 2131231437;
            // aapt resource value: 0x7F0802CE
            public const int play_full_video_now_selector = 2131231438;
            // aapt resource value: 0x7F0802CF
            public const int play_full_video_sel = 2131231439;
            // aapt resource value: 0x7F0802D0
            public const int play_full_video_selector = 2131231440;
            // aapt resource value: 0x7F0802D1
            public const int play_hd = 2131231441;
            // aapt resource value: 0x7F0802D2
            public const int play_hd_disabel = 2131231442;
            // aapt resource value: 0x7F0802D3
            public const int play_hd_sel = 2131231443;
            // aapt resource value: 0x7F0802D4
            public const int play_hd_selector = 2131231444;
            // aapt resource value: 0x7F0802D5
            public const int play_play = 2131231445;
            // aapt resource value: 0x7F0802D6
            public const int play_play_dis = 2131231446;
            // aapt resource value: 0x7F0802D7
            public const int play_play_sel = 2131231447;
            // aapt resource value: 0x7F0802D8
            public const int play_play_selector = 2131231448;
            // aapt resource value: 0x7F0802D9
            public const int play_press = 2131231449;
            // aapt resource value: 0x7F0802DA
            public const int play_previously = 2131231450;
            // aapt resource value: 0x7F0802DB
            public const int play_previously_dis = 2131231451;
            // aapt resource value: 0x7F0802DC
            public const int play_previously_sel = 2131231452;
            // aapt resource value: 0x7F0802DD
            public const int play_previously_selector = 2131231453;
            // aapt resource value: 0x7F0802DE
            public const int play_privacy_selector = 2131231454;
            // aapt resource value: 0x7F0802DF
            public const int play_ptz = 2131231455;
            // aapt resource value: 0x7F0802E0
            public const int play_ptz_dis = 2131231456;
            // aapt resource value: 0x7F0802E1
            public const int play_ptz_sel = 2131231457;
            // aapt resource value: 0x7F0802E2
            public const int play_ptz_selector = 2131231458;
            // aapt resource value: 0x7F0802E3
            public const int play_small = 2131231459;
            // aapt resource value: 0x7F0802E5
            public const int play_smallbtn_selector = 2131231461;
            // aapt resource value: 0x7F0802E4
            public const int play_small_press = 2131231460;
            // aapt resource value: 0x7F0802E6
            public const int play_speech = 2131231462;
            // aapt resource value: 0x7F0802E7
            public const int play_speech_dis = 2131231463;
            // aapt resource value: 0x7F0802E8
            public const int play_speech_sel = 2131231464;
            // aapt resource value: 0x7F0802E9
            public const int play_speech_selector = 2131231465;
            // aapt resource value: 0x7F0802EA
            public const int play_stop = 2131231466;
            // aapt resource value: 0x7F0802EB
            public const int play_stop_sel = 2131231467;
            // aapt resource value: 0x7F0802EC
            public const int play_stop_selector = 2131231468;
            // aapt resource value: 0x7F0802ED
            public const int play_talk = 2131231469;
            // aapt resource value: 0x7F0802F1
            public const int play_talkback = 2131231473;
            // aapt resource value: 0x7F0802F2
            public const int play_talkback_sel = 2131231474;
            // aapt resource value: 0x7F0802F3
            public const int play_talkback_selector = 2131231475;
            // aapt resource value: 0x7F0802EE
            public const int play_talk_dis = 2131231470;
            // aapt resource value: 0x7F0802EF
            public const int play_talk_sel = 2131231471;
            // aapt resource value: 0x7F0802F0
            public const int play_talk_selector = 2131231472;
            // aapt resource value: 0x7F0802F4
            public const int play_video = 2131231476;
            // aapt resource value: 0x7F0802F5
            public const int play_video_dis = 2131231477;
            // aapt resource value: 0x7F0802F6
            public const int play_video_record = 2131231478;
            // aapt resource value: 0x7F0802F7
            public const int play_video_sel = 2131231479;
            // aapt resource value: 0x7F0802F8
            public const int play_video_selector = 2131231480;
            // aapt resource value: 0x7F0802F9
            public const int play_video_start = 2131231481;
            // aapt resource value: 0x7F0802FA
            public const int play_video_time_bg = 2131231482;
            // aapt resource value: 0x7F0802FB
            public const int play_voice = 2131231483;
            // aapt resource value: 0x7F0802FC
            public const int play_voice_dis = 2131231484;
            // aapt resource value: 0x7F0802FD
            public const int play_voice_sel = 2131231485;
            // aapt resource value: 0x7F0802FE
            public const int play_voice_selector = 2131231486;
            
            // aapt resource value: 0x7F080312
            public const int prepare_device = 2131231506;
            public const int popdialogbg = 2131231506;
            
            // aapt resource value: 0x7F080313
            public const int preview_close1_video_ico = 2131231507;
            public const int prepare_device = 2131231507;
            
            // aapt resource value: 0x7F080314
            public const int preview_close_video = 2131231508;
            public const int preview_close1_video_ico = 2131231508;
            
            // aapt resource value: 0x7F080315
            public const int preview_close_video_dis = 2131231509;
            public const int preview_close_video = 2131231509;
            
            // aapt resource value: 0x7F080316
            public const int preview_close_video_sel = 2131231510;
            public const int preview_close_video_dis = 2131231510;
            
            // aapt resource value: 0x7F080317
            public const int preview_down_bg_normal = 2131231511;
            public const int preview_close_video_sel = 2131231511;
            
            // aapt resource value: 0x7F080318
            public const int preview_down_bg_pressed = 2131231512;
            public const int preview_down_bg_normal = 2131231512;
            
            // aapt resource value: 0x7F080319
            public const int preview_down_ico = 2131231513;
            public const int preview_down_bg_pressed = 2131231513;
            
            // aapt resource value: 0x7F08031A
            public const int preview_down_selector = 2131231514;
            public const int preview_down_ico = 2131231514;
            
            // aapt resource value: 0x7F08031B
            public const int preview_enlarge = 2131231515;
            public const int preview_down_selector = 2131231515;
            
            // aapt resource value: 0x7F08031C
            public const int preview_enlarge_btn_sel = 2131231516;
            public const int preview_enlarge = 2131231516;
            
            // aapt resource value: 0x7F08031D
            public const int preview_enlarge_dis = 2131231517;
            public const int preview_enlarge_btn_sel = 2131231517;
            
            // aapt resource value: 0x7F08031E
            public const int preview_enlarge_selector = 2131231518;
            public const int preview_enlarge_dis = 2131231518;
            
            // aapt resource value: 0x7F08031F
            public const int preview_play_btn = 2131231519;
            public const int preview_enlarge_selector = 2131231519;
            
            // aapt resource value: 0x7F080320
            public const int preview_play_btn_dis = 2131231520;
            public const int preview_play_btn = 2131231520;
            
            // aapt resource value: 0x7F080321
            public const int preview_play_btn_sel = 2131231521;
            public const int preview_play_btn_dis = 2131231521;
            
            // aapt resource value: 0x7F080322
            public const int preview_recording = 2131231522;
            public const int preview_play_btn_sel = 2131231522;
            
            // aapt resource value: 0x7F080323
            public const int preview_recording_dis = 2131231523;
            public const int preview_recording = 2131231523;
            
            // aapt resource value: 0x7F080324
            public const int preview_recording_sel = 2131231524;
            public const int preview_recording_dis = 2131231524;
            
            // aapt resource value: 0x7F080325
            public const int preview_selection_bg = 2131231525;
            public const int preview_recording_sel = 2131231525;
            
            // aapt resource value: 0x7F080326
            public const int preview_stopplay_btn_dis = 2131231526;
            public const int preview_selection_bg = 2131231526;
            
            // aapt resource value: 0x7F080327
            public const int preview_unvoice_btn = 2131231527;
            public const int preview_stopplay_btn_dis = 2131231527;
            
            // aapt resource value: 0x7F080328
            public const int preview_unvoice_btn_sel = 2131231528;
            public const int preview_unvoice_btn = 2131231528;
            
            // aapt resource value: 0x7F080329
            public const int preview_video_selection = 2131231529;
            public const int preview_unvoice_btn_sel = 2131231529;
            
            // aapt resource value: 0x7F08032A
            public const int preview_video_selection_hover = 2131231530;
            public const int preview_video_selection = 2131231530;
            
            // aapt resource value: 0x7F08032B
            public const int preview_voice_btn = 2131231531;
            public const int preview_video_selection_hover = 2131231531;
            
            // aapt resource value: 0x7F08032C
            public const int preview_voice_btn_dis = 2131231532;
            public const int preview_voice_btn = 2131231532;
            
            // aapt resource value: 0x7F08032D
            public const int preview_voice_btn_sel = 2131231533;
            public const int preview_voice_btn_dis = 2131231533;
            
            // aapt resource value: 0x7F08032E
            public const int previously = 2131231534;
            public const int preview_voice_btn_sel = 2131231534;
            
            // aapt resource value: 0x7F08032F
            public const int previously_dis = 2131231535;
            public const int previously = 2131231535;
            
            // aapt resource value: 0x7F080330
            public const int previously_sel = 2131231536;
            public const int previously_dis = 2131231536;
            
            // aapt resource value: 0x7F080331
            public const int ptz_bg = 2131231537;
            public const int previously_sel = 2131231537;
            
            // aapt resource value: 0x7F080332
            public const int ptz_bottom_limit = 2131231538;
            public const int ptz_bg = 2131231538;
            
            // aapt resource value: 0x7F080333
            public const int ptz_bottom_sel = 2131231539;
            public const int ptz_bottom_limit = 2131231539;
            
            // aapt resource value: 0x7F080334
            public const int ptz_left_limit = 2131231540;
            public const int ptz_bottom_sel = 2131231540;
            
            // aapt resource value: 0x7F080335
            public const int ptz_left_sel = 2131231541;
            public const int ptz_left_limit = 2131231541;
            
            // aapt resource value: 0x7F080336
            public const int ptz_prompt = 2131231542;
            public const int ptz_left_sel = 2131231542;
            
            // aapt resource value: 0x7F080337
            public const int ptz_right_limit = 2131231543;
            public const int ptz_prompt = 2131231543;
            
            // aapt resource value: 0x7F080338
            public const int ptz_right_sel = 2131231544;
            public const int ptz_right_limit = 2131231544;
            
            // aapt resource value: 0x7F080339
            public const int ptz_top_limit = 2131231545;
            public const int ptz_right_sel = 2131231545;
            
            // aapt resource value: 0x7F08033A
            public const int ptz_turn = 2131231546;
            public const int ptz_top_limit = 2131231546;
            
            // aapt resource value: 0x7F08033B
            public const int ptz_turn_sel = 2131231547;
            public const int ptz_turn = 2131231547;
            
            // aapt resource value: 0x7F08033C
            public const int ptz_turn_selector = 2131231548;
            public const int ptz_turn_sel = 2131231548;
            
            // aapt resource value: 0x7F08033D
            public const int ptz_up_sel = 2131231549;
            public const int ptz_turn_selector = 2131231549;
            
            // aapt resource value: 0x7F08033E
            public const int push_close = 2131231550;
            public const int ptz_up_sel = 2131231550;
            
            // aapt resource value: 0x7F08033F
            public const int push_close_sel = 2131231551;
            public const int push_close = 2131231551;
            
            // aapt resource value: 0x7F080340
            public const int push_close_selector = 2131231552;
            public const int push_close_sel = 2131231552;
            
            // aapt resource value: 0x7F080341
            public const int put_ico = 2131231553;
            public const int push_close_selector = 2131231553;
            
            // aapt resource value: 0x7F080342
            public const int query_loding1 = 2131231554;
            public const int put_ico = 2131231554;
            
            // aapt resource value: 0x7F080343
            public const int query_loding2 = 2131231555;
            public const int query_loding1 = 2131231555;
            
            // aapt resource value: 0x7F080344
            public const int query_loding3 = 2131231556;
            public const int query_loding2 = 2131231556;
            
            // aapt resource value: 0x7F080345
            public const int query_loding4 = 2131231557;
            public const int query_loding3 = 2131231557;
            
            // aapt resource value: 0x7F080346
            public const int query_loding5 = 2131231558;
            public const int query_loding4 = 2131231558;
            
            // aapt resource value: 0x7F080347
            public const int radius_rect_bg_qq_group = 2131231559;
            public const int query_loding5 = 2131231559;
            
            // aapt resource value: 0x7F080348
            public const int read_button = 2131231560;
            public const int radius_rect_bg_qq_group = 2131231560;
            
            // aapt resource value: 0x7F080349
            public const int read_button_sel = 2131231561;
            public const int read_button = 2131231561;
            
            // aapt resource value: 0x7F08034A
            public const int read_button_selector = 2131231562;
            public const int read_button_sel = 2131231562;
            
            // aapt resource value: 0x7F08034B
            public const int refresh_selector = 2131231563;
            public const int read_button_selector = 2131231563;
            
            // aapt resource value: 0x7F08034C
            public const int register_server_bg = 2131231564;
            public const int refresh_selector = 2131231564;
            
            // aapt resource value: 0x7F08034D
            public const int remote_cal_selector = 2131231565;
            public const int register_server_bg = 2131231565;
            
            // aapt resource value: 0x7F08034E
            public const int remote_exit_btn_selector = 2131231566;
            public const int remote_cal_selector = 2131231566;
            
            // aapt resource value: 0x7F08034F
            public const int remote_list_pause_btn_selector = 2131231567;
            public const int remote_exit_btn_selector = 2131231567;
            
            // aapt resource value: 0x7F080350
            public const int remote_list_play_btn_selector = 2131231568;
            public const int remote_list_pause_btn_selector = 2131231568;
            
            // aapt resource value: 0x7F080351
            public const int remote_list_soundoff_btn_selector = 2131231569;
            public const int remote_list_play_btn_selector = 2131231569;
            
            // aapt resource value: 0x7F080352
            public const int remote_list_soundon_btn_selector = 2131231570;
            public const int remote_list_soundoff_btn_selector = 2131231570;
            
            // aapt resource value: 0x7F080353
            public const int remote_play = 2131231571;
            public const int remote_list_soundon_btn_selector = 2131231571;
            
            // aapt resource value: 0x7F080354
            public const int remote_play_sel = 2131231572;
            public const int remote_play = 2131231572;
            
            // aapt resource value: 0x7F080355
            public const int remote_seekbar_style = 2131231573;
            public const int remote_play_sel = 2131231573;
            
            // aapt resource value: 0x7F080356
            public const int remote_seekbar_thumb = 2131231574;
            public const int remote_seekbar_style = 2131231574;
            
            // aapt resource value: 0x7F080357
            public const int reset_deivce = 2131231575;
            // aapt resource value: 0x7F080364
            public const int results_4_dvr = 2131231588;
            // aapt resource value: 0x7F080365
            public const int results_8_16_nvr = 2131231589;
            // aapt resource value: 0x7F080366
            public const int results_8_nvr = 2131231590;
            // aapt resource value: 0x7F080367
            public const int results_c6p = 2131231591;
            // aapt resource value: 0x7F080368
            public const int results_mini_360_plus = 2131231592;
            // aapt resource value: 0x7F080369
            public const int results_mini_trooper = 2131231593;
            // aapt resource value: 0x7F08036A
            public const int results_pic_a1 = 2131231594;
            // aapt resource value: 0x7F08036B
            public const int results_pic_a1c = 2131231595;
            // aapt resource value: 0x7F08036C
            public const int results_pic_a1s = 2131231596;
            // aapt resource value: 0x7F08036D
            public const int results_pic_baidu_c2s = 2131231597;
            // aapt resource value: 0x7F08036E
            public const int results_pic_bg = 2131231598;
            // aapt resource value: 0x7F08036F
            public const int results_pic_c1 = 2131231599;
            // aapt resource value: 0x7F080370
            public const int results_pic_c2 = 2131231600;
            // aapt resource value: 0x7F080373
            public const int results_pic_c2c = 2131231603;
            // aapt resource value: 0x7F080374
            public const int results_pic_c2mini = 2131231604;
            // aapt resource value: 0x7F080375
            public const int results_pic_c2mini2 = 2131231605;
            // aapt resource value: 0x7F080376
            public const int results_pic_c2plus = 2131231606;
            // aapt resource value: 0x7F080377
            public const int results_pic_c2s = 2131231607;
            // aapt resource value: 0x7F080378
            public const int results_pic_c2w = 2131231608;
            // aapt resource value: 0x7F080371
            public const int results_pic_c2_2 = 2131231601;
            // aapt resource value: 0x7F080372
            public const int results_pic_c2_usa = 2131231602;
            // aapt resource value: 0x7F080379
            public const int results_pic_c3 = 2131231609;
            // aapt resource value: 0x7F08037A
            public const int results_pic_c3c = 2131231610;
            // aapt resource value: 0x7F08037B
            public const int results_pic_c3e = 2131231611;
            // aapt resource value: 0x7F08037C
            public const int results_pic_c3s = 2131231612;
            // aapt resource value: 0x7F08037D
            public const int results_pic_c4 = 2131231613;
            // aapt resource value: 0x7F08037E
            public const int results_pic_c4c = 2131231614;
            // aapt resource value: 0x7F08037F
            public const int results_pic_c4e = 2131231615;
            // aapt resource value: 0x7F080380
            public const int results_pic_c4s = 2131231616;
            // aapt resource value: 0x7F080381
            public const int results_pic_c6 = 2131231617;
            // aapt resource value: 0x7F080382
            public const int results_pic_c6c = 2131231618;
            // aapt resource value: 0x7F080383
            public const int results_pic_c6c_1 = 2131231619;
            // aapt resource value: 0x7F080384
            public const int results_pic_c6c_2 = 2131231620;
            // aapt resource value: 0x7F080385
            public const int results_pic_c6h = 2131231621;
            // aapt resource value: 0x7F080386
            public const int results_pic_co2 = 2131231622;
            // aapt resource value: 0x7F080387
            public const int results_pic_d1 = 2131231623;
            // aapt resource value: 0x7F080388
            public const int results_pic_default = 2131231624;
            // aapt resource value: 0x7F080389
            public const int results_pic_f1 = 2131231625;
            // aapt resource value: 0x7F08038A
            public const int results_pic_h2c = 2131231626;
            // aapt resource value: 0x7F08038B
            public const int results_pic_h2s = 2131231627;
            // aapt resource value: 0x7F08038C
            public const int results_pic_n1 = 2131231628;
            // aapt resource value: 0x7F08038D
            public const int results_pic_n1w = 2131231629;
            // aapt resource value: 0x7F08038E
            public const int results_pic_r1 = 2131231630;
            // aapt resource value: 0x7F08038F
            public const int results_pic_r2 = 2131231631;
            // aapt resource value: 0x7F080390
            public const int results_pic_w1 = 2131231632;
            // aapt resource value: 0x7F080391
            public const int results_pic_w3 = 2131231633;
            // aapt resource value: 0x7F080392
            public const int results_pic_x1 = 2131231634;
            // aapt resource value: 0x7F080393
            public const int results_pic_x2 = 2131231635;
            // aapt resource value: 0x7F080394
            public const int results_pic_x3 = 2131231636;
            // aapt resource value: 0x7F080395
            public const int results_pic_x3c = 2131231637;
            // aapt resource value: 0x7F080396
            public const int results_pic_x4 = 2131231638;
            // aapt resource value: 0x7F080397
            public const int results_pic_z1 = 2131231639;
            // aapt resource value: 0x7F080398
            public const int results_w2d = 2131231640;
            // aapt resource value: 0x7F080399
            public const int results_w2s = 2131231641;
            // aapt resource value: 0x7F08039A
            public const int results_wlb = 2131231642;
            // aapt resource value: 0x7F08039B
            public const int results_x5_108tp = 2131231643;
            public const int remote_seekbar_thumb = 2131231575;
            
            // aapt resource value: 0x7F080358
            public const int result_5k_vr104d = 2131231576;
            public const int reset_deivce = 2131231576;
            
            // aapt resource value: 0x7F080359
            public const int result_5k_vr116d = 2131231577;
            // aapt resource value: 0x7F080365
            public const int results_4_dvr = 2131231589;
            
            // aapt resource value: 0x7F08035A
            public const int result_8_16dvr = 2131231578;
            // aapt resource value: 0x7F080366
            public const int results_8_16_nvr = 2131231590;
            
            // aapt resource value: 0x7F08035B
            public const int result_cs_c3w = 2131231579;
            // aapt resource value: 0x7F080367
            public const int results_8_nvr = 2131231591;
            
            // aapt resource value: 0x7F08035C
            public const int result_cs_vr104d = 2131231580;
            // aapt resource value: 0x7F080368
            public const int results_c6p = 2131231592;
            
            // aapt resource value: 0x7F08035D
            public const int result_cs_vr108d = 2131231581;
            // aapt resource value: 0x7F080369
            public const int results_mini_360_plus = 2131231593;
            
            // aapt resource value: 0x7F08035E
            public const int result_cs_vr116d = 2131231582;
            // aapt resource value: 0x7F08036A
            public const int results_mini_trooper = 2131231594;
            
            // aapt resource value: 0x7F08035F
            public const int result_pic_dh1 = 2131231583;
            // aapt resource value: 0x7F08036B
            public const int results_pic_a1 = 2131231595;
            
            // aapt resource value: 0x7F080360
            public const int result_pic_doorbell = 2131231584;
            // aapt resource value: 0x7F08036C
            public const int results_pic_a1c = 2131231596;
            
            // aapt resource value: 0x7F080361
            public const int result_pic_doorbell_hik = 2131231585;
            // aapt resource value: 0x7F08036D
            public const int results_pic_a1s = 2131231597;
            
            // aapt resource value: 0x7F080362
            public const int result_pic_light = 2131231586;
            // aapt resource value: 0x7F08036E
            public const int results_pic_baidu_c2s = 2131231598;
            
            // aapt resource value: 0x7F080363
            public const int result_x5c = 2131231587;
            // aapt resource value: 0x7F08036F
            public const int results_pic_bg = 2131231599;
            // aapt resource value: 0x7F080370
            public const int results_pic_c1 = 2131231600;
            // aapt resource value: 0x7F080371
            public const int results_pic_c2 = 2131231601;
            // aapt resource value: 0x7F080374
            public const int results_pic_c2c = 2131231604;
            // aapt resource value: 0x7F080375
            public const int results_pic_c2mini = 2131231605;
            // aapt resource value: 0x7F080376
            public const int results_pic_c2mini2 = 2131231606;
            // aapt resource value: 0x7F080377
            public const int results_pic_c2plus = 2131231607;
            // aapt resource value: 0x7F080378
            public const int results_pic_c2s = 2131231608;
            // aapt resource value: 0x7F080379
            public const int results_pic_c2w = 2131231609;
            // aapt resource value: 0x7F080372
            public const int results_pic_c2_2 = 2131231602;
            // aapt resource value: 0x7F080373
            public const int results_pic_c2_usa = 2131231603;
            // aapt resource value: 0x7F08037A
            public const int results_pic_c3 = 2131231610;
            // aapt resource value: 0x7F08037B
            public const int results_pic_c3c = 2131231611;
            // aapt resource value: 0x7F08037C
            public const int results_pic_c3e = 2131231612;
            // aapt resource value: 0x7F08037D
            public const int results_pic_c3s = 2131231613;
            // aapt resource value: 0x7F08037E
            public const int results_pic_c4 = 2131231614;
            // aapt resource value: 0x7F08037F
            public const int results_pic_c4c = 2131231615;
            // aapt resource value: 0x7F080380
            public const int results_pic_c4e = 2131231616;
            // aapt resource value: 0x7F080381
            public const int results_pic_c4s = 2131231617;
            // aapt resource value: 0x7F080382
            public const int results_pic_c6 = 2131231618;
            // aapt resource value: 0x7F080383
            public const int results_pic_c6c = 2131231619;
            // aapt resource value: 0x7F080384
            public const int results_pic_c6c_1 = 2131231620;
            // aapt resource value: 0x7F080385
            public const int results_pic_c6c_2 = 2131231621;
            // aapt resource value: 0x7F080386
            public const int results_pic_c6h = 2131231622;
            // aapt resource value: 0x7F080387
            public const int results_pic_co2 = 2131231623;
            // aapt resource value: 0x7F080388
            public const int results_pic_d1 = 2131231624;
            // aapt resource value: 0x7F080389
            public const int results_pic_default = 2131231625;
            // aapt resource value: 0x7F08038A
            public const int results_pic_f1 = 2131231626;
            // aapt resource value: 0x7F08038B
            public const int results_pic_h2c = 2131231627;
            // aapt resource value: 0x7F08038C
            public const int results_pic_h2s = 2131231628;
            // aapt resource value: 0x7F08038D
            public const int results_pic_n1 = 2131231629;
            // aapt resource value: 0x7F08038E
            public const int results_pic_n1w = 2131231630;
            // aapt resource value: 0x7F08038F
            public const int results_pic_r1 = 2131231631;
            // aapt resource value: 0x7F080390
            public const int results_pic_r2 = 2131231632;
            // aapt resource value: 0x7F080391
            public const int results_pic_w1 = 2131231633;
            // aapt resource value: 0x7F080392
            public const int results_pic_w3 = 2131231634;
            // aapt resource value: 0x7F080393
            public const int results_pic_x1 = 2131231635;
            // aapt resource value: 0x7F080394
            public const int results_pic_x2 = 2131231636;
            // aapt resource value: 0x7F080395
            public const int results_pic_x3 = 2131231637;
            // aapt resource value: 0x7F080396
            public const int results_pic_x3c = 2131231638;
            // aapt resource value: 0x7F080397
            public const int results_pic_x4 = 2131231639;
            // aapt resource value: 0x7F080398
            public const int results_pic_z1 = 2131231640;
            // aapt resource value: 0x7F080399
            public const int results_w2d = 2131231641;
            // aapt resource value: 0x7F08039A
            public const int results_w2s = 2131231642;
            // aapt resource value: 0x7F08039B
            public const int results_wlb = 2131231643;
            
            // aapt resource value: 0x7F08039C
            public const int right_horizontal = 2131231644;
            public const int results_x5_108tp = 2131231644;
            // aapt resource value: 0x7F080359
            public const int result_5k_vr104d = 2131231577;
            // aapt resource value: 0x7F08035A
            public const int result_5k_vr116d = 2131231578;
            // aapt resource value: 0x7F08035B
            public const int result_8_16dvr = 2131231579;
            // aapt resource value: 0x7F08035C
            public const int result_cs_c3w = 2131231580;
            // aapt resource value: 0x7F08035D
            public const int result_cs_vr104d = 2131231581;
            // aapt resource value: 0x7F08035E
            public const int result_cs_vr108d = 2131231582;
            // aapt resource value: 0x7F08035F
            public const int result_cs_vr116d = 2131231583;
            // aapt resource value: 0x7F080360
            public const int result_pic_dh1 = 2131231584;
            // aapt resource value: 0x7F080361
            public const int result_pic_doorbell = 2131231585;
            // aapt resource value: 0x7F080362
            public const int result_pic_doorbell_hik = 2131231586;
            // aapt resource value: 0x7F080363
            public const int result_pic_light = 2131231587;
            // aapt resource value: 0x7F080364
            public const int result_x5c = 2131231588;
            
            // aapt resource value: 0x7F08039D
            public const int right_twinkle = 2131231645;
            public const int right_horizontal = 2131231645;
            
            // aapt resource value: 0x7F08039E
            public const int ring_off = 2131231646;
            public const int right_twinkle = 2131231646;
            
            // aapt resource value: 0x7F08039F
            public const int say_bg = 2131231647;
            public const int ring_off = 2131231647;
            
            // aapt resource value: 0x7F0803A0
            public const int screenshot = 2131231648;
            public const int say_bg = 2131231648;
            
            // aapt resource value: 0x7F0803A1
            public const int screenshot_def = 2131231649;
            public const int screenshot = 2131231649;
            
            // aapt resource value: 0x7F0803A2
            public const int screenshot_sel = 2131231650;
            public const int screenshot_def = 2131231650;
            
            // aapt resource value: 0x7F0803A3
            public const int search = 2131231651;
            public const int screenshot_sel = 2131231651;
            
            // aapt resource value: 0x7F0803A4
            public const int search_bnt = 2131231652;
            public const int search = 2131231652;
            
            // aapt resource value: 0x7F0803A5
            public const int search_bnt_sel = 2131231653;
            public const int search_bnt = 2131231653;
            
            // aapt resource value: 0x7F0803A6
            public const int search_button_selector = 2131231654;
            public const int search_bnt_sel = 2131231654;
            
            // aapt resource value: 0x7F0803A7
            public const int search_input = 2131231655;
            public const int search_button_selector = 2131231655;
            
            // aapt resource value: 0x7F0803A8
            public const int seekbar_thumb = 2131231656;
            // aapt resource value: 0x7F0803AA
            public const int selected_icon = 2131231658;
            // aapt resource value: 0x7F0803AB
            public const int selector_pickerview_btn = 2131231659;
            public const int search_input = 2131231656;
            
            // aapt resource value: 0x7F0803A9
            public const int select_icon = 2131231657;
            public const int seekbar_thumb = 2131231657;
            // aapt resource value: 0x7F0803AB
            public const int selected_icon = 2131231659;
            
            // aapt resource value: 0x7F0803AC
            public const int server1 = 2131231660;
            public const int selector_pickerview_btn = 2131231660;
            // aapt resource value: 0x7F0803AA
            public const int select_icon = 2131231658;
            
            // aapt resource value: 0x7F0803AD
            public const int server2 = 2131231661;
            public const int server1 = 2131231661;
            
            // aapt resource value: 0x7F0803AE
            public const int server3 = 2131231662;
            public const int server2 = 2131231662;
            
            // aapt resource value: 0x7F0803AF
            public const int server4 = 2131231663;
            public const int server3 = 2131231663;
            
            // aapt resource value: 0x7F0803B0
            public const int setup = 2131231664;
            public const int server4 = 2131231664;
            
            // aapt resource value: 0x7F0803B1
            public const int setup_sel = 2131231665;
            public const int setup = 2131231665;
            
            // aapt resource value: 0x7F0803B2
            public const int setup_wechat = 2131231666;
            public const int setup_sel = 2131231666;
            
            // aapt resource value: 0x7F0803B3
            public const int share_management_label_button = 2131231667;
            public const int setup_wechat = 2131231667;
            
            // aapt resource value: 0x7F0803B4
            public const int share_management_label_button_sel = 2131231668;
            public const int share_management_label_button = 2131231668;
            
            // aapt resource value: 0x7F0803B5
            public const int shipin7_alarm_msg_new = 2131231669;
            public const int share_management_label_button_sel = 2131231669;
            
            // aapt resource value: 0x7F0803B6
            public const int shrink_screen_normal = 2131231670;
            public const int shipin7_alarm_msg_new = 2131231670;
            
            // aapt resource value: 0x7F0803B7
            public const int shrink_screen_pressed = 2131231671;
            public const int shrink_screen_normal = 2131231671;
            
            // aapt resource value: 0x7F0803B8
            public const int small_button_cameralist = 2131231672;
            public const int shrink_screen_pressed = 2131231672;
            
            // aapt resource value: 0x7F0803B9
            public const int sound_off = 2131231673;
            public const int small_button_cameralist = 2131231673;
            
            // aapt resource value: 0x7F0803BA
            public const int sound_off_blue = 2131231674;
            public const int sound_off = 2131231674;
            
            // aapt resource value: 0x7F0803BB
            public const int sound_off_sel = 2131231675;
            public const int sound_off_blue = 2131231675;
            
            // aapt resource value: 0x7F0803BC
            public const int sound_off_sel_blue = 2131231676;
            public const int sound_off_sel = 2131231676;
            
            // aapt resource value: 0x7F0803BD
            public const int sound_on = 2131231677;
            public const int sound_off_sel_blue = 2131231677;
            
            // aapt resource value: 0x7F0803BE
            public const int sound_on_blue = 2131231678;
            public const int sound_on = 2131231678;
            
            // aapt resource value: 0x7F0803BF
            public const int sound_on_sel = 2131231679;
            public const int sound_on_blue = 2131231679;
            
            // aapt resource value: 0x7F0803C0
            public const int sound_on_sel_blue = 2131231680;
            public const int sound_on_sel = 2131231680;
            
            // aapt resource value: 0x7F0803C1
            public const int sound_source = 2131231681;
            public const int sound_on_sel_blue = 2131231681;
            
            // aapt resource value: 0x7F0803C2
            public const int sound_source_sel = 2131231682;
            public const int sound_source = 2131231682;
            
            // aapt resource value: 0x7F0803C3
            public const int speech = 2131231683;
            public const int sound_source_sel = 2131231683;
            
            // aapt resource value: 0x7F0803C4
            public const int speech_0 = 2131231684;
            public const int speech = 2131231684;
            
            // aapt resource value: 0x7F0803C5
            public const int speech_1 = 2131231685;
            public const int speech_0 = 2131231685;
            
            // aapt resource value: 0x7F0803C6
            public const int speech_2 = 2131231686;
            public const int speech_1 = 2131231686;
            
            // aapt resource value: 0x7F0803C7
            public const int speech_3 = 2131231687;
            public const int speech_2 = 2131231687;
            
            // aapt resource value: 0x7F0803C8
            public const int speech_4 = 2131231688;
            public const int speech_3 = 2131231688;
            
            // aapt resource value: 0x7F0803C9
            public const int speech_5 = 2131231689;
            public const int speech_4 = 2131231689;
            
            // aapt resource value: 0x7F0803CA
            public const int speech_full_selector = 2131231690;
            public const int speech_5 = 2131231690;
            
            // aapt resource value: 0x7F0803CB
            public const int stop = 2131231691;
            // aapt resource value: 0x7F0803CE
            public const int stopbtn_selector = 2131231694;
            // aapt resource value: 0x7F0803CF
            public const int stoplay_btn = 2131231695;
            // aapt resource value: 0x7F0803D0
            public const int stoplay_btn_sel = 2131231696;
            public const int speech_full_selector = 2131231691;
            
            // aapt resource value: 0x7F0803CC
            public const int stop_disable = 2131231692;
            public const int stop = 2131231692;
            
            // aapt resource value: 0x7F0803CD
            public const int stop_press = 2131231693;
            // aapt resource value: 0x7F0803CF
            public const int stopbtn_selector = 2131231695;
            // aapt resource value: 0x7F0803D0
            public const int stoplay_btn = 2131231696;
            
            // aapt resource value: 0x7F0803D1
            public const int success = 2131231697;
            public const int stoplay_btn_sel = 2131231697;
            // aapt resource value: 0x7F0803CD
            public const int stop_disable = 2131231693;
            // aapt resource value: 0x7F0803CE
            public const int stop_press = 2131231694;
            
            // aapt resource value: 0x7F0803D2
            public const int success_icon = 2131231698;
            public const int success = 2131231698;
            
            // aapt resource value: 0x7F0803D3
            public const int success_img = 2131231699;
            public const int success_icon = 2131231699;
            
            // aapt resource value: 0x7F0803D4
            public const int sure_background_def = 2131231700;
            public const int success_img = 2131231700;
            
            // aapt resource value: 0x7F0803D5
            public const int sure_background_sel = 2131231701;
            public const int sure_background_def = 2131231701;
            
            // aapt resource value: 0x7F0803D6
            public const int switch_camera = 2131231702;
            public const int sure_background_sel = 2131231702;
            
            // aapt resource value: 0x7F0803D7
            public const int tab_left = 2131231703;
            public const int switch_camera = 2131231703;
            
            // aapt resource value: 0x7F0803D8
            public const int tab_left_sel = 2131231704;
            public const int tab_left = 2131231704;
            
            // aapt resource value: 0x7F0803D9
            public const int tab_right = 2131231705;
            public const int tab_left_sel = 2131231705;
            
            // aapt resource value: 0x7F0803DA
            public const int tab_right_sel = 2131231706;
            public const int tab_right = 2131231706;
            
            // aapt resource value: 0x7F0803DB
            public const int tiltle_button_selector = 2131231707;
            public const int tab_right_sel = 2131231707;
            
            // aapt resource value: 0x7F0803DC
            public const int timeline = 2131231708;
            public const int tiltle_button_selector = 2131231708;
            
            // aapt resource value: 0x7F0803DD
            public const int timeline_sel = 2131231709;
            public const int timeline = 2131231709;
            
            // aapt resource value: 0x7F0803DE
            public const int tip_background = 2131231710;
            public const int timeline_sel = 2131231710;
            
            // aapt resource value: 0x7F0803DF
            public const int tip_textview_bg = 2131231711;
            public const int tip_background = 2131231711;
            
            // aapt resource value: 0x7F0803E0
            public const int title_down_bg = 2131231712;
            public const int tip_textview_bg = 2131231712;
            
            // aapt resource value: 0x7F0803E1
            public const int title_down_play = 2131231713;
            public const int title_down_bg = 2131231713;
            
            // aapt resource value: 0x7F0803E2
            public const int title_down_play_sel = 2131231714;
            public const int title_down_play = 2131231714;
            
            // aapt resource value: 0x7F0803E3
            public const int title_down_play_selector = 2131231715;
            public const int title_down_play_sel = 2131231715;
            
            // aapt resource value: 0x7F0803E4
            public const int title_menu_bg = 2131231716;
            public const int title_down_play_selector = 2131231716;
            
            // aapt resource value: 0x7F0803E5
            public const int tittel_button_bg = 2131231717;
            public const int title_menu_bg = 2131231717;
            
            // aapt resource value: 0x7F0803E6
            public const int tittel_button_press_bg = 2131231718;
            public const int tittel_button_bg = 2131231718;
            
            // aapt resource value: 0x7F0803E7
            public const int tooltip_frame_dark = 2131231719;
            public const int tittel_button_press_bg = 2131231719;
            
            // aapt resource value: 0x7F0803E8
            public const int tooltip_frame_light = 2131231720;
            public const int tooltip_frame_dark = 2131231720;
            
            // aapt resource value: 0x7F0803E9
            public const int top_bar_bg = 2131231721;
            public const int tooltip_frame_light = 2131231721;
            
            // aapt resource value: 0x7F0803EA
            public const int track_bar_bg = 2131231722;
            public const int top_bar_bg = 2131231722;
            
            // aapt resource value: 0x7F0803EB
            public const int translucent = 2131231723;
            public const int track_bar_bg = 2131231723;
            
            // aapt resource value: 0x7F0803EC
            public const int @unchecked = 2131231724;
            public const int translucent = 2131231724;
            
            // aapt resource value: 0x7F0803ED
            public const int unlock = 2131231725;
            public const int @unchecked = 2131231725;
            
            // aapt resource value: 0x7F0803EE
            public const int unlock_def = 2131231726;
            public const int unlock = 2131231726;
            
            // aapt resource value: 0x7F0803EF
            public const int unlock_sel = 2131231727;
            // aapt resource value: 0x7F0803F2
            public const int upgrade = 2131231730;
            public const int unlock_def = 2131231727;
            
            // aapt resource value: 0x7F0803F0
            public const int up_horizontal = 2131231728;
            // aapt resource value: 0x7F0803F1
            public const int up_twinkle = 2131231729;
            public const int unlock_sel = 2131231728;
            
            // aapt resource value: 0x7F0803F3
            public const int user = 2131231731;
            public const int upgrade = 2131231731;
            // aapt resource value: 0x7F0803F1
            public const int up_horizontal = 2131231729;
            // aapt resource value: 0x7F0803F2
            public const int up_twinkle = 2131231730;
            
            // aapt resource value: 0x7F0803F4
            public const int vertical_preview_sound_selector = 2131231732;
            public const int user = 2131231732;
            
            // aapt resource value: 0x7F0803F5
            public const int vertical_preview_stop_selector = 2131231733;
            // aapt resource value: 0x7F080405
            public const int videogo_icon = 2131231749;
            public const int vertical_preview_sound_selector = 2131231733;
            
            // aapt resource value: 0x7F0803F6
            public const int video_background = 2131231734;
            // aapt resource value: 0x7F0803F7
            public const int video_camera1_1 = 2131231735;
            // aapt resource value: 0x7F0803F8
            public const int video_camera1_2 = 2131231736;
            // aapt resource value: 0x7F0803F9
            public const int video_camera1_3 = 2131231737;
            // aapt resource value: 0x7F0803FA
            public const int video_file_watermark = 2131231738;
            // aapt resource value: 0x7F0803FB
            public const int video_quality_selector = 2131231739;
            // aapt resource value: 0x7F0803FC
            public const int video_talk_sdk_icn_watch = 2131231740;
            // aapt resource value: 0x7F0803FD
            public const int video_talk_sdk_placeholder_images_user = 2131231741;
            // aapt resource value: 0x7F0803FE
            public const int video_talk_sdk_video_answer = 2131231742;
            // aapt resource value: 0x7F0803FF
            public const int video_talk_sdk_video_hangup = 2131231743;
            // aapt resource value: 0x7F080400
            public const int video_talk_sdk_video_record_off = 2131231744;
            // aapt resource value: 0x7F080401
            public const int video_talk_sdk_video_record_on = 2131231745;
            // aapt resource value: 0x7F080402
            public const int video_talk_sdk_video_snap = 2131231746;
            // aapt resource value: 0x7F080403
            public const int video_talk_sdk_video_stop = 2131231747;
            // aapt resource value: 0x7F080404
            public const int video_talk_sdk_video_switch_camera = 2131231748;
            // aapt resource value: 0x7F08040F
            public const int waiting_bg = 2131231759;
            // aapt resource value: 0x7F080410
            public const int waiting_progressbar_bg = 2131231760;
            public const int vertical_preview_stop_selector = 2131231734;
            
            // aapt resource value: 0x7F080406
            public const int wait_1 = 2131231750;
            public const int videogo_icon = 2131231750;
            
            // aapt resource value: 0x7F080407
            public const int wait_2 = 2131231751;
            // aapt resource value: 0x7F0803F7
            public const int video_background = 2131231735;
            
            // aapt resource value: 0x7F080408
            public const int wait_3 = 2131231752;
            // aapt resource value: 0x7F0803F8
            public const int video_camera1_1 = 2131231736;
            
            // aapt resource value: 0x7F080409
            public const int wait_4 = 2131231753;
            // aapt resource value: 0x7F0803F9
            public const int video_camera1_2 = 2131231737;
            
            // aapt resource value: 0x7F08040A
            public const int wait_5 = 2131231754;
            // aapt resource value: 0x7F0803FA
            public const int video_camera1_3 = 2131231738;
            
            // aapt resource value: 0x7F08040B
            public const int wait_6 = 2131231755;
            // aapt resource value: 0x7F0803FB
            public const int video_file_watermark = 2131231739;
            
            // aapt resource value: 0x7F08040C
            public const int wait_7 = 2131231756;
            // aapt resource value: 0x7F0803FC
            public const int video_quality_selector = 2131231740;
            
            // aapt resource value: 0x7F08040D
            public const int wait_8 = 2131231757;
            // aapt resource value: 0x7F0803FD
            public const int video_talk_sdk_icn_watch = 2131231741;
            
            // aapt resource value: 0x7F08040E
            public const int wait_upload_img = 2131231758;
            // aapt resource value: 0x7F0803FE
            public const int video_talk_sdk_placeholder_images_user = 2131231742;
            // aapt resource value: 0x7F0803FF
            public const int video_talk_sdk_video_answer = 2131231743;
            // aapt resource value: 0x7F080400
            public const int video_talk_sdk_video_hangup = 2131231744;
            // aapt resource value: 0x7F080401
            public const int video_talk_sdk_video_record_off = 2131231745;
            // aapt resource value: 0x7F080402
            public const int video_talk_sdk_video_record_on = 2131231746;
            // aapt resource value: 0x7F080403
            public const int video_talk_sdk_video_snap = 2131231747;
            // aapt resource value: 0x7F080404
            public const int video_talk_sdk_video_stop = 2131231748;
            // aapt resource value: 0x7F080405
            public const int video_talk_sdk_video_switch_camera = 2131231749;
            // aapt resource value: 0x7F080410
            public const int waiting_bg = 2131231760;
            
            // aapt resource value: 0x7F080411
            public const int water_alarm = 2131231761;
            public const int waiting_progressbar_bg = 2131231761;
            // aapt resource value: 0x7F080407
            public const int wait_1 = 2131231751;
            // aapt resource value: 0x7F080408
            public const int wait_2 = 2131231752;
            // aapt resource value: 0x7F080409
            public const int wait_3 = 2131231753;
            // aapt resource value: 0x7F08040A
            public const int wait_4 = 2131231754;
            // aapt resource value: 0x7F08040B
            public const int wait_5 = 2131231755;
            // aapt resource value: 0x7F08040C
            public const int wait_6 = 2131231756;
            // aapt resource value: 0x7F08040D
            public const int wait_7 = 2131231757;
            // aapt resource value: 0x7F08040E
            public const int wait_8 = 2131231758;
            // aapt resource value: 0x7F08040F
            public const int wait_upload_img = 2131231759;
            
            // aapt resource value: 0x7F080412
            public const int wifi_config_bg = 2131231762;
            public const int water_alarm = 2131231762;
            
            // aapt resource value: 0x7F080413
            public const int wifi_connect_tip = 2131231763;
            public const int wifi_config_bg = 2131231763;
            
            // aapt resource value: 0x7F080414
            public const int yuntai_normal = 2131231764;
            public const int wifi_connect_tip = 2131231764;
            
            // aapt resource value: 0x7F080415
            public const int yuntai_pressed = 2131231765;
            public const int yuntai_normal = 2131231765;
            
            // aapt resource value: 0x7F080416
            public const int yxs_head = 2131231766;
            public const int yuntai_pressed = 2131231766;
            
            // aapt resource value: 0x7F080417
            public const int z1_bg = 2131231767;
            public const int yxs_head = 2131231767;
            // aapt resource value: 0x7F080418
            public const int z1_bg = 2131231768;
            
            static Drawable()
            {
HDL-ON_Android/Resources/drawable/launchImage.xml
New file
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@android:color/white" />
    <item>
        <bitmap
            android:gravity="center_vertical"
            android:src="@drawable/loading"
            android:tileMode="disabled" />
    </item>
</layer-list>
HDL-ON_Android/Resources/values/styles.xml
@@ -2,7 +2,7 @@
<resources>
    <!-- 其中parent可以为 android:Theme 或 android:Theme.NoTitleBar; android:windowBackground可以为背景图 -->
    <style name="MyTheme" parent="@android:style/Theme.NoTitleBar.Fullscreen">
        <item name="android:windowBackground">@drawable/Loading</item>
        <item name="android:windowBackground">@drawable/launchimage</item>
        <!-- 隐藏状态栏 -->
        <item name="android:windowFullscreen">false</item>
        <!-- 隐藏标题栏 -->
HDL-ON_iOS/AppDelegate.cs
@@ -274,8 +274,7 @@
            //{
            //    //RemoteInfo.Current.ReadMsgList(true);
            //}
            //中文国内key、英文海外key
            EZSDK.IOS.EZSDK.InitLibWithAppKey("1aa98a90489b4838b966b57018b4b04b", "1aa98a90489b4838b966b57018b4b04b");
            Console.WriteLine("FinishedLaunching");
            return true;
        }
HDL-ON_iOS/HDL-ON_iOS.csproj
@@ -1238,6 +1238,7 @@
      <BundleResource Include="Resources\Phone\FunctionIcon\Curtain\CurtainDownIconOn.png" />
      <BundleResource Include="Resources\Phone\FunctionIcon\Curtain\CurtainUpIcon.png" />
      <BundleResource Include="Resources\Phone\FunctionIcon\Curtain\CurtainUpIconOn.png" />
      <BundleResource Include="Resources\Phone\PersonalCenter\SmartSpeaker.png" />
    </ItemGroup>
    <ItemGroup>
      <ITunesArtwork Include="iTunesArtwork" />
HDL-ON_iOS/Resources/Language.ini
@@ -731,7 +731,7 @@
9038=(Frequently Asked Questions)
9039=Share and function
9040=Alerts
9041=System info.
9041=System info
9042=Information Center
9043=Please note that your account number is logged in elsewhere. If it is not made by yourself, please change the password immediately.
9044=Successfully uploaded
@@ -755,6 +755,11 @@
9061=Find your password by clicking on "Forgot Password", or try again in {0} minute.
9062=Check
9063=You still have {0} times.
9064=Smart speaker
9065=Data management
9066=Remarks
9067=Remarks cannot be blank.
9068=Do you want to unbind?
    
10000=Invalid password, please log in again.
10001=Fail to request server, please try again later.
@@ -1668,6 +1673,11 @@
9061=请通过忘记密码找回密码或{0}分钟后重试.
9062=查看
9063=还有{0}次机会。
9064=智能音箱
9065=数据管理
9066=备注
9067=备注不能为空
9068=是否解除绑定?
10000=无效登录密钥,请重新登录!
10001=请求服务器失败,请稍后再试!
HDL-ON_iOS/Resources/Phone/PersonalCenter/SmartSpeaker.png
HDL-ON_iOS/mono_crash.115869ea88.0.json
File was deleted
HDL-ON_iOS/mono_crash.115869ea88.1.json
File was deleted
HDL-ON_iOS/mono_crash.115869ea88.2.json
File was deleted
HDL-ON_iOS/mono_crash.115869ea88.3.json
File was deleted
HDL-ON_iOS/mono_crash.115869ea88.4.json
File was deleted
HDL-ON_iOS/mono_crash.1cfb5decbf.0.json
File was deleted
HDL-ON_iOS/mono_crash.f3dbeef67.0.json
File was deleted
HDL-ON_iOS/mono_crash.f3dbef0b0.0.json
File was deleted
HDL-ON_iOS/mono_crash.f3dbef0b0.1.json
File was deleted
HDL-ON_iOS/mono_crash.ff14d5fde.0.json
File was deleted
HDL-ON_iOS/mono_crash.mem.11851.1.blob
File was deleted
HDL-ON_iOS/mono_crash.mem.1228.1.blob
File was deleted
HDL-ON_iOS/mono_crash.mem.18126.1.blob
File was deleted
HDL-ON_iOS/mono_crash.mem.24817.1.blob
File was deleted
HDL-ON_iOS/mono_crash.mem.26066.1.blob
File was deleted
HDL-ON_iOS/mono_crash.mem.26567.1.blob
File was deleted
HDL-ON_iOS/mono_crash.mem.59025.1.blob
File was deleted
HDL-ON_iOS/mono_crash.mem.73837.1.blob
File was deleted
HDL_ON/Common/Constant.cs
@@ -284,7 +284,35 @@
        /// </summary>
        Error,
    }
    public enum SpeakerType
    {
        /// <summary>
        /// 小度
        /// </summary>
        DuerOS = 0,
        /// <summary>
        /// Google Home
        /// </summary>
        Google,
        /// <summary>
        /// Alexa Echo
        /// </summary>
        Alexa,
        /// <summary>
        /// Alice
        /// </summary>
        Alice,
        /// <summary>
        /// 天猫精灵
        /// </summary>
        Aligenie,
        /// <summary>
        /// 思必驰
        /// </summary>
        AISpeech
    }
    #endregion
}
    }
HDL_ON/Common/HDLCommon.cs
@@ -556,7 +556,8 @@
                            {
#if __IOS__
                                //iOS
                                //初始化萤石云SDK,中文国内key、英文海外key 开发者账号使用应用包名申请的APPKEY,不同包名应用需配置不同的APPKEY
                                EZSDK.IOS.EZSDK.InitLibWithAppKey("1aa98a90489b4838b966b57018b4b04b", "1aa98a90489b4838b966b57018b4b04b");
                                //1.设置所需河东的AccessToken和RefreshToken、域名地址
                                EZSDK.IOS.EZSDK.SetHDlAccessToken(UserInfo.Current.LoginTokenString, UserInfo.Current.RefreshToken);
                                EZSDK.IOS.EZSDK.SetRequestHttpsHost(OnAppConfig.Instance.RequestHttpsHost);
HDL_ON/Common/R.cs
@@ -1359,6 +1359,28 @@
        /// 还有{0}次机会。
        /// </summary>
        public const int AFewMoreChances = 9063;
        /// <summary>
        /// 智能音箱
        /// </summary>
        public const int SmartSpeaker = 9064;
        /// <summary>
        /// 数据管理
        /// </summary>
        public const int DataManagement = 9065;
        /// <summary>
        /// 备注
        /// </summary>
        public const int Remarks = 9066;
        /// <summary>
        /// 备注不能为空
        /// </summary>
        public const int RemarksCannotBeBlank = 9067;
        /// <summary>
        /// 是否解除绑定?
        /// </summary>
        public const int DoYouWantToUnbind = 9068;
        #region 网络请求响应错误提示信息
        /// <summary>
HDL_ON/DAL/Server/HttpServerRequest.cs
@@ -930,6 +930,9 @@
        {
            try
            {
                //先清空推送ID,避免使用缓存的PushId为其它账号的情况,导致查询到其它账号的推送记录
                OnAppConfig.Instance.PushId = "";
                string deviceType = PhoneDeviceType.Android.ToString();
#if __IOS__
                deviceType = PhoneDeviceType.IOS.ToString();
@@ -2387,7 +2390,7 @@
        #endregion
        #region 萤石云SDK相关接口
        #region ■ 萤石云SDK相关接口_________________________
        /// <summary>
        /// 河东获取萤石云子账号token的接口
        /// </summary>
@@ -2400,7 +2403,7 @@
        #endregion
        #region 可视对讲
        #region ■ 可视对讲_________________________
        /// <summary>
        /// 检查住宅是否绑定丰林,并获取门口机列表
        /// </summary>
@@ -2414,5 +2417,72 @@
            return pack;
        }
        #endregion
        #region ■ 音箱语言控制相关_________________________
        /// <summary>
        /// 获取已授权的音箱列表
        /// </summary>
        /// <returns></returns>
        public ResponsePackNew GetSpeakerList()
        {
            var requestJson = HttpUtil.GetSignRequestJson(new GetSpeakerObj
            {
                homeId = DB_ResidenceData.Instance.CurrentRegion.RegionID,
            });
            return HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_Speaker_List_Get, requestJson);
        }
        /// <summary>
        /// 编辑音箱授权备注
        /// </summary>
        /// <returns></returns>
        public ResponsePackNew UpdateSpeakerRemark(UpdateSpeakerRemarkObj remarkObj)
        {
            var requestJson = HttpUtil.GetSignRequestJson(remarkObj);
            return HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_Speaker_Remark_Update, requestJson);
        }
        /// <summary>
        /// 解除音箱绑定
        /// </summary>
        /// <returns></returns>
        public ResponsePackNew UnbindSpeaker(string tokenId)
        {
            Dictionary<string, object> d = new Dictionary<string, object>();
            d.Add("tokenId", tokenId);
            var requestJson = HttpUtil.GetSignRequestJson(d);
            return HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_Speaker_Unbind, requestJson);
        }
        /// <summary>
        /// 获取音箱分配的设备和场景列表
        /// </summary>
        /// <param name="getType">0 是查询全部 1是查询设备 2是查询场景</param>
        /// <param name="tokenId"></param>
        /// <returns></returns>
        public ResponsePackNew GetSpeakerDeviceList(int getType, string tokenId)
        {
            Dictionary<string, object> d = new Dictionary<string, object>();
            d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.RegionID);
            d.Add("tokenId", tokenId);
            if (getType > 0)
            {
                d.Add("isDevice", getType == 1);
            }
            var requestJson = HttpUtil.GetSignRequestJson(d);
            return HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_Speaker_DeviceList_Get, requestJson);
        }
        /// <summary>
        /// 更新音箱控制的设备和场景目标
        /// </summary>
        /// <returns></returns>
        public ResponsePackNew UpdateSpeakerDeviceList(UpdateSpeakerDeviceListObj updateSpeakerDeviceListObj)
        {
            var requestJson = HttpUtil.GetSignRequestJson(updateSpeakerDeviceListObj);
            return HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_Speaker_DeviceList_Update, requestJson);
        }
        #endregion
    }
}
HDL_ON/DAL/Server/NewAPI.cs
@@ -239,29 +239,27 @@
        #endregion
        #region ■ zigbeespeakerservice -- 语音控制服务___________________________
        ///// <summary>
        ///// 获取音箱列表
        ///// </summary>
        //public const string API_GET_Speaker_Auth = "/speakerservices/Auth";
        ///// <summary>
        ///// 修改音箱备注
        ///// </summary>
        //public const string API_PUT_Speaker_Auth_Rename = "/speakerservices/Auth";
        ///// <summary>
        ///// 获取设备和场景列表
        ///// </summary>
        //public const string API_GET_Speaker_BatchEdit_V2 = "/speakerservices/BatchEdit_V2";
        ///// <summary>
        ///// 添加设备和场景列表
        ///// </summary>
        //public const string API_POST_Speaker_BatchEdit_V2 = "/speakerservices/BatchEdit_V2";
        #region ■ Speaker -- 语音控制服务___________________________
        /// <summary>
        /// 获取已授权的音箱列表
        /// </summary>
        public const string API_POST_Speaker_List_Get = "/smart-footstone/app/token/list";
        /// <summary>
        /// 编辑音箱授权备注
        /// </summary>
        public const string API_POST_Speaker_Remark_Update = "/smart-footstone/app/token/update";
        /// <summary>
        /// 解绑音箱
        /// </summary>
        public const string API_POST_Speaker_Unbind = "/smart-footstone/app/token/delete";
        /// <summary>
        /// 获取音箱分配的设备和场景列表
        /// </summary>
        public const string API_POST_Speaker_DeviceList_Get = "/home-wisdom/app/tokenRelation/list";
        /// <summary>
        /// 更新音箱控制的设备和场景目标
        /// </summary>
        public const string API_POST_Speaker_DeviceList_Update = "/home-wisdom/app/tokenRelation/save";
        #endregion
        #region ■ PushSerivce -- 推送服务接口___________________________
HDL_ON/DAL/Server/NewApiRes.cs
@@ -1486,7 +1486,159 @@
        /// </summary>
        public string expireTime;
    }
    #region 音箱
    /// <summary>
    /// 获取音箱列表
    /// </summary>
    [System.Serializable]
    public class GetSpeakerObj : HomeIdObj
    {
        /// <summary>
        /// 平台名称
        /// </summary>
        public string platformName;
        /// <summary>
        ///  页面大小
        /// </summary>
        public int pageSize = 100;
        /// <summary>
        ///  页面序号
        /// </summary>
        public int pageNo = 1;
    }
    [System.Serializable]
    public class SpeakerObj : HomeIdObj
    {
        /// <summary>
        /// 记录的主键id
        /// </summary>
        public string tokenId;
    }
    /// <summary>
    /// 更新音箱备注
    /// </summary>
    [System.Serializable]
    public class UpdateSpeakerRemarkObj : SpeakerObj
    {
        /// <summary>
        /// 备注
        /// </summary>
        public string remark;
    }
    /// <summary>
    /// 获取音箱分配的设备和场景列表
    /// </summary>
    [System.Serializable]
    public class GetSpeakerDeviceListObj : HomeIdObj
    {
        /// <summary>
        /// 记录的主键id
        /// </summary>
        public string tokenId;
    }
    /// <summary>
    /// 配置的语音设备和场景数据
    /// </summary>
    [System.Serializable]
    public class SpeakerTargetInfo
    {
        /// <summary>
        /// 控制的目标Id,云端的设备Id或者场景Id
        /// </summary>
        public string targetId;
        /// <summary>
        /// 是否是设备,场景为false
        /// </summary>
        public bool isDevice;
        /// <summary>
        /// 目标名称
        /// </summary>
        public string targetName;
        /// <summary>
        /// 扩展参数当前rowview是否选中
        /// </summary>
        public bool IsSelect;
    }
    //[System.Serializable]
    //public class SpeakerTargetInfoRow: SpeakerTargetInfo
    //{
    //    /// <summary>
    //    /// 当前rowview是否选中
    //    /// </summary>
    //    public bool isSelect;
    //}
        /// <summary>
        /// 更新音箱控制的设备和场景目标
        /// </summary>
        [System.Serializable]
    public class UpdateSpeakerDeviceListObj : SpeakerObj
    {
        /// <summary>
        /// 备注
        /// </summary>
        public List<SpeakerTargetInfo> targetInfos;
    }
    /// <summary>
    /// 更新音箱控制的设备和场景目标
    /// </summary>
    [System.Serializable]
    public class SpeakerListRes
    {
        /// <summary>
        /// 音箱列表
        /// </summary>
        public List<SpeakerInfo> list;
    }
    /// <summary>
    /// 音箱信息
    /// </summary>
    [System.Serializable]
    public class SpeakerInfo
    {
        /// <summary>
        ///
        /// </summary>
        public string platformName { get; set; }
        /// <summary>
        ///
        /// </summary>
        public string remark { get; set; }
        /// <summary>
        ///
        /// </summary>
        public string tokenId { get; set; }
        /// <summary>
        ///
        /// </summary>
        public string userId { get; set; }
        /// <summary>
        ///
        /// </summary>
        public string userRegion { get; set; }
        /// <summary>
        ///
        /// </summary>
        public string homeId { get; set; }
        /// <summary>
        ///
        /// </summary>
        public string homeRegion { get; set; }
    }
    #endregion
    //#region 旧接口
    ///// <summary>
HDL_ON/DAL/ThirdPartySdk/ESOnVideo.cs
@@ -46,7 +46,7 @@
        public ESVideoInfo esVideoInfo;
        /// <summary>
        ///
        /// 暂时没用
        /// </summary>
        public void InitESVideoSDK()
        {
@@ -56,7 +56,7 @@
        /// <summary>
        /// 监控页面
        /// </summary>
        /// <param name="mESVideoInfo"></param>
        /// <param name="mESVideoInfo">丰林监视所需相关参数</param>
        public void ShowESVideoMonitor(ESVideoInfo mESVideoInfo)
        {
#if __IOS__
@@ -67,7 +67,9 @@
            vc.MESRoomID =roomID;
            vc.DeviceName = mESVideoInfo.DeviceName;
            //vc.RoomName = mESVideoInfo.RoomName;
            vc.MESCallDelegate = new OnESCallDelegate(this);
            //vc.MESCallDelegate = new OnESCallDelegate(this);
            mOnESCallDelegate = new OnESCallDelegate(this);
            vc.MESCallDelegate = mOnESCallDelegate;
            Shared.Application.currentVC.NavigationController.PushViewController(vc, true);
#else
@@ -91,7 +93,7 @@
        /// <summary>
        /// 被呼叫页面
        /// </summary>
        /// <param name="mESVideoInfo"></param>
        /// <param name="mESVideoInfo">丰林呼叫功能所需相关参数</param>
        public void ShowESvideoVideoIntercom(ESVideoInfo mESVideoInfo)
        {
            this.esVideoInfo = mESVideoInfo;
@@ -300,23 +302,29 @@
            { IsBackground = false }.Start();
        }
#endregion
        #endregion
#if __IOS__
#region OnESCallDelegate
        #region OnESCallDelegate
        /////// <summary>
        /////// OnESCallDelegate 继承响应事件
        /////// </summary>
        OnESCallDelegate mOnESCallDelegate;
        /// <summary>
        ///
        /// iOS原生委托事件
        /// </summary>
        public class OnESCallDelegate : ESCallDelegate
        {
            /// <summary>
            /// ESOnVideo
            /// </summary>
            [Weak] ESOnVideo _ESOnVideo;
            /// <summary>
            /// 初始化
            /// </summary>
            /// <param name="mESOnVideo">呼叫相关的参数</param>
            public OnESCallDelegate(ESOnVideo mESOnVideo)
            {
                _ESOnVideo = mESOnVideo;
@@ -400,7 +408,7 @@
    }
    /// <summary>
    ///
    /// 丰林监视和呼叫功能所需相关参数
    /// </summary>
    public class ESVideoInfo
    {
HDL_ON/HDL_ON.projitems
@@ -404,6 +404,9 @@
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\ArmCenter\ArmDeploymentSettingPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\OnePortAutomation.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\EnvironmentalScience\EchartsOption_BrokenLine.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\SmartSpeaker\SmartSpeakerListPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\SmartSpeaker\SmartSpeakerSelectDevicesPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\SmartSpeaker\SmartSpeakerRoomListPage.cs" />
  </ItemGroup>
  <ItemGroup>
    <Folder Include="$(MSBuildThisFileDirectory)DAL\" />
@@ -448,5 +451,6 @@
    <Folder Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Energy\" />
    <Folder Include="$(MSBuildThisFileDirectory)DAL\ThirdPartySdk\" />
    <Folder Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\ArmCenter\" />
    <Folder Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\SmartSpeaker\" />
  </ItemGroup>
</Project>
HDL_ON/UI/UI0-Public/PublicAssmebly.cs
@@ -73,7 +73,7 @@
        /// 保存按钮事件需要将
        /// </summary>
        /// <param name="callBackAction">回调函数</param>
        public void LoadDialog_EditParater(int titleId, string editParater, Action<string> callBackAction, int errorId_IsNullOrEmpty, int errorId_ContainsPar, List<string> baseList, bool encryption = false)
        public void LoadDialog_EditParater(int titleId, string editParater, Action<string> callBackAction, int errorId_IsNullOrEmpty, int errorId_ContainsPar, List<string> baseList, bool encryption = false, string confirmText = "")
        {
            Dialog dialog = new Dialog()
            {
@@ -206,6 +206,13 @@
                TextID = StringId.Confirm,
            };
            contentView.AddChidren(btnConfirm);
            //自定义btnConfirm标题
            if (!string.IsNullOrEmpty(confirmText))
            {
                btnConfirm.Text = confirmText;
            }
            int mRectCornerID = HDLUtils.RectCornerBottomRight;
            btnConfirm.SetCornerWithSameRadius((uint)Application.GetMinRealAverage(10), mRectCornerID);
HDL_ON/UI/UI0-Public/Widget/WebViewDialog.cs
@@ -42,11 +42,17 @@
                Width = bodyView.Width - Application.GetRealWidth(32)
            };
            bodyView.AddChidren(webView);
            if (!string.IsNullOrEmpty(url))
            try
            {
                //加载网址
                webView.LoadRequest(url);
                if (!string.IsNullOrEmpty(url))
                {
                    //加载网址
                    webView.LoadRequest(url);
                }
            }
            catch
            {
            }
            this.Show();
HDL_ON/UI/UI2/4-PersonalCenter/AboutOn/FunctionIntroductionPage.cs
@@ -180,6 +180,7 @@
                    Dictionary<string, object> AppName = new Dictionary<string, object>();
                    //ON_Plus 2
                    AppName.Add("appName", 2);
                    AppName.Add("languages", Utlis.GetPostLanguageType());
                    var requestJson = HttpUtil.GetSignRequestJson(AppName);
HDL_ON/UI/UI2/4-PersonalCenter/GetSupport/GetSupportPage.cs
@@ -44,7 +44,7 @@
                TextColor = CSS_Color.FirstLevelTitleColor,
            };
            phoneRow.AddChidren(btnPhoneTitle);
            Button btnPhoneText = new Button()
            {
                X = btnPhoneTitle.Right,
@@ -88,7 +88,11 @@
            emailRow.AddChidren(btnEmailText);
            emailRow.AddChidren(new Button() { X = Application.GetRealWidth(16), Y = Application.GetRealWidth(49), Height = Application.GetRealHeight(1), BackgroundColor = CSS_Color.DividingLineColor });
            if (Language.CurrentLanguage == "English")
            {
                btnPhoneTitle.Text = "Tel:";
                btnEmailTitle.Width = Application.GetRealWidth(80);
            }
        }
HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPage.cs
@@ -140,7 +140,7 @@
        /// <summary>
        /// 获取支持小区域
        /// </summary>
        FrameLayout supportView;
        VerticalScrolViewLayout supportView;
        /// <summary>
        /// 获取支持文本
        /// </summary>
@@ -150,6 +150,10 @@
        /// 关于On文本
        /// </summary>
        Button btnAboutOnText;
        /// <summary>
        /// 智能音箱文本
        /// </summary>
        Button btnSmartSpeakerText;
        #endregion
@@ -233,6 +237,7 @@
            contentView = new VerticalScrolViewLayout()
            {
                Y = Application.GetRealHeight(8) + personalInfoView.Bottom,
                Height = Application.GetRealHeight(400),
                ScrollEnabled = false
            };
@@ -724,9 +729,11 @@
            //softSettingView.AddChidren(btnGeneralSettingsRight);
            #endregion
            #endregion
            #region 获取支持
            #region 智能音箱、获取支持、关于ON+ 等菜单列表
            contentView.AddChidren(new Button() { Height = Application.GetRealHeight(8) });
            supportView = new FrameLayout()
            supportView = new VerticalScrolViewLayout()
            {
                Gravity = Gravity.CenterHorizontal,
                Width = Application.GetRealWidth(343),
@@ -735,18 +742,87 @@
                Radius = (uint)Application.GetRealHeight(12),
                BorderColor = 0x00FFFFFF,
                BorderWidth = 0,
                ScrollEnabled = false,
                VerticalScrollBarEnabled = false,//隐藏滚动条
            };
            contentView.AddChidren(supportView);
            #region 智能音箱
            if (!DB_ResidenceData.Instance.CurrentRegion.IsOthreShare)
            {
                //supportView 加高 显示3行 3*44
                supportView.Height = Application.GetRealWidth(3*44);
                FrameLayout smartSpeakerView = new FrameLayout()
                {
                    Height = Application.GetRealWidth(44),
                };
                supportView.AddChidren(smartSpeakerView);
                //住宅为当前账号才显示智能音箱入口
                Button btnSmartSpeakerIcon = new Button()
                {
                    X = Application.GetRealWidth(12),
                    Y = Application.GetRealWidth(10),
                    Width = Application.GetMinRealAverage(24),
                    Height = Application.GetMinRealAverage(24),
                    UnSelectedImagePath = "PersonalCenter/SmartSpeaker.png",
                };
                smartSpeakerView.AddChidren(btnSmartSpeakerIcon);
                btnSmartSpeakerText = new Button()
                {
                    X = Application.GetRealWidth(48),
                    Width = Application.GetRealWidth(270),
                    Height = Application.GetRealWidth(44),
                    TextID = StringId.SmartSpeaker,
                    TextColor = CSS_Color.FirstLevelTitleColor,
                    TextAlignment = TextAlignment.CenterLeft,
                    TextSize = CSS_FontSize.TextFontSize
                };
                smartSpeakerView.AddChidren(btnSmartSpeakerText);
                Button btnSmartSpeakerRight = new Button()
                {
                    X = Application.GetRealWidth(315),
                    Y = Application.GetRealWidth(14),
                    Width = Application.GetMinRealAverage(16),
                    Height = Application.GetMinRealAverage(16),
                    UnSelectedImagePath = "Public/Right.png",
                };
                smartSpeakerView.AddChidren(btnSmartSpeakerRight);
                var btnSmartSpeakerViewLine = new Button()
                {
                    X = Application.GetRealWidth(48),
                    Y = Application.GetRealWidth(43),
                    Height = Application.GetRealHeight(1),
                    Width = Application.GetRealWidth(279),
                    BackgroundColor = CSS_Color.DividingLineColor
                };
                smartSpeakerView.AddChidren(btnSmartSpeakerViewLine);
            }
            #endregion
            #region 获取支持
            FrameLayout supView = new FrameLayout()
            {
                Height = Application.GetRealWidth(44),
            };
            supportView.AddChidren(supView);
            Button btnSupportIcon = new Button()
            {
                X = Application.GetRealWidth(12),
                Y = Application.GetRealHeight(10),
                Y = Application.GetRealWidth(10),
                Width = Application.GetMinRealAverage(24),
                Height = Application.GetMinRealAverage(24),
                UnSelectedImagePath = "PersonalCenter/SupportIcon.png",
            };
            supportView.AddChidren(btnSupportIcon);
            supView.AddChidren(btnSupportIcon);
            btnSupportText = new Button()
            {
@@ -758,7 +834,8 @@
                TextAlignment = TextAlignment.CenterLeft,
                TextSize = CSS_FontSize.TextFontSize
            };
            supportView.AddChidren(btnSupportText);
            supView.AddChidren(btnSupportText);
            Button btnSupportRight = new Button()
            {
                X = Application.GetRealWidth(315),
@@ -767,33 +844,39 @@
                Height = Application.GetMinRealAverage(16),
                UnSelectedImagePath = "Public/Right.png",
            };
            supportView.AddChidren(btnSupportRight);
            supView.AddChidren(btnSupportRight);
            var btnSupportViewLine = new Button()
            {
                X = Application.GetRealWidth(48),
                Y = btnSupportText.Bottom,
                Y = Application.GetRealWidth(43),
                Height = Application.GetRealHeight(1),
                Width = Application.GetRealWidth(279),
                BackgroundColor = CSS_Color.DividingLineColor
            };
            supportView.AddChidren(btnSupportViewLine);
            supView.AddChidren(btnSupportViewLine);
            #endregion
            #region 关于ON+
            FrameLayout aboutView = new FrameLayout()
            {
                Height = Application.GetRealWidth(44),
            };
            supportView.AddChidren(aboutView);
            Button btnAboutOnIcon = new Button()
            {
                X = Application.GetRealWidth(12),
                Y = Application.GetRealWidth(54),
                Y = Application.GetRealWidth(10),
                Width = Application.GetMinRealAverage(24),
                Height = Application.GetMinRealAverage(24),
                UnSelectedImagePath = "PersonalCenter/InfoOnIcon.png",
            };
            supportView.AddChidren(btnAboutOnIcon);
            aboutView.AddChidren(btnAboutOnIcon);
            btnAboutOnText = new Button()
            {
                X = Application.GetRealWidth(48),
                Y = btnSupportViewLine.Bottom,
                Width = Application.GetRealWidth(370),
                Height = Application.GetRealWidth(44),
                TextID = StringId.AboutOn,
@@ -801,18 +884,18 @@
                TextAlignment = TextAlignment.CenterLeft,
                TextSize = CSS_FontSize.TextFontSize
            };
            supportView.AddChidren(btnAboutOnText);
            aboutView.AddChidren(btnAboutOnText);
            Button btnAboutOnRight = new Button()
            {
                X = Application.GetRealWidth(315),
                Y = Application.GetRealWidth(58),
                Y = Application.GetRealWidth(14),
                Width = Application.GetMinRealAverage(16),
                Height = Application.GetMinRealAverage(16),
                UnSelectedImagePath = "Public/Right.png",
            };
            supportView.AddChidren(btnAboutOnRight);
            aboutView.AddChidren(btnAboutOnRight);
            #endregion
            #endregion
HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPageBLL.cs
@@ -1,4 +1,5 @@
using System;
using System.Collections.Generic;
using HDL_ON.DAL.Server;
using HDL_ON.Entity;
using Shared;
@@ -23,6 +24,7 @@
                LoadEvent_SkipResdentialManagePage();
                LoadEvent_GoMemberManagement();
                LoadEvent_SkipbtnAddFunctionPage();
                LoadEvent_SkipSmartSpeakerPage();
            }
        }
@@ -299,6 +301,20 @@
                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
            };
        }
        /// <summary>
        /// 跳转智能音箱页面
        /// </summary>
        void LoadEvent_SkipSmartSpeakerPage()
        {
            btnSmartSpeakerText.MouseUpEventHandler = (sender, e) =>
            {
                var page = new SmartSpeakerListPage();
                MainPage.BasePageView.AddChidren(page);
                page.LoadPage();
                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
            };
        }
        #endregion
HDL_ON/UI/UI2/4-PersonalCenter/SmartSpeaker/SmartSpeakerListPage.cs
New file
@@ -0,0 +1,576 @@
using System;
using Shared;
using HDL_ON.UI.CSS;
using System.Collections.Generic;
using HDL_ON.DAL.Server;
namespace HDL_ON.UI
{
    /// <summary>
    /// 智能音箱列表
    /// </summary>
    public class SmartSpeakerListPage : FrameLayout
    {
        FrameLayout bodyView;
        /// <summary>
        ///
        /// </summary>
        FrameLayout emptyTipFrameLayout;
        /// <summary>
        /// 当前
        /// </summary>
        VerticalScrolViewLayout bodyScrolView;
        /// <summary>
        /// 内容为空提示View
        /// </summary>
        FrameLayout emptyTipView;
        /// 目前对接的音箱类型
        /// 小度=DuerOS
        /// Google Home = Google
        /// Alexa Echo = Alexa
        /// Alice = Alice
        /// 天猫精灵=Aligenie
        /// 思必驰=AISpeech
        /// <summary>
        ///
        /// </summary>
        public SmartSpeakerListPage()
        {
            bodyView = this;
            bodyView.BackgroundColor = CSS_Color.BackgroundColor;
        }
        /// <summary>
        /// 加载视图
        /// </summary>
        public void LoadPage()
        {
            new TopViewDiv(bodyView, Language.StringByID(StringId.SmartSpeaker)).LoadTopView();
            int bodyY = Application.GetRealHeight(64);
            bodyScrolView = new VerticalScrolViewLayout()
            {
                Y = bodyY,
                Height = bodyView.Height - bodyY,
                BackgroundColor = CSS_Color.BackgroundColor,
            };
            bodyView.AddChidren(bodyScrolView);
            LoadSmartSpeakertListView(bodyScrolView);
        }
        /// <summary>
        /// 添加内容为空提示页面
        /// </summary>
        void AddEmptyTipView()
        {
            emptyTipView = new FrameLayout()
            {
                Height = bodyScrolView.Height,
                Width = bodyScrolView.Width,
            };
            bodyScrolView.AddChidren(emptyTipView);
            var tipView = new EmptyTipView()
            {
                Gravity = Gravity.Center
            };
            emptyTipView.AddChidren(tipView);
        }
        /// <summary>
        /// 加载音箱列表
        /// </summary>
        /// <param name="VerticalScrolViewMiddle"></param>
        void LoadSmartSpeakertListView(VerticalScrolViewLayout VerticalScrolViewMiddle)
        {
            VerticalScrolViewMiddle.RemoveAll();
            var waitPage = new Loading();
            bodyView.AddChidren(waitPage);
            waitPage.Start(Language.StringByID(StringId.PleaseWait));
            System.Threading.Tasks.Task.Run(() =>
            {
                try
                {
                    var revertObj = new HttpServerRequest().GetSpeakerList();
                    if (revertObj.Code == StateCode.SUCCESS)
                    {
                        var speakerListRes = Newtonsoft.Json.JsonConvert.DeserializeObject<SpeakerListRes>(revertObj.Data.ToString());
                        if (speakerListRes != null && speakerListRes.list != null && speakerListRes.list.Count > 0)
                        {
                            Application.RunOnMainThread(() =>
                            {
                                foreach (var speaker in speakerListRes.list)
                                {
                                    AddRowView(speaker, VerticalScrolViewMiddle);
                                }
                            });
                        }
                        else
                        {
                            Application.RunOnMainThread(() =>
                            {
                                AddEmptyTipView();
                            });
                        }
                    }
                    else
                    {
                        Application.RunOnMainThread(() =>
                        {
                            AddEmptyTipView();
                        });
                        //提示错误
                        IMessageCommon.Current.ShowErrorInfoAlter(revertObj.Code);
                    }
                }
                catch
                {
                }
                finally
                {
                    Application.RunOnMainThread(() =>
                    {
                        if (waitPage != null)
                        {
                            waitPage.RemoveFromParent();
                            waitPage = null;
                        }
                    });
                }
            });
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="speakerInfo"></param>
        /// <param name="VerticalScrolViewMiddle"></param>
        void AddRowView(SpeakerInfo speakerInfo, VerticalScrolViewLayout VerticalScrolViewMiddle)
        {
            //透明填充分割view
            var lineView = new FrameLayout()
            {
                Height = Application.GetRealWidth(12),
            };
            VerticalScrolViewMiddle.AddChidren(lineView);
            var rowView = new FrameLayout()
            {
                Gravity = Gravity.CenterHorizontal,
                Width = Application.GetRealWidth(343),
                Height = Application.GetRealWidth(200),
                BackgroundColor = CSS_Color.MainBackgroundColor,
                Radius = (uint)Application.GetRealWidth(12),
                BorderColor = 0x00000000,
                BorderWidth = 0,
            };
            VerticalScrolViewMiddle.AddChidren(rowView);
            #region 音箱类型
            var view1 = new FrameLayout()
            {
                Height = Application.GetRealWidth(49),
            };
            rowView.AddChidren(view1);
            var btnSpeakerNameTitle = new Button()
            {
                X = Application.GetRealWidth(16),
                Width = Application.GetRealWidth(200),
                TextAlignment = TextAlignment.CenterLeft,
                TextColor = CSS_Color.FirstLevelTitleColor,
                TextSize = CSS_FontSize.TextFontSize,
                Text = GetSpeakerTypeString(speakerInfo.platformName)
            };
            view1.AddChidren(btnSpeakerNameTitle);
            Button line1 = new Button()
            {
                Y = view1.Bottom,
                Gravity = Gravity.CenterHorizontal,
                Height = Application.GetRealWidth(1),
                Width = Application.GetRealWidth(311),
                BackgroundColor = CSS_Color.DividingLineColor,
            };
            rowView.AddChidren(line1);
            #endregion
            #region 备注
            var view2 = new FrameLayout()
            {
                Y = line1.Bottom,
                Height = Application.GetRealWidth(49),
            };
            rowView.AddChidren(view2);
            var btnNicknameTitle = new Button()
            {
                X = Application.GetRealWidth(16),
                Width = Application.GetRealWidth(200),
                TextAlignment = TextAlignment.CenterLeft,
                TextColor = CSS_Color.FirstLevelTitleColor,
                TextSize = CSS_FontSize.TextFontSize,
                TextID = StringId.Remarks,
            };
            view2.AddChidren(btnNicknameTitle);
            var btnNickname = new Button()
            {
                Width = Application.GetRealWidth(295),
                TextAlignment = TextAlignment.CenterRight,
                TextColor = CSS_Color.PromptingColor1,
                TextSize = CSS_FontSize.TextFontSize,
                Text = speakerInfo.remark
            };
            view2.AddChidren(btnNickname);
            if (string.IsNullOrEmpty(speakerInfo.remark))
            {
                btnNickname.TextID = StringId.SmartSpeaker;
            }
            var btnNicknameRight = new Button()
            {
                X = Application.GetRealWidth(311),
                Gravity = Gravity.CenterVertical,
                Width = Application.GetMinRealAverage(16),
                Height = Application.GetMinRealAverage(16),
                UnSelectedImagePath = "Public/Right.png",
            };
            view2.AddChidren(btnNicknameRight);
            Button line2 = new Button()
            {
                Y = view2.Bottom,
                Gravity = Gravity.CenterHorizontal,
                Height = Application.GetRealWidth(1),
                Width = Application.GetRealWidth(311),
                BackgroundColor = CSS_Color.DividingLineColor,
            };
            rowView.AddChidren(line2);
            //保存事件
            Action<string> renameAction = (newName) =>
            {
                RenameAlexaRemark(newName, speakerInfo, btnNickname);
            };
            btnNickname.MouseUpEventHandler += (sender, e) =>
            {
                new PublicAssmebly().LoadDialog_EditParater(StringId.Remarks, speakerInfo.remark, renameAction, StringId.RemarksCannotBeBlank, 0, new List<string>(),false, Language.StringByID(StringId.Save));
            };
            #endregion
            #region 数据管理
            var view3 = new FrameLayout()
            {
                Y = line2.Bottom,
                Height = Application.GetRealWidth(49),
            };
            rowView.AddChidren(view3);
            var btnDataTitle = new Button()
            {
                X = Application.GetRealWidth(16),
                Width = Application.GetRealWidth(200),
                TextAlignment = TextAlignment.CenterLeft,
                TextColor = CSS_Color.FirstLevelTitleColor,
                TextSize = CSS_FontSize.TextFontSize,
                TextID = StringId.DataManagement,
            };
            view3.AddChidren(btnDataTitle);
            var btnDataRight = new Button()
            {
                X = Application.GetRealWidth(311),
                Gravity = Gravity.CenterVertical,
                Width = Application.GetMinRealAverage(16),
                Height = Application.GetMinRealAverage(16),
                UnSelectedImagePath = "Public/Right.png",
            };
            view3.AddChidren(btnDataRight);
            Button line3 = new Button()
            {
                Y = view3.Bottom,
                Gravity = Gravity.CenterHorizontal,
                Height = Application.GetRealWidth(1),
                Width = Application.GetRealWidth(311),
                BackgroundColor = CSS_Color.DividingLineColor,
            };
            rowView.AddChidren(line3);
            EventHandler<MouseEventArgs> eHandler = (sender, e) =>
            {
                //跳转数据管理房间列表
                GotoPage(speakerInfo);
            };
            view3.MouseUpEventHandler += eHandler;
            btnDataTitle.MouseUpEventHandler += eHandler;
            btnDataRight.MouseUpEventHandler += eHandler;
            #endregion
            #region 解除绑定
            var view4 = new FrameLayout()
            {
                Y = line3.Bottom,
                Height = Application.GetRealWidth(49),
            };
            rowView.AddChidren(view4);
            var btnUnbindTitle = new Button()
            {
                X = Application.GetRealWidth(16),
                Width = Application.GetRealWidth(200),
                TextAlignment = TextAlignment.CenterLeft,
                TextColor = CSS_Color.FirstLevelTitleColor,
                TextSize = CSS_FontSize.TextFontSize,
                TextID = StringId.Unbind,
            };
            view4.AddChidren(btnUnbindTitle);
            var btnUnbindRight = new Button()
            {
                X = Application.GetRealWidth(311),
                Gravity = Gravity.CenterVertical,
                Width = Application.GetMinRealAverage(16),
                Height = Application.GetMinRealAverage(16),
                UnSelectedImagePath = "Public/Right.png",
            };
            view4.AddChidren(btnUnbindRight);
            EventHandler<MouseEventArgs> eHandler4 = (sender, e) =>
            {
                Action okAction = () =>
                {
                    //解绑音箱
                    UnbindSpeaker(speakerInfo, rowView, lineView);
                };
                new ConfirmDialog().ShowDialog(StringId.Tip, StringId.DoYouWantToUnbind, okAction, null, StringId.Cancel, StringId.Confirm);
            };
            view4.MouseUpEventHandler += eHandler4;
            btnUnbindTitle.MouseUpEventHandler += eHandler4;
            btnUnbindRight.MouseUpEventHandler += eHandler4;
            #endregion
        }
        /// <summary>
        /// 请求修改备注
        /// </summary>
        /// <param name="newName"></param>
        /// <param name="speakerInfo"></param>
        /// <param name="btnName"></param>
        void RenameAlexaRemark(string newName, SpeakerInfo speakerInfo, Button btnName)
        {
            //显示loading动画效果
            var waitPage = new Loading();
            bodyView.AddChidren(waitPage);
            waitPage.Start(Language.StringByID(StringId.PleaseWait));
            System.Threading.Tasks.Task.Run(() =>
            {
                try
                {
                    var updateSpeakerRemarkObj = new UpdateSpeakerRemarkObj()
                    {
                        homeId = speakerInfo.homeId,
                        tokenId = speakerInfo.tokenId,
                        remark = newName
                    };
                    var revertObj = new HttpServerRequest().UpdateSpeakerRemark(updateSpeakerRemarkObj);
                    if (revertObj.Code == StateCode.SUCCESS)
                    {
                        //AmendTheSuccess 修改成功
                        Application.RunOnMainThread(() =>
                        {
                            speakerInfo.remark = newName;
                            btnName.Text = newName;
                            Utlis.ShowTip(Language.StringByID(StringId.ModifySuccess));
                            //Utlis.ShowAlertOnMainThread(Language.StringByID(R.MyInternationalizationString.AmendTheSuccess));
                        });
                    }
                    else
                    {
                        //提示错误
                        IMessageCommon.Current.ShowErrorInfoAlter(revertObj.Code);
                    }
                }
                catch
                {
                }
                finally
                {
                    Application.RunOnMainThread(() =>
                    {
                        if (waitPage != null)
                        {
                            waitPage.RemoveFromParent();
                            waitPage = null;
                        }
                    });
                }
            });
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="platformName"></param>
        /// <returns></returns>
        string GetSpeakerTypeString(string platformName){
            //1.platformName判空
            if (string.IsNullOrEmpty(platformName))
            {
                return "";
            }
            //2.先赋云端返回的默认值
            var name = platformName;
            if (platformName == SpeakerType.DuerOS.ToString())
            {
                if (Language.CurrentLanguage == "Chinese")
                {
                    name = "小度";
                }
                //2.1当前语言不是中文的话,直接等于云端返回的platformName音箱类型
            }
            else if (platformName == SpeakerType.Google.ToString()){
                name = "Google Home";
            }
            else if (platformName == SpeakerType.Alexa.ToString())
            {
                name = "Alexa Echo";
            }
            else if (platformName == SpeakerType.Alice.ToString())
            {
                name = "Alice";
            }
            else if (platformName == SpeakerType.Aligenie.ToString())
            {
                if (Language.CurrentLanguage == "Chinese")
                {
                    name = "天猫精灵";
                }
                //2.1当前语言不是中文的话,直接等于云端返回的platformName音箱类型
            }
            else if (platformName == SpeakerType.AISpeech.ToString())
            {
                if (Language.CurrentLanguage == "Chinese")
                {
                    name = "思必驰";
                }
                //2.1当前语言不是中文的话,直接等于云端返回的platformName 英文音箱类型
            }
            return name;
        }
        /// <summary>
        /// 请求解绑音箱
        /// </summary>
        /// <param name="speakerInfo">音箱参数</param>
        /// <param name="rowView">音箱rowView</param>
        /// <param name="lineView">填充的lineView</param>
        void UnbindSpeaker(SpeakerInfo speakerInfo, FrameLayout rowView, FrameLayout lineView)
        {
            if (speakerInfo == null || string.IsNullOrEmpty(speakerInfo.tokenId)) {
                Utlis.ShowTip(Language.StringByID(StringId.RequestFailedParameterException) + "(-3)");
            }
            var waitPage = new Loading();
            bodyView.AddChidren(waitPage);
            waitPage.Start(Language.StringByID(StringId.PleaseWait));
            System.Threading.Tasks.Task.Run(() =>
            {
                try
                {
                    var revertObj = new HttpServerRequest().UnbindSpeaker(speakerInfo.tokenId);
                    if (revertObj.Code == StateCode.SUCCESS)
                    {
                        //解绑成功
                        Application.RunOnMainThread(() =>
                        {
                            //lineView
                            if (lineView != null)
                            {
                                lineView.RemoveFromParent();
                            }
                            //移除rowView
                            if (rowView != null)
                            {
                                rowView.RemoveFromParent();
                            }
                            //提示解绑成功
                            Utlis.ShowTip(Language.StringByID(StringId.UnbindEmailSuccess));
                        });
                    }
                    else
                    {
                        //提示错误
                        IMessageCommon.Current.ShowErrorInfoAlter(revertObj.Code);
                    }
                }
                catch
                {
                }
                finally
                {
                    Application.RunOnMainThread(() =>
                    {
                        if (waitPage != null)
                        {
                            waitPage.RemoveFromParent();
                            waitPage = null;
                        }
                    });
                }
            });
        }
        /// <summary>
        /// 跳转页面
        /// </summary>
        void GotoPage(SpeakerInfo speakerInfo)
        {
            var page = new SmartSpeakerRoomListPage(speakerInfo);
            MainPage.BasePageView.AddChidren(page);
            page.LoadPage();
            MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
        }
    }
}
HDL_ON/UI/UI2/4-PersonalCenter/SmartSpeaker/SmartSpeakerRoomListPage.cs
New file
@@ -0,0 +1,311 @@
using System;
using Shared;
using HDL_ON.UI.CSS;
using System.Collections.Generic;
using System.Threading;
using HDL_ON.DAL.Server;
using HDL_ON.Entity;
namespace HDL_ON.UI
{
    /// <summary>
    /// 房间列表
    /// </summary>
    public class SmartSpeakerRoomListPage : FrameLayout
    {
        /// <summary>
        /// bodyView
        /// </summary>
        FrameLayout bodyView;
        /// <summary>
        /// 当前主滑动View
        /// </summary>
        VerticalScrolViewLayout bodyScrolView;
        /// <summary>
        /// 音箱参数
        /// </summary>
        SpeakerInfo speakerInfo;
        /// <summary>
        /// 房间列表和无区域功能页面
        /// </summary>
        /// <param name="speakerInfo">音箱参数</param>
        public SmartSpeakerRoomListPage(SpeakerInfo speakerInfo)
        {
            bodyView = this;
            bodyView.BackgroundColor = CSS_Color.BackgroundColor;
            this.speakerInfo = speakerInfo;
        }
        /// <summary>
        /// 加载视图
        /// </summary>
        public void LoadPage()
        {
            new TopViewDiv(bodyView, Language.StringByID(StringId.DataManagement)).LoadTopView();
            int bodyY = Application.GetRealHeight(64);
            bodyScrolView = new VerticalScrolViewLayout()
            {
                Y = bodyY,
                Height = bodyView.Height - bodyY,
                BackgroundColor = CSS_Color.BackgroundColor,
            };
            bodyView.AddChidren(bodyScrolView);
            //加载房间列表
            ShowRoomListView();
        }
        /// <summary>
        /// 加载房间列表
        /// </summary>
        void ShowRoomListView()
        {
            bodyScrolView.RemoveAll();
            var titleView = new FrameLayout()
            {
                BackgroundColor = CSS_Color.MainBackgroundColor,
                Height = Application.GetRealWidth(53),
            };
            bodyScrolView.AddChidren(titleView);
            //箭头图标
            var btnResidenceDownIcon = new Button()
            {
                Width = Application.GetMinRealAverage(16),
                Height = Application.GetMinRealAverage(16),
                X = Application.GetRealWidth(12),
                Gravity = Gravity.CenterVertical,
                UnSelectedImagePath = "Public/DownIcon.png",
            };
            titleView.AddChidren(btnResidenceDownIcon);
            //住宅标题
            var btnHomeTitle = new Button()
            {
                X = btnResidenceDownIcon.Right + Application.GetRealWidth(1),
                TextAlignment = TextAlignment.CenterLeft,
                TextColor = CSS_Color.FirstLevelTitleColor,
                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                Text = DB_ResidenceData.Instance.CurrentRegion.Name,
            };
            titleView.AddChidren(btnHomeTitle);
            //var btnLine = new Button()
            //{
            //    X = Application.GetRealWidth(16),
            //    Y = titleView.Height - Application.GetRealHeight(2),
            //    Width = Application.GetRealWidth(360),
            //    Height = Application.GetRealHeight(1),
            //    BackgroundColor = CSS_Color.DividingLineColor,
            //};
            //titleView.AddChidren(btnLine);
            //---------------------------------------------
            //未分配区域的功能
            List<Function> allFunctionList = FunctionList.List.GetDeviceFunctionList();
            //未分配区域的功能
            List<Function> unallocatedList = new List<Function>();
            //
            foreach (var function in allFunctionList)
            {
                function.roomIds.Remove(null);
                if (function.roomIds.Count == 0)
                {
                    unallocatedList.Add(function);
                }
            }
            //所有场景
            List<Scene> allSceneList = FunctionList.List.scenes;
            //全局场景场景
            List<Scene> globalSceneList = new List<Scene>();
            //找出所有的全局场景
            foreach (var mScene in allSceneList)
            {
                //roomIds大于0 代表分配到房间
                mScene.roomIds.Remove(null);
                if (mScene.roomIds.Count == 0)
                {
                    globalSceneList.Add(mScene);
                }
            }
            try
            {
                //房间列表
                foreach (var room in SpatialInfo.CurrentSpatial.RoomList)
                {
                    AddRoomFunctionRowLayout(room);
                }
                //2020-12-16 加载未分配区域功能RowLayout
                AddNoAreaFunctionRowLayout(unallocatedList, globalSceneList);
            }
            catch
            {
                Utlis.WriteLine("AddRoomFunctionRowLayout error");
            }
        }
        /// <summary>
        /// 添加房间列表
        /// </summary>
        /// <param name="mRoom"></param>
        void AddRoomFunctionRowLayout(Room mRoom)
        {
            ShowBaseRoomFunOrNoAreaFunRowLayout(mRoom, null, null);
        }
        /// <summary>
        /// 添加无区域的功能
        /// </summary>
        /// <param name="unallocatedList">未分配的所有功能列表</param>
        /// <param name="globalSceneList">全区域的场景</param>
        void AddNoAreaFunctionRowLayout(List<Function> unallocatedList, List<Scene> globalSceneList)
        {
            ShowBaseRoomFunOrNoAreaFunRowLayout(null, unallocatedList, globalSceneList);
        }
        /// <summary>
        /// 2020-12-17 重新调整
        /// 添加房间分享或者无区域分配 个数统计状态的RowLayout
        /// </summary>
        /// <param name="room">如果房间为空,代表管理无分配区域</param>
        /// <param name="unallocatedList">管理无分配区域才有效</param>
        /// <param name="globalSceneList">全局场景</param>
        void ShowBaseRoomFunOrNoAreaFunRowLayout(Room mRoom, List<Function> unallocatedList, List<Scene> globalSceneList)
        {
            /// 房间所有功能和者场景列表
            List<SpeakerTargetInfo> roomFunctionOrSceneList = new List<SpeakerTargetInfo>();
            var roomView = new RowLayout()
            {
                Height = Application.GetRealWidth(50),
                BackgroundColor = CSS_Color.MainBackgroundColor,
                LineColor = CSS_Color.MainBackgroundColor,
            };
            bodyScrolView.AddChidren(roomView);
            var btnRoomName = new Button()
            {
                X = Application.GetRealWidth(16),
                Y = Application.GetRealWidth(10),
                Width = Application.GetRealWidth(330),
                Height = Application.GetRealWidth(30),
                TextAlignment = TextAlignment.CenterLeft,
                TextColor = CSS_Color.FirstLevelTitleColor,
                TextSize = CSS_FontSize.TextFontSize,
                //Text = room.roomName,
            };
            roomView.AddChidren(btnRoomName);
            var btnRight = new Button()
            {
                X = Application.GetRealWidth(351),
                Gravity = Gravity.CenterVertical,
                Width = Application.GetMinRealAverage(16),
                Height = Application.GetMinRealAverage(16),
                UnSelectedImagePath = "Public/Right.png",
            };
            roomView.AddChidren(btnRight);
            //如果房间为空,代表管理无分配区域
            if (mRoom != null)
            {
                //显示房间名
                btnRoomName.Text = mRoom.roomName;
                var mRoomFunctionList = mRoom.GetRoomFunctions(false);
                var mRoomSceneList = mRoom.GetRoomScenes(true);
                //遍历所有功能列表
                if (mRoomFunctionList != null)
                {
                    foreach (var fun in mRoomFunctionList)
                    {
                        roomFunctionOrSceneList.Add(new SpeakerTargetInfo()
                        {
                            targetId = fun.deviceId,
                            targetName = fun.name,
                            isDevice = true
                        });
                    }
                }
                //遍历所有场景列表
                if (mRoomSceneList != null)
                {
                    foreach (var roomScene in mRoomSceneList)
                    {
                        roomFunctionOrSceneList.Add(new SpeakerTargetInfo()
                        {
                            targetId = roomScene.userSceneId,
                            targetName = roomScene.name,
                            isDevice = false
                        });
                    }
                }
                //roomId = mRoom.roomId;
                //添加分割线
                var lineView = new LineView(roomView.Height - Application.GetRealHeight(1));
                roomView.AddChidren(lineView);
            }
            else
            {
                //显示无区域功能
                btnRoomName.TextID = StringId.NoAreaFunction;
                //遍历所有功能列表
                if (unallocatedList != null)
                {
                    foreach (var fun in unallocatedList)
                    {
                        roomFunctionOrSceneList.Add(new SpeakerTargetInfo()
                        {
                            targetId = fun.deviceId,
                            targetName = fun.name,
                            isDevice = true
                        });
                    }
                }
                //遍历所有场景列表
                if (globalSceneList != null)
                {
                    foreach (var roomScene in globalSceneList)
                    {
                        roomFunctionOrSceneList.Add(new SpeakerTargetInfo()
                        {
                            targetId = roomScene.userSceneId,
                            targetName = roomScene.name,
                            isDevice = false
                        });
                    }
                }
            }
            //点击调整事件
            EventHandler<MouseEventArgs> eHandler = (sender, e) =>
            {
                var page = new SmartSpeakerSelectDevicesPage(speakerInfo, roomFunctionOrSceneList);
                MainPage.BasePageView.AddChidren(page);
                page.LoadPage();
                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
            };
            roomView.MouseUpEventHandler = eHandler;
            btnRoomName.MouseUpEventHandler = eHandler;
            btnRight.MouseUpEventHandler = eHandler;
        }
    }
}
HDL_ON/UI/UI2/4-PersonalCenter/SmartSpeaker/SmartSpeakerSelectDevicesPage.cs
New file
@@ -0,0 +1,433 @@
using System;
using Shared;
using HDL_ON.UI.CSS;
using System.Collections.Generic;
using HDL_ON.DAL.Server;
namespace HDL_ON.UI
{
    /// <summary>
    /// 管理配置给音箱的设备或着场景列表
    /// </summary>
    public class SmartSpeakerSelectDevicesPage : FrameLayout
    {
        /// <summary>
        /// bodyView
        /// </summary>
        FrameLayout bodyView;
        /// <summary>
        /// 全选按钮
        /// </summary>
        Button btnChooseAll;
        /// <summary>
        /// 当前
        /// </summary>
        VerticalScrolViewLayout bodyScrolView;
        ///// <summary>
        ///// 底部保存操作按钮
        ///// </summary>
        //Button btnSave;
        /// <summary>
        /// 音箱参数
        /// </summary>
        SpeakerInfo speakerInfo;
        /// <summary>
        /// 设备、场景列表
        /// </summary>
        List<SpeakerTargetInfo> targetInfoList = new List<SpeakerTargetInfo>();
        /// <summary>
        /// 当前房间的设备和场景
        /// </summary>
        List<SpeakerTargetInfo> roomFunctionOrSceneList = new List<SpeakerTargetInfo>();
        /// <summary>
        /// 管理配置给音箱的设备或着场景列表
        /// </summary>
        /// <param name="speakerInfo">音箱参数</param>
        /// <param name="roomFunctionOrSceneList">当前房间的功能或者场景</param>
        public SmartSpeakerSelectDevicesPage(SpeakerInfo speakerInfo, List<SpeakerTargetInfo> roomFunctionOrSceneList)
        {
            bodyView = this;
            bodyView.BackgroundColor = CSS_Color.MainBackgroundColor;
            this.speakerInfo = speakerInfo;
            this.roomFunctionOrSceneList = roomFunctionOrSceneList;
        }
        /// <summary>
        /// 加载视图
        /// </summary>
        public void LoadPage()
        {
            //加载顶部菜单栏
            new TopViewDiv(bodyView, Language.StringByID(StringId.DataManagement)).LoadTopView();
            //顶部全选按钮
            var allView = new FrameLayout()
            {
                Y = Application.GetRealHeight(64),
                Height = Application.GetRealHeight(50),
                BackgroundColor = CSS_Color.MainBackgroundColor,
            };
            bodyView.AddChidren(allView);
            Button btnAllRoomText = new Button()
            {
                X = Application.GetRealWidth(16),
                Width = Application.GetRealWidth(280),
                TextID = StringId.SelectedAll,
                TextSize = CSS_FontSize.SubheadingFontSize,
                TextColor = CSS_Color.FirstLevelTitleColor,
                TextAlignment = TextAlignment.CenterLeft,
            };
            allView.AddChidren(btnAllRoomText);
            btnChooseAll = new Button()
            {
                X = Application.GetRealWidth(331),
                Gravity = Gravity.CenterVertical,
                Width = Application.GetMinRealAverage(28),
                Height = Application.GetMinRealAverage(28),
                UnSelectedImagePath = "Public/ChooseIcon.png",
                SelectedImagePath = "Public/ChooseOnIcon.png",
            };
            allView.AddChidren(btnChooseAll);
            allView.AddChidren(new Button()
            {
                Gravity = Gravity.CenterHorizontal,
                Y = Application.GetRealHeight(49),
                Height = Application.GetMinReal(1),
                Width = Application.GetRealWidth(343),
                BackgroundColor = CSS_Color.DividingLineColor,
            });
            bodyScrolView = new VerticalScrolViewLayout()
            {
                Y = allView.Bottom,
                Height = Application.GetRealHeight(450),
            };
            bodyView.AddChidren(bodyScrolView);
            var btnSave = new ConfirmButton()
            {
                Y = Application.GetRealHeight(519 + 64),
                TextID = StringId.Save
            };
            bodyView.AddChidren(btnSave);
            //全选按钮点击事件
            LoadEvent_AllSharedDataChange(allView, btnChooseAll);
            //保存按钮点击事件
            LoadEvent_Save(btnSave);
            //加载房间的功能和场景,并比较配置过的数据实现选中效果
            GetDeviceAndSceneList();
        }
        /// <summary>
        /// 全选按钮点击事件
        /// </summary>
        void LoadEvent_AllSharedDataChange(FrameLayout allView, Button btnChooseAll)
        {
            EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
            {
                btnChooseAll.IsSelected = !btnChooseAll.IsSelected;
                var IsSelected = btnChooseAll.IsSelected;
                //全部数据选中状态设置为true或者false
                foreach (var info in roomFunctionOrSceneList)
                {
                    info.IsSelect = IsSelected;
                }
                //刷新一次列表
                RefreshListView();
            };
            btnChooseAll.MouseUpEventHandler = eventHandler;
            allView.MouseUpEventHandler = eventHandler;
        }
        /// <summary>
        /// 保存按钮点击事件
        /// </summary>
        /// <param name="btnSave"></param>
        void LoadEvent_Save(Button btnSave)
        {
            EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
            {
                AddDevicesSceneList(targetInfoList);
            };
            btnSave.MouseUpEventHandler = eventHandler;
        }
        /// <summary>
        /// 全量更新配置数据(功能和场景同时更新)
        /// </summary>
        /// <param name="updateList">最新的配置数据</param>
        void AddDevicesSceneList(List<SpeakerTargetInfo> updateList)
        {
            var waitPage = new Loading();
            bodyView.AddChidren(waitPage);
            waitPage.Start(Language.StringByID(StringId.PleaseWait));
            System.Threading.Tasks.Task.Run(() =>
            {
                try
                {
                    //查找需要选中的目标
                    foreach (var info in roomFunctionOrSceneList)
                    {
                        var targetData = updateList.Find((obj) => obj.targetId == info.targetId);
                        if (info.IsSelect)
                        {
                            if (targetData == null)
                            {
                                updateList.Add(info);
                            }
                        }
                        else
                        {
                            if (targetData != null)
                            {
                                updateList.Remove(targetData);
                            }
                        }
                    }
                    //构建请求参数
                    var updateSpeakerDeviceListObj = new UpdateSpeakerDeviceListObj()
                    {
                        homeId = speakerInfo.homeId,
                        tokenId = speakerInfo.tokenId,
                        targetInfos = updateList
                    };
                    //发起请求
                    var revertObj = new HttpServerRequest().UpdateSpeakerDeviceList(updateSpeakerDeviceListObj);
                    if (revertObj.Code == StateCode.SUCCESS)
                    {
                        Application.RunOnMainThread(() =>
                        {
                            //保存成功、页面关闭
                            Utlis.ShowTip(Language.StringByID(StringId.SavedSuccessfully));
                            if (bodyView != null)
                            {
                                bodyView.RemoveFromParent();
                            }
                        });
                    }
                    else
                    {
                        //提示错误
                        IMessageCommon.Current.ShowErrorInfoAlter(revertObj.Code);
                    }
                }
                catch
                {
                }
                finally
                {
                    Application.RunOnMainThread(() =>
                    {
                        if (waitPage != null)
                        {
                            waitPage.RemoveFromParent();
                            waitPage = null;
                        }
                    });
                }
            });
        }
        /// <summary>
        /// 加载房间的设备和场景列表
        /// </summary>
        void GetDeviceAndSceneList()
        {
            bodyScrolView.RemoveAll();
            var waitPage = new Loading();
            bodyView.AddChidren(waitPage);
            waitPage.Start(Language.StringByID(StringId.PleaseWait));
            System.Threading.Tasks.Task.Run(() =>
            {
                try
                {
                    var revertObj = new HttpServerRequest().GetSpeakerDeviceList(0, speakerInfo.tokenId);
                    if (revertObj.Code == StateCode.SUCCESS)
                    {
                        var list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<SpeakerTargetInfo>>(revertObj.Data.ToString());
                        if (list != null && list.Count > 0)
                        {
                            targetInfoList = list;
                        }
                        else
                        {
                            targetInfoList = new List<SpeakerTargetInfo>();
                        }
                        //默认全选
                        bool isSelectAll = true;
                        //查找需要选中的目标
                        foreach (var info in roomFunctionOrSceneList)
                        {
                            var targetData = targetInfoList.Find((obj) => obj.targetId == info.targetId);
                            if(targetData == null)
                            {
                                info.IsSelect = false;
                                //有一个没选择则全选设置为false
                                isSelectAll = false;
                            }
                            else
                            {
                                info.IsSelect = true;
                            }
                        }
                        Application.RunOnMainThread(() => {
                            //设置当前全选
                            btnChooseAll.IsSelected = isSelectAll;
                            RefreshListView();
                        });
                    }
                    else
                    {
                        //提示错误
                        IMessageCommon.Current.ShowErrorInfoAlter(revertObj.Code);
                    }
                }
                catch
                {
                }
                finally
                {
                    Application.RunOnMainThread(() =>
                    {
                        if (waitPage != null)
                        {
                            waitPage.RemoveFromParent();
                            waitPage = null;
                        }
                    });
                }
            });
        }
        /// <summary>
        /// RefreshListView
        /// </summary>
        void RefreshListView()
        {
            bodyScrolView.RemoveAll();
            if (roomFunctionOrSceneList == null) return;
            foreach (var roomData in roomFunctionOrSceneList)
            {
                AddRowView(roomData);
            }
        }
        /// <summary>
        /// AddRowView
        /// </summary>
        /// <param name="info"></param>
        void AddRowView(SpeakerTargetInfo info)
        {
            var roomView = new FrameLayout()
            {
                Height = Application.GetRealHeight(50),
                BackgroundColor = CSS_Color.MainBackgroundColor,
                Tag = "row"
            };
            bodyScrolView.AddChidren(roomView);
            Button btnRoomText = new Button()
            {
                X = Application.GetRealWidth(16),
                Width = Application.GetRealWidth(280),
                TextSize = CSS_FontSize.SubheadingFontSize,
                TextColor = CSS_Color.FirstLevelTitleColor,
                TextAlignment = TextAlignment.CenterLeft,
                Text = info.targetName,
            };
            roomView.AddChidren(btnRoomText);
            Button btnChoose = new Button()
            {
                X = Application.GetRealWidth(331),
                Gravity = Gravity.CenterVertical,
                Width = Application.GetMinRealAverage(28),
                Height = Application.GetMinRealAverage(28),
                UnSelectedImagePath = "Public/ChooseIcon.png",
                SelectedImagePath = "Public/ChooseOnIcon.png",
                Tag = "ChooseIcon"
            };
            roomView.AddChidren(btnChoose);
            btnChoose.IsSelected = info.IsSelect;
            var btnLine = new Button()
            {
                Gravity = Gravity.CenterHorizontal,
                //Y = Application.GetRealHeight(49),
                Height = Application.GetRealHeight(1),
                Width = Application.GetRealWidth(343),
                BackgroundColor = CSS_Color.DividingLineColor,
            };
            bodyScrolView.AddChidren(btnLine);
            EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
            {
                btnChoose.IsSelected = !btnChoose.IsSelected;
                info.IsSelect = btnChoose.IsSelected;
                //1.如果点击选择,判断是否需要设置全选
                if (btnChoose.IsSelected)
                {
                    //1.1 默认全选
                    bool isSelectAll = true;
                    foreach (var targetInfo in roomFunctionOrSceneList)
                    {
                        if(targetInfo.IsSelect == false)
                        {
                            //1.2 有一个还没选中就退出,无需选中全选按钮
                            isSelectAll = false;
                            break;
                        }
                    }
                    if (isSelectAll)
                    {
                        btnChooseAll.IsSelected = true;
                    }
                }
                else
                {
                    //取消全选
                    if (btnChooseAll.IsSelected)
                    {
                        btnChooseAll.IsSelected = false;
                    }
                }
            };
            btnChoose.MouseUpEventHandler = eventHandler;
            roomView.MouseUpEventHandler = eventHandler;
            btnRoomText.MouseUpEventHandler = eventHandler;
        }
    }
}