From 071a8328823a2861f93ce556a4da3e4119cab1a3 Mon Sep 17 00:00:00 2001 From: panlili2024 <14743743+panlili2024@user.noreply.gitee.com> Date: 星期四, 19 九月 2024 16:24:28 +0800 Subject: [PATCH] 完成金茂定制功能 --- app/src/main/java/com/hdl/sdk/ttl_sdk/activity/CtrlCurtainActivity.java | 177 ++++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 145 insertions(+), 32 deletions(-) diff --git a/app/src/main/java/com/hdl/sdk/ttl_sdk/activity/CtrlCurtainActivity.java b/app/src/main/java/com/hdl/sdk/ttl_sdk/activity/CtrlCurtainActivity.java index 648dc8d..3613bf8 100644 --- a/app/src/main/java/com/hdl/sdk/ttl_sdk/activity/CtrlCurtainActivity.java +++ b/app/src/main/java/com/hdl/sdk/ttl_sdk/activity/CtrlCurtainActivity.java @@ -2,15 +2,20 @@ import android.os.Bundle; +import android.text.TextUtils; +import android.util.Log; import android.view.View; import android.widget.Button; +import android.widget.EditText; import android.widget.RelativeLayout; import android.widget.TextView; +import android.widget.Toast; import com.hdl.sdk.ttl.HDLAppliances.Config.HDLApConfig; import com.hdl.sdk.ttl.HDLAppliances.HDLCurtain.Parser.CurtainCtrlParser; import com.hdl.sdk.ttl.HDLDeviceManger.Bean.AppliancesInfo; import com.hdl.sdk.ttl.HDLDeviceManger.Core.HDLCommand; +import com.hdl.sdk.ttl.HDLDeviceManger.EventBusEvent.CurtainDeviceStateEvent; import com.hdl.sdk.ttl.HDLDeviceManger.EventBusEvent.CurtainFeedBackEvent; import com.hdl.sdk.ttl.HDLDeviceManger.EventBusEvent.DeviceStateEvent; import com.hdl.sdk.ttl_sdk.R; @@ -28,14 +33,18 @@ * 绐楀笜绫绘ā鍧楁帶鍒堕〉闈� */ public class CtrlCurtainActivity extends BaseActivity { - /**Topbar*/ + /** + * Topbar + */ private RelativeLayout topBarBack; private TextView topBarTitle; - private Button curtainBtn, curtainBtn2, curtainBtn3, curtainBtn4, curtainBtn5; + private Button curtainBtn, curtainOpenBtn, curtainCloseBtn, curtainStopBtn, curtainPrecentBtn; + private Button curtainUp, curtainDown; private TextView curText1, curText2; private AppliancesInfo appliancesInfo; private int curtainState; private String showMessage; + private EditText etPrecent; /** * 澶嶅啓isRegisterEventBus() 瑕佹敞鍐屼娇鐢‥ventBus锛岃繖閲岃璁剧疆杩斿洖true @@ -82,15 +91,26 @@ private void initView() { curtainBtn = findViewById(R.id.curtainbtn); - curtainBtn2 = findViewById(R.id.curtainbtn2); - curtainBtn3 = findViewById(R.id.curtainbtn3); - curtainBtn4 = findViewById(R.id.curtainbtn4); - curtainBtn5 = findViewById(R.id.curtainbtn5); + curtainOpenBtn = findViewById(R.id.curtain_openbtn); + curtainCloseBtn = findViewById(R.id.curtain_closebtn); + curtainStopBtn = findViewById(R.id.curtain_stopbtn); + curtainPrecentBtn = findViewById(R.id.curtain_precentbtn); curText1 = findViewById(R.id.curtainText1); curText2 = findViewById(R.id.curtainText2); + curtainUp = findViewById(R.id.curtain_upbtn); + curtainDown = findViewById(R.id.curtain_downbtn); + etPrecent = findViewById(R.id.et_curtain_precent); } private void initOnClick() { + /*type锛� + 0= HDL 绐楀笜鎺у埗鐗堟湰V1.0(绐楀笜鍙�<17 0 = 鍋滄, 1 = 鎵撳紑, 2 = 鍏抽棴 + 绐楀笜鍙�>=17 0-100%锛岃〃绀烘墦寮�鐧惧垎姣�) + 1=绐楀笜鎺у埗V1.1寮�鍏冲仠 + 2=绐楀笜鎺у埗V1.1鐧惧垎姣� + 3=绐楀笜鎺у埗V1.1瑙掑害鍚戜笂 + 4=绐楀笜鎺у埗V1.1瑙掑害鍚戜笅 + 5=鐐瑰姩*/ curtainBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { @@ -100,36 +120,56 @@ } else { curtainState = CurtainCtrlParser.curtainOn; } - HDLCommand.curtainCtrl(appliancesInfo, curtainState); + //绐楀笜妯″潡鐢╒1.0 + HDLCommand.curtainCtrl(appliancesInfo, curtainState, 0); } }); - curtainBtn2.setOnClickListener(new View.OnClickListener() { + curtainOpenBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - HDLCommand.curtainCtrl(appliancesInfo, CurtainCtrlParser.curtainOn); + HDLCommand.curtainCtrl(appliancesInfo, CurtainCtrlParser.curtainOn, 1); } }); - curtainBtn3.setOnClickListener(new View.OnClickListener() { + curtainCloseBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - HDLCommand.curtainCtrl(appliancesInfo, CurtainCtrlParser.curtainOff); + HDLCommand.curtainCtrl(appliancesInfo, CurtainCtrlParser.curtainOff, 1); } }); - curtainBtn4.setOnClickListener(new View.OnClickListener() { + curtainStopBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - HDLCommand.curtainCtrl(appliancesInfo, CurtainCtrlParser.curtainPause); + HDLCommand.curtainCtrl(appliancesInfo, CurtainCtrlParser.curtainPause, 1); } }); - curtainBtn5.setOnClickListener(new View.OnClickListener() { + curtainPrecentBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - HDLCommand.curtainCtrl(appliancesInfo, 50); + if (TextUtils.isEmpty(etPrecent.getText().toString())) { + Toast.makeText(CtrlCurtainActivity.this, "璇疯緭鍏ラ渶瑕佹帶鍒剁殑绐楀笜鐧惧垎姣旓紒", Toast.LENGTH_SHORT).show(); + return; + } + + HDLCommand.curtainCtrl(appliancesInfo, Integer.parseInt(etPrecent.getText().toString()), 2);//50涓虹櫨鍒嗘瘮 + } + }); + + curtainUp.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + HDLCommand.curtainCtrl(appliancesInfo, 0, 5);//涓婄偣鍔�0x00锛宻tate鍥哄畾涓�0 + } + }); + + curtainDown.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + HDLCommand.curtainCtrl(appliancesInfo, 128, 5);//涓婄偣鍔�0x80锛宻tate鍥哄畾涓�128 } }); } @@ -138,10 +178,12 @@ if (appliancesInfo.getDeviceType() == HDLApConfig.TYPE_CURTAIN_MODULE) { //绐楀笜妯″潡 curText2.setVisibility(View.GONE); - curtainBtn2.setVisibility(View.GONE); - curtainBtn3.setVisibility(View.GONE); - curtainBtn4.setVisibility(View.GONE); - curtainBtn5.setVisibility(View.GONE); + curtainOpenBtn.setVisibility(View.GONE); + curtainCloseBtn.setVisibility(View.GONE); + curtainStopBtn.setVisibility(View.GONE); + curtainPrecentBtn.setVisibility(View.GONE); + curtainUp.setVisibility(View.GONE); + curtainDown.setVisibility(View.GONE); if (appliancesInfo.getCurState() != null) { String stringCurtainState = ""; @@ -179,6 +221,17 @@ //寮�鍚堝笜銆佸嵎甯� curText1.setVisibility(View.GONE); curtainBtn.setVisibility(View.GONE); + curtainUp.setVisibility(View.GONE); + curtainDown.setVisibility(View.GONE); + if (appliancesInfo.getCurState() != null) { + curText2.setText("褰撳墠绐楀笜鐘舵�侊細" + HDLUtlis.getIntegerByObject(appliancesInfo.getCurState())); + } else { + curText2.setText("鏈幏鍙栧埌绐楀笜妯″潡鐘舵��"); + } + } else if (appliancesInfo.getDeviceType() == HDLApConfig.TYPE_CURTAIN_SHANGRILA) { + //棣欐牸閲屾媺甯� + curText1.setVisibility(View.GONE); + curtainBtn.setVisibility(View.GONE); if (appliancesInfo.getCurState() != null) { curText2.setText("褰撳墠绐楀笜鐘舵�侊細" + HDLUtlis.getIntegerByObject(appliancesInfo.getCurState())); } else { @@ -202,11 +255,9 @@ @Subscribe(threadMode = ThreadMode.MAIN) public void onCurtainFeedBackInfoEventMain(CurtainFeedBackEvent event) { // 鍏堝垽鏂槸鍚﹁秴鏃� - HDLLog.Log("onCurtainFeedBackInfoEventMain in"); if (event.getCurtainCtrlBackInfo().getAppliancesInfo().getDeviceSubnetID() == appliancesInfo.getDeviceSubnetID() && event.getCurtainCtrlBackInfo().getAppliancesInfo().getDeviceDeviceID() == appliancesInfo.getDeviceDeviceID() - && event.getCurtainCtrlBackInfo().getNum() == appliancesInfo.getChannelNum() - ) { + && event.getCurtainCtrlBackInfo().getNum() == appliancesInfo.getChannelNum()) { if (!event.isSuccess()) { showToast("绐楀笜鎺у埗瓒呮椂锛岃閲嶆柊鍐嶈瘯"); @@ -214,15 +265,15 @@ } int curState = event.getCurtainCtrlBackInfo().getState(); + int precent = event.getCurtainCtrlBackInfo().getPrecent(); //绐楀笜妯″潡锛歝urState:0=鍋滄,1=鎵撳紑,2=鍏抽棴銆� - //寮�鍚堝笜鐢垫満锛屽嵎甯樼數鏈猴細curState:1-100寮�鍚堝害銆備篃浼氳繑鍥�0锛�1锛�2鐨勭姸鎬� + //寮�鍚堝笜鐢垫満锛屽嵎甯樼數鏈�,棣欐牸閲屾媺甯橈細curState:1-100寮�鍚堝害銆備篃浼氳繑鍥�0锛�1锛�2鐨勭姸鎬� + // precent:1-100寮�鍚堝害 //寤鸿寮�鍚堝笜鐢垫満锛屽嵎甯樼數鏈烘寜鍋滄鍚庡啀璇诲彇褰撳墠鐘舵�佹潵鑾峰彇褰撳墠鐘舵�佸�� String remarks = event.getCurtainCtrlBackInfo().getRemarks(); - String parentRemarks = event.getCurtainCtrlBackInfo().getParentRemarks(); int num = event.getCurtainCtrlBackInfo().getNum(); -// showToast(parentRemarks+" 鐨� "+remarks+" 鍥炶矾鍙凤細"+num+" 杩斿洖"+" 鐘舵�佷负锛�"+curState); - HDLLog.Log(parentRemarks + " 鐨� " + remarks + " 鍥炶矾鍙凤細" + num + " 杩斿洖" + " 鐘舵�佷负锛�" + curState); + HDLLog.Log(remarks + " 鍥炶矾鍙凤細" + num + " 杩斿洖" + " 鐘舵�佷负锛�" + curState); if (event.getCurtainCtrlBackInfo().getAppliancesInfo().getDeviceType() == HDLApConfig.TYPE_CURTAIN_MODULE) { showMessage = ""; //鍒ゆ柇鏄惁涓虹獥甯樻ā鍧� @@ -251,14 +302,76 @@ } showToast(showMessage); } else { - //寮�鍚堝笜鎴栧嵎甯� 鏄剧ず鐧惧垎姣� -// curtainBtn5.setText("绐楀笜寮�鍒�" + curState + "%"); - curText2.setText("绐楀笜寮�鍒�" + curState + "%"); - curtainState = curState; + //鏂板崗璁紝type=2涓虹櫨鍒嗘瘮 + if (event.getCurtainCtrlBackInfo().getType() == 2) { + //寮�鍚堝笜鎴栧嵎甯� 鏄剧ず鐧惧垎姣� + curText2.setText("绐楀笜寮�鍒�" + precent + "%"); + curtainState = precent; + } else if (event.getCurtainCtrlBackInfo().getType() == 0) { + //寮�鍚堝笜鎴栧嵎甯� 鏄剧ず鐧惧垎姣� + curText2.setText("绐楀笜寮�鍒�" + curState + "%"); + curtainState = curState; + } else { + //寮�鍚堝笜鎴栧嵎甯� 鏄剧ず鐧惧垎姣� + curText2.setText("绐楀笜寮�鍒�" + curState + "%"); + curtainState = curState; + } } } + } + + /** + * 绐楀笜鏂板崗璁姸鎬佽鍙栧洖璋僂vent + * + * @param event + */ + @Subscribe(threadMode = ThreadMode.MAIN) + public void onCurtainDeviceStateEventMain(CurtainDeviceStateEvent event) { + if (event.getCurtainCtrlBackInfo().getAppliancesInfo().getDeviceSubnetID() == appliancesInfo.getDeviceSubnetID() + && event.getCurtainCtrlBackInfo().getAppliancesInfo().getDeviceDeviceID() == appliancesInfo.getDeviceDeviceID() + && event.getCurtainCtrlBackInfo().getAppliancesInfo().getChannelNum() == appliancesInfo.getChannelNum()) { + + if (!event.isSuccess()) { + showToast("鑾峰彇绐楀笜鐘舵�佸け璐ワ紝璇烽噸鏂板啀璇�"); + return; + } + + int curState = event.getCurtainCtrlBackInfo().getState(); + int curPrecent = event.getCurtainCtrlBackInfo().getPrecent(); + //绐楀笜妯″潡锛歝urState:0=鍋滄,1=鎵撳紑,2=鍏抽棴銆� + //寮�鍚堝笜鐢垫満锛屽嵎甯樼數鏈�,棣欐牸閲屾媺甯橈細curState:1-100寮�鍚堝害銆備篃浼氳繑鍥�0锛�1锛�2鐨勭姸鎬� + // precent:1-100寮�鍚堝害 + //寤鸿寮�鍚堝笜鐢垫満锛屽嵎甯樼數鏈烘寜鍋滄鍚庡啀璇诲彇褰撳墠鐘舵�佹潵鑾峰彇褰撳墠鐘舵�佸�� + + String remarks = event.getCurtainCtrlBackInfo().getRemarks(); + int num = event.getCurtainCtrlBackInfo().getNum(); + HDLLog.Log(remarks + " 鍥炶矾鍙凤細" + num + " 杩斿洖" + " 鐘舵�佷负锛�" + curState); + + switch (event.getCurtainCtrlBackInfo().getAppliancesInfo().getDeviceType()) { + case HDLApConfig.TYPE_CURTAIN_GLYSTRO: + case HDLApConfig.TYPE_CURTAIN_ROLLER: + case HDLApConfig.TYPE_CURTAIN_SHANGRILA: + if (event.getCurtainCtrlBackInfo().getType() == 2) {//鏂板崗璁紝type=2涓虹櫨鍒嗘瘮 + //寮�鍚堝笜鎴栧嵎甯� 鏄剧ず鐧惧垎姣� + int precent = event.getCurtainCtrlBackInfo().getPrecent(); + showMessage = "绐楀笜寮�鍒�" + precent + "%"; + curText2.setText(showMessage); + showToast("鑾峰彇鎴愬姛锛�" + showMessage); + } else if (event.getCurtainCtrlBackInfo().getType() == 0) {//鏃у崗璁紝type=0涓虹櫨鍒嗘瘮 + //寮�鍚堝笜鎴栧嵎甯� 鏄剧ず鐧惧垎姣� + int state = event.getCurtainCtrlBackInfo().getState(); + showMessage = "绐楀笜寮�鍒�" + state + "%"; + curText2.setText(showMessage); + showToast("鑾峰彇鎴愬姛锛�" + showMessage); + } + + break; + default: + break; + } + } } /** @@ -276,6 +389,7 @@ case HDLApConfig.TYPE_CURTAIN_GLYSTRO: case HDLApConfig.TYPE_CURTAIN_ROLLER: case HDLApConfig.TYPE_CURTAIN_MODULE: + case HDLApConfig.TYPE_CURTAIN_SHANGRILA: if (appliancesInfo.getChannelNum() == event.getAppliancesInfo().getChannelNum()) { if (!event.isSuccess()) { showToast("鑾峰彇绐楀笜鐘舵�佸け璐ワ紝璇烽噸鏂板啀璇�"); @@ -308,7 +422,7 @@ } } else { showMessage = "绐楀笜寮�鍒�" + curState + "%"; -// curtainBtn5.setText(showMessage); + curText2.setText(showMessage); curtainState = curState; } @@ -316,7 +430,6 @@ } break; default: - //涓嶅鐞� break; } } -- Gitblit v1.8.0