From bd46c57c77c276014db3192a4e2cc96e23c93202 Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期五, 21 二月 2020 13:08:47 +0800 Subject: [PATCH] 先上传个版本吧 --- ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs | 229 ++++++++++++++++++++++++++++++++++---------------------- 1 files changed, 138 insertions(+), 91 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs index 02a348d..8e3b0f0 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs @@ -32,32 +32,71 @@ this.currentKey = key; } - #region 鈼� 鍙橀噺鐢虫槑__________________________ - ZigBee.Device.Panel currentKey;//褰撳墠鎸夐敭瀵硅薄 - VerticalFrameRefreshControl midVerticalRefreshLayout;//鏄剧ず琚粦瀹氳澶囨垨鍦烘櫙鐨剉iew - int currentClusterID = 0;//鎸夐敭褰撳墠绨嘔D + #region 鍙橀噺鐢虫槑 + /// <summary> + /// 褰撳墠鎸夐敭瀵硅薄 + /// </summary> + ZigBee.Device.Panel currentKey; + /// <summary> + /// 鏄剧ず琚粦瀹氳澶囨垨鍦烘櫙鐨剉iew + /// </summary> + VerticalFrameRefreshControl midVerticalRefreshLayout; + /// <summary> + /// 鎸夐敭褰撳墠绨嘔D + /// </summary> + int currentClusterID = 0; + /// <summary> + /// 绌烘暟鎹椂鐨勫浘鐗� + /// </summary> Button entryStatusPic; + /// <summary> + /// 绌烘暟鎹殑鎻愮ず + /// </summary> Button btnPicTip; - Action<List<BindListResponseObj>> action;//鎸夐敭缁戝畾琛ㄩ�氱煡 - 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>();//缃戝叧涓殑鍦烘櫙鍒楄〃 + /// <summary> + /// 鎸夐敭缁戝畾琛ㄩ�氱煡 + /// </summary> + Action<List<BindListResponseObj>> action; + /// <summary> + /// 璁惧琚粦瀹氶�氱煡 + /// </summary> + Action<List<BindListResponseObj>> devicBindAction; + /// <summary> + /// 鏈湴璁惧鍒楄〃 + /// </summary> + private System.Collections.Generic.List<CommonDevice> localDeviceList = new System.Collections.Generic.List<CommonDevice>(); + /// <summary> + /// 鏈湴鍦烘櫙鍒楄〃 + /// </summary> + private System.Collections.Generic.List<SceneUI> scList = new System.Collections.Generic.List<SceneUI> { }; + /// <summary> + /// 绌烘暟鎹樉绀哄竷灞� + /// </summary> + FrameLayout blankFrameLayout; + /// <summary> + /// 鍔ㄦ�佽幏鍙栨寜閿敮鎸佺殑妯″紡澶х被鍨� + /// </summary> + List<int> typeModeList; + /// <summary> + /// 缃戝叧涓殑鍦烘櫙鍒楄〃 + /// </summary> + public List<ScenesListInfo> gwScenesList = new List<ScenesListInfo>(); + /// <summary> + /// 鏄惁鏀寔璇诲彇 + /// </summary> + bool IsRead = false; #endregion - //鍒濆鍖栨寜閿暟鎹� - private void InitListInfo() + /// <summary> + /// 鍒濆鍖栨寜閿暟鎹� + /// </summary> + void InitListInfo() { System.Threading.Tasks.Task.Run(async () => { try { - Application.RunOnMainThread(() => - { - }); localDeviceList.Clear(); scList.Clear(); //鑾峰彇鏈湴璁惧鍒楄〃 @@ -73,15 +112,8 @@ { 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); - }); - } + //鍔ㄦ�佽幏鍙栨寜閿敮鎸佺殑澶х被 + typeModeList = await GetTypeMode(); #region 璇诲彇闈㈡澘褰撳墠妯″紡 //璇诲彇鎸夐敭褰撳墠妯″紡 var tempDeata = await currentKey.ReadPanelConfigureInfoAsync(); @@ -106,78 +138,81 @@ { currentClusterID = 258; } - 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) - { - currentKey.bindList.Clear(); - 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 + //璇诲彇鎸夐敭褰撳墠缁戝畾鐩爣 + GetDeviceBindResponseAllData getBindList = null; + if (IsRead) + { + 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) + { + currentKey.bindList.Clear(); + foreach (var b in getBindList.getAllBindResponseData.BindList) + { + if (b.BindCluster == currentClusterID) { - if (currentClusterID == 8) + if (b.BindCluster == 6) { - if (b.BindCluster == 8) + + if (b.BindType == 2) { - currentKey.bindList.Add(b); + bindSceneListTemp.Add(b); + } + else + { + bindDeviceListTemp.Add(b); } } else { - currentKey.bindList.Add(b); + if (currentClusterID == 8) + { + if (b.BindCluster == 8) + { + currentKey.bindList.Add(b); + } + } + else + { + currentKey.bindList.Add(b); + } } } } } - } - else - { - Application.RunOnMainThread(() => + else { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance); - }); + 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; + }); + } + 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 == 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); + } } - - 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 == 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); - } + currentKey.ReSave(); } - #endregion - - //鍔ㄦ�佽幏鍙栨寜閿敮鎸佺殑澶х被 - typeModeList = await GetTypeMode(); + #endregion Application.RunOnMainThread(() => { RefreshList(); @@ -189,7 +224,6 @@ 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; @@ -216,13 +250,14 @@ var btnAddFrameLayout = new FrameLayout() { - X = Application.GetRealWidth(913), + X = Application.GetRealWidth(888), Width = Application.GetRealWidth(192), }; this.titleFrameLayout.AddChidren(btnAddFrameLayout); var btnBindAdd = new Button { + X = Application.GetRealWidth(62), Height = Application.GetRealHeight(72), Width = Application.GetRealWidth(72), UnSelectedImagePath = "BindPic/BindAdd.png", @@ -310,6 +345,14 @@ #endregion CommonPage.Loading.Start(""); middleFrameLayout(); + if (currentKey.bindList.Count == 0) + { + IsRead = true; + } + else + { + IsRead = false; + } InitListInfo(); } @@ -325,6 +368,7 @@ midVerticalRefreshLayout.BeginHeaderRefreshingAction += () => { midVerticalRefreshLayout.BeginHeaderRefreshing(); + IsRead = true; InitListInfo(); midVerticalRefreshLayout.EndHeaderRefreshing(); }; @@ -484,7 +528,7 @@ devicePic.Width = Application.GetRealWidth(110); devicePic.Text = ""; } - if (tempDev.DeviceEpointName == "") + if (string.IsNullOrEmpty(tempDev.DeviceEpointName)) { btnBindNameText = tempDev.DeviceEpoint + Language.StringByID(R.MyInternationalizationString.uDeviceCircuit); } @@ -528,7 +572,7 @@ modeRowLayout.BackgroundColor = ZigbeeColor.Current.XMWhite; midVerticalRefreshLayout.AddChidrenRow(modeRowLayout); modeRowLayout.frameTable.UseClickStatu = false; - modeRowLayout.frameTable.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.keyMode), 500); + modeRowLayout.frameTable.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.keyMode), 400); var btnKeyModeTipText = ""; #region 褰撳墠妯″紡鏂囨湰鏄剧ず switch (currentKey.panelMode) @@ -574,7 +618,7 @@ break; } #endregion - modeRowLayout.frameTable.AddMostRightView(btnKeyModeTipText, 500); + modeRowLayout.frameTable.AddMostRightView(btnKeyModeTipText, 800); modeRowLayout.frameTable.AddBottomLine(); var btnDel = modeRowLayout.AddDeleteControl(); //涓�閿竻闄ゆ寜閿簨浠� @@ -639,7 +683,7 @@ } CommonPage.Loading.Hide(); } - }; + }; }; } @@ -856,7 +900,7 @@ currentKey.currentKeySelectModeText = oldKeySelectModeText; dialog.Close(); } - }; + }; } } else @@ -909,7 +953,7 @@ currentKey.currentKeySelectModeText = oldKeySelectModeText; dialog.Close(); } - }; + }; } } else @@ -1059,7 +1103,10 @@ } } - //鑾峰彇鎸夐敭鏀寔鐨勫ぇ绫� + /// <summary> + /// 鑾峰彇鎸夐敭鏀寔鐨勫ぇ绫� + /// </summary> + /// <returns></returns> private async System.Threading.Tasks.Task<List<int>> GetTypeMode() { if (typeModeList != null) -- Gitblit v1.8.0