Fix light controls inconsistance
This commit is contained in:
		@@ -100,7 +100,19 @@ class _LightControlsWidgetState extends State<LightControlsWidget> {
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  Widget _buildBrightnessControl(LightEntity entity) {
 | 
			
		||||
    if ((entity.supportBrightness) && (_tmpBrightness != null)) {
 | 
			
		||||
    if (entity.supportBrightness) {
 | 
			
		||||
      double val;
 | 
			
		||||
      if (_tmpBrightness != null) {
 | 
			
		||||
        if (_tmpBrightness > 255) {
 | 
			
		||||
          val = 255;
 | 
			
		||||
        } else if (_tmpBrightness < 1) {
 | 
			
		||||
          val = 1;
 | 
			
		||||
        } else {
 | 
			
		||||
          val = _tmpBrightness.toDouble();
 | 
			
		||||
        }
 | 
			
		||||
      } else {
 | 
			
		||||
        val = 1;
 | 
			
		||||
      }
 | 
			
		||||
      return UniversalSlider(
 | 
			
		||||
        onChanged: (value) {
 | 
			
		||||
          setState(() {
 | 
			
		||||
@@ -111,7 +123,7 @@ class _LightControlsWidgetState extends State<LightControlsWidget> {
 | 
			
		||||
        min: 1.0,
 | 
			
		||||
        max: 255.0,
 | 
			
		||||
        onChangeEnd: (value) => _setBrightness(entity, value),
 | 
			
		||||
        value: _tmpBrightness == null ? 1.0 : _tmpBrightness.toDouble(),
 | 
			
		||||
        value: val,
 | 
			
		||||
        leading: Icon(Icons.brightness_5),
 | 
			
		||||
        title: "Brightness",
 | 
			
		||||
      );
 | 
			
		||||
@@ -143,11 +155,17 @@ class _LightControlsWidgetState extends State<LightControlsWidget> {
 | 
			
		||||
 | 
			
		||||
  Widget _buildColorTempControl(LightEntity entity) {
 | 
			
		||||
    if (entity.supportColorTemp) {
 | 
			
		||||
      double val = entity.minMireds;
 | 
			
		||||
      double val;
 | 
			
		||||
      if (_tmpColorTemp != null) {
 | 
			
		||||
        if (_tmpColorTemp >= entity.minMireds && _tmpColorTemp <= entity.maxMireds) {
 | 
			
		||||
        if (_tmpColorTemp > entity.maxMireds) {
 | 
			
		||||
          val = entity.maxMireds;
 | 
			
		||||
        } else if (_tmpColorTemp < entity.minMireds) {
 | 
			
		||||
          val = entity.minMireds;
 | 
			
		||||
        } else {
 | 
			
		||||
          val = _tmpColorTemp.toDouble();
 | 
			
		||||
        }
 | 
			
		||||
      } else {
 | 
			
		||||
        val = entity.minMireds;
 | 
			
		||||
      }
 | 
			
		||||
      return UniversalSlider(
 | 
			
		||||
        title: "Color temperature",
 | 
			
		||||
@@ -209,8 +227,10 @@ class _LightControlsWidgetState extends State<LightControlsWidget> {
 | 
			
		||||
 | 
			
		||||
  Widget _buildEffectControl(LightEntity entity) {
 | 
			
		||||
    if ((entity.supportEffect) && (entity.effectList != null)) {
 | 
			
		||||
      Logger.d("[LIGHT] entity effects: ${entity.effectList}");
 | 
			
		||||
      Logger.d("[LIGHT] current effect: $_tmpEffect");
 | 
			
		||||
      List<String> list = List.from(entity.effectList);
 | 
			
		||||
      if (!list.contains(_tmpEffect)) {
 | 
			
		||||
      if (_tmpEffect!= null && !list.contains(_tmpEffect)) {
 | 
			
		||||
        list.insert(0, _tmpEffect);
 | 
			
		||||
      }
 | 
			
		||||
      return ModeSelectorWidget(
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user