第N+6次提交专属红包

This commit is contained in:
xuhuixiang
2025-05-15 16:18:07 +08:00
parent b6bd7ed0af
commit 4c06550037
38 changed files with 1528 additions and 724 deletions

View File

@@ -6,6 +6,8 @@ package com.netease.yunxin.kit.chatkit.ui.fun.view.message.viewholder;
import android.view.View;
import androidx.annotation.NonNull;
import com.netease.nim.highavailable.LogUtils;
import com.netease.nimlib.sdk.msg.attachment.ImageAttachment;
import com.netease.nimlib.sdk.msg.constant.AttachStatusEnum;
import com.netease.nimlib.sdk.msg.constant.MsgStatusEnum;
@@ -25,6 +27,7 @@ public class ChatImageMessageViewHolder extends ChatThumbBaseViewHolder {
@Override
public void bindData(ChatMessageBean message, ChatMessageBean lastMessage) {
super.bindData(message, lastMessage);
// LogUtils.i("LAILIAOLIAO","走了这个ChatImageMessageViewHolder fun");
binding.progressBarInsideIcon.setVisibility(View.GONE);
binding.playIcon.setVisibility(View.GONE);

View File

@@ -15,6 +15,7 @@ import androidx.core.content.ContextCompat;
import com.bumptech.glide.Glide;
import com.bumptech.glide.request.RequestOptions;
import com.netease.nim.highavailable.LogUtils;
import com.netease.nimlib.sdk.msg.attachment.FileAttachment;
import com.netease.nimlib.sdk.msg.model.IMMessage;
import com.netease.yunxin.kit.alog.ALog;
@@ -64,6 +65,7 @@ public abstract class ChatThumbBaseViewHolder extends FunChatBaseMessageViewHold
}
private void load() {
// LogUtils.i("LAILIAOLIAO","走了这个ChatThumbBaseViewHolder fun");
FileAttachment attachment = (FileAttachment) getMsgInternal().getAttachment();
if (attachment == null) {
@@ -72,10 +74,10 @@ public abstract class ChatThumbBaseViewHolder extends FunChatBaseMessageViewHold
String path = attachment.getPath();
String thumbPath = attachment.getThumbPath();
if (!TextUtils.isEmpty(thumbPath)) {
ALog.d(TAG, "load from thumb");
// ALog.d(TAG, "load from thumb");
loadThumbnailImage(thumbPath);
} else if (!TextUtils.isEmpty(path)) {
ALog.d(TAG, "load from path");
// ALog.d(TAG, "load from path");
try {
loadThumbnailImage(thumbFromSourceFile(path));
} catch (Exception e) {
@@ -144,22 +146,24 @@ public abstract class ChatThumbBaseViewHolder extends FunChatBaseMessageViewHold
.override(w, h)
.into(binding.thumbnail);
}
// if (getMsgInternal().getFromAccount().equals(IMKitClient.account())) {
// //自己发送
//// binding.getRoot().setBackgroundColor(shapeBuilder.build());
// binding.rootview.setBackgroundResource(R.drawable.fun_message_send_bg);
// } else {
// binding.rootview.setBackgroundResource(R.drawable.fun_message_receive_bg);
// }
binding.rootview.setBackgroundColor(binding.rootview.getResources().getColor(R.color.ps_color_transparent));
}
private int getImageThumbMinEdge() {
return (int) (111.0 / 375.0 * ScreenUtils.getDisplayWidth());
int sWidth = ScreenUtils.getDisplayWidth();
if(sWidth>1400){
sWidth = 1200;
}
return (int) (111.0 / 375.0 * sWidth);
}
private int getImageThumbMaxEdge() {
return (int) (200.0 / 375.0 * ScreenUtils.getDisplayWidth());
int sWidth = ScreenUtils.getDisplayWidth();
if(sWidth>1400){
sWidth = 1200;
}
return (int) (200.0 / 375.0 * sWidth);
}
protected abstract String thumbFromSourceFile(String path);

View File

@@ -6,6 +6,8 @@ package com.netease.yunxin.kit.chatkit.ui.normal.view.message.viewholder;
import android.view.View;
import androidx.annotation.NonNull;
import com.netease.nim.highavailable.LogUtils;
import com.netease.nimlib.sdk.msg.attachment.ImageAttachment;
import com.netease.nimlib.sdk.msg.constant.AttachStatusEnum;
import com.netease.nimlib.sdk.msg.constant.MsgStatusEnum;
@@ -26,7 +28,7 @@ public class ChatImageMessageViewHolder extends ChatThumbBaseViewHolder {
@Override
public void bindData(ChatMessageBean message, ChatMessageBean lastMessage) {
super.bindData(message, lastMessage);
LogUtils.i("LAILIAOLIAO","走了这个ChatImageMessageViewHolder");
binding.progressBarInsideIcon.setVisibility(View.GONE);
binding.playIcon.setVisibility(View.GONE);
if (getMsgInternal().getStatus() == MsgStatusEnum.sending

View File

@@ -12,6 +12,7 @@ import androidx.annotation.NonNull;
import androidx.core.content.ContextCompat;
import com.bumptech.glide.Glide;
import com.bumptech.glide.request.RequestOptions;
import com.netease.nim.highavailable.LogUtils;
import com.netease.nimlib.sdk.msg.attachment.FileAttachment;
import com.netease.nimlib.sdk.msg.model.IMMessage;
import com.netease.yunxin.kit.alog.ALog;
@@ -58,6 +59,8 @@ public abstract class ChatThumbBaseViewHolder extends NormalChatBaseMessageViewH
}
private void load() {
LogUtils.i("LAILIAOLIAO","走了这个ChatThumbBaseViewHolder");
FileAttachment attachment = (FileAttachment) getMsgInternal().getAttachment();
if (attachment == null) {
return;

View File

@@ -1089,18 +1089,18 @@ public abstract class ChatBaseFragment extends BaseFragment {
private LinearLayout layoutSearchlist;
private RecyclerView contactSearchlistView;
private LinearLayout layoutContactlist;
private RecyclerView contactLast;
private RecyclerView contactListViewMylove;
// private RecyclerView contactLast;
// private RecyclerView contactListViewMylove;
private TextView tvContactmember;
private RecyclerView contactListView;
private TextView zuijinTv;
private TextView tebieTv;
List<NimUserInfo> zuijinUsers;
List<UsersExistBean> usersExistBeanList;
// private TextView zuijinTv;
// private TextView tebieTv;
// List<NimUserInfo> zuijinUsers;
// List<UsersExistBean> usersExistBeanList;
List<NimUserInfo> users;
CommonAdapter commonAdapterReadContentsAll;
CommonAdapter commonAdapterLover;
CommonAdapter commonAdapterReadContents;
// CommonAdapter commonAdapterLover;
// CommonAdapter commonAdapterReadContents;
private void showShareBusiness() {
BottomSheetDialog bottomSheetDialog = new BottomSheetDialog(getActivity(), R.style.BottomSheetDialog);
@@ -1113,8 +1113,8 @@ public abstract class ChatBaseFragment extends BaseFragment {
layoutSearchlist = (LinearLayout) bottomView.findViewById(R.id.layout_searchlist);
contactSearchlistView = (RecyclerView) bottomView.findViewById(R.id.contact_searchlistView);
layoutContactlist = (LinearLayout) bottomView.findViewById(R.id.layout_contactlist);
contactLast = (RecyclerView) bottomView.findViewById(R.id.contact_last);
contactListViewMylove = (RecyclerView) bottomView.findViewById(R.id.contact_listView_mylove);
// contactLast = (RecyclerView) bottomView.findViewById(R.id.contact_last);
// contactListViewMylove = (RecyclerView) bottomView.findViewById(R.id.contact_listView_mylove);
tvContactmember = (TextView) bottomView.findViewById(R.id.tv_contactmember);
contactListView = (RecyclerView) bottomView.findViewById(R.id.contact_listView);
title.getBackImageView().setImageResource(R.drawable.map_colose_img);
@@ -1140,11 +1140,11 @@ public abstract class ChatBaseFragment extends BaseFragment {
}
});
zuijinTv = (TextView) bottomView.findViewById(R.id.zuijin_tv);
tebieTv = (TextView) bottomView.findViewById(R.id.tebie_tv);
// zuijinTv = (TextView) bottomView.findViewById(R.id.zuijin_tv);
// tebieTv = (TextView) bottomView.findViewById(R.id.tebie_tv);
initDataDialog(false, null);
initAdapterLast(bottomSheetDialog);
initAdapterLover(bottomSheetDialog);
// initAdapterLast(bottomSheetDialog);
// initAdapterLover(bottomSheetDialog);
initAdapterUser(bottomSheetDialog);
title.getBackImageView().setOnClickListener(new View.OnClickListener() {
@Override
@@ -1164,12 +1164,12 @@ public abstract class ChatBaseFragment extends BaseFragment {
private void initDataDialog(boolean isChange, String fifter) {
fifterDataDialog(fifter);
if (isChange) {
if (zuijinUsers != null) {
commonAdapterReadContents.setDates(zuijinUsers);
}
if (usersExistBeanList != null) {
commonAdapterLover.setDates(usersExistBeanList);
}
// if (zuijinUsers != null) {
// commonAdapterReadContents.setDates(zuijinUsers);
// }
// if (usersExistBeanList != null) {
// commonAdapterLover.setDates(usersExistBeanList);
// }
if (users != null) {
commonAdapterReadContentsAll.setDates(users);
}
@@ -1187,16 +1187,16 @@ public abstract class ChatBaseFragment extends BaseFragment {
}
}
}
zuijinUsers = NIMClient.getService(UserService.class).getUserInfoList(users1);
if (zuijinUsers != null) {
for (int i = 0; i < zuijinUsers.size(); i++) {
if (ContactRepo.isBlackList(zuijinUsers.get(i).getAccount()) || !ContactRepo.isFriend(zuijinUsers.get(i).getAccount())) {
zuijinUsers.remove(i);
}
}
}
usersExistBeanList = getFollowUsers();
// zuijinUsers = NIMClient.getService(UserService.class).getUserInfoList(users1);
// if (zuijinUsers != null) {
// for (int i = 0; i < zuijinUsers.size(); i++) {
// if (ContactRepo.isBlackList(zuijinUsers.get(i).getAccount()) || !ContactRepo.isFriend(zuijinUsers.get(i).getAccount())) {
// zuijinUsers.remove(i);
// }
//
// }
// }
// usersExistBeanList = getFollowUsers();
List<String> friends = NIMClient.getService(FriendService.class).getFriendAccounts();
users = NIMClient.getService(UserService.class).getUserInfoList(friends);
@@ -1213,25 +1213,25 @@ public abstract class ChatBaseFragment extends BaseFragment {
}
}
if (!TextUtils.isEmpty(fifter)) {
if (zuijinUsers != null && zuijinUsers.size() > 0) {
List<NimUserInfo> nimUserInfos = new ArrayList<>();
for (int i = 0; i < zuijinUsers.size(); i++) {
if (zuijinUsers.get(i).getName().contains(fifter)) {
nimUserInfos.add(zuijinUsers.get(i));
}
}
zuijinUsers = nimUserInfos;
}
// if (zuijinUsers != null && zuijinUsers.size() > 0) {
// List<NimUserInfo> nimUserInfos = new ArrayList<>();
// for (int i = 0; i < zuijinUsers.size(); i++) {
// if (zuijinUsers.get(i).getName().contains(fifter)) {
// nimUserInfos.add(zuijinUsers.get(i));
// }
// }
// zuijinUsers = nimUserInfos;
// }
if (usersExistBeanList != null && usersExistBeanList.size() > 0) {
List<UsersExistBean> nimUserInfos = new ArrayList<>();
for (int i = 0; i < usersExistBeanList.size(); i++) {
if (usersExistBeanList.get(i).getNickname().contains(fifter)) {
nimUserInfos.add(usersExistBeanList.get(i));
}
}
usersExistBeanList = nimUserInfos;
}
// if (usersExistBeanList != null && usersExistBeanList.size() > 0) {
// List<UsersExistBean> nimUserInfos = new ArrayList<>();
// for (int i = 0; i < usersExistBeanList.size(); i++) {
// if (usersExistBeanList.get(i).getNickname().contains(fifter)) {
// nimUserInfos.add(usersExistBeanList.get(i));
// }
// }
// usersExistBeanList = nimUserInfos;
// }
if (users != null && users.size() > 0) {
List<NimUserInfo> nimUserInfos = new ArrayList<>();
@@ -1245,21 +1245,21 @@ public abstract class ChatBaseFragment extends BaseFragment {
}
int size1 = 0;
int size2 = 0;
// int size1 = 0;
// int size2 = 0;
int size3 = 0;
if (zuijinUsers != null && zuijinUsers.size() > 0) {
size1 = zuijinUsers.size();
}
if (usersExistBeanList != null && usersExistBeanList.size() > 0) {
size2 = usersExistBeanList.size();
}
// if (zuijinUsers != null && zuijinUsers.size() > 0) {
// size1 = zuijinUsers.size();
// }
// if (usersExistBeanList != null && usersExistBeanList.size() > 0) {
// size2 = usersExistBeanList.size();
// }
if (users != null && users.size() > 0) {
size3 = users.size();
}
zuijinTv.setText(getString(R.string.jinjinlianxi_txt) + " " + size1);
tebieTv.setText(getString(R.string.tebieguanxin_txt) + " " + size2);
tvContactmember.setText(getString(R.string.all_txt) + " " + size3);
// zuijinTv.setText(getString(R.string.jinjinlianxi_txt) + " " + size1);
// tebieTv.setText(getString(R.string.tebieguanxin_txt) + " " + size2);
tvContactmember.setText(getString(R.string.all_txt) + " ");
}
@@ -1320,110 +1320,6 @@ public abstract class ChatBaseFragment extends BaseFragment {
}
private void initAdapterLover(BottomSheetDialog bottomSheetDialog) {
if (usersExistBeanList != null && usersExistBeanList.size() > 0) {
tebieTv.setVisibility(View.VISIBLE);
contactListViewMylove.setVisibility(View.VISIBLE);
contactListViewMylove.setLayoutManager(new LinearLayoutManager(getActivity()));
commonAdapterLover = new CommonAdapter<UsersExistBean>(getActivity(), R.layout.follow_child_item, usersExistBeanList) {
@Override
public void convert(ViewHolder holder, UsersExistBean s, int index) {
ContactAvatarView contactAvatarView = holder.getView(R.id.logo_iv);
Log.i("异常数据:", "异常数据:" + GsonUtils.beanToJSONString(s));
if (TextUtils.isEmpty(s.getAvatar())) {
contactAvatarView.setData(
R.drawable.default_head_img, s.getNickname());
} else {
contactAvatarView.setData(
s.getAvatar(), s.getNickname());
}
holder.setText(R.id.item_title_tv, s.getNickname());
holder.getView(R.id.big_ly).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
BusinessCardBean businessCardBean = new BusinessCardBean();
businessCardBean.setAccout(s.getUserId() + "");
businessCardBean.setName(s.getNickname());
businessCardBean.setAvatar(s.getAvatar());
bottomSheetDialog.dismiss();
toShareBuesiness(businessCardBean);
}
});
}
};
contactListViewMylove.setAdapter(commonAdapterLover);
} else {
tebieTv.setVisibility(View.GONE);
contactListViewMylove.setVisibility(View.GONE);
}
}
/**
* 获取所有关注的用户
*
* @return
*/
private List<UsersExistBean> getFollowUsers() {
String tagString = ChatDataUtils.get(getActivity(), "follow_user" + "_" + IMKitClient.account(), "");
if (TextUtils.isEmpty(tagString)) {
return null;
} else {
List<UsersExistBean> usersExistBeans = GsonUtils.getListFromJSON(tagString, UsersExistBean.class);
return usersExistBeans;
}
}
private void initAdapterLast(BottomSheetDialog bottomSheetDialog) {
if (zuijinUsers != null && zuijinUsers.size() > 0) {
zuijinTv.setVisibility(View.VISIBLE);
contactLast.setVisibility(View.VISIBLE);
contactLast.setLayoutManager(new LinearLayoutManager(getActivity()));
commonAdapterReadContents = new CommonAdapter<NimUserInfo>(getActivity(), R.layout.follow_child_item, zuijinUsers) {
@Override
public void convert(ViewHolder holder, NimUserInfo s, int index) {
ContactAvatarView contactAvatarView = holder.getView(R.id.logo_iv);
if (TextUtils.isEmpty(s.getAvatar())) {
contactAvatarView.setData(
R.drawable.default_head_img, s.getName());
} else {
contactAvatarView.setData(
s.getAvatar(), s.getName());
}
holder.setText(R.id.item_title_tv, s.getName());
holder.getView(R.id.big_ly).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
BusinessCardBean businessCardBean = new BusinessCardBean();
businessCardBean.setAccout(s.getAccount());
businessCardBean.setName(s.getName());
businessCardBean.setAvatar(s.getAvatar());
bottomSheetDialog.dismiss();
toShareBuesiness(businessCardBean);
}
});
}
};
contactLast.setAdapter(commonAdapterReadContents);
} else {
zuijinTv.setVisibility(View.GONE);
contactLast.setVisibility(View.GONE);
}
}
@RequiresApi(api = Build.VERSION_CODES.M)
public static void setWhiteNavigationBar(@NonNull Dialog dialog) {

View File

@@ -36,8 +36,8 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="62dp"
android:paddingStart="@dimen/dimen_20_dp"
android:paddingEnd="@dimen/dimen_20_dp"
android:paddingLeft="@dimen/dimen_20_dp"
android:paddingRight="@dimen/dimen_20_dp"
android:layout_alignParentBottom="true"
android:layout_gravity="center_horizontal"
android:gravity="center_vertical"

View File

@@ -102,45 +102,45 @@
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dimen_15_dp"
android:layout_marginTop="@dimen/dimen_20_dp"
android:text="@string/jinjinlianxi_txt"
android:id="@+id/zuijin_tv"
android:textColor="@color/color_333333"
android:textSize="@dimen/text_size_14"
/>
<!-- <TextView-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_marginLeft="@dimen/dimen_15_dp"-->
<!-- android:layout_marginTop="@dimen/dimen_20_dp"-->
<!-- android:text="@string/jinjinlianxi_txt"-->
<!-- android:id="@+id/zuijin_tv"-->
<!-- android:textColor="@color/color_333333"-->
<!-- android:textSize="@dimen/text_size_14"-->
<!-- />-->
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/contact_last"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dimen_20_dp"
app:showIndexBar="false"
app:showSelector="true" />
<!-- <androidx.recyclerview.widget.RecyclerView-->
<!-- android:id="@+id/contact_last"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_marginTop="@dimen/dimen_20_dp"-->
<!-- app:showIndexBar="false"-->
<!-- app:showSelector="true" />-->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dimen_15_dp"
android:layout_marginTop="@dimen/dimen_20_dp"
android:visibility="visible"
android:text="@string/tebieguanxin_txt"
android:id="@+id/tebie_tv"
android:textColor="@color/color_333333"
android:textSize="@dimen/text_size_14"
/>
<!-- <TextView-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_marginLeft="@dimen/dimen_15_dp"-->
<!-- android:layout_marginTop="@dimen/dimen_20_dp"-->
<!-- android:visibility="visible"-->
<!-- android:text="@string/tebieguanxin_txt"-->
<!-- android:id="@+id/tebie_tv"-->
<!-- android:textColor="@color/color_333333"-->
<!-- android:textSize="@dimen/text_size_14"-->
<!-- />-->
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/contact_listView_mylove"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="visible"
android:layout_marginTop="@dimen/dimen_20_dp"
app:showIndexBar="false"
app:showSelector="true" />
<!-- <androidx.recyclerview.widget.RecyclerView-->
<!-- android:id="@+id/contact_listView_mylove"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:visibility="visible"-->
<!-- android:layout_marginTop="@dimen/dimen_20_dp"-->
<!-- app:showIndexBar="false"-->
<!-- app:showSelector="true" />-->
<TextView
android:id="@+id/tv_contactmember"