From 2bc230cf2e7a7329c2329b07307a47b059835bbc Mon Sep 17 00:00:00 2001 From: WJC <wjc@hdlchina.com.cn> Date: 星期五, 18 十月 2019 10:20:52 +0800 Subject: [PATCH] 2019-10-18-1 --- ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs | 371 ++++++++++++++++++++++++++-------------------------- 1 files changed, 184 insertions(+), 187 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs index 9ee170a..c6654c0 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs @@ -1,22 +1,22 @@ -锘縰sing System; -using System.Collections.Generic; -using System.Threading.Tasks; -using Shared.Common; -using Shared.Phone.UserView; -using ZigBee.Device; - -namespace Shared.Phone.UserCenter.Device -{ - /// <summary> - /// 缂栬緫璁惧鐨勪俊鎭�(杩欓噷淇敼鐨勬槸MAC鍚�,杩欎釜鐢婚潰浼氭洿鏀筂AC鐨勭墿鐞嗗悕瀛�) - /// </summary> - public class DeviceMacInfoEditorForm : EditorCommonForm - { - #region 鈻� 鍙橀噺澹版槑___________________________ - - /// <summary> - /// 璁惧瀵硅薄 - /// </summary> +锘縰sing System; +using System.Collections.Generic; +using System.Threading.Tasks; +using Shared.Common; +using Shared.Phone.UserView; +using ZigBee.Device; + +namespace Shared.Phone.UserCenter.Device +{ + /// <summary> + /// 缂栬緫璁惧鐨勪俊鎭�(杩欓噷淇敼鐨勬槸MAC鍚�,杩欎釜鐢婚潰浼氭洿鏀筂AC鐨勭墿鐞嗗悕瀛�) + /// </summary> + public class DeviceMacInfoEditorForm : EditorCommonForm + { + #region 鈻� 鍙橀噺澹版槑___________________________ + + /// <summary> + /// 璁惧瀵硅薄 + /// </summary> private List<CommonDevice> listNewDevice = null; /// <summary> /// 鍒楄〃鎺т欢 @@ -31,16 +31,16 @@ /// </summary> private DeviceEnumInfo deviceEnumInfo = null; - #endregion + #endregion #region 鈻� 鍒濆鍖朹____________________________ - + /// <summary> /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓) /// </summary> - /// <param name="deviceMac">璁惧mac鍦板潃</param> - public void ShowForm(string deviceMac) - { + /// <param name="deviceMac">璁惧mac鍦板潃</param> + public void ShowForm(string deviceMac) + { this.listNewDevice = Common.LocalDevice.Current.GetDevicesByMac(deviceMac); //鎺掑簭 this.listNewDevice.Sort((obj1, obj2) => @@ -50,40 +50,41 @@ return 1; } return -1; - }); - - this.listDeviceType.Clear(); + }); + + this.listDeviceType.Clear(); foreach (var device in listNewDevice) { //鏀堕泦璁惧绫诲瀷 this.listDeviceType.Add(device.Type); } //鑾峰彇杩欎竴鍫嗚澶囨椂灞炰簬浠�涔堢被鍨嬬殑 - this.deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(listNewDevice); - - //璁剧疆鏍囬淇℃伅 - base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uDeviceInfo)); - - //鍒濆鍖栧彸涓婅鑿滃崟 + this.deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(listNewDevice); + + //璁剧疆鏍囬淇℃伅 + base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uDeviceInfo)); + + //鍒濆鍖栧彸涓婅鑿滃崟 this.InitTopRightMenu(); //鍒濆鍖栦腑閮ㄦ帶浠� - this.InitMiddleFrame(); - - //閲嶆柊鑾峰彇纭欢淇℃伅 - this.RefreshHardFirmwareInfo(); - } - + this.InitMiddleFrame(); + + //閲嶆柊鑾峰彇纭欢淇℃伅 + this.RefreshHardFirmwareInfo(); + } + /// <summary> /// 鍒濆鍖栦腑閮ㄦ帶浠� - /// </summary> - private void InitMiddleFrame() - { - //娓呯┖bodyFrame + /// </summary> + private void InitMiddleFrame() + { + //娓呯┖bodyFrame this.ClearBodyFrame(); //鍒濆鍖栨甯� - this.InitFrameTable(); + var tableContr = new InformationEditorControl(); + this.listview = tableContr.InitControl(bodyFrameLayout, Language.StringByID(R.MyInternationalizationString.uInfoEditor), 369, 1368); //鍥剧墖 var btnPic = new DeviceInfoIconControl(listNewDevice[0]); @@ -93,12 +94,12 @@ btnPic.InitControl(); //璁惧澶囨敞 - string caption = Language.StringByID(R.MyInternationalizationString.uDeviceNote); - string deviceName = Common.LocalDevice.Current.GetDeviceMacName(listNewDevice[0]); - var btnNote = new FrameCaptionInputControl(caption, deviceName, listview.rowSpace / 2); - listview.AddChidren(btnNote); - btnNote.InitControl(); - //鍒掔嚎 + string caption = Language.StringByID(R.MyInternationalizationString.uDeviceNote); + string deviceName = Common.LocalDevice.Current.GetDeviceMacName(listNewDevice[0]); + var btnNote = new FrameCaptionInputControl(caption, deviceName, listview.rowSpace / 2); + listview.AddChidren(btnNote); + btnNote.InitControl(); + //鍒掔嚎 btnNote.AddBottomLine(); btnNote.txtInput.FinishInputEvent += () => { @@ -115,93 +116,75 @@ }; //璁惧绫诲瀷 - caption = Language.StringByID(R.MyInternationalizationString.uDeviceType); - deviceName = Common.LocalDevice.Current.GetDeviceObjectText(listNewDevice); + caption = Language.StringByID(R.MyInternationalizationString.uDeviceType); + deviceName = Common.LocalDevice.Current.GetDeviceObjectText(listNewDevice); var btnType = new FrameCaptionViewControl(caption, deviceName, listview.rowSpace / 2); btnType.UseClickStatu = false; - listview.AddChidren(btnType); + listview.AddChidren(btnType); btnType.InitControl(); - //鍒掔嚎 + //鍒掔嚎 btnType.AddBottomLine(); + + //鎵�灞炲尯鍩� + var rowBeloneArea = new BelongAreaControl(listview.rowSpace / 2); + listview.AddChidren(rowBeloneArea); + rowBeloneArea.InitControl(Language.StringByID(R.MyInternationalizationString.uBelongArea), this.listNewDevice); + //搴曠嚎 + rowBeloneArea.AddBottomLine(); + + var listCheck = new List<string>(); + rowBeloneArea.SelectRoomEvent += (roomKeys) => + { + foreach (var device in this.listNewDevice) + { + //淇濆瓨杩欎釜璁惧灞炰簬鍝釜鍖哄煙 + device.DeviceRoomId = roomKeys; + device.ReSave(); + var room = Room.CurrentRoom.GetRoomByDevice(device); + string mainKeys = LocalDevice.Current.GetDeviceMainKeys(device); + if (room == null) + { + //杩欓噷鏈夌偣鐗规畩,濡傛灉鍥炶矾娌℃湁璁剧疆鏈夊尯鍩熺殑鏃跺��,鎵嶈缃� + listCheck.Add(mainKeys); + Room.CurrentRoom.ChangedRoom(device, roomKeys); + } + else if (listCheck.Contains(mainKeys) == true) + { + //濡傛灉杩欎釜鍥炶矾涔嬪墠閮借繕娌℃湁鍖哄煙,鍦ㄦ湰鐣岄潰杩樻病鏈夊叧闂箣鍓�,鍙互鏃犳潯浠堕殢渚垮彉鏇� + Room.CurrentRoom.ChangedRoom(device, roomKeys); + } + } + }; //娣诲姞鍏ㄩ儴鑿滃崟 this.AddAllMenuRow(); + //鍒濆鍖栨甯冨畬鎴� + tableContr.FinishInitControl(bodyFrameLayout, this.listview); + tableContr = null; + //淇濆瓨 - var btnFinish = new BottomClickButton(); - //鍊熺敤Y杞村潗鏍�(璁╄繖涓尯鍩熶笉鑳界偣鍑昏彍鍗�) - var frameBack = new FrameLayout(); - frameBack.Y = btnFinish.Yaxis; - frameBack.Height = bodyFrameLayout.Height - btnFinish.Yaxis; - bodyFrameLayout.AddChidren(frameBack); - - btnFinish.TextID = R.MyInternationalizationString.uSave; - bodyFrameLayout.AddChidren(btnFinish); - btnFinish.ButtonClickEvent += (sender, e) => + var btnFinish = new BottomClickButton(); + btnFinish.TextID = R.MyInternationalizationString.uSave; + bodyFrameLayout.AddChidren(btnFinish); + btnFinish.ButtonClickEvent += (sender, e) => { string oldName = Common.LocalDevice.Current.GetDeviceMacName(listNewDevice[0]); if (btnNote.Text.Trim() == string.Empty) { btnNote.Text = oldName; - } + } if (oldName != btnNote.Text.Trim()) { //淇敼鍚嶅瓧 this.DeviceReName(btnNote.Text.Trim(), true); - } + } else { //鍏抽棴鑷韩 this.CloseForm(); - } + } }; - - var realHeight = listview.GetChildren(0).Height * listview.ChildrenCount; - if (bodyFrameLayout.Height - btnFinish.Yaxis + realHeight > listview.Height) - { - //淇冧娇琚尅浣忕殑鑿滃崟鑳藉鍚戜笂婊戝姩 - var frameTemp = new FrameLayout(); - frameTemp.Height = frameBack.Height + Application.GetRealHeight(115); - listview.AddChidren(frameTemp); - } - } - - #endregion - - #region 鈻� 鍒濆鍖栨甯僟________________________ - - /// <summary> - /// 鍒濆鍖栨甯� - /// </summary> - private void InitFrameTable() - { - //寮у害鐨勫渾鐨勪竴鍗婄殑楂樺害(鍥哄畾) - int halfRoundHeigth = Application.GetRealHeight(116) / 2; - //寮у害鐨勫渾 - var btnRound = new NormalViewControl(bodyFrameLayout.Width, halfRoundHeigth * 2, false); - btnRound.Y = Application.GetRealHeight(369); - btnRound.BackgroundColor = UserCenterColor.Current.White; - btnRound.Radius = (uint)halfRoundHeigth; - bodyFrameLayout.AddChidren(btnRound); - //鏄庣粏鍒楄〃鐨勬甯冿紝鐧借壊鑳屾櫙(瑕嗙洊寮у害鐨勫渾鐨勫崐杈�) - var detailBackFrame = new FrameLayout(); - detailBackFrame.Y = btnRound.Bottom - btnRound.Height / 2; - detailBackFrame.Height = Application.GetRealHeight(1368);//楂樺害灏辨槸瑕佸畠瓒呰繃 - detailBackFrame.BackgroundColor = UserCenterColor.Current.White; - bodyFrameLayout.AddChidren(detailBackFrame); - - //淇℃伅缂栬緫 - var btnTile = new NormalViewControl(800, 60, true); - btnTile.X = ControlCommonResourse.XXLeft; - btnTile.TextSize = 15; - btnTile.TextColor = UserCenterColor.Current.TextColor2; - btnTile.TextID = R.MyInternationalizationString.uInfoEditor; - detailBackFrame.AddChidren(btnTile); - - this.listview = new VerticalListControl(12); - listview.Y = btnTile.Bottom + Application.GetRealHeight(17); - listview.Height = Application.GetRealHeight(1368) - halfRoundHeigth - btnTile.Bottom - Application.GetRealHeight(17); - detailBackFrame.AddChidren(listview); } #endregion @@ -246,13 +229,13 @@ } } - #endregion + #endregion #region 鈻� 鐢ㄦ埛绠$悊(闂ㄩ攣)_____________________ /// <summary> /// 娣诲姞銆愮敤鎴风鐞嗐�戣锛堥棬閿佷笓鐢級 - /// </summary> + /// </summary> private void AddUserManageRow() { //濡傛灉鏄櫤鑳介棬閿� @@ -264,11 +247,16 @@ listview.AddChidren(btnRow); btnRow.AddLeftCaption(caption, 600); //鍚戝彸鍥炬爣 - btnRow.AddRightIconControl(); + btnRow.AddRightArrow(); //搴曠嚎 btnRow.AddBottomLine(); + var doorLock = this.listNewDevice[0] as ZigBee.Device.DoorLock; btnRow.ButtonClickEvent += (sender, e) => { + var userManagement = new Shared.Phone.UserCenter.DoorLock.UserManagement(doorLock); + Shared.Phone.UserView.HomePage.Instance.AddChidren(userManagement); + Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; + userManagement.Show(); }; } } @@ -279,7 +267,7 @@ /// <summary> /// 娣诲姞銆愯繙绋嬪紑閿併�戣锛堥棬閿佷笓鐢級 - /// </summary> + /// </summary> private void AddRemoteUnLocksRow() { //濡傛灉鏄櫤鑳介棬閿� @@ -291,17 +279,27 @@ btnRow.UseClickStatu = false; listview.AddChidren(btnRow); btnRow.AddLeftCaption(caption, 600); - //鍚戝彸鍥炬爣 - var btnswitch = btnRow.AddMostRightEmptyIcon(104, 63); - btnRow.ChangedChidrenBindMode(btnswitch, ChidrenBindMode.NotBind); - btnswitch.UnSelectedImagePath = "Item/Switch.png"; - btnswitch.SelectedImagePath = "Item/SwitchSelected.png"; + //寮�鍏冲浘鏍� + var btnswitch = btnRow.AddMostRightSwitchIcon(); //搴曠嚎 btnRow.AddBottomLine(); + if (string.IsNullOrEmpty(ZigBee.Device.DoorLock.RemoteUnlockPassword) == false) + { + btnswitch.IsSelected = true; + } + var doorLock= (ZigBee.Device.DoorLock)listNewDevice[0]; btnswitch.ButtonClickEvent += (sender, e) => { - btnswitch.IsSelected = !btnswitch.IsSelected; + if (btnswitch.IsSelected == true) + { + btnswitch.IsSelected = false; + ZigBee.Device.DoorLock.RemoteUnlockPassword = string.Empty; + return; + } + var frame = new DoorLock.DoorLockCommonLayout(); + frame.RemotePasswordDialog((ZigBee.Device.DoorLock)listNewDevice[0], btnswitch.btnIcon); + frame = null; }; } } @@ -312,7 +310,7 @@ /// <summary> /// 娣诲姞銆愰棬閿佹椂闂淬�戣锛堥棬閿佷笓鐢級 - /// </summary> + /// </summary> private void AddDoorLocksTimeRow() { //濡傛灉鏄櫤鑳介棬閿� @@ -324,7 +322,7 @@ listview.AddChidren(btnRow); btnRow.AddLeftCaption(caption, 600); //鍚戝彸鍥炬爣 - btnRow.AddRightIconControl(); + btnRow.AddRightArrow(); //搴曠嚎 btnRow.AddBottomLine(); btnRow.ButtonClickEvent += (sender, e) => @@ -339,7 +337,7 @@ /// <summary> /// 娣诲姞銆愭寜閿缃�戣 - /// </summary> + /// </summary> private void AddPanelSettionRow() { //蹇呴』鏄渤涓滆澶�,蹇呴』鏄潰鏉匡紝骞朵笖鏈夊共鎺ョ偣鎵嶈 @@ -353,7 +351,7 @@ listview.AddChidren(btnFunction); btnFunction.AddLeftCaption(caption, 600); //鍚戝彸鍥炬爣 - btnFunction.AddRightIconControl(); + btnFunction.AddRightArrow(); //搴曠嚎 btnFunction.AddBottomLine(); btnFunction.ButtonClickEvent += (sender, e) => @@ -369,7 +367,7 @@ /// <summary> /// 娣诲姞銆愬姛鑳借缃�戣 - /// </summary> + /// </summary> private void AddFunctionSettionRow() { //鍔熻兘璁剧疆 @@ -378,7 +376,7 @@ listview.AddChidren(btnFunction); btnFunction.AddLeftCaption(caption, 600); //鍚戝彸鍥炬爣 - btnFunction.AddRightIconControl(); + btnFunction.AddRightArrow(); //搴曠嚎 btnFunction.AddBottomLine(); btnFunction.ButtonClickEvent += (sender, e) => @@ -397,13 +395,13 @@ }; } - #endregion; + #endregion; #region 鈻� 骞叉帴鐐硅缃�(骞叉帴鐐�)_________________ /// <summary> /// 娣诲姞銆愬共鎺ョ偣璁剧疆銆戣 - /// </summary> + /// </summary> private void AddDryContactSettionRow() { if (this.listDeviceType.Contains(DeviceType.OnOffSwitch) == false) @@ -424,7 +422,7 @@ listview.AddChidren(btnBackLight); btnBackLight.AddLeftCaption(caption, 600); //鍚戝彸鍥炬爣 - btnBackLight.AddRightIconControl(); + btnBackLight.AddRightArrow(); //搴曠嚎 btnBackLight.AddBottomLine(); btnBackLight.ButtonClickEvent += (sender, e) => @@ -448,7 +446,7 @@ listview.AddChidren(btnGeneral); btnGeneral.AddLeftCaption(caption, 600); //鍚戝彸鍥炬爣 - btnGeneral.AddRightIconControl(); + btnGeneral.AddRightArrow(); //搴曠嚎 btnGeneral.AddBottomLine(); btnGeneral.ButtonClickEvent += (sender, e) => @@ -464,7 +462,7 @@ /// <summary> /// 娣诲姞銆愬浐浠跺崌绾с�戣 - /// </summary> + /// </summary> private void AddFirmwareUpdateRow() { //鎷ユ湁200绔彛杩欎釜涓滆タ鐨勬椂鍊欙紝鎵嶄細鏄剧ず杩欎竴琛� @@ -480,7 +478,7 @@ listview.AddChidren(rowUpDate); rowUpDate.AddLeftCaption(caption, 600); //鍚戝彸鍥炬爣 - rowUpDate.AddRightIconControl(); + rowUpDate.AddRightArrow(); //搴曠嚎 rowUpDate.AddBottomLine(); @@ -510,7 +508,7 @@ /// <param name="oTADevice">ota璁惧</param> private void SetDeviceVersionInfo(PicViewControl btnNewVersion, OTADevice oTADevice) { - new System.Threading.Thread(async () => + HdlThreadLogic.Current.RunThread(async () => { bool receiveImageInfo = false; //璁剧疆璁惧鍏ㄩ儴鐨勯暅鍍忎俊鎭� @@ -548,53 +546,52 @@ } }); } - }) - { IsBackground = true }.Start(); + }); } - #endregion + #endregion #region 鈻� 淇敼鍚嶅瓧___________________________ - /// <summary> - /// 璁惧閲嶅懡鍚� - /// </summary> - /// <param name="i_deviceName">deviceName.</param> - private async void DeviceReName(string i_deviceName,bool closeForm) - { - //寮�鍚繘搴︽潯 - this.ShowProgressBar(); - - //淇敼MAC鍚� - string deviceName = i_deviceName.Trim(); + /// <summary> + /// 璁惧閲嶅懡鍚� + /// </summary> + /// <param name="i_deviceName">deviceName.</param> + private async void DeviceReName(string i_deviceName,bool closeForm) + { + //寮�鍚繘搴︽潯 + this.ShowProgressBar(); + + //淇敼MAC鍚� + string deviceName = i_deviceName.Trim(); var result = await Common.LocalDevice.Current.ReMacName(this.listNewDevice, deviceName); //鍏抽棴杩涘害鏉� this.CloseProgressBar(); - if (result == false) + if (result == false) { return; - } + } if (closeForm == true) { //鍏抽棴鐣岄潰 this.CloseForm(); - } + } else { //璁惧澶囨敞淇敼鎴愬姛! string msg = Language.StringByID(R.MyInternationalizationString.uDeviceReNoteSuccess); this.ShowMassage(ShowMsgType.Tip, msg); - } + } } - #endregion + #endregion - #region 鈻� 鍙充笂瑙掕彍鍗昣________________________ - + #region 鈻� 鍙充笂瑙掕彍鍗昣________________________ + /// <summary> /// 鍒濆鍖栧彸涓婅鑿滃崟 - /// </summary> + /// </summary> private void InitTopRightMenu() { var btnIcon = new MostRightIconControl(69, 69); @@ -606,11 +603,11 @@ //鏄剧ず鍙充笂瑙掕彍鍗曠晫闈� this.ShowTopRightMenu(); }); - } - + } + /// <summary> /// 鏄剧ず鍙充笂瑙掕彍鍗曠晫闈� - /// </summary> + /// </summary> private void ShowTopRightMenu() { int menuCount = 1; @@ -648,45 +645,45 @@ } - /// <summary> - /// 鍒犻櫎鎸囧畾璁惧 - /// </summary> - private async void DoDeleteDevice() + /// <summary> + /// 鍒犻櫎鎸囧畾璁惧 + /// </summary> + private async void DoDeleteDevice() { //寮�鍚繘搴︽潯 - this.ShowProgressBar(); - //鍒犻櫎璁惧 + this.ShowProgressBar(); + //鍒犻櫎璁惧 bool result = await Common.LocalDevice.Current.DeleteDevice(listNewDevice); - this.CloseProgressBar(); - + this.CloseProgressBar(); + if (result == false) { return; - } - - Application.RunOnMainThread(() => + } + + Application.RunOnMainThread(() => { //鍏抽棴鐣岄潰 this.CloseForm(); - }); + }); } - #endregion + #endregion - #region 鈻� 鍏抽棴鐣岄潰___________________________ + #region 鈻� 鍏抽棴鐣岄潰___________________________ /// <summary> /// 鐢婚潰鍏抽棴 - /// </summary> - public override void CloseForm() + /// </summary> + public override void CloseForm() { //绉婚櫎鑾峰彇璁惧纭欢淇℃伅鐨勭洃鍚嚎绋� - HdlDeviceHardInfoLogic.Current.RemoveDeviceHardInfoThread(listNewDevice[0]); - - base.CloseForm(); + HdlDeviceHardInfoLogic.Current.RemoveDeviceHardInfoThread(listNewDevice[0]); + + base.CloseForm(); } - #endregion + #endregion #region 鈻� 纭欢淇℃伅___________________________ @@ -714,8 +711,8 @@ #endregion - #region 鈻� 涓�鑸柟娉昣__________________________ - - #endregion - } -} + #region 鈻� 涓�鑸柟娉昣__________________________ + + #endregion + } +} -- Gitblit v1.8.0