MM 新增世界聊天
This commit is contained in:
@@ -8,4 +8,6 @@ public final class ChatUIConstants {
|
||||
public static final String KEY_MAP_FOR_MESSAGE = "chat_message_map";
|
||||
|
||||
public static final String KEY_MAP_FOR_PIN = "chat_pin_map";
|
||||
|
||||
public static final String KEY_TEAM_ISGUANFANG="is_guanfang"; //世界聊天 官方
|
||||
}
|
||||
|
||||
@@ -13,6 +13,7 @@ import androidx.fragment.app.FragmentManager;
|
||||
import com.netease.nimlib.sdk.msg.model.IMMessage;
|
||||
import com.netease.nimlib.sdk.team.model.Team;
|
||||
import com.netease.yunxin.kit.alog.ALog;
|
||||
import com.netease.yunxin.kit.chatkit.ui.ChatUIConstants;
|
||||
import com.netease.yunxin.kit.chatkit.ui.R;
|
||||
import com.netease.yunxin.kit.chatkit.ui.fun.page.fragment.FunChatTeamFragment;
|
||||
import com.netease.yunxin.kit.chatkit.ui.page.ChatBaseActivity;
|
||||
@@ -28,6 +29,7 @@ public class FunChatTeamActivity extends ChatBaseActivity {
|
||||
public void initChat() {
|
||||
Team teamInfo = (Team) getIntent().getSerializableExtra(RouterConstant.CHAT_KRY);
|
||||
String teamId = getIntent().getStringExtra(RouterConstant.CHAT_ID_KRY);
|
||||
boolean isGuanFang = getIntent().getBooleanExtra(ChatUIConstants.KEY_TEAM_ISGUANFANG,false);
|
||||
if (teamInfo == null && TextUtils.isEmpty(teamId)) {
|
||||
ALog.e(LIB_TAG, TAG, "team info is null && team id is null" + teamId);
|
||||
finish();
|
||||
@@ -38,6 +40,7 @@ public class FunChatTeamActivity extends ChatBaseActivity {
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putSerializable(RouterConstant.CHAT_KRY, teamInfo);
|
||||
bundle.putSerializable(RouterConstant.CHAT_ID_KRY, teamId);
|
||||
bundle.putBoolean(ChatUIConstants.KEY_TEAM_ISGUANFANG,isGuanFang);
|
||||
IMMessage message = (IMMessage) getIntent().getSerializableExtra(RouterConstant.KEY_MESSAGE);
|
||||
if (message != null) {
|
||||
bundle.putSerializable(RouterConstant.KEY_MESSAGE, message);
|
||||
|
||||
@@ -32,8 +32,11 @@ import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.netease.nim.highavailable.LogUtils;
|
||||
import com.netease.nimlib.sdk.NIMClient;
|
||||
import com.netease.nimlib.sdk.RequestCallback;
|
||||
import com.netease.nimlib.sdk.msg.constant.SessionTypeEnum;
|
||||
import com.netease.nimlib.sdk.msg.model.IMMessage;
|
||||
import com.netease.nimlib.sdk.team.TeamService;
|
||||
import com.netease.nimlib.sdk.team.constant.TeamFieldEnum;
|
||||
import com.netease.nimlib.sdk.team.model.Team;
|
||||
import com.netease.yunxin.kit.alog.ALog;
|
||||
@@ -171,6 +174,7 @@ public class FunChatTeamFragment extends FunChatFragment {
|
||||
}
|
||||
|
||||
public TeamExtensionBean extensionBean;
|
||||
|
||||
private void refreshView() {
|
||||
if (teamInfo != null) {
|
||||
// chatView.getTitleBar().setTitle(teamInfo.getName());
|
||||
@@ -184,34 +188,7 @@ public class FunChatTeamFragment extends FunChatFragment {
|
||||
showIsNotMyTeam();
|
||||
} else {
|
||||
//展示正常
|
||||
viewBinding.chattopview.ivChatcall.setVisibility(View.GONE);
|
||||
viewBinding.chattopview.ivChatsetting.setVisibility(View.VISIBLE);
|
||||
viewBinding.chattopview.ivChatannouncement.setVisibility(View.VISIBLE);
|
||||
viewBinding.layoutTeamannouncement.setVisibility(View.GONE);
|
||||
getMessageBottomLayout().setShowInit();
|
||||
String teamId = teamInfo.getId();
|
||||
if (!ChatDataUtils.get(getActivity(), String.format(ChatKitUIConstant.TEAM_ANNOUNCEMENT_CONTENT, IMKitClient.account(), teamId), "").equals(teamInfo.getAnnouncement())) {
|
||||
ChatDataUtils.set(getActivity(), String.format(ChatKitUIConstant.SHOW_TEAM_ANNOUNCEMENT, IMKitClient.account(), teamId), true);
|
||||
ChatDataUtils.set(getActivity(), String.format(ChatKitUIConstant.TEAM_ANNOUNCEMENT_CONTENT, IMKitClient.account(), teamId), teamInfo.getAnnouncement());
|
||||
}
|
||||
if (!TextUtils.isEmpty(teamInfo.getAnnouncement()) && ChatDataUtils.get(getActivity(), String.format(ChatKitUIConstant.SHOW_TEAM_ANNOUNCEMENT, IMKitClient.account(), teamId), true)) {
|
||||
viewBinding.layoutTeamannouncement.setVisibility(View.VISIBLE);
|
||||
viewBinding.tvTeamannouncement.setText(teamInfo.getAnnouncement());
|
||||
viewBinding.ivTeammannouncementClose.setOnClickListener(view -> {
|
||||
ChatDataUtils.set(getActivity(), String.format(ChatKitUIConstant.SHOW_TEAM_ANNOUNCEMENT, IMKitClient.account(), teamId), false);
|
||||
viewBinding.layoutTeamannouncement.setVisibility(View.GONE);
|
||||
});
|
||||
viewBinding.layoutTeamannouncement.setOnClickListener(view -> {
|
||||
//跳到群公告页面
|
||||
chatView.hideCurrentInput();
|
||||
XKitRouter.withKey(ChatKitUIConstant.PATH_FUN_TEAM_ANNOUNCEMENT_PAGE)
|
||||
.withContext(requireContext())
|
||||
.withParam(KEY_TEAM_ID, teamInfo.getId())
|
||||
.navigate();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
showChatView();
|
||||
}
|
||||
|
||||
//获取是否允许加好友状态
|
||||
@@ -247,7 +224,6 @@ public class FunChatTeamFragment extends FunChatFragment {
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
|
||||
super.onViewCreated(view, savedInstanceState);
|
||||
@@ -410,6 +386,28 @@ public class FunChatTeamFragment extends FunChatFragment {
|
||||
//群被解散或者被踢出
|
||||
//我不在这个群
|
||||
// chatView.getTitleBar().setVisibility(View.GONE);
|
||||
if (isGuanFang) { //如果是官方世界聊天
|
||||
NIMClient.getService(TeamService.class).applyJoinTeam(teamInfo.getId(), null).setCallback(new RequestCallback<Team>() {
|
||||
@Override
|
||||
public void onSuccess(Team team1) {
|
||||
showChatView();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailed(int code) {
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onException(Throwable exception) {
|
||||
// error
|
||||
|
||||
|
||||
}
|
||||
});
|
||||
return;
|
||||
}
|
||||
viewBinding.chattopview.ivChatcall.setVisibility(View.GONE);
|
||||
viewBinding.chattopview.ivChatsetting.setVisibility(View.GONE);
|
||||
viewBinding.chattopview.ivChatannouncement.setVisibility(View.GONE);
|
||||
@@ -432,6 +430,35 @@ public class FunChatTeamFragment extends FunChatFragment {
|
||||
// alertDialog.getWindow().setContentView(dialogView);
|
||||
}
|
||||
|
||||
//展示正常聊天View
|
||||
public void showChatView() {
|
||||
viewBinding.chattopview.ivChatcall.setVisibility(View.GONE);
|
||||
viewBinding.chattopview.ivChatsetting.setVisibility(View.VISIBLE);
|
||||
viewBinding.chattopview.ivChatannouncement.setVisibility(View.VISIBLE);
|
||||
viewBinding.layoutTeamannouncement.setVisibility(View.GONE);
|
||||
getMessageBottomLayout().setShowInit();
|
||||
String teamId = teamInfo.getId();
|
||||
if (!ChatDataUtils.get(getActivity(), String.format(ChatKitUIConstant.TEAM_ANNOUNCEMENT_CONTENT, IMKitClient.account(), teamId), "").equals(teamInfo.getAnnouncement())) {
|
||||
ChatDataUtils.set(getActivity(), String.format(ChatKitUIConstant.SHOW_TEAM_ANNOUNCEMENT, IMKitClient.account(), teamId), true);
|
||||
ChatDataUtils.set(getActivity(), String.format(ChatKitUIConstant.TEAM_ANNOUNCEMENT_CONTENT, IMKitClient.account(), teamId), teamInfo.getAnnouncement());
|
||||
}
|
||||
if (!TextUtils.isEmpty(teamInfo.getAnnouncement()) && ChatDataUtils.get(getActivity(), String.format(ChatKitUIConstant.SHOW_TEAM_ANNOUNCEMENT, IMKitClient.account(), teamId), true)) {
|
||||
viewBinding.layoutTeamannouncement.setVisibility(View.VISIBLE);
|
||||
viewBinding.tvTeamannouncement.setText(teamInfo.getAnnouncement());
|
||||
viewBinding.ivTeammannouncementClose.setOnClickListener(view -> {
|
||||
ChatDataUtils.set(getActivity(), String.format(ChatKitUIConstant.SHOW_TEAM_ANNOUNCEMENT, IMKitClient.account(), teamId), false);
|
||||
viewBinding.layoutTeamannouncement.setVisibility(View.GONE);
|
||||
});
|
||||
viewBinding.layoutTeamannouncement.setOnClickListener(view -> {
|
||||
//跳到群公告页面
|
||||
chatView.hideCurrentInput();
|
||||
XKitRouter.withKey(ChatKitUIConstant.PATH_FUN_TEAM_ANNOUNCEMENT_PAGE)
|
||||
.withContext(requireContext())
|
||||
.withParam(KEY_TEAM_ID, teamInfo.getId())
|
||||
.navigate();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNewIntent(Intent intent) {
|
||||
|
||||
@@ -73,13 +73,13 @@ public class FunBottomActionFactory {
|
||||
R.drawable.ic_location1,
|
||||
R.string.chat_message_location));
|
||||
actions.add(new ActionItem(ActionConstants.ACTION_TYPE_ALBUMS, R.drawable.ic_action_share_albums, R.string.sharealbums_txt));
|
||||
|
||||
//礼品积分红包
|
||||
actions.add(new ActionItem(ActionConstants.ACTION_TYPE_REP_PACKET, R.drawable.ic_action_red_packet, R.string.hongbao_txt));
|
||||
|
||||
if (getConfig(IMKitClient.getApplicationContext(), "redpkg_score", false)) { //积分赠送
|
||||
//礼品积分红包
|
||||
actions.add(new ActionItem(ActionConstants.ACTION_TYPE_REP_PACKET, R.drawable.ic_action_red_packet, R.string.hongbao_txt));
|
||||
}
|
||||
//赠送功能入口
|
||||
if (sessionType == SessionTypeEnum.P2P) {
|
||||
if (getConfig(IMKitClient.getApplicationContext(), "transfer_jifen", false)) { //积分赠送
|
||||
if (getConfig(IMKitClient.getApplicationContext(), "transfer_score", false)) { //积分赠送
|
||||
actions.add(new ActionItem(ActionConstants.ACTION_TYPE_TRANSFER, R.drawable.ic_action_tur, R.string.zhuanzhang_txtq));
|
||||
}
|
||||
// if (getConfig(IMKitClient.getApplicationContext(), "transfer_cash", false)) { //cash赠送
|
||||
|
||||
@@ -54,8 +54,7 @@ public interface ApiService {
|
||||
/**
|
||||
* 测试环境
|
||||
*/
|
||||
//String URL = "https://api-test.letschat2023.com/";
|
||||
// String URL = "https://8.217.244.135:8001/";
|
||||
// String URL = "https://api-test.letschat2023.com/";
|
||||
|
||||
|
||||
String SUBSTATIONID = "1703655363476242434";
|
||||
|
||||
@@ -91,6 +91,7 @@ import com.netease.yunxin.kit.chatkit.ui.ChatKitClient;
|
||||
import com.netease.yunxin.kit.chatkit.ui.ChatKitUIConstant;
|
||||
import com.netease.yunxin.kit.chatkit.ui.ChatMessageType;
|
||||
import com.netease.yunxin.kit.chatkit.ui.ChatUIConfig;
|
||||
import com.netease.yunxin.kit.chatkit.ui.ChatUIConstants;
|
||||
import com.netease.yunxin.kit.chatkit.ui.R;
|
||||
import com.netease.yunxin.kit.chatkit.ui.adapter.CommonAdapter;
|
||||
import com.netease.yunxin.kit.chatkit.ui.adapter.ViewHolder;
|
||||
@@ -282,6 +283,8 @@ public abstract class ChatBaseFragment extends BaseFragment {
|
||||
public Team teamInfo;
|
||||
public int isAllowAd = 0;
|
||||
|
||||
public boolean isGuanFang;
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public View onCreateView(
|
||||
@@ -301,6 +304,7 @@ public abstract class ChatBaseFragment extends BaseFragment {
|
||||
super.onViewCreated(view, savedInstanceState);
|
||||
if (getArguments() != null) {
|
||||
isServices = getArguments().getBoolean("isService", false);
|
||||
isGuanFang = getArguments().getBoolean(ChatUIConstants.KEY_TEAM_ISGUANFANG, false);
|
||||
initData(getArguments());
|
||||
}
|
||||
mHandler = new Handler();
|
||||
|
||||
@@ -114,7 +114,7 @@
|
||||
<string name="chat_team_notice_update">Modified group announcement</string>
|
||||
<string name="chat_team_accept_ones_invent">accepted the group invitation from %s</string>
|
||||
<string name="chat_team_verify_update">permissions updated to</string>
|
||||
<string name="chat_team_manager_pass_ones_application">Agree the group apply from%s</string>
|
||||
<string name="chat_team_manager_pass_ones_application">%s has joined the group chat</string>
|
||||
<string name="chat_team_remove_to_another">Give away the group to</string>
|
||||
<string name="chat_team_operate_by_manager">Admin by</string>
|
||||
<string name="chat_team_mute">Mute</string>
|
||||
|
||||
@@ -113,7 +113,7 @@
|
||||
<string name="chat_team_notice_update">グループのお知らせを更新しました</string>
|
||||
<string name="chat_team_accept_ones_invent">%s のグループ招待を承認しました</string>
|
||||
<string name="chat_team_verify_update">グループ検証権限を更新する</string>
|
||||
<string name="chat_team_manager_pass_ones_application">管理者はユーザー %s を通じてグループ メンバーシップを申請します</string>
|
||||
<string name="chat_team_manager_pass_ones_application">%s がグループチャットに参加しました</string>
|
||||
<string name="chat_team_remove_to_another">グループを次の場所に移動します</string>
|
||||
<string name="chat_team_operate_by_manager">管理者</string>
|
||||
<string name="chat_team_mute">ミュート</string>
|
||||
|
||||
@@ -116,7 +116,7 @@
|
||||
<string name="chat_team_notice_update">更新了群公告</string>
|
||||
<string name="chat_team_accept_ones_invent">接受了%s的入群邀请</string>
|
||||
<string name="chat_team_verify_update">更新群身份验证权限为</string>
|
||||
<string name="chat_team_manager_pass_ones_application">管理员通过用户%s的入群申请</string>
|
||||
<string name="chat_team_manager_pass_ones_application">%s进入了群聊</string>
|
||||
<string name="chat_team_remove_to_another">将群转移给</string>
|
||||
<string name="chat_team_operate_by_manager">被管理员</string>
|
||||
<string name="chat_team_mute">禁言</string>
|
||||
|
||||
@@ -116,7 +116,7 @@
|
||||
<string name="chat_team_notice_update">更新了群組公告</string>
|
||||
<string name="chat_team_accept_ones_invent">接受了%s的入群邀請</string>
|
||||
<string name="chat_team_verify_update">更新群組驗證權限為</string>
|
||||
<string name="chat_team_manager_pass_ones_application">管理員透過使用者%s的入群申請</string>
|
||||
<string name="chat_team_manager_pass_ones_application">%s 已加入群聊</string>
|
||||
<string name="chat_team_remove_to_another">將群組轉移給</string>
|
||||
<string name="chat_team_operate_by_manager">被管理員</string>
|
||||
<string name="chat_team_mute">禁言</string>
|
||||
|
||||
Reference in New Issue
Block a user