| | |
| | | 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; |
| | | #endregion |
| | | |
| | | //初始化按键数据 |
| | |
| | | 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(); |
| | |
| | | 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) |
| | |
| | | } |
| | | else |
| | | { |
| | | currentKey.bindList.Add(b); |
| | | if (currentClusterID == 8) |
| | | { |
| | | if (b.BindCluster == 8) |
| | | { |
| | | currentKey.bindList.Add(b); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | currentKey.bindList.Add(b); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | 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); |
| | | } |
| | |
| | | } |
| | | } |
| | | #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(); |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | |
| | |
| | | } |
| | | else |
| | | { |
| | | currentKey.panelMode = 65535; |
| | | SideslipFramelayout(); |
| | | } |
| | | }; |
| | |
| | | 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() |
| | | { |
| | | }; |
| | |
| | | InitListInfo(); |
| | | midVerticalRefreshLayout.EndHeaderRefreshing(); |
| | | }; |
| | | topFrameLayout = new FrameLayout |
| | | { |
| | | Height = Application.GetMinRealAverage(0), |
| | | BackgroundColor = Shared.Common.ZigbeeColor.Current.XMWhite, |
| | | }; |
| | | midVerticalRefreshLayout.AddChidren(topFrameLayout); |
| | | |
| | | BlankPicUI(); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 空数据UI显示 |
| | | /// </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, |
| | | }; |
| | | blankFrameLayout.AddChidren(btnPicTip); |
| | | } |
| | | /// <summary> |
| | | /// 按键绑定表显示 |
| | | /// </summary> |
| | | async void RefreshList() |
| | | { |
| | | midVerticalRefreshLayout.RemoveAll(); |
| | | this.midFrameLayout.RemoveAll(); |
| | | middleFrameLayout(); |
| | | midVerticalRefreshLayout.RemoveAll(); |
| | | |
| | | var frameLayoutRow = new FrameLayout() |
| | | { |
| | | Height = Application.GetMinRealAverage(0), |
| | |
| | | btnPicTip.Height = Application.GetRealHeight(49); |
| | | btnPicTip.Visible = true; |
| | | entryStatusPic.Visible = true; |
| | | midVerticalRefreshLayout.Height = Application.GetRealHeight(0); |
| | | blankFrameLayout.Height = midVerticalRefreshLayout.Height; |
| | | } |
| | | else |
| | | { |
| | |
| | | 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); |
| | |
| | | else |
| | | { |
| | | topFrameLayout.Height = Application.GetRealHeight(150); |
| | | midVerticalRefreshLayout.Y = Application.GetRealHeight(150); |
| | | BindModeDisplay(); |
| | | } |
| | | int curIndex = 0; |
| | |
| | | } |
| | | 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(); |
| | |
| | | } |
| | | else |
| | | { |
| | | devicePic.UnSelectedImagePath = curSceneUI.IconPath; |
| | | btnBindName.Text = curSceneUI.Name; |
| | | btnFloorRoomName.Text = curSceneUI.GetZone(); |
| | | if (curSceneUI.GetZone() != null) |
| | | { |
| | | btnFloorRoomName.Text = curSceneUI.GetZone(); |
| | | } |
| | | } |
| | | } |
| | | else |
| | |
| | | { |
| | | //获取设备所属房间 |
| | | 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)) |
| | | { |
| | | btnFloorRoomName.Text = tempDevRoomName; |
| | | } |
| | | else |
| | | { |
| | | btnFloorRoomName.Text = 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); |
| | |
| | | //一键清除按键事件 |
| | | btnDel.MouseUpEventHandler += async (sender, e) => |
| | | { |
| | | bool isDelSuccess = false; |
| | | try |
| | | var alert = new Alert(Language.StringByID(R.MyInternationalizationString.Tip), Language.StringByID(R.MyInternationalizationString.SureClearKeyModeAndTargets), |
| | | Language.StringByID(R.MyInternationalizationString.Cancel), Language.StringByID(R.MyInternationalizationString.Confrim)); |
| | | alert.Show(); |
| | | |
| | | alert.ResultEventHandler += async (s1, e1) => |
| | | { |
| | | CommonPage.Loading.Start(""); |
| | | var bindResult = await currentKey.ClearBindInfoAsync(); |
| | | if (bindResult != null && bindResult.clearBindInfoResponseData != null) |
| | | if (e1) |
| | | { |
| | | if (bindResult.clearBindInfoResponseData.Result != 0) |
| | | bool isDelSuccess = false; |
| | | try |
| | | { |
| | | 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) |
| | | CommonPage.Loading.Start(""); |
| | | var bindResult = await currentKey.ClearBindInfoAsync(); |
| | | if (bindResult != null && bindResult.clearBindInfoResponseData != null) |
| | | { |
| | | var temp1 = await currentKey.ConfigureHdlKeyValueAsync(Panel.KeyMode.Default); |
| | | if (temp1.setWritableValueResponData?.Status != 0) |
| | | if (bindResult.clearBindInfoResponseData.Result != 0) |
| | | { |
| | | new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.ChangeBindMode), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel); |
| | | new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDel); |
| | | CommonPage.Loading.Hide(); |
| | | return; |
| | | } |
| | | else |
| | | { |
| | | isDelSuccess = true; |
| | | 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 |
| | | { |
| | | isDelSuccess = true; |
| | | 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(); |
| | | } |
| | | } |
| | | 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 { }; |
| | |
| | | |
| | | 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() |
| | |
| | | }; |
| | | rowView.AddChidren(line2); |
| | | |
| | | 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; |
| | | oldbuttonText = btnMethodText; |
| | | } |
| | | else if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddSwitch) && i == 1) |
| | | else if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddSwitch) && value == 100) |
| | | { |
| | | btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack; |
| | | oldbuttonText = btnMethodText; |
| | | } |
| | | else if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddDimmer) && i == 2) |
| | | else if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddDimmer) && value == 200) |
| | | { |
| | | btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack; |
| | | oldbuttonText = btnMethodText; |
| | | } |
| | | else if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddCurtain) && i == 3) |
| | | else if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddCurtain) && value == 300) |
| | | { |
| | | btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack; |
| | | oldbuttonText = btnMethodText; |
| | | } |
| | | #endregion |
| | | #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; |
| | | 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; |
| | | 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; |
| | | 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; |
| | | oldbuttonText = btnMethodText; |
| | |
| | | } |
| | | } |
| | | |
| | | //获取按键支持的大类 |
| | | 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; |
| | |
| | | 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 { } |