From 49248e3bdff0458f8f6f4156d1425bd6f6074e32 Mon Sep 17 00:00:00 2001
From: lss <lsc@hdlchina.com.cn>
Date: 星期二, 17 五月 2022 13:17:21 +0800
Subject: [PATCH] Merge branch 'dev' into lss

---
 HDL_ON/UI/UI2/2-Classification/ClassificaitionPublicBLL.cs |   51 ++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 48 insertions(+), 3 deletions(-)

diff --git a/HDL_ON/UI/UI2/2-Classification/ClassificaitionPublicBLL.cs b/HDL_ON/UI/UI2/2-Classification/ClassificaitionPublicBLL.cs
index 5a6a5d3..2cb9b13 100644
--- a/HDL_ON/UI/UI2/2-Classification/ClassificaitionPublicBLL.cs
+++ b/HDL_ON/UI/UI2/2-Classification/ClassificaitionPublicBLL.cs
@@ -1,5 +1,6 @@
 锘縰sing System;
 using HDL_ON.Entity;
+using HDL_ON.UI.CSS;
 using Shared;
 
 namespace HDL_ON.UI
@@ -16,7 +17,7 @@
         /// <param name="updataFunction"></param>
         public void UpdataStates(Function updataFunction, FrameLayout view, VerticalScrolViewLayout scrolView, Room room = null)
         {
-            Application.RunOnMainThread((Action)(() =>
+            Application.RunOnMainThread((() =>
             {
                 try
                 {
@@ -156,12 +157,12 @@
                                     else if (SPK.MusicSpkList().Contains(updataFunction.spk))
                                     {
                                         #region 闊充箰鏇存柊
-                                        var uMusic = updataFunction as Music.A31MusicModel;
+                                        var uMusic = updataFunction;
                                         if (cTag == updataFunction.spk + "_State_" + updataFunction.sid)
                                         {
                                             try
                                             {
-                                                (fcView.GetChildren(j) as Button).IsSelected = uMusic.A31PlayStatus.status == "play";
+                                                (fcView.GetChildren(j) as Button).IsSelected = uMusic.GetAttrState("on_off") == "on";
                                             }
                                             catch (Exception ex)
                                             {
@@ -181,5 +182,49 @@
                 }
             }));
         }
+
+        public void UpdataOnlineStatus(Function updataFunction, FrameLayout view, VerticalScrolViewLayout scrolView, Room room = null)
+        {
+            Application.RunOnMainThread(() =>
+            {
+                try
+                {
+                    if (view == null || scrolView == null || updataFunction == null)
+                    {
+                        return;
+                    }
+                    if (!scrolView.ScrollEnabled)
+                    {
+                        return;
+                    }
+                    if (room != null)
+                    {
+                        if (!updataFunction.roomIds.Contains(room.roomId))
+                        {
+                            return;
+                        }
+                    }
+                    for (int i = 0; i < scrolView.ChildrenCount; i++)
+                    {
+                        if (scrolView.GetChildren(i).Tag == null || scrolView.GetChildren(i).Tag.ToString() == "")
+                        {
+                            continue;
+                        }
+                        var viewTag = scrolView.GetChildren(i).Tag.ToString();
+                        if (scrolView.GetChildren(i).Tag != null && viewTag == updataFunction.spk + updataFunction.sid)
+                        {
+                            if (scrolView.GetChildren(i).GetType() == typeof(FunctionControlZone)) {
+                                var fcView = scrolView.GetChildren(i) as FunctionControlZone;
+                                fcView.UpdataOnline(updataFunction.online);
+                            }
+                        }
+                    }
+                }catch (Exception ex)
+                {
+                    MainPage.Log("Function Online status error : " + ex.Message);
+                }
+            });
+        }
+
     }
 }
\ No newline at end of file

--
Gitblit v1.8.0