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