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