From dc6493db59dcb0893eac50b72122f94c24056b3f Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期一, 12 十月 2020 14:35:39 +0800
Subject: [PATCH] 新版本
---
ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs | 1337 ++++++++++++++++++++++++++++------------------------------
1 files changed, 644 insertions(+), 693 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs
index cfb5f36..726615a 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs
@@ -9,21 +9,10 @@
namespace Shared.Phone.UserCenter.DeviceBind
{
/// <summary>
- /// 鎸夐敭绠$悊
+ /// 鏅�氶潰鏉跨殑缁戝畾鐣岄潰銆愬彲缁戝畾澶氫釜鐩爣銆�
/// </summary>
- public class BindTargetsPage : BindCommonLayout, ZigBee.Common.IStatus
+ public class BindTargetsPage : BindCommonLayout
{
- /// <summary>
- /// 鎸夐敭妯″紡鎺ユ敹
- /// </summary>
- /// <param name="common">Common.</param>
- public void Changed(CommonDevice common)
- {
- Shared.Application.RunOnMainThread(() =>
- {
- });
- }
-
/// 鏋勯�犲嚱鏁�
/// </summary>
/// <param name="doorLock"></param>
@@ -32,29 +21,67 @@
this.currentKey = key;
}
- #region 鈼� 鍙橀噺鐢虫槑__________________________
- ZigBee.Device.Panel currentKey;//褰撳墠鎸夐敭瀵硅薄
- VerticalRefreshLayout midVerticalRefreshLayout;//鏄剧ず琚粦瀹氳澶囨垨鍦烘櫙鐨剉iew
- FrameLayout topFrameLayout;//鏄剧ず褰撳墠妯″紡view
- int currentClusterID = 0;//鎸夐敭褰撳墠绨嘔D
+ #region 鍙橀噺鐢虫槑
+ /// <summary>
+ /// 褰撳墠鎸夐敭瀵硅薄
+ /// </summary>
+ ZigBee.Device.Panel currentKey;
+ /// <summary>
+ /// 鏄剧ず琚粦瀹氳澶囨垨鍦烘櫙鐨剉iew
+ /// </summary>
+ VerticalFrameRefreshControl midVerticalRefreshLayout;
+ /// <summary>
+ /// 鎸夐敭褰撳墠绨嘔D
+ /// </summary>
+ int currentClusterID = 0;
+ /// <summary>
+ /// 绌烘暟鎹椂鐨勫浘鐗�
+ /// </summary>
Button entryStatusPic;
+ /// <summary>
+ /// 绌烘暟鎹殑鎻愮ず
+ /// </summary>
Button btnPicTip;
- Action<List<BindListResponseObj>> action;//鎸夐敭缁戝畾琛ㄩ�氱煡
- Action<List<BindListResponseObj>> devicBindAction;//璁惧琚粦瀹氶�氱煡
- private System.Collections.Generic.List<CommonDevice> localDeviceList = new System.Collections.Generic.List<CommonDevice>();//鏈湴璁惧鍒楄〃
- private System.Collections.Generic.List<SceneUI> scList = new System.Collections.Generic.List<SceneUI> { };//鏈湴鍦烘櫙鍒楄〃
+ /// <summary>
+ /// 鎸夐敭缁戝畾琛ㄩ�氱煡
+ /// </summary>
+ Action<List<BindListResponseObj>> action;
+ /// <summary>
+ /// 璁惧琚粦瀹氶�氱煡
+ /// </summary>
+ Action<List<BindListResponseObj>> devicBindAction;
+ /// <summary>
+ /// 鏈湴璁惧鍒楄〃
+ /// </summary>
+ private System.Collections.Generic.List<CommonDevice> localDeviceList = new System.Collections.Generic.List<CommonDevice>();
+ /// <summary>
+ /// 鏈湴鍦烘櫙鍒楄〃
+ /// </summary>
+ private System.Collections.Generic.List<SceneUI> scList = new System.Collections.Generic.List<SceneUI> { };
+ /// <summary>
+ /// 绌烘暟鎹樉绀哄竷灞�
+ /// </summary>
+ FrameLayout blankFrameLayout;
+ /// <summary>
+ /// 鍔ㄦ�佽幏鍙栨寜閿敮鎸佺殑妯″紡澶х被鍨�
+ /// </summary>
+ List<int> typeModeList;
+ /// <summary>
+ /// 鏄惁鏀寔璇诲彇
+ /// </summary>
+ bool IsRead = false;
+
#endregion
- //鍒濆鍖栨寜閿暟鎹�
- private void InitListInfo()
+ /// <summary>
+ /// 鍒濆鍖栨寜閿暟鎹�
+ /// </summary>
+ void InitListInfo()
{
System.Threading.Tasks.Task.Run(async () =>
{
try
{
- Application.RunOnMainThread(() =>
- {
- });
localDeviceList.Clear();
scList.Clear();
//鑾峰彇鏈湴璁惧鍒楄〃
@@ -63,93 +90,129 @@
localDeviceList.Add(dev);
}
//鑾峰彇鏈湴鍦烘櫙鍒楄〃
- scList = Shared.Common.Room.AllRoomSceneUIList;
+ scList = HdlSceneLogic.Current.GetAllRoomSceneList();
+ //鍔ㄦ�佽幏鍙栨寜閿敮鎸佺殑澶х被
+ typeModeList = await GetTypeMode();
#region 璇诲彇闈㈡澘褰撳墠妯″紡
//璇诲彇鎸夐敭褰撳墠妯″紡
- var tempDeata = await currentKey.ReadPanelConfigureInfoAsync();
+ var tempDeata = HdlDeviceBindLogic.Current.ReadPanelConfigureInfoAsync(currentKey);
if (tempDeata != null && tempDeata.deviceStatusReportData != null)
{
- currentClusterID = tempDeata.deviceStatusReportData.CluterID;
foreach (var attr in tempDeata.deviceStatusReportData.AttriBute)
{
currentKey.panelMode = attr.AttriButeData;
- currentKey.ReSave();
- //璇诲彇鎸夐敭褰撳墠缁戝畾鐩爣
- var getBindList = await currentKey.GetDeviceBindAsync();
- var bindDeviceListTemp = new System.Collections.Generic.List<BindListResponseObj> { };
- var bindSceneListTemp = new System.Collections.Generic.List<BindListResponseObj> { };
- if (getBindList != null && getBindList.getAllBindResponseData != null)
- {
- foreach (var b in getBindList.getAllBindResponseData.BindList)
- {
- if (b.BindCluster == currentClusterID)
- {
- if (b.BindCluster == 6)
- {
-
- if (b.BindType == 2)
- {
- bindSceneListTemp.Add(b);
- }
- else
- {
- bindDeviceListTemp.Add(b);
- }
- }
- else
- {
- currentKey.bindList.Add(b);
- }
- }
- }
- }
- else
- {
- Application.RunOnMainThread(() =>
- {
- new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance);
- });
- }
-
if (currentKey.panelMode == 1)
{
- currentKey.bindList = bindSceneListTemp;
- currentKey.currentKeySelectModeText = Language.StringByID(R.MyInternationalizationString.AddScene);
+ currentClusterID = 6;
}
else if (currentKey.panelMode == 100 || currentKey.panelMode == 101 || currentKey.panelMode == 102)
{
- currentKey.bindList = bindDeviceListTemp;
- currentKey.currentKeySelectModeText = Language.StringByID(R.MyInternationalizationString.AddSwitch);
+ currentClusterID = 6;
}
- else if (currentKey.panelMode == 200 || currentKey.panelMode == 201 || currentKey.panelMode == 202 || currentKey.panelMode == 203 || currentKey.panelMode == 204 || currentKey.panelMode == 205)
+ else if (currentKey.panelMode == 200 || currentKey.panelMode == 201 || currentKey.panelMode == 203 || currentKey.panelMode == 204 || currentKey.panelMode == 205)
{
- currentKey.currentKeySelectModeText = Language.StringByID(R.MyInternationalizationString.AddDimmer);
+ currentClusterID = 8;
}
else if (currentKey.panelMode == 300 || currentKey.panelMode == 301 || currentKey.panelMode == 302 || currentKey.panelMode == 303 || currentKey.panelMode == 304)
{
- currentKey.currentKeySelectModeText = Language.StringByID(R.MyInternationalizationString.AddCurtain);
+ currentClusterID = 258;
}
+
+ //璇诲彇鎸夐敭褰撳墠缁戝畾鐩爣
+ GetDeviceBindResponseAllData getBindList = null;
+ if (IsRead)
+ {
+ getBindList = HdlDeviceBindLogic.Current.GetDeviceBindAsync(currentKey);
+ var bindDeviceListTemp = new System.Collections.Generic.List<BindListResponseObj> { };
+ var bindSceneListTemp = new System.Collections.Generic.List<BindListResponseObj> { };
+ if (getBindList != null && getBindList.getAllBindResponseData != null)
+ {
+ currentKey.bindList.Clear();
+ foreach (var b in getBindList.getAllBindResponseData.BindList)
+ {
+ if (b.BindCluster == currentClusterID)
+ {
+ if (b.BindCluster == 6)
+ {
+
+ if (b.BindType == 2)
+ {
+ bindSceneListTemp.Add(b);
+ }
+ else
+ {
+ bindDeviceListTemp.Add(b);
+ }
+ }
+ else
+ {
+ if (currentClusterID == 8)
+ {
+ if (b.BindCluster == 8)
+ {
+ currentKey.bindList.Add(b);
+ }
+ }
+ else
+ {
+ currentKey.bindList.Add(b);
+ }
+ }
+ }
+ }
+ }
+ else
+ {
+ Application.RunOnMainThread(() =>
+ {
+ CommonPage.Loading.Hide();
+ midVerticalRefreshLayout.EndHeaderRefreshing();
+ new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime) + "(" + "5007" + ")", Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance);
+ return;
+ });
+ }
+ if (currentKey.panelMode == 1)
+ {
+ currentKey.bindList = bindSceneListTemp;
+ currentKey.currentKeySelectModeText = Language.StringByID(R.MyInternationalizationString.AddScene);
+ }
+ else if (currentKey.panelMode == 100 || currentKey.panelMode == 101 || currentKey.panelMode == 102)
+ {
+ currentKey.bindList = bindDeviceListTemp;
+ currentKey.currentKeySelectModeText = Language.StringByID(R.MyInternationalizationString.AddSwitch);
+ }
+ else if (currentKey.panelMode == 200 || currentKey.panelMode == 201 || currentKey.panelMode == 203 || currentKey.panelMode == 204 || currentKey.panelMode == 205)
+ {
+ currentKey.currentKeySelectModeText = Language.StringByID(R.MyInternationalizationString.AddDimmer);
+ }
+ else if (currentKey.panelMode == 300 || currentKey.panelMode == 301 || currentKey.panelMode == 302 || currentKey.panelMode == 303 || currentKey.panelMode == 304)
+ {
+ currentKey.currentKeySelectModeText = Language.StringByID(R.MyInternationalizationString.AddCurtain);
+ }
+ }
+ currentKey.ReSave();
}
- #endregion
+ #endregion
+ Application.RunOnMainThread(() =>
+ {
+ RefreshList();
+ CommonPage.Loading.Hide();
+ midVerticalRefreshLayout.EndHeaderRefreshing();
+ });
}
else
{
Application.RunOnMainThread(() =>
{
- new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance);
+ CommonPage.Loading.Hide();
+ midVerticalRefreshLayout.EndHeaderRefreshing();
+ new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime) + "(" + "108_ 6533" + ")", Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance);
});
+ return;
}
}
catch { }
- finally
- {
- Application.RunOnMainThread(() =>
- {
- RefreshList();
- CommonPage.Loading.Hide();
- });
- }
});
}
@@ -159,7 +222,7 @@
public void Show()
{
#region TopFrameLayout
- this.TopFrameLayout(this, Language.StringByID(R.MyInternationalizationString.AddBindTargets));
+ this.TopFrameLayout(this, Language.StringByID(R.MyInternationalizationString.PanelBindTargets));
EventHandler<MouseEventArgs> eHandlerBack = (sender, e) =>
{
RemoveFromParent();
@@ -170,15 +233,16 @@
var btnAddFrameLayout = new FrameLayout()
{
- X = Application.GetRealWidth(913),
+ X = Application.GetRealWidth(772 - 58),
Width = Application.GetRealWidth(192),
};
this.titleFrameLayout.AddChidren(btnAddFrameLayout);
var btnBindAdd = new Button
{
- Height = Application.GetRealHeight(72),
- Width = Application.GetRealWidth(72),
+ X = Application.GetRealWidth(62),
+ Height = Application.GetMinReal(72),
+ Width = Application.GetMinReal(72),
UnSelectedImagePath = "BindPic/BindAdd.png",
};
btnAddFrameLayout.AddChidren(btnBindAdd);
@@ -255,6 +319,7 @@
}
else
{
+ currentKey.panelMode = 65535;
SideslipFramelayout();
}
};
@@ -262,20 +327,49 @@
btnAddFrameLayout.MouseDownEventHandler += eHandlerAdd;
#endregion
CommonPage.Loading.Start("");
+ middleFrameLayout();
+ if (currentKey.bindList.Count == 0)
+ {
+ IsRead = true;
+ }
+ else
+ {
+ IsRead = false;
+ }
InitListInfo();
}
+ /// <summary>
+ /// 涓儴甯冨眬
+ /// </summary>
void middleFrameLayout()
{
- topFrameLayout = new FrameLayout
+ midVerticalRefreshLayout = new VerticalFrameRefreshControl(29)
{
- Height = Application.GetMinRealAverage(0),
- BackgroundColor = Shared.Common.ZigbeeColor.Current.XMWhite,
+ Height = this.midFrameLayout.Height + 1,
};
- this.midFrameLayout.AddChidren(topFrameLayout);
+ this.midFrameLayout.AddChidren(midVerticalRefreshLayout);
+ midVerticalRefreshLayout.BeginHeaderRefreshingAction += () =>
+ {
+ midVerticalRefreshLayout.BeginHeaderRefreshing();
+ IsRead = true;
+ InitListInfo();
+ };
- #region BindEmptyPic UI
+ BlankPicUI();
+ }
+
+ /// <summary>
+ /// 绌烘暟鎹甎I鏄剧ず
+ /// </summary>
+ void BlankPicUI()
+ {
+ blankFrameLayout = new FrameLayout
+ {
+ };
+ midVerticalRefreshLayout.AddChidren(blankFrameLayout);
+
entryStatusPic = new Button
{
X = Application.GetRealWidth(213),
@@ -283,7 +377,7 @@
UnSelectedImagePath = "BindPic/BindEmptyPic.png",
Visible = false,
};
- this.midFrameLayout.AddChidren(entryStatusPic);
+ blankFrameLayout.AddChidren(entryStatusPic);
btnPicTip = new Button
{
@@ -292,38 +386,18 @@
TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
Gravity = Gravity.CenterHorizontal,
Visible = false,
+ TextSize = 12,
};
- this.midFrameLayout.AddChidren(btnPicTip);
- #endregion
-
- midVerticalRefreshLayout = new VerticalRefreshLayout()
- {
- };
- this.midFrameLayout.AddChidren(midVerticalRefreshLayout);
- midVerticalRefreshLayout.BeginHeaderRefreshingAction += () =>
- {
- midVerticalRefreshLayout.BeginHeaderRefreshing();
- InitListInfo();
- midVerticalRefreshLayout.EndHeaderRefreshing();
- };
+ blankFrameLayout.AddChidren(btnPicTip);
}
-
/// <summary>
/// 鎸夐敭缁戝畾琛ㄦ樉绀�
/// </summary>
async void RefreshList()
{
+ midVerticalRefreshLayout.RemoveAll();
this.midFrameLayout.RemoveAll();
middleFrameLayout();
- midVerticalRefreshLayout.RemoveAll();
-
- var frameLayoutRow = new FrameLayout()
- {
- Height = Application.GetMinRealAverage(0),
- BackgroundColor = Shared.Common.ZigbeeColor.Current.XMWhite,
- };
- midVerticalRefreshLayout.AddChidren(frameLayoutRow);
-
#region 鏁版嵁澶勭悊
if (currentKey.bindList.Count == 0)
{
@@ -332,7 +406,7 @@
btnPicTip.Height = Application.GetRealHeight(49);
btnPicTip.Visible = true;
entryStatusPic.Visible = true;
- midVerticalRefreshLayout.Height = Application.GetRealHeight(0);
+ blankFrameLayout.Height = midVerticalRefreshLayout.Height;
}
else
{
@@ -341,15 +415,13 @@
btnPicTip.Height = Application.GetRealHeight(0);
btnPicTip.Visible = false;
entryStatusPic.Visible = false;
+ blankFrameLayout.Height = Application.GetRealHeight(0);
if (currentKey.panelMode == 1)
{
- topFrameLayout.Height = Application.GetRealHeight(0);
midVerticalRefreshLayout.Y = Application.GetRealHeight(0);
}
else
{
- topFrameLayout.Height = Application.GetRealHeight(150);
- midVerticalRefreshLayout.Y = Application.GetRealHeight(150);
BindModeDisplay();
}
int curIndex = 0;
@@ -360,61 +432,18 @@
SceneUI curSceneUI = null;
bool isExistScene = false;
- var rowLayout = new RowLayout()
- {
- Height = Application.GetRealHeight(150),
- X = Application.GetRealWidth(58),
- Y = curIndex * Application.GetRealHeight(150),
- Width = Application.GetRealWidth(965),
- LineColor = Shared.Common.ZigbeeColor.Current.XMRowLine,
- };
- frameLayoutRow.AddChidren(rowLayout);
-
- #region 缁戝畾琛║I鏄撅紙鏃犳暟鎹鐞嗭級
- var devicePic = new Button()
- {
- Y = Application.GetRealHeight(35),
- Width = Application.GetMinRealAverage(81),
- Height = Application.GetMinRealAverage(81),
- };
- rowLayout.AddChidren(devicePic);
-
- var btnBindName = new Button()
- {
- Width = Application.GetRealWidth(1080 - 173),
- Height = Application.GetRealHeight(60),
- X = Application.GetRealWidth(173 - 58),
- Y = Application.GetRealHeight(20),
- TextSize = 14,
- TextColor = Shared.Common.ZigbeeColor.Current.XMBlack,
- TextAlignment = TextAlignment.CenterLeft,
- };
- rowLayout.AddChidren(btnBindName);
-
- var btnFloorRoomName = new Button()
- {
- Width = Application.GetRealWidth(1080 - 173),
- Height = Application.GetRealHeight(49),
- X = Application.GetRealWidth(173 - 58),
- Y = Application.GetRealHeight(81),
- TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
- TextSize = 14,
- TextAlignment = TextAlignment.CenterLeft,
- };
- rowLayout.AddChidren(btnFloorRoomName);
-
- var btnDel = new Button()
- {
- TextColor = Shared.Common.ZigbeeColor.Current.GXCTextWhiteColor,
- Width = Application.GetRealWidth(184),
- TextID = R.MyInternationalizationString.DelBindDevice,
- BackgroundColor = Shared.Common.ZigbeeColor.Current.DelRowLayout,
- };
- rowLayout.AddRightView(btnDel);
- #endregion
+ var rowLayout = new RowLayoutControl(midVerticalRefreshLayout.rowSpace / 2);
+ rowLayout.BackgroundColor = ZigbeeColor.Current.XMWhite;
+ midVerticalRefreshLayout.AddChidren2(rowLayout);
+ rowLayout.frameTable.UseClickStatu = false;
+ var devicePic = rowLayout.frameTable.AddLeftIcon();
+ devicePic.Y = Application.GetRealHeight(49);
+ devicePic.UnSelectedImagePath = "DoorLock/DoorLockUserPic.png";
#region 缁戝畾鏁版嵁澶勭悊
int currentIndex = i;
+ var btnBindNameText = "";
+ var btnFloorRoomNameText = "";
if (currentIndex == currentKey.bindList.Count - 1)
{
rowLayout.LineColor = Shared.Common.ZigbeeColor.Current.XMWhite;
@@ -428,24 +457,24 @@
}
if (isExistScene)
{
- curSceneUI = Room.CurrentRoom.GetSceneUIBySceneId(bindDevice.BindScenesId);
+ curSceneUI = HdlSceneLogic.Current.GetSceneUIBySceneId(bindDevice.BindScenesId);
+ devicePic.UnSelectedImagePath = "Scene/SceneIcon.png";
if (curSceneUI == null)
{
- devicePic.UnSelectedImagePath = "Scene/SceneIcon.png";
- if (string.IsNullOrEmpty(bindDevice.ESName))
- {
- btnBindName.Text = Language.StringByID(R.MyInternationalizationString.OffLineScene) + "_" + "ID" + "_" + bindDevice.BindScenesId.ToString();
- }
- else
- {
- btnBindName.Text = Language.StringByID(R.MyInternationalizationString.OffLineScene) + "_" + bindDevice.ESName;
- }
+ btnBindNameText = Language.StringByID(R.MyInternationalizationString.OffLineScene) + "_" + "ID" + "_" + bindDevice.BindScenesId.ToString();
}
else
{
- devicePic.UnSelectedImagePath = curSceneUI.IconPath;
- btnBindName.Text = curSceneUI.Name;
- btnFloorRoomName.Text = curSceneUI.GetZone();
+ btnBindNameText = curSceneUI.Name;
+ string myName = HdlSceneLogic.Current.GetZoneById(curSceneUI.Id);
+ if (myName != null)
+ {
+ btnFloorRoomNameText = myName;
+ }
+ else
+ {
+ btnFloorRoomNameText = Language.StringByID(R.MyInternationalizationString.Undistributed);
+ }
}
}
else
@@ -457,31 +486,58 @@
if (tempDev != null)
{
//鑾峰彇璁惧鎵�灞炴埧闂�
- var tempDevRoom = Common.Room.CurrentRoom.GetRoomByDevice(tempDev);
- //鑾峰彇璁惧鎵�鍦ㄦゼ灞�
- var tempDevFloorId = tempDevRoom.FloorId;
- //鑾峰彇妤煎眰鐨勫悕瀛�
- var tempDevRoomName = tempDevRoom.Name;
- //鑾峰彇妤煎眰鐨勫悕瀛�
- var tempDevFloorName = Common.Config.Instance.Home.GetFloorNameById(tempDevFloorId);
- btnFloorRoomName.Text = tempDevFloorName + "," + tempDevRoomName;
- var deviceUi = Common.LocalDevice.Current.GetDeviceUI(tempDev);
- devicePic.UnSelectedImagePath = deviceUi.IconPath;
- devicePic.Width = Application.GetRealWidth(110);
- devicePic.Text = "";
- if (tempDev.DeviceEpointName == "")
+ var tempDevRoom = HdlRoomLogic.Current.GetRoomByDevice(tempDev);
+
+ if (tempDevRoom != null)
{
- btnBindName.Text = tempDev.DeviceEpoint + Language.StringByID(R.MyInternationalizationString.uDeviceCircuit);
+ var tempDevFloorId = tempDevRoom.FloorId;
+ //鑾峰彇鎴块棿鐨勫悕瀛�
+ var tempDevRoomName = tempDevRoom.Name;
+ //鑾峰彇妤煎眰鐨勫悕瀛�
+ var tempDevFloorName = HdlResidenceLogic.Current.GetFloorNameById(tempDevFloorId);
+ if (string.IsNullOrEmpty(tempDevFloorName))
+ {
+ if (string.IsNullOrEmpty(tempDevRoomName))
+ {
+ btnFloorRoomNameText = Language.StringByID(R.MyInternationalizationString.Undistributed);
+ }
+ else
+ {
+ btnFloorRoomNameText = tempDevRoomName;
+ }
+ }
+ else
+ {
+ if (string.IsNullOrEmpty(tempDevRoomName))
+ {
+ btnFloorRoomNameText = Language.StringByID(R.MyInternationalizationString.Undistributed);
+ }
+ else
+ {
+ btnFloorRoomNameText = tempDevFloorName + "," + tempDevRoomName;
+ }
+ }
+ }
+ else
+ {
+ btnFloorRoomNameText = Language.StringByID(R.MyInternationalizationString.Undistributed);
+ }
+
+ devicePic.UnSelectedImagePath = tempDev.IconPath;
+ devicePic.Text = "";
+
+ if (string.IsNullOrEmpty(tempDev.DeviceEpointName))
+ {
+ btnBindNameText = tempDev.DeviceEpoint + Language.StringByID(R.MyInternationalizationString.uDeviceCircuit);
}
else
{
- btnBindName.Text = tempDev.DeviceEpointName;
+ btnBindNameText = tempDev.DeviceEpointName;
}
}
else
{
- btnBindName.Text = bindDevice.BindMacAddr + "_" + bindDevice.BindEpoint;
- devicePic.Width = Application.GetMinRealAverage(200);
+ btnBindNameText = bindDevice.BindMacAddr + "_" + bindDevice.BindEpoint;
devicePic.TextAlignment = TextAlignment.CenterLeft;
devicePic.TextColor = UserCenterColor.Current.Gray;
devicePic.Text = Language.StringByID(R.MyInternationalizationString.uOffLine);
@@ -489,14 +545,17 @@
}
}
- //鍒犻櫎浜嬩欢澶勭悊
- btnDel.MouseUpEventHandler += async (sender, e) =>
- {
- RemoveTargets(bindDevice, btnDel);
+ var btnBindName = rowLayout.frameTable.AddTopView(btnBindNameText, 800);
+ var btnFloorRoomName = rowLayout.frameTable.AddBottomView(btnFloorRoomNameText, 800);
+ rowLayout.frameTable.AddBottomLine();
+ var btnDel = rowLayout.AddDeleteControl();
+ btnDel.ButtonClickEvent += (sender, e) =>
+ {
+ RemoveTargets(bindDevice, btnDel);
};
#endregion
}
- frameLayoutRow.Height = currentKey.bindList.Count * Application.GetRealHeight(150);
+ midVerticalRefreshLayout.AdjustTableHeight(Application.GetRealHeight(23));
}
#endregion
}
@@ -506,156 +565,147 @@
/// </summary>
public void BindModeDisplay()
{
- #region modeRowLayout
- var modeRowLayout = new RowLayout()
- {
- Height = Application.GetRealHeight(150),
- X = Application.GetRealWidth(58),
- Width = Application.GetRealWidth(965),
- LineColor = Shared.Common.ZigbeeColor.Current.XMRowLine,
- };
- topFrameLayout.AddChidren(modeRowLayout);
-
- var btnKeyMode = new Button
- {
- Y = Application.GetRealHeight(63),
- Width = Application.GetMinRealAverage(294),
- Height = Application.GetMinRealAverage(58),
- Text = Language.StringByID(R.MyInternationalizationString.keyMode),
- TextColor = Shared.Common.ZigbeeColor.Current.XMBlack,
- TextAlignment = TextAlignment.CenterLeft,
- };
- modeRowLayout.AddChidren(btnKeyMode);
-
- var btnKeyModeTip = new Button
- {
- X = Application.GetRealWidth(374 - 58),
- Y = Application.GetRealHeight(63),
- Width = Application.GetMinRealAverage(615),
- Height = Application.GetMinRealAverage(58),
- TextAlignment = TextAlignment.CenterRight,
- TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
- };
- modeRowLayout.AddChidren(btnKeyModeTip);
-
- var btnDel = new Button()
- {
- Width = Application.GetMinRealAverage(184),
- TextColor = Shared.Common.ZigbeeColor.Current.GXCTextWhiteColor,
- TextID = R.MyInternationalizationString.DelBindDevice,
- BackgroundColor = Shared.Common.ZigbeeColor.Current.DelRowLayout,
- };
- modeRowLayout.AddRightView(btnDel);
- #endregion
-
+ var modeRowLayout = new RowLayoutControl(midVerticalRefreshLayout.rowSpace / 2);
+ modeRowLayout.BackgroundColor = ZigbeeColor.Current.XMWhite;
+ midVerticalRefreshLayout.AddChidren2(modeRowLayout);
+ modeRowLayout.frameTable.UseClickStatu = false;
+ modeRowLayout.frameTable.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.keyMode), 400);
+ var btnKeyModeTipText = "";
#region 褰撳墠妯″紡鏂囨湰鏄剧ず
switch (currentKey.panelMode)
{
case 100:
- btnKeyModeTip.TextID = R.MyInternationalizationString.OnOffOn;
+ btnKeyModeTipText = Language.StringByID(R.MyInternationalizationString.OnOffOn);
break;
case 101:
- btnKeyModeTip.TextID = R.MyInternationalizationString.OnOffoFF;
+ btnKeyModeTipText = Language.StringByID(R.MyInternationalizationString.OnOffoFF);
break;
case 102:
- btnKeyModeTip.TextID = R.MyInternationalizationString.OnOffOnOff;
+ btnKeyModeTipText = Language.StringByID(R.MyInternationalizationString.OnOffOnOff);
break;
case 200:
- btnKeyModeTip.TextID = R.MyInternationalizationString.DimmerMode1;
+ btnKeyModeTipText = Language.StringByID(R.MyInternationalizationString.DimmerMode1);
break;
case 201:
- btnKeyModeTip.TextID = R.MyInternationalizationString.DimmerMode2;
+ btnKeyModeTipText = Language.StringByID(R.MyInternationalizationString.DimmerMode2);
break;
case 203:
- btnKeyModeTip.TextID = R.MyInternationalizationString.DimmerMode3;
+ btnKeyModeTipText = Language.StringByID(R.MyInternationalizationString.DimmerMode3);
break;
case 204:
- btnKeyModeTip.TextID = R.MyInternationalizationString.DimmerMode4;
+ btnKeyModeTipText = Language.StringByID(R.MyInternationalizationString.DimmerMode4);
break;
case 205:
- btnKeyModeTip.TextID = R.MyInternationalizationString.DimmerMode5;
+ btnKeyModeTipText = Language.StringByID(R.MyInternationalizationString.DimmerMode5);
break;
case 300:
- btnKeyModeTip.TextID = R.MyInternationalizationString.WcdUp;
+ btnKeyModeTipText = Language.StringByID(R.MyInternationalizationString.WcdUp);
break;
case 301:
- btnKeyModeTip.TextID = R.MyInternationalizationString.WcdDown;
+ btnKeyModeTipText = Language.StringByID(R.MyInternationalizationString.WcdDown);
break;
case 302:
- btnKeyModeTip.TextID = R.MyInternationalizationString.WcdStop;
+ btnKeyModeTipText = Language.StringByID(R.MyInternationalizationString.WcdStop);
break;
case 303:
- btnKeyModeTip.TextID = R.MyInternationalizationString.WcdUpStop;
+ btnKeyModeTipText = Language.StringByID(R.MyInternationalizationString.WcdUpStop);
break;
case 304:
- btnKeyModeTip.TextID = R.MyInternationalizationString.WcdDownStop;
+ btnKeyModeTipText = Language.StringByID(R.MyInternationalizationString.WcdDownStop);
break;
}
#endregion
-
+ modeRowLayout.frameTable.AddMostRightView(btnKeyModeTipText, 800);
+ modeRowLayout.frameTable.AddBottomLine();
+ var btnDel = modeRowLayout.AddDeleteControl();
//涓�閿竻闄ゆ寜閿簨浠�
- btnDel.MouseUpEventHandler += async (sender, e) =>
+ btnDel.ButtonClickEvent += async (sender, e) =>
{
- bool isDelSuccess = false;
- try
- {
- CommonPage.Loading.Start("");
- var bindResult = await currentKey.ClearBindInfoAsync();
- if (bindResult != null && bindResult.clearBindInfoResponseData != null)
- {
- if (bindResult.clearBindInfoResponseData.Result != 0)
- {
- new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDel);
- CommonPage.Loading.Hide();
- return;
- }
- else
- {
- var temp = await currentKey.ConfigureHdlKeyValueAsync(Panel.KeyMode.Default);
- if (temp.setWritableValueResponData?.Status != 0)
- {
- var temp1 = await currentKey.ConfigureHdlKeyValueAsync(Panel.KeyMode.Default);
- if (temp1.setWritableValueResponData?.Status != 0)
- {
- new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.ChangeBindMode), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel);
- }
- else
- {
- isDelSuccess = true;
- }
- }
- else
- {
- isDelSuccess = true;
- }
- }
- }
- else
- {
- new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel);
- }
- }
- catch { }
- finally
- {
- if (isDelSuccess)
- {
- currentKey.panelMode = 65535;
- currentKey.bindList.Clear();
- RefreshList();
- //濡傛灉鏄満鏅紝鐢ㄦ埛鍒犻櫎娓呯┖褰撳墠鍒版埧闂村垪琛�
- currentKey.RoomId = "";
- currentKey.ReSave();
- }
- CommonPage.Loading.Hide();
- }
+ string msg = Language.StringByID(R.MyInternationalizationString.ClearAllTargets).Replace("{0}", "\r\n");
+ var alert = new Shared.Phone.UserCenter.ShowMsgControl(ShowMsgType.Confirm, msg, Language.StringByID(R.MyInternationalizationString.DoorlockConfirm));
+ alert.Show();
+ //浣跨敤纭鍨嬪脊妗嗘椂,鐨勫洖璋冨嚱鏁�
+ alert.ConfirmClickEvent += () =>
+ {
+ bool isDelSuccess = false;
+ System.Threading.Tasks.Task.Run(() =>
+ {
+ try
+ {
+ Application.RunOnMainThread(() =>
+ {
+ CommonPage.Loading.Start("");
+ });
+ var bindResult = HdlDeviceBindLogic.Current.ClearBindInfoAsync(currentKey);
+ if (bindResult != null && bindResult.clearBindInfoResponseData != null)
+ {
+ if (bindResult.clearBindInfoResponseData.Result != 0)
+ {
+ Application.RunOnMainThread(() =>
+ {
+ new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnDel);
+ CommonPage.Loading.Hide();
+ });
+ return;
+ }
+ else
+ {
+ var temp = HdlDeviceBindLogic.Current.ConfigureHdlKeyValueAsync(currentKey, Panel.KeyMode.Default);
+ if (temp != null && temp.setWritableValueResponData?.Status != 0)
+ {
+ var temp1 = HdlDeviceBindLogic.Current.ConfigureHdlKeyValueAsync(currentKey, Panel.KeyMode.Default);
+ if (temp1 != null && temp1.setWritableValueResponData?.Status != 0)
+ {
+ Application.RunOnMainThread(() =>
+ {
+ new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.ChangeBindMode), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel);
+
+ });
+ }
+ else
+ {
+ isDelSuccess = true;
+ }
+ }
+ else
+ {
+ isDelSuccess = true;
+ }
+ }
+ }
+ else
+ {
+ Application.RunOnMainThread(() =>
+ {
+ new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime) + "(" + "5006" + ")", Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel);
+ });
+ }
+ }
+ catch { }
+ finally
+ {
+ Application.RunOnMainThread(() =>
+ {
+ if (isDelSuccess)
+ {
+ currentKey.panelMode = 65535;
+ currentKey.bindList.Clear();
+ RefreshList();
+ //濡傛灉鏄満鏅紝鐢ㄦ埛鍒犻櫎娓呯┖褰撳墠鍒版埧闂村垪琛�
+ currentKey.ReSave();
+ }
+ CommonPage.Loading.Hide();
+ });
+ }
+ });
+ };
};
}
/// <summary>
/// 渚ц竟瀵艰埅鏍�
/// </summary>
- void SideslipFramelayout()
+ async void SideslipFramelayout()
{
#region UI
var dialog = new Dialog { };
@@ -670,8 +720,8 @@
var sidelipFrameLayout = new FrameLayout()
{
- Height = Application.GetRealHeight(628),
- Width = Application.GetRealWidth(415),
+ Height = Application.GetMinReal(628),
+ Width = Application.GetMinReal(415),
Y = Application.GetRealHeight(115 + 45),
X = Application.GetRealWidth(605),
BackgroundImagePath = "DoorLock/SideslipPic.png",
@@ -688,8 +738,38 @@
Button oldbuttonText = null;
string oldKeySelectModeText = currentKey.currentKeySelectModeText;
- for (var i = 0; i < 4; i++)
+
+ if (typeModeList == null)
{
+ //鍐嶆鍔ㄦ�佽幏鍙栨寜閿敮鎸佺殑澶х被
+ Application.RunOnMainThread(() =>
+ {
+ CommonPage.Loading.Start();
+ });
+ typeModeList = await GetTypeMode();
+ if (typeModeList == null)
+ {
+ Application.RunOnMainThread(() =>
+ {
+ new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime) + "(" + "0003" + ")", Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance);
+ CommonPage.Loading.Hide();
+ });
+ dialog.Close();
+ return;
+ }
+ else
+ {
+ Application.RunOnMainThread(() =>
+ {
+ CommonPage.Loading.Hide();
+ });
+ }
+ }
+
+ int count = 0;
+ foreach (var value in typeModeList)
+ {
+ count++;
#region rowView
var rowView = new FrameLayout()
{
@@ -705,6 +785,7 @@
Y = Application.GetRealHeight(69),
TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
TextSize = 14,
+ IsBold = false,
TextAlignment = TextAlignment.CenterLeft,
};
rowView.AddChidren(btnMethodText);
@@ -719,64 +800,78 @@
};
rowView.AddChidren(line2);
- if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddScene) && i == 0)
+ if (string.IsNullOrEmpty(currentKey.currentKeySelectModeText) && value == 1)
{
btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack;
+ btnMethodText.IsBold = true;
oldbuttonText = btnMethodText;
}
- else if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddSwitch) && i == 1)
+ if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddScene) && value == 1)
{
btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack;
+ btnMethodText.IsBold = true;
oldbuttonText = btnMethodText;
}
- else if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddDimmer) && i == 2)
+ else if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddSwitch) && value == 100)
{
btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack;
+ btnMethodText.IsBold = true;
oldbuttonText = btnMethodText;
}
- else if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddCurtain) && i == 3)
+ else if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddDimmer) && value == 200)
{
btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack;
+ btnMethodText.IsBold = true;
+ oldbuttonText = btnMethodText;
+ }
+ else if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddCurtain) && value == 300)
+ {
+ btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack;
+ btnMethodText.IsBold = true;
oldbuttonText = btnMethodText;
}
#endregion
#region 鏁版嵁澶勭悊
- switch (i)
+ switch (value)
{
- case 0:
+ case 1:
btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.AddScene);
break;
- case 1:
+ case 100:
btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.AddSwitch);
break;
- case 2:
+ case 200:
btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.AddDimmer);
break;
- case 3:
+ case 300:
btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.AddCurtain);
line2.Visible = false;
break;
}
- if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddScene) && i == 0)
+ if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddScene) && value == 1)
{
btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack;
+ btnMethodText.IsBold = true;
oldbuttonText = btnMethodText;
}
- if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddSwitch) && i == 1)
+ if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddSwitch) && value == 100)
{
btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack;
+ btnMethodText.IsBold = true;
oldbuttonText = btnMethodText;
}
- if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddDimmer) && i == 2)
+ if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddDimmer) && value == 200)
{
btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack;
+ btnMethodText.IsBold = true;
oldbuttonText = btnMethodText;
}
- if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddCurtain) && i == 3)
+ if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddCurtain) && value == 300)
{
btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack;
+ btnMethodText.IsBold = true;
oldbuttonText = btnMethodText;
}
#endregion
@@ -796,240 +891,63 @@
}
if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddScene))
{
- if (currentKey.bindList.Count != 0)
+ var addScenePage = new Shared.Phone.UserCenter.DeviceBind.AddScenePage(currentKey);
+ Shared.Phone.UserView.HomePage.Instance.AddChidren(addScenePage);
+ Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
+ addScenePage.Show();
+
+ Action<List<BindListResponseObj>> action = (obj) =>
{
- var bindSc = currentKey.bindList.Find(obj => (obj.BindType == 2));
- if (bindSc != null)
- {
- var alert = new Alert(Language.StringByID(R.MyInternationalizationString.Tip), Language.StringByID(R.MyInternationalizationString.DelLocalBindListThenAddAgain),
- Language.StringByID(R.MyInternationalizationString.Cancel), Language.StringByID(R.MyInternationalizationString.Confrim));
- alert.Show();
-
- alert.ResultEventHandler += async (s1, e1) =>
- {
- if (e1)
- {
- var result = await RemoveTargets(bindSc, line2);
- if (result == 0)
- {
- var addScenePage = new Shared.Phone.UserCenter.DeviceBind.AddScenePage(currentKey);
- Shared.Phone.UserView.HomePage.Instance.AddChidren(addScenePage);
- Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
- addScenePage.Show();
-
- Action<List<BindListResponseObj>> action = (obj) =>
- {
- currentKey.bindList = obj;
- RefreshList();
- };
- addScenePage.action += action;
- dialog.Close();
- }
- else
- {
- currentKey.currentKeySelectModeText = oldKeySelectModeText;
- dialog.Close();
- }
- }
- else
- {
- currentKey.currentKeySelectModeText = oldKeySelectModeText;
- dialog.Close();
- }
- };
- }
- }
- else
- {
- var addScenePage = new Shared.Phone.UserCenter.DeviceBind.AddScenePage(currentKey);
- Shared.Phone.UserView.HomePage.Instance.AddChidren(addScenePage);
- Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
- addScenePage.Show();
-
- Action<List<BindListResponseObj>> action = (obj) =>
- {
- currentKey.bindList = obj;
- RefreshList();
- };
- addScenePage.action += action;
- dialog.Close();
- }
+ currentKey.bindList = obj;
+ RefreshList();
+ };
+ addScenePage.action += action;
+ dialog.Close();
}
if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddSwitch))
{
- if (currentKey.bindList.Count != 0)
+ var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.AddDevicePage(currentKey, "AddSwitch");
+ Shared.Phone.UserView.HomePage.Instance.AddChidren(addDevicePage);
+ Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
+ addDevicePage.Show();
+
+ Action<List<BindListResponseObj>> action = (obj) =>
{
- var bindSc = currentKey.bindList.Find(obj => (obj.BindType == 2));
- if (bindSc != null)
- {
- var alert = new Alert(Language.StringByID(R.MyInternationalizationString.Tip), Language.StringByID(R.MyInternationalizationString.DelLocalBindListThenAddAgain1),
- Language.StringByID(R.MyInternationalizationString.Cancel), Language.StringByID(R.MyInternationalizationString.Confrim));
- alert.Show();
-
- alert.ResultEventHandler += async (s1, e1) =>
- {
- if (e1)
- {
- var result = await RemoveTargets(bindSc, line2);
- if (result == 0)
- {
- var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.AddDevicePage(currentKey, "AddSwitch");
- Shared.Phone.UserView.HomePage.Instance.AddChidren(addDevicePage);
- Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
- addDevicePage.Show();
-
- Action<List<BindListResponseObj>> action = (obj) =>
- {
- currentKey.bindList = obj;
- RefreshList();
- };
- addDevicePage.actionAddDevicePage += action;
- dialog.Close();
- }
- else
- {
- currentKey.currentKeySelectModeText = oldKeySelectModeText;
- dialog.Close();
- }
- }
- else
- {
- currentKey.currentKeySelectModeText = oldKeySelectModeText;
- dialog.Close();
- }
- };
- }
- }
- else
- {
- var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.AddDevicePage(currentKey, "AddSwitch");
- Shared.Phone.UserView.HomePage.Instance.AddChidren(addDevicePage);
- Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
- addDevicePage.Show();
-
- Action<List<BindListResponseObj>> action = (obj) =>
- {
- currentKey.bindList = obj;
- RefreshList();
- };
- addDevicePage.actionAddDevicePage += action;
- dialog.Close();
- }
+ currentKey.bindList = obj;
+ RefreshList();
+ };
+ addDevicePage.actionAddDevicePage += action;
+ dialog.Close();
}
if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddDimmer))
{
- if (currentKey.bindList.Count != 0)
+ var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.AddDevicePage(currentKey, "AddDimmer");
+ Shared.Phone.UserView.HomePage.Instance.AddChidren(addDevicePage);
+ Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
+ addDevicePage.Show();
+
+ Action<List<BindListResponseObj>> action = (obj) =>
{
- var bindSc = currentKey.bindList.Find(obj => (obj.BindType == 2));
- if (bindSc != null)
- {
- var alert = new Alert(Language.StringByID(R.MyInternationalizationString.Tip), Language.StringByID(R.MyInternationalizationString.DelLocalBindListThenAddAgain2),
- Language.StringByID(R.MyInternationalizationString.Cancel), Language.StringByID(R.MyInternationalizationString.Confrim));
- alert.Show();
-
- alert.ResultEventHandler += async (s1, e1) =>
- {
- if (e1)
- {
- var result = await RemoveTargets(bindSc, line2);
- if (result == 0)
- {
- var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.AddDevicePage(currentKey, "AddDimmer");
- Shared.Phone.UserView.HomePage.Instance.AddChidren(addDevicePage);
- Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
- addDevicePage.Show();
-
- Action<List<BindListResponseObj>> action = (obj) =>
- {
- currentKey.bindList = obj;
- RefreshList();
- };
- addDevicePage.actionAddDevicePage += action;
- dialog.Close();
- }
- else
- {
- currentKey.currentKeySelectModeText = oldKeySelectModeText;
- dialog.Close();
- }
- }
- else
- {
- currentKey.currentKeySelectModeText = oldKeySelectModeText;
- dialog.Close();
- }
- };
- }
- }
- else
- {
- var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.AddDevicePage(currentKey, "AddDimmer");
- Shared.Phone.UserView.HomePage.Instance.AddChidren(addDevicePage);
- Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
- addDevicePage.Show();
-
- Action<List<BindListResponseObj>> action = (obj) =>
- {
- currentKey.bindList = obj;
- RefreshList();
- };
- addDevicePage.actionAddDevicePage += action;
- dialog.Close();
- }
-
-
+ currentKey.bindList = obj;
+ RefreshList();
+ };
+ addDevicePage.actionAddDevicePage += action;
+ dialog.Close();
}
if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddCurtain))
{
- if (currentKey.bindList.Count != 0)
+ var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.AddDevicePage(currentKey, "AddCurtain");
+ Shared.Phone.UserView.HomePage.Instance.AddChidren(addDevicePage);
+ Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
+ addDevicePage.Show();
+
+ Action<List<BindListResponseObj>> action = (obj) =>
{
- var bindSc = currentKey.bindList.Find(obj => (obj.BindType == 2));
- if (bindSc != null)
- {
- var alert = new Alert(Language.StringByID(R.MyInternationalizationString.Tip), Language.StringByID(R.MyInternationalizationString.DelLocalBindListThenAddAgain3),
- Language.StringByID(R.MyInternationalizationString.Cancel), Language.StringByID(R.MyInternationalizationString.Confrim));
- alert.Show();
-
- alert.ResultEventHandler += async (s1, e1) =>
- {
- if (e1)
- {
- var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.AddDevicePage(currentKey, "AddCurtain");
- Shared.Phone.UserView.HomePage.Instance.AddChidren(addDevicePage);
- Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
- addDevicePage.Show();
-
- Action<List<BindListResponseObj>> action = (obj) =>
- {
- currentKey.bindList = obj;
- RefreshList();
- };
- addDevicePage.actionAddDevicePage += action;
- dialog.Close();
- }
- else
- {
- currentKey.currentKeySelectModeText = oldKeySelectModeText;
- dialog.Close();
- }
- };
- }
- }
- else
- {
- var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.AddDevicePage(currentKey, "AddCurtain");
- Shared.Phone.UserView.HomePage.Instance.AddChidren(addDevicePage);
- Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
- addDevicePage.Show();
-
- Action<List<BindListResponseObj>> action = (obj) =>
- {
- currentKey.bindList = obj;
- RefreshList();
- };
- addDevicePage.actionAddDevicePage += action;
- dialog.Close();
- }
+ currentKey.bindList = obj;
+ RefreshList();
+ };
+ addDevicePage.actionAddDevicePage += action;
+ dialog.Close();
}
};
btnMethodText.MouseUpEventHandler += eHandler;
@@ -1038,13 +956,48 @@
}
/// <summary>
+ /// 鑾峰彇鎸夐敭鏀寔鐨勫ぇ绫�
+ /// </summary>
+ /// <returns></returns>
+ private async System.Threading.Tasks.Task<List<int>> GetTypeMode()
+ {
+ //濡傛灉褰撳墠浣忓畢鏄櫄鎷熶綇瀹�
+ if (Common.Config.Instance.Home.IsVirtually == true)
+ {
+ //鍒欓粯璁ゅ叏閮ㄥ姛鑳介兘缁欏畠
+ typeModeList = new List<int>() { 1, 100, 200, 300, 0, 101, 102 };
+ return typeModeList;
+ }
+ if (typeModeList != null)
+ {
+ typeModeList.Clear();
+ }
+ if (currentKey.privateFuncSecondLevelList.Count == 0 || currentKey.privateFuncSecondLevelList.Contains(1) == false || currentKey.privateFuncSecondLevelList.Contains(100) == false || currentKey.privateFuncSecondLevelList.Contains(200) == false || currentKey.privateFuncSecondLevelList.Contains(300) == false)
+ {
+ //鑾峰彇绗簩绾у姛鑳�
+ typeModeList = await currentKey.GetPanelDeviceFunctionLevel2(256);
+ if (typeModeList == null)
+ {
+ return null;
+ }
+ currentKey.privateFuncSecondLevelList = typeModeList;
+ }
+ else
+ {
+ typeModeList = currentKey.privateFuncSecondLevelList;
+ }
+ return typeModeList;
+ }
+
+ /// <summary>
/// 鍒犻櫎褰撳墠鐩爣鏂规硶
/// </summary>
/// <param name="bindDevice"></param>
/// <param name="btnDel"></param>
/// <returns></returns>
- async System.Threading.Tasks.Task<int> RemoveTargets(BindListResponseObj bindDevice, Button btnDel)
- {
+ private int RemoveTargets(BindListResponseObj bindDevice, Button btnDel)
+ {
+ int result = -1;
var delDevice = new DelDeviceBindData();
delDevice.DeviceAddr = currentKey.DeviceAddr;
delDevice.Epoint = currentKey.DeviceEpoint;
@@ -1057,6 +1010,16 @@
removeDevice.BindMacAddr = bindDevice.BindMacAddr;
removeDevice.BindEpoint = bindDevice.BindEpoint;
delDevice.RemoveBindList.Add(removeDevice);
+ //鏄寒搴﹀啀娆″彂鍒犻櫎6鐨勫懡浠�
+ if (currentClusterID == 8)
+ {
+ var removeDevice2 = new RemoveBindListObj();
+ removeDevice2.BindCluster = 6;
+ removeDevice2.BindType = 0;
+ removeDevice2.BindMacAddr = bindDevice.BindMacAddr;
+ removeDevice2.BindEpoint = bindDevice.BindEpoint;
+ delDevice.RemoveBindList.Add(removeDevice2);
+ }
}
else if (bindDevice.BindType == 2)
{
@@ -1067,149 +1030,148 @@
delDevice.RemoveBindList.Add(removeDevice);
}
- try
+ System.Threading.Tasks.Task.Run(() =>
{
- CommonPage.Loading.Start("");
- var delResult = new DelDeviceBindResponseAllData();
- delResult = await currentKey.DelDeviceBindAsync(delDevice);
- //if (delResult != null)
- //{
- // if (delResult.removeBindResultResponseData != null)
- // {
- // if (delResult.removeBindResultResponseData.Result == 0)
- // {
- // currentKey.bindList.Remove(bindDevice);
- // RefreshList();
- // return 0;
- // }
- // else
- // {
- // new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.None, CloseTime = 2 }.Show(CommonPage.Instance);
- // }
- // }
- // else if (delResult.delDeviceBindResponseData != null)
- // {
- // foreach (var remTarget in delResult.delDeviceBindResponseData.RemoveBindList)
- // {
- // if (remTarget.Result == 0)
- // {
- // currentKey.bindList.Remove(bindDevice);
- // RefreshList();
- // //濡傛灉鏄満鏅紝鐢ㄦ埛鍒犻櫎娓呯┖褰撳墠鍒版埧闂村垪琛�
- // currentKey.RoomId = "";
- // currentKey.ReSave();
- // return 0;
- // }
- // else
- // {
- // new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.None, CloseTime = 2 }.Show(CommonPage.Instance);
- // }
- // }
- // }
- //}
- //else
- //{
- // new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 2 }.Show(CommonPage.Instance);
- //}
-
- if (delResult.delDeviceBindResponseData?.RemoveBindList != null)
+ try
{
- foreach (var re in delResult.delDeviceBindResponseData.RemoveBindList)
+ Application.RunOnMainThread(() =>
{
- switch (re.Result)
+ CommonPage.Loading.Start("");
+ });
+ var delResult = new DelDeviceBindResponseAllData();
+ delResult = HdlDeviceBindLogic.Current.DelDeviceBindAsync(delDevice);
+ if (delResult != null && delResult.delDeviceBindResponseData != null)
+ {
+ if (delResult.delDeviceBindResponseData?.RemoveBindList != null)
{
- case 0:
- currentKey.bindList.Remove(bindDevice);
- RefreshList();
- //濡傛灉鏄満鏅紝鐢ㄦ埛鍒犻櫎娓呯┖褰撳墠鍒版埧闂村垪琛�
- currentKey.RoomId = "";
- currentKey.ReSave();
- return 0;
- break;
- case 1:
- currentKey.bindList.Clear();
- try
+ foreach (var re in delResult.delDeviceBindResponseData.RemoveBindList)
+ {
+ switch (re.Result)
{
- CommonPage.Loading.Start("");
-
- var getBindList = await currentKey.GetDeviceBindAsync();
- var bindDeviceListTemp = new System.Collections.Generic.List<BindListResponseObj> { };
- var bindSceneListTemp = new System.Collections.Generic.List<BindListResponseObj> { };
- if (getBindList != null)
- {
- if (getBindList.getAllBindResponseData != null)
+ case 0:
+ currentKey.bindList.Remove(bindDevice);
+ Application.RunOnMainThread(() =>
{
- foreach (var b in getBindList.getAllBindResponseData.BindList)
+ RefreshList();
+ //濡傛灉鏄満鏅紝鐢ㄦ埛鍒犻櫎娓呯┖褰撳墠鍒版埧闂村垪琛�
+ if (re.BindType == 2)
{
- if (b.BindCluster == currentClusterID)
+ currentKey.panelMode = 65535;
+ }
+ currentKey.ReSave();
+ });
+ result = 0;
+ break;
+ case 1:
+ currentKey.bindList.Clear();
+ try
+ {
+ Application.RunOnMainThread(() =>
+ {
+ CommonPage.Loading.Start("");
+ });
+ var getBindList = HdlDeviceBindLogic.Current.GetDeviceBindAsync(currentKey);
+ var bindDeviceListTemp = new System.Collections.Generic.List<BindListResponseObj> { };
+ var bindSceneListTemp = new System.Collections.Generic.List<BindListResponseObj> { };
+ if (getBindList != null)
+ {
+ if (getBindList.getAllBindResponseData != null)
{
- if (b.BindCluster == 6)
+ foreach (var b in getBindList.getAllBindResponseData.BindList)
{
+ if (b.BindCluster == currentClusterID)
+ {
+ if (b.BindCluster == 6)
+ {
- if (b.BindType == 2)
- {
- bindSceneListTemp.Add(b);
+ if (b.BindType == 2)
+ {
+ bindSceneListTemp.Add(b);
+ }
+ else
+ {
+ bindDeviceListTemp.Add(b);
+ }
+ }
+ else
+ {
+ currentKey.bindList.Add(b);
+ }
}
- else
- {
- bindDeviceListTemp.Add(b);
- }
- }
- else
- {
- currentKey.bindList.Add(b);
}
}
}
+ if (currentKey.panelMode == 1)
+ {
+ currentKey.bindList = bindSceneListTemp;
+ }
+ else if (currentKey.panelMode == 100 || currentKey.panelMode == 101 || currentKey.panelMode == 102)
+ {
+ currentKey.bindList = bindDeviceListTemp;
+ }
}
- }
- if (currentKey.panelMode == 1)
- {
- currentKey.bindList = bindSceneListTemp;
- }
- else if (currentKey.panelMode == 100 || currentKey.panelMode == 101 || currentKey.panelMode == 102)
- {
- currentKey.bindList = bindDeviceListTemp;
- }
+ catch { }
+ finally
+ {
+ Application.RunOnMainThread(() =>
+ {
+ RefreshList();
+ CommonPage.Loading.Hide();
+ });
+ }
+ break;
+ case 2:
+ if (delResult.removeBindResultResponseData != null)
+ {
+ if (delResult.removeBindResultResponseData.Result == 0)
+ {
+ currentKey.bindList.Remove(bindDevice);
+ Application.RunOnMainThread(() =>
+ {
+ RefreshList();
+ });
+ result = 0;
+ }
+ else
+ {
+ Application.RunOnMainThread(() =>
+ {
+ new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel);
+ });
+ }
+ }
+ break;
+ default:
+ break;
}
- catch { }
- finally
- {
- RefreshList();
- CommonPage.Loading.Hide();
- }
- break;
- case 2:
- if (delResult.removeBindResultResponseData != null)
- {
- if (delResult.removeBindResultResponseData.Result == 0)
- {
- currentKey.bindList.Remove(bindDevice);
- RefreshList();
- return 0;
- }
- else
- {
- new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel);
- }
- }
- break;
- default:
- break;
+ }
+ }
+ else
+ {
+ Application.RunOnMainThread(() =>
+ {
+ new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel);
+ });
}
}
+ else
+ {
+ Application.RunOnMainThread(() =>
+ {
+ new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime) + "(" + "5003" + ")", Direction = AMPopTipDirection.None, CloseTime = 2 }.Show(CommonPage.Instance);
+ });
+ }
}
- else
+ catch { }
+ finally
{
- new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel);
+ Application.RunOnMainThread(() =>
+ {
+ CommonPage.Loading.Hide();
+ });
}
- }
- catch { }
- finally
- {
- CommonPage.Loading.Hide();
- }
- return -1;
+ });
+ return result;
}
/// <summary>
@@ -1221,17 +1183,6 @@
scList.Clear();
base.RemoveFromParent();
}
-
- public void DeviceInfoChange(CommonDevice common, string typeTag)
- {
- }
-
- public void ChangedILogicStatus(ZigBee.Device.Logic logic)
- {
- }
-
- public void ChangedISceneStatus(Scene scene)
- {
- }
}
}
+
--
Gitblit v1.8.0