| | |
| | | |
| | | #region ◆ 变量申明__________________________ |
| | | ZigBee.Device.Panel currentKey;//当前按键对象 |
| | | VerticalRefreshLayout midVerticalRefreshLayout;//显示被绑定设备或场景的view |
| | | FrameLayout topFrameLayout;//显示当前模式view |
| | | VerticalFrameRefreshControl midVerticalRefreshLayout;//显示被绑定设备或场景的view |
| | | int currentClusterID = 0;//按键当前簇ID |
| | | Button entryStatusPic; |
| | | Button btnPicTip; |
| | |
| | | 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>();//网关中的场景列表 |
| | | |
| | | #endregion |
| | | |
| | | //初始化按键数据 |
| | |
| | | } |
| | | //获取本地场景列表 |
| | | scList = Shared.Common.Room.AllRoomSceneUIList; |
| | | //获取网关场景表 |
| | | var gwSceneObj = await currentKey.GetSceneInfoAsync(); |
| | | if (gwSceneObj != null && gwSceneObj.getSceneInfo != null) |
| | | { |
| | | 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); |
| | | }); |
| | | } |
| | | #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; |
| | | 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(); |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | |
| | |
| | | public void Show() |
| | | { |
| | | #region TopFrameLayout |
| | | this.TopFrameLayout(this, Language.StringByID(R.MyInternationalizationString.AddBindTargets)); |
| | | this.TopFrameLayout(this, Language.StringByID(R.MyInternationalizationString.PanelBindTargets)); |
| | | EventHandler<MouseEventArgs> eHandlerBack = (sender, e) => |
| | | { |
| | | RemoveFromParent(); |
| | |
| | | { |
| | | currentClusterID = 6; |
| | | currentKey.panelMode = 1; |
| | | var addScenePage = new Shared.Phone.UserCenter.DeviceBind.AddScenePage(currentKey); |
| | | var addScenePage = new Shared.Phone.UserCenter.DeviceBind.AddScenePage(currentKey, gwScenesList); |
| | | Shared.Phone.UserView.HomePage.Instance.AddChidren(addScenePage); |
| | | Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; |
| | | addScenePage.Show(); |
| | |
| | | } |
| | | 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() |
| | | midVerticalRefreshLayout = new VerticalFrameRefreshControl(29) |
| | | { |
| | | }; |
| | | this.midFrameLayout.AddChidren(midVerticalRefreshLayout); |
| | |
| | | InitListInfo(); |
| | | midVerticalRefreshLayout.EndHeaderRefreshing(); |
| | | }; |
| | | |
| | | 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, |
| | | TextSize = 12, |
| | | }; |
| | | blankFrameLayout.AddChidren(btnPicTip); |
| | | } |
| | | /// <summary> |
| | | /// 按键绑定表显示 |
| | | /// </summary> |
| | | async void RefreshList() |
| | | { |
| | | midVerticalRefreshLayout.RemoveAll(); |
| | | this.midFrameLayout.RemoveAll(); |
| | | middleFrameLayout(); |
| | | midVerticalRefreshLayout.RemoveAll(); |
| | | |
| | | var frameLayoutRow = new FrameLayout() |
| | | { |
| | | Height = Application.GetMinRealAverage(0), |
| | | BackgroundColor = Shared.Common.ZigbeeColor.Current.XMWhite, |
| | | }; |
| | | midVerticalRefreshLayout.AddChidren(frameLayoutRow); |
| | | |
| | | #region 数据处理 |
| | | if (currentKey.bindList.Count == 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); |
| | | midVerticalRefreshLayout.Y = Application.GetRealHeight(0); |
| | | } |
| | | else |
| | | { |
| | | topFrameLayout.Height = Application.GetRealHeight(150); |
| | | midVerticalRefreshLayout.Y = Application.GetRealHeight(150); |
| | | BindModeDisplay(); |
| | | } |
| | | int curIndex = 0; |
| | |
| | | SceneUI curSceneUI = null; |
| | | bool isExistScene = false; |
| | | |
| | | var rowLayout = new RowLayout() |
| | | { |
| | | Height = Application.GetRealHeight(150), |
| | | X = Application.GetRealWidth(58), |
| | | Y = curIndex * Application.GetRealHeight(150), |
| | | Width = Application.GetRealWidth(965), |
| | | LineColor = Shared.Common.ZigbeeColor.Current.XMRowLine, |
| | | }; |
| | | frameLayoutRow.AddChidren(rowLayout); |
| | | |
| | | #region 绑定表UI显(无数据处理) |
| | | var devicePic = new Button() |
| | | { |
| | | Y = Application.GetRealHeight(35), |
| | | Width = Application.GetMinRealAverage(81), |
| | | Height = Application.GetMinRealAverage(81), |
| | | }; |
| | | rowLayout.AddChidren(devicePic); |
| | | |
| | | var btnBindName = new Button() |
| | | { |
| | | 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, |
| | | Width = Application.GetRealWidth(184), |
| | | TextID = R.MyInternationalizationString.DelBindDevice, |
| | | BackgroundColor = Shared.Common.ZigbeeColor.Current.DelRowLayout, |
| | | }; |
| | | rowLayout.AddRightView(btnDel); |
| | | #endregion |
| | | var rowLayout = new RowLayoutControl(midVerticalRefreshLayout.rowSpace / 2); |
| | | rowLayout.BackgroundColor = ZigbeeColor.Current.XMWhite; |
| | | midVerticalRefreshLayout.AddChidrenRow(rowLayout); |
| | | rowLayout.frameTable.UseClickStatu = false; |
| | | var devicePic = rowLayout.frameTable.AddLeftIcon(); |
| | | devicePic.UnSelectedImagePath = "DoorLock/DoorLockUserPic.png"; |
| | | |
| | | #region 绑定数据处理 |
| | | int currentIndex = i; |
| | | var btnBindNameText = ""; |
| | | var btnFloorRoomNameText = ""; |
| | | if (currentIndex == currentKey.bindList.Count - 1) |
| | | { |
| | | rowLayout.LineColor = Shared.Common.ZigbeeColor.Current.XMWhite; |
| | |
| | | } |
| | | 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(); |
| | | btnBindNameText = Language.StringByID(R.MyInternationalizationString.OffLineScene) + "_" + "ID" + "_" + bindDevice.BindScenesId.ToString(); |
| | | } |
| | | else |
| | | { |
| | | btnBindName.Text = Language.StringByID(R.MyInternationalizationString.OffLineScene) + "_" + bindDevice.ESName; |
| | | btnBindNameText = Language.StringByID(R.MyInternationalizationString.OffLineScene) + "_" + bindDevice.ESName; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | devicePic.UnSelectedImagePath = curSceneUI.IconPath; |
| | | btnBindName.Text = curSceneUI.Name; |
| | | btnFloorRoomName.Text = curSceneUI.GetZone(); |
| | | btnBindNameText = curSceneUI.Name; |
| | | if (curSceneUI.GetZone() != null) |
| | | { |
| | | btnFloorRoomNameText = 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)) |
| | | { |
| | | btnFloorRoomNameText = tempDevRoomName; |
| | | } |
| | | else |
| | | { |
| | | btnFloorRoomNameText = 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); |
| | | btnBindNameText = tempDev.DeviceEpoint + Language.StringByID(R.MyInternationalizationString.uDeviceCircuit); |
| | | } |
| | | else |
| | | { |
| | | btnBindName.Text = tempDev.DeviceEpointName; |
| | | btnBindNameText = tempDev.DeviceEpointName; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | btnBindName.Text = bindDevice.BindMacAddr + "_" + bindDevice.BindEpoint; |
| | | btnBindNameText = bindDevice.BindMacAddr + "_" + bindDevice.BindEpoint; |
| | | devicePic.Width = Application.GetMinRealAverage(200); |
| | | devicePic.TextAlignment = TextAlignment.CenterLeft; |
| | | devicePic.TextColor = UserCenterColor.Current.Gray; |
| | |
| | | } |
| | | } |
| | | |
| | | //删除事件处理 |
| | | btnDel.MouseUpEventHandler += async (sender, e) => |
| | | var btnBindName = rowLayout.frameTable.AddTopView(btnBindNameText, 800); |
| | | var btnFloorRoomName = rowLayout.frameTable.AddBottomView(btnFloorRoomNameText, 800); |
| | | rowLayout.frameTable.AddBottomLine(); |
| | | var btnDel = rowLayout.AddDeleteControl(); |
| | | btnDel.ButtonClickEvent += async (sender, e) => |
| | | { |
| | | RemoveTargets(bindDevice, btnDel); |
| | | }; |
| | | #endregion |
| | | } |
| | | frameLayoutRow.Height = currentKey.bindList.Count * Application.GetRealHeight(150); |
| | | midVerticalRefreshLayout.AdjustTableHeight(Application.GetRealHeight(23)); |
| | | } |
| | | #endregion |
| | | } |
| | |
| | | /// </summary> |
| | | public void BindModeDisplay() |
| | | { |
| | | #region modeRowLayout |
| | | var modeRowLayout = new RowLayout() |
| | | { |
| | | Height = Application.GetRealHeight(150), |
| | | X = Application.GetRealWidth(58), |
| | | Width = Application.GetRealWidth(965), |
| | | LineColor = Shared.Common.ZigbeeColor.Current.XMRowLine, |
| | | }; |
| | | topFrameLayout.AddChidren(modeRowLayout); |
| | | |
| | | var btnKeyMode = new Button |
| | | { |
| | | Y = Application.GetRealHeight(63), |
| | | 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(374 - 58), |
| | | Y = Application.GetRealHeight(63), |
| | | Width = Application.GetMinRealAverage(615), |
| | | Height = Application.GetMinRealAverage(58), |
| | | TextAlignment = TextAlignment.CenterRight, |
| | | TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, |
| | | }; |
| | | modeRowLayout.AddChidren(btnKeyModeTip); |
| | | |
| | | 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 |
| | | |
| | | var modeRowLayout = new RowLayoutControl(midVerticalRefreshLayout.rowSpace / 2); |
| | | modeRowLayout.BackgroundColor = ZigbeeColor.Current.XMWhite; |
| | | midVerticalRefreshLayout.AddChidrenRow(modeRowLayout); |
| | | modeRowLayout.frameTable.UseClickStatu = false; |
| | | modeRowLayout.frameTable.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.keyMode), 500); |
| | | var btnKeyModeTipText = ""; |
| | | #region 当前模式文本显示 |
| | | switch (currentKey.panelMode) |
| | | { |
| | | case 100: |
| | | btnKeyModeTip.TextID = R.MyInternationalizationString.OnOffOn; |
| | | btnKeyModeTipText = Language.StringByID(R.MyInternationalizationString.OnOffOn); |
| | | break; |
| | | case 101: |
| | | btnKeyModeTip.TextID = R.MyInternationalizationString.OnOffoFF; |
| | | btnKeyModeTipText = Language.StringByID(R.MyInternationalizationString.OnOffoFF); |
| | | break; |
| | | case 102: |
| | | btnKeyModeTip.TextID = R.MyInternationalizationString.OnOffOnOff; |
| | | btnKeyModeTipText = Language.StringByID(R.MyInternationalizationString.OnOffOnOff); |
| | | break; |
| | | case 200: |
| | | btnKeyModeTip.TextID = R.MyInternationalizationString.DimmerMode1; |
| | | btnKeyModeTipText = Language.StringByID(R.MyInternationalizationString.DimmerMode1); |
| | | break; |
| | | case 201: |
| | | btnKeyModeTip.TextID = R.MyInternationalizationString.DimmerMode2; |
| | | btnKeyModeTipText = Language.StringByID(R.MyInternationalizationString.DimmerMode2); |
| | | break; |
| | | case 203: |
| | | btnKeyModeTip.TextID = R.MyInternationalizationString.DimmerMode3; |
| | | btnKeyModeTipText = Language.StringByID(R.MyInternationalizationString.DimmerMode3); |
| | | break; |
| | | case 204: |
| | | btnKeyModeTip.TextID = R.MyInternationalizationString.DimmerMode4; |
| | | btnKeyModeTipText = Language.StringByID(R.MyInternationalizationString.DimmerMode4); |
| | | break; |
| | | case 205: |
| | | btnKeyModeTip.TextID = R.MyInternationalizationString.DimmerMode5; |
| | | btnKeyModeTipText = Language.StringByID(R.MyInternationalizationString.DimmerMode5); |
| | | break; |
| | | case 300: |
| | | btnKeyModeTip.TextID = R.MyInternationalizationString.WcdUp; |
| | | btnKeyModeTipText = Language.StringByID(R.MyInternationalizationString.WcdUp); |
| | | break; |
| | | case 301: |
| | | btnKeyModeTip.TextID = R.MyInternationalizationString.WcdDown; |
| | | btnKeyModeTipText = Language.StringByID(R.MyInternationalizationString.WcdDown); |
| | | break; |
| | | case 302: |
| | | btnKeyModeTip.TextID = R.MyInternationalizationString.WcdStop; |
| | | btnKeyModeTipText = Language.StringByID(R.MyInternationalizationString.WcdStop); |
| | | break; |
| | | case 303: |
| | | btnKeyModeTip.TextID = R.MyInternationalizationString.WcdUpStop; |
| | | btnKeyModeTipText = Language.StringByID(R.MyInternationalizationString.WcdUpStop); |
| | | break; |
| | | case 304: |
| | | btnKeyModeTip.TextID = R.MyInternationalizationString.WcdDownStop; |
| | | btnKeyModeTipText = Language.StringByID(R.MyInternationalizationString.WcdDownStop); |
| | | break; |
| | | } |
| | | #endregion |
| | | |
| | | modeRowLayout.frameTable.AddMostRightView(btnKeyModeTipText, 500); |
| | | modeRowLayout.frameTable.AddBottomLine(); |
| | | var btnDel = modeRowLayout.AddDeleteControl(); |
| | | //一键清除按键事件 |
| | | btnDel.MouseUpEventHandler += async (sender, e) => |
| | | btnDel.ButtonClickEvent += async (sender, e) => |
| | | { |
| | | bool isDelSuccess = false; |
| | | try |
| | | { |
| | | CommonPage.Loading.Start(""); |
| | | var bindResult = await currentKey.ClearBindInfoAsync(); |
| | | if (bindResult != null && bindResult.clearBindInfoResponseData != null) |
| | | { |
| | | if (bindResult.clearBindInfoResponseData.Result != 0) |
| | | { |
| | | 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) |
| | | { |
| | | 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 |
| | | { |
| | | 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(); |
| | | } |
| | | string msg = Language.StringByID(R.MyInternationalizationString.ClearAllTargets).Replace("{0}", "\r\n"); |
| | | var alert = new Shared.Phone.UserCenter.ShowMsgControl(ShowMsgType.Confirm, msg, Language.StringByID(R.MyInternationalizationString.DoorlockConfirm)); |
| | | alert.Show(); |
| | | //使用确认型弹框时,的回调函数 |
| | | alert.ConfirmClickEvent += async () => |
| | | { |
| | | bool isDelSuccess = false; |
| | | try |
| | | { |
| | | CommonPage.Loading.Start(""); |
| | | var bindResult = await currentKey.ClearBindInfoAsync(); |
| | | if (bindResult != null && bindResult.clearBindInfoResponseData != null) |
| | | { |
| | | if (bindResult.clearBindInfoResponseData.Result != 0) |
| | | { |
| | | 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) |
| | | { |
| | | 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 |
| | | { |
| | | 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() |
| | |
| | | Y = Application.GetRealHeight(69), |
| | | TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, |
| | | TextSize = 14, |
| | | IsBold = false, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | }; |
| | | rowView.AddChidren(btnMethodText); |
| | |
| | | }; |
| | | rowView.AddChidren(line2); |
| | | |
| | | if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddScene) && i == 0) |
| | | if (string.IsNullOrEmpty(currentKey.currentKeySelectModeText) && value == 1) |
| | | { |
| | | btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack; |
| | | btnMethodText.IsBold = true; |
| | | oldbuttonText = btnMethodText; |
| | | } |
| | | else if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddSwitch) && i == 1) |
| | | if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddScene) && value == 1) |
| | | { |
| | | btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack; |
| | | btnMethodText.IsBold = true; |
| | | oldbuttonText = btnMethodText; |
| | | } |
| | | else if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddDimmer) && i == 2) |
| | | else if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddSwitch) && value == 100) |
| | | { |
| | | btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack; |
| | | btnMethodText.IsBold = true; |
| | | oldbuttonText = btnMethodText; |
| | | } |
| | | else if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddCurtain) && i == 3) |
| | | else if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddDimmer) && value == 200) |
| | | { |
| | | btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack; |
| | | btnMethodText.IsBold = true; |
| | | oldbuttonText = btnMethodText; |
| | | } |
| | | else if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddCurtain) && value == 300) |
| | | { |
| | | btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack; |
| | | btnMethodText.IsBold = true; |
| | | oldbuttonText = btnMethodText; |
| | | } |
| | | #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; |
| | | btnMethodText.IsBold = true; |
| | | 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; |
| | | btnMethodText.IsBold = true; |
| | | 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; |
| | | btnMethodText.IsBold = true; |
| | | 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; |
| | | btnMethodText.IsBold = true; |
| | | oldbuttonText = btnMethodText; |
| | | } |
| | | #endregion |
| | |
| | | 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)); |
| | | string msg = Language.StringByID(R.MyInternationalizationString.DelLocalBindListThenAddAgain); |
| | | var alert = new Shared.Phone.UserCenter.ShowMsgControl(ShowMsgType.Confirm, msg, Language.StringByID(R.MyInternationalizationString.DoorlockConfirm)); |
| | | alert.Show(); |
| | | //使用确认型弹框时,的回调函数 |
| | | alert.ConfirmClickEvent += async () => |
| | | { |
| | | var result = await RemoveTargets(bindSc, line2); |
| | | if (result == 0) |
| | | { |
| | | var addScenePage = new Shared.Phone.UserCenter.DeviceBind.AddScenePage(currentKey, gwScenesList); |
| | | Shared.Phone.UserView.HomePage.Instance.AddChidren(addScenePage); |
| | | Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; |
| | | addScenePage.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(); |
| | | } |
| | | }; |
| | | Action<List<BindListResponseObj>> action = (obj) => |
| | | { |
| | | currentKey.bindList = obj; |
| | | RefreshList(); |
| | | }; |
| | | addScenePage.action += action; |
| | | dialog.Close(); |
| | | } |
| | | else |
| | | { |
| | | currentKey.currentKeySelectModeText = oldKeySelectModeText; |
| | | dialog.Close(); |
| | | } |
| | | }; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | var addScenePage = new Shared.Phone.UserCenter.DeviceBind.AddScenePage(currentKey); |
| | | var addScenePage = new Shared.Phone.UserCenter.DeviceBind.AddScenePage(currentKey, gwScenesList); |
| | | Shared.Phone.UserView.HomePage.Instance.AddChidren(addScenePage); |
| | | Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; |
| | | addScenePage.Show(); |
| | |
| | | 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)); |
| | | string msg = Language.StringByID(R.MyInternationalizationString.DelLocalBindListThenAddAgain1); |
| | | var alert = new Shared.Phone.UserCenter.ShowMsgControl(ShowMsgType.Confirm, msg, Language.StringByID(R.MyInternationalizationString.DoorlockConfirm)); |
| | | alert.Show(); |
| | | //使用确认型弹框时,的回调函数 |
| | | alert.ConfirmClickEvent += async () => |
| | | { |
| | | 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(); |
| | | |
| | | 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(); |
| | | } |
| | | }; |
| | | Action<List<BindListResponseObj>> action = (obj) => |
| | | { |
| | | currentKey.bindList = obj; |
| | | RefreshList(); |
| | | }; |
| | | addDevicePage.actionAddDevicePage += action; |
| | | dialog.Close(); |
| | | } |
| | | else |
| | | { |
| | | currentKey.currentKeySelectModeText = oldKeySelectModeText; |
| | | dialog.Close(); |
| | | } |
| | | }; |
| | | } |
| | | } |
| | | else |
| | |
| | | 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) => |
| | | var dialog1 = new Dialog { }; |
| | | var doorDialog = new Shared.Phone.UserCenter.DoorLock.DoorlockDialog(dialog1, Language.StringByID(R.MyInternationalizationString.Tip)); |
| | | doorDialog.Show(); |
| | | doorDialog.dialogMidFraFrameLayout.Height = Application.GetRealHeight(58); |
| | | doorDialog.dialogMidFraFrameLayout.X = Application.GetRealWidth(0); |
| | | doorDialog.dialogMidFraFrameLayout.Y = Application.GetRealHeight(202); |
| | | doorDialog.dialogMidFraFrameLayout.AddChidren(doorDialog.dialogMidText); |
| | | doorDialog.dialogMidText.Text = Language.StringByID(R.MyInternationalizationString.DelLocalBindListThenAddAgain2); |
| | | doorDialog.dialogMidFraFrameLayout.AddChidren(doorDialog.dialogMidText); |
| | | doorDialog.dialogBtnConfirm.Text = Language.StringByID(R.MyInternationalizationString.DoorlockConfirm); |
| | | doorDialog.dialogBtnCancel.MouseUpEventHandler += (sender1, e1) => |
| | | { |
| | | if (e1) |
| | | currentKey.currentKeySelectModeText = oldKeySelectModeText; |
| | | dialog.Close(); |
| | | dialog1.Close(); |
| | | }; |
| | | doorDialog.dialogBtnConfirm.MouseUpEventHandler += async (sender1, e1) => |
| | | { |
| | | var result = await RemoveTargets(bindSc, line2); |
| | | if (result == 0) |
| | | { |
| | | 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(); |
| | | 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 |
| | | Action<List<BindListResponseObj>> action = (obj) => |
| | | { |
| | | currentKey.currentKeySelectModeText = oldKeySelectModeText; |
| | | dialog.Close(); |
| | | } |
| | | currentKey.bindList = obj; |
| | | RefreshList(); |
| | | }; |
| | | addDevicePage.actionAddDevicePage += action; |
| | | dialog.Close(); |
| | | dialog1.Close(); |
| | | } |
| | | else |
| | | { |
| | | currentKey.currentKeySelectModeText = oldKeySelectModeText; |
| | | dialog.Close(); |
| | | dialog1.Close(); |
| | | } |
| | | |
| | | }; |
| | | } |
| | | } |
| | |
| | | addDevicePage.actionAddDevicePage += action; |
| | | dialog.Close(); |
| | | } |
| | | |
| | | |
| | | } |
| | | if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddCurtain)) |
| | | { |
| | |
| | | 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) => |
| | | var dialog1 = new Dialog { }; |
| | | var doorDialog = new Shared.Phone.UserCenter.DoorLock.DoorlockDialog(dialog1, Language.StringByID(R.MyInternationalizationString.Tip)); |
| | | doorDialog.Show(); |
| | | doorDialog.dialogMidFraFrameLayout.Height = Application.GetRealHeight(58); |
| | | doorDialog.dialogMidFraFrameLayout.X = Application.GetRealWidth(0); |
| | | doorDialog.dialogMidFraFrameLayout.Y = Application.GetRealHeight(202); |
| | | doorDialog.dialogMidFraFrameLayout.AddChidren(doorDialog.dialogMidText); |
| | | doorDialog.dialogMidText.Text = Language.StringByID(R.MyInternationalizationString.DelLocalBindListThenAddAgain3); |
| | | doorDialog.dialogMidFraFrameLayout.AddChidren(doorDialog.dialogMidText); |
| | | doorDialog.dialogBtnConfirm.Text = Language.StringByID(R.MyInternationalizationString.DoorlockConfirm); |
| | | doorDialog.dialogBtnCancel.MouseUpEventHandler += (sender1, 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(); |
| | | currentKey.currentKeySelectModeText = oldKeySelectModeText; |
| | | dialog.Close(); |
| | | dialog1.Close(); |
| | | }; |
| | | doorDialog.dialogBtnConfirm.MouseUpEventHandler += async (sender1, 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 |
| | | Action<List<BindListResponseObj>> action = (obj) => |
| | | { |
| | | currentKey.currentKeySelectModeText = oldKeySelectModeText; |
| | | dialog.Close(); |
| | | } |
| | | currentKey.bindList = obj; |
| | | RefreshList(); |
| | | }; |
| | | addDevicePage.actionAddDevicePage += action; |
| | | dialog.Close(); |
| | | dialog1.Close(); |
| | | }; |
| | | } |
| | | } |
| | |
| | | } |
| | | } |
| | | |
| | | //获取按键支持的大类 |
| | | 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 { } |
| | |
| | | } |
| | | } |
| | | } |
| | | |