| | |
| | | /// 更新功能状态 |
| | | /// </summary> |
| | | /// <param name="updataFunction"></param> |
| | | public void UpdataStates(Function updataFunction, FrameLayout view, VerticalScrolViewLayout scrolView) |
| | | public void UpdataStates(Function updataFunction, FrameLayout view, VerticalScrolViewLayout scrolView,Room room=null) |
| | | { |
| | | try |
| | | { |
| | |
| | | { |
| | | return; |
| | | } |
| | | if(!scrolView.ScrollEnabled) |
| | | { |
| | | return; |
| | | } |
| | | if (room != null) |
| | | { |
| | | if (!updataFunction.roomIdList.Contains(room.sid)) |
| | | { |
| | | return; |
| | | } |
| | | } |
| | | for (int i = 0; i < scrolView.ChildrenCount; i++) |
| | | { |
| | | if (scrolView.GetChildren(i).Tag == null || scrolView.GetChildren(i).Tag.ToString() == "") |
| | |
| | | continue; |
| | | } |
| | | var viewTag = scrolView.GetChildren(i).Tag.ToString(); |
| | | if (viewTag == updataFunction.functionCategory.ToString() + "-" + updataFunction.functionType + "-" + updataFunction.sid) |
| | | if (viewTag == updataFunction.sid) |
| | | { |
| | | if (scrolView.GetChildren(i).GetType().Name == "FunctionControlZone") |
| | | if (scrolView.GetChildren(i).Tag != null && scrolView.GetChildren(i).Tag.ToString() == updataFunction.sid) |
| | | { |
| | | var fcView = scrolView.GetChildren(i) as FrameLayout; |
| | | for (int j = 0; j < fcView.ChildrenCount; j++) |
| | |
| | | case FunctionCategory.Light: |
| | | case FunctionCategory.Thermostat: |
| | | #region 按钮状态更新 |
| | | if (cTag == updataFunction.functionType + "_Switch_" + updataFunction.sid) |
| | | if (cTag == updataFunction.sid + "_Switch") |
| | | { |
| | | try |
| | | { |
| | | (fcView.GetChildren(j) as Button).IsSelected = updataFunction.on_off == "on"; |
| | | (fcView.GetChildren(j) as Button).IsSelected = updataFunction.trait_on_off.value.ToString() == "on"; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | |
| | | } |
| | | #endregion |
| | | #region 调光状态进度更新 |
| | | else if (cTag == updataFunction.functionType + "_DimmerBar_" + updataFunction.sid) |
| | | else if (cTag == updataFunction.sid + "_DimmerBar") |
| | | { |
| | | try |
| | | { |
| | | if (updataFunction.on_off == "on") |
| | | if (updataFunction.trait_on_off.value.ToString() == "on") |
| | | { |
| | | (fcView.GetChildren(j) as DiyImageSeekBar).Progress = (updataFunction as Light).brightness; |
| | | (fcView.GetChildren(j) as DiyImageSeekBar).ProgressBarColor = CSS.CSS_Color.AuxiliaryColor1; |
| | |
| | | { |
| | | try |
| | | { |
| | | (fcView.GetChildren(j) as Button).IsSelected = updataFunction.on_off == "on"; |
| | | (fcView.GetChildren(j) as Button).IsSelected = updataFunction.trait_on_off.value.ToString() == "on"; |
| | | (fcView.GetChildren(j) as Button).Text = updataFunction.lastState; |
| | | } |
| | | catch (Exception ex) |
| | |
| | | { |
| | | try |
| | | { |
| | | (fcView.GetChildren(j) as Button).IsSelected = uCurtain.on_off == "off"; |
| | | (fcView.GetChildren(j) as Button).IsSelected = uCurtain.trait_on_off.value.ToString() == "off"; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | |
| | | { |
| | | try |
| | | { |
| | | (fcView.GetChildren(j) as Button).IsSelected = uCurtain.on_off == "on"; |
| | | (fcView.GetChildren(j) as Button).IsSelected = uCurtain.trait_on_off.value.ToString() == "on"; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | MainPage.Log($"{this.GetType()} error 4 : {ex.Message}"); |
| | | } |
| | | } |
| | | #endregion |
| | | break; |
| | | case FunctionCategory.Music: |
| | | #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" ; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | MainPage.Log($"{this.GetType()} error 3 : {ex.Message}"); |
| | | } |
| | | } |
| | | #endregion |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | //public static void UpdataLightStates(Light uLight) |
| | | //{ |
| | | // Application.RunOnMainThread(() => |
| | | // { |
| | | // if (bodyDiv == null) |
| | | // return; |
| | | // if(uLight.sid == function.sid&& uLight.functionType == function.functionType) |
| | | // { |
| | | // for (int i = 0; i < bodyDiv.ChildrenCount; i++) |
| | | // { |
| | | // var c1 = bodyDiv.GetChildren(i); |
| | | // if (c1.Tag != null && c1.Tag.ToString() == "") |
| | | // { |
| | | // if (c1.Tag.ToString() == function.functionType + "_Switch_" + function.sid) |
| | | // { |
| | | // var btn = c1 as Button; |
| | | // btn.IsSelected = uLight.on_off == 1; |
| | | // } |
| | | // else if (c1.Tag.ToString() == function.functionType + "_DimmerBar_" + function.sid) |
| | | // { |
| | | // var bar = c1 as DiyImageSeekBar; |
| | | // bar.ProgressBarColor = uLight.on_off == 1 ? CSS.CSS_Color.AuxiliaryColor1 : CSS.CSS_Color.PromptingColor2; |
| | | // } |
| | | // } |
| | | // } |
| | | // } |
| | | // }); |
| | | //} |
| | | } |
| | | } |
| | | } |