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