From 2e12a9190f431565e576d0b05866366d15bcc9ae Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期四, 23 六月 2022 11:07:37 +0800
Subject: [PATCH] 修复场景闪退问题
---
HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs | 287 +++++++++++++++++++++++++++++----------------------------
1 files changed, 147 insertions(+), 140 deletions(-)
diff --git a/HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs b/HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs
index d579862..422e4b2 100644
--- a/HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs
+++ b/HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs
@@ -2,6 +2,7 @@
using System.Collections.Generic;
using HDL_ON.DriverLayer;
using HDL_ON.Entity;
+using HDL_ON.UI.CSS;
using HDL_ON.UI.Music;
using Shared;
@@ -9,54 +10,60 @@
{
public partial class FunctionControlZone
{
- /// <summary>
- /// 鏇存柊寮�鍏崇姸鎬�
- /// </summary>
- /// <param name="upfunc"></param>
- public static void UpdataOnOffState(Function upfunc)
- {
- if(bodyDiv!= null)
- {
- Application.RunOnMainThread(() => {
- if(bodyDiv.Tag.ToString() == upfunc.sid)
- {
- for (var o = 0; o < bodyDiv.ChildrenCount; o++)
- {
- if (bodyDiv.GetChildren(o).GetType() == typeof(Button))
- {
- var btn = bodyDiv.GetChildren(o) as Button;
- if (btn.Tag != null)
- {
- if (btn.Tag.ToString() == upfunc.sid + "_Switch")// + "_DimmerBar")
- {
- btn.IsSelected = upfunc.trait_on_off.curValue.ToString() == "on";
- }
- }
- }
- else if (bodyDiv.GetChildren(o).GetType() == typeof(DiyImageSeekBar))
- {
- var btn = bodyDiv.GetChildren(o) as DiyImageSeekBar;
- if (btn.Tag != null)
- {
- if (btn.Tag.ToString() == upfunc.sid + "_DimmerBar")
- {
- btn.Progress = Convert.ToInt32(upfunc.GetAttrState(FunctionAttributeKey.Brightness));
- }
- }
- }
- }
+ // /// <summary>
+ // /// 鏇存柊寮�鍏崇姸鎬�
+ // /// </summary>
+ // /// <param name="upfunc"></param>
+ // public static void UpdataOnOffState(Function upfunc)
+ // {
+ // if(bodyDiv!= null)
+ // {
+ // Application.RunOnMainThread(() => {
+ // if(bodyDiv.Tag.ToString() == upfunc.sid)
+ // {
+ // for (var o = 0; o < bodyDiv.ChildrenCount; o++)
+ // {
+ // if (bodyDiv.GetChildren(o).GetType() == typeof(Button))
+ // {
+ // var btn = bodyDiv.GetChildren(o) as Button;
+ // if (btn.Tag != null)
+ // {
+ // if (btn.Tag.ToString() == upfunc.sid + "_Switch")// + "_DimmerBar")
+ // {
+ // btn.IsSelected = upfunc.trait_on_off.curValue.ToString() == "on";
+ // }
+ // }
+ // }
+ // else if (bodyDiv.GetChildren(o).GetType() == typeof(DiyImageSeekBar))
+ // {
+ // var btn = bodyDiv.GetChildren(o) as DiyImageSeekBar;
+ // if (btn.Tag != null)
+ // {
+ // if (btn.Tag.ToString() == upfunc.sid + "_DimmerBar")
+ // {
+ // btn.Progress = Convert.ToInt32(upfunc.GetAttrState(FunctionAttributeKey.Brightness));
+ // }
+ // }
+ // }
+ // }
- }
+ // }
+ // });
+ // }
+ // }
+ /// <summary>
+ /// 鏇存柊鍦ㄧ嚎鐘舵��
+ /// </summary>
+ public void UpdataOnline(bool online)
+ {
+ if (bodyDiv != null)
+ {
+ Application.RunOnMainThread(() =>
+ {
+ bodyDiv.BackgroundColor = online ? CSS_Color.MainBackgroundColor : CSS_Color.PromptingColor2;
+ bodyDiv.btnOffline.Visible = !online;
});
}
- }
- /// <summary>
- /// 鏇存柊浜害鐘舵��
- /// </summary>
- /// <param name="upfunc"></param>
- static void UpdataBrightnessState(Function upfunc)
- {
-
}
/// <summary>
@@ -79,16 +86,16 @@
btnSwitch.MouseUpEventHandler = (sender, e) =>
{
- if (!function.online)//绂荤嚎涓嶅厑璁告搷浣�
- {
- new Tip()
- {
- CloseTime = 1,
- Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
- Direction = AMPopTipDirection.None,
- }.Show(MainPage.BaseView);
- return;
- }
+ //if (!function.online)//绂荤嚎涓嶅厑璁告搷浣�
+ //{
+ // new Tip()
+ // {
+ // CloseTime = 1,
+ // Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+ // Direction = AMPopTipDirection.None,
+ // }.Show(MainPage.BaseView);
+ // return;
+ //}
btnSwitch.IsSelected = !btnSwitch.IsSelected;
if(SPK.NotStatusSpkList.Contains( function.spk ))
@@ -126,16 +133,16 @@
/// </summary>
void LoadEvent_LightDimming(DiyImageSeekBar dimmerControlBar)
{
- if (!function.online)//绂荤嚎涓嶅厑璁告搷浣�
- {
- //new Tip()
- //{
- // CloseTime = 1,
- // Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
- // Direction = AMPopTipDirection.None,
- //}.Show(MainPage.BaseView);
- return;
- }
+ //if (!function.online)//绂荤嚎涓嶅厑璁告搷浣�
+ //{
+ // //new Tip()
+ // //{
+ // // CloseTime = 1,
+ // // Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+ // // Direction = AMPopTipDirection.None,
+ // //}.Show(MainPage.BaseView);
+ // return;
+ //}
if (function.spk == SPK.LightDimming || function.spk == SPK.LightRGB)
{
dimmerControlBar.OnStartTrackingTouchEvent = (sender, e) => {
@@ -152,32 +159,32 @@
};
dimmerControlBar.OnProgressChangedEvent = (sender, e) => {
dimmerControlBar.ProgressBarColor = CSS.CSS_Color.AuxiliaryColor1;
- //light.brightness = e;
- //light.trait_on_off.curValue = e > 0 ? "on" : "off";
+ function.SetAttrState(FunctionAttributeKey.Brightness, e);
+ function.trait_on_off.curValue = e > 0 ? "on" : "off";
- //if (e == 0 || e == 100)
- //{
- // //Control.Send(CommandType_A.write, light);
- // System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
- // d.Add("brightness", light.brightness.ToString());
- // Control.Ins.SendWriteCommand(light, d);
- //}
- //else
- //{
- // var tm = (DateTime.Now - light.refreshTime).TotalMilliseconds;
- // Console.WriteLine("skip time "+tm);
- // if (300 < tm)
- // {
- // light.refreshTime = DateTime.Now;
- // new System.Threading.Thread(() =>
- // {
- // System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
- // d.Add("brightness", light.brightness.ToString());
- // Control.Ins.SendWriteCommand(light, d);
- // })
- // { IsBackground = true }.Start();
- // }
- //}
+ if (e == 0 || e == 100)
+ {
+ //Control.Send(CommandType_A.write, light);
+ System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
+ d.Add("brightness", e.ToString());
+ Control.Ins.SendWriteCommand(function, d);
+ }
+ else
+ {
+ var tm = (DateTime.Now - function.refreshTime).TotalMilliseconds;
+ Console.WriteLine("skip time " + tm);
+ if (500 < tm)
+ {
+ function.refreshTime = DateTime.Now;
+ new System.Threading.Thread(() =>
+ {
+ System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
+ d.Add("brightness", e.ToString());
+ Control.Ins.SendWriteCommand(function, d);
+ })
+ { IsBackground = true }.Start();
+ }
+ }
};
}
@@ -196,16 +203,16 @@
{
btnClose.MouseUpEventHandler = (sender, e) =>
{
- if (!function.online)//绂荤嚎涓嶅厑璁告搷浣�
- {
- new Tip()
- {
- CloseTime = 1,
- Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
- Direction = AMPopTipDirection.None,
- }.Show(MainPage.BaseView);
- return;
- }
+ //if (!function.online)//绂荤嚎涓嶅厑璁告搷浣�
+ //{
+ // new Tip()
+ // {
+ // CloseTime = 1,
+ // Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+ // Direction = AMPopTipDirection.None,
+ // }.Show(MainPage.BaseView);
+ // return;
+ //}
btnClose.IsSelected = true;
btnStop.IsSelected = false;
btnOpen.IsSelected = false;
@@ -218,16 +225,16 @@
btnStop.MouseUpEventHandler = (sender, e) =>
{
- if (!function.online)//绂荤嚎涓嶅厑璁告搷浣�
- {
- new Tip()
- {
- CloseTime = 1,
- Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
- Direction = AMPopTipDirection.None,
- }.Show(MainPage.BaseView);
- return;
- }
+ //if (!function.online)//绂荤嚎涓嶅厑璁告搷浣�
+ //{
+ // new Tip()
+ // {
+ // CloseTime = 1,
+ // Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+ // Direction = AMPopTipDirection.None,
+ // }.Show(MainPage.BaseView);
+ // return;
+ //}
btnStop.IsSelected = true;
btnClose.IsSelected = false;
btnOpen.IsSelected = false;
@@ -239,16 +246,16 @@
btnOpen.MouseUpEventHandler = (sender, e) =>
{
- if (!function.online)//绂荤嚎涓嶅厑璁告搷浣�
- {
- new Tip()
- {
- CloseTime = 1,
- Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
- Direction = AMPopTipDirection.None,
- }.Show(MainPage.BaseView);
- return;
- }
+ //if (!function.online)//绂荤嚎涓嶅厑璁告搷浣�
+ //{
+ // new Tip()
+ // {
+ // CloseTime = 1,
+ // Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+ // Direction = AMPopTipDirection.None,
+ // }.Show(MainPage.BaseView);
+ // return;
+ //}
btnOpen.IsSelected = true;
btnClose.IsSelected = false;
btnStop.IsSelected = false;
@@ -273,16 +280,16 @@
};
btnUp.MouseUpEventHandler = (sender, e) =>
{
- if (!function.online)//绂荤嚎涓嶅厑璁告搷浣�
- {
- new Tip()
- {
- CloseTime = 1,
- Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
- Direction = AMPopTipDirection.None,
- }.Show(MainPage.BaseView);
- return;
- }
+ //if (!function.online)//绂荤嚎涓嶅厑璁告搷浣�
+ //{
+ // new Tip()
+ // {
+ // CloseTime = 1,
+ // Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+ // Direction = AMPopTipDirection.None,
+ // }.Show(MainPage.BaseView);
+ // return;
+ //}
new System.Threading.Thread(() =>
{
System.Threading.Thread.Sleep(2000);
@@ -304,16 +311,16 @@
};
btnDown.MouseUpEventHandler = (sender, e) =>
{
- if (!function.online)//绂荤嚎涓嶅厑璁告搷浣�
- {
- new Tip()
- {
- CloseTime = 1,
- Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
- Direction = AMPopTipDirection.None,
- }.Show(MainPage.BaseView);
- return;
- }
+ //if (!function.online)//绂荤嚎涓嶅厑璁告搷浣�
+ //{
+ // new Tip()
+ // {
+ // CloseTime = 1,
+ // Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+ // Direction = AMPopTipDirection.None,
+ // }.Show(MainPage.BaseView);
+ // return;
+ //}
new System.Threading.Thread(() =>
{
System.Threading.Thread.Sleep(2000);
--
Gitblit v1.8.0