From 48ba446936b51fffafa7c3600c0dadc6ac0e8c20 Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期五, 10 七月 2020 10:52:13 +0800 Subject: [PATCH] 2020-07-10-01 --- ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs | 664 +++++++++++++++++++++++-------------------------------- 1 files changed, 277 insertions(+), 387 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs index b6a7c54..fdba54a 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs @@ -11,19 +11,8 @@ /// <summary> /// 鎸夐敭绠$悊 /// </summary> - public class BindTargetsPage : BindCommonLayout, ZigBee.Common.IStatus + public class BindTargetsPage : BindCommonLayout { - /// <summary> - /// 鎸夐敭妯″紡鎺ユ敹 - /// </summary> - /// <param name="common">Common.</param> - public void Changed(CommonDevice common) - { - Shared.Application.RunOnMainThread(() => - { - }); - } - /// 鏋勯�犲嚱鏁� /// </summary> /// <param name="doorLock"></param> @@ -78,10 +67,6 @@ /// </summary> List<int> typeModeList; /// <summary> - /// 缃戝叧涓殑鍦烘櫙鍒楄〃 - /// </summary> - public List<ScenesListInfo> gwScenesList = new List<ScenesListInfo>(); - /// <summary> /// 鏄惁鏀寔璇诲彇 /// </summary> bool IsRead = false; @@ -106,17 +91,12 @@ } //鑾峰彇鏈湴鍦烘櫙鍒楄〃 scList = HdlSceneLogic.Current.GetAllRoomSceneList(); - //鑾峰彇缃戝叧鍦烘櫙琛� - var gwSceneObj = await currentKey.GetSceneInfoAsync(); - if (gwSceneObj != null && gwSceneObj.getSceneInfo != null) - { - gwScenesList = gwSceneObj.getSceneInfo.ScenesList; - } + //鍔ㄦ�佽幏鍙栨寜閿敮鎸佺殑澶х被 typeModeList = await GetTypeMode(); #region 璇诲彇闈㈡澘褰撳墠妯″紡 //璇诲彇鎸夐敭褰撳墠妯″紡 - var tempDeata = await currentKey.ReadPanelConfigureInfoAsync(); + var tempDeata = HdlDeviceBindLogic.Current.ReadPanelConfigureInfoAsync(currentKey); if (tempDeata != null && tempDeata.deviceStatusReportData != null) { foreach (var attr in tempDeata.deviceStatusReportData.AttriBute) @@ -143,7 +123,7 @@ GetDeviceBindResponseAllData getBindList = null; if (IsRead) { - getBindList = await currentKey.GetDeviceBindAsync(); + getBindList = HdlDeviceBindLogic.Current.GetDeviceBindAsync(currentKey); var bindDeviceListTemp = new System.Collections.Generic.List<BindListResponseObj> { }; var bindSceneListTemp = new System.Collections.Generic.List<BindListResponseObj> { }; if (getBindList != null && getBindList.getAllBindResponseData != null) @@ -187,6 +167,7 @@ Application.RunOnMainThread(() => { CommonPage.Loading.Hide(); + midVerticalRefreshLayout.EndHeaderRefreshing(); new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance); return; }); @@ -217,6 +198,7 @@ { RefreshList(); CommonPage.Loading.Hide(); + midVerticalRefreshLayout.EndHeaderRefreshing(); }); } else @@ -224,6 +206,7 @@ Application.RunOnMainThread(() => { CommonPage.Loading.Hide(); + midVerticalRefreshLayout.EndHeaderRefreshing(); new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance); }); return; @@ -250,7 +233,7 @@ var btnAddFrameLayout = new FrameLayout() { - X = Application.GetRealWidth(888), + X = Application.GetRealWidth(772 - 58), Width = Application.GetRealWidth(192), }; this.titleFrameLayout.AddChidren(btnAddFrameLayout); @@ -258,8 +241,8 @@ var btnBindAdd = new Button { X = Application.GetRealWidth(62), - Height = Application.GetRealHeight(72), - Width = Application.GetRealWidth(72), + Height = Application.GetMinReal(72), + Width = Application.GetMinReal(72), UnSelectedImagePath = "BindPic/BindAdd.png", }; btnAddFrameLayout.AddChidren(btnBindAdd); @@ -274,7 +257,7 @@ { currentClusterID = 6; currentKey.panelMode = 1; - var addScenePage = new Shared.Phone.UserCenter.DeviceBind.AddScenePage(currentKey, gwScenesList); + var addScenePage = new Shared.Phone.UserCenter.DeviceBind.AddScenePage(currentKey); Shared.Phone.UserView.HomePage.Instance.AddChidren(addScenePage); Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; addScenePage.Show(); @@ -356,6 +339,7 @@ InitListInfo(); } + /// <summary> /// 涓儴甯冨眬 /// </summary> @@ -363,6 +347,7 @@ { midVerticalRefreshLayout = new VerticalFrameRefreshControl(29) { + Height = this.midFrameLayout.Height + 1, }; this.midFrameLayout.AddChidren(midVerticalRefreshLayout); midVerticalRefreshLayout.BeginHeaderRefreshingAction += () => @@ -370,7 +355,6 @@ midVerticalRefreshLayout.BeginHeaderRefreshing(); IsRead = true; InitListInfo(); - midVerticalRefreshLayout.EndHeaderRefreshing(); }; BlankPicUI(); @@ -450,9 +434,10 @@ var rowLayout = new RowLayoutControl(midVerticalRefreshLayout.rowSpace / 2); rowLayout.BackgroundColor = ZigbeeColor.Current.XMWhite; - midVerticalRefreshLayout.AddChidrenRow(rowLayout); + midVerticalRefreshLayout.AddChidren2(rowLayout); rowLayout.frameTable.UseClickStatu = false; var devicePic = rowLayout.frameTable.AddLeftIcon(); + devicePic.Y = Application.GetRealHeight(49); devicePic.UnSelectedImagePath = "DoorLock/DoorLockUserPic.png"; #region 缁戝畾鏁版嵁澶勭悊 @@ -493,6 +478,10 @@ { btnFloorRoomNameText = myName; } + else + { + btnFloorRoomNameText = Language.StringByID(R.MyInternationalizationString.Undistributed); + } } } else @@ -512,19 +501,32 @@ //鑾峰彇鎴块棿鐨勫悕瀛� var tempDevRoomName = tempDevRoom.Name; //鑾峰彇妤煎眰鐨勫悕瀛� - var tempDevFloorName = Common.Config.Instance.Home.GetFloorNameById(tempDevFloorId); + var tempDevFloorName = HdlResidenceLogic.Current.GetFloorNameById(tempDevFloorId); if (string.IsNullOrEmpty(tempDevFloorName)) { - btnFloorRoomNameText = tempDevRoomName; + if (string.IsNullOrEmpty(tempDevRoomName)) + { + btnFloorRoomNameText = Language.StringByID(R.MyInternationalizationString.Undistributed); + } + else + { + btnFloorRoomNameText = tempDevRoomName; + } } else { - btnFloorRoomNameText = tempDevFloorName + "," + tempDevRoomName; + if (string.IsNullOrEmpty(tempDevRoomName)) + { + btnFloorRoomNameText = Language.StringByID(R.MyInternationalizationString.Undistributed); + } + else + { + btnFloorRoomNameText = tempDevFloorName + "," + tempDevRoomName; + } } } devicePic.UnSelectedImagePath = tempDev.IconPath; - devicePic.Width = Application.GetRealWidth(110); devicePic.Text = ""; if (string.IsNullOrEmpty(tempDev.DeviceEpointName)) @@ -539,7 +541,6 @@ else { btnBindNameText = bindDevice.BindMacAddr + "_" + bindDevice.BindEpoint; - devicePic.Width = Application.GetMinRealAverage(200); devicePic.TextAlignment = TextAlignment.CenterLeft; devicePic.TextColor = UserCenterColor.Current.Gray; devicePic.Text = Language.StringByID(R.MyInternationalizationString.uOffLine); @@ -551,9 +552,9 @@ var btnFloorRoomName = rowLayout.frameTable.AddBottomView(btnFloorRoomNameText, 800); rowLayout.frameTable.AddBottomLine(); var btnDel = rowLayout.AddDeleteControl(); - btnDel.ButtonClickEvent += async (sender, e) => - { - RemoveTargets(bindDevice, btnDel); + btnDel.ButtonClickEvent += (sender, e) => + { + RemoveTargets(bindDevice, btnDel); }; #endregion } @@ -569,7 +570,7 @@ { var modeRowLayout = new RowLayoutControl(midVerticalRefreshLayout.rowSpace / 2); modeRowLayout.BackgroundColor = ZigbeeColor.Current.XMWhite; - midVerticalRefreshLayout.AddChidrenRow(modeRowLayout); + midVerticalRefreshLayout.AddChidren2(modeRowLayout); modeRowLayout.frameTable.UseClickStatu = false; modeRowLayout.frameTable.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.keyMode), 400); var btnKeyModeTipText = ""; @@ -627,61 +628,79 @@ var alert = new Shared.Phone.UserCenter.ShowMsgControl(ShowMsgType.Confirm, msg, Language.StringByID(R.MyInternationalizationString.DoorlockConfirm)); alert.Show(); //浣跨敤纭鍨嬪脊妗嗘椂,鐨勫洖璋冨嚱鏁� - alert.ConfirmClickEvent += async () => + alert.ConfirmClickEvent += () => { bool isDelSuccess = false; - try + System.Threading.Tasks.Task.Run(() => { - CommonPage.Loading.Start(""); - var bindResult = await currentKey.ClearBindInfoAsync(); - if (bindResult != null && bindResult.clearBindInfoResponseData != null) + try { - if (bindResult.clearBindInfoResponseData.Result != 0) + Application.RunOnMainThread(() => { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDel); - CommonPage.Loading.Hide(); - return; - } - else + CommonPage.Loading.Start(""); + }); + var bindResult = HdlDeviceBindLogic.Current.ClearBindInfoAsync(currentKey); + if (bindResult != null && bindResult.clearBindInfoResponseData != null) { - var temp = await currentKey.ConfigureHdlKeyValueAsync(Panel.KeyMode.Default); - if (temp.setWritableValueResponData?.Status != 0) + if (bindResult.clearBindInfoResponseData.Result != 0) { - var temp1 = await currentKey.ConfigureHdlKeyValueAsync(Panel.KeyMode.Default); - if (temp1.setWritableValueResponData?.Status != 0) + Application.RunOnMainThread(() => { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.ChangeBindMode), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel); + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDel); + CommonPage.Loading.Hide(); + }); + return; + } + else + { + var temp = HdlDeviceBindLogic.Current.ConfigureHdlKeyValueAsync(currentKey, Panel.KeyMode.Default); + if (temp != null && temp.setWritableValueResponData?.Status != 0) + { + var temp1 = HdlDeviceBindLogic.Current.ConfigureHdlKeyValueAsync(currentKey, Panel.KeyMode.Default); + if (temp1 != null && temp1.setWritableValueResponData?.Status != 0) + { + Application.RunOnMainThread(() => + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.ChangeBindMode), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel); + + }); + } + else + { + isDelSuccess = true; + } } else { isDelSuccess = true; } } - else + } + else + { + Application.RunOnMainThread(() => { - isDelSuccess = true; - } + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel); + }); } } - else + catch { } + finally { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel); + Application.RunOnMainThread(() => + { + if (isDelSuccess) + { + currentKey.panelMode = 65535; + currentKey.bindList.Clear(); + RefreshList(); + //濡傛灉鏄満鏅紝鐢ㄦ埛鍒犻櫎娓呯┖褰撳墠鍒版埧闂村垪琛� + currentKey.ReSave(); + } + CommonPage.Loading.Hide(); + }); } - } - catch { } - finally - { - if (isDelSuccess) - { - currentKey.panelMode = 65535; - currentKey.bindList.Clear(); - RefreshList(); - //濡傛灉鏄満鏅紝鐢ㄦ埛鍒犻櫎娓呯┖褰撳墠鍒版埧闂村垪琛� - currentKey.RoomId = ""; - currentKey.ReSave(); - } - CommonPage.Loading.Hide(); - } + }); }; }; } @@ -704,8 +723,8 @@ var sidelipFrameLayout = new FrameLayout() { - Height = Application.GetRealHeight(628), - Width = Application.GetRealWidth(415), + Height = Application.GetMinReal(628), + Width = Application.GetMinReal(415), Y = Application.GetRealHeight(115 + 45), X = Application.GetRealWidth(605), BackgroundImagePath = "DoorLock/SideslipPic.png", @@ -726,26 +745,34 @@ if (typeModeList == null) { //鍐嶆鍔ㄦ�佽幏鍙栨寜閿敮鎸佺殑澶х被 - CommonPage.Loading.Start(); + Application.RunOnMainThread(() => + { + CommonPage.Loading.Start(); + }); typeModeList = await GetTypeMode(); if (typeModeList == null) { Application.RunOnMainThread(() => { new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance); + CommonPage.Loading.Hide(); }); - CommonPage.Loading.Hide(); dialog.Close(); return; } else { - CommonPage.Loading.Hide(); + Application.RunOnMainThread(() => + { + CommonPage.Loading.Hide(); + }); } } + int count = 0; foreach (var value in typeModeList) { + count++; #region rowView var rowView = new FrameLayout() { @@ -867,234 +894,63 @@ } if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddScene)) { - if (currentKey.bindList.Count != 0) - { - var bindSc = currentKey.bindList.Find(obj => (obj.BindType == 2)); - if (bindSc != null) - { - string msg = Language.StringByID(R.MyInternationalizationString.DelLocalBindListThenAddAgain); - var alert = new Shared.Phone.UserCenter.ShowMsgControl(ShowMsgType.Confirm, msg, Language.StringByID(R.MyInternationalizationString.DoorlockConfirm)); - alert.Show(); - //浣跨敤纭鍨嬪脊妗嗘椂,鐨勫洖璋冨嚱鏁� - alert.ConfirmClickEvent += async () => - { - var result = await RemoveTargets(bindSc, line2); - if (result == 0) - { - var addScenePage = new Shared.Phone.UserCenter.DeviceBind.AddScenePage(currentKey, gwScenesList); - Shared.Phone.UserView.HomePage.Instance.AddChidren(addScenePage); - Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; - addScenePage.Show(); + var addScenePage = new Shared.Phone.UserCenter.DeviceBind.AddScenePage(currentKey); + Shared.Phone.UserView.HomePage.Instance.AddChidren(addScenePage); + Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; + addScenePage.Show(); - Action<List<BindListResponseObj>> action = (obj) => - { - currentKey.bindList = obj; - RefreshList(); - }; - addScenePage.action += action; - dialog.Close(); - } - else - { - currentKey.currentKeySelectModeText = oldKeySelectModeText; - dialog.Close(); - } - }; - } - } - else + Action<List<BindListResponseObj>> action = (obj) => { - var addScenePage = new Shared.Phone.UserCenter.DeviceBind.AddScenePage(currentKey, gwScenesList); - Shared.Phone.UserView.HomePage.Instance.AddChidren(addScenePage); - Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; - addScenePage.Show(); - - Action<List<BindListResponseObj>> action = (obj) => - { - currentKey.bindList = obj; - RefreshList(); - }; - addScenePage.action += action; - dialog.Close(); - } + currentKey.bindList = obj; + RefreshList(); + }; + addScenePage.action += action; + dialog.Close(); } if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddSwitch)) { - if (currentKey.bindList.Count != 0) - { - var bindSc = currentKey.bindList.Find(obj => (obj.BindType == 2)); - if (bindSc != null) - { - string msg = Language.StringByID(R.MyInternationalizationString.DelLocalBindListThenAddAgain1); - var alert = new Shared.Phone.UserCenter.ShowMsgControl(ShowMsgType.Confirm, msg, Language.StringByID(R.MyInternationalizationString.DoorlockConfirm)); - alert.Show(); - //浣跨敤纭鍨嬪脊妗嗘椂,鐨勫洖璋冨嚱鏁� - alert.ConfirmClickEvent += async () => - { - var result = await RemoveTargets(bindSc, line2); - if (result == 0) - { - var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.AddDevicePage(currentKey, "AddSwitch"); - Shared.Phone.UserView.HomePage.Instance.AddChidren(addDevicePage); - Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; - addDevicePage.Show(); + var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.AddDevicePage(currentKey, "AddSwitch"); + Shared.Phone.UserView.HomePage.Instance.AddChidren(addDevicePage); + Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; + addDevicePage.Show(); - Action<List<BindListResponseObj>> action = (obj) => - { - currentKey.bindList = obj; - RefreshList(); - }; - addDevicePage.actionAddDevicePage += action; - dialog.Close(); - } - else - { - currentKey.currentKeySelectModeText = oldKeySelectModeText; - dialog.Close(); - } - }; - } - } - else + Action<List<BindListResponseObj>> action = (obj) => { - var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.AddDevicePage(currentKey, "AddSwitch"); - Shared.Phone.UserView.HomePage.Instance.AddChidren(addDevicePage); - Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; - addDevicePage.Show(); - - Action<List<BindListResponseObj>> action = (obj) => - { - currentKey.bindList = obj; - RefreshList(); - }; - addDevicePage.actionAddDevicePage += action; - dialog.Close(); - } + currentKey.bindList = obj; + RefreshList(); + }; + addDevicePage.actionAddDevicePage += action; + dialog.Close(); } if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddDimmer)) { - if (currentKey.bindList.Count != 0) + var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.AddDevicePage(currentKey, "AddDimmer"); + Shared.Phone.UserView.HomePage.Instance.AddChidren(addDevicePage); + Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; + addDevicePage.Show(); + + Action<List<BindListResponseObj>> action = (obj) => { - var bindSc = currentKey.bindList.Find(obj => (obj.BindType == 2)); - if (bindSc != null) - { - var dialog1 = new Dialog { }; - var doorDialog = new Shared.Phone.UserCenter.DoorLock.DoorlockDialog(dialog1, Language.StringByID(R.MyInternationalizationString.Tip)); - doorDialog.Show(); - doorDialog.dialogMidFraFrameLayout.Height = Application.GetRealHeight(58); - doorDialog.dialogMidFraFrameLayout.X = Application.GetRealWidth(0); - doorDialog.dialogMidFraFrameLayout.Y = Application.GetRealHeight(202); - doorDialog.dialogMidFraFrameLayout.AddChidren(doorDialog.dialogMidText); - doorDialog.dialogMidText.Text = Language.StringByID(R.MyInternationalizationString.DelLocalBindListThenAddAgain2); - doorDialog.dialogMidFraFrameLayout.AddChidren(doorDialog.dialogMidText); - doorDialog.dialogBtnConfirm.Text = Language.StringByID(R.MyInternationalizationString.DoorlockConfirm); - doorDialog.dialogBtnCancel.MouseUpEventHandler += (sender1, e1) => - { - currentKey.currentKeySelectModeText = oldKeySelectModeText; - dialog.Close(); - dialog1.Close(); - }; - doorDialog.dialogBtnConfirm.MouseUpEventHandler += async (sender1, e1) => - { - var result = await RemoveTargets(bindSc, line2); - if (result == 0) - { - var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.AddDevicePage(currentKey, "AddDimmer"); - Shared.Phone.UserView.HomePage.Instance.AddChidren(addDevicePage); - Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; - addDevicePage.Show(); - - Action<List<BindListResponseObj>> action = (obj) => - { - currentKey.bindList = obj; - RefreshList(); - }; - addDevicePage.actionAddDevicePage += action; - dialog.Close(); - dialog1.Close(); - } - else - { - currentKey.currentKeySelectModeText = oldKeySelectModeText; - dialog.Close(); - dialog1.Close(); - } - - }; - } - } - else - { - var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.AddDevicePage(currentKey, "AddDimmer"); - Shared.Phone.UserView.HomePage.Instance.AddChidren(addDevicePage); - Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; - addDevicePage.Show(); - - Action<List<BindListResponseObj>> action = (obj) => - { - currentKey.bindList = obj; - RefreshList(); - }; - addDevicePage.actionAddDevicePage += action; - dialog.Close(); - } + currentKey.bindList = obj; + RefreshList(); + }; + addDevicePage.actionAddDevicePage += action; + dialog.Close(); } if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddCurtain)) { - if (currentKey.bindList.Count != 0) - { - var bindSc = currentKey.bindList.Find(obj => (obj.BindType == 2)); - if (bindSc != null) - { - var dialog1 = new Dialog { }; - var doorDialog = new Shared.Phone.UserCenter.DoorLock.DoorlockDialog(dialog1, Language.StringByID(R.MyInternationalizationString.Tip)); - doorDialog.Show(); - doorDialog.dialogMidFraFrameLayout.Height = Application.GetRealHeight(58); - doorDialog.dialogMidFraFrameLayout.X = Application.GetRealWidth(0); - doorDialog.dialogMidFraFrameLayout.Y = Application.GetRealHeight(202); - doorDialog.dialogMidFraFrameLayout.AddChidren(doorDialog.dialogMidText); - doorDialog.dialogMidText.Text = Language.StringByID(R.MyInternationalizationString.DelLocalBindListThenAddAgain3); - doorDialog.dialogMidFraFrameLayout.AddChidren(doorDialog.dialogMidText); - doorDialog.dialogBtnConfirm.Text = Language.StringByID(R.MyInternationalizationString.DoorlockConfirm); - doorDialog.dialogBtnCancel.MouseUpEventHandler += (sender1, e1) => - { - currentKey.currentKeySelectModeText = oldKeySelectModeText; - dialog.Close(); - dialog1.Close(); - }; - doorDialog.dialogBtnConfirm.MouseUpEventHandler += async (sender1, e1) => - { - var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.AddDevicePage(currentKey, "AddCurtain"); - Shared.Phone.UserView.HomePage.Instance.AddChidren(addDevicePage); - Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; - addDevicePage.Show(); + var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.AddDevicePage(currentKey, "AddCurtain"); + Shared.Phone.UserView.HomePage.Instance.AddChidren(addDevicePage); + Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; + addDevicePage.Show(); - Action<List<BindListResponseObj>> action = (obj) => - { - currentKey.bindList = obj; - RefreshList(); - }; - addDevicePage.actionAddDevicePage += action; - dialog.Close(); - dialog1.Close(); - }; - } - } - else + Action<List<BindListResponseObj>> action = (obj) => { - var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.AddDevicePage(currentKey, "AddCurtain"); - Shared.Phone.UserView.HomePage.Instance.AddChidren(addDevicePage); - Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; - addDevicePage.Show(); - - Action<List<BindListResponseObj>> action = (obj) => - { - currentKey.bindList = obj; - RefreshList(); - }; - addDevicePage.actionAddDevicePage += action; - dialog.Close(); - } + currentKey.bindList = obj; + RefreshList(); + }; + addDevicePage.actionAddDevicePage += action; + dialog.Close(); } }; btnMethodText.MouseUpEventHandler += eHandler; @@ -1108,6 +964,13 @@ /// <returns></returns> private async System.Threading.Tasks.Task<List<int>> GetTypeMode() { + //濡傛灉褰撳墠浣忓畢鏄櫄鎷熶綇瀹� + if (Common.Config.Instance.Home.IsVirtually == true) + { + //鍒欓粯璁ゅ叏閮ㄥ姛鑳介兘缁欏畠 + typeModeList = new List<int>() { 1, 100, 200, 300, 0, 101, 102 }; + return typeModeList; + } if (typeModeList != null) { typeModeList.Clear(); @@ -1135,8 +998,9 @@ /// <param name="bindDevice"></param> /// <param name="btnDel"></param> /// <returns></returns> - private async System.Threading.Tasks.Task<int> RemoveTargets(BindListResponseObj bindDevice, Button btnDel) - { + private int RemoveTargets(BindListResponseObj bindDevice, Button btnDel) + { + int result = -1; var delDevice = new DelDeviceBindData(); delDevice.DeviceAddr = currentKey.DeviceAddr; delDevice.Epoint = currentKey.DeviceEpoint; @@ -1149,6 +1013,16 @@ removeDevice.BindMacAddr = bindDevice.BindMacAddr; removeDevice.BindEpoint = bindDevice.BindEpoint; delDevice.RemoveBindList.Add(removeDevice); + //鏄寒搴﹀啀娆″彂鍒犻櫎6鐨勫懡浠� + if (currentClusterID == 8) + { + var removeDevice2 = new RemoveBindListObj(); + removeDevice2.BindCluster = 6; + removeDevice2.BindType = 0; + removeDevice2.BindMacAddr = bindDevice.BindMacAddr; + removeDevice2.BindEpoint = bindDevice.BindEpoint; + delDevice.RemoveBindList.Add(removeDevice2); + } } else if (bindDevice.BindType == 2) { @@ -1159,120 +1033,148 @@ delDevice.RemoveBindList.Add(removeDevice); } - try + System.Threading.Tasks.Task.Run(() => { - CommonPage.Loading.Start(""); - var delResult = new DelDeviceBindResponseAllData(); - delResult = await currentKey.DelDeviceBindAsync(delDevice); - if (delResult != null && delResult.delDeviceBindResponseData != null) + try { - if (delResult.delDeviceBindResponseData?.RemoveBindList != null) + Application.RunOnMainThread(() => { - foreach (var re in delResult.delDeviceBindResponseData.RemoveBindList) + CommonPage.Loading.Start(""); + }); + var delResult = new DelDeviceBindResponseAllData(); + delResult = HdlDeviceBindLogic.Current.DelDeviceBindAsync(delDevice); + if (delResult != null && delResult.delDeviceBindResponseData != null) + { + if (delResult.delDeviceBindResponseData?.RemoveBindList != null) { - switch (re.Result) + foreach (var re in delResult.delDeviceBindResponseData.RemoveBindList) { - case 0: - currentKey.bindList.Remove(bindDevice); - RefreshList(); - //濡傛灉鏄満鏅紝鐢ㄦ埛鍒犻櫎娓呯┖褰撳墠鍒版埧闂村垪琛� - if (re.BindType == 2) - { - currentKey.panelMode = 65535; - } - currentKey.RoomId = ""; - currentKey.ReSave(); - return 0; - break; - case 1: - currentKey.bindList.Clear(); - try - { - CommonPage.Loading.Start(""); - - var getBindList = await currentKey.GetDeviceBindAsync(); - var bindDeviceListTemp = new System.Collections.Generic.List<BindListResponseObj> { }; - var bindSceneListTemp = new System.Collections.Generic.List<BindListResponseObj> { }; - if (getBindList != null) + switch (re.Result) + { + case 0: + currentKey.bindList.Remove(bindDevice); + Application.RunOnMainThread(() => { - if (getBindList.getAllBindResponseData != null) + RefreshList(); + //濡傛灉鏄満鏅紝鐢ㄦ埛鍒犻櫎娓呯┖褰撳墠鍒版埧闂村垪琛� + if (re.BindType == 2) { - foreach (var b in getBindList.getAllBindResponseData.BindList) + currentKey.panelMode = 65535; + } + currentKey.ReSave(); + }); + result = 0; + break; + case 1: + currentKey.bindList.Clear(); + try + { + Application.RunOnMainThread(() => + { + CommonPage.Loading.Start(""); + }); + var getBindList = HdlDeviceBindLogic.Current.GetDeviceBindAsync(currentKey); + var bindDeviceListTemp = new System.Collections.Generic.List<BindListResponseObj> { }; + var bindSceneListTemp = new System.Collections.Generic.List<BindListResponseObj> { }; + if (getBindList != null) + { + if (getBindList.getAllBindResponseData != null) { - if (b.BindCluster == currentClusterID) + foreach (var b in getBindList.getAllBindResponseData.BindList) { - if (b.BindCluster == 6) + if (b.BindCluster == currentClusterID) { - - if (b.BindType == 2) + if (b.BindCluster == 6) { - bindSceneListTemp.Add(b); + + if (b.BindType == 2) + { + bindSceneListTemp.Add(b); + } + else + { + bindDeviceListTemp.Add(b); + } } else { - bindDeviceListTemp.Add(b); + currentKey.bindList.Add(b); } - } - else - { - currentKey.bindList.Add(b); } } } } + if (currentKey.panelMode == 1) + { + currentKey.bindList = bindSceneListTemp; + } + else if (currentKey.panelMode == 100 || currentKey.panelMode == 101 || currentKey.panelMode == 102) + { + currentKey.bindList = bindDeviceListTemp; + } } - if (currentKey.panelMode == 1) + catch { } + finally { - currentKey.bindList = bindSceneListTemp; + Application.RunOnMainThread(() => + { + RefreshList(); + CommonPage.Loading.Hide(); + }); } - else if (currentKey.panelMode == 100 || currentKey.panelMode == 101 || currentKey.panelMode == 102) + break; + case 2: + if (delResult.removeBindResultResponseData != null) { - currentKey.bindList = bindDeviceListTemp; + if (delResult.removeBindResultResponseData.Result == 0) + { + currentKey.bindList.Remove(bindDevice); + Application.RunOnMainThread(() => + { + RefreshList(); + }); + result = 0; + } + else + { + Application.RunOnMainThread(() => + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel); + }); + } } - } - catch { } - finally - { - RefreshList(); - CommonPage.Loading.Hide(); - } - break; - case 2: - if (delResult.removeBindResultResponseData != null) - { - if (delResult.removeBindResultResponseData.Result == 0) - { - currentKey.bindList.Remove(bindDevice); - RefreshList(); - return 0; - } - else - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel); - } - } - break; - default: - break; + break; + default: + break; + } } + } + else + { + Application.RunOnMainThread(() => + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel); + }); } } else { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel); + Application.RunOnMainThread(() => + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 2 }.Show(CommonPage.Instance); + }); } } - else + catch { } + finally { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 2 }.Show(CommonPage.Instance); + Application.RunOnMainThread(() => + { + CommonPage.Loading.Hide(); + }); } - } - catch { } - finally - { - CommonPage.Loading.Hide(); - } - return -1; + }); + return result; } /// <summary> @@ -1283,18 +1185,6 @@ localDeviceList.Clear(); scList.Clear(); base.RemoveFromParent(); - } - - public void DeviceInfoChange(CommonDevice common, string typeTag) - { - } - - public void ChangedILogicStatus(ZigBee.Device.Logic logic) - { - } - - public void ChangedISceneStatus(Scene scene) - { } } } -- Gitblit v1.8.0