diff --git a/.idea/deploymentTargetSelector.xml b/.idea/deploymentTargetSelector.xml new file mode 100644 index 0000000..b268ef3 --- /dev/null +++ b/.idea/deploymentTargetSelector.xml @@ -0,0 +1,10 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml index f34bed1..ca7dff6 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -4,6 +4,7 @@ + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index 8978d23..9fb9e77 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,6 +1,6 @@ + - - + diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml new file mode 100644 index 0000000..16660f1 --- /dev/null +++ b/.idea/runConfigurations.xml @@ -0,0 +1,17 @@ + + + + + + \ No newline at end of file diff --git a/SzyxImSdk/build.gradle b/SzyxImSdk/build.gradle index ed0776c..ae46538 100644 --- a/SzyxImSdk/build.gradle +++ b/SzyxImSdk/build.gradle @@ -36,15 +36,15 @@ android { dependencies { - implementation 'androidx.appcompat:appcompat:1.4.2' - implementation 'com.google.android.material:material:1.5.0' + implementation 'androidx.appcompat:appcompat:1.7.0' + implementation 'com.google.android.material:material:1.12.0' testImplementation 'junit:junit:4.13.2' - androidTestImplementation 'androidx.test.ext:junit:1.1.3' - androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' + androidTestImplementation 'androidx.test.ext:junit:1.2.1' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.6.1' //数据库相关 - implementation("androidx.room:room-runtime:2.5.0") - annotationProcessor ("androidx.room:room-compiler:2.5.0") + implementation("androidx.room:room-runtime:2.6.1") + annotationProcessor ("androidx.room:room-compiler:2.6.1") // 网络相关 //Rxjava @@ -60,6 +60,6 @@ dependencies { implementation 'org.eclipse.paho:org.eclipse.paho.android.service:1.1.1' //gson - implementation 'com.google.code.gson:gson:2.9.0' + implementation 'com.google.code.gson:gson:2.10.1' } \ No newline at end of file diff --git a/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/im/manager/ImManager.java b/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/im/manager/ImManager.java index bedc50e..00fd9f7 100644 --- a/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/im/manager/ImManager.java +++ b/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/im/manager/ImManager.java @@ -305,7 +305,7 @@ public class ImManager implements IMInterface { @Override public void failed(int code, String error) { - callback.failed(4001, error); + callback.failed(code, error); } }); @@ -402,7 +402,7 @@ public class ImManager implements IMInterface { String msgId3 = (String) msg.obj; RequestImCallback imCallback = requestMap.get(msgId3); if (null != imCallback) { - imCallback.failed(4001, "发送超时"); + imCallback.failed(400504, "发送超时"); requestMap.remove(msgId3); } break; diff --git a/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/request/RequestManager.java b/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/request/RequestManager.java index 4cda130..6844dce 100644 --- a/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/request/RequestManager.java +++ b/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/request/RequestManager.java @@ -13,56 +13,20 @@ import cn.org.bjca.trust.android.lib.im.im.msg.ResultMessage; public class RequestManager implements RequestInterface { - @Override public void request(String path, Object data, Class clazz, RequestCallback callback) { - - RequestMessage rm = new RequestMessage(path, GsonImplHelp.get().toJson(data)); - - IMHelper.getInstance().request(rm, new RequestImCallback() { - - @Override - public void success(ResultMessage message) { - Type type = TypeBuilder - .newInstance(HttpResult.class) - .addTypeParam(clazz) - .build(); - HttpResult h = GsonImplHelp.get().toObject(message.getBody(), type); - if (h.getCode() == 200) { - callback.success(h); - } else { - callback.failed(h.getCode(), h.getMsg()); - } - } - - @Override - public void failed(int code, String error) { - if (null != callback) { - callback.standby(new RequestCallback() { - @Override - public void success(HttpResult result) { - callback.success(result); - } - - @Override - public void failed(int code, String error) { - callback.failed(code, error); - } - - @Override - public void standby(RequestCallback imCallback) { - - } - }); - - } - } - - }); + performRequest(path, data, clazz, callback); } @Override public void requestList(String path, Object data, Class clazz, RequestCallback> callback) { + performRequest(path, data, TypeBuilder.newInstance(List.class).addTypeParam(clazz).build(), callback); + } + + private void performRequest(String path, Object data, Type type, RequestCallback callback) { + if (callback == null) { + return; + } RequestMessage rm = new RequestMessage(path, GsonImplHelp.get().toJson(data)); @@ -70,23 +34,25 @@ public class RequestManager implements RequestInterface { @Override public void success(ResultMessage message) { - Type type = TypeBuilder - .newInstance(HttpResult.class) - .beginSubType(List.class) - .addTypeParam(clazz) - .endSubType() - .build(); - HttpResult> h = GsonImplHelp.get().toObject(message.getBody(), type); - if (h.getCode() == 200) { - callback.success(h); - } else { - callback.failed(h.getCode(), h.getMsg()); + try { + if (message == null || message.getBody() == null) { + callback.failed(-1, "Empty response"); + return; + } + HttpResult h = GsonImplHelp.get().toObject(message.getBody(), TypeBuilder.newInstance(HttpResult.class).addTypeParam(type).build()); + if (h == null || h.getCode() != 200) { + callback.failed(h != null ? h.getCode() : -1, h != null ? h.getMsg() : "Unknown error"); + } else { + callback.success(h); + } + } catch (Exception e) { + callback.failed(-1, "Error parsing response: " + e.getMessage()); } } @Override public void failed(int code, String error) { - if (null != callback) { + if (code == 400504) { callback.standby(new RequestCallback>() { @Override public void success(HttpResult> result) { @@ -103,10 +69,11 @@ public class RequestManager implements RequestInterface { } }); - + } else { + callback.failed(code, error); } } - }); } + } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 97cb2e0..8f4fe53 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Tue May 16 10:36:25 CST 2023 +#Thu Jan 09 14:11:49 CST 2025 distributionBase=GRADLE_USER_HOME -distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-bin.zip distributionPath=wrapper/dists -zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists