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 c2c0ac2..4766b80 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
@@ -27,7 +27,6 @@ import cn.org.bjca.trust.android.lib.im.common.ToolsHelper;
import cn.org.bjca.trust.android.lib.im.common.json.GsonImplHelp;
import cn.org.bjca.trust.android.lib.im.enums.MsgType;
import cn.org.bjca.trust.android.lib.im.enums.PacketType;
-import cn.org.bjca.trust.android.lib.im.http.HttpResult;
import cn.org.bjca.trust.android.lib.im.im.bean.PacketMessage;
import cn.org.bjca.trust.android.lib.im.im.kit.RequestImCallback;
import cn.org.bjca.trust.android.lib.im.im.msg.ConnectMessage;
@@ -278,7 +277,7 @@ public class ImManager implements IMInterface {
@Override
public void sendSZYXMessage(SZYXMessage message, IMSDKCallback callback) {
- if (ToolsHelper.isNull(message.getToClientId())) {
+ if (ToolsHelper.isNull(message.getToClientId()) && ToolsHelper.isNull(message.getGroupID())) {
if (null != callback) callback.failed(202, "没有消息接收者[toClientId]");
for (MsgListener listener : msgListeners) {
listener.statusChange(message.getMsgId(), -1);
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index bb9a0d8..a10c7ee 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -31,6 +31,9 @@
+
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
index fcd5ae0..21b7127 100644
--- 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
@@ -23,22 +23,37 @@ public class ChatActivity extends BaseActivity {
super.initView(savedInstanceState);
String userId = getIntent().getStringExtra("userId");
String userName = getIntent().getStringExtra("userName");
- setTitleText(userName + "(" + userId + ")");
+ boolean isGroup = getIntent().getBooleanExtra("isGroup", false);
+ setTitleText(userName + "(" + (isGroup ? "群组" : userId) + ")");
getBaseBinding().baseToolbar.getToolbarMenu().setVisibility(View.VISIBLE);
getBinding().btnSend.setOnClickListener(v -> {
String msg = getBinding().et.getText().toString();
if (!ToolsHelper.isNull(msg)) {
- SZYXImSdk.getMessageManager().sendMsgForTextToC(userId, msg, new IMSDKCallback() {
- @Override
- public void success() {
- ToolsHelper.showMessage("发送消息成功");
- }
+ if (isGroup) {
+ SZYXImSdk.getMessageManager().sendMsgForTextToG(userId, msg, new IMSDKCallback() {
+ @Override
+ public void success() {
+ ToolsHelper.showMessage("发送消息成功");
+ }
- @Override
- public void failed(int code, String error) {
- ToolsHelper.showMessage("发送消息失败" + error);
- }
- });
+ @Override
+ public void failed(int code, String error) {
+ ToolsHelper.showMessage("发送消息失败" + error);
+ }
+ });
+ } else {
+ SZYXImSdk.getMessageManager().sendMsgForTextToC(userId, msg, new IMSDKCallback() {
+ @Override
+ public void success() {
+ ToolsHelper.showMessage("发送消息成功");
+ }
+
+ @Override
+ public void failed(int code, String error) {
+ ToolsHelper.showMessage("发送消息失败" + error);
+ }
+ });
+ }
}
});
}
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 7e257a6..ea31675 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
@@ -25,10 +25,11 @@ public class FriendsActivity extends BaseListActivity {
super.initView(savedInstanceState);
setTitleText("好友列表");
setConfirmText("添加好友", v -> {
- SZYXImSdk.getGroupManager().create(new ArrayList() {{
- add("13666666666");
- add("13811111111");
- }
+ SZYXImSdk.getGroupManager().create(new ArrayList() {
+ {
+ add("13666666666");
+ add("13811111111");
+ }
}, new IMSDKCallback() {
@Override
public void success() {
@@ -47,7 +48,8 @@ public class FriendsActivity extends BaseListActivity {
@Override
public void itemClicked(View view, UserItem item, int position) {
if (item.getUserId().equals("001")) {
-
+ Intent intent = new Intent(mContext, GroupsActivity.class);
+ startActivity(intent);
} else {
Intent intent = new Intent(mContext, ChatActivity.class);
intent.putExtra("userId", item.getUserId());
diff --git a/app/src/main/java/cn/org/bjca/trust/android/imdemo/ui/GroupsActivity.java b/app/src/main/java/cn/org/bjca/trust/android/imdemo/ui/GroupsActivity.java
new file mode 100644
index 0000000..5752f7f
--- /dev/null
+++ b/app/src/main/java/cn/org/bjca/trust/android/imdemo/ui/GroupsActivity.java
@@ -0,0 +1,71 @@
+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;
+import com.xuqm.base.adapter.ViewHolder;
+import com.xuqm.base.common.LogHelper;
+import com.xuqm.base.ui.BaseListActivity;
+
+import java.util.ArrayList;
+
+import cn.org.bjca.trust.android.imdemo.R;
+import cn.org.bjca.trust.android.imdemo.data.item.UserItem;
+import cn.org.bjca.trust.android.imdemo.vm.GroupVM;
+import cn.org.bjca.trust.android.lib.im.SZYXImSdk;
+import cn.org.bjca.trust.android.lib.im.common.ToolsHelper;
+import cn.org.bjca.trust.android.lib.im.kit.IMSDKCallback;
+
+public class GroupsActivity extends BaseListActivity {
+ @Override
+ public void initView(Bundle savedInstanceState) {
+ super.initView(savedInstanceState);
+ setTitleText("群组列表");
+ setConfirmText("创建群组", v -> {
+ SZYXImSdk.getGroupManager().create(new ArrayList() {
+ {
+ add("13666666666");
+ add("13811111111");
+ }
+ }, new IMSDKCallback() {
+ @Override
+ public void success() {
+ ToolsHelper.showMessage(mContext, "创建成功");
+ }
+
+ @Override
+ public void failed(int code, String error) {
+ ToolsHelper.showMessage(mContext, "创建失败" + code + error);
+ LogHelper.e("=====>", "创建失败" + code + error);
+ }
+ });
+ });
+ }
+
+ @Override
+ public void itemClicked(View view, UserItem item, int position) {
+ Intent intent = new Intent(mContext, ChatActivity.class);
+ intent.putExtra("userId", item.getUserId());
+ intent.putExtra("userName", item.getNickName());
+ intent.putExtra("isGroup", true);
+ startActivity(intent);
+ }
+
+ @Override
+ public BasePagedAdapter adapter() {
+ return adapter;
+ }
+
+ 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());
+ }
+
+ };
+
+}
diff --git a/app/src/main/java/cn/org/bjca/trust/android/imdemo/vm/GroupVM.java b/app/src/main/java/cn/org/bjca/trust/android/imdemo/vm/GroupVM.java
new file mode 100644
index 0000000..213a2b0
--- /dev/null
+++ b/app/src/main/java/cn/org/bjca/trust/android/imdemo/vm/GroupVM.java
@@ -0,0 +1,22 @@
+package cn.org.bjca.trust.android.imdemo.vm;
+
+import com.xuqm.base.viewmodel.BaseListViewModel;
+import com.xuqm.base.viewmodel.callback.Response;
+
+import java.util.ArrayList;
+
+import cn.org.bjca.trust.android.imdemo.data.item.UserItem;
+
+public class GroupVM extends BaseListViewModel {
+
+ private final ArrayList list = new ArrayList() {
+ {
+ add(new UserItem("ce91ad9b-ba88-4e21-a868-d8fb0842a55f", "Android应用", "https://i.buyiju.com/img/zidian2/766.jpg", "男"));
+ }
+ };
+
+ @Override
+ public void loadData(int page, Response onResponse) {
+ onResponse.onResponse(list);
+ }
+}