package com.hdl.sdk.hdl_sdk.activity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.RelativeLayout; import android.widget.TextView; import com.hdl.sdk.hdl_core.HDLAppliances.Config.HDLApConfig; import com.hdl.sdk.hdl_core.HDLDeviceManger.Bean.AppliancesInfo; import com.hdl.sdk.hdl_core.HDLDeviceManger.Core.HDLCommand; import com.hdl.sdk.hdl_core.HDLDeviceManger.EventBusEvent.CommonSwitchCtrlBackEvent; import com.hdl.sdk.hdl_core.HDLDeviceManger.EventBusEvent.CommonSwitchStateBackEvent; import com.hdl.sdk.hdl_sdk.R; import com.hdl.sdk.hdl_sdk.base.BaseActivity; import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.ThreadMode; /** * 通用开关设备演示 */ public class CtrlCommonSwitchActivity extends BaseActivity { /**Topbar*/ private RelativeLayout topBarBack; private TextView topBarTitle; private Button btnOpen,btnClose; private TextView switchText; private AppliancesInfo appliancesInfo; private int switchState = 0; /** * å¤å†™isRegisterEventBus() è¦æ³¨å†Œä½¿ç”¨EventBus,这里è¦è®¾ç½®è¿”回true * * @return true */ @Override protected boolean isRegisterEventBus() { return true; } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_ctrl_common_switch); initToolbar(); initcurState(); initView(); initOnClick(); displayStateView(); //从网络上查询刷新一次设备状æ€ï¼Œå¾…调试 // HDLCommand.getCommonSwitchStateFromNetwork(appliancesInfo); } /** * åˆå§‹åŒ–Toolbar */ private void initToolbar() { // topBarBack = findViewById(R.id.ll_top_b_left); // setViewVisible(topBarBack); // topBarTitle = findViewById(R.id.tv_top_b_header_title); // topBarBack.setOnClickListener(new View.OnClickListener() { // @Override // public void onClick(View view) { // finish(); // } // }); } private void initcurState() { appliancesInfo = (AppliancesInfo) getIntent().getSerializableExtra("hdl"); // String titleStr = appliancesInfo.getRemarks(); // topBarTitle.setText(titleStr); } private void initView() { btnOpen = findViewById(R.id.btnOpen); btnClose = findViewById(R.id.btnClose); switchText = findViewById(R.id.switchText); } private void initOnClick() { btnOpen.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //0=å…³ 255=å¼€ HDLCommand.commonSwitchCtrl(appliancesInfo, 255); } }); btnClose.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { HDLCommand.commonSwitchCtrl(appliancesInfo,0); } }); } private void displayStateView(){ switch (appliancesInfo.getDeviceType()) { case HDLApConfig.TYPE_COMMON_SWITCH: break; default: finish();//设备类型ä¸å¯¹ç»“æŸé¡µé¢ break; } /**æ ¹æ®éœ€æ±‚是å¦å‘é€ä¸€æ¬¡èŽ·å–刷新状æ€è¯·æ±‚*/ } /** * 通用开关控制回调Event * * @param event */ @Subscribe(threadMode = ThreadMode.MAIN) public void onCommonSwitchCtrlEventMain(CommonSwitchCtrlBackEvent event) { if (event.getCommonSwitchBackInfo().getAppliancesInfo().getDeviceDeviceID() == appliancesInfo.getDeviceDeviceID() && event.getCommonSwitchBackInfo().getAppliancesInfo().getDeviceSubnetID() == appliancesInfo.getDeviceSubnetID() && event.getCommonSwitchBackInfo().getAppliancesInfo().getChannelNum() == appliancesInfo.getChannelNum() ) { if (!event.isSuccess()) { showToast("é€šç”¨å¼€å…³æŽ§åˆ¶è¶…æ—¶ï¼Œè¯·é‡æ–°å†è¯•"); return; } showToast("通用开关控制æˆåŠŸ"); switchState = event.getCommonSwitchBackInfo().getSwitchState(); if(switchState>0){ switchText.setText("当å‰çжæ€ï¼šå¼€"); }else{ switchText.setText("当å‰çжæ€ï¼šå…³"); } } } /** * 通用开关 回调Event * * @param event */ @Subscribe(threadMode = ThreadMode.MAIN) public void onCommonSwitchStateEventMain(CommonSwitchStateBackEvent event) { if (event.getCommonSwitchBackInfo().getAppliancesInfo().getDeviceDeviceID() == appliancesInfo.getDeviceDeviceID() && event.getCommonSwitchBackInfo().getAppliancesInfo().getDeviceSubnetID() == appliancesInfo.getDeviceSubnetID() && event.getCommonSwitchBackInfo().getAppliancesInfo().getChannelNum() == appliancesInfo.getChannelNum() ) { if (!event.isSuccess()) { showToast("通用开关读å–状æ€è¶…æ—¶ï¼Œè¯·é‡æ–°å†è¯•"); return; } // showToast("通用开关控制æˆåŠŸ"); switchState = event.getCommonSwitchBackInfo().getSwitchState(); if(switchState>0){ switchText.setText("当å‰çжæ€ï¼šå¼€"); }else{ switchText.setText("当å‰çжæ€ï¼šå…³"); } } } // è¯»å–æŒ‡å®šRCUæˆ¿é—´é—¨é“ƒçŠ¶æ€ // HDLCommand.getHotelRoomDoorbellStatus(100,100); }