diff --git a/SzyxImSdk/build.gradle b/SzyxImSdk/build.gradle
index 9786a87..fa95369 100644
--- a/SzyxImSdk/build.gradle
+++ b/SzyxImSdk/build.gradle
@@ -1,6 +1,5 @@
plugins {
id 'com.android.library'
- id "io.sentry.android.gradle" version "3.4.2"
}
def versionCode = 1
diff --git a/SzyxImSdk/src/main/AndroidManifest.xml b/SzyxImSdk/src/main/AndroidManifest.xml
index 7834f97..a5918e6 100644
--- a/SzyxImSdk/src/main/AndroidManifest.xml
+++ b/SzyxImSdk/src/main/AndroidManifest.xml
@@ -1,32 +1,4 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/common/DeviceHelper.java b/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/common/DeviceHelper.java
index b2c722c..c0f1854 100644
--- a/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/common/DeviceHelper.java
+++ b/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/common/DeviceHelper.java
@@ -45,7 +45,7 @@ public class DeviceHelper {
device.setSupportedAbis(CommonHelper.anyToString(field.get(null)));
break;
}
- } catch (Exception e) {
+ } catch (Exception ignored) {
}
}
diff --git a/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/im/kit/IMInterface.java b/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/im/kit/IMInterface.java
index d6b107f..caf8c38 100644
--- a/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/im/kit/IMInterface.java
+++ b/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/im/kit/IMInterface.java
@@ -1,6 +1,8 @@
package cn.org.bjca.trust.android.lib.im.im.kit;
+import cn.org.bjca.trust.android.lib.im.im.msg.SZYXMessage;
import cn.org.bjca.trust.android.lib.im.im.opt.ImConnectOptions;
+import cn.org.bjca.trust.android.lib.im.kit.IMSDKCallback;
import cn.org.bjca.trust.android.lib.im.kit.IMSDKListener;
import cn.org.bjca.trust.android.lib.im.kit.MsgListener;
@@ -13,5 +15,6 @@ public interface IMInterface {
void logout();
boolean isConnect();
boolean isConnecting();
+ void sendSZYXMessage(SZYXMessage message, IMSDKCallback callback);
}
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 6d688cb..d855c2e 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
@@ -11,9 +11,12 @@ import org.eclipse.paho.client.mqttv3.MqttMessage;
import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence;
import cn.org.bjca.trust.android.lib.im.cfg.Constant;
+import cn.org.bjca.trust.android.lib.im.common.DeviceHelper;
import cn.org.bjca.trust.android.lib.im.common.json.GsonImplHelp;
import cn.org.bjca.trust.android.lib.im.im.bean.PacketMessage;
import cn.org.bjca.trust.android.lib.im.im.kit.IMInterface;
+import cn.org.bjca.trust.android.lib.im.im.msg.ConnectMessage;
+import cn.org.bjca.trust.android.lib.im.im.msg.SZYXMessage;
import cn.org.bjca.trust.android.lib.im.im.opt.ImConnectOptions;
import cn.org.bjca.trust.android.lib.im.kit.IMSDKCallback;
import cn.org.bjca.trust.android.lib.im.kit.IMSDKListener;
@@ -81,6 +84,8 @@ public class ImManager implements IMInterface {
} catch (MqttException e) {
Log.e(TAG, "=====>connectComplete", e);
}
+ // 发送登录消息
+ sendConnectMsg();
}
@Override
@@ -140,6 +145,16 @@ public class ImManager implements IMInterface {
return this.status == 1;
}
+ @Override
+ public void sendSZYXMessage(SZYXMessage message, IMSDKCallback callback) {
+ sendPacketMessage(message, callback);
+ }
+
+ private void sendConnectMsg() {
+ ConnectMessage message = new ConnectMessage(DeviceHelper.getDevice());
+ sendPacketMessage(message, null);
+ }
+
private void sendPacketMessage(PacketMessage message, IMSDKCallback callback) {
if (null == connectOptions) {
if (null != callback) callback.failed(204, "未登录");
@@ -153,7 +168,7 @@ public class ImManager implements IMInterface {
try {
mqttClient.publish("server", msg.getBytes(Charsets.UTF_8), 2, false);
} catch (MqttException e) {
-
+ if (null != callback) callback.failed(206, e.getMessage());
}
}
diff --git a/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/im/msg/ConnectMessage.java b/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/im/msg/ConnectMessage.java
index 1085306..b6c0d38 100644
--- a/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/im/msg/ConnectMessage.java
+++ b/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/im/msg/ConnectMessage.java
@@ -9,4 +9,17 @@ public class ConnectMessage extends PacketMessage {
super(PacketType.CONNECT);
}
private DeviceEntity device;
+
+ public ConnectMessage(DeviceEntity device) {
+ super(PacketType.CONNECT);
+ this.device = device;
+ }
+
+ public DeviceEntity getDevice() {
+ return device;
+ }
+
+ public void setDevice(DeviceEntity device) {
+ this.device = device;
+ }
}
diff --git a/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/im/msg/SZYXMessage.java b/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/im/msg/SZYXMessage.java
new file mode 100644
index 0000000..fdfb53d
--- /dev/null
+++ b/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/im/msg/SZYXMessage.java
@@ -0,0 +1,10 @@
+package cn.org.bjca.trust.android.lib.im.im.msg;
+
+import cn.org.bjca.trust.android.lib.im.enums.PacketType;
+import cn.org.bjca.trust.android.lib.im.im.bean.PacketMessage;
+
+public class SZYXMessage extends PacketMessage {
+ public SZYXMessage() {
+ super(PacketType.SEND);
+ }
+}
diff --git a/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/manager/SZYXImManager.java b/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/manager/SZYXImManager.java
index b7c5d20..c80252c 100644
--- a/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/manager/SZYXImManager.java
+++ b/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/manager/SZYXImManager.java
@@ -86,7 +86,7 @@ public class SZYXImManager implements SdkInterface {
@Override
public void sendMsgForTextToC(String toUserId, String text, IMSDKCallback callback) {
-
+// IMHelper.getInstance().sendSZYXMessage();
}
@Override
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index bce395f..bb9a0d8 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -1,6 +1,7 @@
+
+
diff --git a/app/src/main/java/cn/org/bjca/trust/android/imdemo/ui/ChatActivity.java b/app/src/main/java/cn/org/bjca/trust/android/imdemo/ui/ChatActivity.java
new file mode 100644
index 0000000..76360e4
--- /dev/null
+++ b/app/src/main/java/cn/org/bjca/trust/android/imdemo/ui/ChatActivity.java
@@ -0,0 +1,23 @@
+package cn.org.bjca.trust.android.imdemo.ui;
+
+import android.os.Bundle;
+
+import com.xuqm.base.ui.BaseActivity;
+
+import cn.org.bjca.trust.android.imdemo.R;
+import cn.org.bjca.trust.android.imdemo.databinding.ActivityChatBinding;
+
+public class ChatActivity extends BaseActivity {
+
+ @Override
+ public int getLayoutId() {
+ return R.layout.activity_chat;
+ }
+
+ @Override
+ public void initView(Bundle savedInstanceState) {
+ super.initView(savedInstanceState);
+ String userId = getIntent().getStringExtra("userId");
+ getBinding().text.setText(userId);
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/cn/org/bjca/trust/android/imdemo/ui/FriendsActivity.java b/app/src/main/java/cn/org/bjca/trust/android/imdemo/ui/FriendsActivity.java
index e094086..725348d 100644
--- a/app/src/main/java/cn/org/bjca/trust/android/imdemo/ui/FriendsActivity.java
+++ b/app/src/main/java/cn/org/bjca/trust/android/imdemo/ui/FriendsActivity.java
@@ -1,6 +1,8 @@
package cn.org.bjca.trust.android.imdemo.ui;
+import android.content.Intent;
import android.os.Bundle;
+import android.view.View;
import com.xuqm.base.adapter.BasePagedAdapter;
import com.xuqm.base.adapter.CommonPagedAdapter;
@@ -22,14 +24,31 @@ public class FriendsActivity extends BaseListActivity {
}
@Override
+ public void itemClicked(View view, UserItem item, int position) {
+ if (item.getUserId().equals("001")) {
+
+ } else {
+ Intent intent = new Intent(mContext, ChatActivity.class);
+ intent.putExtra("userId", item.getUserId());
+ startActivity(intent);
+ }
+ }
+
+ @Override
public BasePagedAdapter adapter() {
return adapter;
}
- private final CommonPagedAdapter adapter = new CommonPagedAdapter(R.layout.item_main) {
+ private final CommonPagedAdapter adapter = new CommonPagedAdapter(R.layout.item_friends) {
@Override
protected void convert(ViewHolder holder, UserItem item, int position) {
+ holder.setText(R.id.title, item.getNickName());
+ holder.setImage(R.id.icon, item.getFaceUrl());
+ holder.setText(R.id.des, item.getUserId());
+ if (item.getUserId().equals("001"))
+ holder.setBackgroundColor(R.id.root, 0x999999ff);
}
};
+
}
diff --git a/app/src/main/java/cn/org/bjca/trust/android/imdemo/ui/login/LoginActivity.java b/app/src/main/java/cn/org/bjca/trust/android/imdemo/ui/login/LoginActivity.java
index d821d76..f6ce125 100644
--- a/app/src/main/java/cn/org/bjca/trust/android/imdemo/ui/login/LoginActivity.java
+++ b/app/src/main/java/cn/org/bjca/trust/android/imdemo/ui/login/LoginActivity.java
@@ -5,6 +5,7 @@ import android.content.Intent;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
+import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.view.inputmethod.EditorInfo;
@@ -20,8 +21,8 @@ import androidx.appcompat.app.AppCompatActivity;
import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModelProvider;
-import cn.org.bjca.trust.android.imdemo.ui.MainActivity;
import cn.org.bjca.trust.android.imdemo.databinding.ActivityLoginBinding;
+import cn.org.bjca.trust.android.imdemo.ui.MainActivity;
import cn.org.bjca.trust.android.lib.im.SZYXImSdk;
import cn.org.bjca.trust.android.lib.im.kit.IMSDKCallback;
@@ -69,6 +70,7 @@ public class LoginActivity extends AppCompatActivity {
}
loadingProgressBar.setVisibility(View.GONE);
if (loginResult.getError() != null) {
+ Log.e("=======>", loginResult.toString());
showLoginFailed(loginResult.getError());
}
if (loginResult.getSuccess() != null) {
diff --git a/app/src/main/java/cn/org/bjca/trust/android/imdemo/vm/FriendsVM.java b/app/src/main/java/cn/org/bjca/trust/android/imdemo/vm/FriendsVM.java
index cbd1e13..98cfb77 100644
--- a/app/src/main/java/cn/org/bjca/trust/android/imdemo/vm/FriendsVM.java
+++ b/app/src/main/java/cn/org/bjca/trust/android/imdemo/vm/FriendsVM.java
@@ -6,12 +6,20 @@ import com.xuqm.base.viewmodel.callback.Response;
import java.util.ArrayList;
import cn.org.bjca.trust.android.imdemo.data.item.UserItem;
-import cn.org.bjca.trust.android.lib.im.bean.UserInfo;
public class FriendsVM extends BaseListViewModel {
+ private final ArrayList list = new ArrayList() {
+ {
+ add(new UserItem("001", "群组", "https://i.buyiju.com/img/zidian2/766.jpg", "男"));
+ add(new UserItem("13666666666", "张小明", "https://c-ssl.dtstatic.com/uploads/item/201912/15/20191215202849_uvcka.thumb.1000_0.jpg", "男"));
+ add(new UserItem("13811111111", "王二三", "https://c-ssl.dtstatic.com/uploads/blog/202101/03/20210103220618_31c95.thumb.1000_0.jpg", "男"));
+ add(new UserItem("13222222222", "赵晓旭", "https://up.enterdesk.com/edpic/47/48/90/4748902b2485376b7735cfbaecb12ad3.jpg", "男"));
+ }
+ };
+
@Override
public void loadData(int page, Response onResponse) {
- onResponse.onResponse(new ArrayList<>());
+ onResponse.onResponse(list);
}
}
diff --git a/app/src/main/res/layout/activity_chat.xml b/app/src/main/res/layout/activity_chat.xml
new file mode 100644
index 0000000..cd86663
--- /dev/null
+++ b/app/src/main/res/layout/activity_chat.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_friends.xml b/app/src/main/res/layout/item_friends.xml
index 6842247..321cd53 100644
--- a/app/src/main/res/layout/item_friends.xml
+++ b/app/src/main/res/layout/item_friends.xml
@@ -1,32 +1,44 @@
-
+
-
+
-
+
-
+
-
-
-
-
-
-
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/build.gradle b/build.gradle
index 1454d1b..a100ce0 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,5 +1,5 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins {
- id 'com.android.application' version '8.0.1' apply false
- id 'com.android.library' version '8.0.1' apply false
+ id 'com.android.application' version '8.0.2' apply false
+ id 'com.android.library' version '8.0.2' apply false
}
\ No newline at end of file
diff --git a/settings.gradle b/settings.gradle
index 92f7c21..392490a 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -1,24 +1,25 @@
pluginManagement {
repositories {
maven {
- url 'http://nexus.51trust.net/repository/android-group/'
+ url 'http://127.0.0.1:1022/repository/maven-public/'
allowInsecureProtocol true
}
maven {
- url 'http://nexus.51trust.net/repository/gradle-plugin/'
+ url 'http://127.0.0.1:1022/repository/gradle-plugin/'
allowInsecureProtocol true
}
+// google()
}
}
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
maven {
- url 'http://nexus.51trust.net/repository/android-group/'
+ url 'http://127.0.0.1:1022/repository/maven-public/'
allowInsecureProtocol true
}
maven {
- url 'http://nexus.51trust.net/repository/gradle-plugin/'
+ url 'http://127.0.0.1:1022/repository/gradle-plugin/'
allowInsecureProtocol true
}
}