From adba037d593cae303557bb686025b8ccc3bdf418 Mon Sep 17 00:00:00 2001 From: 562935844@qq.com Date: 星期二, 12 九月 2023 13:58:19 +0800 Subject: [PATCH] 澳斯迪去除申请密钥等功能 --- HDLSDK_DEMO/app/libs/com.hdl.sdk-v1.1.4.aar | 0 HDLSDK/.idea/gradle.xml | 1 HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/protocol/LinkMessageDecoder.java | 4 - HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLSocket.java | 24 +++--------- HDLSDK_DEMO/app/src/main/java/com/hdl/hdlsdk/MainActivity.java | 8 +-- HDLSDK/settings.gradle | 2 /dev/null | 0 HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/cloud/HdlCloudController.java | 13 ++---- HDLSDK/hdl-connect/build.gradle | 5 +- HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/HDLLink.java | 29 +++----------- HDLSDK/com.hdl.sdk/build.gradle | 11 +---- HDLSDK/gradle.properties | 4 +- HDLSDK_DEMO/app/build.gradle | 2 HDLSDK/app/src/main/java/com/hdl/hdlsdk/MainActivity.java | 16 ++----- 14 files changed, 35 insertions(+), 84 deletions(-) diff --git a/HDLSDK/.idea/gradle.xml b/HDLSDK/.idea/gradle.xml index c5f824a..92c877d 100644 --- a/HDLSDK/.idea/gradle.xml +++ b/HDLSDK/.idea/gradle.xml @@ -11,7 +11,6 @@ <option name="modules"> <set> <option value="$PROJECT_DIR$" /> - <option value="$PROJECT_DIR$/app" /> <option value="$PROJECT_DIR$/com.hdl.sdk" /> <option value="$PROJECT_DIR$/hdl-connect" /> </set> diff --git a/HDLSDK/app/src/main/java/com/hdl/hdlsdk/MainActivity.java b/HDLSDK/app/src/main/java/com/hdl/hdlsdk/MainActivity.java index 057b11a..9764b67 100644 --- a/HDLSDK/app/src/main/java/com/hdl/hdlsdk/MainActivity.java +++ b/HDLSDK/app/src/main/java/com/hdl/hdlsdk/MainActivity.java @@ -41,21 +41,15 @@ import com.hdl.sdk.connect.bean.request.ListUploadRequest; import com.hdl.sdk.connect.bean.response.BaseLocalResponse; import com.hdl.sdk.connect.bean.response.GatewaySearchBean; -import com.hdl.sdk.connect.bean.response.UpdateInfo; import com.hdl.sdk.connect.callback.HDLLinkCallBack; import com.hdl.sdk.connect.callback.HDLLinkResponseCallBack; -import com.hdl.sdk.connect.cloud.CallBackListener; -import com.hdl.sdk.connect.cloud.CheckAppVersionListener; -import com.hdl.sdk.connect.cloud.HDLException; import com.hdl.sdk.connect.config.HDLLinkConfig; import com.hdl.sdk.connect.socket.HDLAuthSocket; -import com.hdl.sdk.connect.utils.AesUtil; import java.io.UnsupportedEncodingException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.util.ArrayList; -import java.util.Base64; import java.util.List; import java.util.Map; @@ -88,7 +82,7 @@ infoBean.setAccessMode("WIFI"); infoBean.setIPGateway("192.168.1.1"); infoBean.setIPAddress("192.168.1.103"); - infoBean.setGateway_type("screen.touch"); + infoBean.setGateway_type("screen.touch");//spk infoBean.setHw_version("HW2.0"); infoBean.setFw_version("Fw1.0"); infoBean.setOID("010105000000FE11");//姣忎釜璁惧oid閮借涓嶄竴鏍� @@ -97,7 +91,7 @@ HDLLinkConfig.getInstance().setDeviceInfoBean(infoBean); } - void applyDeviceSecret() { + /*void applyDeviceSecret() { tv.setText("寮�濮嬬敵璇疯澶囧瘑閽�..."); responseTv.setText(""); @@ -163,7 +157,7 @@ } }); - } + }*/ /** * 鍏ョ綉璁よ瘉 @@ -313,7 +307,7 @@ switch (position) { case 0: //鐢宠璁惧瀵嗛挜 - applyDeviceSecret(); +// applyDeviceSecret(); break; case 1: //鍏ョ綉璁よ瘉 @@ -377,7 +371,7 @@ break; case 16: //妫�娴嬫洿鏂� - checkAppVersion(); +// checkAppVersion(); break; } } diff --git a/HDLSDK/com.hdl.sdk/build.gradle b/HDLSDK/com.hdl.sdk/build.gradle index 00a22db..e85618c 100644 --- a/HDLSDK/com.hdl.sdk/build.gradle +++ b/HDLSDK/com.hdl.sdk/build.gradle @@ -27,10 +27,8 @@ implementation fileTree(include: ['*.jar'], dir: 'libs') - embed 'com.hdl.hdlhttp:hxhttp:1.0.4' - -// api 'androidx.appcompat:appcompat:1.3.1' -// api 'com.google.android.material:material:1.4.0' + embed 'com.google.code.gson:gson:2.8.8' + /*embed 'com.hdl.hdlhttp:hxhttp:1.0.4' embed 'com.squareup.okhttp3:okhttp:4.9.1' embed 'com.squareup.okhttp3:logging-interceptor:4.9.1' @@ -41,15 +39,12 @@ embed 'com.squareup.retrofit2:adapter-rxjava3:2.9.0' embed 'io.reactivex.rxjava3:rxandroid:3.0.0' embed 'io.reactivex.rxjava3:rxjava:3.1.1' - embed 'com.google.code.gson:gson:2.8.8' embed 'com.trello.rxlifecycle4:rxlifecycle:4.0.2' embed 'com.trello.rxlifecycle4:rxlifecycle-android:4.0.2' embed 'com.trello.rxlifecycle4:rxlifecycle-android-lifecycle:4.0.2' - embed 'org.reactivestreams:reactive-streams:1.0.3' - -// embed(name: 'hxhttp_1.0.4_230201',ext: 'aar') + embed 'org.reactivestreams:reactive-streams:1.0.3'*/ embed project(path: ':hdl-connect', configuration: 'default') diff --git a/HDLSDK/gradle.properties b/HDLSDK/gradle.properties index 31a34a4..9f4f1c1 100644 --- a/HDLSDK/gradle.properties +++ b/HDLSDK/gradle.properties @@ -14,6 +14,6 @@ # AndroidX package structure to make it clearer which packages are bundled with the # Android operating system, and which are packaged with your app"s APK # https://developer.android.com/topic/libraries/support-library/androidx-rn -android.useAndroidX=true +android.useAndroidX=false ### Automatically convert third-party libraries to use AndroidX -android.enableJetifier=true +android.enableJetifier=false diff --git a/HDLSDK/hdl-connect/build.gradle b/HDLSDK/hdl-connect/build.gradle index 5f8c118..5ae6067 100644 --- a/HDLSDK/hdl-connect/build.gradle +++ b/HDLSDK/hdl-connect/build.gradle @@ -29,9 +29,8 @@ dependencies { // implementation fileTree(include: ['*.jar'], dir: 'libs') - api 'com.hdl.hdlhttp:hxhttp:1.0.4' - api 'com.squareup.okhttp3:logging-interceptor:4.9.1' -// embed(name: 'hxhttp_1.0.4_230201',ext: 'aar') +// api 'com.hdl.hdlhttp:hxhttp:1.0.4' +// api 'com.squareup.okhttp3:logging-interceptor:4.9.1' api 'com.google.code.gson:gson:2.8.8' } diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/HDLLink.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/HDLLink.java index 9ee990e..c39638c 100644 --- a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/HDLLink.java +++ b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/HDLLink.java @@ -1,34 +1,19 @@ package com.hdl.sdk.connect; -import android.content.Context; - -import com.hdl.hdlhttp.HxHttpConfig; import com.hdl.sdk.common.event.DeleteNetworkListener; +import com.hdl.sdk.common.event.EventDispatcher; +import com.hdl.sdk.common.event.EventListener; import com.hdl.sdk.common.utils.LogUtils; -import com.hdl.sdk.common.utils.ThreadToolUtils; -import com.hdl.sdk.connect.bean.request.DeviceAuthRequest; +import com.hdl.sdk.connect.bean.request.AuthenticateRequest; import com.hdl.sdk.connect.bean.request.DeviceControlRequest; import com.hdl.sdk.connect.bean.request.ListUploadRequest; import com.hdl.sdk.connect.callback.HDLLinkCallBack; import com.hdl.sdk.connect.callback.HDLLinkResponseCallBack; -import com.hdl.sdk.connect.cloud.CallBackListener; -import com.hdl.sdk.connect.cloud.CheckAppVersionListener; -import com.hdl.sdk.connect.cloud.HdlCloudApi; -import com.hdl.sdk.connect.cloud.HdlCloudController; -import com.hdl.sdk.connect.cloud.interceptor.EncryptInterceptor; -import com.hdl.sdk.connect.cloud.interceptor.SmartHeaderInterceptor; import com.hdl.sdk.connect.config.HDLLinkConfig; -import com.hdl.sdk.common.event.EventDispatcher; -import com.hdl.sdk.common.event.EventListener; -import com.hdl.sdk.connect.bean.request.AuthenticateRequest; import com.hdl.sdk.connect.socket.HDLAuthSocket; import com.hdl.sdk.connect.socket.HDLSocket; import java.util.List; -import java.util.concurrent.TimeUnit; - -import io.reactivex.rxjava3.disposables.Disposable; -import okhttp3.logging.HttpLoggingInterceptor; /** * Created by jlchen on 11/15/21. @@ -162,7 +147,7 @@ * @param spk 璁惧spk * @param callBack 缁撴灉鍥炶皟 */ - public void applyDeviceSecret(Context context, String appKey, String appSecret, String supplier, String mac, String spk, CallBackListener callBack) { + /*public void applyDeviceSecret(Context context, String appKey, String appSecret, String supplier, String mac, String spk, CallBackListener callBack) { LogUtils.i("鐢宠璁惧瀵嗛挜"); HxHttpConfig.getInstance().init(context, HdlCloudApi.BASE_CHINA_URL) .addInterceptor( @@ -180,7 +165,7 @@ HdlCloudController.applyDeviceSecret(supplier, mac, spk, callBack); } - +*/ /** * 妫�娴嬫洿鏂� * @@ -190,7 +175,7 @@ * @param appCode appCode * @param listener 缁撴灉鍥炶皟 */ - public void checkAppVersion(Context context, String appKey, String appSecret, String versionCode, String appCode, CheckAppVersionListener listener) { + /*public void checkAppVersion(Context context, String appKey, String appSecret, String versionCode, String appCode, CheckAppVersionListener listener) { LogUtils.i("妫�娴嬫洿鏂�"); HxHttpConfig.getInstance().init(context, HdlCloudApi.BASE_CHINA_URL) .addInterceptor( @@ -207,7 +192,7 @@ .addInterceptor(httpLoggingInterceptor).ignoreSSL(); HdlCloudController.checkAppVersion(versionCode, appCode, listener); - } + }*/ /** * 閫氱煡鍒犻櫎骞堕��缃戝瓙璁惧 diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/cloud/BaseCallBack.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/cloud/BaseCallBack.java deleted file mode 100644 index 9573604..0000000 --- a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/cloud/BaseCallBack.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.hdl.sdk.connect.cloud; - -/** - * Created by Tong on 2021/11/8. - */ -public interface BaseCallBack { - - void onError(HDLException e); - -} diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/cloud/CallBackListener.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/cloud/CallBackListener.java deleted file mode 100644 index 76a9346..0000000 --- a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/cloud/CallBackListener.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.hdl.sdk.connect.cloud; - -/** - * Created by panlili on 2022/5/17. - */ -public interface CallBackListener extends BaseCallBack { - void onSuccess(String message); -} diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/cloud/CheckAppVersionListener.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/cloud/CheckAppVersionListener.java deleted file mode 100644 index 7841ca8..0000000 --- a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/cloud/CheckAppVersionListener.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.hdl.sdk.connect.cloud; - - -import com.hdl.sdk.connect.bean.response.UpdateInfo; - -/** - * Created by panlili on 2023/8/30. - */ -public interface CheckAppVersionListener extends BaseCallBack { - void onSuccess(UpdateInfo info); -} diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/cloud/GsonUtils.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/cloud/GsonUtils.java deleted file mode 100644 index 22621cb..0000000 --- a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/cloud/GsonUtils.java +++ /dev/null @@ -1,247 +0,0 @@ -package com.hdl.sdk.connect.cloud; - -import androidx.annotation.NonNull; - -import com.google.gson.Gson; -import com.google.gson.GsonBuilder; -import com.google.gson.JsonArray; -import com.google.gson.JsonDeserializationContext; -import com.google.gson.JsonDeserializer; -import com.google.gson.JsonElement; -import com.google.gson.JsonParseException; -import com.google.gson.JsonPrimitive; -import com.google.gson.JsonSerializationContext; -import com.google.gson.JsonSerializer; -import com.google.gson.JsonSyntaxException; -import com.google.gson.TypeAdapter; -import com.google.gson.TypeAdapterFactory; -import com.google.gson.reflect.TypeToken; -import com.google.gson.stream.JsonReader; -import com.google.gson.stream.JsonToken; -import com.google.gson.stream.JsonWriter; - -import java.io.IOException; -import java.lang.reflect.Type; - -/** - * Created by Tong on 2021/11/10. - */ -public class GsonUtils { - - private static Gson gson; - - public static <T> T copy(Object o, Class<T> type) { - return copy(o, TypeToken.get(type)); - } - - public static <T> T copy(Object o, TypeToken<T> type) { - return copy(o, type.getType()); - } - - public static <T> T copy(Object o, Type type) { - try { - Gson gson = getGson(); - return gson.fromJson(gson.toJson(o), type); - } catch (Exception e) { - e.printStackTrace(); - } - return null; - } - - - public static <T> T fromJson(String json, Type type) { - try { - Gson gson = getGson(); - return gson.fromJson(json, type); - } catch (Exception e) { - e.printStackTrace(); - } - return null; - } - - public static <T> T fromJson(String json, Class<T> type) { - try { - Gson gson = getGson(); - return gson.fromJson(json, type); - } catch (Exception e) { - e.printStackTrace(); - } - return null; - } - - public static <T> T fromJson(String json) { - try { - Gson gson = getGson(); - return gson.fromJson(json, new TypeToken<T>() { - }.getType()); - } catch (Exception e) { - e.printStackTrace(); - } - return null; - } - - - public static String toJson(Object object) { - try { - return getGson().toJson(object); - } catch (Exception e) { - e.printStackTrace(); - } - return null; - } - - public static Type getType(@NonNull final Type rawType, @NonNull final Type... typeArguments) { - return TypeToken.getParameterized(rawType, typeArguments).getType(); - } - - - public static Gson getGson() { - if (gson == null) { - gson = new GsonBuilder() - .disableHtmlEscaping() - .registerTypeAdapterFactory(new NullStringToEmptyAdapterFactory()) - .registerTypeAdapter(String.class, new StringAdapter()) - .registerTypeAdapter(Integer.class, new IntegerDefaultAdapter()) - .registerTypeAdapter(Double.class, new DoubleDefaultAdapter()) - .registerTypeAdapter(Long.class, new LongDefaultAdapter()) - .create(); - } - return gson; - } - - /** - * - * @param o - * @param <T> - * @return - */ - public static <T> JsonArray toJsonArray(Object o) { - try { - return getGson().fromJson(GsonUtils.toJson(o), new TypeToken<JsonArray>() { - }.getType()); - } catch (Exception e) { - return null; - } - } - - private static class StringAdapter implements JsonSerializer<String>, JsonDeserializer<String> { - @Override - public String deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) - throws JsonParseException { - if (json instanceof JsonPrimitive) { - return json.getAsString(); - } else { - return json.toString(); - } - } - - @Override - public JsonElement serialize(String src, Type typeOfSrc, JsonSerializationContext context) { - return new JsonPrimitive(src); - } - } - - - private static class IntegerDefaultAdapter implements JsonSerializer<Integer>, JsonDeserializer<Integer> { - @Override - public Integer deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) - throws JsonParseException { - try { - if (json.getAsString().equals("") || json.getAsString().equals("null")) { - return 0; - } - } catch (Exception ignore) { - } - try { - return json.getAsInt(); - } catch (NumberFormatException e) { - throw new JsonSyntaxException(e); - } - } - - @Override - public JsonElement serialize(Integer src, Type typeOfSrc, JsonSerializationContext context) { - return new JsonPrimitive(src); - } - } - - private static class DoubleDefaultAdapter implements JsonSerializer<Double>, JsonDeserializer<Double> { - @Override - public Double deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException { - try { - if (json.getAsString().equals("") || json.getAsString().equals("null")) { - return 0.00; - } - } catch (Exception ignore) { - } - try { - return json.getAsDouble(); - } catch (NumberFormatException e) { - throw new JsonSyntaxException(e); - } - } - - @Override - public JsonElement serialize(Double src, Type typeOfSrc, JsonSerializationContext context) { - return new JsonPrimitive(src); - } - } - - private static class LongDefaultAdapter implements JsonSerializer<Long>, JsonDeserializer<Long> { - @Override - public Long deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) - throws JsonParseException { - try { - if (json.getAsString().equals("") || json.getAsString().equals("null")) { - return 0L; - } - } catch (Exception ignore) { - } - try { - return json.getAsLong(); - } catch (NumberFormatException e) { - throw new JsonSyntaxException(e); - } - } - - @Override - public JsonElement serialize(Long src, Type typeOfSrc, JsonSerializationContext context) { - return new JsonPrimitive(src); - } - } - - private static class NullStringToEmptyAdapterFactory implements TypeAdapterFactory { - - public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> type) { - Class<T> rawType = (Class<T>) type.getRawType(); - if (rawType != String.class) { - return null; - } - return (TypeAdapter<T>) new StringNullAdapter(); - } - } - - public static class StringNullAdapter extends TypeAdapter<String> { - - @Override - public String read(JsonReader reader) throws IOException { - if (reader.peek() == JsonToken.NULL) { - reader.nextNull(); - return ""; - } - return reader.nextString(); - } - - @Override - public void write(JsonWriter writer, String value) throws IOException { - if (value == null) { - writer.nullValue(); - return; - } - writer.value(value); - } - - } - - -} diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/cloud/HDLException.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/cloud/HDLException.java deleted file mode 100644 index ec6a21a..0000000 --- a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/cloud/HDLException.java +++ /dev/null @@ -1,114 +0,0 @@ -package com.hdl.sdk.connect.cloud; - -import android.text.TextUtils; - -import androidx.annotation.IntDef; -import androidx.annotation.Nullable; - -import com.hdl.hdlhttp.callback.HxException; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -/** - * Created by Tong on 2021/11/8. - */ -public class HDLException extends RuntimeException { - - private int code; - private String msg; - - @Retention(RetentionPolicy.SOURCE) - @Target({ElementType.FIELD, ElementType.PARAMETER}) - @IntDef({ - ErrorCode.UNKNOWN, - ErrorCode.PARSE_ERROR, - ErrorCode.NETWORK_ERROR, - ErrorCode.HTTP_ERROR, - ErrorCode.SSL_ERROR, - ErrorCode.TIMEOUT_ERROR - }) - public @interface ErrorCode { - //鏈煡閿欒 - int UNKNOWN = -40000; - //瑙f瀽閿欒 - int PARSE_ERROR = -40001; - //缃戠粶閿欒 - int NETWORK_ERROR = -40002; - //鍗忚鍑洪敊 - int HTTP_ERROR = -40003; - //璇佷功鍑洪敊 - int SSL_ERROR = -40004; - //杩炴帴瓒呮椂 - int TIMEOUT_ERROR = -40005; - - } - - private int getHxToErrorCode(@HxException.ErrorCode int hxCode) { - switch (hxCode) { - case HxException.ErrorCode.UNKNOWN: - return ErrorCode.UNKNOWN; - case HxException.ErrorCode.PARSE_ERROR: - return ErrorCode.PARSE_ERROR; - case HxException.ErrorCode.NETWORK_ERROR: - return ErrorCode.NETWORK_ERROR; - case HxException.ErrorCode.HTTP_ERROR: - return ErrorCode.HTTP_ERROR; - case HxException.ErrorCode.SSL_ERROR: - return ErrorCode.SSL_ERROR; - case HxException.ErrorCode.TIMEOUT_ERROR: - return ErrorCode.TIMEOUT_ERROR; - } - return ErrorCode.NETWORK_ERROR; - } - - public HDLException(HxException exception) { - this.code = getHxToErrorCode(exception.getCode()); - this.msg = exception.getMsg(); - } - - - public HDLException(int code, String msg) { - this.code = code; - this.msg = msg; - if (!TextUtils.isEmpty(msg)) { - this.msg = msg; - } else { -// this.msg = HxHttpConfig.getInstance().getString(R.string.network_error); - this.msg = "缃戠粶鍙戠敓寮傚父锛岃绋嶅悗鍐嶈瘯"; - } - } - - public int getCode() { - return code; - } - - public void setCode(int code) { - this.code = code; - } - - public String getMsg() { - return msg; - } - - public void setMsg(String msg) { - this.msg = msg; - } - - - @Override - public String toString() { - return "HDLException{" + - "code=" + code + - ", msg='" + msg + '\'' + - '}'; - } - - @Nullable - @Override - public String getMessage() { - return msg; - } -} diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/cloud/HDLResponse.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/cloud/HDLResponse.java deleted file mode 100644 index ee682ce..0000000 --- a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/cloud/HDLResponse.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.hdl.sdk.connect.cloud; - -import com.hdl.hdlhttp.callback.HxException; -import com.hdl.hdlhttp.response.GsonSubscribe; - -import java.lang.reflect.ParameterizedType; -import java.lang.reflect.Type; - - -/** - * Created by Tong on 2021/11/8. - */ -public abstract class HDLResponse<K> extends GsonSubscribe<BaseInfo<K>> { - - public abstract void onResponse(K response); - - public abstract void onFailure(HDLException e); - - @Override - public void onNext(String s) { - try { - Type type = getClass().getGenericSuperclass(); - if (type instanceof ParameterizedType) { - Type[] types = ((ParameterizedType) type).getActualTypeArguments(); - ParameterizedTypeImpl parameterizedType = new ParameterizedTypeImpl(BaseInfo.class, types, BaseInfo.class); - - BaseInfo<K> data = GsonUtils.fromJson(s,parameterizedType); - onSuccess(data); - } - } catch (Exception e) { - e.printStackTrace(); - this.onError(HxException.handleException(e)); - } - } - - @Override - public final void onSuccess(BaseInfo<K> response) { - if (response.getCode() == CloudLinkCode.SUCCEED) { - onResponse(response.getData()); - } else { - onFailure(new HDLException(response.getCode(), response.getMessage())); - } - } - - @Override - public final void onError(HxException e) { - onFailure(new HDLException(e)); - } - - -} diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/cloud/HdlCloudController.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/cloud/HdlCloudController.java index 8f05dcf..6b5c29f 100644 --- a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/cloud/HdlCloudController.java +++ b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/cloud/HdlCloudController.java @@ -1,17 +1,12 @@ package com.hdl.sdk.connect.cloud; -import com.hdl.hdlhttp.HxHttp; -import com.hdl.sdk.connect.bean.response.UpdateInfo; - -import io.reactivex.rxjava3.disposables.Disposable; - /** * Created by panlili on 2023/1/30 * description: */ public class HdlCloudController { - public static Disposable applyDeviceSecret(String supplier, String mac, String spk, CallBackListener callBack) { + /*public static Disposable applyDeviceSecret(String supplier, String mac, String spk, CallBackListener callBack) { return HxHttp.builder() .url(HdlCloudApi.BASE_CHINA_URL + HdlCloudApi.APPLY_DEVICE_SECRET) .params("supplier", supplier) @@ -34,14 +29,14 @@ } } }); - } + }*/ /** * 妫�鏌pp鏄惁鏇存柊 * * @return */ - public static Disposable checkAppVersion(String versionCode, String appCode, CheckAppVersionListener listener) { + /*public static Disposable checkAppVersion(String versionCode, String appCode, CheckAppVersionListener listener) { return HxHttp.builder() .url(HdlCloudApi.BASE_CHINA_URL + HdlCloudApi.CHECK_APP_VERSION_URL) .params("version", versionCode) @@ -60,6 +55,6 @@ listener.onError(e); } }); - } + }*/ } diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/cloud/interceptor/EncryptInterceptor.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/cloud/interceptor/EncryptInterceptor.java deleted file mode 100644 index 9a83b75..0000000 --- a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/cloud/interceptor/EncryptInterceptor.java +++ /dev/null @@ -1,175 +0,0 @@ -package com.hdl.sdk.connect.cloud.interceptor; - -import android.net.Uri; -import android.text.TextUtils; - -import androidx.annotation.NonNull; - -import com.google.gson.JsonElement; -import com.google.gson.JsonObject; -import com.google.gson.JsonParser; -import com.google.gson.reflect.TypeToken; -import com.hdl.sdk.connect.HDLLink; -import com.hdl.sdk.connect.cloud.GsonUtils; -import com.hdl.sdk.connect.cloud.MD5Utils; - -import java.io.IOException; -import java.net.URLDecoder; -import java.nio.charset.Charset; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.Map; - -import okhttp3.FormBody; -import okhttp3.Headers; -import okhttp3.Interceptor; -import okhttp3.MediaType; -import okhttp3.Request; -import okhttp3.RequestBody; -import okhttp3.Response; -import okio.Buffer; - -/** - * Created by Tong on 2021/11/4. - * 鍔犲瘑骞惰嚜鍔ㄨˉ鍏呭弬鏁�,appKey銆乼imestamp - * 鍙敮鎸佽〃鍗曘�乯son - * 鏈�缁坖son鏂瑰紡鎻愪氦 - */ -public class EncryptInterceptor implements Interceptor { - - - @NonNull - @Override - public Response intercept(@NonNull Chain chain) throws IOException { - Request request = chain.request(); - Headers headers = request.headers(); - if (!isIgnoreSignHeader(headers)) { - return chain.proceed(encrypt(request)); - } - - return chain.proceed(request); - } - - - /** - * 娣诲姞sign瀛楁 - */ - private Request encrypt(Request request) { - final String timestamp = String.valueOf(System.currentTimeMillis()); - final String appKey = HDLLink.getInstance().getAppKey(); - final String appSecret = HDLLink.getInstance().getAppSecret(); - final JsonObject json = getBodyJson(request); - if (json != null) { - json.addProperty("appKey", appKey); - json.addProperty("timestamp", timestamp); - json.addProperty("sign", getSign(json, appSecret)); - final RequestBody requestBody = RequestBody.create(json.toString(), MediaType.parse("application/json;charset=UTF-8")); - return request.newBuilder().post(requestBody) - .build(); - } - return request; - } - - /** - * 闇�瑕佹寜瀛楁瘝鎺掑簭 - * - * @param json 鎵�鏈夊瓧娈典娇鐢╱rlParameter鎷兼帴锛岄櫎浜哸ppSecret - */ - private String getSign(JsonObject json, String appSecret) { - String builder = jsonToUrlParameter(json) + - appSecret; - return MD5Utils.encodeMD5(builder); - } - - - /** - * 鏄惁蹇界暐鑷畾涔夌殑鍔犲瘑澶� - */ - private boolean isIgnoreSignHeader(Headers headers) { - String signHeader = headers.get(SmartHeader.IGNORE_SIGN_HEADER); - return !TextUtils.isEmpty(signHeader); - } - - private JsonObject getBodyJson(Request request) { - RequestBody body = request.body(); - if (body instanceof FormBody) { - JsonObject object = new JsonObject(); - FormBody formBody = (FormBody) body; - for (int i = 0; i < formBody.size(); i++) { - object.addProperty(formBody.name(i), formBody.value(i)); - } - return object; - } else { - //json鏍煎紡 - try { - String bodyString = getBodyString(request); - if (!TextUtils.isEmpty(bodyString)) { - final JsonElement parseString = JsonParser.parseString(bodyString); - return parseString.getAsJsonObject(); - } - } catch (Exception e) { - e.printStackTrace(); - } - - } - return null; - } - - private String getBodyString(Request request) { - try { - RequestBody body = request.body(); - if (body != null) { - Buffer buffer = new Buffer(); - body.writeTo(buffer); - Charset charset = Charset.forName("UTF-8"); - MediaType contentType = body.contentType(); - charset = contentType.charset(charset); - return buffer.readString(charset); - } - } catch (IOException e) { - e.printStackTrace(); - } - return ""; - } - - - - - - private String jsonToUrlParameter(JsonObject object) { - final Map<String, String> map = GsonUtils.getGson().fromJson(object, new TypeToken<Map<String, String>>() { - }.getType()); - final Uri.Builder builder = new Uri.Builder(); - List<String> list = new ArrayList<>(map.keySet()); - Collections.sort(list); - for (String key : list) { - String value = map.get(key); - if (valueNeedSign(value)) { - builder.appendQueryParameter(key, value); - } - } - return builder.build().getQuery(); - } - - - /** - * 鍒ゆ柇褰撳墠鍊兼槸鍚﹂渶瑕佸弬涓庣鍚嶏紝淇濇寔璺熶簯绔竴鑷� - * 绌哄瓧绗︿覆涓嶅弬涓� - * 鏁扮粍,闆嗗悎涓嶅弬涓� - * - * @return ture 闇�瑕佸姞瀵� - */ - private static boolean valueNeedSign(String valueStr) { - try { - if (TextUtils.isEmpty(valueStr)) return false; - final char[] strChar = URLDecoder.decode(valueStr, "utf-8") - .substring(0, 1).toCharArray(); - final char firstChar = strChar[0]; - return firstChar != '{' && firstChar != '['; - } catch (Exception e) { - e.printStackTrace(); - } - return false; - } -} diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/cloud/interceptor/SmartHeader.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/cloud/interceptor/SmartHeader.java deleted file mode 100644 index 8c1616b..0000000 --- a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/cloud/interceptor/SmartHeader.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hdl.sdk.connect.cloud.interceptor; - -/** - * Created by Tong on 2021/11/8. - * 鎷︽埅鍣ㄦ爣璇� - */ -public class SmartHeader { - - //榛樿鎼哄甫鍔犲瘑銆佽В瀵嗕互鍙婃椂闂存埑锛屼娇鐢�"IGNORE_SIGN_HEADER"鍙互灞忚斀 - public static final String IGNORE_SIGN_HEADER = "IgnoreSignHeader"; - - //鍦ㄥ埛鏂癟oken - public static final String REFRESH_TOKEN_HEADER = "RefreshTokenHeader"; - - -} diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/cloud/interceptor/SmartHeaderInterceptor.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/cloud/interceptor/SmartHeaderInterceptor.java deleted file mode 100644 index 9f7107d..0000000 --- a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/cloud/interceptor/SmartHeaderInterceptor.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.hdl.sdk.connect.cloud.interceptor; - -import androidx.annotation.NonNull; - -import java.io.IOException; - -import okhttp3.Interceptor; -import okhttp3.Request; -import okhttp3.Response; - -/** - * Created by Tong on 2021/11/9. - * 鍒犻櫎鑷畾涔夊ご - */ -public class SmartHeaderInterceptor implements Interceptor { - - - @NonNull - @Override - public Response intercept(@NonNull Chain chain) throws IOException { - Request request = chain.request().newBuilder() - .removeHeader(SmartHeader.IGNORE_SIGN_HEADER) - .removeHeader(SmartHeader.REFRESH_TOKEN_HEADER).build(); - return chain.proceed(request); - } - -} diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/protocol/LinkMessageDecoder.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/protocol/LinkMessageDecoder.java index 4e2cbb0..debec18 100644 --- a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/protocol/LinkMessageDecoder.java +++ b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/protocol/LinkMessageDecoder.java @@ -5,7 +5,6 @@ import android.text.TextUtils; import android.util.Log; -import androidx.annotation.RequiresApi; import com.google.gson.reflect.TypeToken; import com.hdl.sdk.common.config.TopicConstant; @@ -32,7 +31,6 @@ import android.util.Base64; -import kotlin.ParameterName; /** * Created by Tong on 2021/9/22. @@ -131,7 +129,7 @@ } - @RequiresApi(api = Build.VERSION_CODES.O) +// @RequiresApi(api = Build.VERSION_CODES.O) @Override protected synchronized LinkResponse decoder(Object msg, String ipaddress) throws Exception { if (msg instanceof byte[]) { diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLSocket.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLSocket.java index b82dcef..d5ab577 100644 --- a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLSocket.java +++ b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLSocket.java @@ -1,16 +1,10 @@ package com.hdl.sdk.connect.socket; -import static com.hdl.sdk.connect.config.HDLLinkConfig.AUTHENTICATE_IS_DEVICEINFO_KEY; - import android.os.Build; import android.text.TextUtils; -import android.util.Log; - -import androidx.annotation.RequiresApi; import com.google.gson.JsonObject; import com.google.gson.reflect.TypeToken; -import com.hdl.sdk.common.HDLSdk; import com.hdl.sdk.common.config.TopicConstant; import com.hdl.sdk.common.event.EventDispatcher; import com.hdl.sdk.common.event.EventListener; @@ -18,33 +12,28 @@ import com.hdl.sdk.common.exception.HDLLinkException; import com.hdl.sdk.common.utils.IdUtils; import com.hdl.sdk.common.utils.LogUtils; -import com.hdl.sdk.common.utils.SPUtils; import com.hdl.sdk.common.utils.ThreadToolUtils; import com.hdl.sdk.common.utils.gson.GsonConvert; import com.hdl.sdk.connect.HDLLink; +import com.hdl.sdk.connect.bean.LinkRequest; +import com.hdl.sdk.connect.bean.LinkResponse; import com.hdl.sdk.connect.bean.LoginRequest; -import com.hdl.sdk.connect.bean.request.AuthenticateRequest; import com.hdl.sdk.connect.bean.request.BroadcastRequest; import com.hdl.sdk.connect.bean.request.DeviceAuthRequest; -import com.hdl.sdk.connect.bean.request.GatewayInfoRequest; +import com.hdl.sdk.connect.bean.request.DeviceControlRequest; +import com.hdl.sdk.connect.bean.request.FunctionAttributeRequest; import com.hdl.sdk.connect.bean.request.ListOidRequest; import com.hdl.sdk.connect.bean.request.ListOidRequest2; import com.hdl.sdk.connect.bean.request.ListUploadRequest; -import com.hdl.sdk.connect.bean.response.AuthenticateResponse; +import com.hdl.sdk.connect.bean.request.PropertyReadRequest; import com.hdl.sdk.connect.bean.response.BaseLocalCodeResponse; import com.hdl.sdk.connect.bean.response.BaseLocalResponse; -import com.hdl.sdk.connect.bean.request.DeviceControlRequest; -import com.hdl.sdk.connect.bean.request.FunctionAttributeRequest; -import com.hdl.sdk.connect.bean.LinkRequest; -import com.hdl.sdk.connect.bean.LinkResponse; -import com.hdl.sdk.connect.bean.request.PropertyReadRequest; import com.hdl.sdk.connect.bean.response.DeviceInfoResponse; import com.hdl.sdk.connect.callback.HDLLinkCallBack; import com.hdl.sdk.connect.callback.HDLLinkResponseCallBack; import com.hdl.sdk.connect.config.HDLLinkConfig; import com.hdl.sdk.connect.protocol.LinkMessageDecoder; import com.hdl.sdk.connect.protocol.LinkMessageEncoder; -import com.hdl.sdk.connect.utils.AesUtil; import com.hdl.sdk.socket.SocketBoot; import com.hdl.sdk.socket.SocketOptions; import com.hdl.sdk.socket.client.IHeartbeat; @@ -54,7 +43,6 @@ import com.hdl.sdk.socket.listener.SendListener; import java.util.ArrayList; -import java.util.Base64; import java.util.List; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; @@ -125,7 +113,7 @@ } BroadcastRequest request = new BroadcastRequest(IdUtils.getUUId(), time, HDLLinkConfig.getInstance().getDeviceInfoBean(), "200"); HDLAuthSocket.getInstance().udpSendMsg(TopicConstant.BROADCAST, GsonConvert.getGson().toJson(request), true, new HDLLinkResponseCallBack() { - @RequiresApi(api = Build.VERSION_CODES.O) +// @RequiresApi(api = Build.VERSION_CODES.O) @Override public void onSuccess(LinkResponse msg) { String data = msg.getData(); diff --git a/HDLSDK/settings.gradle b/HDLSDK/settings.gradle index b974e52..147d5db 100644 --- a/HDLSDK/settings.gradle +++ b/HDLSDK/settings.gradle @@ -1,5 +1,5 @@ -include ':app' +//include ':app' //include ':hdl-socket' include ':hdl-connect' //include ':hdl-common' diff --git a/HDLSDK_DEMO/app/build.gradle b/HDLSDK_DEMO/app/build.gradle index 8d58906..1116a77 100644 --- a/HDLSDK_DEMO/app/build.gradle +++ b/HDLSDK_DEMO/app/build.gradle @@ -40,5 +40,5 @@ implementation 'com.github.CymChad:BaseRecyclerViewAdapterHelper:3.0.6' // implementation 'com.google.code.gson:gson:2.8.8' // implementation project(path: ':hdl-connect') - implementation files('libs\\com.hdl.sdk-v1.1.3.aar') + implementation files('libs\\com.hdl.sdk-v1.1.4.aar') } \ No newline at end of file diff --git a/HDLSDK_DEMO/app/libs/com.hdl.sdk-v1.1.3.aar b/HDLSDK_DEMO/app/libs/com.hdl.sdk-v1.1.3.aar deleted file mode 100644 index 457d626..0000000 --- a/HDLSDK_DEMO/app/libs/com.hdl.sdk-v1.1.3.aar +++ /dev/null Binary files differ diff --git a/HDLSDK_DEMO/app/libs/com.hdl.sdk-v1.1.4.aar b/HDLSDK_DEMO/app/libs/com.hdl.sdk-v1.1.4.aar new file mode 100644 index 0000000..83c01e8 --- /dev/null +++ b/HDLSDK_DEMO/app/libs/com.hdl.sdk-v1.1.4.aar Binary files differ diff --git a/HDLSDK_DEMO/app/src/main/java/com/hdl/hdlsdk/MainActivity.java b/HDLSDK_DEMO/app/src/main/java/com/hdl/hdlsdk/MainActivity.java index 8a9300d..31f1ab6 100644 --- a/HDLSDK_DEMO/app/src/main/java/com/hdl/hdlsdk/MainActivity.java +++ b/HDLSDK_DEMO/app/src/main/java/com/hdl/hdlsdk/MainActivity.java @@ -40,8 +40,6 @@ import com.hdl.sdk.connect.bean.response.GatewaySearchBean; import com.hdl.sdk.connect.callback.HDLLinkCallBack; import com.hdl.sdk.connect.callback.HDLLinkResponseCallBack; -import com.hdl.sdk.connect.cloud.CallBackListener; -import com.hdl.sdk.connect.cloud.HDLException; import com.hdl.sdk.connect.config.HDLLinkConfig; import com.hdl.sdk.connect.socket.HDLAuthSocket; @@ -90,7 +88,7 @@ HDLLinkConfig.getInstance().setDeviceInfoBean(infoBean); } - void applyDeviceSecret() { + /*void applyDeviceSecret() { tv.setText("寮�濮嬬敵璇疯澶囧瘑閽�..."); responseTv.setText(""); @@ -130,7 +128,7 @@ } }); - } + }*/ /** * 鍏ョ綉璁よ瘉 @@ -279,7 +277,7 @@ switch (position) { case 0: //鐢宠璁惧瀵嗛挜 - applyDeviceSecret(); +// applyDeviceSecret(); break; case 1: //鍏ョ綉璁よ瘉 -- Gitblit v1.8.0