JLChen
2020-09-24 e91af284643d5e370b0d18c384fe8de65f59d9b3
Android_HDL_SDK_XW/app/src/main/java/com/hdl/sdk/hdl_sdk/activity/CtrlActivity.java
@@ -60,7 +60,6 @@
    private boolean isZigbee = false;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
@@ -71,13 +70,12 @@
//        此方法为主动获取单一设备状态,逻辑模块、背景音乐模块没有这个api,仅支持灯光,窗帘,空调。一般不需要用到。
 //       HDLCommand.getDeviceState(appliancesInfo);
        //       HDLCommand.getDeviceState(appliancesInfo);
        initcurState();
        initView();
        initClickOnEvent();
    }
@@ -433,9 +431,9 @@
    private void initcurState() {
        appliancesInfo = (AppliancesInfo) getIntent().getSerializableExtra("hdl");
        isZigbee = getIntent().getExtras().getBoolean("isZigbee2Item");
        if (isZigbee){
            HDLCommand.getDeviceState(CtrlActivity.this,appliancesInfo,isZigbee);//如果是zigbee的需要调用单一状态回复
        }else {
        if (isZigbee) {
            HDLCommand.getDeviceState(CtrlActivity.this, appliancesInfo, isZigbee);//如果是zigbee的需要调用单一状态回复
        } else {
            //        lightState = 100;//初始化灯光亮度100
            curtainState = CurtainCtrlParser.curtainOff;
//        获取所有设备的状态。deviceStateBeanList为所有设备的状态列表
@@ -516,7 +514,7 @@
        lightBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                    HDLCommand.lightCtrl(appliancesInfo, 50,isZigbee);//state值代表调光大小0-100
                HDLCommand.lightCtrl(appliancesInfo, 50, isZigbee);//state值代表调光大小0-100
//                HDLCommand.lightCtrl(appliancesInfo,50,isZigbee);
            }
        });
@@ -525,7 +523,7 @@
            @Override
            public void onClick(View view) {
                //窗帘模块第二个参数 为CurtainCtrlParser.curtainOn,CurtainCtrlParser.curtainOff,CurtainCtrlParser.curtainPause其中一个
                HDLCommand.curtainCtrl(appliancesInfo, curtainState,isZigbee);
                HDLCommand.curtainCtrl(appliancesInfo, curtainState, isZigbee);
                if (curtainState == CurtainCtrlParser.curtainOn) {
                    curtainState = CurtainCtrlParser.curtainOff;
                } else {
@@ -538,14 +536,14 @@
        curtainBtn2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                HDLCommand.curtainCtrl(appliancesInfo, CurtainCtrlParser.curtainOn,isZigbee);
                HDLCommand.curtainCtrl(appliancesInfo, CurtainCtrlParser.curtainOn, isZigbee);
            }
        });
        curtainBtn3.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                HDLCommand.curtainCtrl(appliancesInfo, CurtainCtrlParser.curtainOff,isZigbee);
                HDLCommand.curtainCtrl(appliancesInfo, CurtainCtrlParser.curtainOff, isZigbee);
            }
        });
@@ -553,14 +551,14 @@
        curtainBtn4.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                HDLCommand.curtainCtrl(appliancesInfo, CurtainCtrlParser.curtainPause,isZigbee);
                HDLCommand.curtainCtrl(appliancesInfo, CurtainCtrlParser.curtainPause, isZigbee);
            }
        });
        curtainBtn5.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                HDLCommand.curtainCtrl(appliancesInfo, 20,isZigbee);
                HDLCommand.curtainCtrl(appliancesInfo, 20, isZigbee);
            }
        });
@@ -568,11 +566,11 @@
            @Override
            public void onClick(View view) {
                //演示当前状态为关,设置为开。开,设置为关。
                    if (airSwitchState == 0) {
                        HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airSwich, AirCtrlParser.airOn,isZigbee);//空调开
                    } else {
                        HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airSwich, AirCtrlParser.airOff,isZigbee);//空调关
                    }
                if (airSwitchState == 0) {
                    HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airSwich, AirCtrlParser.airOn, isZigbee);//空调开
                } else {
                    HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airSwich, AirCtrlParser.airOff, isZigbee);//空调关
                }
            }
        });
@@ -583,26 +581,26 @@
                switch (airModeState) {
                    case 0:
                        //若当前空调模式为制冷,则点击按钮设置为制热
                        HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airMode, AirCtrlParser.airModeHeatTem,isZigbee);//空调模式制热
                        HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airMode, AirCtrlParser.airModeHeatTem, isZigbee);//空调模式制热
                        break;
                    case 1:
                        //若当前空调模式为制热,则点击按钮设置为通风
                        HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airMode, AirCtrlParser.airModeVen,isZigbee);//空调模式通风
                        HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airMode, AirCtrlParser.airModeVen, isZigbee);//空调模式通风
                        break;
                    case 2:
                        //若当前空调模式为通风,则点击按钮设置为自动
                        HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airMode, AirCtrlParser.airModeAuto,isZigbee);//空调模式自动
                        HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airMode, AirCtrlParser.airModeAuto, isZigbee);//空调模式自动
                        break;
                    case 3:
                        //若当前空调模式为自动,则点击按钮设置为抽湿
                        HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airMode, AirCtrlParser.airModeDehum,isZigbee);//空调模式抽湿
                        HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airMode, AirCtrlParser.airModeDehum, isZigbee);//空调模式抽湿
                        break;
                    case 4:
                        //若当前空调模式为抽湿,则点击按钮设置为制冷
                        HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airMode, AirCtrlParser.airModeRefTem,isZigbee);//空调模式制冷
                        HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airMode, AirCtrlParser.airModeRefTem, isZigbee);//空调模式制冷
                        break;
                    default:
                        HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airMode, AirCtrlParser.airModeRefTem,isZigbee);//空调模式制冷
                        HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airMode, AirCtrlParser.airModeRefTem, isZigbee);//空调模式制冷
                        break;
                }
@@ -617,19 +615,19 @@
                switch (airSpeedState) {
                    case 0:
                        //若当前空调风速为自动,则点击按钮设置为高风
                        HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airSpeed, AirCtrlParser.airSpeedHigh,isZigbee);//风速高风
                        HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airSpeed, AirCtrlParser.airSpeedHigh, isZigbee);//风速高风
                        break;
                    case 1:
                        //若当前空调风速为高风,则点击按钮设置为中风
                        HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airSpeed, AirCtrlParser.airSpeedMid,isZigbee);//风速中风
                        HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airSpeed, AirCtrlParser.airSpeedMid, isZigbee);//风速中风
                        break;
                    case 2:
                        //若当前空调风速为中风,则点击按钮设置为低风
                        HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airSpeed, AirCtrlParser.airSpeedLow,isZigbee);//风速低风
                        HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airSpeed, AirCtrlParser.airSpeedLow, isZigbee);//风速低风
                        break;
                    case 3:
                        //若当前空调风速为低风,则点击按钮设置为自动
                        HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airSpeed, AirCtrlParser.airSpeedAuto,isZigbee);//风速自动
                        HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airSpeed, AirCtrlParser.airSpeedAuto, isZigbee);//风速自动
                        break;
                }
            }
@@ -653,11 +651,11 @@
                switch (airModeState) {
                    case 0:
                        //当前空调模式为制冷
                        HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.refTem, tempInt,isZigbee);//制冷温度
                        HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.refTem, tempInt, isZigbee);//制冷温度
                        break;
                    case 1:
                        //当前空调模式为制热
                        HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.heatTem, tempInt,isZigbee);//制热温度
                        HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.heatTem, tempInt, isZigbee);//制热温度
                        break;
                    case 2:
                        //当前空调模式为通风
@@ -665,11 +663,11 @@
                        break;
                    case 3:
                        //当前空调模式为自动
                        HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.autoTem, tempInt,isZigbee);//自动温度
                        HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.autoTem, tempInt, isZigbee);//自动温度
                        break;
                    case 4:
                        //当前空调模式为抽湿
                        HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.dehumTem, tempInt,isZigbee);//抽湿温度
                        HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.dehumTem, tempInt, isZigbee);//抽湿温度
                        break;
                    default:
                        break;
@@ -685,14 +683,14 @@
        logicBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                HDLCommand.logicCtrl(appliancesInfo,isZigbee);
                HDLCommand.logicCtrl(appliancesInfo, isZigbee);
            }
        });
        sensorBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                HDLCommand.getDeviceState(CtrlActivity.this,appliancesInfo,isZigbee);
                HDLCommand.getDeviceState(CtrlActivity.this, appliancesInfo, isZigbee);
            }
        });
    }
@@ -712,7 +710,7 @@
                && event.getLightCtrlBackInfo().getChannelNum() == appliancesInfo.getChannelNum()
                && event.getLightCtrlBackInfo().getPhysicsChannelNum() == appliancesInfo.getPhysicsChannelNum()
                && event.getLightCtrlBackInfo().getAppliancesInfo().getDeviceType() == appliancesInfo.getDeviceType()
                ) {
        ) {
            //        先判断是否超时
            if (!event.isSuccess()) {
                showToast("灯光控制超时,请重新再试");
@@ -739,7 +737,7 @@
        if (event.getCurtainCtrlBackInfo().getAppliancesInfo().getDeviceSubnetID() == appliancesInfo.getDeviceSubnetID()
                && event.getCurtainCtrlBackInfo().getAppliancesInfo().getDeviceDeviceID() == appliancesInfo.getDeviceDeviceID()
                && event.getCurtainCtrlBackInfo().getNum() == appliancesInfo.getChannelNum()
                ) {
        ) {
            if (!event.isSuccess()) {
                showToast("窗帘控制超时,请重新再试");
@@ -790,7 +788,7 @@
        if (event.getAirCtrlBackInfo().getAppliancesInfo().getDeviceDeviceID() == appliancesInfo.getDeviceDeviceID()
                && event.getAirCtrlBackInfo().getAppliancesInfo().getDeviceSubnetID() == appliancesInfo.getDeviceSubnetID()
                && event.getAirCtrlBackInfo().getAppliancesInfo().getChannelNum() == appliancesInfo.getChannelNum()
                ) {
        ) {
            //        先判断是否超时
            if (!event.isSuccess()) {
                showToast("空调控制超时,请重新再试");
@@ -932,7 +930,7 @@
//        先判断是否超时
        if (event.getLogicCtrlBackInfo().getAppliancesInfo().getDeviceDeviceID() == appliancesInfo.getDeviceDeviceID()
                && event.getLogicCtrlBackInfo().getAppliancesInfo().getDeviceSubnetID() == appliancesInfo.getDeviceSubnetID()
                ) {
        ) {
            if (!event.isSuccess()) {
                showToast("场景控制超时,请重新再试");
                return;
@@ -946,7 +944,7 @@
    public void onDeviceStateEventMain(DeviceStateEvent event) {
        if (event.getAppliancesInfo().getDeviceSubnetID() == appliancesInfo.getDeviceSubnetID()
                && event.getAppliancesInfo().getDeviceDeviceID() == appliancesInfo.getDeviceDeviceID()
                ) {
        ) {
            //这个返回的信息是当前状态的
            switch (event.getAppliancesInfo().getDeviceType()) {
                case HDLApConfig.TYPE_LIGHT_DIMMER:
@@ -1409,7 +1407,6 @@
            }
        }
    }
    public void showToast(String text) {