1:添加权限说明
2:聊天添加举报按钮
This commit is contained in:
@@ -1,23 +1,32 @@
|
||||
package com.tencent.qcloud.tuikit.tuichat.classicui.page;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.os.Bundle;
|
||||
import android.text.TextUtils;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import androidx.annotation.Nullable;
|
||||
import com.alibaba.android.arouter.launcher.ARouter;
|
||||
import com.google.gson.Gson;
|
||||
import com.tencent.imsdk.relationship.UserInfo;
|
||||
import com.tencent.qcloud.tuicore.TUIConstants;
|
||||
import com.tencent.qcloud.tuicore.TUICore;
|
||||
import com.tencent.qcloud.tuicore.interfaces.TUIExtensionEventListener;
|
||||
import com.tencent.qcloud.tuicore.interfaces.TUIExtensionInfo;
|
||||
import com.tencent.qcloud.tuicore.interfaces.TUIValueCallback;
|
||||
import com.tencent.qcloud.tuikit.timcommon.bean.UserBean;
|
||||
import com.tencent.qcloud.tuikit.tuichat.R;
|
||||
import com.tencent.qcloud.tuikit.tuichat.TUIChatConstants;
|
||||
import com.tencent.qcloud.tuikit.tuichat.bean.C2CChatInfo;
|
||||
import com.tencent.qcloud.tuikit.tuichat.bean.ChatInfo;
|
||||
import com.tencent.qcloud.tuikit.tuichat.classicui.widget.input.InputView;
|
||||
import com.tencent.qcloud.tuikit.tuichat.presenter.C2CChatPresenter;
|
||||
import com.tencent.qcloud.tuikit.tuichat.presenter.FriendProfilePresenter;
|
||||
import com.tencent.qcloud.tuikit.tuichat.util.TUIChatLog;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
import java.util.HashMap;
|
||||
@@ -63,38 +72,91 @@ public class TUIC2CChatFragment extends TUIBaseChatFragment {
|
||||
}
|
||||
|
||||
private void setTitleBarExtension() {
|
||||
titleBar.getRightGroup().setVisibility(View.GONE);
|
||||
titleBar.getRightGroup().setVisibility(View.VISIBLE);
|
||||
titleBar.setRightIcon(R.drawable.chat_title_bar_more_menu_icon);
|
||||
titleBar.setOnRightClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
Map<String, Object> param = new HashMap<>();
|
||||
param.put(TUIConstants.TUIChat.Extension.ChatNavigationMoreItem.USER_ID, chatInfo.getId());
|
||||
List<TUIExtensionInfo> extensionInfoList =
|
||||
TUICore.getExtensionList(TUIConstants.TUIChat.Extension.ChatNavigationMoreItem.CLASSIC_EXTENSION_ID, param);
|
||||
if (!extensionInfoList.isEmpty()) {
|
||||
Collections.sort(extensionInfoList, new Comparator<TUIExtensionInfo>() {
|
||||
@Override
|
||||
public int compare(TUIExtensionInfo o1, TUIExtensionInfo o2) {
|
||||
return o2.getWeight() - o1.getWeight();
|
||||
}
|
||||
});
|
||||
TUIExtensionInfo extensionInfo = extensionInfoList.get(0);
|
||||
TUIExtensionEventListener eventListener = extensionInfo.getExtensionListener();
|
||||
if (eventListener != null) {
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put(TUIConstants.TUIChat.Extension.ChatNavigationMoreItem.USER_ID, chatInfo.getId());
|
||||
map.put(TUIChatConstants.CHAT_BACKGROUND_URI, mChatBackgroundThumbnailUrl);
|
||||
eventListener.onClicked(map);
|
||||
}
|
||||
} else {
|
||||
String userId = chatInfo.getId();
|
||||
openFriendProfile(userId);
|
||||
}
|
||||
// Map<String, Object> param = new HashMap<>();
|
||||
// param.put(TUIConstants.TUIChat.Extension.ChatNavigationMoreItem.USER_ID, chatInfo.getId());
|
||||
// List<TUIExtensionInfo> extensionInfoList =
|
||||
// TUICore.getExtensionList(TUIConstants.TUIChat.Extension.ChatNavigationMoreItem.CLASSIC_EXTENSION_ID, param);
|
||||
// if (!extensionInfoList.isEmpty()) {
|
||||
// Collections.sort(extensionInfoList, new Comparator<TUIExtensionInfo>() {
|
||||
// @Override
|
||||
// public int compare(TUIExtensionInfo o1, TUIExtensionInfo o2) {
|
||||
// return o2.getWeight() - o1.getWeight();
|
||||
// }
|
||||
// });
|
||||
// TUIExtensionInfo extensionInfo = extensionInfoList.get(0);
|
||||
// TUIExtensionEventListener eventListener = extensionInfo.getExtensionListener();
|
||||
// if (eventListener != null) {
|
||||
// Map<String, Object> map = new HashMap<>();
|
||||
// map.put(TUIConstants.TUIChat.Extension.ChatNavigationMoreItem.USER_ID, chatInfo.getId());
|
||||
// map.put(TUIChatConstants.CHAT_BACKGROUND_URI, mChatBackgroundThumbnailUrl);
|
||||
// eventListener.onClicked(map);
|
||||
// }
|
||||
// } else {
|
||||
// String userId = chatInfo.getId();
|
||||
// openFriendProfile(userId);
|
||||
// }
|
||||
|
||||
// 显示默认菜单,包含举报功能
|
||||
showReportPopupMenu(v);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void showReportPopupMenu(View anchorView) {
|
||||
// 创建 PopupMenu 或自定义 PopupWindow
|
||||
android.widget.PopupMenu popupMenu = new android.widget.PopupMenu(getContext(), anchorView);
|
||||
|
||||
// 添加举报选项
|
||||
popupMenu.getMenu().add("举报");
|
||||
|
||||
// 设置点击监听
|
||||
popupMenu.setOnMenuItemClickListener(new android.widget.PopupMenu.OnMenuItemClickListener() {
|
||||
@Override
|
||||
public boolean onMenuItemClick(android.view.MenuItem item) {
|
||||
if ("举报".equals(item.getTitle())) {
|
||||
ARouter.getInstance().build("/moduleUtil/WebViewActivity").withString("url", "https://vespa.qxyushen.top/h5/web/index.html#/pages/feedback/report?id=?id="+getToken()+"&fromType=1&fromId="+ getUserInfo().getUser_id()).navigation();
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
||||
popupMenu.show();
|
||||
}
|
||||
|
||||
private String getToken(){
|
||||
SharedPreferences sp = getContext().getSharedPreferences("Vespa", Context.MODE_PRIVATE);
|
||||
return sp.getString("token","");
|
||||
}
|
||||
private UserIfo getUserInfo(){
|
||||
SharedPreferences sp = getContext().getSharedPreferences("Vespa", Context.MODE_PRIVATE);
|
||||
String s= sp.getString("userInfo","");
|
||||
if (TextUtils.isEmpty(s)){
|
||||
return null;
|
||||
}
|
||||
Gson Gson = new Gson();
|
||||
UserIfo userInd =Gson.fromJson(s, UserIfo.class);
|
||||
return userInd;
|
||||
|
||||
}
|
||||
|
||||
public static class UserIfo{
|
||||
String user_id;
|
||||
|
||||
public String getUser_id() {
|
||||
return user_id;
|
||||
}
|
||||
|
||||
public void setUser_id(String user_id) {
|
||||
this.user_id = user_id;
|
||||
}
|
||||
}
|
||||
|
||||
private void openFriendProfile(String userId) {
|
||||
// Intent intent = new Intent(getContext(), FriendProfileActivity.class);
|
||||
// intent.putExtra(TUIConstants.TUIChat.CHAT_ID, userId);
|
||||
|
||||
BIN
tuichat/src/main/res/drawable-xxxhdpi/ic_topbar_back_dark.webp
Normal file
BIN
tuichat/src/main/res/drawable-xxxhdpi/ic_topbar_back_dark.webp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 250 B |
Reference in New Issue
Block a user