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 | 655 +++++++++++++++++++++++++----------------------------------
1 files changed, 280 insertions(+), 375 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs
index be9b319..726615a 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs
@@ -9,7 +9,7 @@
namespace Shared.Phone.UserCenter.DeviceBind
{
/// <summary>
- /// 鎸夐敭绠$悊
+ /// 鏅�氶潰鏉跨殑缁戝畾鐣岄潰銆愬彲缁戝畾澶氫釜鐩爣銆�
/// </summary>
public class BindTargetsPage : BindCommonLayout
{
@@ -67,10 +67,6 @@
/// </summary>
List<int> typeModeList;
/// <summary>
- /// 缃戝叧涓殑鍦烘櫙鍒楄〃
- /// </summary>
- public List<ScenesListInfo> gwScenesList = new List<ScenesListInfo>();
- /// <summary>
/// 鏄惁鏀寔璇诲彇
/// </summary>
bool IsRead = false;
@@ -95,21 +91,12 @@
}
//鑾峰彇鏈湴鍦烘櫙鍒楄〃
scList = HdlSceneLogic.Current.GetAllRoomSceneList();
- //鑾峰彇缃戝叧鍦烘櫙琛�
- if (gwScenesList.Count == 0)
- {
- var gwSceneObj = await currentKey.GetSceneInfoAsync();
- if (gwSceneObj != null && gwSceneObj.getSceneInfo != null)
- {
- gwScenesList = gwSceneObj.getSceneInfo.ScenesList;
- }
- }
//鍔ㄦ�佽幏鍙栨寜閿敮鎸佺殑澶х被
typeModeList = await GetTypeMode();
#region 璇诲彇闈㈡澘褰撳墠妯″紡
//璇诲彇鎸夐敭褰撳墠妯″紡
- var tempDeata = await currentKey.ReadPanelConfigureInfoAsync();
+ var tempDeata = HdlDeviceBindLogic.Current.ReadPanelConfigureInfoAsync(currentKey);
if (tempDeata != null && tempDeata.deviceStatusReportData != null)
{
foreach (var attr in tempDeata.deviceStatusReportData.AttriBute)
@@ -136,7 +123,7 @@
GetDeviceBindResponseAllData getBindList = null;
if (IsRead)
{
- getBindList = await currentKey.GetDeviceBindAsync();
+ 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)
@@ -181,7 +168,7 @@
{
CommonPage.Loading.Hide();
midVerticalRefreshLayout.EndHeaderRefreshing();
- new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance);
+ new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime) + "(" + "5007" + ")", Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance);
return;
});
}
@@ -220,7 +207,7 @@
{
CommonPage.Loading.Hide();
midVerticalRefreshLayout.EndHeaderRefreshing();
- new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance);
+ new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime) + "(" + "108_ 6533" + ")", Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance);
});
return;
}
@@ -246,7 +233,7 @@
var btnAddFrameLayout = new FrameLayout()
{
- X = Application.GetRealWidth(888),
+ X = Application.GetRealWidth(772 - 58),
Width = Application.GetRealWidth(192),
};
this.titleFrameLayout.AddChidren(btnAddFrameLayout);
@@ -254,8 +241,8 @@
var btnBindAdd = new Button
{
X = Application.GetRealWidth(62),
- Height = Application.GetRealHeight(72),
- Width = Application.GetRealWidth(72),
+ Height = Application.GetMinReal(72),
+ Width = Application.GetMinReal(72),
UnSelectedImagePath = "BindPic/BindAdd.png",
};
btnAddFrameLayout.AddChidren(btnBindAdd);
@@ -270,7 +257,7 @@
{
currentClusterID = 6;
currentKey.panelMode = 1;
- var addScenePage = new Shared.Phone.UserCenter.DeviceBind.AddScenePage(currentKey, gwScenesList);
+ 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();
@@ -352,6 +339,7 @@
InitListInfo();
}
+
/// <summary>
/// 涓儴甯冨眬
/// </summary>
@@ -359,6 +347,7 @@
{
midVerticalRefreshLayout = new VerticalFrameRefreshControl(29)
{
+ Height = this.midFrameLayout.Height + 1,
};
this.midFrameLayout.AddChidren(midVerticalRefreshLayout);
midVerticalRefreshLayout.BeginHeaderRefreshingAction += () =>
@@ -445,7 +434,7 @@
var rowLayout = new RowLayoutControl(midVerticalRefreshLayout.rowSpace / 2);
rowLayout.BackgroundColor = ZigbeeColor.Current.XMWhite;
- midVerticalRefreshLayout.AddChidrenRow(rowLayout);
+ midVerticalRefreshLayout.AddChidren2(rowLayout);
rowLayout.frameTable.UseClickStatu = false;
var devicePic = rowLayout.frameTable.AddLeftIcon();
devicePic.Y = Application.GetRealHeight(49);
@@ -472,14 +461,7 @@
devicePic.UnSelectedImagePath = "Scene/SceneIcon.png";
if (curSceneUI == null)
{
- if (string.IsNullOrEmpty(bindDevice.ESName))
- {
- btnBindNameText = Language.StringByID(R.MyInternationalizationString.OffLineScene) + "_" + "ID" + "_" + bindDevice.BindScenesId.ToString();
- }
- else
- {
- btnBindNameText = Language.StringByID(R.MyInternationalizationString.OffLineScene) + "_" + bindDevice.ESName;
- }
+ btnBindNameText = Language.StringByID(R.MyInternationalizationString.OffLineScene) + "_" + "ID" + "_" + bindDevice.BindScenesId.ToString();
}
else
{
@@ -488,6 +470,10 @@
if (myName != null)
{
btnFloorRoomNameText = myName;
+ }
+ else
+ {
+ btnFloorRoomNameText = Language.StringByID(R.MyInternationalizationString.Undistributed);
}
}
}
@@ -508,16 +494,34 @@
//鑾峰彇鎴块棿鐨勫悕瀛�
var tempDevRoomName = tempDevRoom.Name;
//鑾峰彇妤煎眰鐨勫悕瀛�
- var tempDevFloorName = Common.Config.Instance.Home.GetFloorNameById(tempDevFloorId);
+ var tempDevFloorName = HdlResidenceLogic.Current.GetFloorNameById(tempDevFloorId);
if (string.IsNullOrEmpty(tempDevFloorName))
{
- btnFloorRoomNameText = tempDevRoomName;
+ if (string.IsNullOrEmpty(tempDevRoomName))
+ {
+ btnFloorRoomNameText = Language.StringByID(R.MyInternationalizationString.Undistributed);
+ }
+ else
+ {
+ btnFloorRoomNameText = tempDevRoomName;
+ }
}
else
{
- btnFloorRoomNameText = tempDevFloorName + "," + tempDevRoomName;
+ 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 = "";
@@ -545,9 +549,9 @@
var btnFloorRoomName = rowLayout.frameTable.AddBottomView(btnFloorRoomNameText, 800);
rowLayout.frameTable.AddBottomLine();
var btnDel = rowLayout.AddDeleteControl();
- btnDel.ButtonClickEvent += async (sender, e) =>
- {
- RemoveTargets(bindDevice, btnDel);
+ btnDel.ButtonClickEvent += (sender, e) =>
+ {
+ RemoveTargets(bindDevice, btnDel);
};
#endregion
}
@@ -563,7 +567,7 @@
{
var modeRowLayout = new RowLayoutControl(midVerticalRefreshLayout.rowSpace / 2);
modeRowLayout.BackgroundColor = ZigbeeColor.Current.XMWhite;
- midVerticalRefreshLayout.AddChidrenRow(modeRowLayout);
+ midVerticalRefreshLayout.AddChidren2(modeRowLayout);
modeRowLayout.frameTable.UseClickStatu = false;
modeRowLayout.frameTable.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.keyMode), 400);
var btnKeyModeTipText = "";
@@ -621,61 +625,79 @@
var alert = new Shared.Phone.UserCenter.ShowMsgControl(ShowMsgType.Confirm, msg, Language.StringByID(R.MyInternationalizationString.DoorlockConfirm));
alert.Show();
//浣跨敤纭鍨嬪脊妗嗘椂,鐨勫洖璋冨嚱鏁�
- alert.ConfirmClickEvent += async () =>
+ alert.ConfirmClickEvent += () =>
{
bool isDelSuccess = false;
- try
+ System.Threading.Tasks.Task.Run(() =>
{
- CommonPage.Loading.Start("");
- var bindResult = await currentKey.ClearBindInfoAsync();
- if (bindResult != null && bindResult.clearBindInfoResponseData != null)
+ try
{
- 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
+ CommonPage.Loading.Start("");
+ });
+ var bindResult = HdlDeviceBindLogic.Current.ClearBindInfoAsync(currentKey);
+ if (bindResult != null && bindResult.clearBindInfoResponseData != null)
{
- var temp = await currentKey.ConfigureHdlKeyValueAsync(Panel.KeyMode.Default);
- if (temp.setWritableValueResponData?.Status != 0)
+ if (bindResult.clearBindInfoResponseData.Result != 0)
{
- var temp1 = await currentKey.ConfigureHdlKeyValueAsync(Panel.KeyMode.Default);
- if (temp1.setWritableValueResponData?.Status != 0)
+ Application.RunOnMainThread(() =>
{
- new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.ChangeBindMode), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel);
+ 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
+ }
+ else
+ {
+ Application.RunOnMainThread(() =>
{
- isDelSuccess = true;
- }
+ new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime) + "(" + "5006" + ")", Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel);
+ });
}
}
- else
+ catch { }
+ finally
{
- new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel);
+ Application.RunOnMainThread(() =>
+ {
+ if (isDelSuccess)
+ {
+ currentKey.panelMode = 65535;
+ currentKey.bindList.Clear();
+ RefreshList();
+ //濡傛灉鏄満鏅紝鐢ㄦ埛鍒犻櫎娓呯┖褰撳墠鍒版埧闂村垪琛�
+ currentKey.ReSave();
+ }
+ CommonPage.Loading.Hide();
+ });
}
- }
- catch { }
- finally
- {
- if (isDelSuccess)
- {
- currentKey.panelMode = 65535;
- currentKey.bindList.Clear();
- RefreshList();
- //濡傛灉鏄満鏅紝鐢ㄦ埛鍒犻櫎娓呯┖褰撳墠鍒版埧闂村垪琛�
- currentKey.RoomId = "";
- currentKey.ReSave();
- }
- CommonPage.Loading.Hide();
- }
+ });
};
};
}
@@ -698,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",
@@ -720,26 +742,34 @@
if (typeModeList == null)
{
//鍐嶆鍔ㄦ�佽幏鍙栨寜閿敮鎸佺殑澶х被
- CommonPage.Loading.Start();
+ Application.RunOnMainThread(() =>
+ {
+ CommonPage.Loading.Start();
+ });
typeModeList = await GetTypeMode();
if (typeModeList == null)
{
Application.RunOnMainThread(() =>
{
- new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance);
+ new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime) + "(" + "0003" + ")", Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance);
+ CommonPage.Loading.Hide();
});
- CommonPage.Loading.Hide();
dialog.Close();
return;
}
else
{
- CommonPage.Loading.Hide();
+ Application.RunOnMainThread(() =>
+ {
+ CommonPage.Loading.Hide();
+ });
}
}
+ int count = 0;
foreach (var value in typeModeList)
{
+ count++;
#region rowView
var rowView = new FrameLayout()
{
@@ -861,234 +891,63 @@
}
if (currentKey.currentKeySelectModeText == Language.StringByID(R.MyInternationalizationString.AddScene))
{
- if (currentKey.bindList.Count != 0)
- {
- var bindSc = currentKey.bindList.Find(obj => (obj.BindType == 2));
- if (bindSc != null)
- {
- string msg = Language.StringByID(R.MyInternationalizationString.DelLocalBindListThenAddAgain);
- var alert = new Shared.Phone.UserCenter.ShowMsgControl(ShowMsgType.Confirm, msg, Language.StringByID(R.MyInternationalizationString.DoorlockConfirm));
- alert.Show();
- //浣跨敤纭鍨嬪脊妗嗘椂,鐨勫洖璋冨嚱鏁�
- alert.ConfirmClickEvent += async () =>
- {
- var result = await RemoveTargets(bindSc, line2);
- if (result == 0)
- {
- var addScenePage = new Shared.Phone.UserCenter.DeviceBind.AddScenePage(currentKey, gwScenesList);
- Shared.Phone.UserView.HomePage.Instance.AddChidren(addScenePage);
- Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
- addScenePage.Show();
+ 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
+ Action<List<BindListResponseObj>> action = (obj) =>
{
- var addScenePage = new Shared.Phone.UserCenter.DeviceBind.AddScenePage(currentKey, gwScenesList);
- 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 bindSc = currentKey.bindList.Find(obj => (obj.BindType == 2));
- if (bindSc != null)
- {
- string msg = Language.StringByID(R.MyInternationalizationString.DelLocalBindListThenAddAgain1);
- var alert = new Shared.Phone.UserCenter.ShowMsgControl(ShowMsgType.Confirm, msg, Language.StringByID(R.MyInternationalizationString.DoorlockConfirm));
- alert.Show();
- //浣跨敤纭鍨嬪脊妗嗘椂,鐨勫洖璋冨嚱鏁�
- alert.ConfirmClickEvent += async () =>
- {
- 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();
+ 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
+ Action<List<BindListResponseObj>> action = (obj) =>
{
- 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 dialog1 = new Dialog { };
- var doorDialog = new Shared.Phone.UserCenter.DoorLock.DoorlockDialog(dialog1, Language.StringByID(R.MyInternationalizationString.Tip));
- doorDialog.Show();
- doorDialog.dialogMidFraFrameLayout.Height = Application.GetRealHeight(58);
- doorDialog.dialogMidFraFrameLayout.X = Application.GetRealWidth(0);
- doorDialog.dialogMidFraFrameLayout.Y = Application.GetRealHeight(202);
- doorDialog.dialogMidFraFrameLayout.AddChidren(doorDialog.dialogMidText);
- doorDialog.dialogMidText.Text = Language.StringByID(R.MyInternationalizationString.DelLocalBindListThenAddAgain2);
- doorDialog.dialogMidFraFrameLayout.AddChidren(doorDialog.dialogMidText);
- doorDialog.dialogBtnConfirm.Text = Language.StringByID(R.MyInternationalizationString.DoorlockConfirm);
- doorDialog.dialogBtnCancel.MouseUpEventHandler += (sender1, e1) =>
- {
- currentKey.currentKeySelectModeText = oldKeySelectModeText;
- dialog.Close();
- dialog1.Close();
- };
- doorDialog.dialogBtnConfirm.MouseUpEventHandler += async (sender1, 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();
- dialog1.Close();
- }
- else
- {
- currentKey.currentKeySelectModeText = oldKeySelectModeText;
- dialog.Close();
- dialog1.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 bindSc = currentKey.bindList.Find(obj => (obj.BindType == 2));
- if (bindSc != null)
- {
- var dialog1 = new Dialog { };
- var doorDialog = new Shared.Phone.UserCenter.DoorLock.DoorlockDialog(dialog1, Language.StringByID(R.MyInternationalizationString.Tip));
- doorDialog.Show();
- doorDialog.dialogMidFraFrameLayout.Height = Application.GetRealHeight(58);
- doorDialog.dialogMidFraFrameLayout.X = Application.GetRealWidth(0);
- doorDialog.dialogMidFraFrameLayout.Y = Application.GetRealHeight(202);
- doorDialog.dialogMidFraFrameLayout.AddChidren(doorDialog.dialogMidText);
- doorDialog.dialogMidText.Text = Language.StringByID(R.MyInternationalizationString.DelLocalBindListThenAddAgain3);
- doorDialog.dialogMidFraFrameLayout.AddChidren(doorDialog.dialogMidText);
- doorDialog.dialogBtnConfirm.Text = Language.StringByID(R.MyInternationalizationString.DoorlockConfirm);
- doorDialog.dialogBtnCancel.MouseUpEventHandler += (sender1, e1) =>
- {
- currentKey.currentKeySelectModeText = oldKeySelectModeText;
- dialog.Close();
- dialog1.Close();
- };
- doorDialog.dialogBtnConfirm.MouseUpEventHandler += async (sender1, 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();
+ 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();
- dialog1.Close();
- };
- }
- }
- else
+ Action<List<BindListResponseObj>> action = (obj) =>
{
- 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;
@@ -1102,6 +961,13 @@
/// <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();
@@ -1129,8 +995,9 @@
/// <param name="bindDevice"></param>
/// <param name="btnDel"></param>
/// <returns></returns>
- private 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;
@@ -1143,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)
{
@@ -1153,120 +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 && delResult.delDeviceBindResponseData != null)
+ try
{
- if (delResult.delDeviceBindResponseData?.RemoveBindList != null)
+ Application.RunOnMainThread(() =>
{
- foreach (var re in delResult.delDeviceBindResponseData.RemoveBindList)
+ CommonPage.Loading.Start("");
+ });
+ var delResult = new DelDeviceBindResponseAllData();
+ delResult = HdlDeviceBindLogic.Current.DelDeviceBindAsync(delDevice);
+ if (delResult != null && delResult.delDeviceBindResponseData != null)
+ {
+ if (delResult.delDeviceBindResponseData?.RemoveBindList != null)
{
- switch (re.Result)
+ foreach (var re in delResult.delDeviceBindResponseData.RemoveBindList)
{
- 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
- {
- 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);
+ Application.RunOnMainThread(() =>
{
- if (getBindList.getAllBindResponseData != null)
+ RefreshList();
+ //濡傛灉鏄満鏅紝鐢ㄦ埛鍒犻櫎娓呯┖褰撳墠鍒版埧闂村垪琛�
+ if (re.BindType == 2)
{
- foreach (var b in getBindList.getAllBindResponseData.BindList)
+ 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 == currentClusterID)
+ foreach (var b in getBindList.getAllBindResponseData.BindList)
{
- if (b.BindCluster == 6)
+ if (b.BindCluster == currentClusterID)
{
-
- if (b.BindType == 2)
+ 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;
+ Application.RunOnMainThread(() =>
+ {
+ RefreshList();
+ CommonPage.Loading.Hide();
+ });
}
- else if (currentKey.panelMode == 100 || currentKey.panelMode == 101 || currentKey.panelMode == 102)
+ break;
+ case 2:
+ if (delResult.removeBindResultResponseData != null)
{
- currentKey.bindList = bindDeviceListTemp;
+ 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);
+ });
+ }
}
- }
- 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;
+ break;
+ default:
+ break;
+ }
}
+ }
+ else
+ {
+ Application.RunOnMainThread(() =>
+ {
+ 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);
+ 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.GwResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 2 }.Show(CommonPage.Instance);
+ Application.RunOnMainThread(() =>
+ {
+ CommonPage.Loading.Hide();
+ });
}
- }
- catch { }
- finally
- {
- CommonPage.Loading.Hide();
- }
- return -1;
+ });
+ return result;
}
/// <summary>
--
Gitblit v1.8.0