HDL-ON_Android/Properties/AndroidManifest.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
HDL-ON_Android/Resources/Resource.designer.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
HDL_ON/Common/ApiUtlis.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
HDL_ON/Common/HDLCommon.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
HDL_ON/UI/UI2/FuntionControlView/FunctionBaseInfoSetPage.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
HDL-ON_Android/Properties/AndroidManifest.xml
@@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="2.4.8" package="com.hdl.onpro" xmlns:tools="http://schemas.android.com/tools" android:versionCode="202407121"> <manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="2.7.0" package="com.hdl.onpro" xmlns:tools="http://schemas.android.com/tools" android:versionCode="202409271"> <uses-sdk android:minSdkVersion="26" android:targetSdkVersion="33" /> <uses-permission android:name="android.permission.USE_CREDENTIALS" /> <uses-permission android:name="android.permission.FLASHLIGHT" /> HDL-ON_Android/Resources/Resource.designer.cs
Diff too large HDL_ON/Common/ApiUtlis.cs
@@ -412,69 +412,8 @@ { UI.UI2.PersonalCenter.PirDevice.PirSend.LcSubAccessToken = video.subAccountToken; } else if (video.interphoneType == InterphoneType.HDL.ToString()) { isInterphoneType_HDL = true; DB_ResidenceData.Instance.SupportFacePass = true; DB_ResidenceData.Instance.SaveResidenceData(); DB_ResidenceData.Instance.SupportFVDevice = true; } else if (video.interphoneType == InterphoneType.FREEVIEW.ToString()) { #if __IOS__ try { FunctionList.List.videoIntercom.Remove(video); --i; }catch(Exception ex) { MainPage.Log("Error", $"ios 全视通异常 : {ex.StackTrace}"); } #else //为全视通可视对讲 DB_ResidenceData.Instance.SupportFacePass = true; Entity.DB_ResidenceData.Instance.SupportVisitorManage = true; Entity.DB_ResidenceData.Instance.SupportFVDevice = true; isInterphoneType_FREEVIEW = true; #endif } } } //======================获取Sip账号并且初始化SDK可视对讲设备列表==================== //如果检测线程没启动,才继续下面操作 因为App有可能刚启动马上收到推送了,然后才执行到这里 if (HDLLinphone.Current.CheckIncomingCallThreadIsNull()) { //当前住宅是HDL可视对讲类型的设备 if (isInterphoneType_HDL) { //HDLLinphone可视对讲,获取Sip账号并初始化SDK HDLCallVideoInfo callVideoInfo = new HDLCallVideoInfo(); callVideoInfo.HomeId = DB_ResidenceData.Instance.CurrentRegion.id; callVideoInfo.InterphoneType = InterphoneType.HDL.ToString(); HDLLinphone.Current.GetHDLSipInfoAndInitSDK(callVideoInfo); } else if (isInterphoneType_FREEVIEW) { //HDLLinphone可视对讲,获取Sip账号并初始化SDK HDLCallVideoInfo callVideoInfo = new HDLCallVideoInfo(); callVideoInfo.HomeId = DB_ResidenceData.Instance.CurrentRegion.id; callVideoInfo.InterphoneType = InterphoneType.FREEVIEW.ToString(); HDLLinphone.Current.GetHDLSipInfoAndInitSDK(callVideoInfo); } else { Utlis.WriteLine("当前住宅不支持HDL可视对讲,退出登录所有账号"); //当前住宅不支持HDL可视对讲 HDLLinphone.Current.LogoutAllAccount(); } } //======================登录全视通==================== if (isInterphoneType_FREEVIEW) { HDL_ON/Common/HDLCommon.cs
@@ -267,200 +267,13 @@ { //报警推送弹窗提示 ShowAlarmPushMessage(jpushMessageInfo, true); //萤石门锁推送 UI.UI2.FuntionControlView.VideoDoorLock.CommonMethod.Current.DoorLockPush(jpushMessageInfo); } else if (jpushMessageInfo.messageType == (PushMessageType.FLCall.ToString())) { if (string.IsNullOrEmpty(jpushMessageInfo.expantContent)) return; ESVideoInfo eSVideoInfo = GetESOnVideoJson(jpushMessageInfo.expantContent); if (eSVideoInfo == null) return; if (string.IsNullOrEmpty(eSVideoInfo.uuid)) return; if (eSVideoInfo.uuid.Contains(",")) { var uuid = eSVideoInfo.uuid.Split(','); eSVideoInfo.ESVideoUUID = uuid[0]; } else { eSVideoInfo.ESVideoUUID = eSVideoInfo.uuid; } ESOnVideo.Current.ShowESvideoVideoIntercom(eSVideoInfo, InterphoneType.FLVI.ToString()); } else if (jpushMessageInfo.messageType == PushMessageType.HDL_INTERPHONE.ToString()) { if (string.IsNullOrEmpty(jpushMessageInfo.expantContent)) return; //字段兼容问题,只能直接取值了 var json = Newtonsoft.Json.Linq.JObject.Parse(jpushMessageInfo.expantContent); //1.视对讲厂家类型 string interphoneTypeEnum = json["interphoneTypeEnum"].ToString(); if (string.IsNullOrEmpty(interphoneTypeEnum)) return; ESVideoInfo eSVideoInfo = new ESVideoInfo();// GetESOnVideoJson(jpushMessageInfo.expantContent); //2.根据可视对讲厂家类型,处理不同的数据 if (interphoneTypeEnum == InterphoneType.IMOUVISIAL.ToString()) { //大华乐橙 eSVideoInfo.callId = json["callId"].ToString(); //eSVideoInfo.Lc_AccessToken = UI.UI2.PersonalCenter.PirDevice.PirSend.LcSubAccessToken;//json["subAccountToken"].ToString();// eSVideoInfo.Lc_AccessToken = json["subAccountToken"].ToString();//2021-05-13 目前云端还没拿到Lc_AccessToken,目前没办法正常使用 eSVideoInfo.Lc_DeviceId = json["deviceId"].ToString(); eSVideoInfo.Lc_Location = OnAppConfig.Instance.RequestHttpsHost.Contains("China") ? 0 : 1; eSVideoInfo.Lc_PlayToken = json["token"].ToString(); //eSVideoInfo.Lc_Psk = json["cname"].ToString(); eSVideoInfo.Lc_Psk = json["psk"].ToString();//2021-10-15 PSK字段不能取cname } else if (interphoneTypeEnum == InterphoneType.EZVIZ.ToString()) { //萤石猫眼 eSVideoInfo.Lc_AccessToken = json["subToken"].ToString();//"子账号token eSVideoInfo.DeviceSerial = json["devSerial"].ToString();//设备序列号 eSVideoInfo.Lc_DeviceId = json["deviceId"].ToString(); eSVideoInfo.spk = json["spk"].ToString(); eSVideoInfo.HomeId = jpushMessageInfo.HomeId; if (json.ContainsKey("msgId") && !string.IsNullOrEmpty(json["msgId"].ToString())) { eSVideoInfo.msgId = json["msgId"].ToString(); } if (json.ContainsKey("currentTime") && !string.IsNullOrEmpty(json["currentTime"].ToString())) { eSVideoInfo.currentTime = json["currentTime"].ToString(); } } else if (interphoneTypeEnum == InterphoneType.HDL.ToString()) { try { var pushTime = json["pushTime"]; if (pushTime == null) { return; } if (!string.IsNullOrEmpty(pushTime.ToString())) { var pushDateTime = Utlis.UnixToDateTimeMS(Convert.ToInt64(pushTime)); if (pushDateTime.AddSeconds(30) < DateTime.Now) { return; } } } catch (Exception ex) { MainPage.Log("Error", $"自研可视对讲通知异常:{ex.StackTrace}"); } #if __ANDROID__ Com.Hdl.Hdllinphonesdk.HDLLinphoneKit.Instance.MissedCallsTime = 30; Com.Hdl.Hdllinphonesdk.HDLLinphoneKit.Instance.SetMediaPlayerLooping(true); Com.Hdl.Hdllinphonesdk.HDLLinphoneKit.Instance.PlayRingtone(); new Thread(() => { try { DateTime dateTime = DateTime.Now; while (true) { Thread.Sleep(1000); if (!Com.Hdl.Hdllinphonesdk.HDLLinphoneKit.Instance.MediaPlayerPlayingStatus || dateTime.AddSeconds(Com.Hdl.Hdllinphonesdk.HDLLinphoneKit.Instance.MissedCallsTime) <= DateTime.Now) { break; } } Com.Hdl.Hdllinphonesdk.HDLLinphoneKit.Instance.SetMediaPlayerLooping(false); } catch (Exception ex) { MainPage.Log("error", "自研可视对讲铃声播放异常:" + ex.Message); } }) { IsBackground = true }.Start(); #elif __IOS__ SoundPlayer.Ins.PlaySound(); new Thread(() => { int count = 0; while (true) { if (SoundPlayer.Ins.player == null) { break; } if (!SoundPlayer.Ins.player.Playing) { break; } System.Threading.Thread.Sleep(1000); count++; MainPage.Log("linphone 呼叫计时:" + count); if (count > 29) { SoundPlayer.Ins.StopSound(); Application.RunOnMainThread(() => { try { HDLLinPhoneSDK.Instance().HideIntercomeVC(); }catch(Exception ex) { MainPage.Log("error", "ios linphone 呼叫超时关闭界面异常:" + ex.Message); } }); break; } } }) { IsBackground = true }.Start(); #endif MainPage.Log("接收到推送: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(); eSVideoInfo.spk = json["spk"].ToString(); //打开呼叫页面 HDLLinphone.Current.ShowESVideoIntercom(eSVideoInfo, InterphoneType.HDL.ToString(), jpushMessageInfo.isNotificationGoing); return; } else if (interphoneTypeEnum == InterphoneType.FREEVIEW.ToString()) { //全视通 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(); eSVideoInfo.spk = json["spk"].ToString(); //ShowAlert("狄耐克门口机呼叫"); //打开呼叫页面 HDLLinphone.Current.ShowESVideoIntercom(eSVideoInfo, InterphoneType.FREEVIEW.ToString()); return; } //3.打开呼叫页面 if (eSVideoInfo == null) return; ESOnVideo.Current.ShowESvideoVideoIntercom(eSVideoInfo, interphoneTypeEnum); } else if (jpushMessageInfo.messageType == (PushMessageType.Prompt.ToString())) { ShowAlarmPushMessage(jpushMessageInfo, false); //萤石门锁推送 HDL_ON.UI.UI2.FuntionControlView.VideoDoorLock.CommonMethod.Current.DoorLockPush(jpushMessageInfo); } else if (jpushMessageInfo.messageType == (PushMessageType.DOOR_BELL.ToString())) { //萤石门锁推送 HDL_ON.UI.UI2.FuntionControlView.VideoDoorLock.CommonMethod.Current.DoorLockPush(jpushMessageInfo); } @@ -561,8 +374,6 @@ OnAppConfig.Instance.SaveConfig(); DB_ResidenceData.Instance.EixtAccount(); MainPage.Log("退出账号清空数据"); //4.注销HDLSIP账号登录 2021-08-20 HDLLinphone.Current.LogoutAllAccount(); MainPage.Log("注销HDLSIP账号登录"); #if __IOS__ @@ -760,129 +571,5 @@ } #endregion #region 跳转打开萤石云方法 /// <summary> /// 获取子账号token并跳转设备列表页面 /// </summary> /// <param name="bodyView"></param> public void Go2EZvizMonitor(FrameLayout bodyView) { var waitPage = new Loading(); bodyView.AddChidren(waitPage); waitPage.Start(Language.StringByID(StringId.PleaseWait)); new Thread(() => { try { var list = UI.UI2.FuntionControlView.VideoDoorLock.CommonMethod.Current.GetVideoDoorLockLockModelsList(); //先获取萤石云子账号token var result = new HttpServerRequest().EZGetChildToken(); if (result.Code == StateCode.SUCCESS) { var ezChildAccessToken = result.Data.ToString(); //var ezChildAccessToken = Newtonsoft.Json.JsonConvert.DeserializeObject<EZChildAccessToken>(result.Data.ToString()); Application.RunOnMainThread(() => { if (!string.IsNullOrEmpty(ezChildAccessToken)) { #if __IOS__ //iOS //初始化萤石云SDK,中文国内key、英文海外key 开发者账号使用应用包名申请的APPKEY,不同包名应用需配置不同的APPKEY EZSDK.IOS.EZSDK.SharedInstance().InitLibWithAppKey("1aa98a90489b4838b966b57018b4b04b", "1aa98a90489b4838b966b57018b4b04b"); //1.设置所需河东的AccessToken和RefreshToken、域名地址 EZSDK.IOS.EZSDK.SharedInstance().SetHDlAccessToken(UserInfo.Current.LoginTokenString, UserInfo.Current.RefreshToken); EZSDK.IOS.EZSDK.SharedInstance().SetRequestHttpsHostAndPlatform(OnAppConfig.Instance.RequestHttpsHost, 1, DB_ResidenceData.Instance.CurrentRegion.id); //2.设置萤石子账号的AccessToken到SDK EZSDK.IOS.EZSDK.SharedInstance().SetEZAccessToken(ezChildAccessToken); //////3.打开摄像头设备列表页面 //EZSDK.IOS.EZSDK.SharedInstance().Go2EZvizMonitor(); //EZSDK.IOS.EZDeviceInfo info = new EZSDK.IOS.EZDeviceInfo(); //info.de //EZSDK.IOS.EZSDK.Play(info); //2023年03月29日13:08:35 修改 Foundation.NSObject[] nSObject = new Foundation.NSObject[list.Count]; for (int i = 0; i < list.Count; i++) { string strValue = list[i]; nSObject[i] = new Foundation.NSString(strValue); } EZSDK.IOS.EZSDK.SharedInstance().ToEZDeviceListViewWithFilterTypes(nSObject); #else //Android //1.设置所需河东的token、域名地址 //2.设置萤石子账号的token //3.打开摄像头设备列表页面 ((BaseActivity)Shared.Application.Activity).SetCamera(b => { if (b) { ((BaseActivity)Shared.Application.Activity).SetPermission(result => { //2023年03月29日13:08:35 修改 Com.Videogo.Hdl.HDLEzvizSdk.Instance.Init(Application.Activity.Application, ezChildAccessToken, UserInfo.Current.LoginTokenString, UserInfo.Current.RefreshToken, OnAppConfig.Instance.RequestHttpsHost, "1aa98a90489b4838b966b57018b4b04b", 1, DB_ResidenceData.Instance.CurrentRegion.id, HttpUtil.APP_KEY, HttpUtil.SECRET_KEY); Com.Videogo.Hdl.HDLEzvizSdk.Instance.JumpToCameraListActivity(Shared.Application.Activity, list); //if (result) //{ // Android.Content.Intent intent = new Android.Content.Intent(); // var bundle = new Android.OS.Bundle(); // //传递name参数为tinyphp // bundle.PutString("EzChildAccessToken", ezChildAccessToken); // bundle.PutString("HdlToken", UserInfo.Current.LoginTokenString); // bundle.PutString("Url", OnAppConfig.Instance.RequestHttpsHost); // bundle.PutString("EzvizAppKey", "1aa98a90489b4838b966b57018b4b04b"); // bundle.PutInt("Platform", 1); // bundle.PutString("HomeId", DB_ResidenceData.Instance.CurrentRegion.id); // intent.PutExtras(bundle); // intent.SetComponent(new Android.Content.ComponentName(Shared.Application.Activity, "com.videogo.MainActivity")); // Shared.Application.Activity.StartActivity(intent); //} }, "android.permission.RECORD_AUDIO"); } }); #endif } }); } else { if (result.Code != "-1") IMessageCommon.Current.ShowErrorInfoAlter(result.Code); } } catch (Exception ex) { } finally { Application.RunOnMainThread(() => { if (waitPage != null) { waitPage.RemoveFromParent(); waitPage = null; } }); } }) { IsBackground = true }.Start(); } #endregion } } HDL_ON/UI/UI2/FuntionControlView/FunctionBaseInfoSetPage.cs
@@ -4,7 +4,6 @@ using HDL_ON.DriverLayer; using HDL_ON.Entity; using HDL_ON.UI.CSS; using HDL_ON.UI.UI2.FuntionControlView.VideoDoorLock; using Newtonsoft.Json.Linq; using Shared; @@ -349,390 +348,6 @@ }); #endregion } #region 共享 //var sharedView = new FrameLayout() //{ // Height = Application.GetRealHeight(55), // BackgroundColor = CSS_Color.MainBackgroundColor, //}; //contentView.AddChidren(sharedView); //var btnSharedText = new Button() //{ // X = Application.GetRealWidth(16), // Width = Application.GetRealWidth(160), // TextAlignment = TextAlignment.CenterLeft, // TextColor = CSS_Color.FirstLevelTitleColor, // TextSize = CSS_FontSize.SubheadingFontSize, // TextID = StringId.Shared, //}; //sharedView.AddChidren(btnSharedText); //var btnSharedRight = new Button() //{ // X = Application.GetRealWidth(339), // Gravity = Gravity.CenterVertical, // Width = Application.GetMinRealAverage(16), // Height = Application.GetMinRealAverage(16), // UnSelectedImagePath = "Public/RightIcon.png", //}; //sharedView.AddChidren(btnSharedRight); //sharedView.AddChidren( // new Button() // { // Gravity = Gravity.CenterHorizontal, // Y = Application.GetRealHeight(54), // BackgroundColor = CSS_Color.DividingLineColor, // Width = Application.GetRealWidth(343), // Height = Application.GetRealHeight(1) // }); #endregion #region 删除设备行 序列号 型号 if (this.function.spk == SPK.VideoDoorLock) { contentView.AddChidren(new Button() { Height = Application.GetRealWidth(8), }); #region 开锁设置 var unlockSettingView = new FrameLayout() { Height = Application.GetRealHeight(55), BackgroundColor = CSS_Color.MainBackgroundColor, }; contentView.AddChidren(unlockSettingView); //unlockSettingView.AddChidren(new Button //{ // Gravity = Gravity.CenterHorizontal, // BackgroundColor = CSS_Color.DividingLineColor, // Width = Application.GetRealWidth(343), // Height = Application.GetRealHeight(1) //}); var unlockRightBtn = new Button() { X = Application.GetRealWidth(339), Gravity = Gravity.CenterVertical, Width = Application.GetMinRealAverage(16), Height = Application.GetMinRealAverage(16), UnSelectedImagePath = "Public/RightIcon.png", }; unlockSettingView.AddChidren(unlockRightBtn); var btnUnlockText = new Button() { X = Application.GetRealWidth(16), TextAlignment = TextAlignment.CenterLeft, TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.SubheadingFontSize, TextID = StringId.UnlockSetting, }; unlockSettingView.AddChidren(btnUnlockText); EventHandler<MouseEventArgs> unlockSettingEvent = (sender, e) => { var page = new UnlockSettingPage(function); MainPage.BasePageView.AddChidren(page); page.LoadPage(); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; }; btnUnlockText.MouseUpEventHandler = unlockSettingEvent; #endregion #region 音频设置 var audioSetupView = new FrameLayout() { Height = Application.GetRealHeight(55), BackgroundColor = CSS_Color.MainBackgroundColor, }; contentView.AddChidren(audioSetupView); audioSetupView.AddChidren(new Button { Gravity = Gravity.CenterHorizontal, BackgroundColor = CSS_Color.DividingLineColor, Width = Application.GetRealWidth(343), Height = Application.GetRealHeight(1) }); var btnAudioSetupRight = new Button() { X = Application.GetRealWidth(339), Gravity = Gravity.CenterVertical, Width = Application.GetMinRealAverage(16), Height = Application.GetMinRealAverage(16), UnSelectedImagePath = "Public/RightIcon.png", }; audioSetupView.AddChidren(btnAudioSetupRight); var btnAudioSetupText = new Button() { X = Application.GetRealWidth(16), TextAlignment = TextAlignment.CenterLeft, TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.SubheadingFontSize, TextID = StringId.AudioSetup, }; audioSetupView.AddChidren(btnAudioSetupText); btnAudioSetupText.MouseUpEventHandler = (sender, e) => { var page = new VideoDoorlockAudioSetupPage(function); MainPage.BasePageView.AddChidren(page); page.LoadPage(); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; }; #endregion #region 电池管理 var batteryManagementView = new FrameLayout() { Height = Application.GetRealHeight(55), BackgroundColor = CSS_Color.MainBackgroundColor, }; contentView.AddChidren(batteryManagementView); batteryManagementView.AddChidren(new Button { Gravity = Gravity.CenterHorizontal, BackgroundColor = CSS_Color.DividingLineColor, Width = Application.GetRealWidth(343), Height = Application.GetRealHeight(1) }); var btnBatteryManagementRight = new Button() { X = Application.GetRealWidth(339), Gravity = Gravity.CenterVertical, Width = Application.GetMinRealAverage(16), Height = Application.GetMinRealAverage(16), UnSelectedImagePath = "Public/RightIcon.png", }; batteryManagementView.AddChidren(btnBatteryManagementRight); var btnBatteryManagementText = new Button() { X = Application.GetRealWidth(16), TextAlignment = TextAlignment.CenterLeft, TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.SubheadingFontSize, TextID = StringId.BatteryManagement, }; batteryManagementView.AddChidren(btnBatteryManagementText); btnBatteryManagementText.MouseUpEventHandler = (sender, e) => { var page = new VideoDoorlockBatteryManagementPage(); MainPage.BasePageView.AddChidren(page); page.LoadPage(); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; }; #endregion #region 序列号 var serialView = new FrameLayout() { Height = Application.GetRealHeight(55), BackgroundColor = CSS_Color.MainBackgroundColor, }; contentView.AddChidren(serialView); var serialLineBtn = new Button() { Gravity = Gravity.CenterHorizontal, BackgroundColor = CSS_Color.DividingLineColor, Width = Application.GetRealWidth(343), Height = Application.GetRealHeight(1) }; serialView.AddChidren(serialLineBtn); var serialTextBtn = new Button() { X = Application.GetRealWidth(16), Width = Application.GetRealWidth(160), TextAlignment = TextAlignment.CenterLeft, TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.SubheadingFontSize, TextID = StringId.xuliehao, }; serialView.AddChidren(serialTextBtn); var serialValuesBtn = new Button() { X = Application.GetRealWidth(106), Width = Application.GetRealWidth(237), TextAlignment = TextAlignment.CenterRight, TextColor = CSS_Color.PromptingColor1, TextSize = CSS_FontSize.TextFontSize, Text = this.function.sid, }; serialView.AddChidren(serialValuesBtn); #endregion #region 型号 var modelView = new FrameLayout() { Height = Application.GetRealHeight(55), BackgroundColor = CSS_Color.MainBackgroundColor, }; contentView.AddChidren(modelView); var modelLineBtn = new Button() { Gravity = Gravity.CenterHorizontal, BackgroundColor = CSS_Color.DividingLineColor, Width = Application.GetRealWidth(343), Height = Application.GetRealHeight(1) }; modelView.AddChidren(modelLineBtn); var modelTextBtn = new Button() { X = Application.GetRealWidth(16), Width = Application.GetRealWidth(160), TextAlignment = TextAlignment.CenterLeft, TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.SubheadingFontSize, TextID = StringId.xinghao, }; modelView.AddChidren(modelTextBtn); var modelValuesBtn = new Button() { X = Application.GetRealWidth(106), Width = Application.GetRealWidth(237), TextAlignment = TextAlignment.CenterRight, TextColor = CSS_Color.PromptingColor1, TextSize = CSS_FontSize.TextFontSize, Text = this.function.omodel, }; modelView.AddChidren(modelValuesBtn); #endregion #region 删除设备行 contentView.AddChidren(new Button() { Height = Application.GetRealHeight(48), }); var delTextBtn = new Button() { Gravity = Gravity.CenterHorizontal, Width = Application.GetRealWidth(220), Height = Application.GetRealWidth(44), TextAlignment = TextAlignment.Center, TextColor = CSS_Color.WarningColor, TextSize = CSS_FontSize.SubheadingFontSize, TextID = StringId.DeleteDevice, Radius = (uint)Application.GetRealWidth(22), BackgroundColor = CSS_Color.MainBackgroundColor, }; contentView.AddChidren(delTextBtn); EventHandler<MouseEventArgs> ClickEvent = (sener, e) => { new HDL_ON.UI.Music.View.TipView().TipBox(-1, StringId.AreYouSureToDeleteThisDevice, () => { UI2.FuntionControlView.VideoDoorLock.VideDoorLockSend.Current.DelDevice(this.function, (isBool) => { Application.RunOnMainThread(() => { if (!isBool) { new Tip() { CloseTime = 1, Text = Language.StringByID(StringId.delFail), Direction = AMPopTipDirection.None, }.Show(bodyView); return; } //删除本地文件 UI2.FuntionControlView.VideoDoorLock.CommonMethod.Current.DeleteFunction(this.function); this.RemoveFromParent(); this.actionDel?.Invoke(); }); }); }); }; delTextBtn.MouseUpEventHandler = ClickEvent; #endregion } #endregion #region 删除海信电视设备 if (this.function.spk == SPK.ElectricalTvHisense) { contentView.AddChidren(new Button() { Height = Application.GetRealWidth(8), }); #region 删除设备行 contentView.AddChidren(new Button() { Height = Application.GetRealHeight(48), }); var delTextBtn = new Button() { Gravity = Gravity.CenterHorizontal, Width = Application.GetRealWidth(220), Height = Application.GetRealWidth(44), TextAlignment = TextAlignment.Center, TextColor = CSS_Color.WarningColor, TextSize = CSS_FontSize.SubheadingFontSize, TextID = StringId.jiebangshebei, Radius = (uint)Application.GetRealWidth(22), BackgroundColor = CSS_Color.MainBackgroundColor, }; //如果是成员隐藏收藏功能 if (!DB_ResidenceData.Instance.CurrentRegion.isOtherShare) { contentView.AddChidren(delTextBtn); } EventHandler<MouseEventArgs> ClickEvent = (sener, e) => { new HDL_ON.UI.Music.View.TipView().TipBox(-1, StringId.AreYouSureToDeleteThisDevice, () => { HDL_ON.UI.UI2.FuntionControlView.HisenseTV.Send.Current.DelDevice(this.function.deviceId, (isBool) => { Application.RunOnMainThread(() => { if (!isBool) { new Tip() { CloseTime = 1, Text = Language.StringByID(StringId.delFail), Direction = AMPopTipDirection.None, }.Show(bodyView); return; } //删除本地文件 UI2.FuntionControlView.VideoDoorLock.CommonMethod.Current.DeleteFunction(this.function); this.RemoveFromParent(); this.actionDel?.Invoke(); }); }); }); }; delTextBtn.MouseUpEventHandler = ClickEvent; #endregion } #endregion if (function.spk == SPK.ElectricEnergy) {