From 3a26f6025130dcaae4aa82ea19b16ad902450eb8 Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期四, 28 十一月 2019 11:43:47 +0800 Subject: [PATCH] 合并全部代码完成 --- ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs | 974 ++++++++++++++++++++++++++++++-------------------------- 1 files changed, 519 insertions(+), 455 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs index d48b821..9b61629 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs @@ -1,4 +1,5 @@ 锘縰sing System; +using System.Collections; using System.Collections.Generic; using Shared.Common; using ZigBee.Device; @@ -32,18 +33,132 @@ } #region 鈼� 鍙橀噺鐢虫槑__________________________ - ZigBee.Device.Panel currentKey; - VerticalScrolViewLayout midVerticalScrolViewLayout;//鏄剧ず琚粦瀹氳澶囨垨鍦烘櫙鐨剉iew - VerticalScrolViewLayout topMidVerticalScrolViewLayout;//鏄剧ず褰撳墠妯″紡view - int currentClusterID = 0;//褰撳墠绨嘔D + ZigBee.Device.Panel currentKey;//褰撳墠鎸夐敭瀵硅薄 + VerticalRefreshLayout midVerticalRefreshLayout;//鏄剧ず琚粦瀹氳澶囨垨鍦烘櫙鐨剉iew + FrameLayout topFrameLayout;//鏄剧ず褰撳墠妯″紡view + int currentClusterID = 0;//鎸夐敭褰撳墠绨嘔D + Button entryStatusPic; + Button btnPicTip; Action<List<BindListResponseObj>> action;//鎸夐敭缁戝畾琛ㄩ�氱煡 - public static System.Collections.Generic.List<CommonDevice> localDeviceList = new System.Collections.Generic.List<CommonDevice>();//鏈湴璁惧鍒楄〃 - public static System.Collections.Generic.List<SceneUI> scList = new System.Collections.Generic.List<SceneUI> { };//鏈湴鍦烘櫙鍒楄〃 - Action<List<BindListResponseObj>> devicBindAction; + 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> { };//鏈湴鍦烘櫙鍒楄〃 #endregion + //鍒濆鍖栨寜閿暟鎹� + private void InitListInfo() + { + System.Threading.Tasks.Task.Run(async () => + { + try + { + Application.RunOnMainThread(() => + { + }); + localDeviceList.Clear(); + scList.Clear(); + //鑾峰彇鏈湴璁惧鍒楄〃 + foreach (var dev in Shared.Common.LocalDevice.Current.listAllDevice) + { + localDeviceList.Add(dev); + } + //鑾峰彇鏈湴鍦烘櫙鍒楄〃 + scList = Shared.Common.Room.AllRoomSceneUIList; + + #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; + currentKey.ReSave(); + //璇诲彇鎸夐敭褰撳墠缁戝畾鐩爣 + var getBindList = await currentKey.GetDeviceBindAsync(); + var bindDeviceListTemp = new System.Collections.Generic.List<BindListResponseObj> { }; + var bindSceneListTemp = new System.Collections.Generic.List<BindListResponseObj> { }; + if (getBindList != null && getBindList.getAllBindResponseData != null) + { + foreach (var b in getBindList.getAllBindResponseData.BindList) + { + if (b.BindCluster == currentClusterID) + { + if (b.BindCluster == 6) + { + + if (b.BindType == 2) + { + bindSceneListTemp.Add(b); + } + else + { + bindDeviceListTemp.Add(b); + } + } + else + { + currentKey.bindList.Add(b); + } + } + } + } + else + { + Application.RunOnMainThread(() => + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance); + }); + } + + if (currentKey.panelMode == 1) + { + currentKey.bindList = bindSceneListTemp; + currentKey.currentKeySelectModeText = Language.StringByID(R.MyInternationalizationString.AddScene); + } + else if (currentKey.panelMode == 100 || currentKey.panelMode == 101 || currentKey.panelMode == 102) + { + 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) + { + currentKey.currentKeySelectModeText = Language.StringByID(R.MyInternationalizationString.AddDimmer); + } + else if (currentKey.panelMode == 300 || currentKey.panelMode == 301 || currentKey.panelMode == 302 || currentKey.panelMode == 303 || currentKey.panelMode == 304) + { + currentKey.currentKeySelectModeText = Language.StringByID(R.MyInternationalizationString.AddCurtain); + } + } + #endregion + } + else + { + Application.RunOnMainThread(() => + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance); + }); + } + } + catch { } + finally + { + Application.RunOnMainThread(() => + { + RefreshList(); + CommonPage.Loading.Hide(); + }); + } + }); + } + + /// <summary> + /// 鎸夐敭缁戝畾椤垫樉绀� + /// </summary> public void Show() { + #region TopFrameLayout this.TopFrameLayout(this, Language.StringByID(R.MyInternationalizationString.AddBindTargets)); EventHandler<MouseEventArgs> eHandlerBack = (sender, e) => { @@ -67,6 +182,9 @@ UnSelectedImagePath = "BindPic/BindAdd.png", }; btnAddFrameLayout.AddChidren(btnBindAdd); + #endregion + + #region eHandlerAdd EventHandler<MouseEventArgs> eHandlerAdd = (sender, e) => { if (currentKey.bindList.Count != 0) @@ -142,144 +260,33 @@ }; btnBindAdd.MouseDownEventHandler += eHandlerAdd; btnAddFrameLayout.MouseDownEventHandler += eHandlerAdd; - MidFrameLayoutContent(); + #endregion + CommonPage.Loading.Start(""); + InitListInfo(); + } - async void MidFrameLayoutContent() + void middleFrameLayout() { - try + topFrameLayout = new FrameLayout { - localDeviceList.Clear(); - scList.Clear(); - foreach (var dev in Shared.Common.LocalDevice.Current.listAllDevice) - { - localDeviceList.Add(dev); - } - scList = Shared.Common.Room.AllRoomSceneUIList; - } - catch { } + Height = Application.GetMinRealAverage(0), + BackgroundColor = Shared.Common.ZigbeeColor.Current.XMWhite, + }; + this.midFrameLayout.AddChidren(topFrameLayout); - try + #region BindEmptyPic UI + entryStatusPic = new Button { - CommonPage.Loading.Start(""); - #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; - currentKey.ReSave(); - var getBindList = await currentKey.GetDeviceBindAsync(); - - var bindDeviceListTemp = new System.Collections.Generic.List<BindListResponseObj> { }; - var bindSceneListTemp = new System.Collections.Generic.List<BindListResponseObj> { }; - if (getBindList != null && getBindList.getAllBindResponseData != null) - { - foreach (var b in getBindList.getAllBindResponseData.BindList) - { - if (b.BindCluster == currentClusterID) - { - if (b.BindCluster == 6) - { - - if (b.BindType == 2) - { - bindSceneListTemp.Add(b); - } - else - { - bindDeviceListTemp.Add(b); - } - } - else - { - currentKey.bindList.Add(b); - } - } - } - } - else - { - var btn = new Button() - { - Gravity = Gravity.Center, - }; - this.midFrameLayout.AddChidren(btn); - Application.RunOnMainThread(() => - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btn); - }); - } - - if (currentKey.panelMode == 1) - { - currentKey.bindList = bindSceneListTemp; - currentKey.currentKeySelectModeText = Language.StringByID(R.MyInternationalizationString.AddScene); - } - else if (currentKey.panelMode == 100 || currentKey.panelMode == 101 || currentKey.panelMode == 102) - { - 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) - { - currentKey.currentKeySelectModeText = Language.StringByID(R.MyInternationalizationString.AddDimmer); - } - else if (currentKey.panelMode == 300 || currentKey.panelMode == 301 || currentKey.panelMode == 302 || currentKey.panelMode == 303 || currentKey.panelMode == 304) - { - currentKey.currentKeySelectModeText = Language.StringByID(R.MyInternationalizationString.AddCurtain); - } - } - #endregion - } - else - { - Application.RunOnMainThread(() => - { - var btn = new Button() - { - Gravity = Gravity.Center, - }; - this.midFrameLayout.AddChidren(btn); - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btn); - }); - } - } - catch - { } - finally - { - RefreshList(); - CommonPage.Loading.Hide(); - } - } - - /// <summary> - /// 鎸夐敭缁戝畾鍦烘櫙琛ㄦ樉绀� - /// </summary> - /// <param name="gateway">Gateway.</param> - /// <param name="key">Key.</param> - async void RefreshList() - { - #region BindEmptyPic UI - this.midFrameLayout.RemoveAll(); - - var entryStatusPic = new Button - { - X = Application.GetRealWidth(164), - Y = Application.GetRealHeight(492), + X = Application.GetRealWidth(213), + Y = Application.GetRealHeight(418), UnSelectedImagePath = "BindPic/BindEmptyPic.png", Visible = false, }; this.midFrameLayout.AddChidren(entryStatusPic); - var btnPicTip = new Button + btnPicTip = new Button { - X = Application.GetRealWidth(432), Y = Application.GetRealHeight(1020), Text = Language.StringByID(R.MyInternationalizationString.NoControlTargets), TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, @@ -287,31 +294,45 @@ Visible = false, }; this.midFrameLayout.AddChidren(btnPicTip); + #endregion - topMidVerticalScrolViewLayout = new VerticalScrolViewLayout + midVerticalRefreshLayout = new VerticalRefreshLayout() + { + }; + this.midFrameLayout.AddChidren(midVerticalRefreshLayout); + midVerticalRefreshLayout.BeginHeaderRefreshingAction += () => + { + midVerticalRefreshLayout.BeginHeaderRefreshing(); + InitListInfo(); + midVerticalRefreshLayout.EndHeaderRefreshing(); + }; + } + + /// <summary> + /// 鎸夐敭缁戝畾琛ㄦ樉绀� + /// </summary> + async void RefreshList() + { + this.midFrameLayout.RemoveAll(); + middleFrameLayout(); + midVerticalRefreshLayout.RemoveAll(); + + var frameLayoutRow = new FrameLayout() { Height = Application.GetMinRealAverage(0), BackgroundColor = Shared.Common.ZigbeeColor.Current.XMWhite, - }; - this.midFrameLayout.AddChidren(topMidVerticalScrolViewLayout); + midVerticalRefreshLayout.AddChidren(frameLayoutRow); - midVerticalScrolViewLayout = new VerticalScrolViewLayout() - { - BackgroundColor = Shared.Common.ZigbeeColor.Current.XMWhite, - }; - this.midFrameLayout.AddChidren(midVerticalScrolViewLayout); - midVerticalScrolViewLayout.RemoveAll(); - #endregion - + #region 鏁版嵁澶勭悊 if (currentKey.bindList.Count == 0) { - entryStatusPic.Height = Application.GetRealHeight(435); - entryStatusPic.Width = Application.GetRealWidth(757); + entryStatusPic.Height = Application.GetRealHeight(556); + entryStatusPic.Width = Application.GetRealWidth(654); btnPicTip.Height = Application.GetRealHeight(49); - midVerticalScrolViewLayout.Height = 0; btnPicTip.Visible = true; entryStatusPic.Visible = true; + midVerticalRefreshLayout.Height = Application.GetRealHeight(0); } else { @@ -320,62 +341,84 @@ btnPicTip.Height = Application.GetRealHeight(0); btnPicTip.Visible = false; entryStatusPic.Visible = false; - topMidVerticalScrolViewLayout.Height = Application.GetRealHeight(170); - midVerticalScrolViewLayout.Y = topMidVerticalScrolViewLayout.Bottom; - midVerticalScrolViewLayout.Height = this.midFrameLayout.Height; - BackgroundColor = Shared.Common.ZigbeeColor.Current.XMMidFrameLayout; - if (currentKey.panelMode == 1) { - topMidVerticalScrolViewLayout.Height = Application.GetRealHeight(0); - midVerticalScrolViewLayout.Y = Application.GetRealHeight(0); + topFrameLayout.Height = Application.GetRealHeight(0); + midVerticalRefreshLayout.Y = Application.GetRealHeight(0); } - - if (currentKey.panelMode != 1) + else { + topFrameLayout.Height = Application.GetRealHeight(150); + midVerticalRefreshLayout.Y = Application.GetRealHeight(150); BindModeDisplay(); } + int curIndex = 0; for (int i = 0; i < currentKey.bindList.Count; i++) { + curIndex = i; + var bindDevice = currentKey.bindList[i]; + SceneUI curSceneUI = null; + bool isExistScene = false; + var rowLayout = new RowLayout() { - Height = Application.GetRealHeight(170), + Height = Application.GetRealHeight(150), + X = Application.GetRealWidth(58), + Y = curIndex * Application.GetRealHeight(150), + Width = Application.GetRealWidth(965), + LineColor = Shared.Common.ZigbeeColor.Current.XMRowLine, }; - midVerticalScrolViewLayout.AddChidren(rowLayout); + frameLayoutRow.AddChidren(rowLayout); - #region 缁戝畾琛║I鏄撅紙鏃犳暟鎹鐞嗭級 - var bindDevice = currentKey.bindList[i]; + #region 缁戝畾琛║I鏄撅紙鏃犳暟鎹鐞嗭級 var devicePic = new Button() { - X = Application.GetRealWidth(50), - Width = Application.GetMinRealAverage(110), - Height = Application.GetMinRealAverage(110), - Gravity = Gravity.CenterVertical, + Y = Application.GetRealHeight(35), + Width = Application.GetMinRealAverage(81), + Height = Application.GetMinRealAverage(81), }; rowLayout.AddChidren(devicePic); var btnBindName = new Button() { - Width = Application.GetRealWidth(500 - 120), - X = devicePic.Right + Application.GetRealWidth(20), - TextColor = Shared.Common.ZigbeeColor.Current.TextBlack, + 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, - X = btnBindName.Right, + Width = Application.GetRealWidth(184), TextID = R.MyInternationalizationString.DelBindDevice, BackgroundColor = Shared.Common.ZigbeeColor.Current.DelRowLayout, }; rowLayout.AddRightView(btnDel); #endregion - #region 缁戝畾鏁版嵁澶勭悊 - bool isExistScene = false; - + #region 缁戝畾鏁版嵁澶勭悊 + int currentIndex = i; + if (currentIndex == currentKey.bindList.Count - 1) + { + rowLayout.LineColor = Shared.Common.ZigbeeColor.Current.XMWhite; + } foreach (var sc in currentKey.bindList) { if (sc.BindType == 2) @@ -383,19 +426,26 @@ isExistScene = true; } } - if (isExistScene) { - devicePic.UnSelectedImagePath = "SceneIcon/4.png"; - devicePic.Width = Application.GetMinRealAverage(110); - - if (bindDevice.ESName == "") + curSceneUI = Room.CurrentRoom.GetSceneUIBySceneId(bindDevice.BindScenesId); + if (curSceneUI == null) { - btnBindName.Text = Language.StringByID(R.MyInternationalizationString.Unknown) + Language.StringByID(R.MyInternationalizationString.Scence) + "ID" + bindDevice.BindScenesId.ToString(); + devicePic.UnSelectedImagePath = "Scene/SceneIcon.png"; + if (string.IsNullOrEmpty(bindDevice.ESName)) + { + btnBindName.Text = Language.StringByID(R.MyInternationalizationString.OffLineScene) + "_" + "ID" + "_" + bindDevice.BindScenesId.ToString(); + } + else + { + btnBindName.Text = Language.StringByID(R.MyInternationalizationString.OffLineScene) + "_" + bindDevice.ESName; + } } else { - btnBindName.Text = bindDevice.ESName; + devicePic.UnSelectedImagePath = curSceneUI.IconPath; + btnBindName.Text = curSceneUI.Name; + btnFloorRoomName.Text = curSceneUI.GetZone(); } } else @@ -406,6 +456,15 @@ var tempDev = localDeviceList.Find(obj => obj.DeviceAddr == bindDevice.BindMacAddr && obj.DeviceEpoint == bindDevice.BindEpoint); if (tempDev != null) { + //鑾峰彇璁惧鎵�灞炴埧闂� + 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; var deviceUi = Common.LocalDevice.Current.GetDeviceUI(tempDev); devicePic.UnSelectedImagePath = deviceUi.IconPath; devicePic.Width = Application.GetRealWidth(110); @@ -437,7 +496,9 @@ }; #endregion } + frameLayoutRow.Height = currentKey.bindList.Count * Application.GetRealHeight(150); } + #endregion } /// <summary> @@ -445,28 +506,32 @@ /// </summary> public void BindModeDisplay() { + #region modeRowLayout var modeRowLayout = new RowLayout() { - Height = Application.GetRealHeight(170), + Height = Application.GetRealHeight(150), + X = Application.GetRealWidth(58), + Width = Application.GetRealWidth(965), + LineColor = Shared.Common.ZigbeeColor.Current.XMRowLine, }; - topMidVerticalScrolViewLayout.AddChidren(modeRowLayout); + topFrameLayout.AddChidren(modeRowLayout); var btnKeyMode = new Button { - X = Application.GetRealWidth(58), Y = Application.GetRealHeight(63), - Width = Application.GetMinRealAverage(300), + 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(1080 - 55 - 651), + X = Application.GetRealWidth(374 - 58), Y = Application.GetRealHeight(63), - Width = Application.GetMinRealAverage(651), + Width = Application.GetMinRealAverage(615), Height = Application.GetMinRealAverage(58), TextAlignment = TextAlignment.CenterRight, TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, @@ -475,12 +540,15 @@ 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 + #region 褰撳墠妯″紡鏂囨湰鏄剧ず switch (currentKey.panelMode) { case 100: @@ -488,27 +556,21 @@ break; case 101: btnKeyModeTip.TextID = R.MyInternationalizationString.OnOffoFF; - break; case 102: btnKeyModeTip.TextID = R.MyInternationalizationString.OnOffOnOff; - break; case 200: btnKeyModeTip.TextID = R.MyInternationalizationString.DimmerMode1; - break; case 201: btnKeyModeTip.TextID = R.MyInternationalizationString.DimmerMode2; - break; case 203: btnKeyModeTip.TextID = R.MyInternationalizationString.DimmerMode3; - break; case 204: btnKeyModeTip.TextID = R.MyInternationalizationString.DimmerMode4; - break; case 205: btnKeyModeTip.TextID = R.MyInternationalizationString.DimmerMode5; @@ -518,22 +580,20 @@ break; case 301: btnKeyModeTip.TextID = R.MyInternationalizationString.WcdDown; - break; case 302: btnKeyModeTip.TextID = R.MyInternationalizationString.WcdStop; - break; case 303: btnKeyModeTip.TextID = R.MyInternationalizationString.WcdUpStop; - break; case 304: btnKeyModeTip.TextID = R.MyInternationalizationString.WcdDownStop; - break; } + #endregion + //涓�閿竻闄ゆ寜閿簨浠� btnDel.MouseUpEventHandler += async (sender, e) => { bool isDelSuccess = false; @@ -585,7 +645,6 @@ } CommonPage.Loading.Hide(); } - }; } @@ -595,9 +654,7 @@ void SideslipFramelayout() { #region UI - var dialog = new Dialog - { - }; + var dialog = new Dialog { }; dialog.Show(); var flMain = new FrameLayout { BackgroundColor = 0x00000000 }; @@ -625,11 +682,11 @@ sidelipFrameLayout.AddChidren(sidelipVerticalScrolViewLayout); #endregion - #region rowView Button oldbuttonText = null; string oldKeySelectModeText = currentKey.currentKeySelectModeText; for (var i = 0; i < 4; i++) { + #region rowView var rowView = new FrameLayout() { Height = Application.GetRealHeight(150), @@ -680,259 +737,7 @@ } #endregion - EventHandler<MouseEventArgs> eHandler = (sender, e) => - { - if (!btnMethodText.IsSelected) - { - if (oldbuttonText != null) - { - oldbuttonText.TextColor = Shared.Common.ZigbeeColor.Current.XMGray3; - } - oldbuttonText = btnMethodText; - currentKey.currentKeySelectModeText = btnMethodText.Text; - oldbuttonText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack; - } - 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) - { - var alert = new Alert(Language.StringByID(R.MyInternationalizationString.Tip), Language.StringByID(R.MyInternationalizationString.DelLocalBindListThenAddAgain), - Language.StringByID(R.MyInternationalizationString.Cancel), Language.StringByID(R.MyInternationalizationString.Confrim)); - alert.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(); - } - }; - } - } - else - { - 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(); - } - } - 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) - { - var alert = new Alert(Language.StringByID(R.MyInternationalizationString.Tip), Language.StringByID(R.MyInternationalizationString.DelLocalBindListThenAddAgain1), - Language.StringByID(R.MyInternationalizationString.Cancel), Language.StringByID(R.MyInternationalizationString.Confrim)); - alert.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(); - } - }; - } - } - else - { - 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(); - } - } - if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddDimmer)) - { - if (currentKey.bindList.Count != 0) - { - 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) => - { - if (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(); - } - else - { - currentKey.currentKeySelectModeText = oldKeySelectModeText; - dialog.Close(); - } - } - else - { - currentKey.currentKeySelectModeText = oldKeySelectModeText; - dialog.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(); - } - - - } - 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 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) => - { - 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(); - - Action<List<BindListResponseObj>> action = (obj) => - { - currentKey.bindList = obj; - RefreshList(); - }; - addDevicePage.actionAddDevicePage += action; - dialog.Close(); - } - else - { - currentKey.currentKeySelectModeText = oldKeySelectModeText; - dialog.Close(); - } - }; - } - } - else - { - 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(); - } - } - }; - btnMethodText.MouseUpEventHandler += eHandler; - rowView.MouseUpEventHandler += eHandler; - + #region 鏁版嵁澶勭悊 switch (i) { case 0: @@ -946,6 +751,7 @@ break; case 3: btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.AddCurtain); + line2.Visible = false; break; } @@ -969,9 +775,270 @@ btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack; oldbuttonText = btnMethodText; } + #endregion + + //绫诲瀷浜嬩欢閫変腑澶勭悊 + EventHandler<MouseEventArgs> eHandler = (sender, e) => + { + if (!btnMethodText.IsSelected) + { + if (oldbuttonText != null) + { + oldbuttonText.TextColor = Shared.Common.ZigbeeColor.Current.XMGray3; + } + oldbuttonText = btnMethodText; + currentKey.currentKeySelectModeText = btnMethodText.Text; + oldbuttonText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack; + } + 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) + { + var alert = new Alert(Language.StringByID(R.MyInternationalizationString.Tip), Language.StringByID(R.MyInternationalizationString.DelLocalBindListThenAddAgain), + Language.StringByID(R.MyInternationalizationString.Cancel), Language.StringByID(R.MyInternationalizationString.Confrim)); + alert.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(); + } + }; + } + } + else + { + 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(); + } + } + 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) + { + var alert = new Alert(Language.StringByID(R.MyInternationalizationString.Tip), Language.StringByID(R.MyInternationalizationString.DelLocalBindListThenAddAgain1), + Language.StringByID(R.MyInternationalizationString.Cancel), Language.StringByID(R.MyInternationalizationString.Confrim)); + alert.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(); + } + }; + } + } + else + { + 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(); + } + } + if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddDimmer)) + { + if (currentKey.bindList.Count != 0) + { + 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) => + { + if (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(); + } + else + { + currentKey.currentKeySelectModeText = oldKeySelectModeText; + dialog.Close(); + } + } + else + { + currentKey.currentKeySelectModeText = oldKeySelectModeText; + dialog.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(); + } + + + } + 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 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) => + { + 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(); + + Action<List<BindListResponseObj>> action = (obj) => + { + currentKey.bindList = obj; + RefreshList(); + }; + addDevicePage.actionAddDevicePage += action; + dialog.Close(); + } + else + { + currentKey.currentKeySelectModeText = oldKeySelectModeText; + dialog.Close(); + } + }; + } + } + else + { + 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(); + } + } + }; + btnMethodText.MouseUpEventHandler += eHandler; + rowView.MouseUpEventHandler += eHandler; } } + /// <summary> + /// 鍒犻櫎褰撳墠鐩爣鏂规硶 + /// </summary> + /// <param name="bindDevice"></param> + /// <param name="btnDel"></param> + /// <returns></returns> async System.Threading.Tasks.Task<int> RemoveTargets(BindListResponseObj bindDevice, Button btnDel) { var delDevice = new DelDeviceBindData(); @@ -1069,10 +1136,8 @@ } break; case 4: - if (delResult.removeBindResultResponseData != null) { - if (delResult.removeBindResultResponseData.Result == 0) { currentKey.bindList.Remove(bindDevice); @@ -1100,7 +1165,6 @@ { CommonPage.Loading.Hide(); } - return -1; } -- Gitblit v1.8.0