From 7167334c0e89dd84827d59e726123d14776e3a09 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期二, 16 六月 2020 11:14:13 +0800
Subject: [PATCH] 2020-06-16-1

---
 HDL_ON/UI/Music/A31MyList.cs |   90 ++++++++++++++++++++++++++++++++-------------
 1 files changed, 64 insertions(+), 26 deletions(-)

diff --git a/HDL_ON/UI/Music/A31MyList.cs b/HDL_ON/UI/Music/A31MyList.cs
index a58e1f3..4cc95ef 100644
--- a/HDL_ON/UI/Music/A31MyList.cs
+++ b/HDL_ON/UI/Music/A31MyList.cs
@@ -20,9 +20,17 @@
             topView.clickBackBtn.MouseUpEventHandler += (sender, e) =>
             {
 
-                if (updateSelectedMusicThread == null || updateSelectedMusicThread.IsAlive)
+                if (updateSelectedMusicThread != null)
                 {
-                    updateSelectedMusicThread.Abort();
+                    try
+                    {
+                        if (updateSelectedMusicThread.IsAlive)
+                        {
+                            updateSelectedMusicThread.Abort();
+                            ///鍏抽棴绾跨▼
+                        }
+                    }
+                    catch { }
                 }
                 this.RemoveFromParent();
             };
@@ -68,7 +76,7 @@
 
         }
         /// <summary>
-        ///
+        /// 鍔犺浇鏂囦欢澶筕iew鐨勬柟娉�
         /// </summary>
         void FileView()
         {
@@ -102,33 +110,61 @@
                     Height = Application.GetMinRealAverage(24),
                     UnSelectedImagePath = "MusicIcon/filePause.png",
                     SelectedImagePath = "MusicIcon/filePlay.png",
-                    Tag= list.ListName,
+                    Tag= list,
                 };
                 addFlieRow.AddChidren(playIconBtn);
 
-                playIconBtn.MouseUpEventHandler += (sender, e) =>
+                playIconBtn.MouseUpEventHandler = (sender, e) =>
                 {
-                    if (list.MusicInfoList.Count == 0)
+
+                   
+
+                    ///鏌ユ壘褰撳墠鎾斁闊充箰鏄惁杩欎釜鍒楄〃
+                    if (playIconBtn.IsSelected)
                     {
-                        return;
-                    }
-                    ///鍙栭殢鏈烘暟;
-                    var ra = new Random { }.Next(0, list.MusicInfoList.Count);
-                    ///鏌ユ壘褰撳墠鐨勯煶涔�;
-                    var songs = list.MusicInfoList[ra];
-                    //鐐瑰嚮鎸夐挳闅忔満鎾斁闊充箰
-                    System.Threading.Tasks.Task.Run(() =>
-                    {
-                        System.Threading.Thread.Sleep(50);
-                        Application.RunOnMainThread(() =>
+                        if (list.ListName == A31MusicModel.Current.A31PlayStatus.Artist && A31MusicModel.Current.A31PlayStatus.status == "play")
                         {
-                            //绉婚櫎鐣岄潰
+
+                            SendMethod.Pause(A31MusicModel.Current);
+                            A31MusicModel.Current.A31PlayStatus.status = "pause";
+                        }
+
+                    }
+                    else
+                    {
+                        if (list.MusicInfoList.Count == 0)
+                        {
+                            return;
+                        }
+
+                        if (list.ListName == A31MusicModel.Current.A31PlayStatus.Artist && A31MusicModel.Current.A31PlayStatus.status != "play")
+                        {
+                            SendMethod.Play(A31MusicModel.Current);
+                            A31MusicModel.Current.A31PlayStatus.status = "play";
+                        }
+                        else
+                        {
+                            ///鍙栭殢鏈烘暟;
+                            var ra = new Random { }.Next(0, list.MusicInfoList.Count);
+                            ///鏌ユ壘褰撳墠鐨勯煶涔�;
+                            var songs = list.MusicInfoList[ra];
+                            //鐐瑰嚮鎸夐挳闅忔満鎾斁闊充箰
                             System.Threading.Tasks.Task.Run(() =>
                             {
-                                PushList(songs, list.ListName, list.MusicInfoList);
+                                System.Threading.Thread.Sleep(50);
+                                Application.RunOnMainThread(() =>
+                                {
+                                    //绉婚櫎鐣岄潰
+                                    System.Threading.Tasks.Task.Run(() =>
+                                    {
+                                        PushList(songs, list.ListName, list.MusicInfoList);
+                                    });
+                                });
                             });
-                        });
-                    });
+                        }
+
+                    }
+
                 };
                 //鏂囦欢鍚嶆帶浠�
                 Button fileNameBtn = new Button
@@ -212,10 +248,10 @@
             }
         }
         /// <summary>
-        /// 瀹氭椂鏇存柊褰撳墠鎾斁闊充箰
+        /// 瀹氭椂鏇存柊鏂囦欢澶规挱鏀剧姸鎬�
         /// </summary>
         System.Threading.Thread updateSelectedMusicThread;
-        public void UpdateSelectedMusic()
+        public void UpdateSelectedFile()
         {
             updateSelectedMusicThread = new System.Threading.Thread(() =>
             {
@@ -230,7 +266,9 @@
                             {
                                 RowLayout view = (RowLayout)middViewLayout.GetChildren(i);
                                 var playBtn = (Button)view.GetChildren(1);//鐩存帴FrameLayout鐖舵帶浠舵壘鍒拌鎺т欢Button
-                                if (A31MusicModel.Current.A31PlayStatus.Artist == playBtn.Tag.ToString())
+                                var listIfon = playBtn.Tag as FileListInfo;//寮哄埗杞崲涓篎ileListInfo绫诲瀷;
+                                ///鏌ユ壘褰撳墠鎾斁闊充箰鏄惁杩欎釜鍒楄〃
+                                if (A31MusicModel.Current.A31PlayStatus.Artist == listIfon.ListName && A31MusicModel.Current.A31PlayStatus.status == "play")
                                 {
                                     playBtn.IsSelected = true;
                                 }
@@ -244,10 +282,10 @@
 
                     });
                 }
-            });
+            })
+            { IsBackground = true };
             updateSelectedMusicThread.Start();
         }
-
         /// <summary>
         /// 鎺ㄩ�佹挱鏀惧懡浠�
         /// </summary>

--
Gitblit v1.8.0