From 00ab3ddb140ba8bb88b5cf572b004a85e1da85e9 Mon Sep 17 00:00:00 2001 From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local> Date: 星期四, 02 一月 2020 19:51:56 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/dev-tzy' into DEV_GXC --- ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs | 984 +++++++++++++++++++++++++++++---------------------------- 1 files changed, 501 insertions(+), 483 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs index cfb5f36..02a348d 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs @@ -34,8 +34,7 @@ #region 鈼� 鍙橀噺鐢虫槑__________________________ ZigBee.Device.Panel currentKey;//褰撳墠鎸夐敭瀵硅薄 - VerticalRefreshLayout midVerticalRefreshLayout;//鏄剧ず琚粦瀹氳澶囨垨鍦烘櫙鐨剉iew - FrameLayout topFrameLayout;//鏄剧ず褰撳墠妯″紡view + VerticalFrameRefreshControl midVerticalRefreshLayout;//鏄剧ず琚粦瀹氳澶囨垨鍦烘櫙鐨剉iew int currentClusterID = 0;//鎸夐敭褰撳墠绨嘔D Button entryStatusPic; Button btnPicTip; @@ -43,6 +42,10 @@ Action<List<BindListResponseObj>> devicBindAction;//璁惧琚粦瀹氶�氱煡 private System.Collections.Generic.List<CommonDevice> localDeviceList = new System.Collections.Generic.List<CommonDevice>();//鏈湴璁惧鍒楄〃 private System.Collections.Generic.List<SceneUI> scList = new System.Collections.Generic.List<SceneUI> { };//鏈湴鍦烘櫙鍒楄〃 + FrameLayout blankFrameLayout;//绌烘暟鎹樉绀哄竷灞� + List<int> typeModeList;//鍔ㄦ�佽幏鍙栨寜閿敮鎸佺殑妯″紡澶х被鍨� + public List<ScenesListInfo> gwScenesList = new List<ScenesListInfo>();//缃戝叧涓殑鍦烘櫙鍒楄〃 + #endregion //鍒濆鍖栨寜閿暟鎹� @@ -64,16 +67,45 @@ } //鑾峰彇鏈湴鍦烘櫙鍒楄〃 scList = Shared.Common.Room.AllRoomSceneUIList; + //鑾峰彇缃戝叧鍦烘櫙琛� + var gwSceneObj = await currentKey.GetSceneInfoAsync(); + if (gwSceneObj != null && gwSceneObj.getSceneInfo != null) + { + gwScenesList = gwSceneObj.getSceneInfo.ScenesList; + } + else + { + Application.RunOnMainThread(() => + { + CommonPage.Loading.Hide(); + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance); + }); + } #region 璇诲彇闈㈡澘褰撳墠妯″紡 //璇诲彇鎸夐敭褰撳墠妯″紡 var tempDeata = await currentKey.ReadPanelConfigureInfoAsync(); if (tempDeata != null && tempDeata.deviceStatusReportData != null) { - currentClusterID = tempDeata.deviceStatusReportData.CluterID; foreach (var attr in tempDeata.deviceStatusReportData.AttriBute) { currentKey.panelMode = attr.AttriButeData; + if (currentKey.panelMode == 1) + { + currentClusterID = 6; + } + else if (currentKey.panelMode == 100 || currentKey.panelMode == 101 || currentKey.panelMode == 102) + { + currentClusterID = 6; + } + else if (currentKey.panelMode == 200 || currentKey.panelMode == 201 || currentKey.panelMode == 203 || currentKey.panelMode == 204 || currentKey.panelMode == 205) + { + currentClusterID = 8; + } + else if (currentKey.panelMode == 300 || currentKey.panelMode == 301 || currentKey.panelMode == 302 || currentKey.panelMode == 303 || currentKey.panelMode == 304) + { + currentClusterID = 258; + } currentKey.ReSave(); //璇诲彇鎸夐敭褰撳墠缁戝畾鐩爣 var getBindList = await currentKey.GetDeviceBindAsync(); @@ -81,6 +113,7 @@ var bindSceneListTemp = new System.Collections.Generic.List<BindListResponseObj> { }; if (getBindList != null && getBindList.getAllBindResponseData != null) { + currentKey.bindList.Clear(); foreach (var b in getBindList.getAllBindResponseData.BindList) { if (b.BindCluster == currentClusterID) @@ -99,7 +132,17 @@ } else { - currentKey.bindList.Add(b); + if (currentClusterID == 8) + { + if (b.BindCluster == 8) + { + currentKey.bindList.Add(b); + } + } + else + { + currentKey.bindList.Add(b); + } } } } @@ -122,7 +165,7 @@ currentKey.bindList = bindDeviceListTemp; currentKey.currentKeySelectModeText = Language.StringByID(R.MyInternationalizationString.AddSwitch); } - else if (currentKey.panelMode == 200 || currentKey.panelMode == 201 || currentKey.panelMode == 202 || currentKey.panelMode == 203 || currentKey.panelMode == 204 || currentKey.panelMode == 205) + else if (currentKey.panelMode == 200 || currentKey.panelMode == 201 || currentKey.panelMode == 203 || currentKey.panelMode == 204 || currentKey.panelMode == 205) { currentKey.currentKeySelectModeText = Language.StringByID(R.MyInternationalizationString.AddDimmer); } @@ -132,24 +175,27 @@ } } #endregion + + //鍔ㄦ�佽幏鍙栨寜閿敮鎸佺殑澶х被 + typeModeList = await GetTypeMode(); + Application.RunOnMainThread(() => + { + RefreshList(); + CommonPage.Loading.Hide(); + }); } else { Application.RunOnMainThread(() => { + CommonPage.Loading.Hide(); + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance); }); + return; } } catch { } - finally - { - Application.RunOnMainThread(() => - { - RefreshList(); - CommonPage.Loading.Hide(); - }); - } }); } @@ -159,7 +205,7 @@ public void Show() { #region TopFrameLayout - this.TopFrameLayout(this, Language.StringByID(R.MyInternationalizationString.AddBindTargets)); + this.TopFrameLayout(this, Language.StringByID(R.MyInternationalizationString.PanelBindTargets)); EventHandler<MouseEventArgs> eHandlerBack = (sender, e) => { RemoveFromParent(); @@ -193,7 +239,7 @@ { currentClusterID = 6; currentKey.panelMode = 1; - var addScenePage = new Shared.Phone.UserCenter.DeviceBind.AddScenePage(currentKey); + 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(); @@ -255,6 +301,7 @@ } else { + currentKey.panelMode = 65535; SideslipFramelayout(); } }; @@ -262,41 +309,16 @@ btnAddFrameLayout.MouseDownEventHandler += eHandlerAdd; #endregion CommonPage.Loading.Start(""); + middleFrameLayout(); InitListInfo(); } - + /// <summary> + /// 涓儴甯冨眬 + /// </summary> void middleFrameLayout() { - topFrameLayout = new FrameLayout - { - Height = Application.GetMinRealAverage(0), - BackgroundColor = Shared.Common.ZigbeeColor.Current.XMWhite, - }; - this.midFrameLayout.AddChidren(topFrameLayout); - - #region BindEmptyPic UI - entryStatusPic = new Button - { - X = Application.GetRealWidth(213), - Y = Application.GetRealHeight(418), - UnSelectedImagePath = "BindPic/BindEmptyPic.png", - Visible = false, - }; - this.midFrameLayout.AddChidren(entryStatusPic); - - btnPicTip = new Button - { - Y = Application.GetRealHeight(1020), - Text = Language.StringByID(R.MyInternationalizationString.NoControlTargets), - TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, - Gravity = Gravity.CenterHorizontal, - Visible = false, - }; - this.midFrameLayout.AddChidren(btnPicTip); - #endregion - - midVerticalRefreshLayout = new VerticalRefreshLayout() + midVerticalRefreshLayout = new VerticalFrameRefreshControl(29) { }; this.midFrameLayout.AddChidren(midVerticalRefreshLayout); @@ -306,24 +328,48 @@ InitListInfo(); midVerticalRefreshLayout.EndHeaderRefreshing(); }; + + BlankPicUI(); } + /// <summary> + /// 绌烘暟鎹甎I鏄剧ず + /// </summary> + void BlankPicUI() + { + blankFrameLayout = new FrameLayout + { + }; + midVerticalRefreshLayout.AddChidren(blankFrameLayout); + + entryStatusPic = new Button + { + X = Application.GetRealWidth(213), + Y = Application.GetRealHeight(418), + UnSelectedImagePath = "BindPic/BindEmptyPic.png", + Visible = false, + }; + blankFrameLayout.AddChidren(entryStatusPic); + + btnPicTip = new Button + { + Y = Application.GetRealHeight(1020), + Text = Language.StringByID(R.MyInternationalizationString.NoControlTargets), + TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, + Gravity = Gravity.CenterHorizontal, + Visible = false, + TextSize = 12, + }; + blankFrameLayout.AddChidren(btnPicTip); + } /// <summary> /// 鎸夐敭缁戝畾琛ㄦ樉绀� /// </summary> async void RefreshList() { + midVerticalRefreshLayout.RemoveAll(); this.midFrameLayout.RemoveAll(); middleFrameLayout(); - midVerticalRefreshLayout.RemoveAll(); - - var frameLayoutRow = new FrameLayout() - { - Height = Application.GetMinRealAverage(0), - BackgroundColor = Shared.Common.ZigbeeColor.Current.XMWhite, - }; - midVerticalRefreshLayout.AddChidren(frameLayoutRow); - #region 鏁版嵁澶勭悊 if (currentKey.bindList.Count == 0) { @@ -332,7 +378,7 @@ btnPicTip.Height = Application.GetRealHeight(49); btnPicTip.Visible = true; entryStatusPic.Visible = true; - midVerticalRefreshLayout.Height = Application.GetRealHeight(0); + blankFrameLayout.Height = midVerticalRefreshLayout.Height; } else { @@ -341,15 +387,13 @@ btnPicTip.Height = Application.GetRealHeight(0); btnPicTip.Visible = false; entryStatusPic.Visible = false; + blankFrameLayout.Height = Application.GetRealHeight(0); if (currentKey.panelMode == 1) { - topFrameLayout.Height = Application.GetRealHeight(0); midVerticalRefreshLayout.Y = Application.GetRealHeight(0); } else { - topFrameLayout.Height = Application.GetRealHeight(150); - midVerticalRefreshLayout.Y = Application.GetRealHeight(150); BindModeDisplay(); } int curIndex = 0; @@ -360,61 +404,17 @@ SceneUI curSceneUI = null; bool isExistScene = false; - var rowLayout = new RowLayout() - { - Height = Application.GetRealHeight(150), - X = Application.GetRealWidth(58), - Y = curIndex * Application.GetRealHeight(150), - Width = Application.GetRealWidth(965), - LineColor = Shared.Common.ZigbeeColor.Current.XMRowLine, - }; - frameLayoutRow.AddChidren(rowLayout); - - #region 缁戝畾琛║I鏄撅紙鏃犳暟鎹鐞嗭級 - var devicePic = new Button() - { - Y = Application.GetRealHeight(35), - Width = Application.GetMinRealAverage(81), - Height = Application.GetMinRealAverage(81), - }; - rowLayout.AddChidren(devicePic); - - var btnBindName = new Button() - { - Width = Application.GetRealWidth(1080 - 173), - Height = Application.GetRealHeight(60), - X = Application.GetRealWidth(173 - 58), - Y = Application.GetRealHeight(20), - TextSize = 14, - TextColor = Shared.Common.ZigbeeColor.Current.XMBlack, - TextAlignment = TextAlignment.CenterLeft, - }; - rowLayout.AddChidren(btnBindName); - - var btnFloorRoomName = new Button() - { - Width = Application.GetRealWidth(1080 - 173), - Height = Application.GetRealHeight(49), - X = Application.GetRealWidth(173 - 58), - Y = Application.GetRealHeight(81), - TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, - TextSize = 14, - TextAlignment = TextAlignment.CenterLeft, - }; - rowLayout.AddChidren(btnFloorRoomName); - - var btnDel = new Button() - { - TextColor = Shared.Common.ZigbeeColor.Current.GXCTextWhiteColor, - Width = Application.GetRealWidth(184), - TextID = R.MyInternationalizationString.DelBindDevice, - BackgroundColor = Shared.Common.ZigbeeColor.Current.DelRowLayout, - }; - rowLayout.AddRightView(btnDel); - #endregion + var rowLayout = new RowLayoutControl(midVerticalRefreshLayout.rowSpace / 2); + rowLayout.BackgroundColor = ZigbeeColor.Current.XMWhite; + midVerticalRefreshLayout.AddChidrenRow(rowLayout); + rowLayout.frameTable.UseClickStatu = false; + var devicePic = rowLayout.frameTable.AddLeftIcon(); + devicePic.UnSelectedImagePath = "DoorLock/DoorLockUserPic.png"; #region 缁戝畾鏁版嵁澶勭悊 int currentIndex = i; + var btnBindNameText = ""; + var btnFloorRoomNameText = ""; if (currentIndex == currentKey.bindList.Count - 1) { rowLayout.LineColor = Shared.Common.ZigbeeColor.Current.XMWhite; @@ -428,24 +428,26 @@ } if (isExistScene) { - curSceneUI = Room.CurrentRoom.GetSceneUIBySceneId(bindDevice.BindScenesId); + curSceneUI = Room.CurrentRoom.GetSceneUIBySceneId(bindDevice.BindScenesId); + devicePic.UnSelectedImagePath = "Scene/SceneIcon.png"; if (curSceneUI == null) { - devicePic.UnSelectedImagePath = "Scene/SceneIcon.png"; if (string.IsNullOrEmpty(bindDevice.ESName)) { - btnBindName.Text = Language.StringByID(R.MyInternationalizationString.OffLineScene) + "_" + "ID" + "_" + bindDevice.BindScenesId.ToString(); + btnBindNameText = Language.StringByID(R.MyInternationalizationString.OffLineScene) + "_" + "ID" + "_" + bindDevice.BindScenesId.ToString(); } else { - btnBindName.Text = Language.StringByID(R.MyInternationalizationString.OffLineScene) + "_" + bindDevice.ESName; + btnBindNameText = Language.StringByID(R.MyInternationalizationString.OffLineScene) + "_" + bindDevice.ESName; } } else { - devicePic.UnSelectedImagePath = curSceneUI.IconPath; - btnBindName.Text = curSceneUI.Name; - btnFloorRoomName.Text = curSceneUI.GetZone(); + btnBindNameText = curSceneUI.Name; + if (curSceneUI.GetZone() != null) + { + btnFloorRoomNameText = curSceneUI.GetZone(); + } } } else @@ -458,29 +460,42 @@ { //鑾峰彇璁惧鎵�灞炴埧闂� var tempDevRoom = Common.Room.CurrentRoom.GetRoomByDevice(tempDev); - //鑾峰彇璁惧鎵�鍦ㄦゼ灞� - var tempDevFloorId = tempDevRoom.FloorId; - //鑾峰彇妤煎眰鐨勫悕瀛� - var tempDevRoomName = tempDevRoom.Name; - //鑾峰彇妤煎眰鐨勫悕瀛� - var tempDevFloorName = Common.Config.Instance.Home.GetFloorNameById(tempDevFloorId); - btnFloorRoomName.Text = tempDevFloorName + "," + tempDevRoomName; + + if (tempDevRoom != null) + { + var tempDevFloorId = tempDevRoom.FloorId; + //鑾峰彇鎴块棿鐨勫悕瀛� + var tempDevRoomName = tempDevRoom.Name; + //鑾峰彇妤煎眰鐨勫悕瀛� + var tempDevFloorName = Common.Config.Instance.Home.GetFloorNameById(tempDevFloorId); + if (string.IsNullOrEmpty(tempDevFloorName)) + { + btnFloorRoomNameText = tempDevRoomName; + } + else + { + btnFloorRoomNameText = tempDevFloorName + "," + tempDevRoomName; + } + } var deviceUi = Common.LocalDevice.Current.GetDeviceUI(tempDev); - devicePic.UnSelectedImagePath = deviceUi.IconPath; - devicePic.Width = Application.GetRealWidth(110); - devicePic.Text = ""; + if (deviceUi != null) + { + devicePic.UnSelectedImagePath = deviceUi.IconPath; + devicePic.Width = Application.GetRealWidth(110); + devicePic.Text = ""; + } if (tempDev.DeviceEpointName == "") { - btnBindName.Text = tempDev.DeviceEpoint + Language.StringByID(R.MyInternationalizationString.uDeviceCircuit); + btnBindNameText = tempDev.DeviceEpoint + Language.StringByID(R.MyInternationalizationString.uDeviceCircuit); } else { - btnBindName.Text = tempDev.DeviceEpointName; + btnBindNameText = tempDev.DeviceEpointName; } } else { - btnBindName.Text = bindDevice.BindMacAddr + "_" + bindDevice.BindEpoint; + btnBindNameText = bindDevice.BindMacAddr + "_" + bindDevice.BindEpoint; devicePic.Width = Application.GetMinRealAverage(200); devicePic.TextAlignment = TextAlignment.CenterLeft; devicePic.TextColor = UserCenterColor.Current.Gray; @@ -489,14 +504,17 @@ } } - //鍒犻櫎浜嬩欢澶勭悊 - btnDel.MouseUpEventHandler += async (sender, e) => + var btnBindName = rowLayout.frameTable.AddTopView(btnBindNameText, 800); + var btnFloorRoomName = rowLayout.frameTable.AddBottomView(btnFloorRoomNameText, 800); + rowLayout.frameTable.AddBottomLine(); + var btnDel = rowLayout.AddDeleteControl(); + btnDel.ButtonClickEvent += async (sender, e) => { RemoveTargets(bindDevice, btnDel); }; #endregion } - frameLayoutRow.Height = currentKey.bindList.Count * Application.GetRealHeight(150); + midVerticalRefreshLayout.AdjustTableHeight(Application.GetRealHeight(23)); } #endregion } @@ -506,156 +524,129 @@ /// </summary> public void BindModeDisplay() { - #region modeRowLayout - var modeRowLayout = new RowLayout() - { - Height = Application.GetRealHeight(150), - X = Application.GetRealWidth(58), - Width = Application.GetRealWidth(965), - LineColor = Shared.Common.ZigbeeColor.Current.XMRowLine, - }; - topFrameLayout.AddChidren(modeRowLayout); - - var btnKeyMode = new Button - { - Y = Application.GetRealHeight(63), - Width = Application.GetMinRealAverage(294), - Height = Application.GetMinRealAverage(58), - Text = Language.StringByID(R.MyInternationalizationString.keyMode), - TextColor = Shared.Common.ZigbeeColor.Current.XMBlack, - TextAlignment = TextAlignment.CenterLeft, - }; - modeRowLayout.AddChidren(btnKeyMode); - - var btnKeyModeTip = new Button - { - X = Application.GetRealWidth(374 - 58), - Y = Application.GetRealHeight(63), - Width = Application.GetMinRealAverage(615), - Height = Application.GetMinRealAverage(58), - TextAlignment = TextAlignment.CenterRight, - TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, - }; - modeRowLayout.AddChidren(btnKeyModeTip); - - var btnDel = new Button() - { - Width = Application.GetMinRealAverage(184), - TextColor = Shared.Common.ZigbeeColor.Current.GXCTextWhiteColor, - TextID = R.MyInternationalizationString.DelBindDevice, - BackgroundColor = Shared.Common.ZigbeeColor.Current.DelRowLayout, - }; - modeRowLayout.AddRightView(btnDel); - #endregion - + var modeRowLayout = new RowLayoutControl(midVerticalRefreshLayout.rowSpace / 2); + modeRowLayout.BackgroundColor = ZigbeeColor.Current.XMWhite; + midVerticalRefreshLayout.AddChidrenRow(modeRowLayout); + modeRowLayout.frameTable.UseClickStatu = false; + modeRowLayout.frameTable.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.keyMode), 500); + var btnKeyModeTipText = ""; #region 褰撳墠妯″紡鏂囨湰鏄剧ず switch (currentKey.panelMode) { case 100: - btnKeyModeTip.TextID = R.MyInternationalizationString.OnOffOn; + btnKeyModeTipText = Language.StringByID(R.MyInternationalizationString.OnOffOn); break; case 101: - btnKeyModeTip.TextID = R.MyInternationalizationString.OnOffoFF; + btnKeyModeTipText = Language.StringByID(R.MyInternationalizationString.OnOffoFF); break; case 102: - btnKeyModeTip.TextID = R.MyInternationalizationString.OnOffOnOff; + btnKeyModeTipText = Language.StringByID(R.MyInternationalizationString.OnOffOnOff); break; case 200: - btnKeyModeTip.TextID = R.MyInternationalizationString.DimmerMode1; + btnKeyModeTipText = Language.StringByID(R.MyInternationalizationString.DimmerMode1); break; case 201: - btnKeyModeTip.TextID = R.MyInternationalizationString.DimmerMode2; + btnKeyModeTipText = Language.StringByID(R.MyInternationalizationString.DimmerMode2); break; case 203: - btnKeyModeTip.TextID = R.MyInternationalizationString.DimmerMode3; + btnKeyModeTipText = Language.StringByID(R.MyInternationalizationString.DimmerMode3); break; case 204: - btnKeyModeTip.TextID = R.MyInternationalizationString.DimmerMode4; + btnKeyModeTipText = Language.StringByID(R.MyInternationalizationString.DimmerMode4); break; case 205: - btnKeyModeTip.TextID = R.MyInternationalizationString.DimmerMode5; + btnKeyModeTipText = Language.StringByID(R.MyInternationalizationString.DimmerMode5); break; case 300: - btnKeyModeTip.TextID = R.MyInternationalizationString.WcdUp; + btnKeyModeTipText = Language.StringByID(R.MyInternationalizationString.WcdUp); break; case 301: - btnKeyModeTip.TextID = R.MyInternationalizationString.WcdDown; + btnKeyModeTipText = Language.StringByID(R.MyInternationalizationString.WcdDown); break; case 302: - btnKeyModeTip.TextID = R.MyInternationalizationString.WcdStop; + btnKeyModeTipText = Language.StringByID(R.MyInternationalizationString.WcdStop); break; case 303: - btnKeyModeTip.TextID = R.MyInternationalizationString.WcdUpStop; + btnKeyModeTipText = Language.StringByID(R.MyInternationalizationString.WcdUpStop); break; case 304: - btnKeyModeTip.TextID = R.MyInternationalizationString.WcdDownStop; + btnKeyModeTipText = Language.StringByID(R.MyInternationalizationString.WcdDownStop); break; } #endregion - + modeRowLayout.frameTable.AddMostRightView(btnKeyModeTipText, 500); + modeRowLayout.frameTable.AddBottomLine(); + var btnDel = modeRowLayout.AddDeleteControl(); //涓�閿竻闄ゆ寜閿簨浠� - btnDel.MouseUpEventHandler += async (sender, e) => + btnDel.ButtonClickEvent += async (sender, e) => { - bool isDelSuccess = false; - try - { - CommonPage.Loading.Start(""); - var bindResult = await currentKey.ClearBindInfoAsync(); - if (bindResult != null && bindResult.clearBindInfoResponseData != null) - { - if (bindResult.clearBindInfoResponseData.Result != 0) - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDel); - CommonPage.Loading.Hide(); - return; - } - else - { - var temp = await currentKey.ConfigureHdlKeyValueAsync(Panel.KeyMode.Default); - if (temp.setWritableValueResponData?.Status != 0) - { - var temp1 = await currentKey.ConfigureHdlKeyValueAsync(Panel.KeyMode.Default); - if (temp1.setWritableValueResponData?.Status != 0) - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.ChangeBindMode), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel); - } - else - { - isDelSuccess = true; - } - } - else - { - isDelSuccess = true; - } - } - } - else - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel); - } - } - catch { } - finally - { - if (isDelSuccess) - { - currentKey.panelMode = 65535; - currentKey.bindList.Clear(); - RefreshList(); - //濡傛灉鏄満鏅紝鐢ㄦ埛鍒犻櫎娓呯┖褰撳墠鍒版埧闂村垪琛� - currentKey.RoomId = ""; - currentKey.ReSave(); - } - CommonPage.Loading.Hide(); - } + string msg = Language.StringByID(R.MyInternationalizationString.ClearAllTargets).Replace("{0}", "\r\n"); + var alert = new Shared.Phone.UserCenter.ShowMsgControl(ShowMsgType.Confirm, msg, Language.StringByID(R.MyInternationalizationString.DoorlockConfirm)); + alert.Show(); + //浣跨敤纭鍨嬪脊妗嗘椂,鐨勫洖璋冨嚱鏁� + alert.ConfirmClickEvent += async () => + { + bool isDelSuccess = false; + try + { + CommonPage.Loading.Start(""); + var bindResult = await currentKey.ClearBindInfoAsync(); + if (bindResult != null && bindResult.clearBindInfoResponseData != null) + { + if (bindResult.clearBindInfoResponseData.Result != 0) + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDel); + CommonPage.Loading.Hide(); + return; + } + else + { + var temp = await currentKey.ConfigureHdlKeyValueAsync(Panel.KeyMode.Default); + if (temp.setWritableValueResponData?.Status != 0) + { + var temp1 = await currentKey.ConfigureHdlKeyValueAsync(Panel.KeyMode.Default); + if (temp1.setWritableValueResponData?.Status != 0) + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.ChangeBindMode), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel); + } + else + { + isDelSuccess = true; + } + } + else + { + isDelSuccess = true; + } + } + } + else + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel); + } + } + catch { } + finally + { + if (isDelSuccess) + { + currentKey.panelMode = 65535; + currentKey.bindList.Clear(); + RefreshList(); + //濡傛灉鏄満鏅紝鐢ㄦ埛鍒犻櫎娓呯┖褰撳墠鍒版埧闂村垪琛� + currentKey.RoomId = ""; + currentKey.ReSave(); + } + CommonPage.Loading.Hide(); + } + }; }; } /// <summary> /// 渚ц竟瀵艰埅鏍� /// </summary> - void SideslipFramelayout() + async void SideslipFramelayout() { #region UI var dialog = new Dialog { }; @@ -688,7 +679,29 @@ Button oldbuttonText = null; string oldKeySelectModeText = currentKey.currentKeySelectModeText; - for (var i = 0; i < 4; i++) + + if (typeModeList == null) + { + //鍐嶆鍔ㄦ�佽幏鍙栨寜閿敮鎸佺殑澶х被 + 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(); + dialog.Close(); + return; + } + else + { + CommonPage.Loading.Hide(); + } + } + + foreach (var value in typeModeList) { #region rowView var rowView = new FrameLayout() @@ -705,6 +718,7 @@ Y = Application.GetRealHeight(69), TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, TextSize = 14, + IsBold = false, TextAlignment = TextAlignment.CenterLeft, }; rowView.AddChidren(btnMethodText); @@ -719,64 +733,78 @@ }; rowView.AddChidren(line2); - if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddScene) && i == 0) + if (string.IsNullOrEmpty(currentKey.currentKeySelectModeText) && value == 1) { btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack; + btnMethodText.IsBold = true; oldbuttonText = btnMethodText; } - else if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddSwitch) && i == 1) + if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddScene) && value == 1) { btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack; + btnMethodText.IsBold = true; oldbuttonText = btnMethodText; } - else if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddDimmer) && i == 2) + else if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddSwitch) && value == 100) { btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack; + btnMethodText.IsBold = true; oldbuttonText = btnMethodText; } - else if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddCurtain) && i == 3) + else if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddDimmer) && value == 200) { btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack; + btnMethodText.IsBold = true; + oldbuttonText = btnMethodText; + } + else if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddCurtain) && value == 300) + { + btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack; + btnMethodText.IsBold = true; oldbuttonText = btnMethodText; } #endregion #region 鏁版嵁澶勭悊 - switch (i) + switch (value) { - case 0: + case 1: btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.AddScene); break; - case 1: + case 100: btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.AddSwitch); break; - case 2: + case 200: btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.AddDimmer); break; - case 3: + case 300: btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.AddCurtain); line2.Visible = false; break; } - if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddScene) && i == 0) + if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddScene) && value == 1) { btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack; + btnMethodText.IsBold = true; oldbuttonText = btnMethodText; } - if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddSwitch) && i == 1) + if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddSwitch) && value == 100) { btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack; + btnMethodText.IsBold = true; oldbuttonText = btnMethodText; } - if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddDimmer) && i == 2) + if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddDimmer) && value == 200) { btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack; + btnMethodText.IsBold = true; oldbuttonText = btnMethodText; } - if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddCurtain) && i == 3) + if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddCurtain) && value == 300) { btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack; + btnMethodText.IsBold = true; oldbuttonText = btnMethodText; } #endregion @@ -801,47 +829,39 @@ var bindSc = currentKey.bindList.Find(obj => (obj.BindType == 2)); if (bindSc != null) { - var alert = new Alert(Language.StringByID(R.MyInternationalizationString.Tip), Language.StringByID(R.MyInternationalizationString.DelLocalBindListThenAddAgain), - Language.StringByID(R.MyInternationalizationString.Cancel), Language.StringByID(R.MyInternationalizationString.Confrim)); + 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(); - alert.ResultEventHandler += async (s1, e1) => - { - if (e1) - { - var result = await RemoveTargets(bindSc, line2); - if (result == 0) - { - 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 - { - currentKey.currentKeySelectModeText = oldKeySelectModeText; - dialog.Close(); - } - }; + Action<List<BindListResponseObj>> action = (obj) => + { + currentKey.bindList = obj; + RefreshList(); + }; + addScenePage.action += action; + dialog.Close(); + } + else + { + currentKey.currentKeySelectModeText = oldKeySelectModeText; + dialog.Close(); + } + }; } } else { - var addScenePage = new Shared.Phone.UserCenter.DeviceBind.AddScenePage(currentKey); + 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(); @@ -862,42 +882,34 @@ var bindSc = currentKey.bindList.Find(obj => (obj.BindType == 2)); if (bindSc != null) { - var alert = new Alert(Language.StringByID(R.MyInternationalizationString.Tip), Language.StringByID(R.MyInternationalizationString.DelLocalBindListThenAddAgain1), - Language.StringByID(R.MyInternationalizationString.Cancel), Language.StringByID(R.MyInternationalizationString.Confrim)); + 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(); - alert.ResultEventHandler += async (s1, e1) => - { - if (e1) - { - 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(); - - Action<List<BindListResponseObj>> action = (obj) => - { - currentKey.bindList = obj; - RefreshList(); - }; - addDevicePage.actionAddDevicePage += action; - dialog.Close(); - } - else - { - currentKey.currentKeySelectModeText = oldKeySelectModeText; - dialog.Close(); - } - } - else - { - currentKey.currentKeySelectModeText = oldKeySelectModeText; - dialog.Close(); - } - }; + Action<List<BindListResponseObj>> action = (obj) => + { + currentKey.bindList = obj; + RefreshList(); + }; + addDevicePage.actionAddDevicePage += action; + dialog.Close(); + } + else + { + currentKey.currentKeySelectModeText = oldKeySelectModeText; + dialog.Close(); + } + }; } } else @@ -923,41 +935,48 @@ var bindSc = currentKey.bindList.Find(obj => (obj.BindType == 2)); if (bindSc != null) { - var alert = new Alert(Language.StringByID(R.MyInternationalizationString.Tip), Language.StringByID(R.MyInternationalizationString.DelLocalBindListThenAddAgain2), - Language.StringByID(R.MyInternationalizationString.Cancel), Language.StringByID(R.MyInternationalizationString.Confrim)); - alert.Show(); - - alert.ResultEventHandler += async (s1, e1) => + 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) => { - if (e1) + currentKey.currentKeySelectModeText = oldKeySelectModeText; + dialog.Close(); + dialog1.Close(); + }; + doorDialog.dialogBtnConfirm.MouseUpEventHandler += async (sender1, e1) => + { + var result = await RemoveTargets(bindSc, line2); + if (result == 0) { - 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(); + 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(); - } - else + Action<List<BindListResponseObj>> action = (obj) => { - currentKey.currentKeySelectModeText = oldKeySelectModeText; - dialog.Close(); - } + currentKey.bindList = obj; + RefreshList(); + }; + addDevicePage.actionAddDevicePage += action; + dialog.Close(); + dialog1.Close(); } else { currentKey.currentKeySelectModeText = oldKeySelectModeText; dialog.Close(); + dialog1.Close(); } + }; } } @@ -976,8 +995,6 @@ addDevicePage.actionAddDevicePage += action; dialog.Close(); } - - } if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddCurtain)) { @@ -986,32 +1003,37 @@ var bindSc = currentKey.bindList.Find(obj => (obj.BindType == 2)); if (bindSc != null) { - var alert = new Alert(Language.StringByID(R.MyInternationalizationString.Tip), Language.StringByID(R.MyInternationalizationString.DelLocalBindListThenAddAgain3), - Language.StringByID(R.MyInternationalizationString.Cancel), Language.StringByID(R.MyInternationalizationString.Confrim)); - alert.Show(); - - alert.ResultEventHandler += async (s1, e1) => + 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) => { - if (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(); + 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(); - Action<List<BindListResponseObj>> action = (obj) => - { - currentKey.bindList = obj; - RefreshList(); - }; - addDevicePage.actionAddDevicePage += action; - dialog.Close(); - } - else + Action<List<BindListResponseObj>> action = (obj) => { - currentKey.currentKeySelectModeText = oldKeySelectModeText; - dialog.Close(); - } + currentKey.bindList = obj; + RefreshList(); + }; + addDevicePage.actionAddDevicePage += action; + dialog.Close(); + dialog1.Close(); }; } } @@ -1037,13 +1059,37 @@ } } + //鑾峰彇鎸夐敭鏀寔鐨勫ぇ绫� + private async System.Threading.Tasks.Task<List<int>> GetTypeMode() + { + if (typeModeList != null) + { + typeModeList.Clear(); + } + if (currentKey.privateFuncSecondLevelList.Count == 0 || currentKey.privateFuncSecondLevelList.Contains(1) == false || currentKey.privateFuncSecondLevelList.Contains(100) == false || currentKey.privateFuncSecondLevelList.Contains(200) == false || currentKey.privateFuncSecondLevelList.Contains(300) == false) + { + //鑾峰彇绗簩绾у姛鑳� + typeModeList = await currentKey.GetPanelDeviceFunctionLevel2(256); + if (typeModeList == null) + { + return null; + } + currentKey.privateFuncSecondLevelList = typeModeList; + } + else + { + typeModeList = currentKey.privateFuncSecondLevelList; + } + return typeModeList; + } + /// <summary> /// 鍒犻櫎褰撳墠鐩爣鏂规硶 /// </summary> /// <param name="bindDevice"></param> /// <param name="btnDel"></param> /// <returns></returns> - async System.Threading.Tasks.Task<int> RemoveTargets(BindListResponseObj bindDevice, Button btnDel) + private async System.Threading.Tasks.Task<int> RemoveTargets(BindListResponseObj bindDevice, Button btnDel) { var delDevice = new DelDeviceBindData(); delDevice.DeviceAddr = currentKey.DeviceAddr; @@ -1072,136 +1118,107 @@ CommonPage.Loading.Start(""); var delResult = new DelDeviceBindResponseAllData(); delResult = await currentKey.DelDeviceBindAsync(delDevice); - //if (delResult != null) - //{ - // 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.None, CloseTime = 2 }.Show(CommonPage.Instance); - // } - // } - // else if (delResult.delDeviceBindResponseData != null) - // { - // foreach (var remTarget in delResult.delDeviceBindResponseData.RemoveBindList) - // { - // if (remTarget.Result == 0) - // { - // currentKey.bindList.Remove(bindDevice); - // RefreshList(); - // //濡傛灉鏄満鏅紝鐢ㄦ埛鍒犻櫎娓呯┖褰撳墠鍒版埧闂村垪琛� - // currentKey.RoomId = ""; - // currentKey.ReSave(); - // return 0; - // } - // else - // { - // new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.None, CloseTime = 2 }.Show(CommonPage.Instance); - // } - // } - // } - //} - //else - //{ - // new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 2 }.Show(CommonPage.Instance); - //} - - if (delResult.delDeviceBindResponseData?.RemoveBindList != null) + if (delResult != null && delResult.delDeviceBindResponseData != null) { - foreach (var re in delResult.delDeviceBindResponseData.RemoveBindList) + if (delResult.delDeviceBindResponseData?.RemoveBindList != null) { - switch (re.Result) + foreach (var re in delResult.delDeviceBindResponseData.RemoveBindList) { - case 0: - currentKey.bindList.Remove(bindDevice); - RefreshList(); - //濡傛灉鏄満鏅紝鐢ㄦ埛鍒犻櫎娓呯┖褰撳墠鍒版埧闂村垪琛� - 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); + RefreshList(); + //濡傛灉鏄満鏅紝鐢ㄦ埛鍒犻櫎娓呯┖褰撳墠鍒版埧闂村垪琛� + if (re.BindType == 2) { - if (getBindList.getAllBindResponseData != null) - { - foreach (var b in getBindList.getAllBindResponseData.BindList) - { - if (b.BindCluster == currentClusterID) - { - if (b.BindCluster == 6) - { + currentKey.panelMode = 65535; + } + currentKey.RoomId = ""; + currentKey.ReSave(); + return 0; + break; + case 1: + currentKey.bindList.Clear(); + try + { + CommonPage.Loading.Start(""); - if (b.BindType == 2) + var getBindList = await currentKey.GetDeviceBindAsync(); + var bindDeviceListTemp = new System.Collections.Generic.List<BindListResponseObj> { }; + var bindSceneListTemp = new System.Collections.Generic.List<BindListResponseObj> { }; + if (getBindList != null) + { + if (getBindList.getAllBindResponseData != null) + { + foreach (var b in getBindList.getAllBindResponseData.BindList) + { + if (b.BindCluster == currentClusterID) + { + 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; - } - else if (currentKey.panelMode == 100 || currentKey.panelMode == 101 || currentKey.panelMode == 102) - { - currentKey.bindList = bindDeviceListTemp; - } - } - 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; + CommonPage.Loading.Hide(); } - else + break; + case 2: + if (delResult.removeBindResultResponseData != null) { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel); + 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 + { + 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); + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 2 }.Show(CommonPage.Instance); } } catch { } @@ -1235,3 +1252,4 @@ } } } + -- Gitblit v1.8.0