From 38ee59a8404c1fa9385649f9690c8d671a5d95de Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期四, 31 八月 2023 19:00:22 +0800
Subject: [PATCH] 2023年08月31日19:00:14
---
HDL_ON/UI/UI2/FuntionControlView/Aks/AksPage.cs | 311 ++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 302 insertions(+), 9 deletions(-)
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Aks/AksPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Aks/AksPage.cs
index 21a8800..40156ef 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Aks/AksPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Aks/AksPage.cs
@@ -7,11 +7,26 @@
using HDL_ON.DriverLayer;
using HDL_ON.UI.Music;
using HDL_ON.UI.UI2.FuntionControlView.VideoDoorLock;
+using HDL_ON.UI.UI2.Intelligence.Automation;
+using System.Linq;
+using HDL_ON.UI.UI2.FuntionControlView.Aks.Entity;
+
namespace HDL_ON.UI.UI2.FuntionControlView.Aks
{
+ /// <summary>
+ /// 鍩冨厠鏂富鐣岄潰
+ /// </summary>
public class AksPage : FrameLayout
{
#region 鈻� 鍙橀噺澹版槑___________________________
+ /// <summary>
+ /// 閬ユ帶鍣ㄥ垪琛�
+ /// </summary>
+ private List<RemoteControlEntity> remoteControlList;
+
+ /// 鏃跺簭鍣ㄥ垪琛�
+ /// </summary>
+ private List<SequencerEntity> sequencerList;
/// <summary>
/// 璁惧
/// </summary>
@@ -45,6 +60,12 @@
/// 鍒犻櫎璁惧鍚庨渶瑕佹洿鏂扮晫闈㈢殑鍥炶皟
/// </summary>
public Action action;
+ /// <summary>
+ /// 璁板綍褰撳墠璁惧
+ /// </summary>
+ public IntType currnetIntType= IntType.none;
+
+
public VerticalScrolViewLayout vv;
#endregion
@@ -89,7 +110,7 @@
this.BackgroundColor = MusicColor.ViewColor;
this.topView = new TopView();
this.topView.setBtn.Visible = true;
- this.topView.topNameBtn.Text= this.device.name;
+ this.topView.topNameBtn.Text = this.device.name;
this.AddChidren(topView.TopFLayoutView());
}
/// <summary>
@@ -103,10 +124,8 @@
Height = Application.GetRealHeight(H_W.H - H_W.T_Height),
};
this.AddChidren(vv);
- AksMusicPage aksMusicPage = new AksMusicPage();
- this.vv.AddChidren(aksMusicPage);
- aksMusicPage.Show();
-
+ //杩涙潵榛樿鎾斁鍣ㄧ晫闈�
+ //this.SwitchUI(IntType.Player);
}
/// <summary>
/// 娉ㄥ唽浜嬩欢
@@ -116,6 +135,8 @@
//杩斿洖
this.topView.clickBackBtn.MouseUpEventHandler += (sender, e) =>
{
+ //娓呯┖鎵�鏈夌紦瀛樻暟鎹�
+ AksCommonMethod.Current.ClearData();
this.RemoveFromParent();
};
//璁剧疆
@@ -133,8 +154,8 @@
////鍒锋柊鏄剧ず
this.btnDeviceName.Text = this.device.name;
this.btnRoomName.Text = this.device.GetRoomListName();
- this.btnCurrDeviceName.Text = this.device.name;
- this.btnCurrDeviceRoom.Text = this.device.GetRoomListName();
+ //this.btnCurrDeviceName.Text = this.device.name;
+ //this.btnCurrDeviceRoom.Text = this.device.GetRoomListName();
//this.CalculatedPosition();//閲嶆柊璁$畻瀹藉害
});
@@ -163,17 +184,289 @@
{
try
{
-
+ this.remoteControlList = SendMethod.Current.GetRemoteControlLits(this.device.deviceId);
+ this.sequencerList = SendMethod.Current.GetSequencerLits(this.device.deviceId);
}
catch { }
finally
{
- Application.RunOnMainThread(() =>
+ CommonMethod.Current.MainThread(() =>
{
CommonMethod.Current.Loading.Hide();
+
+ if (this.remoteControlList.Count > 0)
+ {
+ if (string.IsNullOrEmpty(this.GetValueString(IntType.Player)))
+ {
+ //榛樿鍙栫涓�浣�
+ this.SwitchUI((IntType)this.remoteControlList[0].type);
+ }
+ else
+ {
+ //鏈夋挱鏀剧被鍨嬮仴鎺у櫒浼樺厛鏄剧ず
+ this.SwitchUI(IntType.Player);
+ }
+ }
+
});
}
});
}
+ /// <summary>
+ /// 鍒囨崲鐣岄潰(1 = 鎾斁鍣�,2 = 鍔熸斁,3 = 鐢佃,4 = 鏈洪《鐩�,5 = 鎶曞奖浠�,6 = 涓囪兘閬ユ帶鍣�)
+ /// </summary>
+ private void SwitchUI(IntType type)
+ {
+ if (this.currnetIntType == type)
+ {
+ return;
+ }
+ if (IntType.none == type)
+ {
+ return;
+ }
+ if (this.vv == null)
+ {
+ return;
+ }
+ this.vv.RemoveAll();
+ this.currnetIntType = type;
+ switch (type)
+ {
+ case IntType.Player:
+ {
+ MusicPage musicPage = new MusicPage(GetRemoteControl((int)IntType.Player),this.sequencerList);
+ this.vv.AddChidren(musicPage);
+ musicPage.Show();
+ musicPage.action += (deviceType) =>
+ {
+ SelectedType();
+ };
+ }
+ break;
+ case IntType.HiFi:
+ {
+ GfPage gfPage = new GfPage(GetRemoteControl((int)IntType.HiFi), this.sequencerList);
+ this.vv.AddChidren(gfPage);
+ gfPage.Show();
+ gfPage.action += (deviceType) =>
+ {
+ SelectedType();
+ };
+
+ }
+ break;
+ case IntType.TV:
+ {
+
+ TvPage tvPage = new TvPage(GetRemoteControl((int)IntType.TV), this.sequencerList);
+ this.vv.AddChidren(tvPage);
+ tvPage.Show();
+ tvPage.action += (deviceType) =>
+ {
+ SelectedType();
+ };
+ }
+ break;
+ case IntType.STB:
+ {
+ JdhPage jdhPage = new JdhPage(GetRemoteControl((int)IntType.STB), this.sequencerList);
+ this.vv.AddChidren(jdhPage);
+ jdhPage.Show();
+ jdhPage.action += (deviceType) =>
+ {
+ SelectedType();
+ };
+ }
+ break;
+ case IntType.Projector:
+ {
+ TyyPage tyyPage = new TyyPage(GetRemoteControl((int)IntType.Projector), this.sequencerList);
+ this.vv.AddChidren(tyyPage);
+ tyyPage.Show();
+ tyyPage.action += (deviceType) =>
+ {
+ SelectedType();
+ };
+ }
+ break;
+ case IntType.Control:
+ {
+
+ YkqPage ykqPage = new YkqPage(GetRemoteControl((int)IntType.Control), this.sequencerList);
+ this.vv.AddChidren(ykqPage);
+ ykqPage.Show();
+ ykqPage.action += (deviceType) =>
+ {
+ SelectedType();
+ };
+
+ }
+ break;
+
+ }
+
+ }
+ /// <summary>
+ /// 閫変腑绫诲瀷寮规(1 = 鎾斁鍣�,2 = 鍔熸斁,3 = 鐢佃,4 = 鏈洪《鐩�,5 = 鎶曞奖浠�,6 = 涓囪兘閬ユ帶鍣�)
+ /// </summary>
+ private void SelectedType()
+ {
+ var deviceTypeList = GetTypeDictionary().Values.ToList();
+ ///涔嬪墠鐨勭姸鎬佹枃鏈�
+ string ccurrnetDeviceStr= this.GetValueString(this.currnetIntType);
+ PublicInterface conditionView = new PublicInterface();
+ conditionView.SingleSelectionShow(this, deviceTypeList, "璁惧閫夋嫨", ccurrnetDeviceStr
+ , (valueStr) =>
+ {
+ //鐣岄潰鏄剧ず閫変腑鍊�
+ var intType = this.GetKeyIntType(valueStr);
+ this.SwitchUI(intType);
+
+ });
+ }
+
+ /// <summary>
+ /// 鏌ユ壘閬ユ帶鍣�
+ /// </summary>
+ /// <param name="type">(1 = 鎾斁鍣�,2 = 鍔熸斁,3 = 鐢佃,4 = 鏈洪《鐩�,5 = 鎶曞奖浠�,6 = 涓囪兘閬ユ帶鍣�)</param>
+ /// <returns>涓嶄細涓簄ull</returns>
+ private RemoteControlEntity GetRemoteControl(int type)
+ {
+ if (this.remoteControlList == null || this.remoteControlList.Count == 0)
+ {
+ return new RemoteControlEntity();
+ }
+ var re = this.remoteControlList.Find((o) => o.type == type);
+ if (re == null)
+ {
+ re = new RemoteControlEntity();
+ }
+ //re.deviceId = this.device.deviceId;
+ return re;
+ }
+
+
+ public enum IntType
+ {
+ /// <summary>
+ /// 娌℃湁
+ /// </summary>
+ none = 0,
+ /// <summary>
+ /// 鎾斁鍣�
+ /// </summary>
+ Player = 1,
+ /// <summary>
+ /// 鍔熸斁
+ /// </summary>
+ HiFi = 2,
+ /// <summary>
+ /// 鐢佃
+ /// </summary>
+ TV = 3,
+ /// <summary>
+ /// 鏈洪《鐩�
+ /// </summary>
+ STB = 4,
+ /// <summary>
+ /// 鎶曞奖浠�
+ /// </summary>
+ Projector = 5,
+ /// <summary>
+ /// 涓囪兘閬ユ帶鍣�
+ /// </summary>
+ Control = 6,
+ }
+
+ /// <summary>
+ /// 鍒濆鍖栧瓧鍏�
+ /// </summary>
+ /// <returns></returns>
+ private Dictionary<IntType, string> GetTypeDictionary()
+ {
+ if (this.remoteControlList == null || this.remoteControlList.Count == 0)
+ {
+ return new Dictionary<IntType, string>();
+ }
+ var dic = new Dictionary<IntType, string>();
+ foreach (var o in this.remoteControlList)
+ {
+ switch (o.type)
+ {
+ case (int)IntType.Player:
+ {
+ dic.Add(IntType.Player, Language.StringByID(StringId.bofangqi));
+ }
+ break;
+ case (int)IntType.HiFi:
+ {
+ dic.Add(IntType.HiFi, Language.StringByID(StringId.gongfan));
+ }
+ break;
+ case (int)IntType.TV:
+ {
+ dic.Add(IntType.TV, Language.StringByID(StringId.dianshi));
+ }
+ break;
+
+ case (int)IntType.STB:
+ {
+ dic.Add(IntType.STB, Language.StringByID(StringId.jidinghe));
+ }
+ break;
+ case (int)IntType.Projector:
+ {
+ dic.Add(IntType.Projector, Language.StringByID(StringId.touyingyi));
+ }
+ break;
+ case (int)IntType.Control:
+ {
+ dic.Add(IntType.Control, Language.StringByID(StringId.xuniyaokongqi));
+ }
+ break;
+ }
+ }
+ return dic;
+ }
+ /// <summary>
+ /// 鑾峰彇璁惧绫诲瀷
+ /// </summary>
+ /// <param name="value">(1 = 鎾斁鍣�,2 = 鍔熸斁,3 = 鐢佃,4 = 鏈洪《鐩�,5 = 鎶曞奖浠�,6 = 涓囪兘閬ユ帶鍣�)</param>
+ /// <returns></returns>
+ private IntType GetKeyIntType(string value)
+ {
+ var dic = this.GetTypeDictionary();
+ foreach (var d in dic)
+ {
+ if (d.Value == value)
+ {
+ return d.Key;
+ }
+ }
+ return IntType.none;
+ }
+ /// <summary>
+ /// 鑾峰彇璁惧鍚嶇О
+ /// </summary>
+ /// <param name="key">(1 = 鎾斁鍣�,2 = 鍔熸斁,3 = 鐢佃,4 = 鏈洪《鐩�,5 = 鎶曞奖浠�,6 = 涓囪兘閬ユ帶鍣�)</param>
+ /// <returns></returns>
+ private string GetValueString(IntType key)
+ {
+ var dic = this.GetTypeDictionary();
+ foreach (var d in dic)
+ {
+ if (d.Key == key)
+ {
+ return d.Value;
+ }
+ }
+ return "";
+ }
+
+
+
+
+
}
}
--
Gitblit v1.8.0