| | |
| | | FrameLayout blankFrameLayout;//空数据显示布局 |
| | | List<int> typeModeList;//动态获取按键支持的模式大类型 |
| | | public List<ScenesListInfo> gwScenesList = new List<ScenesListInfo>();//网关中的场景列表 |
| | | bool IsRead = false; |
| | | |
| | | #endregion |
| | | |
| | | //初始化按键数据 |
| | | private void InitListInfo() |
| | | void InitListInfo() |
| | | { |
| | | System.Threading.Tasks.Task.Run(async () => |
| | | { |
| | | try |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | }); |
| | | localDeviceList.Clear(); |
| | | scList.Clear(); |
| | | //获取本地设备列表 |
| | |
| | | { |
| | | 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(); |
| | |
| | | } |
| | | 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) |
| | | GetDeviceBindResponseAllData getBindList = null; |
| | | if (IsRead) |
| | | { |
| | | currentKey.bindList.Clear(); |
| | | foreach (var b in getBindList.getAllBindResponseData.BindList) |
| | | 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) |
| | | { |
| | | if (b.BindCluster == currentClusterID) |
| | | currentKey.bindList.Clear(); |
| | | foreach (var b in getBindList.getAllBindResponseData.BindList) |
| | | { |
| | | if (b.BindCluster == 6) |
| | | if (b.BindCluster == currentClusterID) |
| | | { |
| | | if (b.BindCluster == 6) |
| | | { |
| | | |
| | | if (b.BindType == 2) |
| | | { |
| | | bindSceneListTemp.Add(b); |
| | | } |
| | | else |
| | | { |
| | | bindDeviceListTemp.Add(b); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | if (currentClusterID == 8) |
| | | { |
| | | 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); |
| | | }); |
| | | } |
| | | |
| | | 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); |
| | | 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); |
| | | } |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | //动态获取按键支持的大类 |
| | | typeModeList = await GetTypeMode(); |
| | | #endregion |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | RefreshList(); |
| | |
| | | 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; |
| | |
| | | #endregion |
| | | CommonPage.Loading.Start(""); |
| | | middleFrameLayout(); |
| | | if (currentKey.bindList.Count == 0) |
| | | { |
| | | IsRead = true; |
| | | } |
| | | else |
| | | { |
| | | IsRead = false; |
| | | } |
| | | InitListInfo(); |
| | | |
| | | } |
| | |
| | | midVerticalRefreshLayout.BeginHeaderRefreshingAction += () => |
| | | { |
| | | midVerticalRefreshLayout.BeginHeaderRefreshing(); |
| | | IsRead = true; |
| | | InitListInfo(); |
| | | midVerticalRefreshLayout.EndHeaderRefreshing(); |
| | | }; |
| | |
| | | } |
| | | CommonPage.Loading.Hide(); |
| | | } |
| | | }; |
| | | }; |
| | | }; |
| | | } |
| | | |
| | |
| | | currentKey.currentKeySelectModeText = oldKeySelectModeText; |
| | | dialog.Close(); |
| | | } |
| | | }; |
| | | }; |
| | | } |
| | | } |
| | | else |
| | |
| | | currentKey.currentKeySelectModeText = oldKeySelectModeText; |
| | | dialog.Close(); |
| | | } |
| | | }; |
| | | }; |
| | | } |
| | | } |
| | | else |