From cbc156bc38d8b8eae7aef60cb186ab2b52fa701f Mon Sep 17 00:00:00 2001 From: wxr <wxr@hdlchina.com.cn> Date: 星期二, 16 七月 2024 13:59:56 +0800 Subject: [PATCH] 增加全部挂断 --- HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/VideoDoorLockPage.cs | 331 ++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 240 insertions(+), 91 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/VideoDoorLockPage.cs b/HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/VideoDoorLockPage.cs index 6e73d35..d86a322 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/VideoDoorLockPage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/VideoDoorLockPage.cs @@ -6,6 +6,7 @@ using HDL_ON.Entity; using HDL_ON.DriverLayer; using HDL_ON.UI.Music; +using HDL_ON.UI.UI2.FuntionControlView.VideoDoorLock; namespace HDL_ON.UI { @@ -40,6 +41,10 @@ /// </summary> private Button btnCurrDeviceRoom; /// <summary> + /// 鐢甸噺鐖舵帶浠� + /// </summary> + private FrameLayout cellFrame; + /// <summary> /// 鐢甸噺 /// </summary> private Button btnCell; @@ -55,6 +60,7 @@ /// 闂ㄩ攣鐘舵�� /// </summary> private Button btnDoorLockIcon; + Button btnDoorlockStatus; /// <summary> /// 瀹炴椂瑙嗛 /// </summary> @@ -71,7 +77,7 @@ /// <summary> /// 琛ㄧず鏉ヨ嚜閭d釜鐣岄潰 /// </summary> - private Comerom Comerom; + private CommonMethod.Comerom comerom; /// <summary> /// 鍒犻櫎璁惧鍚庨渶瑕佹洿鏂扮晫闈㈢殑鍥炶皟 /// </summary> @@ -83,14 +89,14 @@ /// 鏋勯�犲嚱鏁� /// </summary> /// <param name="function">璁惧</param> - /// <param name="btnDeviceName">涓婁竴绾х晫闈㈢殑璁惧鍚嶅瓧鎺т欢</param> - /// <param name="btnRoomName">涓婁竴绾х晫闈㈢殑鎴块棿鍚嶅瓧鎺т欢</param> - public VideoDoorLockPage(Function function, Button btnDeviceName, Button btnRoomName, Comerom comerom, Action action) + /// <param name="btnDeviceName">涓婁竴绾х晫闈㈢殑璁惧鍚嶅瓧鎺т欢(娉�:涓嶈兘浼爊ull,娌℃湁鍙互浼爊ew Button())</param> + /// <param name="btnRoomName">涓婁竴绾х晫闈㈢殑鎴块棿鍚嶅瓧鎺т欢(娉�:涓嶈兘浼爊ull,娌℃湁鍙互浼爊ew Button())</param> + public VideoDoorLockPage(Function function, Button btnDeviceName, Button btnRoomName, CommonMethod.Comerom comerom, Action action) { this.device = function; this.btnDeviceName = btnDeviceName; this.btnRoomName = btnRoomName; - this.Comerom = comerom; + this.comerom = comerom; this.action = action; } @@ -103,8 +109,6 @@ this.EventListener(); //璇诲彇鏁版嵁 this.ReadData(); - - } @@ -164,11 +168,7 @@ }; whiteFl.AddChidren(btnCurrDeviceName); - btnCurrDeviceName.Width = btnCurrDeviceName.GetTextWidth(); - if (btnCurrDeviceName.GetTextWidth() > btnCollectIcon.X) - { - btnCurrDeviceName.Width = btnCollectIcon.X; - } + btnCurrDeviceRoom = new Button { TextSize = TextSize.Text12, @@ -181,9 +181,8 @@ TextAlignment = TextAlignment.CenterLeft, }; whiteFl.AddChidren(btnCurrDeviceRoom); - btnCurrDeviceRoom.Width = btnCurrDeviceRoom.GetTextWidth(); - var cellFrame = new FrameLayout + cellFrame = new FrameLayout { X = btnCurrDeviceRoom.Right + Application.GetRealWidth(20), Y = btnCurrDeviceName.Bottom + Application.GetRealHeight(5), @@ -191,8 +190,6 @@ Height = Application.GetRealHeight(16), }; whiteFl.AddChidren(cellFrame); - - cellDiyArcSeekBar = new DiyArcSeekBar { @@ -221,7 +218,12 @@ cellFrame.AddChidren(btnCell); - +#if __IOS__ +//btnCell.Padding = new Padding(0,0,0,0); + btnCell.Width += 5; + cellFrame.Width += 5; +#else +#endif //闂ㄩ攣鐘舵�� @@ -235,35 +237,80 @@ SelectedImagePath = "FunctionIcon/DoorLock/UnLocking.png", }; whiteFl.AddChidren(btnDoorLockIcon); - int heightY = btnDoorLockIcon.Bottom + Application.GetRealHeight(70); + + this.CalculatedPosition();//閲嶆柊璁$畻瀹藉害 + + btnDoorlockStatus = new Button() + { + Width = Application.GetRealWidth(200), + Height = Application.GetRealHeight(62), + Y = btnDoorLockIcon.Bottom, + TextAlignment = TextAlignment.Center, + Gravity = Gravity.CenterHorizontal, + TextID = StringId.DoorlockOpen, + TextColor = CSS_Color.WarningColor, + TextSize = 16, + }; + whiteFl.AddChidren(btnDoorlockStatus); + + int heightY = btnDoorLockIcon.Bottom + Application.GetRealHeight(133); //瀹炴椂瑙嗛 rtvFL = new CustomFrameLayout(CustomFrameLayout.widthFrameLayout, CustomFrameLayout.heightFrameLayout); whiteFl.AddChidren(rtvFL); rtvFL.Y = heightY; - rtvFL.X = Application.GetRealWidth(41); + rtvFL.X = Application.GetRealWidth(26); rtvFL.AddImageView(); rtvFL.AddTextButtonView(); rtvFL.GetImageButton().UnSelectedImagePath = "FunctionIcon/DoorLock/RTV.png"; rtvFL.GetTextButton().TextID = StringId.shishishipin; - //鍘嗗彶璁板綍 - recordFL = new CustomFrameLayout(CustomFrameLayout.widthFrameLayout, CustomFrameLayout.heightFrameLayout); - whiteFl.AddChidren(recordFL); - recordFL.Y = heightY; - recordFL.X = rtvFL.Right + Application.GetRealWidth(CustomFrameLayout.interval); - recordFL.AddImageView(); - recordFL.AddTextButtonView(); - recordFL.GetImageButton().UnSelectedImagePath = "FunctionIcon/DoorLock/HistoryList.png"; - recordFL.GetTextButton().TextID = StringId.lishijilu; + + //涓存椂瀵嗙爜 pswFL = new CustomFrameLayout(CustomFrameLayout.widthFrameLayout, CustomFrameLayout.heightFrameLayout); whiteFl.AddChidren(pswFL); pswFL.Y = heightY; - pswFL.X = recordFL.Right + Application.GetRealWidth(CustomFrameLayout.interval); + pswFL.X = rtvFL.Right + Application.GetRealWidth(CustomFrameLayout.interval); pswFL.AddImageView(); pswFL.AddTextButtonView(); pswFL.GetImageButton().UnSelectedImagePath = "FunctionIcon/DoorLock/OneOpenLock.png"; pswFL.GetTextButton().TextID = StringId.linshimima1; + if (device.omodel.Contains("CS-DL30F-V100")) + { + rtvFL.Visible = rtvFL.Enable = false; + pswFL.X = Application.GetRealWidth(26); + } + //鍘嗗彶璁板綍 + recordFL = new CustomFrameLayout(CustomFrameLayout.widthFrameLayout, CustomFrameLayout.heightFrameLayout); + whiteFl.AddChidren(recordFL); + recordFL.Y = heightY; + recordFL.X = pswFL.Right + Application.GetRealWidth(CustomFrameLayout.interval); + recordFL.AddImageView(); + recordFL.AddTextButtonView(); + recordFL.GetImageButton().UnSelectedImagePath = "FunctionIcon/DoorLock/HistoryList.png"; + recordFL.GetTextButton().TextID = StringId.lishijilu; + + if (!DB_ResidenceData.Instance.CurrentRegion.isOtherShare) + { + //鐢ㄦ埛绠$悊 + CustomFrameLayout userManagerView = new CustomFrameLayout(CustomFrameLayout.widthFrameLayout, CustomFrameLayout.heightFrameLayout); + whiteFl.AddChidren(userManagerView); + userManagerView.Y = heightY; + userManagerView.X = recordFL.Right + Application.GetRealWidth(CustomFrameLayout.interval); + userManagerView.AddImageView(); + userManagerView.AddTextButtonView(); + userManagerView.GetImageButton().UnSelectedImagePath = "FunctionIcon/DoorLock/DoorlockUserManager.png"; + userManagerView.GetTextButton().TextID = StringId.UserManagement; + + userManagerView.SetClickListener((fl, btnImage, btnText) => + { + var page = new VideoDoorlockUserListPage(device); + MainPage.BasePageView.AddChidren(page); + page.LoadPage(); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + + }); + } #endregion @@ -276,45 +323,39 @@ //杩斿洖 this.topView.clickBackBtn.MouseUpEventHandler += (sender, e) => { - RemoveFromParent(); + this.RemoveFromParent(); }; //璁剧疆 this.topView.clickSetBtn.MouseUpEventHandler += (sender, e) => { - //璋冪敤绉�缁曠殑鐣岄潰 - var infoView = new UI.FunctionBaseInfoSetPage(this.device, () => + CommonMethod.Current.MainThread(() => { + //璋冪敤绉�缁曠殑鐣岄潰 + var infoView = new UI.FunctionBaseInfoSetPage(this.device, () => + { + if (this.btnDeviceName == null || this.btnRoomName == null || this.device == null) + { + return; + } + ////鍒锋柊鏄剧ず + this.btnDeviceName.Text = this.device.name; + this.btnRoomName.Text = this.device.GetRoomListName(); + this.btnCurrDeviceName.Text = this.device.name; + this.btnCurrDeviceRoom.Text = this.device.GetRoomListName(); + this.CalculatedPosition();//閲嶆柊璁$畻瀹藉害 + }); + infoView.actionDel += () => + { + //瑙g粦璁惧鍚� + this.RemoveFromParent(); + this.action?.Invoke(); - if (this.btnDeviceName == null || this.btnRoomName == null) - { - return; - } - ////鍒锋柊鏄剧ず - this.btnDeviceName.Text = this.device.name; - this.btnRoomName.Text = this.device.GetRoomListName(); - this.topView.topNameBtn.Text = this.device.name; - this.btnCurrDeviceName.Text = this.device.name; - this.btnCurrDeviceRoom.Text = this.device.GetRoomListName(); - - ////浠庢柊璁$畻瀹藉害 - //this.btnDeviceName.Text = btnDeviceName.Text; - //this.btnDeviceName.Width = this.btnDeviceName.GetTextWidth(); - - //this.btnRoomName.Text = btnRoomName.Text; - //this.btnRoomName.Width = this.btnRoomName.GetTextWidth(); - - ////鍥炶皟浜嬩欢 - //this.SettionFinishEvent?.Invoke(); - }, () => - { - //瑙g粦璁惧鍚� - this.RemoveFromParent(); - this.action?.Invoke(); + }; + MainPage.BasePageView.AddChidren(infoView); + infoView.LoadPage(); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; }); - MainPage.BasePageView.AddChidren(infoView); - infoView.LoadPage(); - MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; }; //鏀惰棌 this.btnCollectIcon.MouseUpEventHandler += (sender, e) => @@ -322,15 +363,76 @@ btnCollectIcon.IsSelected = this.device.collect = !btnCollectIcon.IsSelected; this.device.CollectFunction(); }; + + int delayTimeMaxValue = 0;// + var startTime = DateTime.Now; //瀹炴椂瑙嗛 this.rtvFL.SetClickListener((fl, btnStateImage, btnStateText) => { + bool isDeyayClick = false; + var clickTime = DateTime.Now; + if ((clickTime - startTime).TotalMilliseconds > delayTimeMaxValue) + { + delayTimeMaxValue = 2*1000; + startTime = clickTime; + isDeyayClick = true; + } + if (!isDeyayClick) + { + return; + } + CommonMethod.Current.SkipRTVActivity(this.device.sid, this.device.deviceId, this.device.spk, false); }); + var lastClickTime = DateTime.MinValue; //涓存椂瀵嗙爜 - this.pswFL.SetClickListener((fl, btnStateImage, btnStateText) => { }); + this.pswFL.SetClickListener((fl, btnStateImage, btnStateText) => + { + if (lastClickTime.AddSeconds(3) > DateTime.Now) + { + return; + } + lastClickTime = DateTime.Now; + CommonMethod.Current.SkipPSWActivity(this.device.deviceId); + }); + //鍘嗗彶璁板綍 - this.recordFL.SetClickListener((fl, btnStateImage, btnStateText) => { }); + this.recordFL.SetClickListener((fl, btnStateImage, btnStateText) => + { + if (lastClickTime.AddSeconds(3) > DateTime.Now) + { + return; + } + lastClickTime = DateTime.Now; + + //VideoDoorlockHistoryPage historyPage = new VideoDoorlockHistoryPage(device); + //MainPage.BasePageView.AddChidren(historyPage); + //historyPage.LoadPage(); + //MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + var waitPage = new Loading(); + this.AddChidren(waitPage); + waitPage.Start(""); + new System.Threading.Thread(() => + { + try + { + Application.RunOnMainThread(() => + { + CommonMethod.Current.SkipRecordActivity(this.device.deviceId); + }); + }catch(Exception ex) + { + + } + finally + { + Application.RunOnMainThread(() => { + waitPage.Hide(); + }); + } + }) + { IsBackground = true }.Start(); + }); } @@ -339,21 +441,30 @@ /// </summary> private void ReadData() { - Loading loading = new Loading(); - this.AddChidren(loading); - loading.Start(); - new System.Threading.Thread(() => + CommonMethod.Current.Loading.Start(); + CommonMethod.Current.SunThread(() => { try { - var videoDoorLockInfo = UI2.FuntionControlView.VideoDoorLock.VideDoorLockSend.Current.GetVideoDoorLockState(this.device); - var cellInfo =UI2.FuntionControlView.VideoDoorLock.VideDoorLockSend.Current.GetCellValue(this.device); - Application.RunOnMainThread(() => + var videoDoorLockInfo = VideDoorLockSend.Current.GetVideoDoorLockState(this.device); + var cellInfo = VideDoorLockSend.Current.GetCellValue(this.device); + CommonMethod.Current.MainThread(() => { //this.cellDiyArcSeekBar.Progress = i; //鏇存柊鐢甸噺鍊� this.btnCell.Text = cellInfo.remain + "%"; - this.btnDoorLockIcon.IsSelected = videoDoorLockInfo.doorStatus == "open"; + if(videoDoorLockInfo.doorStatus == "open") + { + this.btnDoorLockIcon.IsSelected = true; + this.btnDoorlockStatus.TextID = StringId.DoorlockOpen; + this.btnDoorlockStatus.TextColor = CSS_Color.WarningColor; + } + else + { + this.btnDoorLockIcon.IsSelected = false; + this.btnDoorlockStatus.TextID = StringId.DoorlockClose; + this.btnDoorlockStatus.TextColor = 0xFF000000; + } }); } catch { } @@ -361,12 +472,63 @@ { Application.RunOnMainThread(() => { - loading.Hide(); + CommonMethod.Current.Loading.Hide(); }); } - }) - { IsBackground = true }.Start() ; + }); } + + + + /// <summary> + /// 閲嶆柊璁$畻瀹藉害(璁惧鍚嶇О,鎴块棿鎺т欢) + /// </summary> + private void CalculatedPosition() + { + this.btnCurrDeviceName.Width = this.btnCurrDeviceName.GetTextWidth(); + this.btnCurrDeviceName.Width += 10; + if (this.btnCurrDeviceName.GetTextWidth() > this.btnCollectIcon.X) + { + //閲嶆柊璁$畻瀹藉害 + this.btnCurrDeviceName.Width = this.btnCollectIcon.X + Application.GetRealWidth(-10); + } + this.btnCurrDeviceRoom.Width = this.btnCurrDeviceRoom.GetTextWidth(); + this.btnCurrDeviceRoom.Width += 10; + if (this.btnCurrDeviceRoom.GetTextWidth() > this.btnCollectIcon.X) + { + //閲嶆柊璁$畻瀹藉害 + this.btnCurrDeviceRoom.Width = this.btnCollectIcon.X + Application.GetRealWidth(-20 - 10); + } + this.cellFrame.X = this.btnCurrDeviceRoom.Right + Application.GetRealWidth(20); + } + + /// <summary> + /// 鏇存柊鐘舵�� + /// </summary> + public void UpdateState(PushMessageType pushMessageType) + { + CommonMethod.Current.MainThread(() => + { + if (pushMessageType == PushMessageType.Alarm) + { + //闂ㄩ攣鐢垫睜鍊� + if (this.btnCell != null) + { + //videoDoorLockPage.btnCell.Text = ""; + } + } + else + { + if (this.btnDoorLockIcon != null && !this.btnDoorLockIcon.IsSelected) + { + this.btnDoorLockIcon.IsSelected = false; + } + } + + }); + + } + } /// <summary> /// 鑷繁寮勪竴涓狥rameLayout @@ -375,9 +537,9 @@ { public const int widthFrameLayout = 48; public const int heightFrameLayout = 53; - public const int yFrameLayout = 378; + public const int yFrameLayout = 442; public const int xFrameLayout = 41; - public const int interval = 51;//琛屼腑鐨勫垪闂撮殧鍊� + public const int interval = 30;//琛屼腑鐨勫垪闂撮殧鍊� public CustomFrameLayout(int width, int height, int x = 0, int y = 0) { @@ -403,9 +565,10 @@ TextID = StringId.dangqianmenweiguan, TextSize = TextSize.Text12, TextColor = MusicColor.TextCancelColor, - TextAlignment=TextAlignment.Center, + TextAlignment = TextAlignment.Center, Gravity = Gravity.CenterHorizontal, - Name = "btnStateText" + Name = "btnStateText", + IsMoreLines = true, }; public void AddImageView() { @@ -485,19 +648,5 @@ return false; } - - - - } - /// <summary> - /// 琛ㄧず鏉ヨ嚜閭d釜鐣岄潰 - /// </summary> - public enum Comerom - { - function,//鍔熻兘 - collect,//鏀惰棌 - room,//鎴块棿 - } - } -- Gitblit v1.8.0