| | |
| | | using Shared.Phone.Device.AC; |
| | | using ZigBee.Device; |
| | | using Shared.Phone.Device.CommonForm; |
| | | using Shared.Phone.UserCenter.DoorLock; |
| | | using System.Timers; |
| | | |
| | | namespace Shared.Phone.UserView |
| | | { |
| | |
| | | private readonly int sleepSpan = 300; |
| | | |
| | | |
| | | private FrameLayout itemView=new FrameLayout(); |
| | | private FrameLayout itemView = new FrameLayout(); |
| | | /// <summary> |
| | | /// floorBtn |
| | | /// </summary> |
| | | private Button floorBtn; |
| | | /// <summary> |
| | | /// timeDic |
| | | /// </summary> |
| | | private Dictionary<string, Timer> timerDic = new Dictionary<string, Timer> { }; |
| | | /// <summary> |
| | | /// sceneScrolView |
| | | /// </summary> |
| | | private VerticalScrolViewLayout sceneScrolView ; |
| | | #endregion |
| | | |
| | | #region ◆ 接口____________________________ |
| | |
| | | ac.currentSystemMode = attriButeList[0].AttriButeData; |
| | | ac.LastDateTime = DateTime.Now; |
| | | break; |
| | | |
| | | case 4099: |
| | | var value = Convert.ToString(attriButeList[0].AttriButeData, 2).PadLeft(16, '0'); |
| | | var modeStr = value.Substring(value.Length - 5, 5); |
| | | for (int j = 0; j < modeStr.Length; j++) |
| | | { |
| | | ac.listSupportMode[j] = Convert.ToInt32(modeStr[j]) == 49 ? 1 : 0; |
| | | } |
| | | break; |
| | | } |
| | | (rowFL.GetChildren(0) as FunctionMainView).IsSelected = ac.currentSystemMode != 0; |
| | | (rowFL.GetChildren(0) as FunctionMainView).StatuButton.Text = deviceUI.GetDeviceStatu(); |
| | |
| | | { |
| | | case 0: |
| | | //此属性表明当前亮度程度 |
| | | dimmableLight.Level = attriButeList[0].AttriButeData ; |
| | | dimmableLight.Level = attriButeList[0].AttriButeData; |
| | | dimmableLight.LastDateTime = DateTime.Now; |
| | | (rowFL.GetChildren(0) as FunctionMainView).IsSelected = true; |
| | | (rowFL.GetChildren(0) as FunctionMainView).StatuButton.Text = deviceUI.GetDeviceStatu(); |
| | |
| | | #region topview |
| | | var topFrameLayout = new FrameLayout() |
| | | { |
| | | Y=Application.GetRealHeight(60), |
| | | Y = Application.GetRealHeight(60), |
| | | Height = Application.GetRealHeight(127), |
| | | BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor, |
| | | }; |
| | |
| | | |
| | | floorBtn = new Button |
| | | { |
| | | X=floor.Right, |
| | | Width=Application.GetRealWidth(500), |
| | | Height=Application.GetRealHeight(100), |
| | | X = floor.Right, |
| | | Width = Application.GetRealWidth(500), |
| | | Height = Application.GetRealHeight(100), |
| | | Gravity = Gravity.CenterVertical, |
| | | TextAlignment =TextAlignment.CenterLeft, |
| | | TextColor=ZigbeeColor.Current.GXCTextColor, |
| | | Text=Config.Instance.Home.GetCurrentFloorName |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextColor = ZigbeeColor.Current.GXCTextColor, |
| | | Text = Config.Instance.Home.GetCurrentFloorName |
| | | }; |
| | | topFrameLayout.AddChidren(floorBtn); |
| | | |
| | |
| | | Height = Application.GetMinRealAverage(69), |
| | | Gravity = Gravity.CenterVertical, |
| | | UnSelectedImagePath = "Item/Message.png", |
| | | SelectedImagePath="Item/MessageSelected.png" |
| | | SelectedImagePath = "Item/MessageSelected.png" |
| | | }; |
| | | topFrameLayout.AddChidren(messageBtn); |
| | | |
| | | var residecneName = new Button() |
| | | { |
| | | X=Application.GetRealWidth(CommonFormResouce.X_Left), |
| | | X = Application.GetRealWidth(CommonFormResouce.X_Left), |
| | | Y = Application.GetRealHeight(161), |
| | | Width = Application.GetRealWidth(700), |
| | | Height = Application.GetRealHeight(95), |
| | |
| | | TextSize = 24, |
| | | TextColor = ZigbeeColor.Current.GXCTextBlackColor |
| | | }; |
| | | if(Config.Instance.Home.IsOthreShare) |
| | | if (Config.Instance.Home.IsOthreShare) |
| | | { |
| | | residecneName.Text = $"({Language.StringByID(R.MyInternationalizationString.Shared)}){Config.Instance.Home.Name}"; |
| | | residecneName.Text = $"{Config.Instance.Home.Name}"; |
| | | } |
| | | AddChidren(residecneName); |
| | | |
| | |
| | | var scrolView = new VerticalScrolViewLayout() |
| | | { |
| | | Y = changeHomeBtn.Bottom, |
| | | Height = Application.GetMinRealAverage(305-10) |
| | | Height = Application.GetMinRealAverage(305 - 10) |
| | | }; |
| | | changeHomeFL.AddChidren(scrolView); |
| | | |
| | |
| | | scrolView.AddChidren(rowView); |
| | | var pointBtn = new Device.CommonForm.SelectedStatuButton() |
| | | { |
| | | X=Application.GetRealWidth(80), |
| | | X = Application.GetRealWidth(80), |
| | | Width = Application.GetMinRealAverage(80), |
| | | Height = Application.GetMinRealAverage(80), |
| | | Gravity = Gravity.CenterVertical, |
| | |
| | | SelectedTextColor = ZigbeeColor.Current.GXCTextBlackColor, |
| | | IsSelected = home.Id == Config.Instance.Home.Id |
| | | }; |
| | | if(home.IsOthreShare) |
| | | if (home.IsOthreShare) |
| | | { |
| | | nameBtn.Text = $"({Language.StringByID(R.MyInternationalizationString.Shared)}){home.Name}"; |
| | | nameBtn.Text = $"{home.Name}"; |
| | | } |
| | | rowView.AddChidren(nameBtn); |
| | | |
| | |
| | | nameBtn.IsSelected = true; |
| | | |
| | | residecneName.Text = home.Name; |
| | | if(home.IsOthreShare) |
| | | if (home.IsOthreShare) |
| | | { |
| | | nameBtn.Text = $"({Language.StringByID(R.MyInternationalizationString.Shared)}){home.Name}"; |
| | | nameBtn.Text = $"{home.Name}"; |
| | | } |
| | | clickCheckBtn = pointBtn; |
| | | clickNameBtn = nameBtn; |
| | |
| | | residecneName.Text = home.Name; |
| | | if (home.IsOthreShare) |
| | | { |
| | | residecneName.Text = nameBtn.Text = $"({Language.StringByID(R.MyInternationalizationString.Shared)}){home.Name}"; |
| | | residecneName.Text = nameBtn.Text = $"{home.Name}"; |
| | | } |
| | | } |
| | | else |
| | |
| | | //消息 |
| | | messageBtn.MouseUpEventHandler += (send, e) => |
| | | { |
| | | var roomList = new Shared.Phone.Device.Room.RoomManagement(); |
| | | HomePage.Instance.AddChidren(roomList); |
| | | HomePage.Instance.PageIndex += 1; |
| | | roomList.Show(); |
| | | |
| | | }; |
| | | |
| | | #endregion |
| | | |
| | | if(CanBindGateway()==false) |
| | | if (CanBindGateway() == false) |
| | | { |
| | | var roomPageView = new PageLayout() |
| | | { |
| | |
| | | AddChidren(roomPageView); |
| | | |
| | | //当前房间 |
| | | if (Shared.Common.Room.CanInitAllRoom == true) |
| | | //Room.CurrentRoom = Room.CurrentRoom == null ? Room.Lists[0] : Room.CurrentRoom; |
| | | var rList = Room.CurrentRoom.GetRoomsByCurrentFloorIdAppendLoveRoom(); |
| | | Room.CurrentRoom = rList[0]; |
| | | foreach (var room in rList) |
| | | { |
| | | //Room.CurrentRoom = Room.CurrentRoom == null ? Room.Lists[0] : Room.CurrentRoom; |
| | | Room.CurrentRoom = Room.Lists[0]; |
| | | foreach (var room in Room.CurrentRoom.GetRoomsByCurrentFloorIdAppendLoveRoom()) |
| | | { |
| | | var roomBackView = new FrameLayout() |
| | | { |
| | | BackgroundImagePath = room.BackgroundImage |
| | | }; |
| | | roomPageView.AddChidren(roomBackView); |
| | | var roomBG = new Button() |
| | | { |
| | | UnSelectedImagePath = "Room/HomeBG.png", |
| | | }; |
| | | roomBackView.AddChidren(roomBG); |
| | | var roomName = new Button() |
| | | { |
| | | X = Application.GetRealWidth(20), |
| | | Y = Application.GetRealHeight(20), |
| | | Width = Application.GetRealWidth(500), |
| | | Height = Application.GetRealHeight(80), |
| | | Text = room.Name, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextColor = ZigbeeColor.Current.GXCTextWhiteColor, |
| | | TextSize = 18, |
| | | }; |
| | | roomBackView.AddChidren(roomName); |
| | | var roomListBtn = new Device.CommonForm.SelectedStatuButton() |
| | | { |
| | | X = roomPageView.Width - Application.GetRealWidth(100 + 20), |
| | | Y = Application.GetRealHeight(20), |
| | | Width = Application.GetMinRealAverage(100), |
| | | Height = Application.GetMinRealAverage(100), |
| | | UnSelectedImagePath = "Item/List.png", |
| | | SelectedImagePath = "Item/ListSelected.png" |
| | | }; |
| | | roomBackView.AddChidren(roomListBtn); |
| | | |
| | | roomListBtn.MouseUpEventHandler += (send, e) => |
| | | { |
| | | //var roomList = new Device.Room.RoomManagement(); |
| | | //HomePage.Instance.AddChidren(roomList); |
| | | //HomePage.Instance.PageIndex += 1; |
| | | //roomList.Show(); |
| | | //roomList.action += () => |
| | | //{ |
| | | // Show(); |
| | | //}; |
| | | if(room.IsLove) |
| | | { |
| | | return; |
| | | } |
| | | var editRoom = new Device.Room.EditRoom(); |
| | | HomePage.Instance.AddChidren(editRoom); |
| | | HomePage.Instance.PageIndex += 1; |
| | | editRoom.Show(room); |
| | | editRoom.action += () => |
| | | { |
| | | Show(); |
| | | }; |
| | | |
| | | }; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | Room.CurrentRoom = Room.Lists[0]; |
| | | var roomBackView = new FrameLayout() |
| | | { |
| | | BackgroundImagePath = "Room/r0.png" |
| | | BackgroundImagePath = room.BackgroundImage |
| | | }; |
| | | roomPageView.AddChidren(roomBackView); |
| | | var roomBG = new Button() |
| | | { |
| | | UnSelectedImagePath = "Room/HomeBG.png", |
| | | //UnSelectedImagePath = room.BackgroundImage |
| | | }; |
| | | roomBackView.AddChidren(roomBG); |
| | | var roomName = new Button() |
| | |
| | | Y = Application.GetRealHeight(20), |
| | | Width = Application.GetRealWidth(500), |
| | | Height = Application.GetRealHeight(80), |
| | | Text = Language.StringByID(R.MyInternationalizationString.Favorite), |
| | | Text = room.Name, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextColor = ZigbeeColor.Current.GXCTextWhiteColor, |
| | | TextSize = 18, |
| | | }; |
| | | roomBackView.AddChidren(roomName); |
| | | var roomListBtn = new Button() |
| | | var roomListBtn = new Device.CommonForm.SelectedStatuButton() |
| | | { |
| | | X = roomPageView.Width - Application.GetRealWidth(100 + 20), |
| | | Y = Application.GetRealHeight(20), |
| | | Width = Application.GetMinRealAverage(100), |
| | | Height = Application.GetMinRealAverage(100), |
| | | UnSelectedImagePath = "Item/List.png" |
| | | UnSelectedImagePath = "Item/List.png", |
| | | }; |
| | | roomBackView.AddChidren(roomListBtn); |
| | | |
| | | roomListBtn.MouseUpEventHandler += (send, e) => |
| | | { |
| | | CommonPage.Instance.IsDrawerLockMode = true; |
| | | var editRoom = new Device.Room.EditRoom(); |
| | | HomePage.Instance.AddChidren(editRoom); |
| | | HomePage.Instance.PageIndex += 1; |
| | | editRoom.Show(room); |
| | | editRoom.action += () => |
| | | { |
| | | Show(); |
| | | }; |
| | | }; |
| | | } |
| | | |
| | | var functionSceneView = new FrameLayout() |
| | | { |
| | | Y = Application.GetRealHeight(861), |
| | | Width=Application.GetRealWidth(832), |
| | | Width = Application.GetRealWidth(832), |
| | | Height = Application.GetRealHeight(167), |
| | | Gravity=Gravity.CenterHorizontal, |
| | | BackgroundImagePath="Item/SceneFunctionBG.png" |
| | | Gravity = Gravity.CenterHorizontal, |
| | | BackgroundImagePath = "Item/SceneFunctionBG.png" |
| | | }; |
| | | AddChidren(functionSceneView); |
| | | |
| | |
| | | Y = functionSceneView.Bottom, |
| | | Height = Application.GetRealHeight(750), |
| | | Gravity = Gravity.CenterHorizontal, |
| | | BackgroundColor=ZigbeeColor.Current.GXCGrayBackgroundColor |
| | | BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor |
| | | }; |
| | | AddChidren(functionSceneBodyView); |
| | | |
| | |
| | | roomPageView.PageChange += (sender, e) => |
| | | { |
| | | //切换当前房间 |
| | | Room.CurrentRoom = Room.CurrentRoom == null ? Room.Lists[0] : Room.Lists[roomPageView.PageIndex]; |
| | | Room.CurrentRoom = rList[roomPageView.PageIndex]; |
| | | RefreshBodyView(); |
| | | }; |
| | | } |
| | |
| | | /// </summary> |
| | | public void RefreshBodyView() |
| | | { |
| | | if (Room.CanInitAllRoom == false) |
| | | { |
| | | return; |
| | | } |
| | | functionSceneBodyView.RemoveAll(); |
| | | if (functionBtn.IsSelected) |
| | | { |
| | |
| | | /// </summary> |
| | | /// <param name="sender"></param> |
| | | /// <param name="mouseEventArgs"></param> |
| | | public void SelectFloor(object sender,MouseEventArgs mouseEventArgs) |
| | | public void SelectFloor(object sender, MouseEventArgs mouseEventArgs) |
| | | { |
| | | var floorFL = new Phone.Device.Category.SelectFloor(); |
| | | AddChidren(floorFL); |
| | | floorFL.Init(35, 153); |
| | | floorFL.FloorAction = (floorName) => |
| | | floorFL.changeFloor = true; |
| | | floorFL.FloorAction = (floorId) => |
| | | { |
| | | floorBtn.Text = floorName; |
| | | floorBtn.Text = Config.Instance.Home.GetFloorNameById(floorId); |
| | | Show(); |
| | | }; |
| | | } |
| | |
| | | |
| | | var noFunctionTip = new Button() |
| | | { |
| | | Y=noFunction.Bottom, |
| | | Y = noFunction.Bottom, |
| | | Height = Application.GetRealHeight(200), |
| | | Text = Language.StringByID(R.MyInternationalizationString.NoFunction).Replace("{\\r\\n}","\r\n"), |
| | | Text = Language.StringByID(R.MyInternationalizationString.NoFunction).Replace("{\\r\\n}", "\r\n"), |
| | | TextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor, |
| | | IsMoreLines=true |
| | | IsMoreLines = true |
| | | }; |
| | | functionSceneBodyView.AddChidren(noFunctionTip); |
| | | } |
| | |
| | | else |
| | | { |
| | | deviceVerticalScrolViewLayout = new VerticalScrolViewLayout { }; |
| | | |
| | | |
| | | functionSceneBodyView.AddChidren(deviceVerticalScrolViewLayout); |
| | | for(int i=0;i<deviceList.Count;i++) |
| | | for (int i = 0; i < deviceList.Count; i++) |
| | | { |
| | | int t = i % 2; |
| | | int tt = i / 2; |
| | |
| | | deviceVerticalScrolViewLayout.AddChidren(itemView); |
| | | } |
| | | |
| | | |
| | | //删除设备 |
| | | EventHandler<MouseEventArgs> delEvent = (sender, e) => |
| | | { |
| | | var alert = new Alert(Language.StringByID(R.MyInternationalizationString.TIP), Language.StringByID(R.MyInternationalizationString.ConfirmDelete), Language.StringByID(R.MyInternationalizationString.Cancel), Language.StringByID(R.MyInternationalizationString.Confrim)); |
| | | alert.Show(); |
| | | alert.ResultEventHandler += (send1, e1) => |
| | | { |
| | | if (e1) |
| | | { |
| | | Room.CurrentRoom.DeleteDevice(device.FileName); |
| | | //RefreshBodyView(); |
| | | deviceVerticalScrolViewLayout.RemoveViewByTag((sender as Button).Tag); |
| | | } |
| | | }; |
| | | }; |
| | | //收藏 |
| | | EventHandler<MouseEventArgs> collectionEvent = (sender, e) => |
| | | { |
| | |
| | | |
| | | lightView.CardBG.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | CommonPage.Instance.IsDrawerLockMode = true; |
| | | var rollerShadeControl = new Phone.Device.Curtain.RollerShadeControl(); |
| | | UserView.HomePage.Instance.AddChidren(rollerShadeControl); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | |
| | | } |
| | | } |
| | | |
| | | var lightView = new FunctionMainView(xx,yy); |
| | | var lightView = new FunctionMainView(xx, yy); |
| | | itemView.AddChidren(lightView); |
| | | lightView.Init(); |
| | | lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath); |
| | | lightView.SetStatuText(device.GetDeviceStatu()); |
| | | lightView.SetDeviceName(device.CommonDevice.DeviceEpointName); |
| | | lightView.IsSelected = light.OnOffStatus==1; |
| | | lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom,device.FileName)); |
| | | lightView.IsSelected = light.OnOffStatus == 1; |
| | | lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName)); |
| | | |
| | | var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName); |
| | | if (dev == null) |
| | |
| | | |
| | | lightView.CardBG.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | CommonPage.Instance.IsDrawerLockMode = true; |
| | | if (device.CommonDevice.DfunctionType == DeviceFunctionType.A开关) |
| | | { |
| | | var lightControl = new Phone.Device.Light.OnOffControl(); |
| | |
| | | |
| | | lightView.CardBG.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | CommonPage.Instance.IsDrawerLockMode = true; |
| | | var lightControl = new Phone.Device.Light.AirSwitchControl(); |
| | | UserView.HomePage.Instance.AddChidren(lightControl); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | |
| | | ac.ReadFanMode(); |
| | | ac.ReadSystemMode(); |
| | | ac.ReadSystemFansSwingMode(); |
| | | ac.ReadModeSupport(); |
| | | }); |
| | | } |
| | | else |
| | |
| | | ac.ReadFanMode(); |
| | | ac.ReadSystemMode(); |
| | | ac.ReadSystemFansSwingMode(); |
| | | ac.ReadModeSupport(); |
| | | } |
| | | } |
| | | var lightView = new FunctionMainView(xx, yy); |
| | |
| | | |
| | | lightView.CardBG.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | CommonPage.Instance.IsDrawerLockMode = true; |
| | | var lightControl = new Phone.Device.AC.ACControl(); |
| | | UserView.HomePage.Instance.AddChidren(lightControl); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | |
| | | |
| | | lightView.CardBG.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | CommonPage.Instance.IsDrawerLockMode = true; |
| | | var dimmableLightControl = new Phone.Device.Light.DimmableLightControl(); |
| | | UserView.HomePage.Instance.AddChidren(dimmableLightControl); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | | UserView.HomePage.Instance.ScrollEnabled = false; |
| | | //dimmableLightControl.action = RefreshBodyView; |
| | | dimmableLightControl.Show(device, Room.CurrentRoom); |
| | | }; |
| | | |
| | | lightView.CollectButton.MouseUpEventHandler += collectionEvent; |
| | | } |
| | | else if (device.CommonDevice.Type == DeviceType.OnOffSwitch) |
| | | else if (device.CommonDevice.Type == ZigBee.Device.DeviceType.DoorLock) |
| | | { |
| | | //门锁 |
| | | var dimmableLight = device.CommonDevice as DoorLock; |
| | | //补上非远程 |
| | | if (dimmableLight.Gateway == null) |
| | | { |
| | | continue; |
| | | } |
| | | if (dimmableLight.Gateway.IsVirtual) |
| | | { |
| | | ReadStatus(dimmableLight, () => |
| | | { |
| | | dimmableLight.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch); |
| | | }); |
| | | } |
| | | else |
| | | { |
| | | if ((DateTime.Now - dimmableLight.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan) |
| | | { |
| | | dimmableLight.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch); |
| | | } |
| | | } |
| | | |
| | | var lightView = new FunctionMainView(xx, yy); |
| | | itemView.AddChidren(lightView); |
| | | lightView.Init(); |
| | | lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath); |
| | | lightView.SetStatuText(device.GetDeviceStatu()); |
| | | lightView.SetDeviceName(device.CommonDevice.DeviceEpointName); |
| | | lightView.IsSelected = dimmableLight.IsOnline == 1; |
| | | lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName)); |
| | | lightView.CanControl(false); |
| | | var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName); |
| | | if (dev == null) |
| | | { |
| | | lightView.CollectButton.IsSelected = false; |
| | | } |
| | | else |
| | | { |
| | | lightView.CollectButton.IsSelected = true; |
| | | } |
| | | |
| | | lightView.CardBG.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | CommonPage.Instance.IsDrawerLockMode = true; |
| | | var userDoorLockPage = new UserDoorLockPage(Room.CurrentRoom, device); |
| | | HomePage.Instance.AddChidren(userDoorLockPage); |
| | | HomePage.Instance.PageIndex += 1; |
| | | userDoorLockPage.Show(); |
| | | }; |
| | | lightView.CollectButton.MouseUpEventHandler += collectionEvent; |
| | | } |
| | | else |
| | | { |
| | | var lightView = new FunctionMainView(xx, yy); |
| | | itemView.AddChidren(lightView); |
| | |
| | | lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath); |
| | | lightView.SetStatuText(device.GetDeviceStatu()); |
| | | lightView.SetDeviceName(device.CommonDevice.DeviceEpointName); |
| | | //lightView.SetStatu(true); |
| | | lightView.IsSelected = true; |
| | | lightView.CanControl(false); |
| | | lightView.IsSelected = device.CommonDevice.IsOnline == 1; |
| | | lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName)); |
| | | |
| | | var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName); |
| | | if (dev == null) |
| | | { |
| | | lightView.CollectButton.IsSelected = false; |
| | | } |
| | | else |
| | | { |
| | | lightView.CollectButton.IsSelected = true; |
| | | } |
| | | lightView.CollectButton.MouseUpEventHandler += collectionEvent; |
| | | } |
| | | } |
| | | } |
| | |
| | | functionSceneBodyView.AddChidren(noScene); |
| | | var noScenceTip = new Button() |
| | | { |
| | | Y=noScene.Bottom, |
| | | Y = noScene.Bottom, |
| | | Height = Application.GetRealHeight(200), |
| | | Text =Language.StringByID(R.MyInternationalizationString.NoScene).Replace("{\\r\\n}","\r\n"), |
| | | Text = Language.StringByID(R.MyInternationalizationString.NoScene).Replace("{\\r\\n}", "\r\n"), |
| | | TextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor, |
| | | IsMoreLines=true |
| | | IsMoreLines = true |
| | | }; |
| | | functionSceneBodyView.AddChidren(noScenceTip); |
| | | } |
| | |
| | | } |
| | | else |
| | | { |
| | | var sceneScrolView = new VerticalScrolViewLayout { }; |
| | | sceneScrolView = new VerticalScrolViewLayout { }; |
| | | functionSceneBodyView.AddChidren(sceneScrolView); |
| | | for(int i=0;i<sceneList.Count;i++) |
| | | for (int i = 0; i < sceneList.Count; i++) |
| | | { |
| | | var scene = sceneList[i]; |
| | | int xx = 43 + i % 2 * (20 + 487); |
| | |
| | | |
| | | var sceneView = new SceneMainView(xx, yy); |
| | | itemView.AddChidren(sceneView); |
| | | sceneView.Init(); |
| | | sceneView.SetSceneNameText(scene.Name); |
| | | sceneView.SetIcon($"SceneIcon/{i}.png"); |
| | | sceneView.SetCollect(Common.Room.CurrentRoom.GetLoveRoom().SceneUIFilePathList.Contains(scene.FileName)); |
| | | |
| | | if (scene.SceneDelayTime == 0) |
| | | { |
| | | sceneView.SetTimeImage(); |
| | | } |
| | | else |
| | | { |
| | | sceneView.SetTimeText(scene.SceneDelayTime.ToString()); |
| | | } |
| | | |
| | | sceneView.TimeButton.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | var timeSelect = new SelectTime(); |
| | | CommonPage.Instance.AddChidren(timeSelect); |
| | | timeSelect.TempTime = scene.DelayTime; |
| | | timeSelect.Init(); |
| | | timeSelect.TimeAction = (t) => |
| | | { |
| | | scene.SceneDelayTime = t; |
| | | if(t>0) |
| | | { |
| | | sceneView.SetTimeText(CommonFormResouce.GetTimeString(scene.SceneDelayTime)); |
| | | } |
| | | else |
| | | { |
| | | sceneView.SetTimeImage(); |
| | | } |
| | | }; |
| | | |
| | | }; |
| | | |
| | | //调用场景 |
| | | EventHandler<MouseEventArgs> sceneUpHandler = async (sender, e) => |
| | | { |
| | | //1成功 0失败 |
| | | //后面补上相关提示 |
| | | // Error参数含义 |
| | | //<para>1:网关无法解析命令数据。</para> |
| | | //<para>2:协调器正在升级或备份/恢复数据 |
| | | //<para>3:操作设备/组/场景不存在</para> |
| | | //<para>4:其他错误</para> |
| | | //<para>5:数据传输错误(在某次客户端向网关发送数据的过程中,网关在合理时间范围内接收客户端数据不完整导致该错误发生。如客户端向网关一次发送100个字节的数据,但网关等待接收了一秒只接收了80个字节。发生该错误,网关将主动关闭客户端连接)</para> |
| | | var sceneOpenAllData = await ZigBee.Device.Scene.ControlSceneAsync(scene.Id, scene.SceneDelayTime); |
| | | if (sceneOpenAllData == null || sceneOpenAllData.sceneOpenData == null) |
| | | { |
| | | return; |
| | | } |
| | | if (sceneOpenAllData.sceneOpenData.Result == 0) |
| | | { |
| | | if (sceneOpenAllData.errorResponData == null) |
| | | { |
| | | return; |
| | | } |
| | | CommonPage.Instance.ShowErrorInfoAlert(R.MyInternationalizationString.ControlSceneFail); |
| | | } |
| | | }; |
| | | //收藏 |
| | | EventHandler<MouseEventArgs> collectionEvent = (sender, e) => |
| | | { |
| | | (sender as Button).IsSelected = !(sender as Button).IsSelected; |
| | | if ((sender as Button).IsSelected) |
| | | { |
| | | //scene.IsCollected = true; |
| | | Room.CurrentRoom.GetLoveRoom().AddScene(scene); |
| | | } |
| | | else |
| | | { |
| | | //scene.IsCollected = false; |
| | | Room.CurrentRoom.GetLoveRoom().RemoveScene(scene); |
| | | } |
| | | scene.Save(); |
| | | |
| | | //if ((sender as Button).IsSelected) |
| | | //{ |
| | | // scene.Collect(false); |
| | | // (sender as Button).IsSelected = false; |
| | | //} |
| | | //else |
| | | //{ |
| | | // scene.Collect(true); |
| | | // (sender as Button).IsSelected = true; |
| | | //} |
| | | //scene.Save(); |
| | | //if (Room.CurrentRoom.IsLove) |
| | | //{ |
| | | // RefreshBodyView(); |
| | | //} |
| | | |
| | | }; |
| | | |
| | | sceneView.CollectButton.MouseUpEventHandler += collectionEvent; |
| | | sceneView.MouseUpEventHandler += sceneUpHandler; |
| | | sceneView.SceneIcon.MouseUpEventHandler+= sceneUpHandler; |
| | | sceneView.SceneNameButton.MouseUpEventHandler += sceneUpHandler; |
| | | |
| | | sceneView.Init(scene); |
| | | } |
| | | GetDelayScene(sceneScrolView); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// GetDelayScene |
| | | /// </summary> |
| | | /// <param name="scrolViewLayout"></param> |
| | | private void GetDelayScene(VerticalScrolViewLayout scrolViewLayout) |
| | | { |
| | | new System.Threading.Thread(async () => |
| | | { |
| | | var catDelaySceneResponseAllData = await Scene.CatDelaySceneAsync(); |
| | | if (catDelaySceneResponseAllData == null) |
| | | { |
| | | return; |
| | | } |
| | | var catDelaySceneResponseData = catDelaySceneResponseAllData.catDelaySceneResponseData; |
| | | if (catDelaySceneResponseData == null || catDelaySceneResponseData.DelayScenesList.Count == 0) |
| | | { |
| | | return; |
| | | } |
| | | var delayList = catDelaySceneResponseData.DelayScenesList; |
| | | |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | for (int i = 0; scrolViewLayout != null && i < scrolViewLayout.ChildrenCount; i++) |
| | | { |
| | | var iView = scrolViewLayout.GetChildren(i) as FrameLayout; |
| | | for (int j = 0; iView != null && j < iView.ChildrenCount; j++) |
| | | { |
| | | var sceneView = iView.GetChildren(j) as SceneMainView; |
| | | foreach (var delayScenesListResponseInfo in delayList) |
| | | { |
| | | if (delayScenesListResponseInfo.ScenesId == sceneView.scene.Id) |
| | | { |
| | | var times = delayScenesListResponseInfo.RemainTime; |
| | | sceneView.scene.RemainTime = times; |
| | | new System.Threading.Thread(() => |
| | | { |
| | | while (times > 0) |
| | | { |
| | | System.Threading.Thread.Sleep(1000); |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | sceneView.SetTimeText(CommonFormResouce.GetTimeString(times)); |
| | | }); |
| | | times -= 1; |
| | | } |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | sceneView.SetTimeImage(); |
| | | }); |
| | | }) |
| | | { IsBackground = true }.Start(); |
| | | |
| | | break; |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | }); |
| | | }) |
| | | { IsBackground = true }.Start(); |
| | | } |
| | | |
| | | #endregion |