DLL/LC/Android/Shared.Droid.LCVideoSDK.dllBinary files differ
DLL/Linphone/Android/Shared.Droid.HDLLinphone.dllBinary files differ
DLL/Linphone/Android/Shared.Droid.HDLLinphone2022-03-31.dllBinary files differ
DLL/Scan/HDL.Shared.IOS.ScanQRCode.dllBinary files differ
HDL-ON_Android/Application.cs
@@ -84,6 +84,7 @@ BusSocketStart(); //后台回到前台 new HDL_ON.UI.AppUnlockPage().LoadPage(); } } @@ -93,6 +94,10 @@ mCount--; if (mCount == 0) { //if(activity.GetType().Name.Contains("LeChengVideoActivity")) //{ // //UserInfo.Current.PushMesLogTime = DateTime.MinValue; //} Console.WriteLine("HHH OnActivityStopped: background"); BusSocketStop(); //进入后台 @@ -110,11 +115,6 @@ public int mCount; ///// <summary> ///// 是否进入后台 ///// </summary> //public bool IsEnterBackground = false; /// <summary> /// 进入后台的时间 /// </summary> @@ -125,7 +125,6 @@ /// </summary> void BusSocketStop() { //IsEnterBackground = true; CloseTime = DateTime.Now; MainPage.IsEnterBackground = true; //进入后台mqtt正在连接重置状态 @@ -139,8 +138,6 @@ /// </summary> void BusSocketStart() { //IsEnterBackground = false; if (CloseTime.AddSeconds(10) < DateTime.Now) { //后台超过10s就断开MQTT重连 HDL-ON_Android/Assets/Language.ini
@@ -518,6 +518,11 @@ 530=In order to prevent the wrong touch and click of opening and closing the door and ensure family safety, please enter your door lock password. 531=Password free unlocking within five minutes 532=The device is offline and cannot be operated temporarily 533=Statistical Chart 534=Data 535=Dew point temperature 536=Temperature statistics 537=Humidity statistics 1000=Room Humidity @@ -1659,6 +1664,11 @@ 530=为防止开关门的误触点击,保证家庭安全,请输入您的门锁开门密码。 531=五分钟内免密码开锁 532=设备离线中,暂时无法操作 533=24小时统计图 534=数据 535=露点温度 536=温度统计图 537=湿度统计图 1000=室内湿度 1001=童锁 @@ -2781,6 +2791,11 @@ 530=In order to prevent the wrong touch and click of opening and closing the door and ensure family safety, please enter your door lock password. 531=Password free unlocking within five minutes 532=The device is offline and cannot be operated temporarily 533=Statistical Chart 534=Data 535=Dew point temperature 536=Temperature statistics 537=Humidity statistics @@ -3403,3 +3418,6 @@ 10031=Устройство не должно быть пустым. 10032=У пользователя нет разрешения. 10033=Устройство не существует. HDL-ON_Android/Assets/Phone/FunctionIcon/CAC/DataIcon.png
HDL-ON_Android/Assets/Phone/FunctionIcon/CAC/JinMaoIcon.png
HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/hvaccac.png
HDL-ON_Android/Assets/Phone/Public/MsgIcon/AnswerIcon.png
HDL-ON_Android/Assets/Phone/Public/MsgIcon/CallIcon.png
HDL-ON_Android/Assets/Phone/Public/MsgIcon/HangUpIcon.png
HDL-ON_Android/HDL-ON_Android.csproj
@@ -169,9 +169,6 @@ <Reference Include="Square.OkIO"> <HintPath>..\DLL\EZvizMonitor\Square.OkIO.dll</HintPath> </Reference> <Reference Include="Shared.Droid.HDLLinphone"> <HintPath>..\DLL\Linphone\Android\Shared.Droid.HDLLinphone.dll</HintPath> </Reference> <Reference Include="Shared.Droid.LCVideoSDK"> <HintPath>..\DLL\LC\Android\Shared.Droid.LCVideoSDK.dll</HintPath> </Reference> @@ -183,6 +180,9 @@ </Reference> <Reference Include="ScanSdk"> <HintPath>..\DLL\Scan\ScanSdk.dll</HintPath> </Reference> <Reference Include="Shared.Droid.HDLLinphone"> <HintPath>..\DLL\Linphone\Android\Shared.Droid.HDLLinphone.dll</HintPath> </Reference> </ItemGroup> <ItemGroup> @@ -227,6 +227,12 @@ <AndroidAsset Include="Assets\Phone\FunctionIcon\EnvironmentalScience\HistoryOpionBg3.png" /> <AndroidAsset Include="Assets\Phone\FunctionIcon\EnvironmentalScience\HistoryOpionBg4.png" /> <AndroidAsset Include="Assets\Phone\Collection\FunctionOfflineBg.png" /> <AndroidAsset Include="Assets\Phone\Public\MsgIcon\CallIcon.png" /> <AndroidAsset Include="Assets\Phone\Public\MsgIcon\AnswerIcon.png" /> <AndroidAsset Include="Assets\Phone\Public\MsgIcon\HangUpIcon.png" /> <AndroidAsset Include="Assets\Phone\FunctionIcon\CAC\DataIcon.png" /> <AndroidAsset Include="Assets\Phone\FunctionIcon\CAC\JinMaoIcon.png" /> <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\hvaccac.png" /> </ItemGroup> <ItemGroup> <AndroidResource Include="Resources\values\colors.xml" /> @@ -1433,6 +1439,7 @@ <ItemGroup> <Folder Include="libs\arm64-v8a\" /> <Folder Include="Zxing\" /> <Folder Include="Assets\Phone\FunctionIcon\CAC\" /> </ItemGroup> <Import Project="..\HDL_ON\HDL_ON.projitems" Label="Shared" Condition="Exists('..\HDL_ON\HDL_ON.projitems')" /> <Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.CSharp.targets" /> HDL-ON_Android/LeChengVideo/Form/ReverseCallFragment.cs
@@ -256,7 +256,7 @@ d.Add("callStatus", "RECEIVED");//可用值:MISSED,RECEIVED,REJECT // d.Add("callDuration", Time);//通话时长(秒) d.Add("interphoneTypeEnum", "IMOUVISIAL");//可用值:FLVI,IMOUVISIAL string jsonString = HttpUtil.GetSignRequestJson(d); string jsonString = HttpUtil.GetSignRequestJson(d); string url = "/home-wisdom/platform/imou/updateCallStatus"; ResponsePackNew response = HttpUtil.RequestHttpsPost(url, jsonString); HDL-ON_Android/LeChengVideoActivity.cs
@@ -19,6 +19,8 @@ using Com.Lechange.Opensdk.Device; using Com.Lechange.Opensdk.Listener; using Com.Lechange.Opensdk.Media; using HDL_ON; using Com.Lechange.Opensdk.Utils; using HDL_ON.DAL.Server; using HDL_ON_Android.LeChengView.Form; using Java.IO; @@ -129,9 +131,9 @@ }else { URL = URL_LC_CHINA; } InitParams initParams = new InitParams(this, URL, AccessToken); InitParams initParams = new InitParams(this, URL, AccessToken); LCOpenSDK_Api.InitOpenApi(initParams); LogUtils.OpenLog(); } /// <summary> @@ -166,11 +168,12 @@ /// </summary> public void StartTalk() { UserInfo.Current.inVideo = true; CloseAudio();// 关闭Audio LCOpenSDK_Talk.Listener = new AudioTalkerListener();//设置对讲监听 //2021-10-29 对讲请求类型,call呼叫,如果不传,默认为talk string talkType = "talk"; if (Type == 1)//0监控,1对讲 //if (Type == 1)//0监控,1对讲 { talkType = "call"; } @@ -184,6 +187,8 @@ /// </summary> public void StopTalk() { UserInfo.Current.inCall = DateTime.MinValue; UserInfo.Current.inVideo = false; LCOpenSDK_Talk.StopTalk(); LCOpenSDK_Talk.Listener = null; } @@ -338,6 +343,7 @@ { if (v.Equals(ivBack)) { StopTalk(); this.Finish(); } } HDL-ON_Android/Other/JPush/JPushReceiver.cs
@@ -37,6 +37,9 @@ //2020-12-23 解决点击通知栏打开不了APP问题 //base.OnNotifyMessageOpened(context, notificationMessage); //NotificationManager NotifyManager = (NotificationManager)GetSystemService(Context.NotificationService); //NotificationManager notificationManager = NotifyManager; OpenNotification(context, notificationMessage); } @@ -60,7 +63,7 @@ if (jpushExpandData != null && jpushExpandData.messageType != null) { pushMes.messageType = jpushExpandData.messageType; pushMes.expantContent = jpushExpandData.expantContent; pushMes.expantContent = jpushExpandData.expantContent;//spk pushMes.HomeId = jpushExpandData.homeId; Utlis.WriteLine("PushMes messageType : " + pushMes.messageType); } @@ -70,11 +73,24 @@ Utlis.WriteLine("PushMes extras : " + pushMes.Extras); Utlis.WriteLine("PushMes HomeId : " + pushMes.HomeId); //UserInfo.Current.PushMesTitle = pushMes.Title; //UserInfo.Current.PushMesMessage = pushMes.Content; //UserInfo.Current.PushMesExtras = pushMes.Extras; //UserInfo.Current.pushMesMessageType = pushMes.messageType; //UserInfo.Current.pushMesExpantContent = pushMes.expantContent; //UserInfo.Current.PushMesHomeId = pushMes.HomeId; UserInfo.Current.pushMessageInfo = pushMes; UserInfo.Current.inCall = DateTime.Now; Shared.Application.RunOnMainThread(() => { HDLCommon.Current.AdjustPushMessage(pushMes); }); if (!MainPage.IsEnterBackground) { NotificationManager nMgr = (NotificationManager)Shared.Application.Activity.GetSystemService(Context.NotificationService); nMgr.CancelAll(); } } /// <summary> HDL-ON_Android/Resources/Resource.designer.cs
@@ -12200,1105 +12200,1108 @@ public const int lp_screenshotStr = 2131689860; // aapt resource value: 0x7F0F0185 public const int lp_tipStr = 2131689861; // aapt resource value: 0x7F0F0188 public const int lp_unlockfailureStr = 2131689864; public const int lp_sipAccount_null = 2131689861; // aapt resource value: 0x7F0F0186 public const int lp_unlockStr = 2131689862; // aapt resource value: 0x7F0F0187 public const int lp_unlockSuccessfullyStr = 2131689863; public const int lp_tipStr = 2131689862; // aapt resource value: 0x7F0F0189 public const int main_tab_second_tab = 2131689865; public const int lp_unlockfailureStr = 2131689865; // aapt resource value: 0x7F0F0187 public const int lp_unlockStr = 2131689863; // aapt resource value: 0x7F0F0188 public const int lp_unlockSuccessfullyStr = 2131689864; // aapt resource value: 0x7F0F018A public const int message_come_from_tip = 2131689866; public const int main_tab_second_tab = 2131689866; // aapt resource value: 0x7F0F018B public const int message_encrypt_inputpsw_tip_title = 2131689867; public const int message_come_from_tip = 2131689867; // aapt resource value: 0x7F0F018C public const int message_live = 2131689868; public const int message_encrypt_inputpsw_tip_title = 2131689868; // aapt resource value: 0x7F0F018D public const int message_no_data_text = 2131689869; public const int message_live = 2131689869; // aapt resource value: 0x7F0F018E public const int message_refresh_fail_network_exception = 2131689870; public const int message_no_data_text = 2131689870; // aapt resource value: 0x7F0F018F public const int message_refresh_fail_server_exception = 2131689871; public const int message_refresh_fail_network_exception = 2131689871; // aapt resource value: 0x7F0F0190 public const int message_video = 2131689872; public const int message_refresh_fail_server_exception = 2131689872; // aapt resource value: 0x7F0F0191 public const int modify_online_schedule = 2131689873; public const int message_video = 2131689873; // aapt resource value: 0x7F0F0192 public const int month = 2131689874; public const int modify_online_schedule = 2131689874; // aapt resource value: 0x7F0F0193 public const int more = 2131689875; public const int month = 2131689875; // aapt resource value: 0x7F0F0194 public const int more_local_image = 2131689876; public const int more = 2131689876; // aapt resource value: 0x7F0F0195 public const int more_setting = 2131689877; public const int more_local_image = 2131689877; // aapt resource value: 0x7F0F0196 public const int my_collect = 2131689878; public const int more_setting = 2131689878; // aapt resource value: 0x7F0F0197 public const int my_devices = 2131689879; public const int my_collect = 2131689879; // aapt resource value: 0x7F0F0198 public const int network_error_retry_prompt = 2131689880; public const int my_devices = 2131689880; // aapt resource value: 0x7F0F0199 public const int network_exception = 2131689881; public const int network_error_retry_prompt = 2131689881; // aapt resource value: 0x7F0F019A public const int network_video_recorder = 2131689882; public const int network_exception = 2131689882; // aapt resource value: 0x7F0F019B public const int newest_version = 2131689883; public const int network_video_recorder = 2131689883; // aapt resource value: 0x7F0F019C public const int next_button_txt = 2131689884; // aapt resource value: 0x7F0F01A3 public const int not_find_any_devices = 2131689891; // aapt resource value: 0x7F0F01A4 public const int not_now = 2131689892; // aapt resource value: 0x7F0F01A5 public const int not_recognized_fingerprint_hint = 2131689893; public const int newest_version = 2131689884; // aapt resource value: 0x7F0F019D public const int no_event_device_prompt = 2131689885; public const int next_button_txt = 2131689885; // aapt resource value: 0x7F0F019E public const int no_leave_device_prompt = 2131689886; // aapt resource value: 0x7F0F01A4 public const int not_find_any_devices = 2131689892; // aapt resource value: 0x7F0F019F public const int no_more_alarm_tip = 2131689887; // aapt resource value: 0x7F0F01A0 public const int no_more_leave_tip = 2131689888; // aapt resource value: 0x7F0F01A1 public const int no_remote_data = 2131689889; // aapt resource value: 0x7F0F01A2 public const int no_result_text = 2131689890; // aapt resource value: 0x7F0F01A5 public const int not_now = 2131689893; // aapt resource value: 0x7F0F01A6 public const int offline_warn_text = 2131689894; public const int not_recognized_fingerprint_hint = 2131689894; // aapt resource value: 0x7F0F01A8 public const int online_time = 2131689896; // aapt resource value: 0x7F0F019E public const int no_event_device_prompt = 2131689886; // aapt resource value: 0x7F0F019F public const int no_leave_device_prompt = 2131689887; // aapt resource value: 0x7F0F01A0 public const int no_more_alarm_tip = 2131689888; // aapt resource value: 0x7F0F01A1 public const int no_more_leave_tip = 2131689889; // aapt resource value: 0x7F0F01A2 public const int no_remote_data = 2131689890; // aapt resource value: 0x7F0F01A3 public const int no_result_text = 2131689891; // aapt resource value: 0x7F0F01A7 public const int on_the_phone = 2131689895; public const int offline_warn_text = 2131689895; // aapt resource value: 0x7F0F01A9 public const int open_camera_fail = 2131689897; public const int online_time = 2131689897; // aapt resource value: 0x7F0F01A8 public const int on_the_phone = 2131689896; // aapt resource value: 0x7F0F01AA public const int open_camera_lens = 2131689898; public const int open_camera_fail = 2131689898; // aapt resource value: 0x7F0F01AB public const int open_source_localization = 2131689899; public const int open_camera_lens = 2131689899; // aapt resource value: 0x7F0F01AC public const int open_ys_service = 2131689900; public const int open_source_localization = 2131689900; // aapt resource value: 0x7F0F01AD public const int open_ys_service_fail = 2131689901; public const int open_ys_service = 2131689901; // aapt resource value: 0x7F0F01AE public const int open_ys_service_success = 2131689902; public const int open_ys_service_fail = 2131689902; // aapt resource value: 0x7F0F01AF public const int operational_fail = 2131689903; public const int open_ys_service_success = 2131689903; // aapt resource value: 0x7F0F01B0 public const int option_support_web = 2131689904; public const int operational_fail = 2131689904; // aapt resource value: 0x7F0F01B1 public const int password_et_hint = 2131689905; public const int option_support_web = 2131689905; // aapt resource value: 0x7F0F01B2 public const int password_security_txt = 2131689906; public const int password_et_hint = 2131689906; // aapt resource value: 0x7F0F01B3 public const int password_toggle_content_description = 2131689907; public const int password_security_txt = 2131689907; // aapt resource value: 0x7F0F01B4 public const int path_password_eye = 2131689908; public const int password_toggle_content_description = 2131689908; // aapt resource value: 0x7F0F01B5 public const int path_password_eye_mask_strike_through = 2131689909; public const int path_password_eye = 2131689909; // aapt resource value: 0x7F0F01B6 public const int path_password_eye_mask_visible = 2131689910; public const int path_password_eye_mask_strike_through = 2131689910; // aapt resource value: 0x7F0F01B7 public const int path_password_strike_through = 2131689911; public const int path_password_eye_mask_visible = 2131689911; // aapt resource value: 0x7F0F01B8 public const int pickerview_cancel = 2131689912; public const int path_password_strike_through = 2131689912; // aapt resource value: 0x7F0F01B9 public const int pickerview_day = 2131689913; public const int pickerview_cancel = 2131689913; // aapt resource value: 0x7F0F01BA public const int pickerview_hours = 2131689914; public const int pickerview_day = 2131689914; // aapt resource value: 0x7F0F01BB public const int pickerview_minutes = 2131689915; public const int pickerview_hours = 2131689915; // aapt resource value: 0x7F0F01BC public const int pickerview_month = 2131689916; public const int pickerview_minutes = 2131689916; // aapt resource value: 0x7F0F01BD public const int pickerview_seconds = 2131689917; public const int pickerview_month = 2131689917; // aapt resource value: 0x7F0F01BE public const int pickerview_submit = 2131689918; public const int pickerview_seconds = 2131689918; // aapt resource value: 0x7F0F01BF public const int pickerview_year = 2131689919; // aapt resource value: 0x7F0F01C1 public const int platform_login_button_txt = 2131689921; public const int pickerview_submit = 2131689919; // aapt resource value: 0x7F0F01C0 public const int plat_connected = 2131689920; public const int pickerview_year = 2131689920; // aapt resource value: 0x7F0F01C2 public const int play_hour = 2131689922; public const int platform_login_button_txt = 2131689922; // aapt resource value: 0x7F0F01C1 public const int plat_connected = 2131689921; // aapt resource value: 0x7F0F01C3 public const int please_connect_the_power = 2131689923; // aapt resource value: 0x7F0F01C5 public const int please_input_phonenumber_txt = 2131689925; public const int play_hour = 2131689923; // aapt resource value: 0x7F0F01C4 public const int please_input_phone_txt = 2131689924; public const int please_connect_the_power = 2131689924; // aapt resource value: 0x7F0F01C6 public const int please_input_platform_accesstoken_txt = 2131689926; public const int please_input_phonenumber_txt = 2131689926; // aapt resource value: 0x7F0F01C5 public const int please_input_phone_txt = 2131689925; // aapt resource value: 0x7F0F01C7 public const int please_input_sign_get_sms_txt = 2131689927; public const int please_input_platform_accesstoken_txt = 2131689927; // aapt resource value: 0x7F0F01C8 public const int please_input_sign_txt = 2131689928; public const int please_input_sign_get_sms_txt = 2131689928; // aapt resource value: 0x7F0F01C9 public const int please_input_userid_txt = 2131689929; public const int please_input_sign_txt = 2131689929; // aapt resource value: 0x7F0F01CA public const int please_open_wifi_network = 2131689930; public const int please_input_userid_txt = 2131689930; // aapt resource value: 0x7F0F01CB public const int please_open_wifi_network_sadp = 2131689931; public const int please_open_wifi_network = 2131689931; // aapt resource value: 0x7F0F01CC public const int please_operate_after_select_any_record = 2131689932; public const int please_open_wifi_network_sadp = 2131689932; // aapt resource value: 0x7F0F01CD public const int please_try_connect_device_hotspot_manually = 2131689933; public const int please_operate_after_select_any_record = 2131689933; // aapt resource value: 0x7F0F01CE public const int plug = 2131689934; public const int please_try_connect_device_hotspot_manually = 2131689934; // aapt resource value: 0x7F0F01CF public const int pm = 2131689935; public const int plug = 2131689935; // aapt resource value: 0x7F0F01D0 public const int press_again_to_exit = 2131689936; public const int pm = 2131689936; // aapt resource value: 0x7F0F01D1 public const int press_to_talk_release_to_listen = 2131689937; public const int press_again_to_exit = 2131689937; // aapt resource value: 0x7F0F01D2 public const int privacy_policy_and_service_agreement = 2131689938; public const int press_to_talk_release_to_listen = 2131689938; // aapt resource value: 0x7F0F01D3 public const int probe_not_support_tip = 2131689939; public const int privacy_policy_and_service_agreement = 2131689939; // aapt resource value: 0x7F0F01D4 public const int promptUserToActivate = 2131689940; public const int probe_not_support_tip = 2131689940; // aapt resource value: 0x7F0F01D5 public const int ptz = 2131689941; public const int promptUserToActivate = 2131689941; // aapt resource value: 0x7F0F01D6 public const int ptz_control_timeout_cruise_track_failed = 2131689942; public const int ptz = 2131689942; // aapt resource value: 0x7F0F01D7 public const int ptz_control_timeout_sound_lacalization_failed = 2131689943; public const int ptz_control_timeout_cruise_track_failed = 2131689943; // aapt resource value: 0x7F0F01D8 public const int ptz_is_preseting = 2131689944; public const int ptz_control_timeout_sound_lacalization_failed = 2131689944; // aapt resource value: 0x7F0F01D9 public const int ptz_mirroring_failed = 2131689945; public const int ptz_is_preseting = 2131689945; // aapt resource value: 0x7F0F01DA public const int ptz_operation_failed = 2131689946; public const int ptz_mirroring_failed = 2131689946; // aapt resource value: 0x7F0F01DB public const int ptz_operation_too_frequently = 2131689947; public const int ptz_operation_failed = 2131689947; // aapt resource value: 0x7F0F01DC public const int ptz_preset_current_position_failed = 2131689948; public const int ptz_operation_too_frequently = 2131689948; // aapt resource value: 0x7F0F01DD public const int ptz_preset_exceed_maxnum_failed = 2131689949; public const int ptz_preset_current_position_failed = 2131689949; // aapt resource value: 0x7F0F01DE public const int ptz_preset_invalid_position_failed = 2131689950; public const int ptz_preset_exceed_maxnum_failed = 2131689950; // aapt resource value: 0x7F0F01DF public const int ptz_preset_sound_localization_failed = 2131689951; public const int ptz_preset_invalid_position_failed = 2131689951; // aapt resource value: 0x7F0F01E0 public const int ptz_privacying_failed = 2131689952; public const int ptz_preset_sound_localization_failed = 2131689952; // aapt resource value: 0x7F0F01E1 public const int push_cat_body = 2131689953; public const int ptz_privacying_failed = 2131689953; // aapt resource value: 0x7F0F01E2 public const int push_cat_head = 2131689954; public const int push_cat_body = 2131689954; // aapt resource value: 0x7F0F01E3 public const int push_event_alarm_title = 2131689955; public const int push_cat_head = 2131689955; // aapt resource value: 0x7F0F01E4 public const int push_event_from = 2131689956; public const int push_event_alarm_title = 2131689956; // aapt resource value: 0x7F0F01E5 public const int push_event_get = 2131689957; public const int push_event_from = 2131689957; // aapt resource value: 0x7F0F01E6 public const int push_event_get_count = 2131689958; public const int push_event_get = 2131689958; // aapt resource value: 0x7F0F01E7 public const int push_out_event_alarm_title = 2131689959; public const int push_event_get_count = 2131689959; // aapt resource value: 0x7F0F01E8 public const int pwd_not_contain_chinese = 2131689960; public const int push_out_event_alarm_title = 2131689960; // aapt resource value: 0x7F0F01E9 public const int qrcode_card = 2131689961; public const int pwd_not_contain_chinese = 2131689961; // aapt resource value: 0x7F0F01EA public const int quality_balanced = 2131689962; public const int qrcode_card = 2131689962; // aapt resource value: 0x7F0F01EB public const int quality_flunet = 2131689963; public const int quality_balanced = 2131689963; // aapt resource value: 0x7F0F01EC public const int quality_hd = 2131689964; public const int quality_flunet = 2131689964; // aapt resource value: 0x7F0F01ED public const int quality_super_hd = 2131689965; // aapt resource value: 0x7F0F01F4 public const int querying_camera_text = 2131689972; public const int quality_hd = 2131689965; // aapt resource value: 0x7F0F01EE public const int query_camera_fail = 2131689966; // aapt resource value: 0x7F0F01EF public const int query_camera_fail_network_exception = 2131689967; // aapt resource value: 0x7F0F01F0 public const int query_camera_fail_network_exception_or_server_exception = 2131689968; // aapt resource value: 0x7F0F01F1 public const int query_camera_fail_not_exit = 2131689969; // aapt resource value: 0x7F0F01F2 public const int query_camera_fail_repeat_error = 2131689970; // aapt resource value: 0x7F0F01F3 public const int query_camera_fail_server_exception = 2131689971; // aapt resource value: 0x7F0F01F6 public const int readed = 2131689974; public const int quality_super_hd = 2131689966; // aapt resource value: 0x7F0F01F5 public const int read_privacy_policy_and_service_agreement_tip = 2131689973; public const int querying_camera_text = 2131689973; // aapt resource value: 0x7F0F01EF public const int query_camera_fail = 2131689967; // aapt resource value: 0x7F0F01F0 public const int query_camera_fail_network_exception = 2131689968; // aapt resource value: 0x7F0F01F1 public const int query_camera_fail_network_exception_or_server_exception = 2131689969; // aapt resource value: 0x7F0F01F2 public const int query_camera_fail_not_exit = 2131689970; // aapt resource value: 0x7F0F01F3 public const int query_camera_fail_repeat_error = 2131689971; // aapt resource value: 0x7F0F01F4 public const int query_camera_fail_server_exception = 2131689972; // aapt resource value: 0x7F0F01F7 public const int realplay = 2131689975; public const int readed = 2131689975; // aapt resource value: 0x7F0F01F6 public const int read_privacy_policy_and_service_agreement_tip = 2131689974; // aapt resource value: 0x7F0F01F8 public const int realplay_close_sound_localization_fail = 2131689976; public const int realplay = 2131689976; // aapt resource value: 0x7F0F01F9 public const int realplay_encrypt_password_error_message = 2131689977; public const int realplay_close_sound_localization_fail = 2131689977; // aapt resource value: 0x7F0F01FA public const int realplay_encrypt_password_error_title = 2131689978; public const int realplay_encrypt_password_error_message = 2131689978; // aapt resource value: 0x7F0F01FB public const int realplay_fail_connect_device = 2131689979; public const int realplay_encrypt_password_error_title = 2131689979; // aapt resource value: 0x7F0F01FC public const int realplay_fail_device_not_exist = 2131689980; public const int realplay_fail_connect_device = 2131689980; // aapt resource value: 0x7F0F01FD public const int realplay_full_talk_start_tip = 2131689981; public const int realplay_fail_device_not_exist = 2131689981; // aapt resource value: 0x7F0F01FE public const int realplay_loading = 2131689982; public const int realplay_full_talk_start_tip = 2131689982; // aapt resource value: 0x7F0F01FF public const int realplay_login_password_error = 2131689983; public const int realplay_loading = 2131689983; // aapt resource value: 0x7F0F0200 public const int realplay_login_password_msg = 2131689984; public const int realplay_login_password_error = 2131689984; // aapt resource value: 0x7F0F0201 public const int realplay_no_encrypt_password_error = 2131689985; public const int realplay_login_password_msg = 2131689985; // aapt resource value: 0x7F0F0202 public const int realplay_no_permission = 2131689986; public const int realplay_no_encrypt_password_error = 2131689986; // aapt resource value: 0x7F0F0203 public const int realplay_open_sound_localization_fail = 2131689987; public const int realplay_no_permission = 2131689987; // aapt resource value: 0x7F0F0204 public const int realplay_password_error_message1 = 2131689988; public const int realplay_open_sound_localization_fail = 2131689988; // aapt resource value: 0x7F0F0205 public const int realplay_password_error_message3 = 2131689989; public const int realplay_password_error_message1 = 2131689989; // aapt resource value: 0x7F0F0206 public const int realplay_password_error_message4 = 2131689990; public const int realplay_password_error_message3 = 2131689990; // aapt resource value: 0x7F0F0207 public const int realplay_password_error_title = 2131689991; public const int realplay_password_error_message4 = 2131689991; // aapt resource value: 0x7F0F0208 public const int realplay_play_fail = 2131689992; public const int realplay_password_error_title = 2131689992; // aapt resource value: 0x7F0F0209 public const int realplay_play_fail_becauseof_network = 2131689993; public const int realplay_play_fail = 2131689993; // aapt resource value: 0x7F0F020A public const int realplay_play_no_video_source = 2131689994; public const int realplay_play_fail_becauseof_network = 2131689994; // aapt resource value: 0x7F0F020B public const int realplay_play_talkback_fail = 2131689995; public const int realplay_play_no_video_source = 2131689995; // aapt resource value: 0x7F0F020C public const int realplay_play_talkback_fail_ison = 2131689996; public const int realplay_play_talkback_fail = 2131689996; // aapt resource value: 0x7F0F020D public const int realplay_play_talkback_fail_privacy = 2131689997; public const int realplay_play_talkback_fail_ison = 2131689997; // aapt resource value: 0x7F0F020E public const int realplay_play_talkback_network_exception = 2131689998; public const int realplay_play_talkback_fail_privacy = 2131689998; // aapt resource value: 0x7F0F020F public const int realplay_play_talkback_request_timeout = 2131689999; public const int realplay_play_talkback_network_exception = 2131689999; // aapt resource value: 0x7F0F0210 public const int realplay_set_fail_network = 2131690000; public const int realplay_play_talkback_request_timeout = 2131690000; // aapt resource value: 0x7F0F0211 public const int realplay_set_fail_status = 2131690001; public const int realplay_set_fail_network = 2131690001; // aapt resource value: 0x7F0F0212 public const int realplay_set_vediomode_fail = 2131690002; public const int realplay_set_fail_status = 2131690002; // aapt resource value: 0x7F0F0213 public const int realplay_share_no_permission = 2131690003; public const int realplay_set_vediomode_fail = 2131690003; // aapt resource value: 0x7F0F0214 public const int realplay_share_time_over = 2131690004; public const int realplay_share_no_permission = 2131690004; // aapt resource value: 0x7F0F0215 public const int realplay_verifycode_error_message0 = 2131690005; public const int realplay_share_time_over = 2131690005; // aapt resource value: 0x7F0F0216 public const int realplay_verifycode_error_placehold = 2131690006; public const int realplay_verifycode_error_message0 = 2131690006; // aapt resource value: 0x7F0F0217 public const int receice_leave_msg_audio = 2131690007; public const int realplay_verifycode_error_placehold = 2131690007; // aapt resource value: 0x7F0F0218 public const int receice_leave_msg_video = 2131690008; public const int receice_leave_msg_audio = 2131690008; // aapt resource value: 0x7F0F0219 public const int record = 2131690009; public const int receice_leave_msg_video = 2131690009; // aapt resource value: 0x7F0F021A public const int refresh = 2131690010; public const int record = 2131690010; // aapt resource value: 0x7F0F021B public const int refresh_empty_hint = 2131690011; public const int refresh = 2131690011; // aapt resource value: 0x7F0F021C public const int refresh_fail_hint = 2131690012; // aapt resource value: 0x7F0F021E public const int remoteplayback_capture_fail = 2131690014; // aapt resource value: 0x7F0F021F public const int remoteplayback_capture_fail_for_memory = 2131690015; // aapt resource value: 0x7F0F0220 public const int remoteplayback_connect_device_error = 2131690016; // aapt resource value: 0x7F0F0221 public const int remoteplayback_connect_server_error = 2131690017; // aapt resource value: 0x7F0F0222 public const int remoteplayback_fail = 2131690018; // aapt resource value: 0x7F0F0223 public const int remoteplayback_norecordfile = 2131690019; // aapt resource value: 0x7F0F0224 public const int remoteplayback_norecordfile_alarm = 2131690020; // aapt resource value: 0x7F0F0225 public const int remoteplayback_over_link = 2131690021; // aapt resource value: 0x7F0F0226 public const int remoteplayback_record_fail = 2131690022; // aapt resource value: 0x7F0F0227 public const int remoteplayback_record_fail_for_memory = 2131690023; public const int refresh_empty_hint = 2131690012; // aapt resource value: 0x7F0F021D public const int remoteplayback_SDCard_disable_use = 2131690013; public const int refresh_fail_hint = 2131690013; // aapt resource value: 0x7F0F021F public const int remoteplayback_capture_fail = 2131690015; // aapt resource value: 0x7F0F0220 public const int remoteplayback_capture_fail_for_memory = 2131690016; // aapt resource value: 0x7F0F0221 public const int remoteplayback_connect_device_error = 2131690017; // aapt resource value: 0x7F0F0222 public const int remoteplayback_connect_server_error = 2131690018; // aapt resource value: 0x7F0F0223 public const int remoteplayback_fail = 2131690019; // aapt resource value: 0x7F0F0224 public const int remoteplayback_norecordfile = 2131690020; // aapt resource value: 0x7F0F0225 public const int remoteplayback_norecordfile_alarm = 2131690021; // aapt resource value: 0x7F0F0226 public const int remoteplayback_over_link = 2131690022; // aapt resource value: 0x7F0F0227 public const int remoteplayback_record_fail = 2131690023; // aapt resource value: 0x7F0F0228 public const int remoteplayback_searchfile_fail_for_device = 2131690024; public const int remoteplayback_record_fail_for_memory = 2131690024; // aapt resource value: 0x7F0F021E public const int remoteplayback_SDCard_disable_use = 2131690014; // aapt resource value: 0x7F0F0229 public const int remoteplayback_searchfile_fail_for_network = 2131690025; public const int remoteplayback_searchfile_fail_for_device = 2131690025; // aapt resource value: 0x7F0F022A public const int reset_10_sec_to_release = 2131690026; public const int remoteplayback_searchfile_fail_for_network = 2131690026; // aapt resource value: 0x7F0F022B public const int reset_device = 2131690027; public const int reset_10_sec_to_release = 2131690027; // aapt resource value: 0x7F0F022C public const int result_txt = 2131690028; public const int reset_device = 2131690028; // aapt resource value: 0x7F0F022D public const int retry = 2131690029; // aapt resource value: 0x7F0F022F public const int router = 2131690031; public const int result_txt = 2131690029; // aapt resource value: 0x7F0F022E public const int route_status_light = 2131690030; public const int retry = 2131690030; // aapt resource value: 0x7F0F0230 public const int sadp_activate_state1 = 2131690032; public const int router = 2131690032; // aapt resource value: 0x7F0F022F public const int route_status_light = 2131690031; // aapt resource value: 0x7F0F0231 public const int sadp_activate_state2 = 2131690033; public const int sadp_activate_state1 = 2131690033; // aapt resource value: 0x7F0F0232 public const int sadp_password_input_hint = 2131690034; public const int sadp_activate_state2 = 2131690034; // aapt resource value: 0x7F0F0233 public const int sadp_password_toast = 2131690035; public const int sadp_password_input_hint = 2131690035; // aapt resource value: 0x7F0F0234 public const int sadp_password_too_weak = 2131690036; public const int sadp_password_toast = 2131690036; // aapt resource value: 0x7F0F0235 public const int sadp_quit_activate = 2131690037; public const int sadp_password_too_weak = 2131690037; // aapt resource value: 0x7F0F0236 public const int save_encrypt_password_fail_network_exception = 2131690038; public const int sadp_quit_activate = 2131690038; // aapt resource value: 0x7F0F0237 public const int scan_add = 2131690039; public const int save_encrypt_password_fail_network_exception = 2131690039; // aapt resource value: 0x7F0F0238 public const int scan_connet_network = 2131690040; public const int scan_add = 2131690040; // aapt resource value: 0x7F0F0239 public const int scan_cue_txt = 2131690041; public const int scan_connet_network = 2131690041; // aapt resource value: 0x7F0F023A public const int scan_device_add_by_others = 2131690042; public const int scan_cue_txt = 2131690042; // aapt resource value: 0x7F0F023B public const int scan_device_search = 2131690043; public const int scan_device_add_by_others = 2131690043; // aapt resource value: 0x7F0F023C public const int scan_device_serial_no = 2131690044; public const int scan_device_search = 2131690044; // aapt resource value: 0x7F0F023D public const int scan_network_unavailible = 2131690045; public const int scan_device_serial_no = 2131690045; // aapt resource value: 0x7F0F023E public const int scan_probe_qrcode_error = 2131690046; public const int scan_network_unavailible = 2131690046; // aapt resource value: 0x7F0F023F public const int scan_search_probe_qrcode = 2131690047; public const int scan_probe_qrcode_error = 2131690047; // aapt resource value: 0x7F0F0240 public const int scan_title_txt = 2131690048; public const int scan_search_probe_qrcode = 2131690048; // aapt resource value: 0x7F0F0241 public const int screenshot_fail = 2131690049; public const int scan_title_txt = 2131690049; // aapt resource value: 0x7F0F0242 public const int screenshot_success = 2131690050; public const int screenshot_fail = 2131690050; // aapt resource value: 0x7F0F0243 public const int sdk_is_init = 2131690051; public const int screenshot_success = 2131690051; // aapt resource value: 0x7F0F0244 public const int search = 2131690052; public const int sdk_is_init = 2131690052; // aapt resource value: 0x7F0F0245 public const int search_menu_title = 2131690053; public const int search = 2131690053; // aapt resource value: 0x7F0F0246 public const int secure_validate = 2131690054; // aapt resource value: 0x7F0F0248 public const int secure_validatee_fail = 2131690056; public const int search_menu_title = 2131690054; // aapt resource value: 0x7F0F0247 public const int secure_validate_success = 2131690055; public const int secure_validate = 2131690055; // aapt resource value: 0x7F0F0249 public const int seek_camera_fail_device_not_support_shipin7 = 2131690057; public const int secure_validatee_fail = 2131690057; // aapt resource value: 0x7F0F0248 public const int secure_validate_success = 2131690056; // aapt resource value: 0x7F0F024A public const int select_all = 2131690058; public const int seek_camera_fail_device_not_support_shipin7 = 2131690058; // aapt resource value: 0x7F0F024B public const int select_date = 2131690059; public const int select_all = 2131690059; // aapt resource value: 0x7F0F024C public const int serial_add_hint = 2131690060; public const int select_date = 2131690060; // aapt resource value: 0x7F0F024D public const int serial_add_password_error_title = 2131690061; public const int serial_add_hint = 2131690061; // aapt resource value: 0x7F0F024E public const int serial_input_text = 2131690062; public const int serial_add_password_error_title = 2131690062; // aapt resource value: 0x7F0F024F public const int serial_number_error = 2131690063; public const int serial_input_text = 2131690063; // aapt resource value: 0x7F0F0250 public const int serial_number_is_null = 2131690064; public const int serial_number_error = 2131690064; // aapt resource value: 0x7F0F0251 public const int serial_number_put_the_right_no = 2131690065; public const int serial_number_is_null = 2131690065; // aapt resource value: 0x7F0F0252 public const int server_area = 2131690066; // aapt resource value: 0x7F0F0257 public const int setting = 2131690071; // aapt resource value: 0x7F0F0258 public const int setting_video_level = 2131690072; public const int serial_number_put_the_right_no = 2131690066; // aapt resource value: 0x7F0F0253 public const int set_defence_plan = 2131690067; public const int server_area = 2131690067; // aapt resource value: 0x7F0F0254 public const int set_device_wifi_network_need_reset_the_device = 2131690068; // aapt resource value: 0x7F0F0255 public const int set_ptz_flip_fail = 2131690069; // aapt resource value: 0x7F0F0256 public const int set_ptz_flip_success = 2131690070; // aapt resource value: 0x7F0F0258 public const int setting = 2131690072; // aapt resource value: 0x7F0F0259 public const int share_devices = 2131690073; public const int setting_video_level = 2131690073; // aapt resource value: 0x7F0F0254 public const int set_defence_plan = 2131690068; // aapt resource value: 0x7F0F0255 public const int set_device_wifi_network_need_reset_the_device = 2131690069; // aapt resource value: 0x7F0F0256 public const int set_ptz_flip_fail = 2131690070; // aapt resource value: 0x7F0F0257 public const int set_ptz_flip_success = 2131690071; // aapt resource value: 0x7F0F025A public const int sms_verify_bind_error = 2131690074; public const int share_devices = 2131690074; // aapt resource value: 0x7F0F025B public const int sms_verify_code_received = 2131690075; public const int sms_verify_bind_error = 2131690075; // aapt resource value: 0x7F0F025C public const int source_detection_off = 2131690076; public const int sms_verify_code_received = 2131690076; // aapt resource value: 0x7F0F025D public const int source_detection_on = 2131690077; public const int source_detection_off = 2131690077; // aapt resource value: 0x7F0F025E public const int specified_device = 2131690078; public const int source_detection_on = 2131690078; // aapt resource value: 0x7F0F025F public const int srl_component_falsify = 2131690079; public const int specified_device = 2131690079; // aapt resource value: 0x7F0F0260 public const int srl_content_empty = 2131690080; public const int srl_component_falsify = 2131690080; // aapt resource value: 0x7F0F0261 public const int srl_footer_failed = 2131690081; public const int srl_content_empty = 2131690081; // aapt resource value: 0x7F0F0262 public const int srl_footer_finish = 2131690082; public const int srl_footer_failed = 2131690082; // aapt resource value: 0x7F0F0263 public const int srl_footer_loading = 2131690083; public const int srl_footer_finish = 2131690083; // aapt resource value: 0x7F0F0264 public const int srl_footer_nothing = 2131690084; public const int srl_footer_loading = 2131690084; // aapt resource value: 0x7F0F0265 public const int srl_footer_pulling = 2131690085; public const int srl_footer_nothing = 2131690085; // aapt resource value: 0x7F0F0266 public const int srl_footer_refreshing = 2131690086; public const int srl_footer_pulling = 2131690086; // aapt resource value: 0x7F0F0267 public const int srl_footer_release = 2131690087; public const int srl_footer_refreshing = 2131690087; // aapt resource value: 0x7F0F0268 public const int srl_header_failed = 2131690088; public const int srl_footer_release = 2131690088; // aapt resource value: 0x7F0F0269 public const int srl_header_finish = 2131690089; public const int srl_header_failed = 2131690089; // aapt resource value: 0x7F0F026A public const int srl_header_loading = 2131690090; public const int srl_header_finish = 2131690090; // aapt resource value: 0x7F0F026B public const int srl_header_pulling = 2131690091; public const int srl_header_loading = 2131690091; // aapt resource value: 0x7F0F026C public const int srl_header_refreshing = 2131690092; public const int srl_header_pulling = 2131690092; // aapt resource value: 0x7F0F026D public const int srl_header_release = 2131690093; public const int srl_header_refreshing = 2131690093; // aapt resource value: 0x7F0F026E public const int srl_header_secondary = 2131690094; public const int srl_header_release = 2131690094; // aapt resource value: 0x7F0F026F public const int srl_header_update = 2131690095; public const int srl_header_secondary = 2131690095; // aapt resource value: 0x7F0F0270 public const int start_cloud = 2131690096; public const int srl_header_update = 2131690096; // aapt resource value: 0x7F0F0271 public const int start_to_experience = 2131690097; public const int start_cloud = 2131690097; // aapt resource value: 0x7F0F0272 public const int start_voice_talk = 2131690098; public const int start_to_experience = 2131690098; // aapt resource value: 0x7F0F0273 public const int status_bar_notification_info_overflow = 2131690099; public const int start_voice_talk = 2131690099; // aapt resource value: 0x7F0F0274 public const int step3_adding_device_to_account = 2131690100; public const int status_bar_notification_info_overflow = 2131690100; // aapt resource value: 0x7F0F0275 public const int storage_status = 2131690101; public const int step3_adding_device_to_account = 2131690101; // aapt resource value: 0x7F0F0276 public const int stream_type = 2131690102; // aapt resource value: 0x7F0F0279 public const int string_apiurl = 2131690105; public const int storage_status = 2131690102; // aapt resource value: 0x7F0F0277 public const int string_ap_connection = 2131690103; // aapt resource value: 0x7F0F0278 public const int string_ap_connection_normal = 2131690104; public const int stream_type = 2131690103; // aapt resource value: 0x7F0F027A public const int string_authurl = 2131690106; public const int string_apiurl = 2131690106; // aapt resource value: 0x7F0F027C public const int string_deviceserial = 2131690108; // aapt resource value: 0x7F0F0278 public const int string_ap_connection = 2131690104; // aapt resource value: 0x7F0F0279 public const int string_ap_connection_normal = 2131690105; // aapt resource value: 0x7F0F027B public const int string_device_network_mode = 2131690107; public const int string_authurl = 2131690107; // aapt resource value: 0x7F0F027D public const int string_ezopenurl = 2131690109; public const int string_deviceserial = 2131690109; // aapt resource value: 0x7F0F027C public const int string_device_network_mode = 2131690108; // aapt resource value: 0x7F0F027E public const int string_get_device_version_fail = 2131690110; public const int string_ezopenurl = 2131690110; // aapt resource value: 0x7F0F027F public const int string_smart_and_sound_wave_connection = 2131690111; public const int string_get_device_version_fail = 2131690111; // aapt resource value: 0x7F0F0280 public const int string_smart_connection = 2131690112; public const int string_smart_and_sound_wave_connection = 2131690112; // aapt resource value: 0x7F0F0281 public const int string_smart_connection_normal = 2131690113; public const int string_smart_connection = 2131690113; // aapt resource value: 0x7F0F0282 public const int string_sound_wave_connection = 2131690114; public const int string_smart_connection_normal = 2131690114; // aapt resource value: 0x7F0F0283 public const int string_wired_connection = 2131690115; public const int string_sound_wave_connection = 2131690115; // aapt resource value: 0x7F0F0284 public const int submit_secure_validate = 2131690116; public const int string_wired_connection = 2131690116; // aapt resource value: 0x7F0F0285 public const int submit_sms_code = 2131690117; public const int submit_secure_validate = 2131690117; // aapt resource value: 0x7F0F0286 public const int switch_to_handset = 2131690118; public const int submit_sms_code = 2131690118; // aapt resource value: 0x7F0F0287 public const int switch_to_speaker = 2131690119; public const int switch_to_handset = 2131690119; // aapt resource value: 0x7F0F0288 public const int system_default_channel = 2131690120; public const int switch_to_speaker = 2131690120; // aapt resource value: 0x7F0F0289 public const int tab_more = 2131690121; public const int system_default_channel = 2131690121; // aapt resource value: 0x7F0F028A public const int talk = 2131690122; // aapt resource value: 0x7F0F028D public const int talking = 2131690125; public const int tab_more = 2131690122; // aapt resource value: 0x7F0F028B public const int talk_open_failed = 2131690123; // aapt resource value: 0x7F0F028C public const int talk_open_success = 2131690124; public const int talk = 2131690123; // aapt resource value: 0x7F0F028E public const int tip_heard_voice = 2131690126; public const int talking = 2131690126; // aapt resource value: 0x7F0F028C public const int talk_open_failed = 2131690124; // aapt resource value: 0x7F0F028D public const int talk_open_success = 2131690125; // aapt resource value: 0x7F0F028F public const int tip_login_out = 2131690127; public const int tip_heard_voice = 2131690127; // aapt resource value: 0x7F0F0290 public const int tip_of_added_by_yourself_and_online = 2131690128; public const int tip_login_out = 2131690128; // aapt resource value: 0x7F0F0291 public const int tip_of_bad_net = 2131690129; public const int tip_of_added_by_yourself_and_online = 2131690129; // aapt resource value: 0x7F0F0292 public const int tip_playback_again = 2131690130; public const int tip_of_bad_net = 2131690130; // aapt resource value: 0x7F0F0293 public const int tip_specified_device = 2131690131; public const int tip_playback_again = 2131690131; // aapt resource value: 0x7F0F0294 public const int title_activate_device = 2131690132; public const int tip_specified_device = 2131690132; // aapt resource value: 0x7F0F0295 public const int title_activate_device_fail = 2131690133; public const int title_activate_device = 2131690133; // aapt resource value: 0x7F0F0296 public const int title_activity_connect_device_wifi = 2131690134; public const int title_activate_device_fail = 2131690134; // aapt resource value: 0x7F0F0297 public const int title_activity_ezupgrade_device = 2131690135; public const int title_activity_connect_device_wifi = 2131690135; // aapt resource value: 0x7F0F0298 public const int today = 2131690136; public const int title_activity_ezupgrade_device = 2131690136; // aapt resource value: 0x7F0F0299 public const int touch_fingerprint_sensor_hint = 2131690137; public const int today = 2131690137; // aapt resource value: 0x7F0F029A public const int touch_to_load = 2131690138; public const int touch_fingerprint_sensor_hint = 2131690138; // aapt resource value: 0x7F0F029B public const int try_again = 2131690139; public const int touch_to_load = 2131690139; // aapt resource value: 0x7F0F029C public const int ui_call_demo_txt = 2131690140; public const int try_again = 2131690140; // aapt resource value: 0x7F0F029D public const int unable_identify_two_dimensional_code_tip = 2131690141; public const int ui_call_demo_txt = 2131690141; // aapt resource value: 0x7F0F029E public const int unbind_to_bind = 2131690142; public const int unable_identify_two_dimensional_code_tip = 2131690142; // aapt resource value: 0x7F0F029F public const int unknow_ssid = 2131690143; public const int unbind_to_bind = 2131690143; // aapt resource value: 0x7F0F02A0 public const int unlock_fail = 2131690144; public const int unknow_ssid = 2131690144; // aapt resource value: 0x7F0F02A1 public const int unlock_success = 2131690145; public const int unlock_fail = 2131690145; // aapt resource value: 0x7F0F02A2 public const int unnamed = 2131690146; public const int unlock_success = 2131690146; // aapt resource value: 0x7F0F02A3 public const int update_exit = 2131690147; public const int unnamed = 2131690147; // aapt resource value: 0x7F0F02A4 public const int upgrade = 2131690148; public const int update_exit = 2131690148; // aapt resource value: 0x7F0F02A5 public const int upgrade_fail = 2131690149; public const int upgrade = 2131690149; // aapt resource value: 0x7F0F02A6 public const int upgrade_progress = 2131690150; public const int upgrade_fail = 2131690150; // aapt resource value: 0x7F0F02A7 public const int upgrade_success = 2131690151; public const int upgrade_progress = 2131690151; // aapt resource value: 0x7F0F02A8 public const int upgrade_success_progress = 2131690152; // aapt resource value: 0x7F0F02AD public const int upsdk_appstore_install = 2131690157; // aapt resource value: 0x7F0F02AE public const int upsdk_apptouch_store_url = 2131690158; public const int upgrade_success = 2131690152; // aapt resource value: 0x7F0F02A9 public const int upsdk_app_download_info_new = 2131690153; public const int upgrade_success_progress = 2131690153; // aapt resource value: 0x7F0F02AA public const int upsdk_app_download_installing = 2131690154; // aapt resource value: 0x7F0F02AB public const int upsdk_app_size = 2131690155; // aapt resource value: 0x7F0F02AC public const int upsdk_app_version = 2131690156; // aapt resource value: 0x7F0F02AE public const int upsdk_appstore_install = 2131690158; // aapt resource value: 0x7F0F02AF public const int upsdk_cancel = 2131690159; public const int upsdk_apptouch_store_url = 2131690159; // aapt resource value: 0x7F0F02AA public const int upsdk_app_download_info_new = 2131690154; // aapt resource value: 0x7F0F02AB public const int upsdk_app_download_installing = 2131690155; // aapt resource value: 0x7F0F02AC public const int upsdk_app_size = 2131690156; // aapt resource value: 0x7F0F02AD public const int upsdk_app_version = 2131690157; // aapt resource value: 0x7F0F02B0 public const int upsdk_checking_update_prompt = 2131690160; public const int upsdk_cancel = 2131690160; // aapt resource value: 0x7F0F02B1 public const int upsdk_choice_update = 2131690161; public const int upsdk_checking_update_prompt = 2131690161; // aapt resource value: 0x7F0F02B2 public const int upsdk_detail = 2131690162; public const int upsdk_choice_update = 2131690162; // aapt resource value: 0x7F0F02B3 public const int upsdk_getting_message_fail_prompt_toast = 2131690163; public const int upsdk_detail = 2131690163; // aapt resource value: 0x7F0F02B4 public const int upsdk_mobile_dld_warn = 2131690164; public const int upsdk_getting_message_fail_prompt_toast = 2131690164; // aapt resource value: 0x7F0F02B5 public const int upsdk_no_available_network_prompt_toast = 2131690165; public const int upsdk_mobile_dld_warn = 2131690165; // aapt resource value: 0x7F0F02B6 public const int upsdk_ota_app_name = 2131690166; public const int upsdk_no_available_network_prompt_toast = 2131690166; // aapt resource value: 0x7F0F02B7 public const int upsdk_ota_cancel = 2131690167; public const int upsdk_ota_app_name = 2131690167; // aapt resource value: 0x7F0F02B8 public const int upsdk_ota_force_cancel_new = 2131690168; public const int upsdk_ota_cancel = 2131690168; // aapt resource value: 0x7F0F02B9 public const int upsdk_ota_notify_updatebtn = 2131690169; public const int upsdk_ota_force_cancel_new = 2131690169; // aapt resource value: 0x7F0F02BA public const int upsdk_ota_title = 2131690170; public const int upsdk_ota_notify_updatebtn = 2131690170; // aapt resource value: 0x7F0F02BB public const int upsdk_storage_utils = 2131690171; public const int upsdk_ota_title = 2131690171; // aapt resource value: 0x7F0F02BC public const int upsdk_store_url = 2131690172; public const int upsdk_storage_utils = 2131690172; // aapt resource value: 0x7F0F02BD public const int upsdk_third_app_dl_cancel_download_prompt_ex = 2131690173; public const int upsdk_store_url = 2131690173; // aapt resource value: 0x7F0F02BE public const int upsdk_third_app_dl_install_failed = 2131690174; public const int upsdk_third_app_dl_cancel_download_prompt_ex = 2131690174; // aapt resource value: 0x7F0F02BF public const int upsdk_third_app_dl_sure_cancel_download = 2131690175; public const int upsdk_third_app_dl_install_failed = 2131690175; // aapt resource value: 0x7F0F02C0 public const int upsdk_update_check_no_new_version = 2131690176; public const int upsdk_third_app_dl_sure_cancel_download = 2131690176; // aapt resource value: 0x7F0F02C1 public const int user_name_txt = 2131690177; public const int upsdk_update_check_no_new_version = 2131690177; // aapt resource value: 0x7F0F02C2 public const int verify_code_error = 2131690178; public const int user_name_txt = 2131690178; // aapt resource value: 0x7F0F02C3 public const int verify_sms_code_fail = 2131690179; public const int verify_code_error = 2131690179; // aapt resource value: 0x7F0F02C4 public const int verify_sms_code_success = 2131690180; public const int verify_sms_code_fail = 2131690180; // aapt resource value: 0x7F0F02C5 public const int version_newest = 2131690181; public const int verify_sms_code_success = 2131690181; // aapt resource value: 0x7F0F02C6 public const int video_answer = 2131690182; public const int version_newest = 2131690182; // aapt resource value: 0x7F0F02C7 public const int video_box = 2131690183; public const int video_answer = 2131690183; // aapt resource value: 0x7F0F02C8 public const int video_confirm = 2131690184; public const int video_box = 2131690184; // aapt resource value: 0x7F0F02C9 public const int video_device = 2131690185; public const int video_confirm = 2131690185; // aapt resource value: 0x7F0F02CA public const int video_fail = 2131690186; public const int video_device = 2131690186; // aapt resource value: 0x7F0F02CB public const int video_hang_up = 2131690187; public const int video_fail = 2131690187; // aapt resource value: 0x7F0F02CC public const int video_icon = 2131690188; public const int video_hang_up = 2131690188; // aapt resource value: 0x7F0F02CD public const int video_not_answer = 2131690189; public const int video_icon = 2131690189; // aapt resource value: 0x7F0F02CE public const int video_screenshot = 2131690190; public const int video_not_answer = 2131690190; // aapt resource value: 0x7F0F02CF public const int video_square = 2131690191; public const int video_screenshot = 2131690191; // aapt resource value: 0x7F0F02D0 public const int video_success = 2131690192; public const int video_square = 2131690192; // aapt resource value: 0x7F0F02D1 public const int video_talk_call_cancel = 2131690193; public const int video_success = 2131690193; // aapt resource value: 0x7F0F02D2 public const int video_talk_call_is_accepted = 2131690194; public const int video_talk_call_cancel = 2131690194; // aapt resource value: 0x7F0F02D3 public const int video_talk_is_playing = 2131690195; public const int video_talk_call_is_accepted = 2131690195; // aapt resource value: 0x7F0F02D4 public const int video_talk_sdk_toast_hang_up = 2131690196; public const int video_talk_is_playing = 2131690196; // aapt resource value: 0x7F0F02D5 public const int video_talk_sdk_toast_nobody = 2131690197; public const int video_talk_sdk_toast_hang_up = 2131690197; // aapt resource value: 0x7F0F02D6 public const int video_talk_signal_weak = 2131690198; public const int video_talk_sdk_toast_nobody = 2131690198; // aapt resource value: 0x7F0F02D7 public const int video_talk_watch_is_busy = 2131690199; public const int video_talk_signal_weak = 2131690199; // aapt resource value: 0x7F0F02D8 public const int video_talk_watch_temperature_high_hang = 2131690200; public const int video_talk_watch_is_busy = 2131690200; // aapt resource value: 0x7F0F02D9 public const int video_talk_watch_temperature_high_hint = 2131690201; public const int video_talk_watch_temperature_high_hang = 2131690201; // aapt resource value: 0x7F0F02DA public const int video_talk_watch_temperature_high_reject = 2131690202; public const int video_talk_watch_temperature_high_hint = 2131690202; // aapt resource value: 0x7F0F02DB public const int video_talk_watch_temperature_high_warn = 2131690203; public const int video_talk_watch_temperature_high_reject = 2131690203; // aapt resource value: 0x7F0F02DC public const int video_tip = 2131690204; public const int video_talk_watch_temperature_high_warn = 2131690204; // aapt resource value: 0x7F0F02DD public const int video_unlock = 2131690205; public const int video_tip = 2131690205; // aapt resource value: 0x7F0F02DE public const int wait = 2131690206; public const int video_unlock = 2131690206; // aapt resource value: 0x7F0F02DF public const int web_login_button_txt = 2131690207; public const int wait = 2131690207; // aapt resource value: 0x7F0F02E0 public const int wechat_interconnect = 2131690208; public const int web_login_button_txt = 2131690208; // aapt resource value: 0x7F0F02E1 public const int wifi_connected = 2131690209; public const int wechat_interconnect = 2131690209; // aapt resource value: 0x7F0F02E2 public const int wifi_connection_finish_need_refresh = 2131690210; public const int wifi_connected = 2131690210; // aapt resource value: 0x7F0F02E3 public const int wifi_set = 2131690211; public const int wifi_connection_finish_need_refresh = 2131690211; // aapt resource value: 0x7F0F02E4 public const int wifi_setting = 2131690212; public const int wifi_set = 2131690212; // aapt resource value: 0x7F0F02E5 public const int wired_connection = 2131690213; // aapt resource value: 0x7F0F02E7 public const int xlistview_footer_hint_normal = 2131690215; public const int wifi_setting = 2131690213; // aapt resource value: 0x7F0F02E6 public const int xlistview_footer_hint_no_more_device = 2131690214; public const int wired_connection = 2131690214; // aapt resource value: 0x7F0F02E8 public const int xlistview_footer_hint_ready = 2131690216; public const int xlistview_footer_hint_normal = 2131690216; // aapt resource value: 0x7F0F02E7 public const int xlistview_footer_hint_no_more_device = 2131690215; // aapt resource value: 0x7F0F02E9 public const int xlistview_footer_no_more = 2131690217; public const int xlistview_footer_hint_ready = 2131690217; // aapt resource value: 0x7F0F02EA public const int xlistview_footer_no_more_msg = 2131690218; public const int xlistview_footer_no_more = 2131690218; // aapt resource value: 0x7F0F02EB public const int xlistview_header_hint_loading = 2131690219; public const int xlistview_footer_no_more_msg = 2131690219; // aapt resource value: 0x7F0F02EC public const int xlistview_header_hint_more = 2131690220; public const int xlistview_header_hint_loading = 2131690220; // aapt resource value: 0x7F0F02ED public const int xlistview_header_hint_normal = 2131690221; public const int xlistview_header_hint_more = 2131690221; // aapt resource value: 0x7F0F02EE public const int xlistview_header_hint_ready = 2131690222; public const int xlistview_header_hint_normal = 2131690222; // aapt resource value: 0x7F0F02EF public const int xlistview_header_last_time = 2131690223; public const int xlistview_header_hint_ready = 2131690223; // aapt resource value: 0x7F0F02F0 public const int zxing_app_name = 2131690224; public const int xlistview_header_last_time = 2131690224; // aapt resource value: 0x7F0F02F1 public const int zxing_button_ok = 2131690225; public const int zxing_app_name = 2131690225; // aapt resource value: 0x7F0F02F2 public const int zxing_msg_camera_framework_bug = 2131690226; public const int zxing_button_ok = 2131690226; // aapt resource value: 0x7F0F02F3 public const int zxing_msg_default_status = 2131690227; public const int zxing_msg_camera_framework_bug = 2131690227; // aapt resource value: 0x7F0F02F4 public const int zxing_msg_default_status = 2131690228; static String() { HDL-ON_iOS/HDL-ON_iOS.csproj
@@ -485,6 +485,7 @@ <Folder Include="Resources\Phone\PersonalCenter\FacePassage\" /> <Folder Include="Resources\Phone\FunctionIcon\Electrical\AirSwitch\" /> <Folder Include="Base.lproj\" /> <Folder Include="Resources\Phone\FunctionIcon\CAC\" /> </ItemGroup> <ItemGroup> <InterfaceDefinition Include="LaunchScreen.storyboard" /> @@ -1386,6 +1387,12 @@ <BundleResource Include="Resources\Phone\FunctionIcon\EnvironmentalScience\HistoryOpionBg3.png" /> <BundleResource Include="Resources\Phone\FunctionIcon\EnvironmentalScience\HistoryOpionBg4.png" /> <BundleResource Include="Resources\Phone\Collection\FunctionOfflineBg.png" /> <BundleResource Include="Resources\Phone\Public\MsgIcon\CallIcon.png" /> <BundleResource Include="Resources\Phone\Public\MsgIcon\AnswerIcon.png" /> <BundleResource Include="Resources\Phone\Public\MsgIcon\HangUpIcon.png" /> <BundleResource Include="Resources\Phone\FunctionIcon\CAC\DataIcon.png" /> <BundleResource Include="Resources\Phone\FunctionIcon\CAC\JinMaoIcon.png" /> <BundleResource Include="Resources\Phone\FunctionIcon\Icon\hvaccac.png" /> </ItemGroup> <ItemGroup> <ITunesArtwork Include="iTunesArtwork" /> HDL-ON_iOS/Resources/Phone/FunctionIcon/CAC/DataIcon.png
HDL-ON_iOS/Resources/Phone/FunctionIcon/CAC/JinMaoIcon.png
HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/hvaccac.png
HDL-ON_iOS/Resources/Phone/Public/MsgIcon/AnswerIcon.png
HDL-ON_iOS/Resources/Phone/Public/MsgIcon/CallIcon.png
HDL-ON_iOS/Resources/Phone/Public/MsgIcon/HangUpIcon.png
HDL_ON/Common/HDLCommon.cs
@@ -330,16 +330,31 @@ } else if (interphoneTypeEnum == InterphoneType.HDL.ToString()) { //HDL Linphone 狄耐克 eSVideoInfo.HomeId = jpushMessageInfo.HomeId; eSVideoInfo.callId = json["callId"].ToString(); eSVideoInfo.Lc_DeviceId = json["deviceId"].ToString(); eSVideoInfo.DeviceName = json["deviceName"].ToString(); eSVideoInfo.deviceSipAccount = json["deviceSipAccount"].ToString(); //ShowAlert("狄耐克门口机呼叫"); //打开呼叫页面 HDLLinphone.Current.ShowESVideoIntercom(eSVideoInfo); return; if (json.ContainsKey("spk")) { if (json["spk"].ToString() == "door.gate") { new PublicAssmebly().TipLinphoneCall("\""+ eSVideoInfo.DeviceName + "\"呼叫", eSVideoInfo); //HDLLinphone.Current.ShowESVideoIntercom(eSVideoInfo,true); return; } else { //HDL Linphone 狄耐克 //ShowAlert("狄耐克门口机呼叫"); //打开呼叫页面 HDLLinphone.Current.ShowESVideoIntercom(eSVideoInfo,false); return; } } } //3.打开呼叫页面 @@ -402,13 +417,14 @@ //账号在别处登陆,被踢下线 跳转到登录页面 new Alert(Language.StringByID(StringId.Tip), Language.StringByID(StringId.LoggedOnOtherDevices), Language.StringByID(StringId.Close)).Show(); Logout(); Logout(false); } /// <summary> /// 退出登录操作 /// signOutPush 是否删除推送token /// </summary> public void Logout() public void Logout(bool signOutPush = true) { //加载Loading效果 var waitPage = new Loading(); @@ -419,8 +435,11 @@ { try { //2.注销推送 new HttpServerRequest().SignOutPush(); if (signOutPush) { //2.注销推送 new HttpServerRequest().SignOutPush(); } //3.跳转登录页面 UserInfo.Current.LastTime = DateTime.MinValue; UserInfo.Current.SaveUserInfo(); HDL_ON/Common/R.cs
@@ -6,6 +6,27 @@ { /// <summary> /// 湿度统计图 /// </summary> public const int HumidityStatistics = 537; /// <summary> /// 温度统计图 /// </summary> public const int TemperatureStatistics = 536; /// <summary> /// 露点温度 /// </summary> public const int DewPointTemp = 535; /// <summary> /// 数据 /// </summary> public const int Data = 534; /// <summary> /// 24小时统计图 /// </summary> public const int StatisticalChart24Hour = 533; /// <summary> /// 设备离线中,暂时无法操作 /// </summary> public const int DeviceOfflineCannotOption = 532; HDL_ON/Common/UserInfo.cs
@@ -322,5 +322,34 @@ return path + "/"; } /// <summary> /// 推送消息记录 /// </summary> public JPushMessageInfo pushMessageInfo = new JPushMessageInfo(); /// <summary> /// 是否已经加载呼叫弹窗 /// </summary> public bool alreadyShowCallInDialog = false; //[Newtonsoft.Json.JsonIgnore] //public string PushMesTitle; //[Newtonsoft.Json.JsonIgnore] //public string PushMesMessage; //[Newtonsoft.Json.JsonIgnore] //public string PushMesExtras; //[Newtonsoft.Json.JsonIgnore] //public string PushMesHomeId; //[Newtonsoft.Json.JsonIgnore] //public string pushMesMessageType; //[Newtonsoft.Json.JsonIgnore] //public string pushMesExpantContent; [Newtonsoft.Json.JsonIgnore] public bool inVideo = false; [Newtonsoft.Json.JsonIgnore] public DateTime inCall = DateTime.MinValue; } } HDL_ON/DAL/DriverLayer/Control.cs
@@ -1066,6 +1066,10 @@ break; case SPK.CurtainShades: break; case SPK.HvacCac: Stan.HdlDeviceStatuPushLogic.Current.UpdateDeviceStatu(updateTemp.sid, updateTemp.status); break; case SPK.AcStandard: case SPK.HvacAC: case SPK.AcIr: HDL_ON/DAL/Server/HttpServerRequest.cs
@@ -1029,10 +1029,10 @@ #endif //是否生产模式 bool isProduce = true; #if DEBUG isProduce = false; #endif if (HttpUtil.GlobalRequestHttpsHost == "https://test-gz.hdlcontrol.com") { isProduce = false; } if (string.IsNullOrEmpty(OnAppConfig.Instance.PushDeviceToken)) { Utlis.WriteLine("PushDeviceToken 为空"); HDL_ON/DAL/Server/NewApiRes.cs
@@ -1474,7 +1474,12 @@ /// 扩展数据内容 /// </summary> public string expantContent = ""; /// <summary> /// 设备类型 /// HDL: door.gate /// </summary> public string spk = ""; } @@ -1509,6 +1514,8 @@ /// 信息类型 /// </summary> public string messageType; public string spk; } /// <summary> HDL_ON/DAL/ThirdPartySdk/ESOnVideo.cs
@@ -154,7 +154,7 @@ else if (interphoneType == InterphoneType.HDL.ToString()) { //HDLLinphone 狄耐克 HDLLinphone.Current.ShowESVideoMonitor(mESVideoInfo); HDLLinphone.Current.ShowESVideoMonitor(mESVideoInfo,false); } else { HDL_ON/DAL/ThirdPartySdk/HDLLinphone.cs
@@ -98,6 +98,7 @@ HDLLinphoneKit.Instance.InitLinphone(Application.Activity); //设置收到来电后、是否需自动跳转呼叫页面方案 HDLLinphoneKit.Instance.AutoJumpCallView = IsAutoJumpCallView; //HDLLinphoneKit.Instance.HangUp();//挂断 //设置Listener监听 setOnHDLLinphoneCallListener(); #endif @@ -196,8 +197,6 @@ { try { //先清空呼叫和监视设备信息 if (clearCallInfo) { @@ -371,13 +370,14 @@ } #endregion #region ■ -- 跳转监控页面_______________________________ /// <summary> /// 跳转监控页面 /// </summary> /// <param name="mESVideoInfo"></param> public void ShowESVideoMonitor(ESVideoInfo mESVideoInfo) /// <param name="enableMic">是否打开麦克风</param> public void ShowESVideoMonitor(ESVideoInfo mESVideoInfo,bool enableMic,bool isCallIn = false) { InitLinphone(); //sip账号为空 @@ -395,6 +395,22 @@ mHDLCallVideoInfo.DeviceSipAccount = mESVideoInfo.deviceSipAccount;//监视主动呼叫门口机时用到 InitCallInfo(mHDLCallVideoInfo); if (isCallIn) { HDLLinphoneKit.Instance.HangUp(); } else { openMonitorPage(enableMic); } } /// <summary> /// 打开监视界面 /// </summary> void openMonitorPage(bool enableMic) { #if __IOS__ HDLLinPhoneSDK.Instance().CallWithUserName(mHDLCallVideoInfo.DeviceSipAccount, mHDLCallVideoInfo.DeviceName); @@ -405,10 +421,16 @@ //2.跳转打开监控页面 var intent = new Intent(Shared.Application.Activity, typeof(Com.Hdl.Hdllinphonesdk.Activity.HDLLinphoneMonitorActivity)); ; intent.PutExtra(HDLLinphoneKit.KeyTitleName, mHDLCallVideoInfo.DeviceName);//传入设备名称为显示标题 intent.PutExtra(HDLLinphoneKit.Enablemic, enableMic);//是否打开麦克风 Shared.Application.Activity.StartActivity(intent); #endif } #endregion @@ -417,7 +439,8 @@ /// 收到推送,后判断呼叫住宅是否为当前住宅,不是的话重新获取SIP账号并登录 /// </summary> /// <param name="mESVideoInfo"></param> public void ShowESVideoIntercom(ESVideoInfo mESVideoInfo) /// <param name="isHdlLinphone">是否是自研可视对讲</param> public void ShowESVideoIntercom(ESVideoInfo mESVideoInfo,bool isHdlLinphone) { InitLinphone(); @@ -430,26 +453,36 @@ mHDLCallVideoInfo.DeviceSipAccount = mESVideoInfo.deviceSipAccount; InitCallInfo(mHDLCallVideoInfo); //当前呼叫来电的住宅和之前注册登录的住宅一致的情况下 if (currentHDLSipInfo != null && currentHDLSipInfo.homeId == mESVideoInfo.HomeId) if (isHdlLinphone) { Utlis.WriteLine("CALL 收到推送 推送住宅和之前注册登录的住宅一致"); CheckCallStateAndGotoPage(); } else { //注意:之前没登录SIP账号或者住宅不一致的情况下需要重新获取SIP账号 //获取呼叫住宅的SIP账号并登录 Utlis.WriteLine("CALL 收到推送 其他住宅,重新获取呼叫住宅的SIP账号并登录"); new Thread(() => //当前呼叫来电的住宅和之前注册登录的住宅一致的情况下 if (currentHDLSipInfo != null && currentHDLSipInfo.homeId == mESVideoInfo.HomeId) { GetHDLSipInfoAndInitSDK(mESVideoInfo.HomeId, false); }) { IsBackground = false }.Start(); Utlis.WriteLine("CALL 收到推送 推送住宅和之前注册登录的住宅一致"); CheckCallStateAndGotoPage(true); } } else { //当前呼叫来电的住宅和之前注册登录的住宅一致的情况下 if (currentHDLSipInfo != null && currentHDLSipInfo.homeId == mESVideoInfo.HomeId) { Utlis.WriteLine("CALL 收到推送 推送住宅和之前注册登录的住宅一致"); CheckCallStateAndGotoPage(); } else { //注意:之前没登录SIP账号或者住宅不一致的情况下需要重新获取SIP账号 //获取呼叫住宅的SIP账号并登录 Utlis.WriteLine("CALL 收到推送 其他住宅,重新获取呼叫住宅的SIP账号并登录"); new Thread(() => { GetHDLSipInfoAndInitSDK(mESVideoInfo.HomeId, false); }) { IsBackground = false }.Start(); // CheckCallStateAndGotoPage(); // CheckCallStateAndGotoPage(); } } } @@ -458,14 +491,14 @@ /// 检测来电状态,判断是否马上打开呼叫页面,如果还没来电则开启线程检测等待 /// </summary> /// <param name="mESVideoInfo"></param> public void CheckCallStateAndGotoPage() public void CheckCallStateAndGotoPage(bool isHdlLinphone = false) { //如果开启了自动跳转方案,则无需继续下面处理、无需手动跳转 if (IsAutoJumpCallView) return; //先结束掉之前的线程 EndCheckIncomingCallThread(); //检测是否来电了如果是直接调整呼叫页面如果不是则开启线程等待判断 if (IsIncomingReceivedCallState()) { if (IsIncomingReceivedCallState()|| isHdlLinphone) { Utlis.WriteLine("CALL 已经来电了。。。打开呼叫页面"); GoToHDLLinphoneIntercomActivity(); } HDL_ON/Entity/Function/Function.cs
@@ -1271,6 +1271,10 @@ /// 空调 /// </summary> public const string HvacAC = "hvac.ac"; /// <summary> /// 毛细管空调 /// </summary> public const string HvacCac = "hvac.cac"; /// <summary> /// 空调spk列表 @@ -1282,6 +1286,7 @@ spkList.Add(AcStandard); spkList.Add(HvacAC); spkList.Add(AcIr); spkList.Add(HvacCac); return spkList; } #endregion HDL_ON/HDL_ON.projitems
@@ -489,6 +489,10 @@ <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\AboutOn\SupportHomeKitNotesPage.cs" /> <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\AboutOn\FirmwareUpdateView.cs" /> <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\DoorLock\DoorLockUnlockPage.cs" /> <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\1ContorlPage\CacControlPage.cs" /> <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\1ContorlPage\CacWeekHistoryPage.cs" /> <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\1ContorlPage\CacDayHistoryPage.cs" /> <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\1ContorlPage\CacHistoryChoosePage.cs" /> </ItemGroup> <ItemGroup> <Folder Include="$(MSBuildThisFileDirectory)Entity\Device\" /> HDL_ON/UI/UI0-Public/AppUnlockPage.cs
@@ -1,4 +1,5 @@ using System; using HDL_ON.DAL.Server; using Shared; namespace HDL_ON.UI { @@ -75,6 +76,26 @@ { if (UserInfo.Current.unlockTime.AddMinutes(5) > DateTime.Now || UserInfo.Current.appUnlockPasswrod == "" || UserInfo.Current.appUnlockPage.Count == 0) { if(UserInfo.Current.inCall.AddMinutes(30) > DateTime.Now || UserInfo.Current.inVideo) { //UserInfo.Current.PushMesLogTime = DateTime.MinValue; //var pushMes = new JPushMessageInfo() //{ // Title = UserInfo.Current.PushMesTitle, // Content = UserInfo.Current.PushMesMessage, // Extras = UserInfo.Current.PushMesExtras, // messageType = UserInfo.Current.pushMesMessageType, // expantContent = UserInfo.Current.pushMesExpantContent, // HomeId = UserInfo.Current.PushMesHomeId, //}; Shared.Application.RunOnMainThread(() => { HDLCommon.Current.AdjustPushMessage(UserInfo.Current.pushMessageInfo); }); } return; } } HDL_ON/UI/UI0-Public/PublicAssmebly.cs
@@ -422,6 +422,99 @@ }) { IsBackground = true }.Start(); } /// <summary> /// 可视对讲呼叫弹窗 /// </summary> public void TipLinphoneCall(String msg, ESVideoInfo mESVideoInfo) { if (UserInfo.Current.alreadyShowCallInDialog) { return; } UserInfo.Current.alreadyShowCallInDialog = true; Dialog dialog = new Dialog(); FrameLayout dialogBody = new FrameLayout(); dialog.AddChidren(dialogBody); FrameLayout frame = new FrameLayout() { Gravity = Gravity.Center, Width = Application.GetRealWidth(263), Height = Application.GetRealHeight(145), BackgroundColor = 0xE6FFFFFF , Radius = (uint)Application.GetRealWidth(12), }; dialog.AddChidren(frame); Button btnTipIcon = new Button() { X = Application.GetRealWidth(26), Y = Application.GetRealHeight(20), Width = Application.GetRealWidth(32), Height = Application.GetRealWidth(32), UnSelectedImagePath = "Public/MsgIcon/CallIcon.png" , }; frame.AddChidren(btnTipIcon); Button btnTipMsg = new Button() { Y = Application.GetRealHeight(5), X = Application.GetRealWidth(60), Height = Application.GetRealHeight(52), Width = Application.GetRealWidth(160), TextAlignment = TextAlignment.CenterLeft, TextSize = CSS_FontSize.TextFontSize, TextColor = CSS_Color.FirstLevelTitleColor , IsMoreLines = true, Text = msg }; frame.AddChidren(btnTipMsg); Button btnHangUpIcon = new Button() { X = Application.GetRealWidth(45), Y = Application.GetRealHeight(78), Width = Application.GetRealWidth(52), Height = Application.GetRealWidth(52), UnSelectedImagePath = "Public/MsgIcon/HangUpIcon.png", }; frame.AddChidren(btnHangUpIcon); btnHangUpIcon.MouseUpEventHandler = (sender, e) => { HDLLinphone.Current.ShowESVideoMonitor(mESVideoInfo, true,true); //Com.Hdl.Hdllinphonesdk.HDLLinphoneKit.Instance.HangUp(); UserInfo.Current.alreadyShowCallInDialog = false; dialog.Close(); }; Button btnAnswerIcon = new Button() { X = Application.GetRealWidth(167), Y = Application.GetRealHeight(78), Width = Application.GetRealWidth(52), Height = Application.GetRealWidth(52), UnSelectedImagePath = "Public/MsgIcon/AnswerIcon.png", }; frame.AddChidren(btnAnswerIcon); btnAnswerIcon.MouseUpEventHandler = (sender, e) => { HDLLinphone.Current.ShowESVideoMonitor(mESVideoInfo,true); UserInfo.Current.alreadyShowCallInDialog = false; dialog.Close(); }; dialog.Show(); } /// <summary> /// 加载提示弹窗 /// </summary> HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs
@@ -182,6 +182,10 @@ var acPage = new AcControlPage(); acPage.AddForm(function, btnCollectionIcon, btnName, btnFromFloor); break; case SPK.HvacCac: var cacPage = new CacControlPage(); cacPage.AddForm(function, btnCollectionIcon, btnName, btnFromFloor); break; case SPK.IrLearn: var irLearinPage = new IrLearnPage(); irLearinPage.AddForm(function, btnCollectionIcon, btnName, btnFromFloor); HDL_ON/UI/UI2/1-HomePage/HomePage.cs
@@ -649,6 +649,25 @@ //}); FunctionList.List.Functions.Add(new Function() { spk = SPK.HvacCac, name = "测试金茂温控枸杞", attributes = new List<FunctionAttributes>() { new FunctionAttributes(){ key = "on_off",curValue= "on",state = "on" }, new FunctionAttributes(){ key = "mode",curValue= "cool",state = "cool" ,value = new List<string>(){ "cool", "heat" } }, new FunctionAttributes(){ key = "set_temp",curValue= "22",state = "22" ,value = new List<string>(){},min = 0,max = 30 }, //new FunctionAttributes(){ key = "set_temp_step",curValue= "low",state = "low" ,value = new List<string>(){ "high", "medium", "low", "auto", "stop" } }, new FunctionAttributes(){ key = "humidity",curValue= "0",state = "0" ,value = new List<string>(){ },min = 0,max = 100 }, new FunctionAttributes(){ key = "room_temp",curValue= "26",state = "26" ,value = new List<string>(){ },min = 0,max = 100 }, new FunctionAttributes(){ key = "dew_point_temp",curValue= "20",state = "20" ,value = new List<string>(){ },min = 0,max = 100 }, new FunctionAttributes(){ key = "room_humidity",curValue= "20",state = "20" ,value = new List<string>(){ },min = 0,max = 1000 }, //new FunctionAttributes(){ key = "tvoc",curValue= "20",state = "20" ,value = new List<string>(){ },min = 0,max = 100 }, }, }); //FunctionList.List.Functions.Add(new Function() //{ // spk = SPK.HvacAirFreshJinmao, HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs
@@ -61,6 +61,7 @@ //空调 case SPK.AcStandard: case SPK.HvacAC: case SPK.HvacCac://毛细空调 //地热 case SPK.FloorHeatStandard: case SPK.HvacFloorHeat: HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs
@@ -356,6 +356,9 @@ strPath = "LogicIcon/airconditionerlogic.png"; } break; case SPK.HvacCac: strPath = "FunctionIcon/Icon/hvaccac.png"; break; case SPK.FloorHeatStandard: case SPK.HvacFloorHeat: { @@ -518,6 +521,7 @@ { functionTypeList.Add(SPK.AcStandard); functionTypeList.Add(SPK.HvacAC); functionTypeList.Add(SPK.HvacCac); } ///地暖类 else if (deviceType == Language.StringByID(StringId.FloorHeating)) @@ -604,7 +608,7 @@ functionTypeList.Add(SPK.AirSwitch); functionTypeList.Add(SPK.PanelSocket); functionTypeList.Add(SPK.ElectricSocket); functionTypeList.Add(SPK.HvacCac); } @@ -657,6 +661,7 @@ deviceTypeList.Add(SPK.AirSwitch); deviceTypeList.Add(SPK.PanelSocket); deviceTypeList.Add(SPK.ElectricSocket); deviceTypeList.Add(SPK.HvacCac); } break; HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/CacControlPage.cs
New file @@ -0,0 +1,657 @@ using System; using System.Collections.Generic; using HDL_ON.DriverLayer; using HDL_ON.Entity; using HDL_ON.Stan; using HDL_ON.UI.CSS; using Shared; namespace HDL_ON.UI { public class CacControlPage : DeviceFunctionCardCommonForm { #region ■ 变量声明___________________________ /// <summary> /// 空调温度控制控件 /// </summary> DiyArcSeekBar arcBar; /// <summary> /// 减号按钮 /// </summary> Button btnMinus; /// <summary> /// 加号按钮 /// </summary> Button btnPlus; /// <summary> /// 温度按钮 /// </summary> Button btnTemp; Button btnTempUint; /// <summary> /// 室内温度按钮 /// </summary> Button btnIndoorTemp; /// <summary> /// 模式按钮 /// </summary> Button btnMode; /// <summary> /// 风速按钮 /// </summary> Button btnWindSpeed; /// <summary> /// 开关按钮 /// </summary> Button btnSwitch; AC acFunction = new AC(); /// <summary> /// 控制时间 /// </summary> DateTime controlTime = DateTime.MinValue.AddDays(10); /// <summary> /// 控制温度 /// </summary> int temp = 16; #endregion #region ■ 初始化_____________________________ /// <summary> /// 初始化白色区域的内容 /// </summary> public override void InitFrameWhiteContent() { var sk = device.GetAttribute(FunctionAttributeKey.SetTemp); if (sk != null) { if (sk.min == 0) { sk.min = 16; } if (sk.max == 0) { sk.max = 32; } } base.ShowColltionButton = false; base.SetTitleText(Language.StringByID(StringId.Electric)); //初始化第一个索引页的内容 this.InitFrameWhiteContent1(); //刷新当前设备的状态缓存 this.RefreshNowDeviceStatuMemory(this.device); //刷新界面状态 this.RefreshFormStatu(); //读取状态 new System.Threading.Thread(() => { while (true) { if (controlTime == DateTime.MinValue) { } else if (controlTime.AddSeconds(2) < DateTime.Now) { Control.Ins.SendReadCommand(device); controlTime = DateTime.MinValue; } System.Threading.Thread.Sleep(1000); } }) { IsBackground = true }.Start(); } /// <summary> /// 初始化第一个索引页的内容 /// </summary> private void InitFrameWhiteContent1() { Button btnJinmaoIcon = new Button() { Gravity = Gravity.CenterHorizontal, Y = Application.GetRealHeight(94), Width = Application.GetRealWidth(164), Height = Application.GetRealHeight(43), UnSelectedImagePath = "FunctionIcon/CAC/JinMaoIcon.png" }; FrameWhiteCentet1.AddChidren(btnJinmaoIcon); temp = (int)Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.SetTemp).Replace(",", ".")); arcBar = new DiyArcSeekBar() { Gravity = Gravity.CenterHorizontal, OpenAngle = 160, ThumbImageHeight = Application.GetRealWidth(50), ProgressBarColor = CSS_Color.MainColor, OfflineProgressBarColor = CSS_Color.PromptingColor2, ArcColor = CSS_Color.BackgroundColor, #if __IOS__ Y = Application.GetRealHeight(120 + 25), Width = Application.GetRealWidth(260 - 40), Height = Application.GetRealWidth(260 - 40), SeekBarPadding = Application.GetRealWidth(8), #else Y = Application.GetRealHeight(120 + 40), Width = Application.GetRealWidth(260 - 40), Height = Application.GetRealWidth(260 - 40), SeekBarPadding = Application.GetRealWidth(7), #endif }; FrameWhiteCentet1.AddChidren(arcBar); arcBar.ThumbImagePath = device.GetAttrState(FunctionAttributeKey.OnOff) == "on" ? "FunctionIcon/AC/DiyThumbIconOn.png" : "FunctionIcon/AC/DiyThumbIcon.png"; arcBar.IsOffline = device.GetAttrState(FunctionAttributeKey.OnOff) == "off"; arcBar.MinValue = device.GetAttribute(FunctionAttributeKey.SetTemp).min; arcBar.MaxValue = device.GetAttribute(FunctionAttributeKey.SetTemp).max; arcBar.Progress = (int)Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.SetTemp).Replace(",", ".")); btnTemp = new Button() { Gravity = Gravity.CenterHorizontal, Y = Application.GetRealHeight(206), Width = Application.GetRealWidth(71), Height = Application.GetRealWidth(60), TextColor = CSS_Color.FirstLevelTitleColor, TextSize = 50, IsBold = true, Text = Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.SetTemp).Replace(",", ".")).ToString(), TextAlignment = TextAlignment.Center, }; FrameWhiteCentet1.AddChidren(btnTemp); btnTempUint = new Button() { X = btnTemp.Right, Y = btnTemp.Y, Width = Application.GetRealWidth(30), Height = Application.GetRealHeight(30), TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.EmphasisFontSize_Secondary, IsBold = true, TextAlignment = TextAlignment.CenterLeft, Text = "°C", }; FrameWhiteCentet1.AddChidren(btnTempUint); btnIndoorTemp = new Button() { Gravity = Gravity.CenterHorizontal, Y = btnTemp.Bottom, Width = Application.GetRealWidth(120), Height = Application.GetRealHeight(20), Text = Language.StringByID(StringId.IndoorTemp) + "20°C/" + Language.StringByID(StringId.Humidity) +"45%", TextColor = CSS_Color.PromptingColor1, TextSize = CSS_FontSize.PromptFontSize_FirstLevel, }; FrameWhiteCentet1.AddChidren(btnIndoorTemp); btnMinus = new Button() { X = Application.GetRealWidth(21), Y = Application.GetRealHeight(263), Width = Application.GetRealWidth(32), Height = Application.GetRealWidth(32), UnSelectedImagePath = "Public/MinusSignIcon.png", }; FrameWhiteCentet1.AddChidren(btnMinus); btnPlus = new Button() { X = Application.GetRealWidth(275), Y = Application.GetRealHeight(263), Width = Application.GetRealWidth(32), Height = Application.GetRealWidth(32), UnSelectedImagePath = "Public/PlusSignIcon.png", }; FrameWhiteCentet1.AddChidren(btnPlus); btnMode = new Button() { X = Application.GetRealWidth(60), Y = Application.GetRealHeight(334), Width = Application.GetRealWidth(30), Height = Application.GetRealWidth(30), UnSelectedImagePath = acFunction.GetModeIconPath(device.GetAttrState(FunctionAttributeKey.Mode),true), }; FrameWhiteCentet1.AddChidren(btnMode); Button btnModeText = new Button() { X = Application.GetRealWidth(30), Y = btnMode.Bottom, Width = Application.GetRealWidth(90), Height = Application.GetRealHeight(20), TextAlignment = TextAlignment.Center, TextSize = 12, TextColor = CSS_Color.TextualColor, TextID = StringId.Mode }; FrameWhiteCentet1.AddChidren(btnModeText); btnWindSpeed = new Button() { X = Application.GetRealWidth(238), Y = Application.GetRealHeight(333), Width = Application.GetRealWidth(38), Height = Application.GetRealWidth(38), UnSelectedImagePath = "FunctionIcon/CAC/DataIcon.png", }; FrameWhiteCentet1.AddChidren(btnWindSpeed); Button btnDataText = new Button() { X = Application.GetRealWidth(215), Y = btnWindSpeed.Bottom, Width = Application.GetRealWidth(90), Height = Application.GetRealHeight(20), TextAlignment = TextAlignment.Center, TextSize = 12, TextColor = CSS_Color.TextualColor, TextID = StringId.Data }; FrameWhiteCentet1.AddChidren(btnDataText); btnSwitch = new Button() { Gravity = Gravity.CenterHorizontal, Y = Application.GetRealHeight(466), Width = Application.GetRealWidth(32), Height = Application.GetRealWidth(32), UnSelectedImagePath = "Public/PowerClose.png", SelectedImagePath = "Public/PowerOpen.png", IsSelected = device.GetAttrState(FunctionAttributeKey.OnOff) == "on" }; FrameWhiteCentet1.AddChidren(btnSwitch); LoadEvent_TempChange(); LoadEvent_AcStatesChange(); } /// <summary> /// 加载修改模式区域 /// </summary> void LoadDiv_ChangeModeView() { Dialog dialog = new Dialog(); FrameLayout dialogView = new FrameLayout() { BackgroundColor = CSS_Color.DialogTransparentColor1, }; dialog.AddChidren(dialogView); FrameLayout modeChangeView; modeChangeView = new FrameLayout() { X = Application.GetRealWidth(30), Y = Application.GetRealHeight(128), Width = Application.GetRealWidth(160), Height = Application.GetRealHeight(287), BackgroundImagePath = "FunctionIcon/AC/DivBg1.png", }; dialogView.AddChidren(modeChangeView); Button btnTitle; btnTitle = new Button() { X = Application.GetRealWidth(8 + 16), Y = Application.GetRealHeight(8), Width = Application.GetRealWidth(112), Height = Application.GetRealHeight(44), TextID = StringId.ChooseMode, TextAlignment = TextAlignment.CenterLeft, TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.EmphasisFontSize_Secondary, }; modeChangeView.AddChidren(btnTitle); Button btnLine = new Button() { X = btnTitle.X, Y = btnTitle.Bottom, Width = Application.GetRealWidth(112), Height = Application.GetRealHeight(1), BackgroundColor = CSS_Color.BackgroundColor, }; modeChangeView.AddChidren(btnLine); var modeList = device.GetAttribute(FunctionAttributeKey.Mode).value; foreach (var m in modeList) { Button btnModeIcon = new Button() { X = btnTitle.X, Y = Application.GetRealHeight(44 * (modeList.IndexOf(m) + 1) + 10 + 8), Width = Application.GetRealWidth(24), Height = Application.GetRealWidth(24), IsSelected = device.GetAttrState(FunctionAttributeKey.Mode) == m, }; modeChangeView.AddChidren(btnModeIcon); Button btnModeText = new Button() { X = Application.GetRealWidth(12) + btnModeIcon.Right, Y = Application.GetRealHeight(44 * (modeList.IndexOf(m) + 1) + 8), Height = Application.GetRealHeight(44), Width = Application.GetRealWidth(90), TextAlignment = TextAlignment.CenterLeft, TextColor = CSS_Color.FirstLevelTitleColor, SelectedTextColor = CSS_Color.MainColor, IsSelected = device.GetAttrState(FunctionAttributeKey.Mode) == m, TextSize = CSS_FontSize.TextFontSize, }; modeChangeView.AddChidren(btnModeText); btnModeIcon.UnSelectedImagePath = acFunction.GetModeIconPath(m, false); btnModeIcon.SelectedImagePath = acFunction.GetModeIconPath(m); btnModeText.Text = acFunction.GetModeAttrText(m); if (modeList.IndexOf(m) < modeList.Count - 1) { modeChangeView.AddChidren(new Button() { X = btnTitle.X, Y = btnModeText.Bottom, Width = Application.GetRealWidth(112), Height = Application.GetRealHeight(1), BackgroundColor = CSS_Color.BackgroundColor, }); } EventHandler<MouseEventArgs> eventHandler = (sender, e) => { dialog.Close(); }; EventHandler<MouseEventArgs> eventHandler1 = (sender, e) => { //if (!device.online) //{ // new Tip() // { // CloseTime = 1, // Text = Language.StringByID(StringId.DeviceOfflineCannotOption), // Direction = AMPopTipDirection.None, // }.Show(MainPage.BaseView); //} btnModeIcon.IsSelected = btnModeText.IsSelected = true; device.SetAttrState(FunctionAttributeKey.Mode, m); btnMode.UnSelectedImagePath = acFunction.GetModeIconPath(m); Dictionary<string, string> d = new Dictionary<string, string>(); d.Add(FunctionAttributeKey.Mode, m); Control.Ins.SendWriteCommand(device, d); dialog.Close(); if (device.GetAttrState(FunctionAttributeKey.Mode) == "fan") { arcBar.IsClickable = false; arcBar.IsOffline = true; } else { arcBar.IsOffline = false; arcBar.IsClickable = true; } }; btnModeIcon.MouseUpEventHandler = eventHandler1; btnModeText.MouseUpEventHandler = eventHandler1; dialogView.MouseUpEventHandler = eventHandler; } dialogView.MouseUpEventHandler = (sender, e) => { dialog.Close(); }; dialog.Show(); } #endregion #region ■ 设备状态反馈_______________________ /// <summary> /// 设备状态反馈 /// </summary> /// <param name="i_LocalDevice"></param> public override void DeviceStatuPush(Function i_LocalDevice) { //不是同一个东西 if (this.device.sid != i_LocalDevice.sid) { return; } //刷新当前设备的状态缓存 this.RefreshNowDeviceStatuMemory(i_LocalDevice); //刷新界面状态 this.RefreshFormStatu(); } #endregion #region ■ 发送各种命令_______________________ /// <summary> /// 温度改变模式 /// </summary> void LoadEvent_TempChange() { btnMinus.MouseUpEventHandler = (sender, e) => { //if (!device.online) //{ // new Tip() // { // CloseTime = 1, // Text = Language.StringByID(StringId.DeviceOfflineCannotOption), // Direction = AMPopTipDirection.None, // }.Show(MainPage.BaseView); //} if (device.trait_on_off.curValue.ToString() == "off" || device.GetAttrState(FunctionAttributeKey.Mode) == "fan") { return; } if (temp <= device.GetAttribute(FunctionAttributeKey.SetTemp).min) { return; } --temp; Console.WriteLine($"temp == {temp}"); controlTime = DateTime.Now; arcBar.Progress = temp; btnTemp.Text = temp.ToString(); device.SetAttrState(FunctionAttributeKey.SetTemp, temp.ToString()); System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); d.Add(FunctionAttributeKey.SetTemp, temp.ToString()); Control.Ins.SendWriteCommand(device, d); }; btnPlus.MouseUpEventHandler = (sender, e) => { //if (!device.online) //{ // new Tip() // { // CloseTime = 1, // Text = Language.StringByID(StringId.DeviceOfflineCannotOption), // Direction = AMPopTipDirection.None, // }.Show(MainPage.BaseView); //} if (device.trait_on_off.curValue.ToString() == "off" || device.GetAttrState(FunctionAttributeKey.Mode) == "fan") { return; } if (temp >= device.GetAttribute(FunctionAttributeKey.SetTemp).max) { return; } ++temp; controlTime = DateTime.Now; arcBar.Progress = temp; btnTemp.Text = temp.ToString(); device.SetAttrState(FunctionAttributeKey.SetTemp, temp.ToString()); System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); d.Add(FunctionAttributeKey.SetTemp, temp.ToString()); Control.Ins.SendWriteCommand(device, d); }; //if (device.online) { arcBar.OnStopTrackingTouchEvent = (sender, e) => { temp = arcBar.Progress; device.SetAttrState(FunctionAttributeKey.SetTemp, arcBar.Progress.ToString()); btnTemp.Text = arcBar.Progress.ToString(); controlTime = DateTime.Now; Dictionary<string, string> d = new Dictionary<string, string>(); d.Add(FunctionAttributeKey.SetTemp, arcBar.Progress.ToString()); Control.Ins.SendWriteCommand(device, d); }; arcBar.OnProgressChangedEvent = (sender, e) => { device.SetAttrState(FunctionAttributeKey.SetTemp, e.ToString()); btnTemp.Text = e.ToString(); }; //arcBar.MouseDownEventHandler = (sender, e) => { // Console.WriteLine("ddd"); // MainPage.BasePageView.ScrollEnabled =false; //}; //arcBar.MouseUpEventHandler = (sender, e) => { // Console.WriteLine("ddd2"); // MainPage.BasePageView.ScrollEnabled = true; //}; } } /// <summary> /// 控制模式事件 /// </summary> void LoadEvent_AcStatesChange() { btnMode.MouseUpEventHandler = (sender, e) => { if (device.trait_on_off.curValue.ToString() == "off") { return; } LoadDiv_ChangeModeView(); }; btnWindSpeed.MouseUpEventHandler = (sender, e) => { var page = new CacHistoryChoosePage(device); MainPage.BasePageView.AddChidren(page); page.InitView(); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; }; btnSwitch.MouseUpEventHandler = (sender, e) => { //if (!device.online) //{ // new Tip() // { // CloseTime = 1, // Text = Language.StringByID(StringId.DeviceOfflineCannotOption), // Direction = AMPopTipDirection.None, // }.Show(MainPage.BaseView); //} btnSwitch.IsSelected = !btnSwitch.IsSelected; device.trait_on_off.curValue = btnSwitch.IsSelected ? "on" : "off"; if (device.trait_on_off.curValue.ToString() == "on") { arcBar.ThumbImagePath = "FunctionIcon/AC/DiyThumbIconOn.png"; btnSwitch.IsSelected = true; arcBar.IsOffline = false; } else { arcBar.ThumbImagePath = "FunctionIcon/AC/DiyThumbIcon.png"; btnSwitch.IsBold = false; arcBar.IsOffline = true; } System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); d.Add(FunctionAttributeKey.OnOff, device.trait_on_off.curValue.ToString()); Control.Ins.SendWriteCommand(device, d); }; } #endregion #region ■ 刷新界面状态_______________________ /// <summary> /// 刷新界面状态 /// </summary> private void RefreshFormStatu() { Application.RunOnMainThread(() => { //app自己控制的不用更新,会造成跳动 if (controlTime.AddSeconds(2) > DateTime.Now) { return; } else { btnIndoorTemp.Text = Language.StringByID(StringId.IndoorTemp) + Convert.ToInt32(Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.RoomTemp).Replace(",", "."))) + "°C" + Language.StringByID(StringId.Humidity) + Convert.ToInt32(Convert.ToDouble(device.GetAttrState("room_humidity").Replace(", ", "."))) + "%"; btnMode.UnSelectedImagePath = acFunction.GetModeIconPath(device.GetAttrState(FunctionAttributeKey.Mode)); temp = Convert.ToInt32(Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.SetTemp).Replace(",", "."))); arcBar.Progress = temp; btnTemp.Text = temp.ToString(); if (device.trait_on_off.curValue.ToString() == "on") { arcBar.IsOffline = false; btnSwitch.IsSelected = true; arcBar.ThumbImagePath = "FunctionIcon/AC/DiyThumbIconOn.png"; if (device.GetAttrState(FunctionAttributeKey.Mode) == "fan") { arcBar.IsClickable = false; } else { arcBar.IsClickable = true; } } else { arcBar.IsOffline = true; btnSwitch.IsSelected = false; arcBar.IsClickable = false; arcBar.ThumbImagePath = "FunctionIcon/AC/DiyThumbIcon.png"; } if (device.GetAttrState(FunctionAttributeKey.Mode) == "dry") { arcBar.IsOffline = true; arcBar.IsClickable = false; } } }); } #endregion #region ■ 一般方法___________________________ /// <summary> /// 刷新当前设备的状态缓存 /// </summary> private void RefreshNowDeviceStatuMemory(Function i_LocalDevice) { } #endregion } } HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/CacDayHistoryPage.cs
New file @@ -0,0 +1,165 @@ using System; using System.Collections.Generic; using HDL_ON.DAL.Server; using HDL_ON.Entity; using HDL_ON.UI.CSS; using Shared; namespace HDL_ON.UI { public class CacDayHistoryPage : FrameLayout { CacDayHistoryPage bodyView; EchartsOption_BrokenLine brokenLine; MyEchartsViewOn myEchartsView_Line; string curQueryType = "hour"; public CacDayHistoryPage() { bodyView = this; } /// <summary> /// /// </summary> public void InitView() { new TopViewDiv(bodyView, Language.StringByID(StringId.StatisticalChart24Hour)).LoadTopView(); bodyView.BackgroundColor = CSS_Color.BackgroundColor; var contentView = new FrameLayout() { Y = Application.GetRealHeight(64), Height = Application.GetRealHeight(603), }; bodyView.AddChidren(contentView); var historyDataView = new FrameLayout() { Gravity = Gravity.CenterHorizontal, Y = Application.GetRealWidth(52), Height = Application.GetRealWidth(350), }; contentView.AddChidren(historyDataView); brokenLine = new EchartsOption_BrokenLine(); myEchartsView_Line = new MyEchartsViewOn() { Y = Application.GetRealWidth(10), Height = Application.GetRealWidth(338), }; historyDataView.AddChidren(myEchartsView_Line); #if DEBUG List<string> vs = new List<string>() { "1","2","3","4","5","6","7","8","9","10","11","12","13","14" }; brokenLine.InitXdataText(vs); brokenLine.InitYdataText("yData", new List<EnvironmentalSensorHistor>() { new EnvironmentalSensorHistor{ fieldName = "1", fieldValue= "23" }, new EnvironmentalSensorHistor{ fieldName = "2", fieldValue= "22" }, new EnvironmentalSensorHistor{ fieldName = "3", fieldValue= "-11" }, new EnvironmentalSensorHistor{ fieldName = "4", fieldValue= "21" }, new EnvironmentalSensorHistor{ fieldName = "5", fieldValue= "-41" }, new EnvironmentalSensorHistor{ fieldName = "6", fieldValue= "23" }, new EnvironmentalSensorHistor{ fieldName = "7", fieldValue= "-31" }, new EnvironmentalSensorHistor{ fieldName = "8", fieldValue= "-23" }, new EnvironmentalSensorHistor{ fieldName = "9", fieldValue= "-11" }, new EnvironmentalSensorHistor{ fieldName = "10", fieldValue= "-21" }, new EnvironmentalSensorHistor{ fieldName = "11", fieldValue= "24" }, new EnvironmentalSensorHistor{ fieldName = "12", fieldValue= "41" }, new EnvironmentalSensorHistor{ fieldName = "13", fieldValue= "32" }, new EnvironmentalSensorHistor{ fieldName = "14", fieldValue= "23" } }, "#FF9D54"); brokenLine.yTitle = "(℃)"; brokenLine.xTitle = ""; if (curQueryType != "hour") { brokenLine.xTitle = Language.StringByID(StringId.Date); } var opString = brokenLine.InitOption(); myEchartsView_Line.ShowWithOption(opString); #endif } /// <summary> /// 读取历史数据 /// </summary> void LoadMothed_GetHistoryData(Function sr, bool isDel) { var loadPage = new Loading() { LodingBackgroundColor = 0x88888888, }; bodyView.AddChidren(loadPage); new System.Threading.Thread(() => { try { Application.RunOnMainThread(() => { loadPage.Start(Language.StringByID(StringId.PleaseWait)); }); var sensorType = sr.spk.Split(".")[1]; var revertObj = new HttpServerRequest().GetSensorHistory(curQueryType, sr.deviceId, "total_electricity"); if (revertObj != null) { if (revertObj.Code == StateCode.SUCCESS) { var revertData = Newtonsoft.Json.JsonConvert.DeserializeObject<List<EnvironmentalSensorHistor>>(revertObj.Data.ToString()); List<string> vs = new List<string>(); if (brokenLine.YvalueText == "") { foreach (var data in revertData) { vs.Add(data.fieldName); } brokenLine.InitXdataText(vs); } if (sr.GetAttribute("ydata") == null) { sr.attributes.Add(new FunctionAttributes() { key = "ydata" }); } sr.SetAttrState("ydata", brokenLine.InitYdataText(sr.name, revertData, sr.GetAttrState("color")) + ","); } } brokenLine.yTitle = Language.StringByID(StringId.EnergyConsumption) + "(kW)"; brokenLine.xTitle = Language.StringByID(StringId.timeMode); if (curQueryType != "hour") { brokenLine.xTitle = Language.StringByID(StringId.Date); } var opString = brokenLine.InitOption(); Application.RunOnMainThread(() => { myEchartsView_Line.ShowWithOption(opString); }); } catch (Exception ex) { MainPage.Log($"sensor history error : {ex.Message}"); } finally { Application.RunOnMainThread(() => { loadPage.Hide(); }); } }) { IsBackground = true }.Start(); } } } HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/CacHistoryChoosePage.cs
New file @@ -0,0 +1,108 @@ using System; using HDL_ON.Entity; using HDL_ON.UI.CSS; using Shared; namespace HDL_ON.UI { /// <summary> /// 温控器历史数据显示选择界面 /// </summary> public class CacHistoryChoosePage : FrameLayout { FrameLayout bodyView; Function device; public CacHistoryChoosePage(Function function) { device = function; bodyView = this; } public void InitView() { new TopViewDiv(bodyView, Language.StringByID(StringId.Data)).LoadTopView(); bodyView.BackgroundColor = CSS_Color.BackgroundColor; FrameLayout tempView = new FrameLayout() { Y = Application.GetRealHeight(64), Height = Application.GetRealHeight(50), BackgroundColor = CSS_Color.MainBackgroundColor, }; bodyView.AddChidren(tempView); Button btnTempRight = new Button() { X = Application.GetRealWidth(339), Gravity = Gravity.CenterVertical, Width = Application.GetMinRealAverage(16), Height = Application.GetMinRealAverage(16), UnSelectedImagePath = "Public/Right.png", }; tempView.AddChidren(btnTempRight); Button btnTempLine = new Button() { Y = Application.GetRealHeight(49), Gravity = Gravity.CenterHorizontal, Width = Application.GetRealWidth(343), Height = Application.GetRealHeight(1), BackgroundColor = CSS_Color.DividingLineColor }; tempView.AddChidren(btnTempLine); Button btnTempName = new Button() { X = Application.GetRealWidth(16), TextAlignment = TextAlignment.CenterLeft, TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.SubheadingFontSize, TextID = StringId.TemperatureStatistics }; tempView.AddChidren(btnTempName); btnTempName.MouseUpEventHandler = (sender, e) => { var page = new CacWeekHistoryPage(device,"temp"); MainPage.BasePageView.AddChidren(page); page.InitView(); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; }; FrameLayout humidityView = new FrameLayout() { Y = Application.GetRealHeight(64 + 50), Height = Application.GetRealHeight(50), BackgroundColor = CSS_Color.MainBackgroundColor, }; bodyView.AddChidren(humidityView); Button btnHumidityRight = new Button() { X = Application.GetRealWidth(339), Gravity = Gravity.CenterVertical, Width = Application.GetMinRealAverage(16), Height = Application.GetMinRealAverage(16), UnSelectedImagePath = "Public/Right.png", }; humidityView.AddChidren(btnHumidityRight); Button btnHumidityName = new Button() { X = Application.GetRealWidth(16), TextAlignment = TextAlignment.CenterLeft, TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.SubheadingFontSize, TextID = StringId.HumidityStatistics }; humidityView.AddChidren(btnHumidityName); btnHumidityName.MouseUpEventHandler = (sender, e) => { var page = new CacWeekHistoryPage(device, "humidity"); MainPage.BasePageView.AddChidren(page); page.InitView(); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; }; } } } HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/CacWeekHistoryPage.cs
New file @@ -0,0 +1,342 @@ using System; using System.Collections.Generic; using HDL_ON.DAL.Server; using HDL_ON.Entity; using HDL_ON.Stan; using HDL_ON.UI.CSS; using Shared; namespace HDL_ON.UI { public class CacWeekHistoryPage : FrameLayout { CacWeekHistoryPage bodyView; Function device; /// <summary> /// 数据显示类型 /// temp 温度 /// humidity 湿度 /// </summary> string showType; public CacWeekHistoryPage(Function device,string type) { bodyView = this; this.device = device; showType = type; BackgroundColor = CSS_Color.BackgroundColor; } public void InitView() { new TopViewDiv(bodyView, "数据").LoadTopView(); InitContentView(); } private void InitContentView() { FrameLayout contentView = new FrameLayout() { Y = Application.GetRealHeight(80), Gravity = Gravity.CenterHorizontal, Width = Application.GetRealWidth(343), Height = Application.GetRealHeight(482), BackgroundColor = CSS_Color.MainBackgroundColor, Radius = (uint)Application.GetRealWidth(5) }; bodyView.AddChidren(contentView); Button btnTitle = new Button() { Height = Application.GetRealHeight(60), TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.TextFontSize, TextAlignment = TextAlignment.Center, Text = "最近7天每天平均室内温度统计图" }; contentView.AddChidren(btnTitle); FrameLayout dataView = new FrameLayout() { Y = Application.GetRealHeight(69), Gravity = Gravity.CenterHorizontal, Width = Application.GetRealWidth(293), Height = Application.GetRealHeight(336), }; contentView.AddChidren(dataView); Button btnUnit = new Button() { Height = Application.GetRealHeight(15), TextAlignment = TextAlignment.CenterLeft, TextColor = 0xFF43425D, TextSize = 8, Text = "单位:℃" }; dataView.AddChidren(btnUnit); Dictionary<string, int> dataDic = new Dictionary<string, int>(); #if DEBUG dataDic.Add("0201", 20); dataDic.Add("0202", -20); dataDic.Add("0203", 10); dataDic.Add("0204", 40); dataDic.Add("0205", 20); dataDic.Add("0206", 20); dataDic.Add("0207", 20); //dataDic.Add("0201", -20); //dataDic.Add("0202", -20); //dataDic.Add("0203", -20); //dataDic.Add("0204", -40); //dataDic.Add("0205", -20); //dataDic.Add("0206", -20); //dataDic.Add("0207", -20); #endif DataItemView dataShowView = new DataItemView("0"); dataShowView.Height = Application.GetRealHeight(157 * 2 + 1); dataShowView.Y = Application.GetRealHeight(21); List<string> items = new List<string>() { "50","40","30","20","10","0","-10","-20","-30","-40","-50" }; int index = 0; foreach(var item in items) { DataItemView dataItemView; if(item == "0") { dataItemView = dataShowView; } else { dataItemView = new DataItemView(item); dataItemView.Y = index * Application.GetRealHeight(30) + Application.GetRealHeight(15); } dataItemView.InitView(); dataView.AddChidren(dataItemView); index++; } RefrshDataView(dataDic, dataShowView); { var dateHorView = new HorizontalScrolViewLayout() { X = Application.GetRealWidth(51), Y = dataView.Bottom + Application.GetRealHeight(11), Width = Application.GetRealWidth(267), Height = Application.GetRealHeight(26), }; contentView.AddChidren(dateHorView); foreach(var dic in dataDic) { FrameLayout dateView = new FrameLayout() { Width = Application.GetRealWidth(39), Height = Application.GetRealHeight(26), }; dateHorView.AddChidren(dateView); Button btnLineh = new Button() { Width = 1, Height = Application.GetRealHeight(4), Gravity = Gravity.CenterHorizontal, BackgroundColor = 0xFFDBDBDB }; dateView.AddChidren(btnLineh); Button btnDate = new Button() { Y = Application.GetRealHeight(12), Height = Application.GetRealHeight(14), TextColor = 0xFF43425D, TextSize = 10, Text = dic.Key, }; dateView.AddChidren(btnDate); } } Button btnTip = new Button() { Y = contentView.Bottom + Application.GetRealHeight(28), Height = Application.GetRealHeight(20), TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, TextAlignment = TextAlignment.Center, Text = "*可通过点击柱形图查看当天24小时温度统计" }; bodyView.AddChidren(btnTip); new System.Threading.Thread(() => { var revertObj = new HttpServerRequest().GetSensorHistory("week", device.deviceId, "room_temp"); }) { IsBackground = true }.Start(); } void RefrshDataView(Dictionary<string,int> dataDic, DataItemView dataShowView) { int valueIndex = 0; foreach (var data in dataDic) { ColumnarView cv = new ColumnarView(data.Value); cv.X = Application.GetRealWidth(valueIndex * 38 + 25); cv.InitView(); dataShowView.AddChidren(cv); cv.Clicker(); valueIndex++; } } } class DataItemView : FrameLayout { string value; public DataItemView(string value) { this.value = value; Width = Application.GetRealWidth(293); Height = Application.GetRealHeight(30); } public void InitView() { Button btnValue = new Button() { Gravity = Gravity.CenterVertical, Width = Application.GetRealWidth(18), Height = Application.GetRealHeight(30), TextAlignment = TextAlignment.CenterRight, TextColor = 0xFF43425D, TextSize = 8, Text = value }; AddChidren(btnValue); Button btnLine = new Button() { Gravity = Gravity.CenterVertical, X = Application.GetRealWidth(26), Width = Application.GetRealWidth(267), Height = 1, BackgroundColor = CSS_Color.DividingLineColor, }; AddChidren(btnLine); } } class ColumnarView : VerticalScrolViewLayout { int value; /// <summary> /// 方向:向上、向下 /// </summary> bool isUpward; Button btnValue; Button btnValueText; public ColumnarView(int value) { this.isUpward = value >= 0; if (isUpward) { this.value = value; } else { this.value = value * -1; } Width = Application.GetRealWidth(39); Height = Application.GetRealHeight(value * 3 + 30); } public void InitView() { int yValue = 0; btnValue = new Button() { Gravity = Gravity.CenterHorizontal, Height = Application.GetRealHeight(value * 3), Width = Application.GetRealWidth(16), BackgroundColor = 0xFFFF9D54, }; btnValueText = new Button() { Height = Application.GetRealHeight(30), TextSize = CSS_FontSize.PromptFontSize_FirstLevel, TextColor = 0xFF43425D, Text = value + "℃", }; AddChidren(btnValueText); if (isUpward) { //btnValue.Height += Application.GetRealHeight(1); yValue = 158 - 30 - value * 3; yValue = yValue > 0 ? yValue : 158; Y = Application.GetRealHeight(yValue); AddChidren(btnValueText); AddChidren(btnValue); } else { btnValue.Height += Application.GetRealHeight(2); Y = Application.GetRealHeight(157); AddChidren(btnValue); AddChidren(btnValueText); } } public void Clicker() { btnValue.MouseUpEventHandler = (sender, e) => { var page = new CacDayHistoryPage(); MainPage.BasePageView.AddChidren(page); page.InitView(); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; }; btnValueText.MouseUpEventHandler = (sender, e) => { var page = new CacDayHistoryPage(); MainPage.BasePageView.AddChidren(page); page.InitView(); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; }; } } } HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EchartsOption_BrokenLine.cs
@@ -4,7 +4,7 @@ namespace HDL_ON.UI { /// <summary> /// 曲线图 /// 曲线图数据 /// </summary> public class EchartsOption_BrokenLine { HDL_ON/UI/UI2/FuntionControlView/FunctionBaseInfoSetPage.cs
@@ -365,6 +365,57 @@ #endregion } if (function.spk == SPK.HvacCac) { #region 毛细空调 var energyView1 = new FrameLayout() { Height = Application.GetRealHeight(55), BackgroundColor = CSS_Color.MainBackgroundColor, }; contentView.AddChidren(energyView1); var btnEnergyText1 = new Button() { X = Application.GetRealWidth(16), Width = Application.GetRealWidth(160), TextAlignment = TextAlignment.CenterLeft, TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.SubheadingFontSize, TextID = StringId.DewPointTemp, }; energyView1.AddChidren(btnEnergyText1); double realTimePower = 0; double.TryParse(function.GetAttrState("dew_point_temp"), out realTimePower); var energyValue1 = new Button() { Width = Application.GetRealWidth(355), TextAlignment = TextAlignment.CenterRight, TextSize = CSS_FontSize.TextFontSize, TextColor = CSS_Color.PromptingColor1, Text = realTimePower + "°C", }; energyView1.AddChidren(energyValue1); energyView1.AddChidren( new Button() { Gravity = Gravity.CenterHorizontal, Y = Application.GetRealHeight(54), BackgroundColor = CSS_Color.DividingLineColor, Width = Application.GetRealWidth(343), Height = Application.GetRealHeight(1) }); //----------------- #endregion } LoadEventList(); } SiriIntents/Server/HttpUtil.cs
@@ -16,8 +16,8 @@ /// 固定域名,正式环境 /// 公共域名就近解析 /// </summary> //public const string GlobalRequestHttpsHost = "https://nearest.hdlcontrol.com"; public const string GlobalRequestHttpsHost = "https://test-gz.hdlcontrol.com";//mmmm public const string GlobalRequestHttpsHost = "https://nearest.hdlcontrol.com"; //public const string GlobalRequestHttpsHost = "https://test-gz.hdlcontrol.com";//mmmm /// <summary> /// RegionMark /// </summary>