android,遥控器控制CCT灯,APP上无法同步显示调整

预置条件:遥控器控制CCT灯
操作步骤:变化色温显示
预期结果:APP上色温条会同步显示变化
实际结果:APP上色温条无反应

一看到这个bug就知道是数据问题,首先我找了个遥控器跟灯,试了一下,发现亮度是会有同步,而色温却没有同步。

解决思路:1先找到对应页面 2断点查看下为什么没有值

找到了DeviceCtrlFragment页面 发现色温条 tempSeekbar取的是

getAct().selectedDevice.getTemperature()

就去取看setTemperature的值 发现只有一个地方调用 

而setBrightness却有两个地方调用
for (OnlineStatusNotificationParser.DeviceNotificationInfo notificationInfo : notificationInfoList) {
            Log.e("weichongbin1"," brightness = "+notificationInfo.brightness+" connectionStatus = "+notificationInfo.connectionStatus+" meshAddress = "+notificationInfo.meshAddress+" reserve = "+notificationInfo.reserve+" status = "+notificationInfo.status);

            int meshAddress = notificationInfo.meshAddress;
            int brightness = notificationInfo.brightness;
            int temperature = notificationInfo.reserve;
            Device device = DeviceMange.getInstance().getDeviceByMesh(meshAddress);
            if (device != null) {
                device.setMeshAddress(meshAddress);
                if (notificationInfo.connectionStatus != ConnectionStatus.OFF) {
                    device.setBrightness(brightness);
                    device.setTemperature(temperature);
                    Log.e("weichongbin1","设备上报状态设置");
                }
                device.setConnectionStatus(notificationInfo.connectionStatus);
                CtrlDeviceHandler.handler.removeMessages(meshAddress);
            }

        }

发现这边原来设备上报状态的时候,只保存了亮度没保存色温 添加后验证 就没问题了

猜你喜欢

转载自blog.csdn.net/qq_32114025/article/details/83414937