From 9d61367c1fd278f58f721d4c0e69999f89e4485d Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期四, 12 十二月 2019 14:14:30 +0800
Subject: [PATCH] 添加最新绑定机制
---
ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs | 393 ++++++++++++++++++++++++++++++++------------------------
1 files changed, 224 insertions(+), 169 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs
old mode 100755
new mode 100644
index 9b61629..dc6a573
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs
@@ -43,6 +43,7 @@
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> { };//鏈湴鍦烘櫙鍒楄〃
+ FrameLayout blankFrameLayout;//绌烘暟鎹樉绀哄竷灞�
#endregion
//鍒濆鍖栨寜閿暟鎹�
@@ -254,48 +255,24 @@
}
}
else
- {
+ {
+ currentKey.panelMode = 65535;
SideslipFramelayout();
}
};
btnBindAdd.MouseDownEventHandler += eHandlerAdd;
btnAddFrameLayout.MouseDownEventHandler += eHandlerAdd;
#endregion
- CommonPage.Loading.Start("");
+ CommonPage.Loading.Start("");
+ middleFrameLayout();
InitListInfo();
}
-
+ /// <summary>
+ /// 涓儴甯冨眬
+ /// </summary>
void middleFrameLayout()
- {
- topFrameLayout = new FrameLayout
- {
- Height = Application.GetMinRealAverage(0),
- BackgroundColor = Shared.Common.ZigbeeColor.Current.XMWhite,
- };
- this.midFrameLayout.AddChidren(topFrameLayout);
-
- #region BindEmptyPic UI
- entryStatusPic = new Button
- {
- X = Application.GetRealWidth(213),
- Y = Application.GetRealHeight(418),
- UnSelectedImagePath = "BindPic/BindEmptyPic.png",
- Visible = false,
- };
- this.midFrameLayout.AddChidren(entryStatusPic);
-
- btnPicTip = new Button
- {
- Y = Application.GetRealHeight(1020),
- Text = Language.StringByID(R.MyInternationalizationString.NoControlTargets),
- TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
- Gravity = Gravity.CenterHorizontal,
- Visible = false,
- };
- this.midFrameLayout.AddChidren(btnPicTip);
- #endregion
-
+ {
midVerticalRefreshLayout = new VerticalRefreshLayout()
{
};
@@ -305,18 +282,54 @@
midVerticalRefreshLayout.BeginHeaderRefreshing();
InitListInfo();
midVerticalRefreshLayout.EndHeaderRefreshing();
+ };
+ topFrameLayout = new FrameLayout
+ {
+ Height = Application.GetMinRealAverage(0),
+ BackgroundColor = Shared.Common.ZigbeeColor.Current.XMWhite,
};
+ midVerticalRefreshLayout.AddChidren(topFrameLayout);
+
+ BlankPicUI();
}
+ /// <summary>
+ /// 绌烘暟鎹甎I鏄剧ず
+ /// </summary>
+ void BlankPicUI()
+ {
+ blankFrameLayout = new FrameLayout
+ {
+ };
+ midVerticalRefreshLayout.AddChidren(blankFrameLayout);
+
+ entryStatusPic = new Button
+ {
+ X = Application.GetRealWidth(213),
+ Y = Application.GetRealHeight(418),
+ UnSelectedImagePath = "BindPic/BindEmptyPic.png",
+ Visible = false,
+ };
+ blankFrameLayout.AddChidren(entryStatusPic);
+
+ btnPicTip = new Button
+ {
+ Y = Application.GetRealHeight(1020),
+ Text = Language.StringByID(R.MyInternationalizationString.NoControlTargets),
+ TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
+ Gravity = Gravity.CenterHorizontal,
+ Visible = false,
+ };
+ blankFrameLayout.AddChidren(btnPicTip);
+ }
/// <summary>
/// 鎸夐敭缁戝畾琛ㄦ樉绀�
/// </summary>
async void RefreshList()
{
+ midVerticalRefreshLayout.RemoveAll();
this.midFrameLayout.RemoveAll();
middleFrameLayout();
- midVerticalRefreshLayout.RemoveAll();
-
var frameLayoutRow = new FrameLayout()
{
Height = Application.GetMinRealAverage(0),
@@ -331,8 +344,8 @@
entryStatusPic.Width = Application.GetRealWidth(654);
btnPicTip.Height = Application.GetRealHeight(49);
btnPicTip.Visible = true;
- entryStatusPic.Visible = true;
- midVerticalRefreshLayout.Height = Application.GetRealHeight(0);
+ entryStatusPic.Visible = true;
+ blankFrameLayout.Height = midVerticalRefreshLayout.Height;
}
else
{
@@ -340,7 +353,8 @@
entryStatusPic.Width = Application.GetRealWidth(0);
btnPicTip.Height = Application.GetRealHeight(0);
btnPicTip.Visible = false;
- entryStatusPic.Visible = false;
+ entryStatusPic.Visible = false;
+ blankFrameLayout.Height = Application.GetRealHeight(0);
if (currentKey.panelMode == 1)
{
topFrameLayout.Height = Application.GetRealHeight(0);
@@ -348,8 +362,7 @@
}
else
{
- topFrameLayout.Height = Application.GetRealHeight(150);
- midVerticalRefreshLayout.Y = Application.GetRealHeight(150);
+ topFrameLayout.Height = Application.GetRealHeight(150);
BindModeDisplay();
}
int curIndex = 0;
@@ -444,8 +457,11 @@
else
{
devicePic.UnSelectedImagePath = curSceneUI.IconPath;
- btnBindName.Text = curSceneUI.Name;
- btnFloorRoomName.Text = curSceneUI.GetZone();
+ btnBindName.Text = curSceneUI.Name;
+ if (curSceneUI.GetZone() != null)
+ {
+ btnFloorRoomName.Text = curSceneUI.GetZone();
+ }
}
}
else
@@ -457,18 +473,27 @@
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 = "";
+ var tempDevRoom = Common.Room.CurrentRoom.GetRoomByDevice(tempDev);
+ //鑾峰彇璁惧鎵�鍦ㄦゼ灞�
+ if (Common.Config.Instance.Home.FloorDics.Count == 0)
+ {
+ }
+ if (tempDevRoom != null)
+ {
+ 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);
+ if (deviceUi != null)
+ {
+ devicePic.UnSelectedImagePath = deviceUi.IconPath;
+ devicePic.Width = Application.GetRealWidth(110);
+ devicePic.Text = "";
+ }
if (tempDev.DeviceEpointName == "")
{
btnBindName.Text = tempDev.DeviceEpoint + Language.StringByID(R.MyInternationalizationString.uDeviceCircuit);
@@ -595,56 +620,75 @@
//涓�閿竻闄ゆ寜閿簨浠�
btnDel.MouseUpEventHandler += async (sender, e) =>
- {
- bool isDelSuccess = false;
- try
- {
- CommonPage.Loading.Start("");
- var bindResult = await currentKey.ClearBindInfoAsync();
- if (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;
- }
- }
- }
- }
- catch { }
- finally
- {
- if (isDelSuccess)
- {
- currentKey.panelMode = 65535;
- currentKey.bindList.Clear();
- RefreshList();
- //濡傛灉鏄満鏅紝鐢ㄦ埛鍒犻櫎娓呯┖褰撳墠鍒版埧闂村垪琛�
- currentKey.RoomId = "";
- currentKey.ReSave();
- }
- CommonPage.Loading.Hide();
- }
+ {
+ var alert = new Alert(Language.StringByID(R.MyInternationalizationString.Tip), Language.StringByID(R.MyInternationalizationString.SureClearKeyModeAndTargets),
+ Language.StringByID(R.MyInternationalizationString.Cancel), Language.StringByID(R.MyInternationalizationString.Confrim));
+ alert.Show();
+
+ alert.ResultEventHandler += async (s1, e1) =>
+ {
+ if (e1)
+ {
+ 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();
+ }
+ }
+ else
+ {
+
+ }
+ };
+
};
}
@@ -1067,97 +1111,108 @@
{
CommonPage.Loading.Start("");
var delResult = new DelDeviceBindResponseAllData();
- delResult = await currentKey.DelDeviceBindAsync(delDevice);
- if (delResult.delDeviceBindResponseData?.RemoveBindList != null)
+ delResult = await currentKey.DelDeviceBindAsync(delDevice);
+ if (delResult != null && delResult.delDeviceBindResponseData != null)
{
- foreach (var re in delResult.delDeviceBindResponseData.RemoveBindList)
+ if (delResult.delDeviceBindResponseData?.RemoveBindList != null)
{
- switch (re.Result)
+ foreach (var re in delResult.delDeviceBindResponseData.RemoveBindList)
{
- case 0:
- currentKey.bindList.Remove(bindDevice);
- RefreshList();
- //濡傛灉鏄満鏅紝鐢ㄦ埛鍒犻櫎娓呯┖褰撳墠鍒版埧闂村垪琛�
- currentKey.RoomId = "";
- currentKey.ReSave();
- return 0;
- break;
- case 1:
- currentKey.bindList.Clear();
- try
- {
- 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)
+ switch (re.Result)
+ {
+ case 0:
+ currentKey.bindList.Remove(bindDevice);
+ RefreshList();
+ //濡傛灉鏄満鏅紝鐢ㄦ埛鍒犻櫎娓呯┖褰撳墠鍒版埧闂村垪琛�
+ if(re.BindType == 2)
+ {
+ currentKey.panelMode = 65535;
+ }
+ currentKey.RoomId = "";
+ currentKey.ReSave();
+ return 0;
+ break;
+ case 1:
+ currentKey.bindList.Clear();
+ try
{
- if (getBindList.getAllBindResponseData != null)
- {
- foreach (var b in getBindList.getAllBindResponseData.BindList)
- {
- if (b.BindCluster == currentClusterID)
- {
- if (b.BindCluster == 6)
- {
+ CommonPage.Loading.Start("");
- if (b.BindType == 2)
+ 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)
+ {
+ foreach (var b in getBindList.getAllBindResponseData.BindList)
+ {
+ if (b.BindCluster == currentClusterID)
+ {
+ if (b.BindCluster == 6)
{
- bindSceneListTemp.Add(b);
+
+ if (b.BindType == 2)
+ {
+ bindSceneListTemp.Add(b);
+ }
+ else
+ {
+ bindDeviceListTemp.Add(b);
+ }
}
else
{
- bindDeviceListTemp.Add(b);
+ currentKey.bindList.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)
+ catch { }
+ finally
{
- currentKey.bindList = bindSceneListTemp;
- }
- else if (currentKey.panelMode == 100 || currentKey.panelMode == 101 || currentKey.panelMode == 102)
- {
- currentKey.bindList = bindDeviceListTemp;
- }
- }
- catch { }
- finally
- {
- RefreshList();
- CommonPage.Loading.Hide();
- }
- break;
- case 4:
- if (delResult.removeBindResultResponseData != null)
- {
- if (delResult.removeBindResultResponseData.Result == 0)
- {
- currentKey.bindList.Remove(bindDevice);
RefreshList();
- return 0;
+ CommonPage.Loading.Hide();
}
- else
+ break;
+ case 2:
+ if (delResult.removeBindResultResponseData != null)
{
- new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel);
+ 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;
+ break;
+ default:
+ break;
+ }
}
+ }
+ else
+ {
+ new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel);
}
}
else
{
- new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel);
+ new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 2 }.Show(CommonPage.Instance);
}
}
catch { }
--
Gitblit v1.8.0