From b562a582ac3a288193e6e4f57c5eff8a344305a4 Mon Sep 17 00:00:00 2001
From: wxr <wxr@hdlchina.com.cn>
Date: 星期五, 27 九月 2024 13:52:17 +0800
Subject: [PATCH] Update AndroidManifest.xml
---
HDL_ON/UI/UI2/FuntionControlView/Music/MusicMain.cs | 327 ++++++++++++++++++++++++++++++++++--------------------
1 files changed, 207 insertions(+), 120 deletions(-)
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Music/MusicMain.cs b/HDL_ON/UI/UI2/FuntionControlView/Music/MusicMain.cs
index 5ef69f3..e41d821 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Music/MusicMain.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Music/MusicMain.cs
@@ -4,20 +4,31 @@
using Shared.IO;
using System.Net;
using HDL_ON.Entity;
+using HDL_ON.UI.UI2.FuntionControlView.Music;
namespace HDL_ON.UI.Music
{
public class MusicMain : FrameLayout
{
+ private static MusicMain s_Current = null;
+ public static MusicMain Current
+ {
+ get
+ {
+ if (s_Current == null)
+ {
+ s_Current = new MusicMain();
+ }
+ return s_Current;
+ }
+ }
/// <summary>
/// MusicMain瀵硅薄鏋勯�犲嚱鏁�
/// </summary>
public MusicMain()
{
Tag = "MusicMain";
- //杩涙潵闊充箰鍒楄〃鐣岄潰鍏堢Щ闄や箣鍓嶇嚎绋�;
- A31MusicModel.RemoveListThread();
}
/// <summary>
/// 閲嶅啓RemoveFromParent鏂规硶
@@ -25,8 +36,9 @@
public override void RemoveFromParent()
{
base.RemoveFromParent();
- clearA31Threads();
- A31MusicModel.ReadMusicStates();//杩涙潵娌℃湁闊充箰琚敹钘忚繃锛岄��鍑烘湁闊充箰琚敹钘忚繃
+ ClearA31Threads();
+ //杩涙潵娌℃湁闊充箰琚敹钘忚繃锛岄��鍑烘湁闊充箰琚敹钘忚繃
+ //A31MusicModel.ReadMusicStates();
}
/// <summary>
/// 鍒涘缓绾跨▼鍒楄〃
@@ -35,8 +47,9 @@
/// <summary>
/// 绉婚櫎绾跨▼
/// </summary>
- static void clearA31Threads()
+ static void ClearA31Threads()
{
+
var threads = threadLists.FindAll((obj) => { return obj.Name == "A31"; });
foreach (var thread in threads)
{
@@ -63,12 +76,10 @@
/// 瀹氫箟鍏ㄥ眬瀵硅薄
/// </summary>
VerticalRefreshLayout verticalRefresh;
- /// <summary>
- /// 涓轰簡闊充箰鍒锋柊鐘舵�佸畾涔夊叏灞�瀵硅薄
- /// </summary>
- MusicView musicView = new MusicView();
+
public void Show()
{
+
#region 鐣岄潰甯冨眬
this.BackgroundColor = MusicColor.ViewColor;
var topView = new TopView();
@@ -83,16 +94,17 @@
{
Y = topView.fLayout.Bottom,
Height = Application.GetRealHeight(H_W.H - H_W.T_Height),
+ Name = "verticalRefresh",
};
this.AddChidren(verticalRefresh);
#endregion
verticalRefresh.BeginHeaderRefreshingAction += () =>
{
-
+
+ ////鍙戦�佽鍙栭煶涔愭挱鏀惧櫒鐘舵�佺嚎绋�
SeachMusic();
verticalRefresh.EndHeaderRefreshing();
-
};
this.AddChidren(loading);
SeachMusic();
@@ -103,15 +115,19 @@
/// </summary>
void SeachMusic()
{
+
Application.RunOnMainThread(() =>
{
verticalRefresh.RemoveAll();
-
- var musicListFunction = SendMethod.sendMethod.GetMusicList;
- for (int i = 0; i < musicListFunction.Count; i++)
+ A31MusicModel.A31MusicModelList.Clear();
+ var musicDeviceList= FunctionList.List.GetMusicList();
+ for (int i = 0; i < musicDeviceList.Count; i++)
{
- var function = musicListFunction[i];
- var music = A31MusicModel.A31MusicModelList.Find((music) => music.functionMusic.deviceId == function.deviceId);
+ var function = musicDeviceList[i];
+ var music = A31MusicModel.A31MusicModelList.Find((obj) =>
+ (obj.functionMusic.deviceId == function.deviceId && function.spk == SPK.MusicStandard) || (
+ obj.functionMusic.deviceId == function.deviceId && function.spk == SPK.AvMusic)
+ );
if (music == null)
{
A31MusicModel.A31MusicModelList.Add(new A31MusicModel { functionMusic = function });
@@ -122,11 +138,50 @@
}
}
-
for (int i = 0; i < A31MusicModel.A31MusicModelList.Count; i++)
{
+
var a31player = A31MusicModel.A31MusicModelList[i];
- MusicListView(a31player);
+ //if (a31player.functionMusic.isOnline() == false)
+ //{
+ // //涓嶅湪绾夸笉鏄剧ず
+ // continue;
+ //}
+
+ Application.RunOnMainThread(() =>
+ {
+ try
+ {
+ MusicListView(a31player);
+ }
+ catch (Exception ex)
+ {
+ MainPage.Log("Error", $"MusicListView 鏂规硶寮傚父锛歿ex.StackTrace}");
+ }
+ });
+ }
+ ///杩涙潵璇讳竴娆¢煶涔愭挱鏀惧櫒鐘舵��
+ for (int i = 0; i < A31MusicModel.A31MusicModelList.Count; i++)
+ {
+
+ var a31player = A31MusicModel.A31MusicModelList[i];
+ if (a31player.functionMusic.isOnline() == false)
+ {
+ //涓嶅湪绾夸笉璇诲彇
+ continue;
+ }
+ //鍙戦�佽鍙栭煶涔愭挱鏀惧櫒鐘舵�佺嚎绋�
+ System.Threading.Tasks.Task.Run(() =>
+ {
+ try
+ {
+
+ SendMethod.Current.RefreshDeviceStatus(new List<string> { a31player.functionMusic.deviceId });
+ System.Threading.Thread.Sleep(500);
+ }
+ catch { }
+
+ });
}
});
@@ -135,17 +190,19 @@
/// <summary>
/// 鏄剧ず闊充箰鍒楄〃鐨勬柟娉�
/// </summary>
- void MusicListView(A31MusicModel player)
+ void MusicListView(A31MusicModel player)
{
- musicView.View(verticalRefresh);
- musicView.singerBtn.Text = player.functionMusic.GetAttrState("song_name");
- musicView.songNameBtn.Text = player.functionMusic.GetAttrState("song_name");
+ /// <summary>
+ /// 涓轰簡闊充箰鍒锋柊鐘舵�佸畾涔夊叏灞�瀵硅薄
+ /// </summary>
+ MusicView musicView = new MusicView();
+ musicView.ViewAddChidren(verticalRefresh);
+ musicView.muiscFl.Tag = player.functionMusic;//澶氫釜闊充箰鎾斁鍣ㄦ洿鏂扮姸鎬佽鐢ㄥ埌
+ musicView.singerBtn.Text = player.functionMusic.GetAttrState(KeyProperty.song_name);
+ musicView.songNameBtn.Text = player.functionMusic.GetAttrState(KeyProperty.song_name);
musicView.musicNameBtn.Text = player.functionMusic.name;
- //if (player.IsEnd)
- //{
- // musicView.muiscFl.Height = Application.GetRealHeight(12 + 139 + 12);
- //}
-
+ //musicView.collectIconBtn.Visible = false;//鍏堟殏鏃堕殣钘忔敹钘忓姛鑳�
+ ///鏀惰棌浜嬩欢
musicView.collectIconBtn.MouseUpEventHandler += (sender, e) =>
{
musicView.collectIconBtn.IsSelected = !musicView.collectIconBtn.IsSelected;
@@ -157,23 +214,11 @@
{
player.functionMusic.collect = false;
}
+ player.functionMusic.CollectFunction();
};
- EventHandler<MouseEventArgs> clickMergence = (sender, e) =>
- {
- //if (player.ServerClientType == 0)
- //{
- // new View.DialogView { }.PlayMergence(player);
- //}
- //else if (player.ServerClientType == 1)
- //{
- // new View.DialogView { }.DetachPlayMergence(player);
- //}
- };
- musicView.mergeBjBtn.MouseUpEventHandler += clickMergence;
- musicView.mergeBtn.MouseUpEventHandler += clickMergence;
- musicView.mergeIconBtn.MouseUpEventHandler += clickMergence;
+ ///杩涘叆闊充箰涓婚〉浜嬩欢
EventHandler<MouseEventArgs> clickPlayView = (sender, e) =>
{
@@ -194,10 +239,10 @@
musicView.prevBtn.MouseDownEventHandler += (sender, e) =>
{
musicView.prevBtn.IsSelected = true;
- player.functionMusic.SetAttrState("song_step", "up");
+ player.functionMusic.SetAttrState(KeyProperty.song_step, ValueProperty.up);
Dictionary<string, string> dic = new Dictionary<string, string>();
- dic.Add("song_step", "up");
- SendMethod.sendMethod.SendControlCommand(player.functionMusic, dic);
+ dic.Add(KeyProperty.song_step, ValueProperty.up);
+ SendMethod.Current.SendControlCommand(player.functionMusic, dic);
};
musicView.prevBtn.MouseUpEventHandler += (sender, e) =>
{
@@ -206,55 +251,54 @@
///鏆傚仠/鎾斁鐐瑰嚮浜嬩欢
musicView.playBtn.MouseDownEventHandler += (sender, e) =>
{
- string status = "off";
+ string status = ValueProperty.off;
if (musicView.playBtn.IsSelected)
{
musicView.playBtn.IsSelected = false;
- status = "off";
+ status = ValueProperty.off;
}
else
{
musicView.playBtn.IsSelected = true;
- status = "on";
+ status = ValueProperty.on;
}
- player.functionMusic.SetAttrState("on_off", status);
+ player.functionMusic.SetAttrState(KeyProperty.on_off, status);
Dictionary<string, string> dic = new Dictionary<string, string>();
- dic.Add("on_off", status);
- SendMethod.sendMethod.SendControlCommand(player.functionMusic, dic);
+ dic.Add(KeyProperty.on_off, status);
+ SendMethod.Current.SendControlCommand(player.functionMusic, dic);
};
///涓嬩竴鏇茬偣鍑讳簨浠�
musicView.nextBtn.MouseDownEventHandler += (sender, e) =>
{
musicView.nextBtn.IsSelected = true;
- player.functionMusic.SetAttrState("song_step", "down");
+ player.functionMusic.SetAttrState(KeyProperty.song_step, ValueProperty.down);
Dictionary<string, string> dic = new Dictionary<string, string>();
- dic.Add("song_step", "down");
- SendMethod.sendMethod.SendControlCommand(player.functionMusic, dic);
+ dic.Add(KeyProperty.song_step, ValueProperty.down);
+ SendMethod.Current.SendControlCommand(player.functionMusic, dic);
};
musicView.nextBtn.MouseUpEventHandler += (sender, e) =>
{
musicView.nextBtn.IsSelected = false;
};
-
+ //鏇存柊鐘舵�佺嚎绋�
var musicThread = new System.Threading.Thread(() =>
{
while (true)
{
- System.Threading.Thread.Sleep(1000);
- if (!player.functionMusic.online)
+ if (!player.functionMusic.isOnline())
{
///涓嶅湪绾夸笉璇荤姸鎬�
continue;
}
//SendMethod.ReadStatus(player);
- SendMethod.sendMethod.RefreshDeviceStatus(player.functionMusic,new List<string> { player.functionMusic.deviceId });
-
+ SendMethod.Current.GetDeviceStatus(ref player, new List<string> { player.functionMusic.deviceId }, player.functionMusic.sid);
+ System.Threading.Thread.Sleep(1000);
Application.RunOnMainThread(() =>
{
- musicView.singerBtn.Text = player.functionMusic.GetAttrState("song_name");
- musicView.songNameBtn.Text = player.functionMusic.GetAttrState("song_name");
+ musicView.singerBtn.Text = player.functionMusic.GetAttrState(KeyProperty.song_name);
+ musicView.songNameBtn.Text = player.functionMusic.GetAttrState(KeyProperty.song_name);
musicView.musicNameBtn.Text = player.functionMusic.name;
- if (player.A31PlayStatus.status == "play")
+ if (player.functionMusic.GetAttrState(KeyProperty.on_off) == ValueProperty.on)
{
musicView.playBtn.IsSelected = true;
}
@@ -263,27 +307,14 @@
musicView.playBtn.IsSelected = false;
}
musicView.regionBtn.Text = player.functionMusic.GetRoomListName();
- if (player.ServerClientType == 1)
+
+ if (player.functionMusic.collect)
{
- if (player.MainPlayCollection)
- {
- musicView.collectIconBtn.IsSelected = true;
- }
- else
- {
- musicView.collectIconBtn.IsSelected = false;
- }
+ musicView.collectIconBtn.IsSelected = true;
}
else
{
- if (player.functionMusic.collect)
- {
- musicView.collectIconBtn.IsSelected = true;
- }
- else
- {
- musicView.collectIconBtn.IsSelected = false;
- }
+ musicView.collectIconBtn.IsSelected = false;
}
});
}
@@ -297,62 +328,118 @@
///鎸囧畾鍒锋柊鐣岄潰
/// </summary>
/// <param name="strView">鍒ゆ柇瀛楃</param>
- public void RefreshView(string strView)
+ public void RefreshView(AlinkStatusData alinkStatusData)
{
+ if (alinkStatusData == null || alinkStatusData.status.Count == 0)
+ {
+ return;
+ }
Application.RunOnMainThread(() =>
{
try
{
-
- for (int i = MainPage.BasePageView.ChildrenCount - 1; 0 <= i; i--)
+ for (int a =0; a < MainPage.BasePageView.ChildrenCount; a++)
{
- var view = MainPage.BasePageView.GetChildren(i);
- if (strView == view.Tag.ToString())
+ var view = MainPage.BasePageView.GetChildren(a);
+ if (view.GetType() == typeof(MusicMain))
{
- if (view.GetType() == typeof(MusicMain))
+ var musicMain = view as MusicMain;
+ if (musicMain != null)
{
- //musicView.singerBtn.Text = player.A31PlayStatus.Artist;
- //musicView.songNameBtn.Text = player.A31PlayStatus.Title;
- //musicView.musicNameBtn.Text = new View.DialogView { }.NamePlayer(player);
- //if (player.A31PlayStatus.status == "play")
- //{
- // musicView.playBtn.IsSelected = true;
- //}
- //else
- //{
- // musicView.playBtn.IsSelected = false;
- //}
- //musicView.regionBtn.Text = player.GetRoomListName();
- //if (player.ServerClientType == 1)
- //{
- // if (player.MainPlayCollection)
- // {
- // musicView.collectIconBtn.IsSelected = true;
- // }
- // else
- // {
- // musicView.collectIconBtn.IsSelected = false;
- // }
- //}
- //else
- //{
- // if (player.collect)
- // {
- // musicView.collectIconBtn.IsSelected = true;
- // }
- // else
- // {
- // musicView.collectIconBtn.IsSelected = false;
- // }
- //}
- }
- }
+ for (int b = 0; b < musicMain.ChildrenCount; b++)
+ {
+ var view1 = musicMain.GetChildren(b);
+ if (view1.GetType() == typeof(VerticalRefreshLayout))
+ {
+ var vv = view1 as VerticalRefreshLayout;
+ if (vv != null && vv.Name == "verticalRefresh")
+ {
+ for (int c = 0; c < vv.ChildrenCount; c++)
+ {
+ var viewfl = vv.GetChildren(c);
+ if (viewfl.GetType() == typeof(FrameLayout))
+ {
+ var fl = viewfl as FrameLayout;
+ if ((fl.Tag as Function).sid!= alinkStatusData.sid) {
+ //涓嶆槸褰撳墠闊充箰涓嶄細鏇存柊鐘舵��
+ continue;
+ }
+ if (fl != null && fl.Name == "parentfl")
+ {
+ for (int i = 0; i < fl.ChildrenCount; i++)
+ {
+ var viewfl1 = fl.GetChildren(i);
+ if (viewfl1.GetType() == typeof(FrameLayout))
+ {
+ var fl1 = viewfl1 as FrameLayout;
+ if (fl1 != null && fl1.Name == "musicparentfl")
+ {
+ for (int j = 0; j < fl1.ChildrenCount; j++)
+ {
+ if (fl1.GetChildren(j).GetType() == typeof(Button))
+ {
+ var btn = fl1.GetChildren(j) as Button;
+ if (btn == null ||btn.Name==null)
+ {
+ continue;
+ }
+ switch (btn.Name)
+ {
+ case "song":
+ {
+ var s = alinkStatusData.status.Find((o) => o.key == KeyProperty.song_name);
+ if (s != null)
+ {
+ btn.Text = s.value;
+ }
+ }
+ break;
+ case "playstatus":
+ {
+
+ var s = alinkStatusData.status.Find((o) => o.key == KeyProperty.on_off);
+ if (s != null)
+ {
+ if (s.value == ValueProperty.on)
+ {
+ btn.IsSelected = true;
+ }
+ else
+ {
+ btn.IsSelected = false;
+ }
+ }
+ }
+ break;
+ }
+
+ }
+ }
+ }
+ }
+
+ }
+ }
+ }
+
+ }
+ }
+
+ }
+
+ }
+ }
+
+ }
}
+
}
catch { }
});
}
+
+
}
}
--
Gitblit v1.8.0