using System;
|
using System.Collections.Generic;
|
using System.IO;
|
using System.Text;
|
|
namespace Shared.SimpleControl.Phone
|
{
|
public class SystemInfrared : FrameLayout
|
{
|
private static InfraredMode infraredBase;
|
private static byte TestByteIndex = 12;
|
|
int nameNum;
|
int pageIndex = 1;
|
int pageCount = 1;
|
/// <summary>
|
/// 当前的品牌数据
|
/// </summary>
|
object btnBrandData_Tag;
|
bool isFindBrand = true;
|
/// <summary>
|
/// 设备类型列表
|
/// </summary>
|
List<string> modulTypeList;
|
/// <summary>
|
/// 设备类型编号
|
/// </summary>
|
string modulTypeNumber;
|
Button btnTypeName;
|
Button btnEquipmentIcon;
|
VerticalScrolViewLayout brandView;
|
FrameLayout brandFlipView;
|
Button btnTextButton;
|
byte textByte = 6;
|
int textTime = 5;
|
/// <summary>
|
/// 品牌名字:按钮
|
/// </summary>
|
Button btnBrandName;
|
/// <summary>
|
/// 品牌列表
|
/// </summary>
|
List<string> brandDataList = new List<string> ();
|
/// <summary>
|
/// 红外码列表
|
/// </summary>
|
string [] infraredDataList;
|
|
int infraredDataIndex = 0;
|
|
byte [] updateInfraredBytes = new byte [27];
|
public SystemInfrared ()
|
{
|
}
|
|
public void ShowSystemInfrared (InfraredMode infrared, Common common, bool isACInfrared = false)
|
{
|
//SystemMiddle.hideBottom ();
|
string infraredType = "";
|
string [] infraredTypeList;
|
infraredBase = infrared;
|
|
RemoveAll ();
|
#region top
|
RowLayout topTitleView = new RowLayout () {
|
Height = Application.GetRealHeight (98),
|
Width = LayoutParams.MatchParent,
|
BackgroundColor = SkinStyle.Current.MainColor
|
};
|
AddChidren (topTitleView);
|
|
Button backButton = new Button () {
|
X = Application.GetRealWidth (0),
|
Height = Application.GetRealHeight (90),
|
Width = Application.GetRealWidth (85),
|
UnSelectedImagePath = "Item/Back.png",
|
SelectedImagePath = "Item/BackSelected.png",
|
Gravity = Gravity.CenterVertical,
|
};
|
backButton.MouseUpEventHandler += (sender, e) => {
|
(Parent as PageLayout).PageIndex -= 1;
|
//SystemEquipmentBase.RefreshView (common);
|
};
|
topTitleView.AddChidren (backButton);
|
|
EditText textButton = new EditText () {
|
X = Application.GetRealWidth (30) + backButton.Right,
|
Height = Application.GetRealHeight (41),
|
Width = Application.GetRealWidth (400),
|
Text = infrared.Name,
|
Gravity = Gravity.CenterVertical,
|
TextAlignment = TextAlignment.CenterLeft,
|
BackgroundColor = SkinStyle.Current.Transparent,
|
SelectedBackgroundColor = 0xFF000000,
|
Enable = false,
|
TextSize = 15,
|
TextColor = SkinStyle.Current.TextColor1
|
};
|
topTitleView.AddChidren (textButton);
|
|
Button editor = new Button () {
|
Height = Application.GetRealHeight (90),
|
Width = Application.GetRealWidth (70),
|
UnSelectedImagePath = "Item/Editor.png",
|
SelectedImagePath = "Item/EditorSelected.png",
|
Gravity = Gravity.CenterVertical,
|
};
|
editor.X = topTitleView.Width - editor.Width - Application.GetRealWidth (30);
|
topTitleView.AddChidren (editor);
|
editor.MouseUpEventHandler += (sender, e) => {
|
if (editor.IsSelected) {
|
textButton.IsSelected = false;
|
MainPage.Loading.Start ();
|
byte [] remakeBytes = CommonPage.MyEncodingGB2312.GetBytes (textButton.Text.Trim ());
|
textButton.IsSelected = editor.IsSelected = textButton.Enable = false;
|
System.Threading.Tasks.Task.Run (() => {
|
byte [] updateBytes = Control.ControlBytesSendHasReturn (Command.ReadDeviceLoopInfo, infrared.SubnetID, infrared.DeviceID, new byte [] {
|
infrared.BigClass,infrared.MinClass,infrared.LoopID
|
});
|
if (updateBytes == null) {
|
Application.RunOnMainThread (() => {
|
MainPage.Loading.Hide ();
|
new Alert (Language.StringByID (R.MyInternationalizationString.Tip), Language.StringByID (R.MyInternationalizationString.TipEquipmentNotOnline), Language.StringByID (R.MyInternationalizationString.Close)).Show ();
|
});
|
return;
|
}
|
byte [] uBytes = new byte [20];
|
Array.Copy (remakeBytes, 0, uBytes, 0, remakeBytes.Length < 20 ? remakeBytes.Length : 20);
|
Array.Copy (uBytes, 0, updateBytes, 3, 20 < uBytes.Length ? 20 : uBytes.Length);
|
var reBytes = Control.ControlBytesSendHasReturn (Command.SetDeviceLoopInfo, infrared.SubnetID, infrared.DeviceID, updateBytes);
|
if (reBytes != null) {
|
Application.RunOnMainThread (() => {
|
infrared.Name = textButton.Text.Trim ();
|
IO.FileUtils.SaveEquipmentMessage (infrared, infrared.LoopID.ToString ());
|
MainPage.Loading.Hide ();
|
});
|
} else {
|
Application.RunOnMainThread (() => {
|
new Alert (Language.StringByID (R.MyInternationalizationString.Tip), Language.StringByID (R.MyInternationalizationString.TipEquipmentNotOnline), Language.StringByID (R.MyInternationalizationString.Close)).Show ();
|
MainPage.Loading.Hide ();
|
});
|
}
|
});
|
} else {
|
textButton.IsSelected = textButton.Enable = textButton.IsSelected = editor.IsSelected = true;
|
}
|
};
|
#endregion
|
|
#region type
|
modulTypeList = new List<string> ();
|
if (isACInfrared) {
|
if (Language.CurrentLanguage == "English") {
|
modulTypeList.Add ("6_AC__0_0_0_0_0");
|
} else
|
modulTypeList.Add ("6_空调__0_0_0_0_0");
|
updateInfraredBytes [26] = 1;//后面修改了指令多了一个byte用来区分是否是红外空调
|
|
} else {
|
if (Language.CurrentLanguage == "English") {
|
//typeList.Add ("1_Projector__0_0_0_0_0");
|
//typeList.Add ("2_风扇__0_0_0_0_0");
|
modulTypeList.Add ("3_STB__0_0_0_0_0");
|
//typeList.Add ("4_影碟机 (DVD, EVD, VCD)__0_0_0_0_0");
|
modulTypeList.Add ("5_TV__0_0_0_0_0");
|
//typeList.Add ("6_空调__0_0_0_0_0");
|
//typeList.Add ("7_IPTV__0_0_0_0_0");
|
} else {
|
//typeList.Add ("1_投影仪__0_0_0_0_0");
|
//typeList.Add ("2_风扇__0_0_0_0_0");
|
modulTypeList.Add ("3_机顶盒__0_0_0_0_0");
|
//typeList.Add ("4_影碟机 (DVD, EVD, VCD)__0_0_0_0_0");
|
modulTypeList.Add ("5_电视机__0_0_0_0_0");
|
//typeList.Add ("6_空调__0_0_0_0_0");
|
//typeList.Add ("7_IPTV__0_0_0_0_0");
|
}
|
updateInfraredBytes [26] = 0;
|
}
|
|
#region 设备类型
|
RowLayout rl = new RowLayout () {
|
Y = Application.GetRealHeight (98),
|
Width = LayoutParams.MatchParent,
|
Height = Application.GetRealHeight (93),
|
};
|
AddChidren (rl);
|
|
btnEquipmentIcon = new Button () {
|
Width = Application.GetRealHeight (63),
|
Height = Application.GetRealHeight (63),
|
X = Application.GetRealWidth (60),
|
Gravity = Gravity.CenterVertical,
|
};
|
rl.AddChidren (btnEquipmentIcon);
|
btnTypeName = new Button () {
|
Width = Application.GetRealHeight (343),
|
Height = Application.GetRealHeight (83),
|
X = btnEquipmentIcon.Right + Application.GetRealWidth (5),
|
TextAlignment = TextAlignment.CenterLeft,
|
Text = Language.StringByID (R.MyInternationalizationString.ChooseType),
|
TextColor = SkinStyle.Current.TextColor1
|
};
|
rl.AddChidren (btnTypeName);
|
Button btnDropDownIcon = new Button () {
|
X = rl.Width - Application.GetRealWidth (100),
|
Height = Application.GetRealHeight (46),
|
Width = Application.GetRealWidth (47),
|
UnSelectedImagePath = "Item/Down.png",
|
SelectedImagePath = "Item/DownSelected.png",
|
Gravity = Gravity.CenterVertical,
|
};
|
rl.AddChidren (btnDropDownIcon);
|
|
RowLayout rowl2 = new RowLayout () {
|
Y = rl.Bottom,
|
Height = Application.GetRealHeight (93),
|
};
|
AddChidren (rowl2);
|
btnBrandName = new Button () {
|
TextAlignment = TextAlignment.Center,
|
TextID = R.MyInternationalizationString.ChooseType,
|
TextColor = SkinStyle.Current.TextColor1
|
};
|
rowl2.AddChidren (btnBrandName);
|
|
brandView = new VerticalScrolViewLayout () {
|
Gravity = Gravity.CenterHorizontal,
|
Y = rowl2.Bottom,
|
Height = Application.GetRealHeight (650 - 90)
|
};
|
AddChidren (brandView);
|
|
brandFlipView = new FrameLayout () {
|
X = brandView.X,
|
Y = brandView.Bottom,
|
Width = brandView.Width,
|
Height = Application.GetRealHeight (90),
|
BackgroundColor = 0xFF2f2f2f,
|
Visible = false
|
};
|
AddChidren (brandFlipView);
|
|
Button btnAutoTestLeft = new Button () {
|
Width = Application.GetRealWidth (158),
|
UnSelectedImagePath = @"AC/ACDialogRegresses.png",
|
SelectedImagePath = @"AC/ACDialogRegressesOn.png",
|
};
|
brandFlipView.AddChidren (btnAutoTestLeft);
|
btnAutoTestLeft.MouseDownEventHandler += (sender, e) => {
|
btnAutoTestLeft.IsSelected = true;
|
};
|
Button btnAutoTest = new Button () {
|
X = btnAutoTestLeft.Right,
|
Width = Application.GetRealWidth (640 - 158 - 158),
|
Text = pageIndex.ToString ()
|
};
|
brandFlipView.AddChidren (btnAutoTest);
|
Button btnAutoTestRight = new Button () {
|
Width = Application.GetRealWidth (158),
|
X = btnAutoTest.Right,
|
UnSelectedImagePath = @"AC/ACDialogForward.png",
|
SelectedImagePath = @"AC/ACDialogForwardOn.png",
|
};
|
brandFlipView.AddChidren (btnAutoTestRight);
|
btnAutoTestRight.MouseDownEventHandler += (sender, e) => {
|
btnAutoTestRight.IsSelected = true;
|
};
|
btnAutoTestLeft.MouseUpEventHandler += (sender, e) => {
|
btnAutoTestLeft.IsSelected = false;
|
if (pageIndex > 1) {
|
MainPage.Loading.Start ();
|
System.Threading.Tasks.Task.Run (() => {
|
Application.RunOnMainThread (() => {
|
try {
|
pageIndex--;
|
btnAutoTest.Text = pageIndex.ToString ();
|
InitInfraredView ();
|
} catch { } finally {
|
MainPage.Loading.Hide ();
|
}
|
});
|
});
|
}
|
};
|
btnAutoTestRight.MouseUpEventHandler += (sender, e) => {
|
btnAutoTestRight.IsSelected = false;
|
if (pageIndex < pageCount) {
|
MainPage.Loading.Start ();
|
System.Threading.Tasks.Task.Run (() => {
|
Application.RunOnMainThread (() => {
|
try {
|
pageIndex++;
|
btnAutoTest.Text = pageIndex.ToString ();
|
InitInfraredView ();
|
} catch { } finally {
|
MainPage.Loading.Hide ();
|
}
|
});
|
});
|
}
|
};
|
Button b2 = new Button () {
|
Width = LayoutParams.MatchParent,
|
Height = 1,
|
BackgroundColor = 0xFFDBDDDF,
|
};
|
brandFlipView.AddChidren (b2);
|
|
#endregion
|
EventHandler<MouseEventArgs> dropTypehandler = new EventHandler<MouseEventArgs> (delegate (object sender, MouseEventArgs e) {
|
#region DIALOG
|
Dialog dialog = new Dialog () {
|
BackgroundColor = SkinStyle.Current.DialogColor,
|
Width = Application.GetRealWidth (480),
|
Height = Application.GetRealHeight (600),
|
};
|
Button btnTitle = new Button () {
|
Width = dialog.Width,
|
Height = Application.GetRealHeight (105),
|
UnSelectedImagePath = "Item/Menu.png",
|
TextAlignment = TextAlignment.Center,
|
TextID = R.MyInternationalizationString.ChooseType,
|
TextColor = SkinStyle.Current.TextColor1
|
};
|
btnTitle.Enable = false;
|
dialog.AddChidren (btnTitle);
|
|
//存放设备的view
|
VerticalScrolViewLayout verticalScrolView = new VerticalScrolViewLayout () {
|
Width = Application.GetRealWidth (440),
|
Height = Application.GetRealHeight (350),
|
Gravity = Gravity.CenterHorizontal,
|
Y = btnTitle.Height + Application.GetRealHeight (20),
|
BackgroundColor = SkinStyle.Current.ViewColor
|
};
|
dialog.AddChidren (verticalScrolView);
|
|
FrameLayout BottomView = new FrameLayout () {
|
Width = LayoutParams.MatchParent,
|
Height = Application.GetRealHeight (90),
|
BackgroundColor = SkinStyle.Current.ViewColor,
|
Y = dialog.Height - Application.GetRealHeight (90),
|
};
|
dialog.AddChidren (BottomView);
|
Button btnBack = new Button () {
|
Height = LayoutParams.MatchParent,
|
TextID = R.MyInternationalizationString.cancel,
|
TextAlignment = TextAlignment.Center,
|
TextColor = 0xFFFFFFFF
|
};
|
BottomView.AddChidren (btnBack);
|
btnBack.MouseUpEventHandler += (sender1, e1) => {
|
dialog.Close ();
|
};
|
#region ---显示设备类型---
|
for (int i = 0; i < modulTypeList.Count; i++) {
|
string modulName = modulTypeList [i].Split ('_') [1];
|
Button btnModulName = new Button () {
|
Width = LayoutParams.MatchParent,
|
Height = Application.GetRealHeight (78),
|
Text = modulName,
|
TextAlignment = TextAlignment.Center,
|
TextColor = SkinStyle.Current.TextColor1,
|
Tag = i
|
};
|
verticalScrolView.AddChidren (btnModulName);
|
|
Button b1 = new Button () {
|
Width = LayoutParams.MatchParent,
|
Height = 1,
|
BackgroundColor = 0xFFDBDDDF
|
};
|
verticalScrolView.AddChidren (b1);
|
|
btnModulName.MouseUpEventHandler += (sender1, e1) => {
|
dialog.Close ();
|
FindBrand (brandView, btnModulName);
|
};
|
}
|
#endregion
|
|
#endregion
|
dialog.Show ();
|
});
|
btnDropDownIcon.MouseUpEventHandler += dropTypehandler;
|
rl.MouseUpEventHandler += dropTypehandler;
|
btnEquipmentIcon.MouseUpEventHandler += dropTypehandler;
|
#endregion
|
|
System.Threading.Tasks.Task.Run (() => {
|
//读取回路信息
|
byte [] infraredLoopBytes = Control.ControlBytesSendHasReturn (Command.DownloadInfrared, infrared.SubnetID, infrared.DeviceID,
|
new byte [] { infrared.LoopID, 0, infrared.LoopID });
|
if (infraredLoopBytes != null) {
|
infraredType = CommonPage.MyEncodingGB2312.GetString (infraredLoopBytes, 7, 20).Trim ('\0');
|
infraredTypeList = infraredType.Split ('-');
|
Application.RunOnMainThread (() => {
|
btnBrandName.Text = infraredTypeList [0];
|
try {
|
foreach (var t in modulTypeList) {
|
if (t.Contains (infraredTypeList [1])) {
|
switch (Convert.ToInt32 (t.Split ('_') [0])) {
|
case 1:
|
btnEquipmentIcon.UnSelectedImagePath = "Item/InfraredProjector.png";
|
break;
|
case 2:
|
btnEquipmentIcon.UnSelectedImagePath = "Item/InfraredFan.png";
|
break;
|
case 3:
|
btnEquipmentIcon.UnSelectedImagePath = "Item/InfraredSTB.png";
|
break;
|
case 4:
|
btnEquipmentIcon.UnSelectedImagePath = "Item/InfraredDVD.png";
|
break;
|
case 5:
|
btnEquipmentIcon.UnSelectedImagePath = "Item/InfraredTV.png";
|
break;
|
case 6:
|
btnEquipmentIcon.UnSelectedImagePath = "Item/InfraredAC.png";
|
break;
|
case 7:
|
btnEquipmentIcon.UnSelectedImagePath = "Item/InfraredIPTV.png";
|
break;
|
}
|
}
|
}
|
} catch { }
|
});
|
}
|
});
|
|
//SystemMiddle.hideBottom ();
|
}
|
|
/// <summary>
|
/// 查找设备品牌
|
/// </summary>
|
void FindBrand (VerticalScrolViewLayout brandView, Button btnModulName)
|
{
|
MainPage.Loading.Start ();
|
isFindBrand = true;
|
System.Threading.Tasks.Task.Run (() => {
|
Application.RunOnMainThread (() => {
|
Dialog dialog = new Dialog () {
|
BackgroundColor = SkinStyle.Current.DialogColor,
|
Width = Application.GetRealWidth (540),
|
Height = Application.GetRealHeight (744 + 80),
|
};
|
Button btnTitle = new Button () {
|
Width = dialog.Width,
|
Height = Application.GetRealHeight (90),
|
BackgroundColor = SkinStyle.Current.ViewColor,
|
TextAlignment = TextAlignment.Center,
|
TextID = R.MyInternationalizationString.ChooseType,
|
TextColor = SkinStyle.Current.TextColor1,
|
Enable = false
|
};
|
dialog.AddChidren (btnTitle);
|
|
//存放设备的view
|
VerticalScrolViewLayout verticalScrolView = new VerticalScrolViewLayout () {
|
Height = Application.GetRealHeight (520),
|
Width = Application.GetRealWidth (480),
|
Gravity = Gravity.CenterHorizontal,
|
Y = btnTitle.Height + Application.GetRealHeight (20),
|
BackgroundColor = SkinStyle.Current.ViewColor
|
};
|
dialog.AddChidren (verticalScrolView);
|
FrameLayout FlipView = new FrameLayout () {
|
X = verticalScrolView.X,
|
Y = verticalScrolView.Bottom,
|
Width = verticalScrolView.Width,
|
Height = Application.GetRealHeight (80),
|
BackgroundColor = SkinStyle.Current.ViewColor
|
};
|
dialog.AddChidren (FlipView);
|
|
Button btnAutoTestLeft = new Button () {
|
Width = Application.GetRealWidth (158),
|
UnSelectedImagePath = @"AC/ACDialogRegresses.png",
|
SelectedImagePath = @"AC/ACDialogRegressesOn.png",
|
};
|
FlipView.AddChidren (btnAutoTestLeft);
|
btnAutoTestLeft.MouseDownEventHandler += (sender, e) => {
|
btnAutoTestLeft.IsSelected = true;
|
};
|
Button btnPageText = new Button () {
|
X = btnAutoTestLeft.Right,
|
Width = Application.GetRealWidth (480 - 158 - 158),
|
Text = pageIndex.ToString (),
|
TextColor = SkinStyle.Current.TextColor1
|
};
|
FlipView.AddChidren (btnPageText);
|
Button btnAutoTestRight = new Button () {
|
Width = Application.GetRealWidth (158),
|
X = btnPageText.Right,
|
UnSelectedImagePath = @"AC/ACDialogForward.png",
|
SelectedImagePath = @"AC/ACDialogForwardOn.png",
|
};
|
FlipView.AddChidren (btnAutoTestRight);
|
btnAutoTestRight.MouseDownEventHandler += (sender, e) => {
|
btnAutoTestRight.IsSelected = true;
|
};
|
btnAutoTestLeft.MouseUpEventHandler += (sender, e) => {
|
btnAutoTestLeft.IsSelected = false;
|
if (pageIndex > 1) {
|
MainPage.Loading.Start ();
|
System.Threading.Tasks.Task.Run (() => {
|
Application.RunOnMainThread (() => {
|
try {
|
pageIndex--;
|
btnPageText.Text = pageIndex.ToString ();
|
InitBrandView (verticalScrolView, btnModulName, dialog);
|
} catch { } finally {
|
MainPage.Loading.Hide ();
|
}
|
});
|
});
|
}
|
};
|
btnAutoTestRight.MouseUpEventHandler += (sender, e) => {
|
btnAutoTestRight.IsSelected = false;
|
if (pageIndex < pageCount) {
|
MainPage.Loading.Start ();
|
System.Threading.Tasks.Task.Run (() => {
|
Application.RunOnMainThread (() => {
|
try {
|
pageIndex++;
|
btnPageText.Text = pageIndex.ToString ();
|
if (isFindBrand)
|
InitBrandView (verticalScrolView, btnModulName, dialog);
|
} catch { } finally {
|
MainPage.Loading.Hide ();
|
}
|
});
|
});
|
}
|
};
|
Button b2 = new Button () {
|
Width = LayoutParams.MatchParent,
|
Height = 1,
|
BackgroundColor = 0xFFDBDDDF,
|
};
|
FlipView.AddChidren (b2);
|
|
FrameLayout BottomView = new FrameLayout () {
|
Width = LayoutParams.MatchParent,
|
Height = Application.GetRealHeight (90),
|
BackgroundColor = SkinStyle.Current.ViewColor,
|
Y = dialog.Height - Application.GetRealHeight (90),
|
};
|
dialog.AddChidren (BottomView);
|
Button btnBack = new Button () {
|
Height = LayoutParams.MatchParent,
|
TextID = R.MyInternationalizationString.cancel,
|
TextAlignment = TextAlignment.Center,
|
TextColor = SkinStyle.Current.TextColor1
|
};
|
BottomView.AddChidren (btnBack);
|
btnBack.MouseUpEventHandler += (sender, e) => {
|
dialog.Close ();
|
};
|
|
Button btnLineH = new Button () {
|
Width = 1,
|
Height = LayoutParams.MatchParent,
|
BackgroundColor = SkinStyle.Current.MainColor,
|
X = btnBack.Right,
|
};
|
BottomView.AddChidren (btnLineH);
|
dialog.Show ();
|
|
verticalScrolView.RemoveAll ();
|
brandView.RemoveAll ();
|
MainPage.Loading.Start ();
|
btnTitle.TextID = R.MyInternationalizationString.ChooseBrand;
|
|
nameNum = 2;
|
if (Language.CurrentLanguage == "English") {
|
nameNum = 6;
|
}
|
|
try {
|
modulTypeNumber = modulTypeList [(int)btnModulName.Tag].Split ('_') [0];
|
string path = "InfraredType/" + modulTypeNumber + ".txt";
|
if (System.IO.File.Exists (System.IO.Path.Combine (IO.FileUtils.RootPath, path))) {
|
path = System.IO.Path.Combine (IO.FileUtils.RootPath, path);
|
}
|
StreamReader sr = new StreamReader (path, CommonPage.MyEncodingUTF8);
|
string line = "";
|
brandDataList = new List<string> ();
|
while ((line += sr.ReadLine ()) != null && line != "") {
|
if (!line.Contains ("_0_0_0_0_0"))
|
continue;
|
brandDataList.Add (line);
|
line = "";
|
}
|
sr.Close ();
|
pageIndex = 1;
|
pageCount = brandDataList.Count / 100;
|
if ((brandDataList.Count % 100) > 0)
|
pageCount++;
|
InitBrandView (verticalScrolView, btnModulName, dialog);
|
|
} catch (Exception ex) {
|
Console.WriteLine (ex.ToString ());
|
} finally {
|
MainPage.Loading.Hide ();
|
}
|
});
|
});
|
}
|
|
public void InitBrandView (VerticalScrolViewLayout verticalScrolView, Button btnModulName, Dialog dialog)
|
{
|
verticalScrolView.RemoveAll ();
|
for (int i = (pageIndex - 1) * 100; i < pageIndex * 100; i++) {
|
if (i >= brandDataList.Count)
|
break;
|
string brandData = brandDataList [i];
|
string brandName = brandData.Split ('_') [nameNum];
|
RowLayout rlBrandName = new RowLayout () {
|
Height = Application.GetRealHeight (78),
|
};
|
verticalScrolView.AddChidren (rlBrandName);
|
Button btnBrandName_InDialog = new Button () {
|
Text = brandName.Trim (),
|
TextAlignment = TextAlignment.Center,
|
TextColor = SkinStyle.Current.TextColor1,
|
Tag = brandData
|
};
|
rlBrandName.AddChidren (btnBrandName_InDialog);
|
|
btnBrandName_InDialog.MouseUpEventHandler += (sender2, e2) => {
|
#region 设备类型文本与图标
|
btnTypeName.Text = modulTypeList [(int)btnModulName.Tag].ToString ().Split ('_') [1];
|
switch (Convert.ToInt32 (modulTypeNumber)) {
|
case 1:
|
btnEquipmentIcon.UnSelectedImagePath = "Item/InfraredProjector.png";
|
break;
|
case 2:
|
btnEquipmentIcon.UnSelectedImagePath = "Item/InfraredFan.png";
|
break;
|
case 3:
|
btnEquipmentIcon.UnSelectedImagePath = "Item/InfraredSTB.png";
|
break;
|
case 4:
|
btnEquipmentIcon.UnSelectedImagePath = "Item/InfraredDVD.png";
|
break;
|
case 5:
|
btnEquipmentIcon.UnSelectedImagePath = "Item/InfraredTV.png";
|
break;
|
case 6:
|
btnEquipmentIcon.UnSelectedImagePath = "Item/InfraredAC.png";
|
break;
|
case 7:
|
btnEquipmentIcon.UnSelectedImagePath = "Item/InfraredIPTV.png";
|
break;
|
}
|
#endregion
|
dialog.Close ();
|
try {
|
//verticalScrolView.RemoveAll ();
|
for (int i1 = 0; i1 < verticalScrolView.ChildrenCount; i1++) {
|
verticalScrolView.GetChildren (i1).RemoveFromParent ();
|
}
|
}catch(Exception ex) {
|
Console.WriteLine (ex.Message);
|
}
|
Console.WriteLine ("设备类型文本与图标");
|
btnBrandName.Text = btnBrandName_InDialog.Tag.ToString ().Split ('_') [nameNum];
|
btnBrandData_Tag = btnBrandName_InDialog.Tag;
|
FindInrared (verticalScrolView);
|
};
|
}
|
}
|
|
/// <summary>
|
/// 查找红外
|
/// </summary>
|
void FindInrared (VerticalScrolViewLayout verticalScrolView_Dialog)
|
{
|
try {
|
//verticalScrolView_Dialog.RemoveAll ();
|
for (int i1 = 0; i1 < verticalScrolView_Dialog.ChildrenCount; i1++) {
|
verticalScrolView_Dialog.GetChildren (i1).RemoveFromParent ();
|
}
|
} catch (Exception ex) {
|
Console.WriteLine (ex.Message);
|
}
|
MainPage.Loading.Start ();
|
System.Threading.Tasks.Task.Run (() => {
|
string [] listStrInfrared = btnBrandData_Tag.ToString ().Split ('_');//红外库数据
|
List<string> listInfrared = new List<string> (listStrInfrared [5].Replace ("}", "").Replace ("\r\n", "").Replace (" ", "").Split (','));
|
listInfrared.RemoveAt (0);
|
infraredDataList = new string [listInfrared.Count];
|
string tempStr = null;
|
string typeStr = listStrInfrared [0];
|
string path = "InfraredCode/" + typeStr + ".txt";
|
if (System.IO.File.Exists (System.IO.Path.Combine (IO.FileUtils.RootPath, path))) {
|
path = System.IO.Path.Combine (IO.FileUtils.RootPath, path);
|
}
|
StreamReader sr = new StreamReader (path, CommonPage.MyEncodingUTF8);
|
string line = "";
|
|
Application.RunOnMainThread (() => {
|
try {
|
while ((line += sr.ReadLine ()) != null && line != "") {
|
if (!line.Contains ("}"))
|
continue;
|
tempStr = line;
|
if (tempStr.Split ('_') [0] == listStrInfrared [0]) {
|
string infraredNumber = tempStr.Split ('_') [1].Trim ();
|
if (listInfrared.Contains (infraredNumber)) {
|
infraredDataList [listInfrared.IndexOf (infraredNumber)] = tempStr;
|
}
|
}
|
line = "";
|
}
|
pageIndex = 1;
|
pageCount = infraredDataList.Length / 100;
|
if ((infraredDataList.Length % 100) > 0)
|
pageCount++;
|
|
InitInfraredView ();
|
} catch (Exception ex) {
|
Console.WriteLine ("dbnew3 error :" + ex.ToString ());
|
} finally {
|
MainPage.Loading.Hide ();
|
}
|
});
|
});
|
}
|
|
public void InitInfraredView ()
|
{
|
brandFlipView.Visible = true;
|
brandView.RemoveAll ();
|
for (int i = (pageIndex - 1) * 100; i < pageIndex * 100; i++) {
|
if (i >= infraredDataList.Length)
|
break;
|
if (infraredDataList [i] == null)
|
continue;
|
RowLayout flEquipmentView = new RowLayout () {
|
Height = Application.GetRealHeight (90)
|
};
|
brandView.AddChidren (flEquipmentView);
|
string infraredName = btnBrandData_Tag.ToString ().Split ('_') [nameNum] + " " + (i + 1).ToString ();
|
|
string modelData = btnBrandData_Tag.ToString ();
|
if (modelData.Split (',') [i + 1].Contains ("%")) {
|
infraredName = modelData.Split (',') [i + 1].Replace ('%', ';').Trim ();
|
}
|
Button btnInfraredCode = new Button () {
|
Width = Application.GetRealWidth (400),
|
X = Application.GetRealWidth (50),
|
TextAlignment = TextAlignment.CenterLeft,
|
Text = infraredName,
|
Tag = i,//红外码
|
TextColor = SkinStyle.Current.TextColor1
|
//Tag = infraredDataList [i],//红外码
|
};
|
flEquipmentView.AddChidren (btnInfraredCode);
|
btnInfraredCode.MouseUpEventHandler += (sender, e) => {
|
if (btnInfraredCode.Text.Length > 10) {
|
new Alert ("", infraredName, Language.StringByID (R.MyInternationalizationString.Close)).Show ();
|
}
|
};
|
|
Button btnText = new Button () {
|
Width = Application.GetRealWidth (140),
|
Height = Application.GetRealHeight (80),
|
TextID = R.MyInternationalizationString.Test,
|
X = btnInfraredCode.Right + Application.GetRealWidth (10),
|
Gravity = Gravity.CenterVertical,
|
BackgroundColor = SkinStyle.Current.ButtonColor,
|
Radius = 5,
|
BorderColor = SkinStyle.Current.Transparent,
|
BorderWidth = 0,
|
TextColor = SkinStyle.Current.TextColor1,
|
};
|
flEquipmentView.AddChidren (btnText);
|
//测试按钮
|
btnText.MouseUpEventHandler += (sender3, e3) => {
|
Application.RunOnMainThread (() => {
|
MainPage.Loading.Start ();
|
});
|
System.Threading.Tasks.Task.Run (() => {
|
infraredDataIndex = Convert.ToInt32 (btnInfraredCode.Tag);
|
string infraredString = infraredDataList [infraredDataIndex];
|
string iCode = infraredString.Split ('_') [2];
|
//红外码
|
string [] byteICode = iCode.Substring (0, iCode.IndexOf ("}")).Replace ("{", "").Trim ().Split (',');
|
|
byte hByte = Convert.ToByte (Convert.ToInt32 (infraredString.Split ('_') [1].Trim ()) / 256);
|
byte lByte = Convert.ToByte (Convert.ToInt32 (infraredString.Split ('_') [1].Trim ()) % 256);
|
byte InfraredTypeCode = Convert.ToByte (infraredString.Split ('_') [0]);
|
|
updateInfraredBytes [0] = TestByteIndex;//测试的红外码存放区域
|
updateInfraredBytes [1] = 0;
|
updateInfraredBytes [2] = Convert.ToByte ((int)InfraredTypeCode - 1);//设备码
|
updateInfraredBytes [3] = hByte;//组码
|
updateInfraredBytes [4] = lByte;//组码
|
updateInfraredBytes [5] = Convert.ToByte (byteICode.Length);//红外数据总长度 (1byte)
|
var resule = UpdataInfrared (updateInfraredBytes, byteICode);
|
Application.RunOnMainThread (() => {
|
btnBrandName.Text = btnInfraredCode.Text;
|
MainPage.Loading.Hide ();
|
if (!resule) {
|
new Alert (Language.StringByID (R.MyInternationalizationString.Tip), Language.StringByID (R.MyInternationalizationString.TipEquipmentNotOnline), Language.StringByID (R.MyInternationalizationString.Close)).Show ();
|
return;
|
}
|
Dialog dialog = new Dialog () {
|
Width = Application.GetRealWidth (520),
|
Height = Application.GetRealHeight (850 + 90),
|
};
|
FrameLayout dialogBodyView = new FrameLayout () {
|
BackgroundColor = SkinStyle.Current.MainColor,
|
};
|
dialog.AddChidren (dialogBodyView);
|
#region top View
|
FrameLayout topView = new FrameLayout () {
|
Height = Application.GetRealHeight (80),
|
BackgroundColor = SkinStyle.Current.ViewColor
|
};
|
dialogBodyView.AddChidren (topView);
|
|
Button btnInfraredName_Dialog = new Button () {
|
Text = infraredName,
|
Enable = false,
|
TextAlignment = TextAlignment.Center,
|
};
|
topView.AddChidren (btnInfraredName_Dialog);
|
#endregion
|
#region ---channelView---
|
FrameLayout channelView = new FrameLayout () {
|
Height = Application.GetRealHeight (90),
|
Y = topView.Bottom,
|
};
|
dialogBodyView.AddChidren (channelView);
|
|
Button btnChannelText = new Button () {
|
X = Application.GetRealWidth (50),
|
Width = Application.GetRealWidth (130),
|
TextColor = SkinStyle.Current.TextColor1,
|
TextID = R.MyInternationalizationString.Port
|
};
|
channelView.AddChidren (btnChannelText);
|
|
EditText etPort = new EditText () {
|
X = btnChannelText.Right,
|
Y = Application.GetRealHeight (20),
|
Width = Application.GetRealWidth (210),
|
Height = Application.GetRealHeight (50),
|
Text = infraredBase.Port,
|
TextAlignment = TextAlignment.CenterLeft,
|
Enable = false,
|
TextColor = SkinStyle.Current.TextColor1
|
};
|
channelView.AddChidren (etPort);
|
Button btnSavePort = new Button () {
|
X = etPort.Right,
|
Y = etPort.Y - Application.GetRealHeight (20),
|
Height = Application.GetRealHeight (90),
|
Width = Application.GetRealWidth (70),
|
UnSelectedImagePath = "Item/Editor.png",
|
SelectedImagePath = "Item/EditorSelected.png",
|
};
|
if (InfraredTypeCode != 6)
|
channelView.AddChidren (btnSavePort);
|
else {
|
etPort.Text = infraredBase.LoopID.ToString ();
|
}
|
btnSavePort.MouseUpEventHandler += (sender, e) => {
|
try {
|
if (etPort.IsSelected) {
|
btnSavePort.IsSelected = false;
|
etPort.Enable = false;
|
etPort.IsSelected = false;
|
etPort.BackgroundColor = SkinStyle.Current.Transparent;
|
var portss = 1;
|
if (int.TryParse (etPort.Text, out portss)) {
|
infraredBase.Port = etPort.Text.Trim ();
|
IO.FileUtils.SaveEquipmentMessage (infraredBase, infraredBase.LoopID.ToString ());
|
} else
|
throw new Exception ();
|
} else {
|
btnSavePort.IsSelected = true;
|
etPort.Enable = true;
|
etPort.IsSelected = true;
|
etPort.BackgroundColor = SkinStyle.Current.ViewColor;
|
}
|
} catch {
|
new Alert (Language.StringByID (R.MyInternationalizationString.Tip), Language.StringByID (R.MyInternationalizationString.PleaseEnterTheCorrectData),
|
Language.StringByID (R.MyInternationalizationString.Close)).Show ();
|
return;
|
}
|
};
|
#endregion
|
|
|
if (InfraredTypeCode == 1)//投影仪
|
{
|
}
|
if (InfraredTypeCode == 3 || InfraredTypeCode == 5) {
|
Random ran = new Random ();
|
Button btnSwitch = new Button () {
|
Width = Application.GetRealWidth (150),
|
Height = Application.GetRealHeight (55),
|
X = Application.GetRealWidth (25),
|
Y = channelView.Bottom + Application.GetRealHeight (20),
|
Radius = 5,
|
BackgroundColor = SkinStyle.Current.ViewColor,
|
SelectedBackgroundColor = SkinStyle.Current.SelectedColor,
|
TextID = R.MyInternationalizationString.Power
|
};
|
dialog.AddChidren (btnSwitch);
|
btnSwitch.MouseDownEventHandler += (sender, e) => {
|
btnSwitch.IsSelected = true;
|
if (btnTextButton != null)
|
btnTextButton.IsSelected = false;
|
btnTextButton = ((Button)sender);
|
};
|
|
Button btnChannelUp = new Button () {
|
Width = Application.GetRealWidth (150),
|
Height = Application.GetRealHeight (55),
|
X = btnSwitch.Right + Application.GetRealWidth (10),
|
Y = btnSwitch.Y,
|
Radius = 5,
|
BackgroundColor = SkinStyle.Current.ViewColor,
|
SelectedBackgroundColor = SkinStyle.Current.SelectedColor,
|
TextID = R.MyInternationalizationString.ChannelUp
|
};
|
dialog.AddChidren (btnChannelUp);
|
btnChannelUp.MouseDownEventHandler += (sender, e) => {
|
btnChannelUp.IsSelected = true;
|
if (btnTextButton != null)
|
btnTextButton.IsSelected = false;
|
btnTextButton = ((Button)sender);
|
};
|
|
Button btnChannelDown = new Button () {
|
Width = Application.GetRealWidth (150),
|
Height = Application.GetRealHeight (55),
|
X = btnChannelUp.Right + Application.GetRealWidth (10),
|
Y = btnChannelUp.Y,
|
Radius = 5,
|
BackgroundColor = SkinStyle.Current.ViewColor,
|
SelectedBackgroundColor = SkinStyle.Current.SelectedColor,
|
TextID = R.MyInternationalizationString.ChannelDown
|
};
|
dialog.AddChidren (btnChannelDown);
|
btnChannelDown.MouseDownEventHandler += (sender, e) => {
|
btnChannelDown.IsSelected = true;
|
if (btnTextButton != null)
|
btnTextButton.IsSelected = false;
|
btnTextButton = ((Button)sender);
|
};
|
|
Button btnMute = new Button {
|
Width = Application.GetRealWidth (150),
|
Height = Application.GetRealHeight (55),
|
X = Application.GetRealWidth (25),
|
Y = btnSwitch.Bottom + Application.GetRealHeight (20),
|
Radius = 5,
|
BackgroundColor = SkinStyle.Current.ViewColor,
|
SelectedBackgroundColor = SkinStyle.Current.SelectedColor,
|
TextID = R.MyInternationalizationString.Menu
|
};
|
dialog.AddChidren (btnMute);
|
btnMute.MouseDownEventHandler += (sender, e) => {
|
btnMute.IsSelected = true;
|
if (btnTextButton != null)
|
btnTextButton.IsSelected = false;
|
btnTextButton = ((Button)sender);
|
};
|
|
Button btnVolumeUp = new Button () {
|
Width = Application.GetRealWidth (150),
|
Height = Application.GetRealHeight (55),
|
X = btnMute.Right + Application.GetRealWidth (10),
|
Y = btnSwitch.Bottom + Application.GetRealHeight (20),
|
Radius = 5,
|
BackgroundColor = SkinStyle.Current.ViewColor,
|
SelectedBackgroundColor = SkinStyle.Current.SelectedColor,
|
TextID = R.MyInternationalizationString.VolumeUp,
|
};
|
dialog.AddChidren (btnVolumeUp);
|
btnVolumeUp.MouseDownEventHandler += (sender, e) => {
|
btnVolumeUp.IsSelected = true;
|
if (btnTextButton != null)
|
btnTextButton.IsSelected = false;
|
btnTextButton = ((Button)sender);
|
};
|
|
Button btnVolumeDown = new Button () {
|
Width = Application.GetRealWidth (150),
|
Height = Application.GetRealHeight (55),
|
X = btnVolumeUp.Right + Application.GetRealWidth (10),
|
Y = btnVolumeUp.Y,
|
Radius = 5,
|
BackgroundColor = SkinStyle.Current.ViewColor,
|
SelectedBackgroundColor = SkinStyle.Current.SelectedColor,
|
TextID = R.MyInternationalizationString.VolumeDown,
|
};
|
dialog.AddChidren (btnVolumeDown);
|
btnVolumeDown.MouseDownEventHandler += (sender, e) => {
|
btnVolumeDown.IsSelected = true;
|
if (btnTextButton != null)
|
btnTextButton.IsSelected = false;
|
btnTextButton = ((Button)sender);
|
};
|
Button btn1 = new Button () {
|
X = Application.GetRealWidth (30),
|
Y = btnMute.Bottom + Application.GetRealHeight (30),
|
Width = Application.GetRealWidth (104),
|
Height = Application.GetRealHeight (90),
|
UnSelectedImagePath = "TV/TV2_1.png",
|
SelectedImagePath = "TV/TV2_1_on.png",
|
};
|
dialog.AddChidren (btn1);
|
btn1.MouseDownEventHandler += (sender, e) => {
|
btn1.IsSelected = true;
|
if (btnTextButton != null)
|
btnTextButton.IsSelected = false;
|
btnTextButton = ((Button)sender);
|
};
|
Button btn2 = new Button () {
|
X = btn1.Right + Application.GetRealWidth (15),
|
Y = btn1.Y,
|
Width = Application.GetRealWidth (104),
|
Height = Application.GetRealHeight (90),
|
UnSelectedImagePath = "TV/TV2_2.png",
|
SelectedImagePath = "TV/TV2_2_on.png",
|
};
|
dialog.AddChidren (btn2);
|
btn2.MouseDownEventHandler += (sender, e) => {
|
btn2.IsSelected = true;
|
if (btnTextButton != null)
|
btnTextButton.IsSelected = false;
|
btnTextButton = ((Button)sender);
|
};
|
Button btn3 = new Button () {
|
X = btn2.Right + Application.GetRealWidth (15),
|
Y = btn2.Y,
|
Width = Application.GetRealWidth (104),
|
Height = Application.GetRealHeight (90),
|
UnSelectedImagePath = "TV/TV2_3.png",
|
SelectedImagePath = "TV/TV2_3_on.png",
|
};
|
dialog.AddChidren (btn3);
|
btn3.MouseDownEventHandler += (sender, e) => {
|
btn3.IsSelected = true;
|
if (btnTextButton != null)
|
btnTextButton.IsSelected = false;
|
btnTextButton = ((Button)sender);
|
};
|
|
Button btn4 = new Button () {
|
X = btn3.Right + Application.GetRealWidth (15),
|
Y = btn3.Y,
|
Width = Application.GetRealWidth (104),
|
Height = Application.GetRealHeight (90),
|
UnSelectedImagePath = "TV/TV2_4.png",
|
SelectedImagePath = "TV/TV2_4_on.png",
|
};
|
dialog.AddChidren (btn4);
|
btn4.MouseDownEventHandler += (sender, e) => {
|
btn4.IsSelected = true;
|
if (btnTextButton != null)
|
btnTextButton.IsSelected = false;
|
btnTextButton = ((Button)sender);
|
};
|
Button btn5 = new Button () {
|
X = btn1.X,
|
Y = btn1.Bottom + Application.GetRealHeight (20),
|
Width = Application.GetRealWidth (104),
|
Height = Application.GetRealHeight (90),
|
UnSelectedImagePath = "TV/TV2_5.png",
|
SelectedImagePath = "TV/TV2_5_on.png",
|
};
|
dialog.AddChidren (btn5);
|
btn5.MouseDownEventHandler += (sender, e) => {
|
btn5.IsSelected = true;
|
if (btnTextButton != null)
|
btnTextButton.IsSelected = false;
|
btnTextButton = ((Button)sender);
|
};
|
|
Button btn6 = new Button () {
|
X = btn5.Right + Application.GetRealWidth (15),
|
Y = btn5.Y,
|
Width = Application.GetRealWidth (104),
|
Height = Application.GetRealHeight (90),
|
UnSelectedImagePath = "TV/TV2_6.png",
|
SelectedImagePath = "TV/TV2_6_on.png",
|
};
|
dialog.AddChidren (btn6);
|
btn6.MouseDownEventHandler += (sender, e) => {
|
btn6.IsSelected = true;
|
if (btnTextButton != null)
|
btnTextButton.IsSelected = false;
|
btnTextButton = ((Button)sender);
|
};
|
Button btn7 = new Button () {
|
X = btn6.Right + Application.GetRealWidth (15),
|
Y = btn6.Y,
|
Width = Application.GetRealWidth (104),
|
Height = Application.GetRealHeight (90),
|
UnSelectedImagePath = "TV/TV2_7.png",
|
SelectedImagePath = "TV/TV2_7_on.png",
|
};
|
dialog.AddChidren (btn7);
|
btn7.MouseDownEventHandler += (sender, e) => {
|
btn7.IsSelected = true;
|
if (btnTextButton != null)
|
btnTextButton.IsSelected = false;
|
btnTextButton = ((Button)sender);
|
};
|
Button btn8 = new Button () {
|
X = btn7.Right + Application.GetRealWidth (15),
|
Y = btn7.Y,
|
Width = Application.GetRealWidth (104),
|
Height = Application.GetRealHeight (90),
|
UnSelectedImagePath = "TV/TV2_8.png",
|
SelectedImagePath = "TV/TV2_8_on.png",
|
};
|
dialog.AddChidren (btn8);
|
btn8.MouseDownEventHandler += (sender, e) => {
|
btn8.IsSelected = true;
|
if (btnTextButton != null)
|
btnTextButton.IsSelected = false;
|
btnTextButton = ((Button)sender);
|
};
|
Button btn9 = new Button () {
|
X = btn1.X,
|
Y = btn5.Bottom + Application.GetRealHeight (20),
|
Width = Application.GetRealWidth (104),
|
Height = Application.GetRealHeight (90),
|
UnSelectedImagePath = "TV/TV2_9.png",
|
SelectedImagePath = "TV/TV2_9_on.png",
|
};
|
dialog.AddChidren (btn9);
|
btn9.MouseDownEventHandler += (sender, e) => {
|
btn9.IsSelected = true;
|
if (btnTextButton != null)
|
btnTextButton.IsSelected = false;
|
btnTextButton = ((Button)sender);
|
};
|
Button btn0 = new Button () {
|
X = btn9.Right + Application.GetRealWidth (15),
|
Y = btn9.Y,
|
Width = Application.GetRealWidth (100),
|
Height = Application.GetRealHeight (90),
|
UnSelectedImagePath = "TV/TVNum0.png",
|
SelectedImagePath = "TV/TVNum0_on.png",
|
};
|
dialog.AddChidren (btn0);
|
btn0.MouseDownEventHandler += (sender, e) => {
|
btn0.IsSelected = true;
|
if (btnTextButton != null)
|
btnTextButton.IsSelected = false;
|
btnTextButton = ((Button)sender);
|
};
|
Button btnOK = new Button () {
|
X = btn0.Right + Application.GetRealWidth (35),
|
Y = btn0.Y,
|
Width = Application.GetRealWidth (190),
|
Height = Application.GetRealHeight (90),
|
UnSelectedImagePath = "TV/TV2_OK.png",
|
SelectedImagePath = "TV/TV2_OK_on.png",
|
};
|
dialog.AddChidren (btnOK);
|
btnOK.MouseDownEventHandler += (sender, e) => {
|
btnOK.IsSelected = true;
|
if (btnTextButton != null)
|
btnTextButton.IsSelected = false;
|
btnTextButton = ((Button)sender);
|
};
|
dialogBodyView.AddChidren (new Button () { Height = 1, BackgroundColor = 0xFF2f2f2f, Y = Application.GetRealHeight (850 - 90 - 90) - 1 });
|
|
if (InfraredTypeCode == 3) //机顶盒
|
{
|
infraredBase.InfraredType = InfraredType.STB;
|
|
btnSwitch.MouseUpEventHandler += (sender4, e4) => {
|
int RandKey = ran.Next (0, 255);
|
textByte = (byte)InfraredCode_STB.Standby;
|
Control.ControlBytesSend (Command.InfraredControl, infraredBase.SubnetID, infraredBase.DeviceID, new byte [] { Convert.ToByte (infraredBase.Port), TestByteIndex, textByte, 0, 0, (byte)RandKey });//, 0, Convert.ToByte (RandKey) });
|
};
|
btnChannelUp.MouseUpEventHandler += (sender4, e4) => {
|
int RandKey = ran.Next (0, 255);
|
textByte = (byte)InfraredCode_STB.ChannelUp;
|
Control.ControlBytesSend (Command.InfraredControl, infraredBase.SubnetID, infraredBase.DeviceID, new byte [] { Convert.ToByte (infraredBase.Port), TestByteIndex, textByte, 0, 0, Convert.ToByte (RandKey) });
|
};
|
btnChannelDown.MouseUpEventHandler += (sender4, e4) => {
|
int RandKey = ran.Next (0, 255);
|
textByte = (byte)InfraredCode_STB.ChannelDown;
|
Control.ControlBytesSend (Command.InfraredControl, infraredBase.SubnetID, infraredBase.DeviceID,
|
new byte [] { Convert.ToByte (infraredBase.Port), TestByteIndex, textByte, 0, 0, Convert.ToByte (RandKey) });
|
};
|
|
btnMute.MouseUpEventHandler += (sender4, e4) => {
|
int RandKey = ran.Next (0, 255);
|
textByte = (byte)InfraredCode_STB.Menu;
|
Control.ControlBytesSend (Command.InfraredControl, infraredBase.SubnetID, infraredBase.DeviceID,
|
new byte [] { Convert.ToByte (infraredBase.Port), TestByteIndex, textByte, 0, 0, Convert.ToByte (RandKey) });
|
};
|
btnVolumeUp.MouseUpEventHandler += (sender4, e4) => {
|
int RandKey = ran.Next (0, 255);
|
textByte = (byte)InfraredCode_STB.VolUp;
|
Control.ControlBytesSend (Command.InfraredControl, infraredBase.SubnetID, infraredBase.DeviceID,
|
new byte [] { Convert.ToByte (infraredBase.Port), TestByteIndex, textByte, 0, 0, Convert.ToByte (RandKey) });
|
};
|
|
btnVolumeDown.MouseUpEventHandler += (sender4, e4) => {
|
int RandKey = ran.Next (0, 255);
|
textByte = (byte)InfraredCode_STB.VolDown;
|
Control.ControlBytesSend (Command.InfraredControl, infraredBase.SubnetID, infraredBase.DeviceID,
|
new byte [] { Convert.ToByte (infraredBase.Port), TestByteIndex, textByte, 0, 0, Convert.ToByte (RandKey) });
|
};
|
|
#region ---数字---
|
btn1.MouseUpEventHandler += (sender, e) => {
|
int RandKey = ran.Next (0, 255);
|
textByte = (byte)InfraredCode_STB.One;
|
Control.ControlBytesSend (Command.InfraredControl, infraredBase.SubnetID, infraredBase.DeviceID,
|
new byte [] { Convert.ToByte (infraredBase.Port), TestByteIndex, textByte, 0, 0, Convert.ToByte (RandKey) });
|
};
|
|
btn2.MouseUpEventHandler += (sender, e) => {
|
int RandKey = ran.Next (0, 255);
|
textByte = (byte)InfraredCode_STB.Two;
|
Control.ControlBytesSend (Command.InfraredControl, infraredBase.SubnetID, infraredBase.DeviceID,
|
new byte [] { Convert.ToByte (infraredBase.Port), TestByteIndex, textByte, 0, 0, Convert.ToByte (RandKey) });
|
};
|
btn3.MouseUpEventHandler += (sender, e) => {
|
int RandKey = ran.Next (0, 255);
|
textByte = (byte)InfraredCode_STB.Three;
|
Control.ControlBytesSend (Command.InfraredControl, infraredBase.SubnetID, infraredBase.DeviceID,
|
new byte [] { Convert.ToByte (infraredBase.Port), TestByteIndex, textByte, 0, 0, Convert.ToByte (RandKey) });
|
};
|
btn4.MouseUpEventHandler += (sender, e) => {
|
int RandKey = ran.Next (0, 255);
|
textByte = (byte)InfraredCode_STB.Four;
|
Control.ControlBytesSend (Command.InfraredControl, infraredBase.SubnetID, infraredBase.DeviceID,
|
new byte [] { Convert.ToByte (infraredBase.Port), TestByteIndex, textByte, 0, 0, Convert.ToByte (RandKey) });
|
};
|
|
btn5.MouseUpEventHandler += (sender, e) => {
|
int RandKey = ran.Next (0, 255);
|
textByte = (byte)InfraredCode_STB.Five;
|
Control.ControlBytesSend (Command.InfraredControl, infraredBase.SubnetID, infraredBase.DeviceID,
|
new byte [] { Convert.ToByte (infraredBase.Port), TestByteIndex, textByte, 0, 0, Convert.ToByte (RandKey) });
|
};
|
btn6.MouseUpEventHandler += (sender, e) => {
|
int RandKey = ran.Next (0, 255);
|
textByte = (byte)InfraredCode_STB.Six;
|
Control.ControlBytesSend (Command.InfraredControl, infraredBase.SubnetID, infraredBase.DeviceID,
|
new byte [] { Convert.ToByte (infraredBase.Port), TestByteIndex, textByte, 0, 0, Convert.ToByte (RandKey) });
|
};
|
btn7.MouseUpEventHandler += (sender, e) => {
|
int RandKey = ran.Next (0, 255);
|
textByte = (byte)InfraredCode_STB.Seven;
|
Control.ControlBytesSend (Command.InfraredControl, infraredBase.SubnetID, infraredBase.DeviceID,
|
new byte [] { Convert.ToByte (infraredBase.Port), TestByteIndex, textByte, 0, 0, Convert.ToByte (RandKey) });
|
};
|
btn8.MouseUpEventHandler += (sender, e) => {
|
int RandKey = ran.Next (0, 255);
|
textByte = (byte)InfraredCode_STB.Eight;
|
Control.ControlBytesSend (Command.InfraredControl, infraredBase.SubnetID, infraredBase.DeviceID,
|
new byte [] { Convert.ToByte (infraredBase.Port), TestByteIndex, textByte, 0, 0, Convert.ToByte (RandKey) });
|
};
|
btn9.MouseUpEventHandler += (sender, e) => {
|
int RandKey = ran.Next (0, 255);
|
textByte = (byte)InfraredCode_STB.Nine;
|
Control.ControlBytesSend (Command.InfraredControl, infraredBase.SubnetID, infraredBase.DeviceID,
|
new byte [] { Convert.ToByte (infraredBase.Port), TestByteIndex, textByte, 0, 0, Convert.ToByte (RandKey) });
|
};
|
btn0.MouseUpEventHandler += (sender, e) => {
|
int RandKey = ran.Next (0, 255);
|
textByte = (byte)InfraredCode_STB.Zero;
|
Control.ControlBytesSend (Command.InfraredControl, infraredBase.SubnetID, infraredBase.DeviceID,
|
new byte [] { Convert.ToByte (infraredBase.Port), TestByteIndex, textByte, 0, 0, Convert.ToByte (RandKey) });
|
};
|
btnOK.MouseUpEventHandler += (sender, e) => {
|
int RandKey = ran.Next (0, 255);
|
textByte = (byte)InfraredCode_STB.Confrim;
|
Control.ControlBytesSend (Command.InfraredControl, infraredBase.SubnetID, infraredBase.DeviceID,
|
new byte [] { Convert.ToByte (infraredBase.Port), TestByteIndex, textByte, 0, 0, Convert.ToByte (RandKey) });
|
};
|
#endregion
|
}
|
if (InfraredTypeCode == 5) //电视
|
{
|
infraredBase.InfraredType = InfraredType.TV;
|
|
btnSwitch.MouseUpEventHandler += (sender4, e4) => {
|
int RandKey = ran.Next (0, 255);
|
textByte = (byte)InfraredCode_TV.Power;
|
Control.ControlBytesSend (Command.InfraredControl, infraredBase.SubnetID, infraredBase.DeviceID, new byte [] { Convert.ToByte (infraredBase.Port), TestByteIndex, textByte, 0, 0, (byte)RandKey });//, 0, Convert.ToByte (RandKey) });
|
};
|
btnMute.TextID = R.MyInternationalizationString.Mute;
|
|
btnMute.MouseUpEventHandler += (sender4, e4) => {
|
int RandKey = ran.Next (0, 255);
|
textByte = (byte)InfraredCode_TV.Mute;
|
Control.ControlBytesSend (Command.InfraredControl, infraredBase.SubnetID, infraredBase.DeviceID, new byte [] { Convert.ToByte (infraredBase.Port), TestByteIndex, textByte, 0, 0, (byte)RandKey });//, 0, Convert.ToByte (RandKey) });
|
};
|
btnChannelUp.MouseUpEventHandler += (sender4, e4) => {
|
int RandKey = ran.Next (0, 255);
|
Control.ControlBytesSend (Command.InfraredControl, infraredBase.SubnetID, infraredBase.DeviceID, new byte [] { Convert.ToByte (infraredBase.Port), TestByteIndex, (byte)InfraredCode_TV.ChannelUp, 0, 0, Convert.ToByte (RandKey) });
|
};
|
btnChannelDown.MouseUpEventHandler += (sender4, e4) => {
|
int RandKey = ran.Next (0, 255);
|
textByte = (byte)InfraredCode_TV.ChannelDown;
|
Control.ControlBytesSend (Command.InfraredControl, infraredBase.SubnetID, infraredBase.DeviceID, new byte [] { Convert.ToByte (infraredBase.Port), TestByteIndex, textByte, 0, 0, (byte)RandKey });//, 0, Convert.ToByte (RandKey) });
|
};
|
|
|
btnVolumeUp.MouseUpEventHandler += (sender4, e4) => {
|
int RandKey = ran.Next (0, 255);
|
textByte = (byte)InfraredCode_TV.VolUp;
|
Control.ControlBytesSend (Command.InfraredControl, infraredBase.SubnetID, infraredBase.DeviceID, new byte [] { Convert.ToByte (infraredBase.Port), TestByteIndex, textByte, 0, 0, (byte)RandKey });//, 0, Convert.ToByte (RandKey) });
|
};
|
btnVolumeDown.MouseUpEventHandler += (sender4, e4) => {
|
int RandKey = ran.Next (0, 255);
|
textByte = (byte)InfraredCode_TV.VolDown;
|
Control.ControlBytesSend (Command.InfraredControl, infraredBase.SubnetID, infraredBase.DeviceID, new byte [] { Convert.ToByte (infraredBase.Port), TestByteIndex, textByte, 0, 0, (byte)RandKey });//, 0, Convert.ToByte (RandKey) });
|
};
|
#region ---数字---
|
btn1.MouseUpEventHandler += (sender, e) => {
|
int RandKey = ran.Next (0, 255);
|
textByte = (byte)InfraredCode_TV.One;
|
Control.ControlBytesSend (Command.InfraredControl, infraredBase.SubnetID, infraredBase.DeviceID, new byte [] { Convert.ToByte (infraredBase.Port), TestByteIndex, textByte, 0, 0, (byte)RandKey });//, 0, Convert.ToByte (RandKey) });
|
};
|
btn2.MouseUpEventHandler += (sender, e) => {
|
int RandKey = ran.Next (0, 255);
|
textByte = (byte)InfraredCode_TV.Two;
|
Control.ControlBytesSend (Command.InfraredControl, infraredBase.SubnetID, infraredBase.DeviceID, new byte [] { Convert.ToByte (infraredBase.Port), TestByteIndex, textByte, 0, 0, (byte)RandKey });//, 0, Convert.ToByte (RandKey) });
|
};
|
|
btn3.MouseUpEventHandler += (sender, e) => {
|
int RandKey = ran.Next (0, 255);
|
textByte = (byte)InfraredCode_TV.Three;
|
Control.ControlBytesSend (Command.InfraredControl, infraredBase.SubnetID, infraredBase.DeviceID, new byte [] { Convert.ToByte (infraredBase.Port), TestByteIndex, textByte, 0, 0, (byte)RandKey });//, 0, Convert.ToByte (RandKey) });
|
};
|
btn4.MouseUpEventHandler += (sender, e) => {
|
int RandKey = ran.Next (0, 255);
|
textByte = (byte)InfraredCode_TV.Four;
|
Control.ControlBytesSend (Command.InfraredControl, infraredBase.SubnetID, infraredBase.DeviceID, new byte [] { Convert.ToByte (infraredBase.Port), TestByteIndex, textByte, 0, 0, (byte)RandKey });//, 0, Convert.ToByte (RandKey) });
|
};
|
btn5.MouseUpEventHandler += (sender, e) => {
|
int RandKey = ran.Next (0, 255);
|
textByte = (byte)InfraredCode_TV.Five;
|
Control.ControlBytesSend (Command.InfraredControl, infraredBase.SubnetID, infraredBase.DeviceID, new byte [] { Convert.ToByte (infraredBase.Port), TestByteIndex, textByte, 0, 0, (byte)RandKey });//, 0, Convert.ToByte (RandKey) });
|
};
|
btn6.MouseUpEventHandler += (sender, e) => {
|
int RandKey = ran.Next (0, 255);
|
textByte = (byte)InfraredCode_TV.Six;
|
Control.ControlBytesSend (Command.InfraredControl, infraredBase.SubnetID, infraredBase.DeviceID, new byte [] { Convert.ToByte (infraredBase.Port), TestByteIndex, textByte, 0, 0, (byte)RandKey });//, 0, Convert.ToByte (RandKey) });
|
};
|
btn7.MouseUpEventHandler += (sender, e) => {
|
int RandKey = ran.Next (0, 255);
|
textByte = (byte)InfraredCode_TV.Seven;
|
Control.ControlBytesSend (Command.InfraredControl, infraredBase.SubnetID, infraredBase.DeviceID, new byte [] { Convert.ToByte (infraredBase.Port), TestByteIndex, textByte, 0, 0, (byte)RandKey });//, 0, Convert.ToByte (RandKey) });
|
};
|
btn8.MouseUpEventHandler += (sender, e) => {
|
int RandKey = ran.Next (0, 255);
|
textByte = (byte)InfraredCode_TV.Eight;
|
Control.ControlBytesSend (Command.InfraredControl, infraredBase.SubnetID, infraredBase.DeviceID, new byte [] { Convert.ToByte (infraredBase.Port), TestByteIndex, textByte, 0, 0, (byte)RandKey });//, 0, Convert.ToByte (RandKey) });
|
};
|
btn9.MouseUpEventHandler += (sender, e) => {
|
int RandKey = ran.Next (0, 255);
|
textByte = (byte)InfraredCode_TV.Nine;
|
Control.ControlBytesSend (Command.InfraredControl, infraredBase.SubnetID, infraredBase.DeviceID, new byte [] { Convert.ToByte (infraredBase.Port), TestByteIndex, textByte, 0, 0, (byte)RandKey });//, 0, Convert.ToByte (RandKey) });
|
};
|
btn0.MouseUpEventHandler += (sender, e) => {
|
int RandKey = ran.Next (0, 255);
|
textByte = (byte)InfraredCode_TV.Zero;
|
Control.ControlBytesSend (Command.InfraredControl, infraredBase.SubnetID, infraredBase.DeviceID, new byte [] { Convert.ToByte (infraredBase.Port), TestByteIndex, textByte, 0, 0, (byte)RandKey });//, 0, Convert.ToByte (RandKey) });
|
};
|
btnOK.MouseUpEventHandler += (sender, e) => {
|
int RandKey = ran.Next (0, 255);
|
textByte = (byte)InfraredCode_TV.Confrim;
|
Control.ControlBytesSend (Command.InfraredControl, infraredBase.SubnetID, infraredBase.DeviceID, new byte [] { Convert.ToByte (infraredBase.Port), TestByteIndex, textByte, 0, 0, (byte)RandKey });//, 0, Convert.ToByte (RandKey) });
|
};
|
#endregion
|
}
|
}
|
if (InfraredTypeCode == 6)//空调
|
{
|
|
///129回路号,193A 指令回路号在1-128之间,这里是测试所以用129
|
///1:表示开,0关(之前的0是无用字节) index[8]
|
///模式0制冷 1制热,2通风 3自动 4抽湿 index[9]
|
///风速0自动 1高峰 2中风 3低风 i
|
///扫风开关 0关 1开 index[12]
|
byte [] acHostBytes = new byte [] { 129, 0, 0, 16, 16, 16, 16, 16, 0, 0, 0, 16, 0 };
|
byte temperature = 16;
|
|
Button btnSwitch = new Button () {
|
Width = Application.GetRealWidth (61),
|
Height = Application.GetRealHeight (64),
|
X = Application.GetRealWidth (440),
|
Y = Application.GetRealHeight (5),
|
UnSelectedImagePath = "AC/ACDialogSwitch.png",
|
SelectedImagePath = "AC/ACDialogSwitchOn.png",
|
};
|
topView.AddChidren (btnSwitch);
|
btnSwitch.MouseUpEventHandler += (sender, e) => {
|
if (acHostBytes [8] == 0) {
|
acHostBytes [8] = 1;
|
btnSwitch.IsSelected = true;
|
} else {
|
acHostBytes [8] = 0;
|
btnSwitch.IsSelected = false;
|
}
|
System.Threading.Tasks.Task.Run (() => {
|
Control.ControlBytesSend (Command.SetACMode, infraredBase.SubnetID, infraredBase.DeviceID, acHostBytes);
|
});
|
};
|
|
|
#region ---temperatureView---
|
FrameLayout temperatureView = new FrameLayout () {
|
Height = Application.GetRealHeight (135),
|
Y = channelView.Bottom,
|
};
|
dialogBodyView.AddChidren (temperatureView);
|
|
Button btnMin1 = new Button () {
|
Height = 1,
|
Y = 1,
|
BackgroundColor = 0xFF2f2f2f,
|
};
|
temperatureView.AddChidren (btnMin1);
|
|
Button btnMin2 = new Button () {
|
Height = 1,
|
Y = temperatureView.Height - 1,
|
BackgroundColor = 0xFF2f2f2f,
|
};
|
temperatureView.AddChidren (btnMin2);
|
|
Button btnReduceTemperature = new Button () {
|
Width = Application.GetMinRealAverage (129),
|
Height = Application.GetMinRealAverage (129),
|
X = Application.GetRealWidth (30),
|
Gravity = Gravity.CenterVertical,
|
UnSelectedImagePath = "AC/ACDialog-.png",
|
SelectedImagePath = "AC/ACDialog-On.png",
|
};
|
temperatureView.AddChidren (btnReduceTemperature);
|
|
Button btnSetTemperature = new Button () {
|
Width = Application.GetRealWidth (194),
|
Height = Application.GetRealHeight (94),
|
Gravity = Gravity.CenterHorizontal,
|
Y = btnReduceTemperature.Y,
|
Text = "16°",
|
TextSize = 24,
|
TextAlignment = TextAlignment.Center,
|
Enable = false,
|
};
|
temperatureView.AddChidren (btnSetTemperature);
|
|
Button btnAddTemperature = new Button () {
|
Width = Application.GetMinRealAverage (129),
|
Height = Application.GetMinRealAverage (129),
|
X = Application.GetRealWidth (520 - 129 - 30),
|
Gravity = Gravity.CenterVertical,
|
UnSelectedImagePath = "AC/ACDialog+.png",
|
SelectedImagePath = "AC/ACDialog+On.png",
|
};
|
temperatureView.AddChidren (btnAddTemperature);
|
btnReduceTemperature.MouseDownEventHandler += (sender, e) => {
|
btnReduceTemperature.IsSelected = true;
|
};
|
btnReduceTemperature.MouseUpEventHandler += (sender, e) => {
|
btnReduceTemperature.IsSelected = false;
|
if (temperature > 16) {
|
temperature--;
|
btnSetTemperature.Text = temperature.ToString () + "°";
|
acHostBytes [11] = temperature;
|
Control.ControlBytesSend (Command.SetACMode, infraredBase.SubnetID, infraredBase.DeviceID, acHostBytes);
|
}
|
};
|
btnAddTemperature.MouseDownEventHandler += (sender, e) => {
|
btnAddTemperature.IsSelected = true;
|
};
|
btnAddTemperature.MouseUpEventHandler += (sender, e) => {
|
btnAddTemperature.IsSelected = false;
|
btnReduceTemperature.IsSelected = false;
|
if (temperature < 30) {
|
temperature++;
|
btnSetTemperature.Text = temperature.ToString () + "°";
|
acHostBytes [11] = temperature;
|
Control.ControlBytesSend (Command.SetACMode, infraredBase.SubnetID, infraredBase.DeviceID, acHostBytes);
|
}
|
};
|
#endregion
|
|
List<string> ModelList = new List<string> ();
|
List<string> WindModelList = new List<string> ();
|
if (Language.CurrentLanguage == "Chinese") {
|
ModelList.Add ("制冷");
|
ModelList.Add ("制热");
|
ModelList.Add ("通风");
|
ModelList.Add ("自动");
|
ModelList.Add ("除湿");
|
WindModelList.Add ("自动");
|
WindModelList.Add ("高风");
|
WindModelList.Add ("中风");
|
WindModelList.Add ("低风");
|
} else {
|
ModelList.Add ("Cool");
|
ModelList.Add ("Hot");
|
ModelList.Add ("Ventilae");
|
ModelList.Add ("Auto");
|
ModelList.Add ("Dehumidify");
|
WindModelList.Add ("Auto");
|
WindModelList.Add ("High");
|
WindModelList.Add ("Stroke");
|
WindModelList.Add ("Low");
|
}
|
|
|
#region 模式
|
var acModeView = new FrameLayout () {
|
Height = Application.GetRealHeight (180),
|
Width = LayoutParams.MatchParent,
|
Y = temperatureView.Bottom,
|
};
|
dialogBodyView.AddChidren (acModeView);
|
var btnLine12 = new Button () {
|
Height = 1,
|
BackgroundColor = SkinStyle.Current.MainColor,
|
Y = acModeView.Height - 1
|
};
|
acModeView.AddChidren (btnLine12);
|
|
Button btnACModeLeft = new Button () {
|
Width = Application.GetMinRealAverage (129),
|
Height = Application.GetMinRealAverage (129),
|
X = Application.GetRealWidth (30),
|
Gravity = Gravity.CenterVertical,
|
UnSelectedImagePath = "AC/ACLeft.png",
|
SelectedImagePath = "AC/ACLeft.png",
|
};
|
acModeView.AddChidren (btnACModeLeft);
|
var btnModeName = new Button () {
|
Width = Application.GetRealWidth (200),
|
Height = Application.GetRealHeight (30),
|
Gravity = Gravity.CenterHorizontal,
|
Y = Application.GetRealHeight (15),
|
TextID = R.MyInternationalizationString.UserACMode,
|
TextColor = SkinStyle.Current.ViewColor,
|
};
|
acModeView.AddChidren (btnModeName);
|
Button btnModeIcon = new Button () {
|
Width = Application.GetMinRealAverage (110),
|
Height = Application.GetMinRealAverage (112),
|
Gravity = Gravity.Center,
|
Y = btnModeName.Bottom + Application.GetRealHeight (10),
|
UnSelectedImagePath = "AC/ACRefrigeration.png",
|
};
|
acModeView.AddChidren (btnModeIcon);
|
Button btnModeText = new Button () {
|
Width = Application.GetRealWidth (200),
|
Height = Application.GetRealHeight (50),
|
Text = ModelList [0],
|
Gravity = Gravity.CenterHorizontal,
|
TextAlignment = TextAlignment.TopCenter,
|
Y = btnModeIcon.Bottom - Application.GetRealHeight (15),
|
};
|
acModeView.AddChidren (btnModeText);
|
Button btnACModeRight = new Button () {
|
Width = Application.GetMinRealAverage (129),
|
Height = Application.GetMinRealAverage (129),
|
X = Application.GetRealWidth (520 - 129 - 30),
|
Gravity = Gravity.CenterVertical,
|
UnSelectedImagePath = "AC/ACRight.png",
|
SelectedImagePath = "AC/ACRightSelected.png",
|
};
|
acModeView.AddChidren (btnACModeRight);
|
|
btnACModeRight.MouseDownEventHandler += (sender, e) => {
|
btnACModeRight.IsSelected = true;
|
};
|
btnACModeRight.MouseUpEventHandler += (sender, e) => {
|
btnACModeRight.IsSelected = false;
|
///模式0制冷 1制热,2通风 3自动 4抽湿 index[9]
|
if (++acHostBytes [9] > 4)
|
acHostBytes [9] = 0;
|
UpdataACHostModeIcon (acHostBytes [9], btnModeIcon, btnModeText, ModelList);
|
Control.ControlBytesSend (Command.SetACMode, infraredBase.SubnetID, infraredBase.DeviceID, acHostBytes);
|
};
|
btnACModeLeft.MouseDownEventHandler += (sender, e) => {
|
btnACModeLeft.IsSelected = true;
|
};
|
btnACModeLeft.MouseUpEventHandler += (sender, e) => {
|
btnACModeLeft.IsSelected = false;
|
if (acHostBytes [9] == 0)
|
acHostBytes [9] = 4;
|
else
|
acHostBytes [9]--;
|
//if (acHostBytes [9] < 0 || acHostBytes [9] > 4)
|
//acHostBytes [9] = 4;
|
|
UpdataACHostModeIcon (acHostBytes [9], btnModeIcon, btnModeText, ModelList);
|
Control.ControlBytesSend (Command.SetACMode, infraredBase.SubnetID, infraredBase.DeviceID, acHostBytes);
|
};
|
#endregion
|
#region 风速
|
var acWindView = new FrameLayout () {
|
Height = Application.GetRealHeight (180),
|
Width = LayoutParams.MatchParent,
|
Y = acModeView.Bottom,
|
};
|
dialogBodyView.AddChidren (acWindView);
|
|
Button btnACWindLeft = new Button () {
|
Width = Application.GetMinRealAverage (129),
|
Height = Application.GetMinRealAverage (129),
|
X = Application.GetRealWidth (30),
|
Gravity = Gravity.CenterVertical,
|
UnSelectedImagePath = "AC/ACLeft.png",
|
SelectedImagePath = "AC/ACLeft.png",
|
};
|
acWindView.AddChidren (btnACWindLeft);
|
var btnWindName = new Button () {
|
Width = Application.GetRealWidth (200),
|
Height = Application.GetRealHeight (30),
|
Gravity = Gravity.CenterHorizontal,
|
Y = Application.GetRealHeight (15),
|
TextID = R.MyInternationalizationString.Speed,
|
TextColor = SkinStyle.Current.ViewColor,
|
};
|
acWindView.AddChidren (btnWindName);
|
Button btnWindIcon = new Button () {
|
Width = Application.GetMinRealAverage (110),
|
Height = Application.GetMinRealAverage (112),
|
Gravity = Gravity.Center,
|
Y = btnWindName.Bottom + Application.GetRealHeight (10),
|
UnSelectedImagePath = "AC/ACAuto.png",
|
};
|
acWindView.AddChidren (btnWindIcon);
|
Button btnWindModeText = new Button () {
|
Width = Application.GetRealWidth (200),
|
Height = Application.GetRealHeight (50),
|
Text = WindModelList [0],
|
Gravity = Gravity.CenterHorizontal,
|
Y = btnWindIcon.Bottom - Application.GetRealHeight (15),
|
};
|
acWindView.AddChidren (btnWindModeText);
|
Button btnACWindRight = new Button () {
|
Width = Application.GetMinRealAverage (129),
|
Height = Application.GetMinRealAverage (129),
|
X = btnACModeRight.X,
|
Gravity = Gravity.CenterVertical,
|
UnSelectedImagePath = "AC/ACRight.png",
|
SelectedImagePath = "AC/ACRightSelected.png",
|
};
|
btnACWindLeft.MouseDownEventHandler += (sender, e) => {
|
btnACWindLeft.IsSelected = true;
|
};
|
btnACWindLeft.MouseDownEventHandler += (sender, e) => {
|
btnACWindLeft.IsSelected = true;
|
};
|
btnACWindLeft.MouseUpEventHandler += (sender, e) => {
|
btnACWindLeft.IsSelected = false;
|
if (acHostBytes [10] == 0)
|
acHostBytes [10] = 3;
|
else
|
acHostBytes [10]--;
|
//if (acHostBytes [10] < 0 || acHostBytes [10] > 3)
|
//acHostBytes [10] = 3;
|
UpdataACHostWindIcon (acHostBytes [10], btnWindIcon, btnWindModeText, WindModelList);
|
Control.ControlBytesSend (Command.SetACMode, infraredBase.SubnetID, infraredBase.DeviceID, acHostBytes);
|
};
|
acWindView.AddChidren (btnACWindRight);
|
btnACWindRight.MouseDownEventHandler += (sender, e) => {
|
btnACWindRight.IsSelected = true;
|
};
|
btnACWindRight.MouseUpEventHandler += (sender, e) => {
|
btnACWindRight.IsSelected = false;
|
if (++acHostBytes [10] > 3)
|
acHostBytes [10] = 0;
|
UpdataACHostWindIcon (acHostBytes [10], btnWindIcon, btnWindModeText, WindModelList);
|
Control.ControlBytesSend (Command.SetACMode, infraredBase.SubnetID, infraredBase.DeviceID, acHostBytes);
|
};
|
acWindView.AddChidren (new Button () { Height = 1, BackgroundColor = 0xFF2f2f2f, Y = acWindView.Height - 1 });
|
#endregion
|
|
|
}
|
|
#region ---testTime---
|
RowLayout autoTestTimeView = new RowLayout () {
|
Height = Application.GetRealHeight (90),
|
Y = Application.GetRealHeight (850 - 90 - 90),
|
};
|
dialogBodyView.AddChidren (autoTestTimeView);
|
|
Button btnAutoTestTimeLeft = new Button () {
|
Width = Application.GetRealWidth (158),
|
UnSelectedImagePath = @"AC/DialogTime-.png",
|
SelectedImagePath = @"AC/DialogTime-On.png",
|
};
|
autoTestTimeView.AddChidren (btnAutoTestTimeLeft);
|
Button btnAutoTestTime = new Button () {
|
X = btnAutoTestTimeLeft.Right,
|
Width = Application.GetRealWidth (520 - 158 - 158),
|
TextColor = SkinStyle.Current.TextColor1,
|
BorderWidth = 2,
|
BorderColor = SkinStyle.Current.Transparent,
|
Radius = 5,
|
Text = Language.StringByID (R.MyInternationalizationString.IntervalTime).Replace ("--", textTime.ToString ())
|
};
|
autoTestTimeView.AddChidren (btnAutoTestTime);
|
Button btnAutoTestTimeRight = new Button () {
|
Width = Application.GetRealWidth (158),
|
X = btnAutoTestTime.Right,
|
UnSelectedImagePath = @"AC/DialogTime+.png",
|
SelectedImagePath = @"AC/DialogTime+On.png",
|
};
|
autoTestTimeView.AddChidren (btnAutoTestTimeRight);
|
|
btnAutoTestTimeLeft.MouseDownEventHandler += (sender, e) => {
|
btnAutoTestTimeLeft.IsSelected = true;
|
};
|
btnAutoTestTimeLeft.MouseUpEventHandler += (sender, e) => {
|
btnAutoTestTimeLeft.IsSelected = false;
|
if (textTime > 1) {
|
textTime--;
|
btnAutoTestTime.Text = Language.StringByID (R.MyInternationalizationString.IntervalTime).Replace ("--", textTime.ToString ());
|
}
|
};
|
btnAutoTestTimeRight.MouseDownEventHandler += (sender, e) => {
|
btnAutoTestTimeRight.IsSelected = true;
|
};
|
btnAutoTestTimeRight.MouseUpEventHandler += (sender, e) => {
|
btnAutoTestTimeRight.IsSelected = false;
|
if (textTime < 10) {
|
textTime++;
|
btnAutoTestTime.Text = Language.StringByID (R.MyInternationalizationString.IntervalTime).Replace ("--", textTime.ToString ());
|
}
|
};
|
#endregion
|
|
#region ---autoTest---
|
RowLayout autoTestView = new RowLayout () {
|
Height = Application.GetRealHeight (90) - 1,
|
Y = Application.GetRealHeight (850 - 90) + 1,
|
};
|
dialogBodyView.AddChidren (autoTestView);
|
|
Button btnAutoTestLeft = new Button () {
|
Width = Application.GetRealWidth (158),
|
UnSelectedImagePath = @"AC/ACDialogRegresses.png",
|
SelectedImagePath = @"AC/ACDialogRegressesOn.png",
|
};
|
autoTestView.AddChidren (btnAutoTestLeft);
|
Button btnAutoTest = new Button () {
|
X = btnAutoTestLeft.Right,
|
Width = Application.GetRealWidth (520 - 158 - 158),
|
TextColor = SkinStyle.Current.TextColor1,
|
BorderWidth = 2,
|
BorderColor = SkinStyle.Current.Transparent,
|
Radius = 5,
|
Tag = i,
|
TextID = R.MyInternationalizationString.AutoTest
|
};
|
autoTestView.AddChidren (btnAutoTest);
|
Button btnAutoTestRight = new Button () {
|
Width = Application.GetRealWidth (158),
|
X = btnAutoTest.Right,
|
UnSelectedImagePath = @"AC/ACDialogForward.png",
|
SelectedImagePath = @"AC/ACDialogForwardOn.png",
|
};
|
autoTestView.AddChidren (btnAutoTestRight);
|
|
btnAutoTestLeft.MouseDownEventHandler += (sender, e) => {
|
btnAutoTestLeft.IsSelected = true;
|
};
|
btnAutoTestRight.MouseDownEventHandler += (sender, e) => {
|
btnAutoTestRight.IsSelected = true;
|
};
|
btnAutoTestLeft.MouseUpEventHandler += (sender, e) => {
|
btnAutoTestLeft.IsSelected = false;
|
if (infraredDataIndex < 1)
|
return;
|
System.Threading.Tasks.Task.Run (() => {
|
try {
|
Application.RunOnMainThread (() => {
|
MainPage.Loading.Start ();
|
});
|
infraredDataIndex--;
|
infraredString = infraredDataList [infraredDataIndex];
|
iCode = infraredString.Split ('_') [2];
|
byteICode = iCode.Substring (0, iCode.IndexOf ("}")).Replace ("{", "").Trim ().Split (',');
|
Console.WriteLine (iCode);
|
hByte = Convert.ToByte (Convert.ToInt32 (infraredString.Split ('_') [1].Trim ()) / 256);
|
lByte = Convert.ToByte (Convert.ToInt32 (infraredString.Split ('_') [1].Trim ()) % 256);
|
InfraredTypeCode = Convert.ToByte (infraredString.Split ('_') [0]);
|
updateInfraredBytes [0] = TestByteIndex;//测试的红外码存放区域
|
updateInfraredBytes [1] = 0;
|
updateInfraredBytes [2] = Convert.ToByte ((int)InfraredTypeCode - 1);//设备码
|
updateInfraredBytes [3] = hByte;//组码
|
updateInfraredBytes [4] = lByte;//组码
|
updateInfraredBytes [5] = Convert.ToByte (byteICode.Length);//红外数据总长度 (1byte)
|
|
UpdataInfrared (updateInfraredBytes, byteICode);
|
if (InfraredTypeCode == 6)
|
Control.ControlBytesSendHasReturn (Command.SetACMode, infraredBase.SubnetID, infraredBase.DeviceID, new byte [] { 129, 0, 0, 16, 16, 16, 16, 16, 1, 0, 0, 16, 0 });
|
else {
|
Random ran = new Random ();
|
int RandKey = ran.Next (0, 255);
|
Control.ControlBytesSend (Command.InfraredControl, infraredBase.SubnetID, infraredBase.DeviceID, new byte [] { Convert.ToByte (infraredBase.Port), TestByteIndex, textByte, 0, 0, Convert.ToByte (RandKey) });
|
}
|
Application.RunOnMainThread (() => {
|
btnBrandName.Text = btnInfraredCode.Text;
|
infraredName = btnBrandData_Tag.ToString ().Split ('_') [nameNum] + " " + (infraredDataIndex + 1).ToString ();
|
modelData = btnBrandData_Tag.ToString ();
|
if (modelData.Split (',') [i + 1].Contains ("%")) {
|
infraredName = modelData.Split (',') [i + 1].Replace ('%', ';').Trim ();
|
}
|
btnInfraredName_Dialog.Text = infraredName;
|
//MainPage.Loading.Hide ();
|
});
|
} catch (Exception ex) {
|
Console.WriteLine (ex.Message);
|
} finally {
|
Application.RunOnMainThread (() => {
|
MainPage.Loading.Hide ();
|
});
|
}
|
});
|
};
|
btnAutoTestRight.MouseUpEventHandler += (sender, e) => {
|
btnAutoTestRight.IsSelected = false;
|
if (infraredDataIndex >= infraredDataList.Length)
|
return;
|
System.Threading.Tasks.Task.Run (() => {
|
Application.RunOnMainThread (() => {
|
MainPage.Loading.Start ();
|
});
|
infraredDataIndex++;
|
infraredString = infraredDataList [infraredDataIndex];
|
iCode = infraredString.Split ('_') [2];
|
byteICode = iCode.Substring (0, iCode.IndexOf ("}")).Replace ("{", "").Trim ().Split (',');
|
Console.WriteLine (iCode);
|
hByte = Convert.ToByte (Convert.ToInt32 (infraredString.Split ('_') [1].Trim ()) / 256);
|
lByte = Convert.ToByte (Convert.ToInt32 (infraredString.Split ('_') [1].Trim ()) % 256);
|
InfraredTypeCode = Convert.ToByte (infraredString.Split ('_') [0]);
|
updateInfraredBytes [0] = TestByteIndex;//测试的红外码存放区域
|
updateInfraredBytes [1] = 0;
|
updateInfraredBytes [2] = Convert.ToByte ((int)InfraredTypeCode - 1);//设备码
|
updateInfraredBytes [3] = hByte;//组码
|
updateInfraredBytes [4] = lByte;//组码
|
updateInfraredBytes [5] = Convert.ToByte (byteICode.Length);//红外数据总长度 (1byte)
|
UpdataInfrared (updateInfraredBytes, byteICode);
|
if (InfraredTypeCode == 6)
|
Control.ControlBytesSendHasReturn (Command.SetACMode, infraredBase.SubnetID, infraredBase.DeviceID, new byte [] { 129, 0, 0, 16, 16, 16, 16, 16, 1, 0, 0, 16, 0 });
|
else {
|
Random ran = new Random ();
|
int RandKey = ran.Next (0, 255);
|
Control.ControlBytesSend (Command.InfraredControl, infraredBase.SubnetID, infraredBase.DeviceID, new byte [] { Convert.ToByte (infraredBase.Port), TestByteIndex, textByte, 0, 0, Convert.ToByte (RandKey) });
|
}
|
Application.RunOnMainThread (() => {
|
btnBrandName.Text = btnInfraredCode.Text;
|
infraredName = btnBrandData_Tag.ToString ().Split ('_') [nameNum] + " " + (infraredDataIndex + 1).ToString ();
|
modelData = btnBrandData_Tag.ToString ();
|
if (modelData.Split (',') [i + 1].Contains ("%")) {
|
infraredName = modelData.Split (',') [i + 1].Replace ('%', ';').Trim ();
|
}
|
btnInfraredName_Dialog.Text = infraredName;
|
MainPage.Loading.Hide ();
|
});
|
|
});
|
};
|
|
btnAutoTest.MouseUpEventHandler += (sender, e) => {
|
if (!btnAutoTest.IsSelected) {
|
btnAutoTest.IsSelected = true;
|
btnAutoTest.TextColor = SkinStyle.Current.SelectedColor;
|
btnAutoTest.BorderColor = SkinStyle.Current.SelectedColor;
|
System.Threading.Tasks.Task.Run (() => {
|
while (btnAutoTest.IsSelected) {
|
Application.RunOnMainThread (() => {
|
MainPage.Loading.Start ();
|
});
|
infraredDataIndex++;
|
if (infraredDataIndex >= infraredDataList.Length) {
|
Application.RunOnMainThread (() => {
|
btnAutoTest.IsSelected = false;
|
MainPage.Loading.Hide ();
|
return;
|
});
|
}
|
infraredString = infraredDataList [infraredDataIndex];
|
iCode = infraredString.Split ('_') [2];
|
byteICode = iCode.Substring (0, iCode.IndexOf ("}")).Replace ("{", "").Trim ().Split (',');
|
Console.WriteLine (iCode);
|
hByte = Convert.ToByte (Convert.ToInt32 (infraredString.Split ('_') [1].Trim ()) / 256);
|
lByte = Convert.ToByte (Convert.ToInt32 (infraredString.Split ('_') [1].Trim ()) % 256);
|
InfraredTypeCode = Convert.ToByte (infraredString.Split ('_') [0]);
|
updateInfraredBytes [0] = TestByteIndex;//测试的红外码存放区域
|
updateInfraredBytes [1] = 0;
|
updateInfraredBytes [2] = Convert.ToByte ((int)InfraredTypeCode - 1);//设备码
|
updateInfraredBytes [3] = hByte;//组码
|
updateInfraredBytes [4] = lByte;//组码
|
updateInfraredBytes [5] = Convert.ToByte (byteICode.Length);//红外数据总长度 (1byte)
|
|
|
UpdataInfrared (updateInfraredBytes, byteICode);
|
if (InfraredTypeCode == 6)
|
Control.ControlBytesSendHasReturn (Command.SetACMode, infraredBase.SubnetID, infraredBase.DeviceID, new byte [] { 129, 0, 0, 16, 16, 16, 16, 16, 1, 0, 0, 16, 0 });
|
else {
|
Random ran = new Random ();
|
int RandKey = ran.Next (0, 255);
|
Control.ControlBytesSend (Command.InfraredControl, infraredBase.SubnetID, infraredBase.DeviceID, new byte [] { Convert.ToByte (infraredBase.Port), TestByteIndex, textByte, 0, 0, Convert.ToByte (RandKey) });
|
}
|
|
Application.RunOnMainThread (() => {
|
btnBrandName.Text = btnInfraredCode.Text;
|
infraredName = btnBrandData_Tag.ToString ().Split ('_') [nameNum] + " " + (infraredDataIndex).ToString ();
|
modelData = btnBrandData_Tag.ToString ();
|
if (modelData.Split (',') [infraredDataIndex].Contains ("%")) {
|
infraredName = modelData.Split (',') [infraredDataIndex].Replace ('%', ';').Trim ();
|
}
|
btnInfraredName_Dialog.Text = infraredName;
|
MainPage.Loading.Hide ();
|
});
|
System.Threading.Thread.Sleep (textTime * 1000);
|
}
|
});
|
} else {
|
btnAutoTest.IsSelected = false;
|
btnAutoTest.TextColor = SkinStyle.Current.TextColor1;
|
btnAutoTest.BorderColor = SkinStyle.Current.Transparent;
|
}
|
};
|
#endregion
|
|
#region --- bottom ---
|
FrameLayout bottomView = new FrameLayout () {
|
Height = Application.GetRealHeight (90),
|
BackgroundColor = SkinStyle.Current.ViewColor,
|
Y = Application.GetRealHeight (850),
|
};
|
dialogBodyView.AddChidren (bottomView);
|
|
Button btnBack = new Button () {
|
Width = Application.GetRealWidth (258),
|
TextID = R.MyInternationalizationString.Close,
|
TextAlignment = TextAlignment.Center,
|
TextColor = SkinStyle.Current.TextColor1
|
};
|
bottomView.AddChidren (btnBack);
|
btnBack.MouseUpEventHandler += (sender01, e01) => {
|
btnAutoTest.IsSelected = false;
|
dialog.Close ();
|
};
|
Button btnLineH12 = new Button () {
|
Width = Application.GetRealWidth (4),
|
BackgroundColor = SkinStyle.Current.White20Transparent,
|
X = btnBack.Right,
|
Y = btnBack.Y,
|
};
|
bottomView.AddChidren (btnLineH12);
|
|
Button btnSave = new Button () {
|
Width = Application.GetRealWidth (258),
|
X = btnLineH12.Right,
|
TextID = R.MyInternationalizationString.SAVE,
|
TextAlignment = TextAlignment.Center,
|
BackgroundColor = SkinStyle.Current.ViewColor,
|
};
|
bottomView.AddChidren (btnSave);
|
btnSave.MouseUpEventHandler += (sender, e) => {
|
if (InfraredTypeCode == 5) {
|
infraredBase.DeviceTextID = R.MyInternationalizationString.TV;
|
infraredBase.InfraredType = InfraredType.TV;
|
}
|
if (InfraredTypeCode == 3) {
|
infraredBase.DeviceTextID = R.MyInternationalizationString.STB;
|
infraredBase.InfraredType = InfraredType.STB;
|
}
|
updateInfraredBytes [0] = infraredBase.LoopID;
|
btnAutoTest.IsSelected = false;
|
UpdataInfrared (updateInfraredBytes, byteICode);
|
IO.FileUtils.SaveEquipmentMessage (infraredBase, infraredBase.LoopID.ToString ());
|
dialog.Close ();
|
};
|
#endregion
|
dialog.Show ();
|
});
|
});
|
};
|
}
|
}
|
|
/// <summary>
|
/// 上传红外码
|
/// </summary>
|
static bool UpdataInfrared (byte [] sendBytes, string [] byteICode)
|
{
|
bool resulte = true;
|
//System.Threading.Tasks.Task.Run (() => {
|
try {
|
Application.RunOnMainThread (() => {
|
MainPage.Loading.Start ();
|
});
|
var fristUpLoadBytes = Control.ControlBytesSendHasReturn (Command.UpLoadInfrared, infraredBase.SubnetID, infraredBase.DeviceID, sendBytes);
|
if (fristUpLoadBytes == null)
|
resulte = false;
|
byte [] upLoadbyte;
|
if (byteICode.Length > 64) {
|
upLoadbyte = new byte [66];
|
upLoadbyte [0] = 25;
|
for (int c = 1; c <= byteICode.Length / 64; c++) {
|
upLoadbyte [1] = (byte)c;
|
for (int i = 2; i < byteICode.Length - 1; i++) {
|
upLoadbyte [i] = Convert.ToByte (byteICode [i - 2]);
|
if ((i * c + 64) == byteICode.Length - 2 || i == 64) {
|
Control.ControlBytesSendHasReturn (Command.UpLoadInfrared, infraredBase.SubnetID, infraredBase.DeviceID, upLoadbyte);
|
}
|
}
|
}
|
} else {
|
upLoadbyte = new byte [2 + byteICode.Length];
|
upLoadbyte [0] = sendBytes [0];
|
upLoadbyte [1] = 1;
|
for (int i = 0; i < byteICode.Length; i++) {
|
upLoadbyte [i + 2] = Convert.ToByte (byteICode [i], 16);
|
}
|
Control.ControlBytesSendHasReturn (Command.UpLoadInfrared, infraredBase.SubnetID, infraredBase.DeviceID, upLoadbyte);
|
}
|
} catch { } finally {
|
Application.RunOnMainThread (() => {
|
MainPage.Loading.Hide ();
|
});
|
}
|
return resulte;
|
//});
|
}
|
|
void UpdataACHostModeIcon (byte modeByte, Button btn,Button btn2,List<string> modeList)
|
{
|
///模式0制冷 1制热,2通风 3自动 4抽湿 index[9]
|
switch (modeByte) {
|
case 0:
|
btn.UnSelectedImagePath = "AC/ACRefrigeration.png";
|
btn2.Text = modeList [0];
|
break;
|
case 1:
|
btn.UnSelectedImagePath = "AC/ACDehumidification.png";
|
btn2.Text = modeList [1];
|
break;
|
case 2:
|
btn.UnSelectedImagePath = "AC/ ACAuto.png";
|
btn2.Text = modeList [2];
|
break;
|
case 3:
|
btn.UnSelectedImagePath = "AC/ACAuto.png";
|
btn2.Text = modeList [3];
|
break;
|
case 4:
|
btn.UnSelectedImagePath = "AC/ACDehumidification.png";
|
btn2.Text = modeList [4];
|
break;
|
}
|
}
|
|
void UpdataACHostWindIcon (byte windByte, Button btn,Button btn2,List<string> windModelList)
|
{
|
switch (windByte) {
|
case 0:
|
btn.UnSelectedImagePath = "AC/ACAuto.png";
|
btn2.Text = windModelList [0];
|
break;
|
case 3:
|
btn.UnSelectedImagePath = "AC/ACLowWind.png";
|
btn2.Text = windModelList [3];
|
break;
|
case 2:
|
btn.UnSelectedImagePath = "AC/ACStroke.png";
|
btn2.Text = windModelList [2];
|
break;
|
case 1:
|
btn.UnSelectedImagePath = "AC/ACHighWind.png";
|
btn2.Text = windModelList [1];
|
break;
|
}
|
}
|
}
|
}
|