@@ -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.common.json.GsonImplHelp; | ||||
import cn.org.bjca.trust.android.lib.im.enums.MsgType; | 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.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.bean.PacketMessage; | ||||
import cn.org.bjca.trust.android.lib.im.im.kit.RequestImCallback; | import cn.org.bjca.trust.android.lib.im.im.kit.RequestImCallback; | ||||
import cn.org.bjca.trust.android.lib.im.im.msg.ConnectMessage; | import cn.org.bjca.trust.android.lib.im.im.msg.ConnectMessage; | ||||
@@ -278,7 +277,7 @@ public class ImManager implements IMInterface { | |||||
@Override | @Override | ||||
public void sendSZYXMessage(SZYXMessage message, IMSDKCallback callback) { | 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]"); | if (null != callback) callback.failed(202, "没有消息接收者[toClientId]"); | ||||
for (MsgListener listener : msgListeners) { | for (MsgListener listener : msgListeners) { | ||||
listener.statusChange(message.getMsgId(), -1); | listener.statusChange(message.getMsgId(), -1); | ||||
@@ -32,6 +32,9 @@ | |||||
android:name=".ui.MainActivity" | android:name=".ui.MainActivity" | ||||
android:exported="true" /> | android:exported="true" /> | ||||
<activity | <activity | ||||
android:name=".ui.GroupsActivity" | |||||
android:exported="true" /> | |||||
<activity | |||||
android:name=".ui.FriendsActivity" | android:name=".ui.FriendsActivity" | ||||
android:exported="true" /> | android:exported="true" /> | ||||
</application> | </application> | ||||
@@ -23,22 +23,37 @@ public class ChatActivity extends BaseActivity<ActivityChatBinding> { | |||||
super.initView(savedInstanceState); | super.initView(savedInstanceState); | ||||
String userId = getIntent().getStringExtra("userId"); | String userId = getIntent().getStringExtra("userId"); | ||||
String userName = getIntent().getStringExtra("userName"); | String userName = getIntent().getStringExtra("userName"); | ||||
setTitleText(userName + "(" + userId + ")"); | |||||
boolean isGroup = getIntent().getBooleanExtra("isGroup", false); | |||||
setTitleText(userName + "(" + (isGroup ? "群组" : userId) + ")"); | |||||
getBaseBinding().baseToolbar.getToolbarMenu().setVisibility(View.VISIBLE); | getBaseBinding().baseToolbar.getToolbarMenu().setVisibility(View.VISIBLE); | ||||
getBinding().btnSend.setOnClickListener(v -> { | getBinding().btnSend.setOnClickListener(v -> { | ||||
String msg = getBinding().et.getText().toString(); | String msg = getBinding().et.getText().toString(); | ||||
if (!ToolsHelper.isNull(msg)) { | if (!ToolsHelper.isNull(msg)) { | ||||
SZYXImSdk.getMessageManager().sendMsgForTextToC(userId, msg, new IMSDKCallback() { | |||||
@Override | |||||
public void success() { | |||||
ToolsHelper.showMessage("发送消息成功"); | |||||
} | |||||
@Override | |||||
public void failed(int code, String error) { | |||||
ToolsHelper.showMessage("发送消息失败" + error); | |||||
} | |||||
}); | |||||
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); | |||||
} | |||||
}); | |||||
} 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); | |||||
} | |||||
}); | |||||
} | |||||
} | } | ||||
}); | }); | ||||
} | } |
@@ -25,10 +25,11 @@ public class FriendsActivity extends BaseListActivity<UserItem, FriendsVM> { | |||||
super.initView(savedInstanceState); | super.initView(savedInstanceState); | ||||
setTitleText("好友列表"); | setTitleText("好友列表"); | ||||
setConfirmText("添加好友", v -> { | setConfirmText("添加好友", v -> { | ||||
SZYXImSdk.getGroupManager().create(new ArrayList<String>() {{ | |||||
add("13666666666"); | |||||
add("13811111111"); | |||||
} | |||||
SZYXImSdk.getGroupManager().create(new ArrayList<String>() { | |||||
{ | |||||
add("13666666666"); | |||||
add("13811111111"); | |||||
} | |||||
}, new IMSDKCallback() { | }, new IMSDKCallback() { | ||||
@Override | @Override | ||||
public void success() { | public void success() { | ||||
@@ -47,7 +48,8 @@ public class FriendsActivity extends BaseListActivity<UserItem, FriendsVM> { | |||||
@Override | @Override | ||||
public void itemClicked(View view, UserItem item, int position) { | public void itemClicked(View view, UserItem item, int position) { | ||||
if (item.getUserId().equals("001")) { | if (item.getUserId().equals("001")) { | ||||
Intent intent = new Intent(mContext, GroupsActivity.class); | |||||
startActivity(intent); | |||||
} else { | } else { | ||||
Intent intent = new Intent(mContext, ChatActivity.class); | Intent intent = new Intent(mContext, ChatActivity.class); | ||||
intent.putExtra("userId", item.getUserId()); | intent.putExtra("userId", item.getUserId()); | ||||
@@ -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<UserItem, GroupVM> { | |||||
@Override | |||||
public void initView(Bundle savedInstanceState) { | |||||
super.initView(savedInstanceState); | |||||
setTitleText("群组列表"); | |||||
setConfirmText("创建群组", v -> { | |||||
SZYXImSdk.getGroupManager().create(new ArrayList<String>() { | |||||
{ | |||||
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<UserItem> adapter() { | |||||
return adapter; | |||||
} | |||||
private final CommonPagedAdapter<UserItem> adapter = new CommonPagedAdapter<UserItem>(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()); | |||||
} | |||||
}; | |||||
} |
@@ -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<UserItem> { | |||||
private final ArrayList<UserItem> list = new ArrayList<UserItem>() { | |||||
{ | |||||
add(new UserItem("ce91ad9b-ba88-4e21-a868-d8fb0842a55f", "Android应用", "https://i.buyiju.com/img/zidian2/766.jpg", "男")); | |||||
} | |||||
}; | |||||
@Override | |||||
public void loadData(int page, Response<UserItem> onResponse) { | |||||
onResponse.onResponse(list); | |||||
} | |||||
} |