From e322d91c7325019710bfdb046c5fea673031455a Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期三, 29 七月 2020 11:53:01 +0800
Subject: [PATCH] 20200729

---
 HDL_ON/UI/UI2/FuntionControlView/Music/MusicMain.cs |  157 +++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 106 insertions(+), 51 deletions(-)

diff --git a/HDL_ON/UI/UI2/FuntionControlView/Music/MusicMain.cs b/HDL_ON/UI/UI2/FuntionControlView/Music/MusicMain.cs
index fd99774..b4087a2 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Music/MusicMain.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Music/MusicMain.cs
@@ -16,43 +16,42 @@
         {
             Tag = "MusicMain";
         }
-        public override void RemoveFromParent()
-        {
-            base.RemoveFromParent();
-            clearA31Threads();
-        }
-        static List<System.Threading.Thread> threadLists = new List<System.Threading.Thread>();
+        //public override void RemoveFromParent()
+        //{
+        //    base.RemoveFromParent();
+        //    clearA31Threads();
+        //}
 
-        static void clearA31Threads()
-        {
-            var threads = threadLists.FindAll((obj) => { return obj.Name == "A31"; });
-            foreach (var thread in threads)
-            {
-                try
-                {
-                    threadLists.Remove(thread);
-                    if (thread.IsAlive)
-                    {
-                        thread.Abort();
-                    }
-                }
-                catch (Exception e)
-                {
-                    System.Console.WriteLine(e.Message);
-                }
-            }
-        }
+        //static void clearA31Threads()
+        //{
+        //    var threads = threadLists.FindAll((obj) => { return obj.Name == "A31"; });
+        //    foreach (var thread in threads)
+        //    {
+        //        try
+        //        {
+        //            threadLists.Remove(thread);
+        //            if (thread.IsAlive)
+        //            {
+        //                thread.Abort();
+        //            }
+        //        }
+        //        catch (Exception e)
+        //        {
+        //            MainPage.Log("clearA31Threads error : " +e.Message);
+        //        }
+        //    }
+        //}
+
+
         /// <summary>
         ///  鏄剧ず鍔犺浇鐣岄潰
         /// </summary>
-        public static Loading loading = new Loading();
+        public  static Loading loading = new Loading();
         VerticalRefreshLayout verticalRefresh;
 
         public void Show()
         {
-
-
-            #region   鐣岄潰甯冨眬
+            #region 鐣岄潰甯冨眬
             this.BackgroundColor = Color.ViewColor;
             var topView = new TopView();
             this.AddChidren(topView.TopFLayoutView());
@@ -83,7 +82,7 @@
             }
             else
             {
-                clearA31Threads();
+                //clearA31Threads();
                //verticalRefresh.RemoveAll();
                 for (int i = 0; i < A31MusicModel.A31MusicModelList.Count; i++)
                 {
@@ -128,7 +127,7 @@
                             a31MusicModel.IsOnLine = true;
                         }
                     }
-                    catch (Exception e) { System.Console.WriteLine(e.Message); }
+                    catch (Exception e) { MainPage.Log(e.Message); }
                 });
             }
         }
@@ -182,8 +181,8 @@
                                 a31player.IsEnd = false;
                             }
                             MusicListView(a31player);
+                            A31MusicModel.ReadMusicStates();
                         }
-
                     });
                     return;
                 }
@@ -193,6 +192,7 @@
                     //涓嶆槸鎴戜滑鏀寔鐨勫搧鐗屼笉鏀寔
                     if (obj.Name != null)
                     {
+                        obj.sid = "00010112345678901234561A1A230123AABB" + obj.UniqueDeviceName;
                         A31MusicModel.A31MusicModelList.Add(obj);
                     }
                 }
@@ -212,17 +212,45 @@
         /// </summary>
         void MusicListView(A31MusicModel a31player)
         {
-
-
             MusicView musicView = new MusicView();
             musicView.View(verticalRefresh);
             musicView.singerBtn.Text = a31player.A31PlayStatus.Artist;
             musicView.songNameBtn.Text = a31player.A31PlayStatus.Title;
             musicView.musicNameBtn.Text = new View.DialogView { }.NamePlayer(a31player);
-            musicView.regionBtn.TextID = StringId.region;
-            if (a31player.IsEnd) {
-                musicView.muiscFl.Height =Application.GetRealHeight(12 + 139 + 12);
+
+            if (a31player.IsEnd)
+            {
+                musicView.muiscFl.Height = Application.GetRealHeight(12 + 139 + 12);
             }
+
+            musicView.collectIconBtn.MouseUpEventHandler += (sender, e) =>
+            {
+                musicView.collectIconBtn.IsSelected = !musicView.collectIconBtn.IsSelected;
+                if (a31player.ServerClientType == 1)
+                {
+                    if (musicView.collectIconBtn.IsSelected)
+                    {
+                        a31player.MainPlayCollection = true;
+                    }
+                    else
+                    {
+                        a31player.MainPlayCollection = false;
+                    }
+                }
+                else
+                {
+                    if (musicView.collectIconBtn.IsSelected)
+                    {
+                        a31player.collection = true;
+                    }
+                    else
+                    {
+                        a31player.collection = false;
+                    }
+                }
+                A31MusicModel.Save();
+            };
+
             EventHandler<MouseEventArgs> clickMergence = (sender, e) =>
             {
                 if (a31player.ServerClientType == 0)
@@ -239,15 +267,17 @@
             musicView.mergeBtn.MouseUpEventHandler += clickMergence;
             musicView.mergeIconBtn.MouseUpEventHandler += clickMergence;
 
-
-            musicView.clickBtn.MouseUpEventHandler += (sender, e) =>
-             {
-                 A31MusicModel.Current = a31player;//褰撳墠鎾斁鍣�
+            EventHandler<MouseEventArgs> clickPlayView = (sender, e) =>
+            {
+                A31MusicModel.Current = a31player;//褰撳墠鎾斁鍣�
                 var a31PlayMusicPage = new A31PlayMusicPage();
-                 MainPage.BasePageView.AddChidren(a31PlayMusicPage);
-                 a31PlayMusicPage.Show();
-                 MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
-             };
+                MainPage.BasePageView.AddChidren(a31PlayMusicPage);
+                a31PlayMusicPage.Show();
+                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+            };
+            musicView.musicIfonFl.MouseUpEventHandler += clickPlayView;
+            musicView.clickBtn.MouseUpEventHandler += clickPlayView;//
+
             ///涓婁竴鏇茬偣鍑讳簨浠�
             musicView.prevBtn.MouseDownEventHandler += (sender, e) =>
             {
@@ -285,10 +315,8 @@
                 musicView.nextBtn.IsSelected = false;
             };
 
-            System.Threading.Tasks.Task.Run(() =>
+            var musicThread = new System.Threading.Thread(() =>
             {
-                System.Threading.Thread.CurrentThread.Name = "A31";
-                threadLists.Add(System.Threading.Thread.CurrentThread);
                 while (true)
                 {
                     System.Threading.Thread.Sleep(1000);
@@ -296,7 +324,7 @@
                     {
                         continue;
                     }
-                    SendMethod.ReadStatus(a31player);
+                    //SendMethod.ReadStatus(a31player);
                     Application.RunOnMainThread(() =>
                     {
                         musicView.singerBtn.Text = a31player.A31PlayStatus.Artist;
@@ -310,11 +338,37 @@
                         {
                             musicView.playBtn.IsSelected = false;
                         }
+                        musicView.regionBtn.Text = a31player.GetRoomListName();
+                        if (a31player.ServerClientType == 1)
+                        {
+                            if (a31player.MainPlayCollection)
+                            {
+                                musicView.collectIconBtn.IsSelected = true;
+                            }
+                            else
+                            {
+                                musicView.collectIconBtn.IsSelected = false;
+                            }
+                        }
+                        else
+                        {
+                            if (a31player.collection)
+                            {
+                                musicView.collectIconBtn.IsSelected = true;
+                            }
+                            else
+                            {
+                                musicView.collectIconBtn.IsSelected = false;
+                            }
+                        }
                     });
                 }
-            });
-
+            })
+            { IsBackground = true, Name = "A31" };
+            musicThread.Start();
+            //threadLists.Add(musicThread);
         }
+        
 
         /// <summary>
         /// 璇诲彇涓讳粠鍏崇郴
@@ -373,6 +427,7 @@
                                 {
                                     A31MusicModel.A31MusicModelList.Add(new A31MusicModel
                                     {
+                                        sid = "00010112345678901234561A1A230123AABB" + slave.uuid.Replace("uuid:", ""),
                                         ServerClientType = -1,//浠庣殑
                                         IPAddress = slave.ip,
                                         MainPlayIP = a31player.IPAddress,

--
Gitblit v1.8.0