| | |
| | | |
| | | 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); |
| | |
| | | //获取房间的名字 |
| | | var tempDevRoomName = tempDevRoom.Name; |
| | | //获取楼层的名字 |
| | | var tempDevFloorName = Common.Config.Instance.Home.GetFloorNameById(tempDevFloorId); |
| | | var tempDevFloorName = HdlResidenceLogic.Current.GetFloorNameById(tempDevFloorId); |
| | | if (string.IsNullOrEmpty(tempDevFloorName)) |
| | | { |
| | | if (string.IsNullOrEmpty(tempDevRoomName)) |
| | |
| | | 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 |
| | | } |
| | |
| | | { |
| | | 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 = ""; |
| | |
| | | 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 = HdlDeviceBindLogic.Current.ClearBindInfoAsync(currentKey); |
| | | 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 = HdlDeviceBindLogic.Current.ConfigureHdlKeyValueAsync(currentKey, Panel.KeyMode.Default); |
| | | if (temp != null && temp.setWritableValueResponData?.Status != 0) |
| | | if (bindResult.clearBindInfoResponseData.Result != 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); |
| | | 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), 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.ReSave(); |
| | | } |
| | | CommonPage.Loading.Hide(); |
| | | } |
| | | }); |
| | | }; |
| | | }; |
| | | } |
| | |
| | | } |
| | | 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); |
| | | 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); |
| | | 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; |
| | |
| | | /// <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; |
| | |
| | | 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) |
| | | { |
| | |
| | | delDevice.RemoveBindList.Add(removeDevice); |
| | | } |
| | | |
| | | try |
| | | System.Threading.Tasks.Task.Run(() => |
| | | { |
| | | CommonPage.Loading.Start(""); |
| | | var delResult = new DelDeviceBindResponseAllData(); |
| | | delResult = HdlDeviceBindLogic.Current.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.ReSave(); |
| | | return 0; |
| | | break; |
| | | case 1: |
| | | currentKey.bindList.Clear(); |
| | | try |
| | | { |
| | | 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) |
| | | 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), 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> |