From d6d95564b016c281bfa2e8c2454db8d71083e858 Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期二, 26 十一月 2019 17:48:09 +0800
Subject: [PATCH] 2019-11-26 1.控制命令改为广播模式。

---
 app/src/main/java/com/hdl/sdk/hdl_sdk/activity/MainActivity.java |  168 +++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 160 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..5b09f1c 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,19 @@
 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.Core.HDLDeviceManager;
+import com.hdl.sdk.hdl_core.HDLDeviceManger.Core.HandleSearch;
 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 com.hdl.sdk.hdl_sdk.utlis.HDLLog;
 
 import org.greenrobot.eventbus.EventBus;
 import org.greenrobot.eventbus.Subscribe;
@@ -33,6 +40,7 @@
 public class MainActivity extends AppCompatActivity {
 
     private Button btn, btn2;
+    private Button btn_get_all,btn_on_all, btn_off_all,btn_getlocal,btn_getlocal_add;
     private TextView tv;
     private EditText editText;
     private List<DevicesData> devicesDatas;
@@ -40,12 +48,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 +65,25 @@
         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);
+        btn_getlocal = findViewById(R.id.btn_getlocal);
+
+        btn_getlocal_add = findViewById(R.id.btn_getlocal_add);
+
+        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("璇疯�愬績绛夊緟");
@@ -111,8 +127,98 @@
 
             }
         });
+
+        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);
+            }
+        });
+
+
+        btn_getlocal.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+
+                clearListView();
+                getLocalDevicesDataList();
+            }
+        });
+
+
+
+
+        btn_getlocal_add.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                startActivity(AddDevicesManuallyActivity.class);
+
+            }
+        });
     }
 
+    public void startActivity(Class<?> clazz) {
+        Intent intent = new Intent(this, clazz);
+        startActivity(intent);
+    }
+    /**
+     * 璇诲彇鍜屽姞杞芥湰鍦版暟鎹�
+     */
+    private void getLocalDevicesDataList() {
+        devicesDatas = HDLDeviceManager.getLocalDevicesDataList();
+        if (devicesDatas.size() > 0) {
+            updateDeviceListView();
+            HandleSearch.refreshAllDevicesStateAndRemarks();//濡傛灉鏈湴鏈夋暟鎹紝鍙互璋冪敤璇ユ柟娉曪紝閬嶅巻鍙戦�佹寚浠わ紝鍒锋柊鎵�鏈夎澶囩殑澶囨敞鍜岀姸鎬�
+        } else {
+            showToast("鏈湴鏁版嵁涓虹┖");
+        }
+    }
+
+    /**
+     * 鍒锋柊璁惧鍒楄〃鏁版嵁
+     */
+    private void updateDeviceListView() {
+        int countAll = 0;
+        for (DevicesData devicesData : devicesDatas) {
+            countAll += devicesData.getAppliancesInfoList().size();
+        }
+        tv.setText("鎬诲叡妯″潡鏁帮細" + devicesDatas.size() + " 鎬诲叡鍥炶矾鏁帮細" + countAll);
+        HDLLog.I("鑾峰彇鏁版嵁鎴愬姛锛氭�诲叡妯″潡鏁帮細" + devicesDatas.size() + " 鎬诲叡鍥炶矾鏁帮細" + countAll);
+
+        for (int i = 0; i < devicesDatas.size(); i++) {
+            if (TextUtils.isEmpty(devicesDatas.get(i).getRemark())) {
+                listString.add("鏆傛棤澶囨敞");
+            } else {
+                listString.add(devicesDatas.get(i).getRemark());
+            }
+        }
+        adapter.notifyDataSetChanged();
+    }
+
+
+    /**
+     * 娓呯┖鏁版嵁骞跺埛鏂板垪琛�
+     */
+    private void clearListView() {
+        if (devicesDatas != null) devicesDatas.clear();
+        if (listString != null) listString.clear();
+
+        adapter.notifyDataSetChanged();
+    }
 
     @Override
     protected void onDestroy() {
@@ -219,4 +325,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