mac
2024-07-25 3f6685c77beeb12baf840733fb890860f4c26e7c
HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AcControlPage.cs
@@ -104,7 +104,7 @@
            var temp = (int)Convert.ToDouble(setTempTemp);
            if (temp <= 0)
            {
                //默认值改成16,2022年06月10日10:03:19 成甫要求的
                //默认值改成16
                temp = 16;
                device.SetAttrState(FunctionAttributeKey.SetTemp, temp.ToString());
            }
@@ -123,15 +123,26 @@
                    Text = "---",
                    IsBold = true,
                };
                if(setTempAttr.step == "0.5")
                if (setTempAttr.step == "0.5")
                {
                    btnTemp.Text = Convert.ToDouble(setTempAttr.curValue).ToString("0.0");
                }
                else
                {
                    btnTemp.Text = setTempAttr.curValue.ToString();
                    if (setTempAttr.curValue.ToString().Contains("."))
                    {
                        btnTemp.Text = setTempAttr.curValue.ToString().Split(".")[0];
                    }
                    else
                    {
                        btnTemp.Text = setTempAttr.curValue.ToString();
                    }
                }
                btnTemp.Width = btnTemp.GetTextWidth();
#if __IOS__
                btnTemp.Width = btnTemp.GetTextWidth() + Application.GetRealWidth(10);
#else
                btnTemp.Width = btnTemp.GetTextWidth() + Application.GetRealWidth(5);
#endif
                FrameWhiteCentet1.AddChidren(btnTemp);
@@ -145,7 +156,7 @@
                    TextSize = CSS_FontSize.EmphasisFontSize_Secondary,
                    IsBold = true,
                    TextAlignment = TextAlignment.CenterLeft,
                    Text = "°C",
                    Text = acFunction.GetTempUnitString(device),
                };
                FrameWhiteCentet1.AddChidren(btnTempUint);
@@ -155,7 +166,7 @@
                    Y = btnTemp.Bottom,
                    Width = Application.GetRealWidth(120),
                    Height = Application.GetRealHeight(30),
                    Text = Language.StringByID(StringId.Indoor) + " 20°C",
                    Text = Language.StringByID(StringId.Indoor) + " 20" + acFunction.GetTempUnitString(device),
                    TextColor = CSS_Color.PromptingColor1,
                    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                    TextAlignment = TextAlignment.TopCenter,
@@ -171,8 +182,8 @@
                var btnMinTemp = new Button()
                {
                    X = Application.GetRealWidth(26),
                    Width = Application.GetRealWidth(18),
                    X = Application.GetRealWidth(22),
                    Width = Application.GetRealWidth(22),
                    TextAlignment = TextAlignment.Center,
                    Text = setTempAttr.min.ToString(),
                    TextSize = 12,
@@ -217,7 +228,7 @@
                var btnMaxTemp = new Button()
                {
                    X = setTempBar.Right,
                    Width = Application.GetRealWidth(18),
                    Width = Application.GetRealWidth(24),
                    TextAlignment = TextAlignment.Center,
                    Text = setTempAttr.max.ToString(),
                    TextSize = 12,
@@ -284,21 +295,37 @@
                {
                    btnTemp.Text = (setTempAttr.min + e).ToString();
                }
#if __IOS__
                btnTemp.Width = btnTemp.GetTextWidth() + Application.GetRealWidth(10);
#else
                btnTemp.Width = btnTemp.GetTextWidth() + Application.GetRealWidth(5);
#endif
                btnTempUint.X = btnTemp.Right;
            };
            setTempBar.OnStopTrackingTouchEvent = (sender,e) =>{
            setTempBar.OnStopTrackingTouchEvent = (sender, e) => {
                temp = e;
                Dictionary<string, string> d = new Dictionary<string, string>();
                device.SetAttrState(FunctionAttributeKey.SetTemp, e.ToString());
                if (setTempAttr.step == "0.5")
                {
                    btnTemp.Text = (setTempAttr.min + ((double)e / 2)).ToString("0.0");
                    double ex = (double)e / 2;
                    btnTemp.Text = (setTempAttr.min + ((double)ex)).ToString("0.0");
                    d.Add(FunctionAttributeKey.SetTemp, (setTempAttr.min + ex).ToString());
                }
                else
                {
                    btnTemp.Text = (setTempAttr.min + e).ToString();
                    d.Add(FunctionAttributeKey.SetTemp, (setTempAttr.min + e).ToString());
                }
#if __IOS__
                btnTemp.Width = btnTemp.GetTextWidth() + Application.GetRealWidth(10);
#else
                btnTemp.Width = btnTemp.GetTextWidth() + Application.GetRealWidth(5);
#endif
                btnTempUint.X = btnTemp.Right;
                controlTime = DateTime.Now;
                Dictionary<string, string> d = new Dictionary<string, string>();
                d.Add(FunctionAttributeKey.SetTemp, e.ToString());
                Control.Ins.SendWriteCommand(device, d);
            };
@@ -384,7 +411,7 @@
                btnModeIcon.UnSelectedImagePath = acFunction.GetModeIconPath(m, false);
                btnModeIcon.SelectedImagePath = acFunction.GetModeIconPath(m);
                btnModeText.Text = acFunction.GetModeAttrText( m);
                btnModeText.Text = acFunction.GetModeAttrText(m);
                if (modeList.IndexOf(m) < modeList.Count - 1)
                {
@@ -419,7 +446,7 @@
                    d.Add(FunctionAttributeKey.Mode, m);
                    Control.Ins.SendWriteCommand(device, d);
                    dialog.Close();
                    if (device.GetAttrState(FunctionAttributeKey.Mode) == "fan")
                    if (device.GetAttrState(FunctionAttributeKey.Mode) == "fan" || device.GetAttrState(FunctionAttributeKey.Mode) == "dry")
                    {
                        setTempBar.IsClickable = false;
@@ -642,7 +669,7 @@
                    TextSize = CSS_FontSize.TextFontSize,
                };
                modeChangeView.AddChidren(btnFanText);
                btnFanIcon.UnSelectedImagePath = acFunction.GetFanIconPath(m,false);
                btnFanIcon.UnSelectedImagePath = acFunction.GetFanIconPath(m, false);
                btnFanIcon.SelectedImagePath = acFunction.GetFanIconPath(m);
                btnFanText.Text = acFunction.GetFanAttrText(m);
@@ -738,7 +765,7 @@
            {
                Y = Application.GetRealHeight(16),
                Gravity = Gravity.CenterHorizontal,
                Width = Application.GetRealWidth(296+200),
                Width = Application.GetRealWidth(296 + 200),
            };
            bodyView.AddChidren(contentView);
@@ -754,7 +781,8 @@
            int index = 0;
            List<FunctionAttributes> attrList = new List<FunctionAttributes>();
            attrList.AddRange(device.attributes);
            attrList.Add(new FunctionAttributes() {
            attrList.Add(new FunctionAttributes()
            {
                key = "+",
            });
@@ -844,45 +872,45 @@
                        SelectedTextColor = CSS_Color.MainBackgroundColor,
                        SelectedBackgroundColor = CSS_Color.MainColor,
                    };
                if (attr.value.Count > 0)
                {
                    btn.Text = attr.value[0];
                }
                if (index % 3 == 1)
                {
                    btn.Gravity = Gravity.Center;
                }
                else if (index % 3 == 2)
                {
                    btn.X = Application.GetRealWidth(208);
                }
                row.AddChidren(btn);
                btn.MouseUpEventHandler = (sender, e) =>
                {
                    //if (!device.online)
                    //{
                    //    new Tip()
                    //    {
                    //        CloseTime = 1,
                    //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                    //        Direction = AMPopTipDirection.None,
                    //    }.Show(MainPage.BaseView);
                    //}
                    Dictionary<string, string> d = new Dictionary<string, string>();
                    d.Add(attr.key, "");
                    Control.Ins.SendWriteCommand(device, d);
                    new System.Threading.Thread(() =>
                    if (attr.value.Count > 0)
                    {
                        System.Threading.Thread.Sleep(2000);
                        Application.RunOnMainThread(() =>
                        btn.Text = attr.value[0];
                    }
                    if (index % 3 == 1)
                    {
                        btn.Gravity = Gravity.Center;
                    }
                    else if (index % 3 == 2)
                    {
                        btn.X = Application.GetRealWidth(208);
                    }
                    row.AddChidren(btn);
                    btn.MouseUpEventHandler = (sender, e) =>
                    {
                        //if (!device.online)
                        //{
                        //    new Tip()
                        //    {
                        //        CloseTime = 1,
                        //        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
                        //        Direction = AMPopTipDirection.None,
                        //    }.Show(MainPage.BaseView);
                        //}
                        Dictionary<string, string> d = new Dictionary<string, string>();
                        d.Add(attr.key, "");
                        Control.Ins.SendWriteCommand(device, d);
                        new System.Threading.Thread(() =>
                        {
                            btn.IsSelected = false;
                        });
                    })
                    { IsBackground = true }.Start();
                };
                            System.Threading.Thread.Sleep(2000);
                            Application.RunOnMainThread(() =>
                            {
                                btn.IsSelected = false;
                            });
                        })
                        { IsBackground = true }.Start();
                    };
                }
@@ -970,12 +998,16 @@
                if (device.trait_on_off.curValue.ToString() == "on")
                {
                    btnSwitch.IsSelected = true;
                    setTempBar.IsOffline = false;
                    //setTempBar.IsOffline = false;
                    //setTempBar.Enable = true;
                    //setTempBar.ProgressBarColor = CSS_Color.MainColor;
                }
                else
                {
                    btnSwitch.IsBold = false;
                    setTempBar.IsOffline = true;
                    //setTempBar.IsOffline = true;
                    //setTempBar.Enable = false;
                    //setTempBar.ProgressBarColor = CSS_Color.DividingLineColor;
                }
                System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
                d.Add(FunctionAttributeKey.OnOff, device.trait_on_off.curValue.ToString());
@@ -1003,14 +1035,16 @@
                {
                    //device = FunctionList.List.Functions.Find((obj) => obj.sid == device.sid);
                    btnIndoorTemp.Text = Language.StringByID(StringId.Indoor) + " " + Convert.ToInt32(Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.RoomTemp).Replace(",", "."))) + "°C";
                    btnIndoorTemp.Text = Language.StringByID(StringId.Indoor) + " "
                    + Convert.ToInt32(Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.RoomTemp).Replace(",", ".")))
                     + acFunction.GetTempUnitString(device);
                    btnMode.SelectedImagePath = acFunction.GetModeIconPath(device.GetAttrState(FunctionAttributeKey.Mode));
                    btnSwing.SelectedImagePath = acFunction.GetSwingIconPath(device.GetAttrState(FunctionAttributeKey.Swing));
                    btnWindSpeed.SelectedImagePath = acFunction.GetFanIconPath(device.GetAttrState(FunctionAttributeKey.FanSpeed));
                    btnMode.UnSelectedImagePath = acFunction.GetModeIconPath(device.GetAttrState(FunctionAttributeKey.Mode), false);
                    btnSwing.UnSelectedImagePath = acFunction.GetSwingIconPath(device.GetAttrState(FunctionAttributeKey.Swing), false);
                    btnWindSpeed.UnSelectedImagePath = acFunction.GetFanIconPath(device.GetAttrState(FunctionAttributeKey.FanSpeed), false);
                    if (device.GetAttribute(FunctionAttributeKey.SetTemp).step == "0.5")
                    {
                        var t = Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.SetTemp).Replace(",", "."));
@@ -1025,36 +1059,49 @@
                        btnTemp.Text = temp.ToString();
                    }
                    //btnTemp.Width = btnTemp.GetTextWidth() + Application.GetRealWidth(5);
                    //btnTempUint.X = btnTemp.Right;
#if __IOS__
                    btnTemp.Width = btnTemp.GetTextWidth() + Application.GetRealWidth(10);
#else
                    btnTemp.Width = btnTemp.GetTextWidth() + Application.GetRealWidth(5);
#endif
                    btnTempUint.X = btnTemp.Right;
                    if (device.trait_on_off.curValue.ToString() == "on")
                    {
                        btnMode.IsSelected = btnSwing.IsSelected = btnWindSpeed.IsSelected = true;
                        setTempBar.IsOffline = false;
                        //setTempBar.Enable = true;
                        setTempBar.ProgressBarColor = CSS_Color.MainColor;
                        btnSwitch.IsSelected = true;
                        if (device.GetAttrState(FunctionAttributeKey.Mode) == "fan")
                        {
                            setTempBar.IsClickable = false;
                        }
                        else
                        {
                            setTempBar.IsClickable = true;
                        }
                        //if (device.GetAttrState(FunctionAttributeKey.Mode) == "fan")
                        //{
                        //    setTempBar.IsClickable = false;
                        //}
                        //else
                        //{
                        //    setTempBar.IsClickable = true;
                        //}
                    }
                    else
                    {
                        btnMode.IsSelected = btnSwing.IsSelected = btnWindSpeed.IsSelected = false;
                        setTempBar.IsOffline = true;
                        setTempBar.Enable = false;
                        setTempBar.ProgressBarColor = CSS_Color.DividingLineColor;
                        btnSwitch.IsSelected = false;
                        setTempBar.IsClickable = false;
                    }
                    if(device.GetAttrState(FunctionAttributeKey.Mode) == "dry")
                    if (device.GetAttrState(FunctionAttributeKey.Mode) == "dry" || device.GetAttrState(FunctionAttributeKey.Mode) == "fan")
                    {
                        setTempBar.IsOffline = true;
                        setTempBar.IsClickable = false;
                    }else
                    {
                        setTempBar.IsOffline = false;
                        setTempBar.IsClickable = true;
                    }
                }