From bdec7373b358239521703995c5220e995dee289c Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期四, 05 三月 2020 14:20:42 +0800
Subject: [PATCH] 2020-03-05 1.增加简易编程搜索回复

---
 app/src/main/java/com/hdl/sdk/hdl_sdk/activity/MainActivity.java                       |    9 
 app/src/main/res/layout/activity_setting.xml                                           |  162 ++++++++++++++++
 app/src/main/java/com/hdl/sdk/hdl_sdk/activity/SettingActivity.java                    |  138 +++++++++++++
 app/src/main/res/values/strings.xml                                                    |    5 
 hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Core/HDLCommand.java       |    4 
 hdl_core/src/main/java/com/hdl/sdk/hdl_core/Util/SPUtil/SPUtils.java                   |    6 
 app/src/main/AndroidManifest.xml                                                       |    3 
 app/src/main/res/layout/activity_main.xml                                              |   15 +
 hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Core/HDLUdpCore.java       |    2 
 hdl_core/build.gradle                                                                  |    2 
 .idea/codeStyles/Project.xml                                                           |  116 +++++++++++
 hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Core/HDLDeviceManager.java |  119 +++++++++--
 12 files changed, 556 insertions(+), 25 deletions(-)

diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml
new file mode 100644
index 0000000..681f41a
--- /dev/null
+++ b/.idea/codeStyles/Project.xml
@@ -0,0 +1,116 @@
+<component name="ProjectCodeStyleConfiguration">
+  <code_scheme name="Project" version="173">
+    <codeStyleSettings language="XML">
+      <indentOptions>
+        <option name="CONTINUATION_INDENT_SIZE" value="4" />
+      </indentOptions>
+      <arrangement>
+        <rules>
+          <section>
+            <rule>
+              <match>
+                <AND>
+                  <NAME>xmlns:android</NAME>
+                  <XML_ATTRIBUTE />
+                  <XML_NAMESPACE>^$</XML_NAMESPACE>
+                </AND>
+              </match>
+            </rule>
+          </section>
+          <section>
+            <rule>
+              <match>
+                <AND>
+                  <NAME>xmlns:.*</NAME>
+                  <XML_ATTRIBUTE />
+                  <XML_NAMESPACE>^$</XML_NAMESPACE>
+                </AND>
+              </match>
+              <order>BY_NAME</order>
+            </rule>
+          </section>
+          <section>
+            <rule>
+              <match>
+                <AND>
+                  <NAME>.*:id</NAME>
+                  <XML_ATTRIBUTE />
+                  <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
+                </AND>
+              </match>
+            </rule>
+          </section>
+          <section>
+            <rule>
+              <match>
+                <AND>
+                  <NAME>.*:name</NAME>
+                  <XML_ATTRIBUTE />
+                  <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
+                </AND>
+              </match>
+            </rule>
+          </section>
+          <section>
+            <rule>
+              <match>
+                <AND>
+                  <NAME>name</NAME>
+                  <XML_ATTRIBUTE />
+                  <XML_NAMESPACE>^$</XML_NAMESPACE>
+                </AND>
+              </match>
+            </rule>
+          </section>
+          <section>
+            <rule>
+              <match>
+                <AND>
+                  <NAME>style</NAME>
+                  <XML_ATTRIBUTE />
+                  <XML_NAMESPACE>^$</XML_NAMESPACE>
+                </AND>
+              </match>
+            </rule>
+          </section>
+          <section>
+            <rule>
+              <match>
+                <AND>
+                  <NAME>.*</NAME>
+                  <XML_ATTRIBUTE />
+                  <XML_NAMESPACE>^$</XML_NAMESPACE>
+                </AND>
+              </match>
+              <order>BY_NAME</order>
+            </rule>
+          </section>
+          <section>
+            <rule>
+              <match>
+                <AND>
+                  <NAME>.*</NAME>
+                  <XML_ATTRIBUTE />
+                  <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
+                </AND>
+              </match>
+              <order>ANDROID_ATTRIBUTE_ORDER</order>
+            </rule>
+          </section>
+          <section>
+            <rule>
+              <match>
+                <AND>
+                  <NAME>.*</NAME>
+                  <XML_ATTRIBUTE />
+                  <XML_NAMESPACE>.*</XML_NAMESPACE>
+                </AND>
+              </match>
+              <order>BY_NAME</order>
+            </rule>
+          </section>
+        </rules>
+      </arrangement>
+    </codeStyleSettings>
+  </code_scheme>
+</component>
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 808a4de..9de0ad7 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -18,7 +18,8 @@
         android:roundIcon="@mipmap/ic_launcher_round"
         android:supportsRtl="true"
         android:theme="@style/AppTheme">
-        <activity android:name=".activity.AddDevicesManuallyActivity"></activity>
+        <activity android:name=".activity.SettingActivity"></activity>
+        <activity android:name=".activity.AddDevicesManuallyActivity" />
         <activity android:name=".activity.MainActivity">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
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 538b2d3..0118cef 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
@@ -42,6 +42,7 @@
 
     private Button btn, btn2;
     private Button btn_get_all,btn_on_all, btn_off_all,btn_getlocal,btn_getlocal_add;
+    private Button btn_setting;
     private TextView tv;
     private EditText editText;
     private List<DevicesData> devicesDatas;
@@ -81,6 +82,7 @@
 
         btn_getlocal_add = findViewById(R.id.btn_getlocal_add);
 
+        btn_setting  = findViewById(R.id.btn_setting);
         tv = findViewById(R.id.tv);
         editText = findViewById(R.id.edt);
         editText.setText("172.168.188.100");
@@ -171,6 +173,13 @@
 
             }
         });
+
+        btn_setting.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                startActivity(SettingActivity.class);
+            }
+        });
     }
 
     public void startActivity(Class<?> clazz) {
diff --git a/app/src/main/java/com/hdl/sdk/hdl_sdk/activity/SettingActivity.java b/app/src/main/java/com/hdl/sdk/hdl_sdk/activity/SettingActivity.java
new file mode 100644
index 0000000..28707df
--- /dev/null
+++ b/app/src/main/java/com/hdl/sdk/hdl_sdk/activity/SettingActivity.java
@@ -0,0 +1,138 @@
+package com.hdl.sdk.hdl_sdk.activity;
+
+import android.app.Activity;
+import android.os.Bundle;
+import android.text.TextUtils;
+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.hdl_core.HDLDeviceManger.Core.HDLCommand;
+import com.hdl.sdk.hdl_core.HDLDeviceManger.Core.HDLDeviceManager;
+import com.hdl.sdk.hdl_core.Util.SPUtil.SPUtils;
+import com.hdl.sdk.hdl_sdk.R;
+
+
+/**
+ * Created by JLChen on 2020-03-02
+ * 褰撳墠APP璁惧瀛愮綉鍙峰拰璁惧鍙烽厤缃紝鏍规嵁闇�瑕侀厤缃�
+ */
+public class SettingActivity extends Activity {
+    /**Topbar*/
+    private RelativeLayout topBarBack;
+    private TextView topBarTitle;
+    //褰撳墠APP璁惧瀛愮綉鍙峰拰璁惧鍙烽厤缃�
+    private EditText subnetIDEditText;
+    private EditText deviceIDEditText;
+    private Button saveButton;
+    //褰撳墠APP璁惧璁惧鍙�
+    private String strSubnetID = "254";
+    private String strDeviceID = "80";
+
+    private EditText bigIDEditText;
+    private EditText smallIDEditText;
+    private EditText remarkIDEditText;
+
+    private Button btn_save_allow;
+    private Button btn_save_close;
+    private String strBigClassID = "9";
+    private String strSmallClassID = "1";//绗笁鏂硅儗鏅煶涔愭ā鍧�
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.activity_setting);
+        initView();
+        setOnClick();
+        initData();
+    }
+
+
+    private void initView() {
+        subnetIDEditText = findViewById(R.id.et_subnetID);
+        deviceIDEditText = findViewById(R.id.et_deviceID);
+        saveButton = findViewById(R.id.btn_save);
+
+        bigIDEditText = findViewById(R.id.et_bigclass);
+        smallIDEditText = findViewById(R.id.et_smallclass);
+        remarkIDEditText = findViewById(R.id.et_remark);
+        btn_save_allow = findViewById(R.id.btn_save_allow);
+        btn_save_close = findViewById(R.id.btn_save_close);
+    }
+
+
+    private void setOnClick() {
+        saveButton.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                saveSubnetAndDeviceID();
+            }
+        });
+
+        btn_save_allow.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                saveSEasyProgrammingSearchInfo();
+            }
+        });
+
+        btn_save_close.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                HDLDeviceManager.setIsAllowEasyProgrammingSearch(false);
+            }
+        });
+    }
+
+    private void initData() {
+        strSubnetID = SPUtils.getParam(this, SPUtils.KEY_SUB_ID_, SPUtils.DEFAULT_SUB_ID).toString();
+        strDeviceID = SPUtils.getParam(this, SPUtils.KEY_DEVICE_ID, SPUtils.DEFAULT_DEVICE_ID).toString();
+
+        subnetIDEditText.setText(strSubnetID);
+        deviceIDEditText.setText(strDeviceID);
+
+        //閰嶇疆绠�鏄撶紪绋嬫悳绱㈢殑鍙傛暟
+        HDLDeviceManager.setEasyProgrammingSearchLocalData(9, 90);
+    }
+
+
+    //鏈湴瀛愮綉鍙枫�佽澶囧彿 鑼冨洿0 - 254
+    private void saveSubnetAndDeviceID() {
+        strSubnetID = subnetIDEditText.getText().toString();
+        strDeviceID = deviceIDEditText.getText().toString();
+        if (TextUtils.isEmpty(strSubnetID) || TextUtils.isEmpty(strDeviceID)) {
+            showToast("ID涓嶈兘涓虹┖");
+        } else {
+            int mSubnetID = Integer.parseInt(strSubnetID);
+            int mDeviceID = Integer.parseInt(strDeviceID);
+
+            HDLCommand.setLocalId(this, mSubnetID, mDeviceID);
+
+
+        }
+
+    }
+
+    private void saveSEasyProgrammingSearchInfo(){
+        strBigClassID = bigIDEditText.getText().toString();
+        strSmallClassID = smallIDEditText.getText().toString();
+        String remarkStr = remarkIDEditText.getText().toString();
+        if (TextUtils.isEmpty(strSmallClassID) || TextUtils.isEmpty(strBigClassID)) {
+            showToast("澶х被鎴栬�呭皬绫籌D涓嶈兘涓虹┖");
+        } else {
+            int mBigID = Integer.parseInt(strBigClassID);
+            int mSmallID = Integer.parseInt(strSmallClassID);
+           HDLDeviceManager.setEasyProgrammingSearchLocalData(mBigID, mSmallID, remarkStr);
+        }
+
+    }
+
+
+    public void showToast(String text) {
+        Toast.makeText(this, text, Toast.LENGTH_SHORT).show();
+    }
+
+}
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index 18c4b53..0a0478f 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -59,6 +59,21 @@
         </LinearLayout>
 
         <LinearLayout
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content">
+
+            <Button
+                android:id="@+id/btn_setting"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:text="璁剧疆" />
+
+
+
+
+        </LinearLayout>
+
+        <LinearLayout
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:orientation="vertical"
diff --git a/app/src/main/res/layout/activity_setting.xml b/app/src/main/res/layout/activity_setting.xml
new file mode 100644
index 0000000..20ea30c
--- /dev/null
+++ b/app/src/main/res/layout/activity_setting.xml
@@ -0,0 +1,162 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    tools:context=".activity.SettingActivity">
+
+
+
+    <LinearLayout
+        android:id="@+id/mLinearLayout1"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:orientation="vertical"
+    android:layout_marginLeft="10dp"
+    android:layout_marginRight="10dp"
+    android:layout_marginTop="20dp">
+    <TextView
+        android:layout_width="match_parent"
+        android:layout_height="30dp"
+        android:text="淇敼鏈湴鐨勫瓙缃戝彿鍜岃澶囧彿"
+        android:gravity="center|left"
+        android:textSize="20dp"
+        android:textColor="#000000"/>
+
+    <EditText
+        android:id="@+id/et_subnetID"
+        android:layout_width="match_parent"
+        android:layout_height="40dp"
+        android:layout_marginTop="10dp"
+        android:inputType="number"
+        android:maxLength="3"
+        android:hint="@string/et_subnetid_hint"
+        />
+
+    <EditText
+        android:id="@+id/et_deviceID"
+        android:layout_width="match_parent"
+        android:layout_height="40dp"
+        android:layout_marginTop="10dp"
+        android:inputType="number"
+        android:maxLength="3"
+        android:hint="@string/et_deviceid_hint"
+        />
+
+    <Button
+        android:id="@+id/btn_save"
+        android:layout_width="match_parent"
+        android:layout_height="50dp"
+        android:layout_marginTop="10dp"
+        android:text="@string/btn_save"/>
+
+</LinearLayout>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:orientation="vertical"
+        android:layout_marginLeft="10dp"
+        android:layout_marginRight="10dp"
+        android:layout_marginTop="20dp"
+        android:layout_below="@+id/mLinearLayout1">
+        <TextView
+            android:layout_width="match_parent"
+            android:layout_height="30dp"
+            android:text="淇敼鏄惁鍏佽绠�鏄撶紪绋嬫悳绱�"
+            android:gravity="center|left"
+            android:textSize="20dp"
+            android:textColor="#000000"/>
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="50dp">
+            <TextView
+                android:layout_width="60dp"
+                android:layout_height="match_parent"
+                android:text="澶х被锛�"
+                android:gravity="center"
+                android:textSize="16dp"
+                ></TextView>
+
+            <EditText
+                android:id="@+id/et_bigclass"
+                android:layout_width="120dp"
+                android:layout_height="match_parent"
+                android:layout_marginTop="10dp"
+                android:gravity="center|left"
+                android:hint="澶х被ID绫诲瀷"
+                android:inputType="number"
+                android:maxLength="3"
+                android:text="9"
+                android:textSize="16dp" />
+
+            <TextView
+                android:layout_width="60dp"
+                android:layout_height="match_parent"
+                android:text="灏忕被锛�"
+                android:gravity="center"
+                android:textSize="16dp"
+                android:layout_marginLeft="20dp"
+                ></TextView>
+
+            <EditText
+                android:id="@+id/et_smallclass"
+                android:layout_width="120dp"
+                android:layout_height="match_parent"
+                android:layout_marginTop="10dp"
+                android:gravity="center|left"
+                android:inputType="number"
+                android:maxLength="3"
+                android:textSize="16dp"
+                android:text="1"
+                />
+
+
+
+        </LinearLayout>
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="50dp">
+            <TextView
+                android:layout_width="60dp"
+                android:layout_height="match_parent"
+                android:text="澶囨敞锛�"
+                android:gravity="center"
+                android:textSize="16dp"
+                ></TextView>
+
+            <EditText
+                android:id="@+id/et_remark"
+                android:layout_width="200dp"
+                android:layout_height="match_parent"
+                android:layout_marginTop="10dp"
+                android:gravity="center|left"
+                android:inputType="number"
+                android:hint="SDK澶囨敞"
+                android:textSize="16dp"
+                android:text="SDK鐗规畩璁惧"
+                />
+
+            <Button
+                android:id="@+id/btn_save_allow"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:gravity="center"
+                android:text="鍏佽"/>
+
+
+
+        </LinearLayout>
+
+
+        <Button
+            android:id="@+id/btn_save_close"
+            android:layout_width="match_parent"
+            android:layout_height="50dp"
+            android:layout_marginTop="10dp"
+            android:text="绂佹"/>
+
+    </LinearLayout>
+</RelativeLayout>
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 1f5a0aa..1024b92 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -1,4 +1,7 @@
 <resources>
     <string name="app_name">HDL_SDK</string>
-    <string name="app_version">hdl_lib_v1.6.5.20200117_beta</string>
+    <string name="app_version">hdl_lib_v1.6.6.20200305_beta</string>
+    <string name="btn_save">淇濆瓨</string>
+    <string name="et_subnetid_hint">瀛愮綉鍙凤紙鑼冨洿0 - 254锛�</string>
+    <string name="et_deviceid_hint">璁惧鍙峰彿锛堣寖鍥�0 - 254锛�</string>
 </resources>
diff --git a/hdl_core/build.gradle b/hdl_core/build.gradle
index 06da373..a9ba645 100644
--- a/hdl_core/build.gradle
+++ b/hdl_core/build.gradle
@@ -7,7 +7,7 @@
         minSdkVersion 17
         targetSdkVersion 28
         versionCode 1
-        versionName "1.0.6"
+        versionName "1.0.7"
 
         testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
 
diff --git a/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Core/HDLCommand.java b/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Core/HDLCommand.java
index 4dc6b19..5062b57 100644
--- a/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Core/HDLCommand.java
+++ b/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Core/HDLCommand.java
@@ -64,6 +64,8 @@
         HDLDeviceManager.init(context);
     }
 
+
+
 //    /**
 //     * 鑾峰彇鏈湴骞挎挱IP
 //     * @return
@@ -1030,4 +1032,6 @@
     }
 
 
+
+
 }
diff --git a/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Core/HDLDeviceManager.java b/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Core/HDLDeviceManager.java
index f8ede67..0b21663 100644
--- a/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Core/HDLDeviceManager.java
+++ b/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Core/HDLDeviceManager.java
@@ -66,30 +66,19 @@
     public static List<String> rcuIpList = new ArrayList<>();//缁熻Rcu ip鍦板潃鍒楄〃
     public static List<DevicesData> devicesDataList = new ArrayList<>();//缁熻鎼滅储鍒楄〃
     public static List<DevicesData> realDevicesDataList = new ArrayList<>();//缁熻鎼滅储鍒楄〃
-
-
     private static Context viewContext;
     public static List<ListRemarks> listRemarks = new ArrayList<>();
     public static List<RcuLight> rcuLightList = new ArrayList<>();
     public static List<RcuCurtain> rcuCurtainList = new ArrayList<>();
     public static boolean isLogicCtrl = false;
     public static ConcurrentHashMap<String, Boolean> ctrlSuccessStateHashMap = new ConcurrentHashMap<>();//2019-8-2
-
-//    public static byte[] air1Info = null;
-//    public static byte[] air2Info = null;
-//    public static byte[] air3Info = null;
-//    public static byte[] air4Info = null;
-    //        air4Info[寮�鍏崇姸鎬侊紝妯″紡锛岃缃俯搴︼紝椋庨�燂紝褰撳墠娓╁害锛屾槸鍚︽憜椋� ];
-
     public static boolean isGetRcuIpSuccess = false;
     public static boolean isGetDeviceStateSuccess = false; //鍒ゆ柇鑾峰彇璁惧鐘舵�佹槸鍚︽帶鍒舵垚鍔�
-
-//    public static boolean isLightCtrlSuccess = false; //鍒ゆ柇鐏厜鏄惁鎺у埗鎴愬姛
-//    public static boolean isCurtainCtrlSuccess = false; //鍒ゆ柇绐楀笜鏄惁鎺у埗鎴愬姛
-//    public static boolean isACCtrlSuccess = false; //鍒ゆ柇绌鸿皟鏄惁鎺у埗鎴愬姛
-//    public static boolean isSceneCtrlSuccess = false; //鍒ゆ柇鍦烘櫙鏄惁鎺у埗鎴愬姛
-//    public static boolean isFreshAirCtrlSuccess = false; //鍒ゆ柇鏂伴绯荤粺鏄惁鎺у埗鎴愬姛
-//    public static boolean isGeothermalCtrlSuccess = false; //鍒ゆ柇鍦扮儹妯″潡鏄惁鎺у埗鎴愬姛
+    //鏄惁鍏佽琚畝鏄撶紪绋嬫悳绱㈤儴鍒�
+    private static boolean isAllowEasyProgrammingSearch = false;//鏄惁鍏佽琚畝鏄撶紪绋嬫悳绱�
+    private static int SDKLocalBigClass = 9; //SDK 褰撳墠閰嶇疆妯℃嫙璁惧鐨勫ぇ绫伙紝榛樿涓洪煶涔愩�佽儗鏅煶涔愬姛鑳�
+    private static int SDKLocalSmallClass = 1; //SDK 褰撳墠閰嶇疆妯℃嫙璁惧鐨勫皬绫伙紝绗笁鏂硅儗鏅煶涔愭ā鍧�
+    private static String SDKLocalRemark = "鐗规畩璁惧"; //SDK 褰撳墠閰嶇疆妯℃嫙璁惧澶囨敞
 
 
     /**
@@ -100,12 +89,10 @@
     public static void init(Context context) {
         viewContext = context;
 //        HDLUdpCore.initMulticastSocket();
-
-
         HandleSearch.rcuIp = (String) SPUtils.getParam(context, SPUtils.KEY_RCU_IP_, "");
         Crc.localSubnetID = (int) SPUtils.getParam(context, SPUtils.KEY_SUB_ID_, 254);
         Crc.localDeviceID = (int) SPUtils.getParam(context, SPUtils.KEY_DEVICE_ID, 80);
-
+        SDKLocalRemark = (String) SPUtils.getParam(viewContext, SPUtils.KEY_LOCAL_REMARK, SPUtils.DEFAULT_REMARK);
 //        HandleSearch.curSearchMode = HandleSearch.GET_BUS_DEVICES;
 //        HDLUdpCore.initMulticastSocket6000();
     }
@@ -122,6 +109,32 @@
         HDLUdpCore.closeSocket6000();
     }
 
+    /**
+     * 閰嶇疆绠�鏄撶紪绋嬫悳绱㈣繑鍥炵殑榛樿鍙傛暟
+     * @param mSDKLocalBigClass
+     * @param mSDKLocalSmallClass
+     * @param mSDKLocalRemark
+     */
+    public static void setEasyProgrammingSearchLocalData(int mSDKLocalBigClass, int mSDKLocalSmallClass, String mSDKLocalRemark){
+        SDKLocalBigClass = mSDKLocalBigClass;
+        SDKLocalSmallClass = mSDKLocalSmallClass;
+        if(mSDKLocalRemark != null){
+            SDKLocalRemark = mSDKLocalRemark;
+        }
+        isAllowEasyProgrammingSearch = true;
+    }
+
+    public static void setEasyProgrammingSearchLocalData(int mSDKLocalBigClass, int mSDKLocalSmallClass){
+        setEasyProgrammingSearchLocalData(mSDKLocalBigClass, mSDKLocalSmallClass,null);
+    }
+
+    /**
+     * 璁剧疆鏄惁鍏佽琚畝鏄撶紪绋嬫悳绱�
+     * @param isAllow
+     */
+    public static void setIsAllowEasyProgrammingSearch(boolean isAllow){
+        isAllowEasyProgrammingSearch = isAllow;
+    }
 
     /**
      * 澶勭悊CommandData骞惰繑鍥炴悳绱㈡垨鎺у埗鐨勬湁鐢ㄤ俊鎭�
@@ -147,6 +160,10 @@
                         handleSearchData(getDatas);
                     }
                 }
+                break;
+            //绠�鏄撶紪绋嬭澶囨悳绱㈡搷浣滅爜銆佽澶囪鍙栨搷浣滅爜 鍥炲
+            case Configuration.DEVICES_SEARCH_COMMAND:
+                handleDeviceSearchBackData(getDatas);
                 break;
 //          鎺у埗璁惧
             case Configuration.LIGHT_CTRL_BACK_COMMAND:
@@ -279,6 +296,64 @@
 
 
     /**
+     * 鍥炲绠�鏄撶紪绋嬫悳绱㈤潪缃戠粶璁惧锛岃繑鍥炲綋鍓峉DK淇℃伅
+     *
+     * @param getDatas
+     */
+    private static void sendDeviceSearchBackInfo(UdpDataBean getDatas) {
+        byte[]  remarkByte = StringUtil.stringtoBytes(SDKLocalRemark);
+        byte[] addBytes = new byte[25];
+        addBytes[0] = getDatas.addBytes[0];
+        addBytes[1] = getDatas.addBytes[1];
+        System.arraycopy(remarkByte, 0, addBytes, 2, remarkByte.length > 20 ? 20 : remarkByte.length);
+        addBytes[22] = (byte) SDKLocalBigClass;
+        addBytes[23] = (byte) SDKLocalSmallClass;
+        addBytes[24] = (byte) 1;
+
+        HDLCommand.cusSendCommand(Configuration.DEVICES_SEARCH_BACK_COMMAND,
+                getDatas.sourceSubnetID,
+                getDatas.sourceDeviceID,
+                addBytes,
+                getDatas.port, getDatas.ipAddress);
+
+
+//        HDLCommand.cusSendCommand(Configuration.DEVICES_SEARCH_BACK_COMMAND,
+//                getDatas.sourceSubnetID,
+//                getDatas.sourceDeviceID,
+//                addBytes,
+//                getDatas.port,  NetWorkUtil.getLocalBroadCast());
+
+    }
+
+    /**
+     * 鏀跺埌绠�鏄撶紪绋嬫悳绱㈤潪缃戠粶璁惧
+     * @param getDatas
+     */
+    public static void handleDeviceSearchBackData(UdpDataBean getDatas){
+        //鍒ゆ柇鏄惁鍏佽琚畝鏄撶紪绋嬫悳绱㈠拰鍥炲
+        if(!isAllowEasyProgrammingSearch) return;
+
+        if (getDatas.addBytes.length == 2) {
+            sendDeviceSearchBackInfo(getDatas);
+        } else {
+
+            for (int i = 2, len = getDatas.addBytes.length; i < len; i++) {
+                if (i % 2 == 0) {
+                    if ((getDatas.addBytes[i] & 0xFF) == Crc.localSubnetID
+                            && (getDatas.addBytes[i + 1] & 0xFF) ==  Crc.localDeviceID
+                    ) {
+                        sendDeviceSearchBackInfo(getDatas);
+                        break;
+                    }
+                }
+            }
+        }
+
+    }
+
+
+
+    /**
      * 澶勭悊RCU鎼滅储鏁版嵁
      *
      * @param getDatas
@@ -342,9 +417,9 @@
         }
 
         byte[] remarkByte;
-        String remarkString = (String) SPUtils.getParam(viewContext, SPUtils.KEY_LOCAL_REMARK, SPUtils.DEFAULT_REMARK);
+//        String remarkString = (String) SPUtils.getParam(viewContext, SPUtils.KEY_LOCAL_REMARK, SPUtils.DEFAULT_REMARK);
 
-        remarkByte = StringUtil.stringtoBytes(remarkString);
+        remarkByte = StringUtil.stringtoBytes(SDKLocalRemark);
 
         byte[] addBytes = new byte[53];
         addBytes[0] = getDatas.addBytes[0];
@@ -2540,4 +2615,6 @@
     }
 
 
+
+
 }
diff --git a/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Core/HDLUdpCore.java b/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Core/HDLUdpCore.java
index fd19b58..dc4bf08 100644
--- a/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Core/HDLUdpCore.java
+++ b/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Core/HDLUdpCore.java
@@ -423,7 +423,7 @@
                 }
 
                 break;
-
+            case Configuration.DEVICES_SEARCH_COMMAND: //绠�鏄撶紪绋嬭澶囨悳绱㈡搷浣滅爜銆佽澶囪鍙栨搷浣滅爜 鍥炲
             case Configuration.LIGHT_CTRL_BACK_COMMAND:
             case Configuration.CURTAIN_CTRL_BACK_COMMAND:
             case Configuration.AIR_CTRL_BACK_COMMAND:
diff --git a/hdl_core/src/main/java/com/hdl/sdk/hdl_core/Util/SPUtil/SPUtils.java b/hdl_core/src/main/java/com/hdl/sdk/hdl_core/Util/SPUtil/SPUtils.java
index 3037054..ec32900 100644
--- a/hdl_core/src/main/java/com/hdl/sdk/hdl_core/Util/SPUtil/SPUtils.java
+++ b/hdl_core/src/main/java/com/hdl/sdk/hdl_core/Util/SPUtil/SPUtils.java
@@ -36,6 +36,12 @@
     public static final String KEY_DEVICE_ID = "deviceid";
 
     public static final String KEY_DEVICE_DATA_LIST = "hdldevicedatalist";
+
+    public static final String KEY_LOCAL_BIG_CLASS_ = "local_big_class";
+    public static final String KEY_LOCAL_Small_CLASS_ = "local_Small_class";
+    public static final int DEFAULT_SUB_ID = 254;
+    public static final int DEFAULT_DEVICE_ID = 80;
+
     /**
      * 淇濆瓨鏁版嵁鐨勬柟娉曪紝鎴戜滑闇�瑕佹嬁鍒颁繚瀛樻暟鎹殑鍏蜂綋绫诲瀷锛岀劧鍚庢牴鎹被鍨嬭皟鐢ㄤ笉鍚岀殑淇濆瓨鏂规硶
      *

--
Gitblit v1.8.0