| | |
| | | /// <param name="updataFunction"></param> |
| | | public void UpdataStates(Function updataFunction, FrameLayout view, VerticalScrolViewLayout scrolView,Room room=null) |
| | | { |
| | | try |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | |
| | | try |
| | | { |
| | | if (view == null || scrolView == null) |
| | | if (view == null || scrolView == null || updataFunction == null) |
| | | { |
| | | return; |
| | | } |
| | | if(!scrolView.ScrollEnabled) |
| | | if (!scrolView.ScrollEnabled) |
| | | { |
| | | return; |
| | | } |
| | | if (room != null) |
| | | { |
| | | if (!updataFunction.roomIdList.Contains(room.sid)) |
| | | if (!updataFunction.roomIds.Contains(room.roomId)) |
| | | { |
| | | return; |
| | | } |
| | | } |
| | | //if(updataFunction.roomIdList.Contains(Room)) |
| | | for (int i = 0; i < scrolView.ChildrenCount; i++) |
| | | { |
| | | if (scrolView.GetChildren(i).Tag == null || scrolView.GetChildren(i).Tag.ToString() == "") |
| | |
| | | { |
| | | case FunctionCategory.Light: |
| | | case FunctionCategory.Thermostat: |
| | | #region 按钮状态更新 |
| | | if (cTag == updataFunction.sid + "_Switch") |
| | | #region 按钮状态更新 |
| | | if (cTag == updataFunction.sid + "_Switch") |
| | | { |
| | | try |
| | | { |
| | | (fcView.GetChildren(j) as Button).IsSelected = updataFunction.trait_on_off.value.ToString() == "on"; |
| | | (fcView.GetChildren(j) as Button).IsSelected = updataFunction.trait_on_off.curValue.ToString() == "on"; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | MainPage.Log($"{this.GetType()} error 0 : {ex.Message}"); |
| | | } |
| | | } |
| | | #endregion |
| | | #region 调光状态进度更新 |
| | | else if (cTag == updataFunction.sid + "_DimmerBar") |
| | | #endregion |
| | | #region 调光状态进度更新 |
| | | else if (cTag == updataFunction.sid + "_DimmerBar") |
| | | { |
| | | try |
| | | { |
| | | if (updataFunction.trait_on_off.value.ToString() == "on") |
| | | if (updataFunction.trait_on_off.curValue.ToString() == "on") |
| | | { |
| | | (fcView.GetChildren(j) as DiyImageSeekBar).Progress = (updataFunction as Light).brightness; |
| | | (fcView.GetChildren(j) as DiyImageSeekBar).ProgressBarColor = CSS.CSS_Color.AuxiliaryColor1; |
| | |
| | | MainPage.Log($"{this.GetType()} error 1 : {ex.Message}"); |
| | | } |
| | | } |
| | | #endregion |
| | | #region 功能状态信息更新 |
| | | else if (cTag == updataFunction.functionType + "_laststates_" + updataFunction.sid) |
| | | #endregion |
| | | #region 功能状态信息更新 |
| | | else if (cTag == updataFunction.functionType + "_laststates_" + updataFunction.sid) |
| | | { |
| | | try |
| | | { |
| | | (fcView.GetChildren(j) as Button).IsSelected = updataFunction.trait_on_off.value.ToString() == "on"; |
| | | (fcView.GetChildren(j) as Button).IsSelected = updataFunction.trait_on_off.curValue.ToString() == "on"; |
| | | (fcView.GetChildren(j) as Button).Text = updataFunction.lastState; |
| | | } |
| | | catch (Exception ex) |
| | |
| | | break; |
| | | #endregion |
| | | case FunctionCategory.Curtain: |
| | | #region 窗帘更新 |
| | | var uCurtain = updataFunction as Curtain; |
| | | #region 窗帘更新 |
| | | var uCurtain = updataFunction as Curtain; |
| | | if (cTag == updataFunction.functionType + "_off_" + updataFunction.sid) |
| | | { |
| | | try |
| | | { |
| | | (fcView.GetChildren(j) as Button).IsSelected = uCurtain.trait_on_off.value.ToString() == "off"; |
| | | (fcView.GetChildren(j) as Button).IsSelected = uCurtain.trait_on_off.curValue.ToString() == "off"; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | |
| | | { |
| | | try |
| | | { |
| | | (fcView.GetChildren(j) as Button).IsSelected = uCurtain.trait_on_off.value.ToString() == "on"; |
| | | (fcView.GetChildren(j) as Button).IsSelected = uCurtain.trait_on_off.curValue.ToString() == "on"; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | MainPage.Log($"{this.GetType()} error 4 : {ex.Message}"); |
| | | } |
| | | } |
| | | #endregion |
| | | break; |
| | | #endregion |
| | | break; |
| | | case FunctionCategory.Music: |
| | | #region 音乐更新 |
| | | var uMusic = updataFunction as Music.A31MusicModel; |
| | | #region 音乐更新 |
| | | var uMusic = updataFunction as Music.A31MusicModel; |
| | | if (cTag == updataFunction.functionType + "_State_" + updataFunction.sid) |
| | | { |
| | | try |
| | | { |
| | | (fcView.GetChildren(j) as Button).IsSelected = uMusic.A31PlayStatus.status == "play" ; |
| | | (fcView.GetChildren(j) as Button).IsSelected = uMusic.A31PlayStatus.status == "play"; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | MainPage.Log($"{this.GetType()} error 3 : {ex.Message}"); |
| | | } |
| | | } |
| | | #endregion |
| | | break; |
| | | #endregion |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | MainPage.Log($"RoomControlZone Updata States error : {ex.Message}"); |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | MainPage.Log($"RoomControlZone Updata States error : {ex.Message}"); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | } |
| | | } |
| | | } |