| | |
| | | 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;//空数据显示布局 |
| | | #endregion |
| | | |
| | | //初始化按键数据 |
| | |
| | | } |
| | | 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); |
| | | topFrameLayout.Height = Application.GetRealHeight(150); |
| | | BindModeDisplay(); |
| | | } |
| | | int curIndex = 0; |
| | |
| | | { |
| | | 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 (Common.Config.Instance.Home.FloorDics.Count == 0) |
| | | { |
| | | } |
| | | if (tempDevRoom != null) |
| | | { |
| | | 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); |
| | | 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(); |
| | | } |
| | | }; |
| | | |
| | | }; |
| | | } |
| | | |
| | |
| | | { |
| | | 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 != null && delResult.removeBindResultResponseData != null) |
| | | delResult = await currentKey.DelDeviceBindAsync(delDevice); |
| | | if (delResult != null && delResult.delDeviceBindResponseData != null) |
| | | { |
| | | if (delResult.delDeviceBindResponseData?.RemoveBindList != null) |
| | | { |
| | |
| | | currentKey.bindList.Remove(bindDevice); |
| | | RefreshList(); |
| | | //如果是场景,用户删除清空当前到房间列表 |
| | | if(re.BindType == 2) |
| | | { |
| | | currentKey.panelMode = 65535; |
| | | } |
| | | currentKey.RoomId = ""; |
| | | currentKey.ReSave(); |
| | | return 0; |