From 4f841eac608f6f22a573b4f7ed713679e89c2e5b Mon Sep 17 00:00:00 2001 From: JLChen <551775569@qq.com> Date: 星期一, 30 九月 2019 13:47:49 +0800 Subject: [PATCH] 2019-9-30 1.修改方案,解决不支持控制5台以上空调问题。 --- app/src/main/java/com/hdl/sdk/hdl_sdk/activity/MainActivity.java | 93 ++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 85 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/com/hdl/sdk/hdl_sdk/activity/MainActivity.java b/app/src/main/java/com/hdl/sdk/hdl_sdk/activity/MainActivity.java index a1936d2..6c3e53b 100644 --- a/app/src/main/java/com/hdl/sdk/hdl_sdk/activity/MainActivity.java +++ b/app/src/main/java/com/hdl/sdk/hdl_sdk/activity/MainActivity.java @@ -14,12 +14,16 @@ import android.widget.TextView; import android.widget.Toast; +import com.hdl.sdk.hdl_core.Config.Configuration; +import com.hdl.sdk.hdl_core.HDLAppliances.HDLAirCondition.Parser.AirCtrlParser; +import com.hdl.sdk.hdl_core.HDLDeviceManger.Bean.AppliancesInfo; import com.hdl.sdk.hdl_core.HDLDeviceManger.Bean.DevicesData; import com.hdl.sdk.hdl_core.HDLDeviceManger.Core.HDLCommand; import com.hdl.sdk.hdl_core.HDLDeviceManger.EventBusEvent.BgmInfoEvent; import com.hdl.sdk.hdl_core.HDLDeviceManger.EventBusEvent.DevicesInfoEvent; import com.hdl.sdk.hdl_core.HDLDeviceManger.EventBusEvent.ThirdPartyBgmInfoEvent; import com.hdl.sdk.hdl_core.HDLDeviceManger.EventBusEvent.WarningInfoEvent; +import com.hdl.sdk.hdl_sdk.R; import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.Subscribe; @@ -33,6 +37,7 @@ public class MainActivity extends AppCompatActivity { private Button btn, btn2; + private Button btn_get_all,btn_on_all, btn_off_all; private TextView tv; private EditText editText; private List<DevicesData> devicesDatas; @@ -40,12 +45,12 @@ private ArrayAdapter<String> adapter; private ProgressDialog proDia; private ListView listView; - + private List<AppliancesInfo> airList = new ArrayList<>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - setContentView(com.hdl.sdk.hdl_sdk.R.layout.activity_main); + setContentView(R.layout.activity_main); HDLCommand.init(this); // /**閰嶇疆鏄惁寮�鍚疭DK鎵撳嵃鏃ュ織锛岄粯璁や负鎵撳紑*/ // HDLCommand.setHDLLogOpen(false);// @@ -57,17 +62,22 @@ initView(); setOnClick(); - +// hideTestButton(); } private void initView() { - btn = findViewById(com.hdl.sdk.hdl_sdk.R.id.btn); - btn2 = findViewById(com.hdl.sdk.hdl_sdk.R.id.get); - tv = findViewById(com.hdl.sdk.hdl_sdk.R.id.tv); - editText = findViewById(com.hdl.sdk.hdl_sdk.R.id.edt); + btn = findViewById(R.id.btn); + btn2 = findViewById(R.id.get); + + btn_get_all = findViewById(R.id.btn_get_all); + btn_on_all = findViewById(R.id.btn_on_all); + btn_off_all = findViewById(R.id.btn_off_all); + + tv = findViewById(R.id.tv); + editText = findViewById(R.id.edt); editText.setText("172.168.188.100"); adapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_list_item_1, listString); - listView = findViewById(com.hdl.sdk.hdl_sdk.R.id.listView1); + listView = findViewById(R.id.listView1); proDia = new ProgressDialog(MainActivity.this); proDia.setTitle("姝e湪鑾峰彇鏁版嵁..."); proDia.setMessage("璇疯�愬績绛夊緟"); @@ -109,6 +119,27 @@ } + } + }); + + btn_get_all.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + getAllAirList(); + } + }); + + btn_on_all.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + sendAll(true); + } + }); + + btn_off_all.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + sendAll(false); } }); } @@ -219,4 +250,50 @@ } + private void hideTestButton(){ + btn_get_all.setVisibility(View.GONE); + btn_on_all.setVisibility(View.GONE); + btn_off_all.setVisibility(View.GONE); + } + + private void getAllAirList(){ + airList.clear(); + if(devicesDatas == null || devicesDatas.size() == 0) { + showToast("娌℃湁璁惧"); + return; + } + for (int j = 0; j < devicesDatas.size(); j++) { + DevicesData mDevicesData = devicesDatas.get(j); + List<AppliancesInfo> appliancesInfos = mDevicesData.getAppliancesInfoList(); + for (int i = 0; i < appliancesInfos.size(); i++) { + if (appliancesInfos.get(i).getBigType() == Configuration.AIR_BIG_TYPE) { + airList.add(appliancesInfos.get(i)); + } + } + } + + String mes = "鍏辫幏寰楋細" + airList.size() + " 鍙扮┖璋�"; + showToast(mes); + } + + private void sendAll(Boolean bOn){ + if(airList == null || airList.size() == 0) { + showToast("娌℃湁璁惧"); + return; + } + for (int j = 0; j < airList.size(); j++) { + AppliancesInfo info = airList.get(j); + if(bOn){ + HDLCommand.airCtrl(info, AirCtrlParser.airSwich, AirCtrlParser.airOn); + }else { + HDLCommand.airCtrl(info, AirCtrlParser.airSwich, AirCtrlParser.airOff); + } + + } + + } + + private void showToast(String text) { + Toast.makeText(this, text, Toast.LENGTH_SHORT).show(); + } } -- Gitblit v1.8.0