@@ -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); | |||
@@ -32,6 +32,9 @@ | |||
android:name=".ui.MainActivity" | |||
android:exported="true" /> | |||
<activity | |||
android:name=".ui.GroupsActivity" | |||
android:exported="true" /> | |||
<activity | |||
android:name=".ui.FriendsActivity" | |||
android:exported="true" /> | |||
</application> | |||
@@ -23,22 +23,37 @@ public class ChatActivity extends BaseActivity<ActivityChatBinding> { | |||
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("发送消息成功"); | |||
} | |||
@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); | |||
setTitleText("好友列表"); | |||
setConfirmText("添加好友", v -> { | |||
SZYXImSdk.getGroupManager().create(new ArrayList<String>() {{ | |||
add("13666666666"); | |||
add("13811111111"); | |||
} | |||
SZYXImSdk.getGroupManager().create(new ArrayList<String>() { | |||
{ | |||
add("13666666666"); | |||
add("13811111111"); | |||
} | |||
}, new IMSDKCallback() { | |||
@Override | |||
public void success() { | |||
@@ -47,7 +48,8 @@ public class FriendsActivity extends BaseListActivity<UserItem, FriendsVM> { | |||
@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()); | |||
@@ -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); | |||
} | |||
} |