gxc
2020-02-28 66a9965c44ecc32a6696abca876ab9d1cd091584
ZigbeeApp/Shared/Phone/Device/Light/DimmableLightControl.cs
old mode 100755 new mode 100644
@@ -13,7 +13,7 @@
        /// <summary>
        /// The action.
        /// </summary>
        public Action action;
        public Action<DeviceUI, Common.Room> action;
        ///// <summary>
        ///// The top view.
        ///// </summary>
@@ -139,7 +139,6 @@
                            {
                                dimmableLight = deviceUI.CommonDevice as DimmableLight;
                                dimmableLight.DeviceStatusReport = common.DeviceStatusReport;
                                //记录、更新状态
                                if (dimmableLight.DeviceStatusReport.AttriBute == null || dimmableLight.DeviceStatusReport.AttriBute.Count == 0)
                                {
                                    return;
@@ -151,16 +150,13 @@
                                if (switchBtn.IsSelected == true)
                                {
                                    levelSeekBar.IsClickable = true;
                                    levelSeekBar.WaveColor = ZigbeeColor.Current.GXCWaveSeekBarColor;
                                    //levelSeekBar.Progress = 100;
                                    levelSeekBar.SetProgressBarColors(ZigbeeColor.Current.GXCWaveSeekBarColor_Start, ZigbeeColor.Current.GXCWaveSeekBarColor_End);
                                }
                                else
                                {
                                    levelSeekBar.IsClickable = false;
                                    levelSeekBar.WaveColor = ZigbeeColor.Current.GXCWaveSeekBarUnSelectedColor;
                                    //levelSeekBar.Progress = 0;
                                    levelSeekBar.SetProgressBarColors(ZigbeeColor.Current.GXCWaveSeekBarUnSelectedColor, ZigbeeColor.Current.GXCWaveSeekBarUnSelectedColor);
                                }
                                //change color
                                dimmableLight.LastDateTime = DateTime.Now;
                            }
                            //亮度
@@ -181,7 +177,6 @@
                                        dimmableLight.LastDateTime = DateTime.Now;
                                        levelSeekBar.Progress = (int)(dimmableLight.Level*1.0/MaxLevel*100);
                                        StatuBtn.Text = switchBtn.IsSelected ? $"{Language.StringByID(R.MyInternationalizationString.CurrentLightLevel)} { device.GetDeviceStatu()}" : $"{Language.StringByID(R.MyInternationalizationString.Current)} {Language.StringByID(R.MyInternationalizationString.Shut)}";
                                        break;
                                }
                            }
@@ -211,8 +206,8 @@
        {
            ZbGateway.StatusList.Remove(this);
            UserView.HomePage.Instance.ScrollEnabled = true;
            //action();
            //action = null;
            action(device, room);
            action = null;
            if (IsDrawerLockMode)
            {
                CommonPage.Instance.IsDrawerLockMode = false;
@@ -314,9 +309,9 @@
            UserView.HomePage.Instance.AddChidren(detailInfo);
            UserView.HomePage.Instance.PageIndex += 1;
            detailInfo.Show(device, room);
            detailInfo.EditAction = (d,r) =>
            detailInfo.EditAction += (curDev, curRoom) =>
            {
                Show(device, room);
                Show(curDev, curRoom);
            };
        }
@@ -376,7 +371,7 @@
                Width = Application.GetRealWidth(500),
                Height = Application.GetRealHeight(60),
                Gravity = Gravity.CenterHorizontal,
                Text = device.CommonDevice.DeviceEpointName,
                Text = Common.LocalDevice.Current.GetDeviceEpointName(device.CommonDevice),
                TextColor = ZigbeeColor.Current.GXCTextBlackColor,
                TextSize = 15,
                IsBold=true
@@ -405,7 +400,7 @@
                WavePadding = Application.GetRealWidth(8),
                MaxValue=100,
                Progress = (int)(dimmableLight.Level*1.0/MaxLevel*100),
                WaveColor = ZigbeeColor.Current.GXCWaveSeekBarColor,
                CornerRadius= Application.GetRealHeight(58)
            };
@@ -414,40 +409,38 @@
            if (dimmableLight.OnOffStatus == 1)
            {
                levelSeekBar.IsClickable = true;
                levelSeekBar.WaveColor = ZigbeeColor.Current.GXCWaveSeekBarColor;
                levelSeekBar.SetProgressBarColors(ZigbeeColor.Current.GXCWaveSeekBarColor_Start, ZigbeeColor.Current.GXCWaveSeekBarColor_End);
            }
            else
            {
                levelSeekBar.IsClickable = false;
                levelSeekBar.WaveColor = ZigbeeColor.Current.GXCWaveSeekBarUnSelectedColor;
                levelSeekBar.SetProgressBarColors(ZigbeeColor.Current.GXCWaveSeekBarUnSelectedColor, ZigbeeColor.Current.GXCWaveSeekBarUnSelectedColor);
            }
            levelSeekBar.OnStartTrackingTouchEvent += (sender, e) =>
            {
                OnProgressButtonMove(levelSeekBar.Progress);
                levelSeekBar.IsProgressTextShow = false;
                ProgressBtn.Visible = true;
            };
            levelSeekBar.OnStopTrackingTouchEvent += (sender, e) =>
            {
                ProgressBtn.Visible = false;
                levelSeekBar.IsProgressTextShow = true;
            };
            levelSeekBar.OnProgressChangedEvent += (send2, e2) =>
            levelSeekBar.OnStartTrackingTouchEvent += (sender, e) =>
            {
                OnProgressButtonMove(levelSeekBar.Progress);
                levelSeekBar.IsProgressTextShow = false;
                ProgressBtn.Visible = true;
            };
            levelSeekBar.OnStopTrackingTouchEvent += (sender, e) =>
            {
                ProgressBtn.Visible = false;
                levelSeekBar.IsProgressTextShow = true;
                dimmableLight.SetLevel((int)(levelSeekBar.Progress * MaxLevel / 100.0));
            };
            levelSeekBar.OnProgressChangedEvent += (send2, e2) =>
            {
                OnProgressButtonMove(e2);
                //判断是否300ms屏蔽
                if (levelSeekBar.IsProgressChangeDelay()) return;
                dimmableLight.SetLevel((int)(levelSeekBar.Progress * MaxLevel / 100.0));
            };
            InitProgressBtn(itemView);
                OnProgressButtonMove(e2);
                //判断是否300ms屏蔽
                //if (levelSeekBar.IsProgressChangeDelay()) return;
                //dimmableLight.SetLevel((int)(levelSeekBar.Progress * MaxLevel / 100.0));
            };
            InitProgressBtn(itemView);
            switchBtn = new Button()
@@ -503,31 +496,34 @@
            itemView.AddChidren(roomName);
        }
        /// <summary>
        /// OnProgressButtonMove
        /// </summary>
        private void OnProgressButtonMove(int mProgress)
        {
            ProgressBtn.Y = ProgressBtnY + levelSeekBar.NowProgressY;
            ProgressBtn.Text = mProgress + "%";
        }
        /// <summary>
        /// 添加进度按钮
        /// </summary>
        /// <summary>
        /// OnProgressButtonMove
        /// </summary>
        private void OnProgressButtonMove(int mProgress)
        {
            ProgressBtn.Y = ProgressBtnY + levelSeekBar.NowProgressY;
            ProgressBtn.Text = mProgress + "%";
        }
        /// <summary>
        /// 添加进度按钮
        /// </summary>
        private void InitProgressBtn(FrameLayout layout)
        {
            ProgressBtnY = levelSeekBar.Y - Application.GetMinReal(154);
            ProgressBtn = new Button()
            {
                Y = ProgressBtnY,
                Width = Application.GetMinReal(135),
                Height = Application.GetMinReal(104),
                UnSelectedImagePath = "Item/ProgressBubbles.png",
                Visible = false,
                Gravity = Gravity.CenterHorizontal
            };
            layout.AddChidren(ProgressBtn);
        {
            ProgressBtnY = levelSeekBar.Y - Application.GetMinReal(154);
            ProgressBtn = new Button()
            {
                Y = ProgressBtnY,
                Width = Application.GetMinReal(135),
                Height = Application.GetMinReal(104),
                UnSelectedImagePath = "Item/ProgressBubbles.png",
                Visible = false,
                Gravity = Gravity.CenterHorizontal,
                TextSize = 14,
                IsBold = true,
                TextColor = ZigbeeColor.Current.GXCTextWhiteColor
            };
            layout.AddChidren(ProgressBtn);
        }
        #endregion
@@ -559,13 +555,13 @@
            {
                dimmableLight.SwitchControl(1);
                levelSeekBar.IsClickable = true;
                levelSeekBar.WaveColor = ZigbeeColor.Current.GXCWaveSeekBarColor;
                levelSeekBar.SetProgressBarColors(ZigbeeColor.Current.GXCWaveSeekBarColor_Start, ZigbeeColor.Current.GXCWaveSeekBarColor_End);
            }
            else
            {
                dimmableLight.SwitchControl(0);
                levelSeekBar.IsClickable = false;
                levelSeekBar.WaveColor = ZigbeeColor.Current.GXCWaveSeekBarUnSelectedColor;
                levelSeekBar.SetProgressBarColors(ZigbeeColor.Current.GXCWaveSeekBarUnSelectedColor, ZigbeeColor.Current.GXCWaveSeekBarUnSelectedColor);
            }
        }
@@ -578,8 +574,7 @@
        /// </summary>
        private void InitCollection()
        {
            var dev = Shared.Common.Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName);
            if (dev == null)
            if (Common.Room.CurrentRoom.IsCollectInRoom(device.FileName) == false)
            {
                collectionBtn.IsSelected = false;
            }