混淆配置:同名类处理

This commit is contained in:
Max
2024-01-17 17:04:11 +08:00
parent bd6c421995
commit 56d9d8f5da
59 changed files with 209 additions and 359 deletions

View File

@@ -28,16 +28,6 @@ public class InviteFriendListAdapter extends BaseQuickAdapter<PublicChatHallFrie
this.context = context; this.context = context;
} }
private OnItemClickListener onItemClickListener;
public interface OnItemClickListener {
void sendListener(UserInfo attentionInfo);
}
public void setRylListener(OnItemClickListener onClickListener) {
onItemClickListener = onClickListener;
}
@Override @Override
protected void convert(BaseViewHolder helper, PublicChatHallFriendInfo pchFriendInfo) { protected void convert(BaseViewHolder helper, PublicChatHallFriendInfo pchFriendInfo) {
if (pchFriendInfo == null) return; if (pchFriendInfo == null) return;

View File

@@ -18,7 +18,7 @@ public abstract class CommonAdapter<T, K extends BaseViewHolder> extends Recycle
private List<T> mData; private List<T> mData;
private OnItemClickListener<T, K> mOnItemClickListener; private OnItemParentClickListener<T, K> mOnItemClickListener;
private OnItemChildClickListener<T, K> mOnItemChildClickListener; private OnItemChildClickListener<T, K> mOnItemChildClickListener;
@@ -36,7 +36,7 @@ public abstract class CommonAdapter<T, K extends BaseViewHolder> extends Recycle
return this; return this;
} }
public CommonAdapter<T, K> setOnItemClickListener(OnItemClickListener<T, K> onItemClickListener) { public CommonAdapter<T, K> setOnItemClickListener(OnItemParentClickListener<T, K> onItemClickListener) {
this.mOnItemClickListener = onItemClickListener; this.mOnItemClickListener = onItemClickListener;
return this; return this;
} }

View File

@@ -4,6 +4,6 @@ package com.nnbc123.app.base.list;
* Created by lvzebiao on 2018/12/18. * Created by lvzebiao on 2018/12/18.
*/ */
public interface OnItemClickListener<T, K extends BaseViewHolder> { public interface OnItemParentClickListener<T, K extends BaseViewHolder> {
void onItemClick(K holder, T item, int position); void onItemClick(K holder, T item, int position);
} }

View File

@@ -16,8 +16,7 @@ import com.nnbc123.core.utils.ext.toast
import org.greenrobot.eventbus.EventBus import org.greenrobot.eventbus.EventBus
import java.io.File import java.io.File
class SkillDataDelegate(private val skillView: SkillCardView, private val activity: BaseActivity) : class SkillDataDelegate(private val skillView: SkillCardView, private val activity: BaseActivity) : ItemEventListener {
ItemEventListener {
@SuppressLint("CheckResult") @SuppressLint("CheckResult")
override fun onItemClick(item: SkillItem) { override fun onItemClick(item: SkillItem) {
onItemSelection(item) onItemSelection(item)

View File

@@ -6,7 +6,7 @@ import java.io.File
* Created by Max on 2024/1/17 16:45 * Created by Max on 2024/1/17 16:45
* Desc: * Desc:
**/ **/
class ItemEventListener { interface ItemEventListener {
fun onItemClick(item: SkillItem) {} fun onItemClick(item: SkillItem) {}
fun onRecordSuccess(audioFile: File?, duration: Int) {} fun onRecordSuccess(audioFile: File?, duration: Int) {}
fun onDeleteRecordClick() {} fun onDeleteRecordClick() {}

View File

@@ -4,7 +4,7 @@ import androidx.recyclerview.widget.RecyclerView;
import com.netease.nim.uikit.business.recent.RecentContactsCallback; import com.netease.nim.uikit.business.recent.RecentContactsCallback;
import com.netease.nim.uikit.common.ui.recyclerview.adapter.BaseMultiItemQuickAdapter; import com.netease.nim.uikit.common.ui.recyclerview.adapter.BaseMultiItemQuickAdapter;
import com.netease.nim.uikit.common.ui.recyclerview.holder.BaseViewHolder; import com.netease.nim.uikit.common.ui.recyclerview.holder.NimBaseViewHolder;
import com.netease.nimlib.sdk.msg.constant.SessionTypeEnum; import com.netease.nimlib.sdk.msg.constant.SessionTypeEnum;
import com.netease.nimlib.sdk.msg.model.RecentContact; import com.netease.nimlib.sdk.msg.model.RecentContact;
import com.nnbc123.app.R; import com.nnbc123.app.R;
@@ -17,7 +17,7 @@ import java.util.List;
* @author huangjun * @author huangjun
* @date 2016/12/11 * @date 2016/12/11
*/ */
public class RecentContactAdapter extends BaseMultiItemQuickAdapter<RecentContact, BaseViewHolder> { public class RecentContactAdapter extends BaseMultiItemQuickAdapter<RecentContact, NimBaseViewHolder> {
interface ViewType { interface ViewType {
int VIEW_TYPE_COMMON = 1; int VIEW_TYPE_COMMON = 1;

View File

@@ -14,7 +14,7 @@ import com.netease.nim.uikit.common.ui.draggablebubbles.BubbleMessageTouchListen
import com.netease.nim.uikit.common.ui.draggablebubbles.MessageBubbleView; import com.netease.nim.uikit.common.ui.draggablebubbles.MessageBubbleView;
import com.netease.nim.uikit.common.ui.drop.DropManager; import com.netease.nim.uikit.common.ui.drop.DropManager;
import com.netease.nim.uikit.common.ui.recyclerview.adapter.BaseQuickAdapter; import com.netease.nim.uikit.common.ui.recyclerview.adapter.BaseQuickAdapter;
import com.netease.nim.uikit.common.ui.recyclerview.holder.BaseViewHolder; import com.netease.nim.uikit.common.ui.recyclerview.holder.NimBaseViewHolder;
import com.netease.nimlib.sdk.msg.constant.SessionTypeEnum; import com.netease.nimlib.sdk.msg.constant.SessionTypeEnum;
import com.netease.nimlib.sdk.msg.model.RecentContact; import com.netease.nimlib.sdk.msg.model.RecentContact;
import com.nnbc123.app.R; import com.nnbc123.app.R;
@@ -49,7 +49,7 @@ public class CommonRecentViewHolder extends RecentViewHolder {
} }
@Override @Override
public void inflate(BaseViewHolder holder, final RecentContact recent) { public void inflate(NimBaseViewHolder holder, final RecentContact recent) {
this.imgHead = holder.getView(R.id.img_head); this.imgHead = holder.getView(R.id.img_head);
this.tvNickname = holder.getView(R.id.tv_nickname); this.tvNickname = holder.getView(R.id.tv_nickname);
this.tvMessage = holder.getView(R.id.tv_message); this.tvMessage = holder.getView(R.id.tv_message);
@@ -88,7 +88,7 @@ public class CommonRecentViewHolder extends RecentViewHolder {
} }
@Override @Override
public void refresh(BaseViewHolder holder, RecentContact recent, final int position) { public void refresh(NimBaseViewHolder holder, RecentContact recent, final int position) {
// unread count animation // unread count animation

View File

@@ -15,7 +15,7 @@ import com.netease.nim.uikit.business.uinfo.UserInfoHelper;
import com.netease.nim.uikit.common.ui.draggablebubbles.BubbleView; import com.netease.nim.uikit.common.ui.draggablebubbles.BubbleView;
import com.netease.nim.uikit.common.ui.imageview.HeadImageView; import com.netease.nim.uikit.common.ui.imageview.HeadImageView;
import com.netease.nim.uikit.common.ui.recyclerview.adapter.BaseQuickAdapter; import com.netease.nim.uikit.common.ui.recyclerview.adapter.BaseQuickAdapter;
import com.netease.nim.uikit.common.ui.recyclerview.holder.BaseViewHolder; import com.netease.nim.uikit.common.ui.recyclerview.holder.NimBaseViewHolder;
import com.netease.nim.uikit.common.ui.recyclerview.holder.RecyclerViewHolder; import com.netease.nim.uikit.common.ui.recyclerview.holder.RecyclerViewHolder;
import com.netease.nim.uikit.common.util.sys.TimeUtil; import com.netease.nim.uikit.common.util.sys.TimeUtil;
import com.netease.nim.uikit.impl.cache.TeamDataCache; import com.netease.nim.uikit.impl.cache.TeamDataCache;
@@ -28,7 +28,7 @@ import com.nnbc123.app.ui.im.recent.RecentContactsFragment;
import com.nnbc123.app.ui.im.recent.adapter.RecentContactAdapter; import com.nnbc123.app.ui.im.recent.adapter.RecentContactAdapter;
import com.nnbc123.core.helper.ImHelperUtils; import com.nnbc123.core.helper.ImHelperUtils;
public abstract class RecentViewHolder extends RecyclerViewHolder<BaseQuickAdapter, BaseViewHolder, RecentContact> { public abstract class RecentViewHolder extends RecyclerViewHolder<BaseQuickAdapter, NimBaseViewHolder, RecentContact> {
public RecentViewHolder(BaseQuickAdapter adapter) { public RecentViewHolder(BaseQuickAdapter adapter) {
super(adapter); super(adapter);
@@ -66,17 +66,17 @@ public abstract class RecentViewHolder extends RecyclerViewHolder<BaseQuickAdapt
protected abstract String getContent(RecentContact recent); protected abstract String getContent(RecentContact recent);
@Override @Override
public void convert(BaseViewHolder holder, RecentContact data, int position, boolean isScrolling) { public void convert(NimBaseViewHolder holder, RecentContact data, int position, boolean isScrolling) {
inflate(holder, data); inflate(holder, data);
refresh(holder, data, position); refresh(holder, data, position);
} }
protected abstract void inflate(BaseViewHolder holder, RecentContact data); protected abstract void inflate(NimBaseViewHolder holder, RecentContact data);
protected abstract void refresh(BaseViewHolder holder, RecentContact data, int position); protected abstract void refresh(NimBaseViewHolder holder, RecentContact data, int position);
protected void updateBackground(BaseViewHolder holder, RecentContact recent, int position) { protected void updateBackground(NimBaseViewHolder holder, RecentContact recent, int position) {
if ((recent.getTag() & RecentContactsFragment.RECENT_TAG_STICKY) == 0) { if ((recent.getTag() & RecentContactsFragment.RECENT_TAG_STICKY) == 0) {
holder.getConvertView().setBackgroundResource(R.drawable.nim_recent_contact_sticky_selecter); holder.getConvertView().setBackgroundResource(R.drawable.nim_recent_contact_sticky_selecter);
} else { } else {
@@ -107,7 +107,7 @@ public abstract class RecentViewHolder extends RecyclerViewHolder<BaseQuickAdapt
// //
} }
protected void updateMsgLabel(BaseViewHolder holder, RecentContact recent) { protected void updateMsgLabel(NimBaseViewHolder holder, RecentContact recent) {
// 显示消息具体内容 // 显示消息具体内容
MoonUtil.identifyRecentVHFaceExpressionAndTags(holder.getContext(), tvMessage, getContent(recent), -1, 0.45f); MoonUtil.identifyRecentVHFaceExpressionAndTags(holder.getContext(), tvMessage, getContent(recent), -1, 0.45f);
MsgStatusEnum status = recent.getMsgStatus(); MsgStatusEnum status = recent.getMsgStatus();

View File

@@ -14,7 +14,7 @@ import com.netease.nim.uikit.common.ui.draggablebubbles.BubbleMessageTouchListen
import com.netease.nim.uikit.common.ui.draggablebubbles.MessageBubbleView; import com.netease.nim.uikit.common.ui.draggablebubbles.MessageBubbleView;
import com.netease.nim.uikit.common.ui.drop.DropManager; import com.netease.nim.uikit.common.ui.drop.DropManager;
import com.netease.nim.uikit.common.ui.recyclerview.adapter.BaseQuickAdapter; import com.netease.nim.uikit.common.ui.recyclerview.adapter.BaseQuickAdapter;
import com.netease.nim.uikit.common.ui.recyclerview.holder.BaseViewHolder; import com.netease.nim.uikit.common.ui.recyclerview.holder.NimBaseViewHolder;
import com.netease.nimlib.sdk.NIMClient; import com.netease.nimlib.sdk.NIMClient;
import com.netease.nimlib.sdk.msg.attachment.MsgAttachment; import com.netease.nimlib.sdk.msg.attachment.MsgAttachment;
import com.netease.nimlib.sdk.msg.attachment.NotificationAttachment; import com.netease.nimlib.sdk.msg.attachment.NotificationAttachment;
@@ -41,7 +41,7 @@ public class TeamRecentViewHolder extends RecentViewHolder {
} }
@Override @Override
public void inflate(BaseViewHolder holder, final RecentContact recent) { public void inflate(NimBaseViewHolder holder, final RecentContact recent) {
this.imgHead = holder.getView(R.id.img_head); this.imgHead = holder.getView(R.id.img_head);
this.tvNickname = holder.getView(R.id.tv_nickname); this.tvNickname = holder.getView(R.id.tv_nickname);
this.tvMessage = holder.getView(R.id.tv_message); this.tvMessage = holder.getView(R.id.tv_message);
@@ -96,7 +96,7 @@ public class TeamRecentViewHolder extends RecentViewHolder {
} }
@Override @Override
public void refresh(BaseViewHolder holder, RecentContact recent, final int position) { public void refresh(NimBaseViewHolder holder, RecentContact recent, final int position) {
// unread count animation // unread count animation
boolean shouldBoom = lastUnreadCount > 0 && recent.getUnreadCount() == 0; // 未读数从N->0执行爆裂动画; boolean shouldBoom = lastUnreadCount > 0 && recent.getUnreadCount() == 0; // 未读数从N->0执行爆裂动画;

View File

@@ -21,7 +21,7 @@ public class HiPraise implements IPraise {
final int maxDuration = 2500; final int maxDuration = 2500;
final int minDuration = 2000; final int minDuration = 2000;
int minDelayAlphaTime = minDuration / 4; int minDelayAlphaTime = minDuration / 4;
duration = Utils.rondomRange(maxDuration, minDuration); duration = PraiseUtils.rondomRange(maxDuration, minDuration);
delayAplhaTime = new Random().nextInt((int) duration) delayAplhaTime = new Random().nextInt((int) duration)
% (duration - minDelayAlphaTime + 1) + minDelayAlphaTime; % (duration - minDelayAlphaTime + 1) + minDelayAlphaTime;
} }

View File

@@ -2,10 +2,10 @@ package com.nnbc123.app.ui.praise;
import java.util.Random; import java.util.Random;
public class Utils { public class PraiseUtils {
private static final Random RANDOM = new Random(); private static final Random RANDOM = new Random();
private Utils() { private PraiseUtils() {
} }
public static int rondomRange(int max, int min) { public static int rondomRange(int max, int min) {

View File

@@ -1,114 +0,0 @@
package com.nnbc123.app.ui.widget.recyclerview.decoration;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Canvas;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import android.view.View;
import io.reactivex.annotations.NonNull;
/**
* Created by hzchenkang on 2016/12/2.
*/
public class DividerItemDecoration extends RecyclerView.ItemDecoration {
private static final int[] ATTRS = new int[]{
android.R.attr.listDivider
};
public static final int HORIZONTAL_LIST = LinearLayoutManager.HORIZONTAL;
public static final int VERTICAL_LIST = LinearLayoutManager.VERTICAL;
private Drawable mDivider;
private int mOrientation;
public DividerItemDecoration(Context context, int orientation) {
final TypedArray a = context.obtainStyledAttributes(ATTRS);
mDivider = a.getDrawable(0);
a.recycle();
setOrientation(orientation);
}
public void setOrientation(int orientation) {
if (orientation != HORIZONTAL_LIST && orientation != VERTICAL_LIST) {
throw new IllegalArgumentException("invalid orientation");
}
mOrientation = orientation;
}
public void setDrawable(@NonNull Drawable mDivider) {
this.mDivider = mDivider;
}
@Override
public void onDraw(Canvas c, RecyclerView parent) {
if (mOrientation == VERTICAL_LIST) {
drawVertical(c, parent);
} else {
drawHorizontal(c, parent);
}
}
protected boolean needDrawDecoration(RecyclerView parent, int position) {
return true;
}
public void drawVertical(Canvas c, RecyclerView parent) {
final int left = parent.getPaddingLeft();
final int right = parent.getWidth() - parent.getPaddingRight();
final int childCount = parent.getChildCount();
for (int i = 0; i < childCount; i++) {
if (!needDrawDecoration(parent, i)) {
continue;
}
final View child = parent.getChildAt(i);
RecyclerView v = new RecyclerView(parent.getContext());
final RecyclerView.LayoutParams params = (RecyclerView.LayoutParams) child
.getLayoutParams();
final int top = child.getBottom() + params.bottomMargin;
final int bottom = top + mDivider.getIntrinsicHeight();
mDivider.setBounds(left, top, right, bottom);
mDivider.draw(c);
}
}
public void drawHorizontal(Canvas c, RecyclerView parent) {
final int top = parent.getPaddingTop();
final int bottom = parent.getHeight() - parent.getPaddingBottom();
final int childCount = parent.getChildCount();
for (int i = 0; i < childCount; i++) {
if (!needDrawDecoration(parent, i)) {
continue;
}
final View child = parent.getChildAt(i);
final RecyclerView.LayoutParams params = (RecyclerView.LayoutParams) child
.getLayoutParams();
final int left = child.getRight() + params.rightMargin;
final int right = left + mDivider.getIntrinsicHeight();
mDivider.setBounds(left, top, right, bottom);
mDivider.draw(c);
}
}
@Override
public void getItemOffsets(Rect outRect, int itemPosition, RecyclerView parent) {
if (!needDrawDecoration(parent, itemPosition)) {
return;
}
if (mOrientation == VERTICAL_LIST) {
outRect.set(0, 0, 0, mDivider.getIntrinsicHeight());
} else {
outRect.set(0, 0, mDivider.getIntrinsicWidth(), 0);
}
}
}

View File

@@ -3,6 +3,6 @@ package com.nnbc123.app.ui.widget.rollviewpager;
/** /**
* Created by zhuchenxi on 16/8/4. * Created by zhuchenxi on 16/8/4.
*/ */
public interface OnItemClickListener { public interface OnRollViewItemClickListener {
void onItemClick(int position); void onItemClick(int position);
} }

View File

@@ -37,7 +37,7 @@ public class RollPagerView extends RelativeLayout implements OnPageChangeListene
private ViewPager mViewPager; private ViewPager mViewPager;
private PagerAdapter mAdapter; private PagerAdapter mAdapter;
private OnItemClickListener mOnItemClickListener; private OnRollViewItemClickListener mOnItemClickListener;
private GestureDetector mGestureDetector; private GestureDetector mGestureDetector;
private long mRecentTouchTime; private long mRecentTouchTime;
@@ -310,7 +310,7 @@ public class RollPagerView extends RelativeLayout implements OnPageChangeListene
} }
public void setOnItemClickListener(OnItemClickListener listener) { public void setOnItemClickListener(OnRollViewItemClickListener listener) {
this.mOnItemClickListener = listener; this.mOnItemClickListener = listener;
} }

View File

@@ -9,7 +9,7 @@ import com.netease.nimlib.sdk.chatroom.model.ChatRoomMessage;
import com.netease.nimlib.sdk.msg.model.IMMessage; import com.netease.nimlib.sdk.msg.model.IMMessage;
import com.nnbc123.app.R; import com.nnbc123.app.R;
import com.nnbc123.app.public_chat_hall.msg.BaseMultiItemFetchLoadAdapter; import com.nnbc123.app.public_chat_hall.msg.BaseMultiItemFetchLoadAdapter;
import com.nnbc123.app.public_chat_hall.msg.BaseViewHolder; import com.nnbc123.app.public_chat_hall.msg.BaseMsgViewHolder;
import com.nnbc123.app.public_chat_hall.msg.viewholder.ChatRoomMsgViewHolderBase; import com.nnbc123.app.public_chat_hall.msg.viewholder.ChatRoomMsgViewHolderBase;
import com.nnbc123.app.public_chat_hall.msg.viewholder.ChatRoomMsgViewHolderFactory; import com.nnbc123.app.public_chat_hall.msg.viewholder.ChatRoomMsgViewHolderFactory;
import com.nnbc123.core.public_chat_hall.bean.PublicChatHallMessage; import com.nnbc123.core.public_chat_hall.bean.PublicChatHallMessage;
@@ -23,7 +23,7 @@ import java.util.Set;
/** /**
* Created by huangjun on 2016/12/21. * Created by huangjun on 2016/12/21.
*/ */
public class PublicChatHallMsgAdapter extends BaseMultiItemFetchLoadAdapter<ChatRoomMessage, BaseViewHolder> { public class PublicChatHallMsgAdapter extends BaseMultiItemFetchLoadAdapter<ChatRoomMessage, BaseMsgViewHolder> {
private Map<Class<? extends ChatRoomMsgViewHolderBase>, Integer> holder2ViewType; private Map<Class<? extends ChatRoomMsgViewHolderBase>, Integer> holder2ViewType;

View File

@@ -42,7 +42,7 @@ import com.nnbc123.app.R;
import com.nnbc123.app.public_chat_hall.adapter.PublicChatHallMsgAdapter; import com.nnbc123.app.public_chat_hall.adapter.PublicChatHallMsgAdapter;
import com.nnbc123.app.public_chat_hall.msg.BaseFetchLoadAdapter; import com.nnbc123.app.public_chat_hall.msg.BaseFetchLoadAdapter;
import com.nnbc123.app.public_chat_hall.msg.MsgListFetchLoadMoreView; import com.nnbc123.app.public_chat_hall.msg.MsgListFetchLoadMoreView;
import com.nnbc123.app.public_chat_hall.msg.OnItemClickListener; import com.nnbc123.app.public_chat_hall.msg.OnMsgItemClickListener;
import com.nnbc123.app.public_chat_hall.msg.viewholder.ChatRoomMsgViewHolderBase; import com.nnbc123.app.public_chat_hall.msg.viewholder.ChatRoomMsgViewHolderBase;
import com.nnbc123.core.public_chat_hall.manager.PublicChatHallDataManager; import com.nnbc123.core.public_chat_hall.manager.PublicChatHallDataManager;
import com.nnbc123.library.utils.SingleToastUtil; import com.nnbc123.library.utils.SingleToastUtil;
@@ -409,7 +409,7 @@ public class PublicChatHallMessageListPanel {
return -1; return -1;
} }
private OnItemClickListener listener = new OnItemClickListener() { private OnMsgItemClickListener listener = new OnMsgItemClickListener() {
@Override @Override
public void onItemClick(IRecyclerView adapter, View view, int position) { public void onItemClick(IRecyclerView adapter, View view, int position) {

View File

@@ -31,7 +31,7 @@ import java.util.List;
import static android.view.ViewGroup.LayoutParams.MATCH_PARENT; import static android.view.ViewGroup.LayoutParams.MATCH_PARENT;
public abstract class BaseFetchLoadAdapter<T, K extends BaseViewHolder> extends RecyclerView.Adapter<K> implements IRecyclerView { public abstract class BaseFetchLoadAdapter<T, K extends BaseMsgViewHolder> extends RecyclerView.Adapter<K> implements IRecyclerView {
private static final String TAG = BaseFetchLoadAdapter.class.getSimpleName(); private static final String TAG = BaseFetchLoadAdapter.class.getSimpleName();
@@ -698,7 +698,7 @@ public abstract class BaseFetchLoadAdapter<T, K extends BaseViewHolder> extends
* @return new ViewHolder * @return new ViewHolder
*/ */
protected K createBaseViewHolder(View view) { protected K createBaseViewHolder(View view) {
return (K) new BaseViewHolder(view); return (K) new BaseMsgViewHolder(view);
} }
protected int getDefItemViewType(int position) { protected int getDefItemViewType(int position) {

View File

@@ -25,7 +25,7 @@ import android.widget.TextView;
import java.util.HashSet; import java.util.HashSet;
import java.util.LinkedHashSet; import java.util.LinkedHashSet;
public class BaseViewHolder extends RecyclerView.ViewHolder { public class BaseMsgViewHolder extends RecyclerView.ViewHolder {
/** /**
* Views indexed with their IDs * Views indexed with their IDs
@@ -44,7 +44,7 @@ public class BaseViewHolder extends RecyclerView.ViewHolder {
Object associatedObject; Object associatedObject;
public BaseViewHolder(View view) { public BaseMsgViewHolder(View view) {
super(view); super(view);
this.views = new SparseArray<View>(); this.views = new SparseArray<View>();
this.childClickViewIds = new LinkedHashSet<>(); this.childClickViewIds = new LinkedHashSet<>();
@@ -72,13 +72,13 @@ public class BaseViewHolder extends RecyclerView.ViewHolder {
* @param value The text to put in the text view. * @param value The text to put in the text view.
* @return The BaseViewHolder for chaining. * @return The BaseViewHolder for chaining.
*/ */
public BaseViewHolder setText(int viewId, CharSequence value) { public BaseMsgViewHolder setText(int viewId, CharSequence value) {
TextView view = getView(viewId); TextView view = getView(viewId);
view.setText(value); view.setText(value);
return this; return this;
} }
public BaseViewHolder setText(int viewId, @StringRes int strId) { public BaseMsgViewHolder setText(int viewId, @StringRes int strId) {
TextView view = getView(viewId); TextView view = getView(viewId);
view.setText(strId); view.setText(strId);
return this; return this;
@@ -91,7 +91,7 @@ public class BaseViewHolder extends RecyclerView.ViewHolder {
* @param imageResId The image resource id. * @param imageResId The image resource id.
* @return The BaseViewHolder for chaining. * @return The BaseViewHolder for chaining.
*/ */
public BaseViewHolder setImageResource(int viewId, @DrawableRes int imageResId) { public BaseMsgViewHolder setImageResource(int viewId, @DrawableRes int imageResId) {
ImageView view = getView(viewId); ImageView view = getView(viewId);
view.setImageResource(imageResId); view.setImageResource(imageResId);
return this; return this;
@@ -104,7 +104,7 @@ public class BaseViewHolder extends RecyclerView.ViewHolder {
* @param color A color, not a resource id. * @param color A color, not a resource id.
* @return The BaseViewHolder for chaining. * @return The BaseViewHolder for chaining.
*/ */
public BaseViewHolder setBackgroundColor(int viewId, int color) { public BaseMsgViewHolder setBackgroundColor(int viewId, int color) {
View view = getView(viewId); View view = getView(viewId);
view.setBackgroundColor(color); view.setBackgroundColor(color);
return this; return this;
@@ -117,7 +117,7 @@ public class BaseViewHolder extends RecyclerView.ViewHolder {
* @param backgroundRes A resource to use as a background. * @param backgroundRes A resource to use as a background.
* @return The BaseViewHolder for chaining. * @return The BaseViewHolder for chaining.
*/ */
public BaseViewHolder setBackgroundRes(int viewId, @DrawableRes int backgroundRes) { public BaseMsgViewHolder setBackgroundRes(int viewId, @DrawableRes int backgroundRes) {
View view = getView(viewId); View view = getView(viewId);
view.setBackgroundResource(backgroundRes); view.setBackgroundResource(backgroundRes);
return this; return this;
@@ -130,7 +130,7 @@ public class BaseViewHolder extends RecyclerView.ViewHolder {
* @param textColor The text color (not a resource id). * @param textColor The text color (not a resource id).
* @return The BaseViewHolder for chaining. * @return The BaseViewHolder for chaining.
*/ */
public BaseViewHolder setTextColor(int viewId, int textColor) { public BaseMsgViewHolder setTextColor(int viewId, int textColor) {
TextView view = getView(viewId); TextView view = getView(viewId);
view.setTextColor(textColor); view.setTextColor(textColor);
return this; return this;
@@ -144,7 +144,7 @@ public class BaseViewHolder extends RecyclerView.ViewHolder {
* @param drawable The image drawable. * @param drawable The image drawable.
* @return The BaseViewHolder for chaining. * @return The BaseViewHolder for chaining.
*/ */
public BaseViewHolder setImageDrawable(int viewId, Drawable drawable) { public BaseMsgViewHolder setImageDrawable(int viewId, Drawable drawable) {
ImageView view = getView(viewId); ImageView view = getView(viewId);
view.setImageDrawable(drawable); view.setImageDrawable(drawable);
return this; return this;
@@ -153,7 +153,7 @@ public class BaseViewHolder extends RecyclerView.ViewHolder {
/** /**
* Add an action to set the image of an image view. Can be called multiple times. * Add an action to set the image of an image view. Can be called multiple times.
*/ */
public BaseViewHolder setImageBitmap(int viewId, Bitmap bitmap) { public BaseMsgViewHolder setImageBitmap(int viewId, Bitmap bitmap) {
ImageView view = getView(viewId); ImageView view = getView(viewId);
view.setImageBitmap(bitmap); view.setImageBitmap(bitmap);
return this; return this;
@@ -163,7 +163,7 @@ public class BaseViewHolder extends RecyclerView.ViewHolder {
* Add an action to set the alpha of a view. Can be called multiple times. * Add an action to set the alpha of a view. Can be called multiple times.
* Alpha between 0-1. * Alpha between 0-1.
*/ */
public BaseViewHolder setAlpha(int viewId, float value) { public BaseMsgViewHolder setAlpha(int viewId, float value) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
getView(viewId).setAlpha(value); getView(viewId).setAlpha(value);
} else { } else {
@@ -183,7 +183,7 @@ public class BaseViewHolder extends RecyclerView.ViewHolder {
* @param visible True for VISIBLE, false for GONE. * @param visible True for VISIBLE, false for GONE.
* @return The BaseViewHolder for chaining. * @return The BaseViewHolder for chaining.
*/ */
public BaseViewHolder setVisible(int viewId, boolean visible) { public BaseMsgViewHolder setVisible(int viewId, boolean visible) {
View view = getView(viewId); View view = getView(viewId);
view.setVisibility(visible ? View.VISIBLE : View.GONE); view.setVisibility(visible ? View.VISIBLE : View.GONE);
return this; return this;
@@ -195,7 +195,7 @@ public class BaseViewHolder extends RecyclerView.ViewHolder {
* @param viewId The id of the TextView to linkify. * @param viewId The id of the TextView to linkify.
* @return The BaseViewHolder for chaining. * @return The BaseViewHolder for chaining.
*/ */
public BaseViewHolder linkify(int viewId) { public BaseMsgViewHolder linkify(int viewId) {
TextView view = getView(viewId); TextView view = getView(viewId);
Linkify.addLinks(view, Linkify.ALL); Linkify.addLinks(view, Linkify.ALL);
return this; return this;
@@ -204,7 +204,7 @@ public class BaseViewHolder extends RecyclerView.ViewHolder {
/** /**
* Apply the typeface to the given viewId, and enable subpixel rendering. * Apply the typeface to the given viewId, and enable subpixel rendering.
*/ */
public BaseViewHolder setTypeface(int viewId, Typeface typeface) { public BaseMsgViewHolder setTypeface(int viewId, Typeface typeface) {
TextView view = getView(viewId); TextView view = getView(viewId);
view.setTypeface(typeface); view.setTypeface(typeface);
view.setPaintFlags(view.getPaintFlags() | Paint.SUBPIXEL_TEXT_FLAG); view.setPaintFlags(view.getPaintFlags() | Paint.SUBPIXEL_TEXT_FLAG);
@@ -214,7 +214,7 @@ public class BaseViewHolder extends RecyclerView.ViewHolder {
/** /**
* Apply the typeface to all the given viewIds, and enable subpixel rendering. * Apply the typeface to all the given viewIds, and enable subpixel rendering.
*/ */
public BaseViewHolder setTypeface(Typeface typeface, int... viewIds) { public BaseMsgViewHolder setTypeface(Typeface typeface, int... viewIds) {
for (int viewId : viewIds) { for (int viewId : viewIds) {
TextView view = getView(viewId); TextView view = getView(viewId);
view.setTypeface(typeface); view.setTypeface(typeface);
@@ -230,7 +230,7 @@ public class BaseViewHolder extends RecyclerView.ViewHolder {
* @param progress The progress. * @param progress The progress.
* @return The BaseViewHolder for chaining. * @return The BaseViewHolder for chaining.
*/ */
public BaseViewHolder setProgress(int viewId, int progress) { public BaseMsgViewHolder setProgress(int viewId, int progress) {
ProgressBar view = getView(viewId); ProgressBar view = getView(viewId);
view.setProgress(progress); view.setProgress(progress);
return this; return this;
@@ -244,7 +244,7 @@ public class BaseViewHolder extends RecyclerView.ViewHolder {
* @param max The max value of a ProgressBar. * @param max The max value of a ProgressBar.
* @return The BaseViewHolder for chaining. * @return The BaseViewHolder for chaining.
*/ */
public BaseViewHolder setProgress(int viewId, int progress, int max) { public BaseMsgViewHolder setProgress(int viewId, int progress, int max) {
ProgressBar view = getView(viewId); ProgressBar view = getView(viewId);
view.setMax(max); view.setMax(max);
view.setProgress(progress); view.setProgress(progress);
@@ -258,7 +258,7 @@ public class BaseViewHolder extends RecyclerView.ViewHolder {
* @param max The max value of a ProgressBar. * @param max The max value of a ProgressBar.
* @return The BaseViewHolder for chaining. * @return The BaseViewHolder for chaining.
*/ */
public BaseViewHolder setMax(int viewId, int max) { public BaseMsgViewHolder setMax(int viewId, int max) {
ProgressBar view = getView(viewId); ProgressBar view = getView(viewId);
view.setMax(max); view.setMax(max);
return this; return this;
@@ -271,7 +271,7 @@ public class BaseViewHolder extends RecyclerView.ViewHolder {
* @param rating The rating. * @param rating The rating.
* @return The BaseViewHolder for chaining. * @return The BaseViewHolder for chaining.
*/ */
public BaseViewHolder setRating(int viewId, float rating) { public BaseMsgViewHolder setRating(int viewId, float rating) {
RatingBar view = getView(viewId); RatingBar view = getView(viewId);
view.setRating(rating); view.setRating(rating);
return this; return this;
@@ -285,7 +285,7 @@ public class BaseViewHolder extends RecyclerView.ViewHolder {
* @param max The range of the RatingBar to 0...max. * @param max The range of the RatingBar to 0...max.
* @return The BaseViewHolder for chaining. * @return The BaseViewHolder for chaining.
*/ */
public BaseViewHolder setRating(int viewId, float rating, int max) { public BaseMsgViewHolder setRating(int viewId, float rating, int max) {
RatingBar view = getView(viewId); RatingBar view = getView(viewId);
view.setMax(max); view.setMax(max);
view.setRating(rating); view.setRating(rating);
@@ -300,7 +300,7 @@ public class BaseViewHolder extends RecyclerView.ViewHolder {
* @return The BaseViewHolder for chaining. * @return The BaseViewHolder for chaining.
*/ */
@Deprecated @Deprecated
public BaseViewHolder setOnClickListener(int viewId, View.OnClickListener listener) { public BaseMsgViewHolder setOnClickListener(int viewId, View.OnClickListener listener) {
View view = getView(viewId); View view = getView(viewId);
view.setOnClickListener(listener); view.setOnClickListener(listener);
return this; return this;
@@ -312,7 +312,7 @@ public class BaseViewHolder extends RecyclerView.ViewHolder {
* @param viewId add the child view id can support childview click * @param viewId add the child view id can support childview click
* @return * @return
*/ */
public BaseViewHolder addOnClickListener(int viewId) { public BaseMsgViewHolder addOnClickListener(int viewId) {
childClickViewIds.add(viewId); childClickViewIds.add(viewId);
return this; return this;
} }
@@ -323,7 +323,7 @@ public class BaseViewHolder extends RecyclerView.ViewHolder {
* @param viewId * @param viewId
* @return * @return
*/ */
public BaseViewHolder addOnLongClickListener(int viewId) { public BaseMsgViewHolder addOnLongClickListener(int viewId) {
itemChildLongClickViewIds.add(viewId); itemChildLongClickViewIds.add(viewId);
return this; return this;
} }
@@ -336,7 +336,7 @@ public class BaseViewHolder extends RecyclerView.ViewHolder {
* @param listener The on touch listener; * @param listener The on touch listener;
* @return The BaseViewHolder for chaining. * @return The BaseViewHolder for chaining.
*/ */
public BaseViewHolder setOnTouchListener(int viewId, View.OnTouchListener listener) { public BaseMsgViewHolder setOnTouchListener(int viewId, View.OnTouchListener listener) {
View view = getView(viewId); View view = getView(viewId);
view.setOnTouchListener(listener); view.setOnTouchListener(listener);
return this; return this;
@@ -349,7 +349,7 @@ public class BaseViewHolder extends RecyclerView.ViewHolder {
* @param listener The on long click listener; * @param listener The on long click listener;
* @return The BaseViewHolder for chaining. * @return The BaseViewHolder for chaining.
*/ */
public BaseViewHolder setOnLongClickListener(int viewId, View.OnLongClickListener listener) { public BaseMsgViewHolder setOnLongClickListener(int viewId, View.OnLongClickListener listener) {
View view = getView(viewId); View view = getView(viewId);
view.setOnLongClickListener(listener); view.setOnLongClickListener(listener);
return this; return this;
@@ -362,7 +362,7 @@ public class BaseViewHolder extends RecyclerView.ViewHolder {
* @param listener The item on click listener; * @param listener The item on click listener;
* @return The BaseViewHolder for chaining. * @return The BaseViewHolder for chaining.
*/ */
public BaseViewHolder setOnItemClickListener(int viewId, AdapterView.OnItemClickListener listener) { public BaseMsgViewHolder setOnItemClickListener(int viewId, AdapterView.OnItemClickListener listener) {
AdapterView view = getView(viewId); AdapterView view = getView(viewId);
view.setOnItemClickListener(listener); view.setOnItemClickListener(listener);
return this; return this;
@@ -375,7 +375,7 @@ public class BaseViewHolder extends RecyclerView.ViewHolder {
* @param listener The item long click listener; * @param listener The item long click listener;
* @return The BaseViewHolder for chaining. * @return The BaseViewHolder for chaining.
*/ */
public BaseViewHolder setOnItemLongClickListener(int viewId, AdapterView.OnItemLongClickListener listener) { public BaseMsgViewHolder setOnItemLongClickListener(int viewId, AdapterView.OnItemLongClickListener listener) {
AdapterView view = getView(viewId); AdapterView view = getView(viewId);
view.setOnItemLongClickListener(listener); view.setOnItemLongClickListener(listener);
return this; return this;
@@ -388,7 +388,7 @@ public class BaseViewHolder extends RecyclerView.ViewHolder {
* @param listener The item selected click listener; * @param listener The item selected click listener;
* @return The BaseViewHolder for chaining. * @return The BaseViewHolder for chaining.
*/ */
public BaseViewHolder setOnItemSelectedClickListener(int viewId, AdapterView.OnItemSelectedListener listener) { public BaseMsgViewHolder setOnItemSelectedClickListener(int viewId, AdapterView.OnItemSelectedListener listener) {
AdapterView view = getView(viewId); AdapterView view = getView(viewId);
view.setOnItemSelectedListener(listener); view.setOnItemSelectedListener(listener);
return this; return this;
@@ -401,7 +401,7 @@ public class BaseViewHolder extends RecyclerView.ViewHolder {
* @param listener The checked change listener of compound button. * @param listener The checked change listener of compound button.
* @return The BaseViewHolder for chaining. * @return The BaseViewHolder for chaining.
*/ */
public BaseViewHolder setOnCheckedChangeListener(int viewId, CompoundButton.OnCheckedChangeListener listener) { public BaseMsgViewHolder setOnCheckedChangeListener(int viewId, CompoundButton.OnCheckedChangeListener listener) {
CompoundButton view = getView(viewId); CompoundButton view = getView(viewId);
view.setOnCheckedChangeListener(listener); view.setOnCheckedChangeListener(listener);
return this; return this;
@@ -414,7 +414,7 @@ public class BaseViewHolder extends RecyclerView.ViewHolder {
* @param tag The tag; * @param tag The tag;
* @return The BaseViewHolder for chaining. * @return The BaseViewHolder for chaining.
*/ */
public BaseViewHolder setTag(int viewId, Object tag) { public BaseMsgViewHolder setTag(int viewId, Object tag) {
View view = getView(viewId); View view = getView(viewId);
view.setTag(tag); view.setTag(tag);
return this; return this;
@@ -428,7 +428,7 @@ public class BaseViewHolder extends RecyclerView.ViewHolder {
* @param tag The tag; * @param tag The tag;
* @return The BaseViewHolder for chaining. * @return The BaseViewHolder for chaining.
*/ */
public BaseViewHolder setTag(int viewId, int key, Object tag) { public BaseMsgViewHolder setTag(int viewId, int key, Object tag) {
View view = getView(viewId); View view = getView(viewId);
view.setTag(key, tag); view.setTag(key, tag);
return this; return this;
@@ -441,7 +441,7 @@ public class BaseViewHolder extends RecyclerView.ViewHolder {
* @param checked The checked status; * @param checked The checked status;
* @return The BaseViewHolder for chaining. * @return The BaseViewHolder for chaining.
*/ */
public BaseViewHolder setChecked(int viewId, boolean checked) { public BaseMsgViewHolder setChecked(int viewId, boolean checked) {
View view = getView(viewId); View view = getView(viewId);
// View unable cast to Checkable // View unable cast to Checkable
if (view instanceof CompoundButton) { if (view instanceof CompoundButton) {
@@ -459,7 +459,7 @@ public class BaseViewHolder extends RecyclerView.ViewHolder {
* @param adapter The adapter; * @param adapter The adapter;
* @return The BaseViewHolder for chaining. * @return The BaseViewHolder for chaining.
*/ */
public BaseViewHolder setAdapter(int viewId, Adapter adapter) { public BaseMsgViewHolder setAdapter(int viewId, Adapter adapter) {
AdapterView view = getView(viewId); AdapterView view = getView(viewId);
view.setAdapter(adapter); view.setAdapter(adapter);
return this; return this;

View File

@@ -10,7 +10,7 @@ import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
public abstract class BaseMultiItemFetchLoadAdapter<T, K extends BaseViewHolder> extends BaseFetchLoadAdapter<T, K> { public abstract class BaseMultiItemFetchLoadAdapter<T, K extends BaseMsgViewHolder> extends BaseFetchLoadAdapter<T, K> {
/** /**
* viewType->layoutResId * viewType->layoutResId

View File

@@ -21,7 +21,7 @@ public abstract class LoadMoreView {
return mLoadMoreStatus; return mLoadMoreStatus;
} }
public void convert(BaseViewHolder holder) { public void convert(BaseMsgViewHolder holder) {
switch (mLoadMoreStatus) { switch (mLoadMoreStatus) {
case STATUS_LOADING: case STATUS_LOADING:
visibleLoading(holder, true); visibleLoading(holder, true);
@@ -41,15 +41,15 @@ public abstract class LoadMoreView {
} }
} }
private void visibleLoading(BaseViewHolder holder, boolean visible) { private void visibleLoading(BaseMsgViewHolder holder, boolean visible) {
holder.setVisible(getLoadingViewId(), visible); holder.setVisible(getLoadingViewId(), visible);
} }
private void visibleLoadFail(BaseViewHolder holder, boolean visible) { private void visibleLoadFail(BaseMsgViewHolder holder, boolean visible) {
holder.setVisible(getLoadFailViewId(), visible); holder.setVisible(getLoadFailViewId(), visible);
} }
private void visibleLoadEnd(BaseViewHolder holder, boolean visible) { private void visibleLoadEnd(BaseMsgViewHolder holder, boolean visible) {
final int loadEndViewId = getLoadEndViewId(); final int loadEndViewId = getLoadEndViewId();
if (loadEndViewId != 0) { if (loadEndViewId != 0) {
holder.setVisible(loadEndViewId, visible); holder.setVisible(loadEndViewId, visible);

View File

@@ -9,7 +9,7 @@ import com.netease.nim.uikit.common.ui.recyclerview.adapter.IRecyclerView;
* of all the SimpleClickListener. This implements all methods in the * of all the SimpleClickListener. This implements all methods in the
* {@link SimpleClickListener} * {@link SimpleClickListener}
*/ */
public abstract class OnItemClickListener<T extends IRecyclerView> extends SimpleClickListener<T> { public abstract class OnMsgItemClickListener<T extends IRecyclerView> extends SimpleClickListener<T> {
@Override @Override
public void onItemLongClick(T adapter, View view, int position) { public void onItemLongClick(T adapter, View view, int position) {

View File

@@ -6,7 +6,7 @@ import androidx.recyclerview.widget.RecyclerView;
* Created by huangjun on 2016/12/11. * Created by huangjun on 2016/12/11.
*/ */
public abstract class RecyclerViewHolder<T extends RecyclerView.Adapter, V extends BaseViewHolder, K> { public abstract class RecyclerViewHolder<T extends RecyclerView.Adapter, V extends BaseMsgViewHolder, K> {
final private T adapter; final private T adapter;
public RecyclerViewHolder(T adapter) { public RecyclerViewHolder(T adapter) {

View File

@@ -40,7 +40,7 @@ public abstract class SimpleClickListener<T extends IRecyclerView> implements Re
} }
if (!mGestureDetector.onTouchEvent(e) && e.getActionMasked() == MotionEvent.ACTION_UP && mIsShowPress) { if (!mGestureDetector.onTouchEvent(e) && e.getActionMasked() == MotionEvent.ACTION_UP && mIsShowPress) {
if (mPressedView != null) { if (mPressedView != null) {
BaseViewHolder vh = (BaseViewHolder) recyclerView.getChildViewHolder(mPressedView); BaseMsgViewHolder vh = (BaseMsgViewHolder) recyclerView.getChildViewHolder(mPressedView);
if (vh == null || vh.getItemViewType() != IRecyclerView.LOADING_VIEW || vh.getItemViewType() != IRecyclerView.FETCHING_VIEW) { if (vh == null || vh.getItemViewType() != IRecyclerView.LOADING_VIEW || vh.getItemViewType() != IRecyclerView.FETCHING_VIEW) {
mPressedView.setPressed(false); mPressedView.setPressed(false);
} }
@@ -108,7 +108,7 @@ public abstract class SimpleClickListener<T extends IRecyclerView> implements Re
if (mIsPrepressed && mPressedView != null) { if (mIsPrepressed && mPressedView != null) {
final View pressedView = mPressedView; final View pressedView = mPressedView;
BaseViewHolder vh = (BaseViewHolder) recyclerView.getChildViewHolder(pressedView); BaseMsgViewHolder vh = (BaseMsgViewHolder) recyclerView.getChildViewHolder(pressedView);
if (isHeaderOrFooterPosition(vh.getLayoutPosition())) { if (isHeaderOrFooterPosition(vh.getLayoutPosition())) {
return false; return false;
@@ -159,7 +159,7 @@ public abstract class SimpleClickListener<T extends IRecyclerView> implements Re
boolean isChildLongClick = false; boolean isChildLongClick = false;
if (mIsPrepressed && mPressedView != null) { if (mIsPrepressed && mPressedView != null) {
mPressedView.performHapticFeedback(HapticFeedbackConstants.LONG_PRESS); mPressedView.performHapticFeedback(HapticFeedbackConstants.LONG_PRESS);
BaseViewHolder vh = (BaseViewHolder) recyclerView.getChildViewHolder(mPressedView); BaseMsgViewHolder vh = (BaseMsgViewHolder) recyclerView.getChildViewHolder(mPressedView);
if (!isHeaderOrFooterPosition(vh.getLayoutPosition())) { if (!isHeaderOrFooterPosition(vh.getLayoutPosition())) {
longClickViewIds = vh.getItemChildLongClickViewIds(); longClickViewIds = vh.getItemChildLongClickViewIds();
if (longClickViewIds != null && longClickViewIds.size() > 0) { if (longClickViewIds != null && longClickViewIds.size() > 0) {

View File

@@ -24,7 +24,7 @@ import com.nnbc123.app.R;
import com.nnbc123.app.public_chat_hall.adapter.PublicChatHallMsgAdapter; import com.nnbc123.app.public_chat_hall.adapter.PublicChatHallMsgAdapter;
import com.nnbc123.app.public_chat_hall.event.PublicChatHallAvatarClickEvent; import com.nnbc123.app.public_chat_hall.event.PublicChatHallAvatarClickEvent;
import com.nnbc123.app.public_chat_hall.msg.BaseMultiItemFetchLoadAdapter; import com.nnbc123.app.public_chat_hall.msg.BaseMultiItemFetchLoadAdapter;
import com.nnbc123.app.public_chat_hall.msg.BaseViewHolder; import com.nnbc123.app.public_chat_hall.msg.BaseMsgViewHolder;
import com.nnbc123.app.public_chat_hall.msg.RecyclerViewHolder; import com.nnbc123.app.public_chat_hall.msg.RecyclerViewHolder;
import com.nnbc123.app.ui.utils.ImageLoadUtils; import com.nnbc123.app.ui.utils.ImageLoadUtils;
import com.nnbc123.core.level.UserLevelResourceType; import com.nnbc123.core.level.UserLevelResourceType;
@@ -42,7 +42,7 @@ import java.util.Map;
* 具体的消息展示项可继承该基类,然后完成具体消息内容展示即可。 * 具体的消息展示项可继承该基类,然后完成具体消息内容展示即可。
*/ */
public abstract class ChatRoomMsgViewHolderBase extends RecyclerViewHolder<BaseMultiItemFetchLoadAdapter, public abstract class ChatRoomMsgViewHolderBase extends RecyclerViewHolder<BaseMultiItemFetchLoadAdapter,
BaseViewHolder, ChatRoomMessage> { BaseMsgViewHolder, ChatRoomMessage> {
public ChatRoomMsgViewHolderBase(BaseMultiItemFetchLoadAdapter adapter) { public ChatRoomMsgViewHolderBase(BaseMultiItemFetchLoadAdapter adapter) {
super(adapter); super(adapter);
@@ -96,7 +96,7 @@ public abstract class ChatRoomMsgViewHolderBase extends RecyclerViewHolder<BaseM
abstract protected void bindContentView(); abstract protected void bindContentView();
// 在该接口操作BaseViewHolder中的数据进行事件绑定可选 // 在该接口操作BaseViewHolder中的数据进行事件绑定可选
protected void bindHolder(BaseViewHolder holder) { protected void bindHolder(BaseMsgViewHolder holder) {
} }
@@ -182,7 +182,7 @@ public abstract class ChatRoomMsgViewHolderBase extends RecyclerViewHolder<BaseM
/// -- 以下是基类实现代码 /// -- 以下是基类实现代码
@Override @Override
public void convert(BaseViewHolder holder, ChatRoomMessage data, int position, boolean isScrolling) { public void convert(BaseMsgViewHolder holder, ChatRoomMessage data, int position, boolean isScrolling) {
view = holder.getConvertView(); view = holder.getConvertView();
context = holder.getContext(); context = holder.getContext();
message = data; message = data;

View File

@@ -12,7 +12,7 @@ import com.netease.nim.uikit.impl.NimUIKitImpl;
import com.netease.nimlib.sdk.robot.model.NimRobotInfo; import com.netease.nimlib.sdk.robot.model.NimRobotInfo;
import com.netease.nimlib.sdk.robot.model.RobotAttachment; import com.netease.nimlib.sdk.robot.model.RobotAttachment;
import com.nnbc123.app.public_chat_hall.msg.BaseMultiItemFetchLoadAdapter; import com.nnbc123.app.public_chat_hall.msg.BaseMultiItemFetchLoadAdapter;
import com.nnbc123.app.public_chat_hall.msg.BaseViewHolder; import com.nnbc123.app.public_chat_hall.msg.BaseMsgViewHolder;
import java.util.HashSet; import java.util.HashSet;
import java.util.Set; import java.util.Set;
@@ -89,7 +89,7 @@ public class ChatRoomMsgViewHolderRobot extends ChatRoomMsgViewHolderText implem
} }
@Override @Override
protected void bindHolder(BaseViewHolder holder) { protected void bindHolder(BaseMsgViewHolder holder) {
holder.getChildClickViewIds().clear(); holder.getChildClickViewIds().clear();
for (int id : onClickIds) { for (int id : onClickIds) {
holder.addOnClickListener(id); holder.addOnClickListener(id);

View File

@@ -8,7 +8,7 @@ import com.netease.nim.uikit.api.NimUIKit;
import com.netease.nim.uikit.common.ui.drop.DropFake; import com.netease.nim.uikit.common.ui.drop.DropFake;
import com.netease.nim.uikit.common.ui.drop.DropManager; import com.netease.nim.uikit.common.ui.drop.DropManager;
import com.netease.nim.uikit.common.ui.recyclerview.adapter.BaseQuickAdapter; import com.netease.nim.uikit.common.ui.recyclerview.adapter.BaseQuickAdapter;
import com.netease.nim.uikit.common.ui.recyclerview.holder.BaseViewHolder; import com.netease.nim.uikit.common.ui.recyclerview.holder.NimBaseViewHolder;
import com.netease.nimlib.sdk.msg.constant.SessionTypeEnum; import com.netease.nimlib.sdk.msg.constant.SessionTypeEnum;
import com.netease.nimlib.sdk.msg.model.RecentContact; import com.netease.nimlib.sdk.msg.model.RecentContact;
import com.nnbc123.app.R; import com.nnbc123.app.R;
@@ -41,7 +41,7 @@ public class RoomMsgCommonRecentViewHolder extends RoomMsgRecentViewHolder {
} }
@Override @Override
public void inflate(BaseViewHolder holder, final RecentContact recent) { public void inflate(NimBaseViewHolder holder, final RecentContact recent) {
this.imgHead = holder.getView(R.id.img_head); this.imgHead = holder.getView(R.id.img_head);
this.tvNickname = holder.getView(R.id.tv_nickname); this.tvNickname = holder.getView(R.id.tv_nickname);
this.tvMessage = holder.getView(R.id.tv_message); this.tvMessage = holder.getView(R.id.tv_message);
@@ -73,7 +73,7 @@ public class RoomMsgCommonRecentViewHolder extends RoomMsgRecentViewHolder {
} }
@Override @Override
public void refresh(BaseViewHolder holder, RecentContact recent, final int position) { public void refresh(NimBaseViewHolder holder, RecentContact recent, final int position) {
// unread count animation // unread count animation

View File

@@ -4,7 +4,7 @@ import androidx.recyclerview.widget.RecyclerView;
import com.netease.nim.uikit.business.recent.RecentContactsCallback; import com.netease.nim.uikit.business.recent.RecentContactsCallback;
import com.netease.nim.uikit.common.ui.recyclerview.adapter.BaseMultiItemQuickAdapter; import com.netease.nim.uikit.common.ui.recyclerview.adapter.BaseMultiItemQuickAdapter;
import com.netease.nim.uikit.common.ui.recyclerview.holder.BaseViewHolder; import com.netease.nim.uikit.common.ui.recyclerview.holder.NimBaseViewHolder;
import com.netease.nimlib.sdk.msg.constant.SessionTypeEnum; import com.netease.nimlib.sdk.msg.constant.SessionTypeEnum;
import com.netease.nimlib.sdk.msg.model.RecentContact; import com.netease.nimlib.sdk.msg.model.RecentContact;
import com.nnbc123.app.R; import com.nnbc123.app.R;
@@ -16,7 +16,7 @@ import java.util.List;
* *
* @author MadisonRong * @author MadisonRong
*/ */
public class RoomMsgRecentContactAdapter extends BaseMultiItemQuickAdapter<RecentContact, BaseViewHolder> { public class RoomMsgRecentContactAdapter extends BaseMultiItemQuickAdapter<RecentContact, NimBaseViewHolder> {
interface ViewType { interface ViewType {
int VIEW_TYPE_COMMON = 1; int VIEW_TYPE_COMMON = 1;

View File

@@ -13,7 +13,7 @@ import com.netease.nim.uikit.business.uinfo.UserInfoHelper;
import com.netease.nim.uikit.common.ui.drop.DropFake; import com.netease.nim.uikit.common.ui.drop.DropFake;
import com.netease.nim.uikit.common.ui.imageview.HeadImageView; import com.netease.nim.uikit.common.ui.imageview.HeadImageView;
import com.netease.nim.uikit.common.ui.recyclerview.adapter.BaseQuickAdapter; import com.netease.nim.uikit.common.ui.recyclerview.adapter.BaseQuickAdapter;
import com.netease.nim.uikit.common.ui.recyclerview.holder.BaseViewHolder; import com.netease.nim.uikit.common.ui.recyclerview.holder.NimBaseViewHolder;
import com.netease.nim.uikit.common.ui.recyclerview.holder.RecyclerViewHolder; import com.netease.nim.uikit.common.ui.recyclerview.holder.RecyclerViewHolder;
import com.netease.nim.uikit.common.util.sys.TimeUtil; import com.netease.nim.uikit.common.util.sys.TimeUtil;
import com.netease.nim.uikit.impl.cache.TeamDataCache; import com.netease.nim.uikit.impl.cache.TeamDataCache;
@@ -25,7 +25,7 @@ import com.nnbc123.app.R;
import com.nnbc123.app.ui.im.recent.RecentContactsFragment; import com.nnbc123.app.ui.im.recent.RecentContactsFragment;
import com.nnbc123.core.helper.ImHelperUtils; import com.nnbc123.core.helper.ImHelperUtils;
public abstract class RoomMsgRecentViewHolder extends RecyclerViewHolder<BaseQuickAdapter, BaseViewHolder, RecentContact> { public abstract class RoomMsgRecentViewHolder extends RecyclerViewHolder<BaseQuickAdapter, NimBaseViewHolder, RecentContact> {
public RoomMsgRecentViewHolder(BaseQuickAdapter adapter) { public RoomMsgRecentViewHolder(BaseQuickAdapter adapter) {
super(adapter); super(adapter);
@@ -57,17 +57,17 @@ public abstract class RoomMsgRecentViewHolder extends RecyclerViewHolder<BaseQui
protected abstract String getContent(RecentContact recent); protected abstract String getContent(RecentContact recent);
@Override @Override
public void convert(BaseViewHolder holder, RecentContact data, int position, boolean isScrolling) { public void convert(NimBaseViewHolder holder, RecentContact data, int position, boolean isScrolling) {
inflate(holder, data); inflate(holder, data);
refresh(holder, data, position); refresh(holder, data, position);
} }
protected abstract void inflate(BaseViewHolder holder, RecentContact data); protected abstract void inflate(NimBaseViewHolder holder, RecentContact data);
protected abstract void refresh(BaseViewHolder holder, RecentContact data, int position); protected abstract void refresh(NimBaseViewHolder holder, RecentContact data, int position);
protected void updateBackground(BaseViewHolder holder, RecentContact recent, int position) { protected void updateBackground(NimBaseViewHolder holder, RecentContact recent, int position) {
if ((recent.getTag() & RecentContactsFragment.RECENT_TAG_STICKY) == 0) { if ((recent.getTag() & RecentContactsFragment.RECENT_TAG_STICKY) == 0) {
holder.getConvertView().setBackgroundResource(R.drawable.bg_common_touch); holder.getConvertView().setBackgroundResource(R.drawable.bg_common_touch);
} else { } else {
@@ -98,7 +98,7 @@ public abstract class RoomMsgRecentViewHolder extends RecyclerViewHolder<BaseQui
// //
} }
protected void updateMsgLabel(BaseViewHolder holder, RecentContact recent) { protected void updateMsgLabel(NimBaseViewHolder holder, RecentContact recent) {
// 显示消息具体内容 // 显示消息具体内容
MoonUtil.identifyRecentVHFaceExpressionAndTags(holder.getContext(), tvMessage, getContent(recent), -1, 0.45f); MoonUtil.identifyRecentVHFaceExpressionAndTags(holder.getContext(), tvMessage, getContent(recent), -1, 0.45f);
//tvMessage.setText(getContent()); //tvMessage.setText(getContent());

View File

@@ -12,7 +12,7 @@ import com.netease.nim.uikit.business.team.helper.TeamHelper;
import com.netease.nim.uikit.common.ui.drop.DropFake; import com.netease.nim.uikit.common.ui.drop.DropFake;
import com.netease.nim.uikit.common.ui.drop.DropManager; import com.netease.nim.uikit.common.ui.drop.DropManager;
import com.netease.nim.uikit.common.ui.recyclerview.adapter.BaseQuickAdapter; import com.netease.nim.uikit.common.ui.recyclerview.adapter.BaseQuickAdapter;
import com.netease.nim.uikit.common.ui.recyclerview.holder.BaseViewHolder; import com.netease.nim.uikit.common.ui.recyclerview.holder.NimBaseViewHolder;
import com.netease.nimlib.sdk.NIMClient; import com.netease.nimlib.sdk.NIMClient;
import com.netease.nimlib.sdk.msg.attachment.MsgAttachment; import com.netease.nimlib.sdk.msg.attachment.MsgAttachment;
import com.netease.nimlib.sdk.msg.attachment.NotificationAttachment; import com.netease.nimlib.sdk.msg.attachment.NotificationAttachment;
@@ -39,7 +39,7 @@ public class RoomMsgTeamRecentViewHolder extends RoomMsgRecentViewHolder {
} }
@Override @Override
public void inflate(BaseViewHolder holder, final RecentContact recent) { public void inflate(NimBaseViewHolder holder, final RecentContact recent) {
this.imgHead = holder.getView(R.id.img_head); this.imgHead = holder.getView(R.id.img_head);
this.tvNickname = holder.getView(R.id.tv_nickname); this.tvNickname = holder.getView(R.id.tv_nickname);
this.tvMessage = holder.getView(R.id.tv_message); this.tvMessage = holder.getView(R.id.tv_message);
@@ -75,7 +75,7 @@ public class RoomMsgTeamRecentViewHolder extends RoomMsgRecentViewHolder {
} }
@Override @Override
public void refresh(BaseViewHolder holder, RecentContact recent, final int position) { public void refresh(NimBaseViewHolder holder, RecentContact recent, final int position) {
// unread count animation // unread count animation
boolean shouldBoom = lastUnreadCount > 0 && recent.getUnreadCount() == 0; // 未读数从N->0执行爆裂动画; boolean shouldBoom = lastUnreadCount > 0 && recent.getUnreadCount() == 0; // 未读数从N->0执行爆裂动画;

View File

@@ -3,15 +3,12 @@ package com.nnbc123.core.manager.trtc;
import android.content.Context; import android.content.Context;
import android.graphics.Bitmap; import android.graphics.Bitmap;
import android.graphics.BitmapFactory; import android.graphics.BitmapFactory;
import android.opengl.EGL14;
import android.os.Bundle; import android.os.Bundle;
import android.text.TextUtils; import android.text.TextUtils;
import android.view.SurfaceView; import android.view.SurfaceView;
import com.tencent.liteav.TXLiteAVCode;
import com.tencent.liteav.audio.TXAudioEffectManager; import com.tencent.liteav.audio.TXAudioEffectManager;
import com.tencent.liteav.device.TXDeviceManager; import com.tencent.liteav.device.TXDeviceManager;
import com.tencent.rtmp.TXLiveConstants;
import com.tencent.rtmp.TXLivePlayer; import com.tencent.rtmp.TXLivePlayer;
import com.tencent.rtmp.ui.TXCloudVideoView; import com.tencent.rtmp.ui.TXCloudVideoView;
import com.tencent.trtc.TRTCCloud; import com.tencent.trtc.TRTCCloud;
@@ -28,7 +25,6 @@ import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.net.HttpURLConnection; import java.net.HttpURLConnection;
import java.net.URL; import java.net.URL;
import java.nio.ByteBuffer;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
@@ -48,22 +44,6 @@ import io.agora.rtc2.video.VideoCanvas;
import io.agora.rtc2.video.VideoEncoderConfiguration; import io.agora.rtc2.video.VideoEncoderConfiguration;
import io.agora.rtc2.video.WatermarkOptions; import io.agora.rtc2.video.WatermarkOptions;
import static com.tencent.liteav.audio.TXAudioEffectManager.TXVoiceChangerType.TXLiveVoiceChangerType_0;
import static com.tencent.liteav.audio.TXAudioEffectManager.TXVoiceChangerType.TXLiveVoiceChangerType_1;
import static com.tencent.liteav.audio.TXAudioEffectManager.TXVoiceChangerType.TXLiveVoiceChangerType_2;
import static com.tencent.liteav.audio.TXAudioEffectManager.TXVoiceChangerType.TXLiveVoiceChangerType_3;
import static com.tencent.liteav.audio.TXAudioEffectManager.TXVoiceChangerType.TXLiveVoiceChangerType_4;
import static com.tencent.liteav.audio.TXAudioEffectManager.TXVoiceChangerType.TXLiveVoiceChangerType_5;
import static com.tencent.liteav.audio.TXAudioEffectManager.TXVoiceChangerType.TXLiveVoiceChangerType_6;
import static com.tencent.liteav.audio.TXAudioEffectManager.TXVoiceReverbType.TXLiveVoiceReverbType_0;
import static com.tencent.liteav.audio.TXAudioEffectManager.TXVoiceReverbType.TXLiveVoiceReverbType_1;
import static com.tencent.liteav.audio.TXAudioEffectManager.TXVoiceReverbType.TXLiveVoiceReverbType_2;
import static com.tencent.liteav.audio.TXAudioEffectManager.TXVoiceReverbType.TXLiveVoiceReverbType_3;
import static com.tencent.liteav.audio.TXAudioEffectManager.TXVoiceReverbType.TXLiveVoiceReverbType_4;
import static com.tencent.liteav.audio.TXAudioEffectManager.TXVoiceReverbType.TXLiveVoiceReverbType_5;
import static com.tencent.liteav.audio.TXAudioEffectManager.TXVoiceReverbType.TXLiveVoiceReverbType_6;
import static com.tencent.liteav.audio.TXAudioEffectManager.TXVoiceReverbType.TXLiveVoiceReverbType_7;
import static com.tencent.rtmp.TXLivePlayer.PLAY_TYPE_LIVE_FLV;
import static com.tencent.trtc.TRTCCloudDef.TRTCRoleAnchor; import static com.tencent.trtc.TRTCCloudDef.TRTCRoleAnchor;
import static com.tencent.trtc.TRTCCloudDef.TRTCRoleAudience; import static com.tencent.trtc.TRTCCloudDef.TRTCRoleAudience;
import static com.tencent.trtc.TRTCCloudDef.TRTC_APP_SCENE_LIVE; import static com.tencent.trtc.TRTCCloudDef.TRTC_APP_SCENE_LIVE;
@@ -74,10 +54,6 @@ import static com.tencent.trtc.TRTCCloudDef.TRTC_LOG_LEVEL_FATAL;
import static com.tencent.trtc.TRTCCloudDef.TRTC_LOG_LEVEL_INFO; import static com.tencent.trtc.TRTCCloudDef.TRTC_LOG_LEVEL_INFO;
import static com.tencent.trtc.TRTCCloudDef.TRTC_LOG_LEVEL_NULL; import static com.tencent.trtc.TRTCCloudDef.TRTC_LOG_LEVEL_NULL;
import static com.tencent.trtc.TRTCCloudDef.TRTC_LOG_LEVEL_WARN; import static com.tencent.trtc.TRTCCloudDef.TRTC_LOG_LEVEL_WARN;
import static com.tencent.trtc.TRTCCloudDef.TRTC_VIDEO_BUFFER_TYPE_BYTE_ARRAY;
import static com.tencent.trtc.TRTCCloudDef.TRTC_VIDEO_BUFFER_TYPE_BYTE_BUFFER;
import static com.tencent.trtc.TRTCCloudDef.TRTC_VIDEO_BUFFER_TYPE_TEXTURE;
import static com.tencent.trtc.TRTCCloudDef.TRTC_VIDEO_BUFFER_TYPE_UNKNOWN;
import static com.tencent.trtc.TRTCCloudDef.TRTC_VIDEO_PIXEL_FORMAT_I420; import static com.tencent.trtc.TRTCCloudDef.TRTC_VIDEO_PIXEL_FORMAT_I420;
import static com.tencent.trtc.TRTCCloudDef.TRTC_VIDEO_PIXEL_FORMAT_NV21; import static com.tencent.trtc.TRTCCloudDef.TRTC_VIDEO_PIXEL_FORMAT_NV21;
import static com.tencent.trtc.TRTCCloudDef.TRTC_VIDEO_PIXEL_FORMAT_TEXTURE_EXTERNAL_OES; import static com.tencent.trtc.TRTCCloudDef.TRTC_VIDEO_PIXEL_FORMAT_TEXTURE_EXTERNAL_OES;
@@ -2045,7 +2021,7 @@ public class TRTCEngineAdapter extends BaseAdapterImpl {
x = options.positionInLandscapeMode.x / (float) resolutionWidth; x = options.positionInLandscapeMode.x / (float) resolutionWidth;
y = options.positionInLandscapeMode.y / (float) resolutionHeight; y = options.positionInLandscapeMode.y / (float) resolutionHeight;
} }
Bitmap bitmap = Utils.getBitmap(watermarkUrl, decodeWidth, decodeHeight); Bitmap bitmap = TrtcUtils.getBitmap(watermarkUrl, decodeWidth, decodeHeight);
trtcCloud.setWatermark(bitmap, TRTC_VIDEO_STREAM_TYPE_BIG, x, y, width); trtcCloud.setWatermark(bitmap, TRTC_VIDEO_STREAM_TYPE_BIG, x, y, width);
return 0; return 0;

View File

@@ -3,7 +3,7 @@ package com.nnbc123.core.manager.trtc;
import android.graphics.Bitmap; import android.graphics.Bitmap;
import android.graphics.BitmapFactory; import android.graphics.BitmapFactory;
public class Utils { public class TrtcUtils {
private static boolean isSpace(final String s) { private static boolean isSpace(final String s) {
if (s == null) return true; if (s == null) return true;

View File

@@ -65,7 +65,7 @@ public class SwipeBackActivity extends RxAppCompatActivity implements SwipeBack
@Override @Override
public void scrollToFinishActivity() { public void scrollToFinishActivity() {
Utils.convertActivityToTranslucent(this); SwipeUtils.convertActivityToTranslucent(this);
getSwipeBackLayout().scrollToFinishActivity(); getSwipeBackLayout().scrollToFinishActivity();
} }

View File

@@ -32,7 +32,7 @@ public class SwipeBackActivityHelper {
@Override @Override
public void onEdgeTouch(int edgeFlag) { public void onEdgeTouch(int edgeFlag) {
Utils.convertActivityToTranslucent(mActivity); SwipeUtils.convertActivityToTranslucent(mActivity);
} }
@Override @Override

View File

@@ -10,8 +10,8 @@ import java.lang.reflect.Method;
/** /**
* Created by hm * Created by hm
*/ */
public class Utils { public class SwipeUtils {
private Utils() { private SwipeUtils() {
} }
/** /**

View File

@@ -32,7 +32,7 @@ import com.nnbc123.library.common.transform.AssignScaleTransformation
import com.nnbc123.library.common.transform.ComplexTransformation import com.nnbc123.library.common.transform.ComplexTransformation
import com.nnbc123.library.common.util.ActivityHelper import com.nnbc123.library.common.util.ActivityHelper
import com.nnbc123.library.common.util.LLogger import com.nnbc123.library.common.util.LLogger
import com.nnbc123.library.common.util.Utils import com.nnbc123.library.common.util.CommonUtils
import jp.wasabeef.glide.transformations.RoundedCornersTransformation import jp.wasabeef.glide.transformations.RoundedCornersTransformation
import java.io.File import java.io.File
@@ -372,7 +372,7 @@ class GlideUtils {
this.asGif().load(uri) this.asGif().load(uri)
.transform( .transform(
CenterCrop(), RoundedCornersTransformation( CenterCrop(), RoundedCornersTransformation(
Utils.dip2px(imageView.context, radius), CommonUtils.dip2px(imageView.context, radius),
0, RoundedCornersTransformation.CornerType.ALL 0, RoundedCornersTransformation.CornerType.ALL
) )
) )
@@ -393,7 +393,7 @@ class GlideUtils {
this.asGif().load(uri) this.asGif().load(uri)
.transform( .transform(
CenterCrop(), RoundedCornersTransformation( CenterCrop(), RoundedCornersTransformation(
Utils.dip2px(imageView.context, radius), CommonUtils.dip2px(imageView.context, radius),
0, RoundedCornersTransformation.CornerType.ALL 0, RoundedCornersTransformation.CornerType.ALL
) )
) )
@@ -416,7 +416,7 @@ class GlideUtils {
.apply(options) .apply(options)
.transform( .transform(
CenterCrop(), RoundedCornersTransformation( CenterCrop(), RoundedCornersTransformation(
Utils.dip2px(imageView.context, radius), CommonUtils.dip2px(imageView.context, radius),
0, RoundedCornersTransformation.CornerType.ALL 0, RoundedCornersTransformation.CornerType.ALL
) )
) )
@@ -1200,7 +1200,7 @@ class GlideUtils {
.error(resId) .error(resId)
.transform( .transform(
CenterCrop(), RoundedCornersTransformation( CenterCrop(), RoundedCornersTransformation(
Utils.dip2px(imageView.context, radius), CommonUtils.dip2px(imageView.context, radius),
0, RoundedCornersTransformation.CornerType.TOP 0, RoundedCornersTransformation.CornerType.TOP
) )
).into(imageView) ).into(imageView)
@@ -1225,7 +1225,7 @@ class GlideUtils {
.error(resId) .error(resId)
.transform( .transform(
CenterCrop(), RoundedCornersTransformation( CenterCrop(), RoundedCornersTransformation(
Utils.dip2px(imageView.context, radius), CommonUtils.dip2px(imageView.context, radius),
0, RoundedCornersTransformation.CornerType.ALL 0, RoundedCornersTransformation.CornerType.ALL
) )
).into(imageView) ).into(imageView)

View File

@@ -17,7 +17,7 @@ import java.util.List;
* time: 2022/11/15 * time: 2022/11/15
* desc: 转换帮助类 * desc: 转换帮助类
*/ */
public class Utils { public class CommonUtils {
public static <T> boolean notEmpty(List<T> list) { public static <T> boolean notEmpty(List<T> list) {
return !isEmpty(list); return !isEmpty(list);

View File

@@ -3,7 +3,7 @@ package com.netease.nim.uikit.business.ait.selector;
import android.content.Context; import android.content.Context;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
import com.netease.nim.uikit.common.ui.recyclerview.decoration.DividerItemDecoration; import com.netease.nim.uikit.common.ui.recyclerview.decoration.NimDividerItemDecoration;
import java.util.HashSet; import java.util.HashSet;
import java.util.List; import java.util.List;
@@ -13,7 +13,7 @@ import java.util.Set;
* Created by hzchenkang on 2017/6/22. * Created by hzchenkang on 2017/6/22.
*/ */
public class AitContactDecoration extends DividerItemDecoration { public class AitContactDecoration extends NimDividerItemDecoration {
// 不需要分割线 // 不需要分割线
private Set<Integer> ignoreDecorations; private Set<Integer> ignoreDecorations;

View File

@@ -9,7 +9,7 @@ import com.netease.nim.uikit.business.ait.selector.holder.TeamMemberViewHolder;
import com.netease.nim.uikit.business.ait.selector.model.AitContactItem; import com.netease.nim.uikit.business.ait.selector.model.AitContactItem;
import com.netease.nim.uikit.business.ait.selector.model.ItemType; import com.netease.nim.uikit.business.ait.selector.model.ItemType;
import com.netease.nim.uikit.common.ui.recyclerview.adapter.BaseMultiItemQuickAdapter; import com.netease.nim.uikit.common.ui.recyclerview.adapter.BaseMultiItemQuickAdapter;
import com.netease.nim.uikit.common.ui.recyclerview.holder.BaseViewHolder; import com.netease.nim.uikit.common.ui.recyclerview.holder.NimBaseViewHolder;
import java.util.List; import java.util.List;
@@ -17,7 +17,7 @@ import java.util.List;
* Created by hzchenkang on 2017/6/21. * Created by hzchenkang on 2017/6/21.
*/ */
public class AitContactAdapter extends BaseMultiItemQuickAdapter<AitContactItem, BaseViewHolder> { public class AitContactAdapter extends BaseMultiItemQuickAdapter<AitContactItem, NimBaseViewHolder> {
public AitContactAdapter(RecyclerView recyclerView, List<AitContactItem> data) { public AitContactAdapter(RecyclerView recyclerView, List<AitContactItem> data) {
super(recyclerView, data); super(recyclerView, data);

View File

@@ -6,7 +6,7 @@ import com.netease.nim.uikit.R;
import com.netease.nim.uikit.business.ait.selector.model.AitContactItem; import com.netease.nim.uikit.business.ait.selector.model.AitContactItem;
import com.netease.nim.uikit.common.ui.imageview.HeadImageView; import com.netease.nim.uikit.common.ui.imageview.HeadImageView;
import com.netease.nim.uikit.common.ui.recyclerview.adapter.BaseQuickAdapter; import com.netease.nim.uikit.common.ui.recyclerview.adapter.BaseQuickAdapter;
import com.netease.nim.uikit.common.ui.recyclerview.holder.BaseViewHolder; import com.netease.nim.uikit.common.ui.recyclerview.holder.NimBaseViewHolder;
import com.netease.nim.uikit.common.ui.recyclerview.holder.RecyclerViewHolder; import com.netease.nim.uikit.common.ui.recyclerview.holder.RecyclerViewHolder;
import com.netease.nimlib.sdk.robot.model.NimRobotInfo; import com.netease.nimlib.sdk.robot.model.NimRobotInfo;
@@ -14,7 +14,7 @@ import com.netease.nimlib.sdk.robot.model.NimRobotInfo;
* Created by hzchenkang on 2017/6/21. * Created by hzchenkang on 2017/6/21.
*/ */
public class RobotViewHolder extends RecyclerViewHolder<BaseQuickAdapter, BaseViewHolder, AitContactItem<NimRobotInfo>> { public class RobotViewHolder extends RecyclerViewHolder<BaseQuickAdapter, NimBaseViewHolder, AitContactItem<NimRobotInfo>> {
private HeadImageView headImageView; private HeadImageView headImageView;
private TextView nameTextView; private TextView nameTextView;
@@ -24,12 +24,12 @@ public class RobotViewHolder extends RecyclerViewHolder<BaseQuickAdapter, BaseVi
} }
@Override @Override
public void convert(BaseViewHolder holder, AitContactItem<NimRobotInfo> data, int position, boolean isScrolling) { public void convert(NimBaseViewHolder holder, AitContactItem<NimRobotInfo> data, int position, boolean isScrolling) {
inflate(holder); inflate(holder);
refresh(data.getModel()); refresh(data.getModel());
} }
public void inflate(BaseViewHolder holder) { public void inflate(NimBaseViewHolder holder) {
headImageView = holder.getView(R.id.imageViewHeader); headImageView = holder.getView(R.id.imageViewHeader);
nameTextView = holder.getView(R.id.textViewName); nameTextView = holder.getView(R.id.textViewName);
} }

View File

@@ -5,14 +5,14 @@ import android.widget.TextView;
import com.netease.nim.uikit.R; import com.netease.nim.uikit.R;
import com.netease.nim.uikit.business.ait.selector.model.AitContactItem; import com.netease.nim.uikit.business.ait.selector.model.AitContactItem;
import com.netease.nim.uikit.common.ui.recyclerview.adapter.BaseQuickAdapter; import com.netease.nim.uikit.common.ui.recyclerview.adapter.BaseQuickAdapter;
import com.netease.nim.uikit.common.ui.recyclerview.holder.BaseViewHolder; import com.netease.nim.uikit.common.ui.recyclerview.holder.NimBaseViewHolder;
import com.netease.nim.uikit.common.ui.recyclerview.holder.RecyclerViewHolder; import com.netease.nim.uikit.common.ui.recyclerview.holder.RecyclerViewHolder;
/** /**
* Created by hzchenkang on 2017/6/21. * Created by hzchenkang on 2017/6/21.
*/ */
public class SimpleLabelViewHolder extends RecyclerViewHolder<BaseQuickAdapter, BaseViewHolder, AitContactItem<String>> { public class SimpleLabelViewHolder extends RecyclerViewHolder<BaseQuickAdapter, NimBaseViewHolder, AitContactItem<String>> {
private TextView textView; private TextView textView;
@@ -21,12 +21,12 @@ public class SimpleLabelViewHolder extends RecyclerViewHolder<BaseQuickAdapter,
} }
@Override @Override
public void convert(BaseViewHolder holder, AitContactItem<String> data, int position, boolean isScrolling) { public void convert(NimBaseViewHolder holder, AitContactItem<String> data, int position, boolean isScrolling) {
inflate(holder); inflate(holder);
refresh(data.getModel()); refresh(data.getModel());
} }
public void inflate(BaseViewHolder holder) { public void inflate(NimBaseViewHolder holder) {
textView = holder.getView(R.id.tv_label); textView = holder.getView(R.id.tv_label);
} }

View File

@@ -7,7 +7,7 @@ import com.netease.nim.uikit.business.ait.selector.model.AitContactItem;
import com.netease.nim.uikit.business.team.helper.TeamHelper; import com.netease.nim.uikit.business.team.helper.TeamHelper;
import com.netease.nim.uikit.common.ui.imageview.HeadImageView; import com.netease.nim.uikit.common.ui.imageview.HeadImageView;
import com.netease.nim.uikit.common.ui.recyclerview.adapter.BaseQuickAdapter; import com.netease.nim.uikit.common.ui.recyclerview.adapter.BaseQuickAdapter;
import com.netease.nim.uikit.common.ui.recyclerview.holder.BaseViewHolder; import com.netease.nim.uikit.common.ui.recyclerview.holder.NimBaseViewHolder;
import com.netease.nim.uikit.common.ui.recyclerview.holder.RecyclerViewHolder; import com.netease.nim.uikit.common.ui.recyclerview.holder.RecyclerViewHolder;
import com.netease.nimlib.sdk.team.model.TeamMember; import com.netease.nimlib.sdk.team.model.TeamMember;
@@ -15,7 +15,7 @@ import com.netease.nimlib.sdk.team.model.TeamMember;
* Created by hzchenkang on 2017/6/21. * Created by hzchenkang on 2017/6/21.
*/ */
public class TeamMemberViewHolder extends RecyclerViewHolder<BaseQuickAdapter, BaseViewHolder, AitContactItem<TeamMember>> { public class TeamMemberViewHolder extends RecyclerViewHolder<BaseQuickAdapter, NimBaseViewHolder, AitContactItem<TeamMember>> {
private HeadImageView headImageView; private HeadImageView headImageView;
@@ -26,12 +26,12 @@ public class TeamMemberViewHolder extends RecyclerViewHolder<BaseQuickAdapter, B
} }
@Override @Override
public void convert(BaseViewHolder holder, AitContactItem<TeamMember> data, int position, boolean isScrolling) { public void convert(NimBaseViewHolder holder, AitContactItem<TeamMember> data, int position, boolean isScrolling) {
inflate(holder); inflate(holder);
refresh(data.getModel()); refresh(data.getModel());
} }
public void inflate(BaseViewHolder holder) { public void inflate(NimBaseViewHolder holder) {
headImageView = holder.getView(R.id.imageViewHeader); headImageView = holder.getView(R.id.imageViewHeader);
nameTextView = holder.getView(R.id.textViewName); nameTextView = holder.getView(R.id.textViewName);
} }

View File

@@ -8,7 +8,7 @@ import com.netease.nim.uikit.business.chatroom.viewholder.ChatRoomMsgViewHolderB
import com.netease.nim.uikit.business.chatroom.viewholder.ChatRoomMsgViewHolderFactory; import com.netease.nim.uikit.business.chatroom.viewholder.ChatRoomMsgViewHolderFactory;
import com.netease.nim.uikit.business.session.module.Container; import com.netease.nim.uikit.business.session.module.Container;
import com.netease.nim.uikit.common.ui.recyclerview.adapter.BaseMultiItemFetchLoadAdapter; import com.netease.nim.uikit.common.ui.recyclerview.adapter.BaseMultiItemFetchLoadAdapter;
import com.netease.nim.uikit.common.ui.recyclerview.holder.BaseViewHolder; import com.netease.nim.uikit.common.ui.recyclerview.holder.NimBaseViewHolder;
import com.netease.nimlib.sdk.chatroom.model.ChatRoomMessage; import com.netease.nimlib.sdk.chatroom.model.ChatRoomMessage;
import com.netease.nimlib.sdk.msg.constant.SessionTypeEnum; import com.netease.nimlib.sdk.msg.constant.SessionTypeEnum;
import com.netease.nimlib.sdk.msg.model.IMMessage; import com.netease.nimlib.sdk.msg.model.IMMessage;
@@ -22,7 +22,7 @@ import java.util.Set;
/** /**
* Created by huangjun on 2016/12/21. * Created by huangjun on 2016/12/21.
*/ */
public class ChatRoomMsgAdapter extends BaseMultiItemFetchLoadAdapter<ChatRoomMessage, BaseViewHolder> { public class ChatRoomMsgAdapter extends BaseMultiItemFetchLoadAdapter<ChatRoomMessage, NimBaseViewHolder> {
private Map<Class<? extends ChatRoomMsgViewHolderBase>, Integer> holder2ViewType; private Map<Class<? extends ChatRoomMsgViewHolderBase>, Integer> holder2ViewType;

View File

@@ -15,7 +15,7 @@ import com.netease.nim.uikit.R;
import com.netease.nim.uikit.business.chatroom.adapter.ChatRoomMsgAdapter; import com.netease.nim.uikit.business.chatroom.adapter.ChatRoomMsgAdapter;
import com.netease.nim.uikit.common.ui.imageview.HeadImageView; import com.netease.nim.uikit.common.ui.imageview.HeadImageView;
import com.netease.nim.uikit.common.ui.recyclerview.adapter.BaseMultiItemFetchLoadAdapter; import com.netease.nim.uikit.common.ui.recyclerview.adapter.BaseMultiItemFetchLoadAdapter;
import com.netease.nim.uikit.common.ui.recyclerview.holder.BaseViewHolder; import com.netease.nim.uikit.common.ui.recyclerview.holder.NimBaseViewHolder;
import com.netease.nim.uikit.common.ui.recyclerview.holder.RecyclerViewHolder; import com.netease.nim.uikit.common.ui.recyclerview.holder.RecyclerViewHolder;
import com.netease.nim.uikit.common.util.sys.ScreenUtil; import com.netease.nim.uikit.common.util.sys.ScreenUtil;
import com.netease.nim.uikit.common.util.sys.TimeUtil; import com.netease.nim.uikit.common.util.sys.TimeUtil;
@@ -32,7 +32,7 @@ import com.netease.nimlib.sdk.msg.constant.MsgStatusEnum;
* 具体的消息展示项可继承该基类,然后完成具体消息内容展示即可。 * 具体的消息展示项可继承该基类,然后完成具体消息内容展示即可。
*/ */
public abstract class ChatRoomMsgViewHolderBase extends RecyclerViewHolder<BaseMultiItemFetchLoadAdapter, public abstract class ChatRoomMsgViewHolderBase extends RecyclerViewHolder<BaseMultiItemFetchLoadAdapter,
BaseViewHolder, ChatRoomMessage> { NimBaseViewHolder, ChatRoomMessage> {
public ChatRoomMsgViewHolderBase(BaseMultiItemFetchLoadAdapter adapter) { public ChatRoomMsgViewHolderBase(BaseMultiItemFetchLoadAdapter adapter) {
super(adapter); super(adapter);
@@ -76,7 +76,7 @@ public abstract class ChatRoomMsgViewHolderBase extends RecyclerViewHolder<BaseM
abstract protected void bindContentView(); abstract protected void bindContentView();
// 在该接口操作BaseViewHolder中的数据进行事件绑定可选 // 在该接口操作BaseViewHolder中的数据进行事件绑定可选
protected void bindHolder(BaseViewHolder holder) { protected void bindHolder(NimBaseViewHolder holder) {
} }
@@ -160,7 +160,7 @@ public abstract class ChatRoomMsgViewHolderBase extends RecyclerViewHolder<BaseM
/// -- 以下是基类实现代码 /// -- 以下是基类实现代码
@Override @Override
public void convert(BaseViewHolder holder, ChatRoomMessage data, int position, boolean isScrolling) { public void convert(NimBaseViewHolder holder, ChatRoomMessage data, int position, boolean isScrolling) {
view = holder.getConvertView(); view = holder.getConvertView();
context = holder.getContext(); context = holder.getContext();
message = data; message = data;

View File

@@ -8,7 +8,7 @@ import com.netease.nim.uikit.business.robot.model.RobotResponseContent;
import com.netease.nim.uikit.business.session.viewholder.robot.RobotContentLinearLayout; import com.netease.nim.uikit.business.session.viewholder.robot.RobotContentLinearLayout;
import com.netease.nim.uikit.business.session.viewholder.robot.RobotLinkViewStyle; import com.netease.nim.uikit.business.session.viewholder.robot.RobotLinkViewStyle;
import com.netease.nim.uikit.common.ui.recyclerview.adapter.BaseMultiItemFetchLoadAdapter; import com.netease.nim.uikit.common.ui.recyclerview.adapter.BaseMultiItemFetchLoadAdapter;
import com.netease.nim.uikit.common.ui.recyclerview.holder.BaseViewHolder; import com.netease.nim.uikit.common.ui.recyclerview.holder.NimBaseViewHolder;
import com.netease.nim.uikit.common.util.sys.ScreenUtil; import com.netease.nim.uikit.common.util.sys.ScreenUtil;
import com.netease.nim.uikit.impl.NimUIKitImpl; import com.netease.nim.uikit.impl.NimUIKitImpl;
import com.netease.nimlib.sdk.robot.model.NimRobotInfo; import com.netease.nimlib.sdk.robot.model.NimRobotInfo;
@@ -89,7 +89,7 @@ public class ChatRoomMsgViewHolderRobot extends ChatRoomMsgViewHolderText implem
} }
@Override @Override
protected void bindHolder(BaseViewHolder holder) { protected void bindHolder(NimBaseViewHolder holder) {
holder.getChildClickViewIds().clear(); holder.getChildClickViewIds().clear();
for (int id : onClickIds) { for (int id : onClickIds) {
holder.addOnClickListener(id); holder.addOnClickListener(id);

View File

@@ -9,7 +9,7 @@ import com.netease.nim.uikit.business.session.module.Container;
import com.netease.nim.uikit.business.session.viewholder.MsgViewHolderBase; import com.netease.nim.uikit.business.session.viewholder.MsgViewHolderBase;
import com.netease.nim.uikit.business.session.viewholder.MsgViewHolderFactory; import com.netease.nim.uikit.business.session.viewholder.MsgViewHolderFactory;
import com.netease.nim.uikit.common.ui.recyclerview.adapter.BaseMultiItemFetchLoadAdapter; import com.netease.nim.uikit.common.ui.recyclerview.adapter.BaseMultiItemFetchLoadAdapter;
import com.netease.nim.uikit.common.ui.recyclerview.holder.BaseViewHolder; import com.netease.nim.uikit.common.ui.recyclerview.holder.NimBaseViewHolder;
import com.netease.nim.uikit.impl.NimUIKitImpl; import com.netease.nim.uikit.impl.NimUIKitImpl;
import com.netease.nimlib.sdk.msg.constant.SessionTypeEnum; import com.netease.nimlib.sdk.msg.constant.SessionTypeEnum;
import com.netease.nimlib.sdk.msg.model.IMMessage; import com.netease.nimlib.sdk.msg.model.IMMessage;
@@ -24,7 +24,7 @@ import java.util.Set;
/** /**
* Created by huangjun on 2016/12/21. * Created by huangjun on 2016/12/21.
*/ */
public class MsgAdapter extends BaseMultiItemFetchLoadAdapter<IMMessage, BaseViewHolder> { public class MsgAdapter extends BaseMultiItemFetchLoadAdapter<IMMessage, NimBaseViewHolder> {
private Map<Class<? extends MsgViewHolderBase>, Integer> holder2ViewType; private Map<Class<? extends MsgViewHolderBase>, Integer> holder2ViewType;

View File

@@ -2,7 +2,6 @@ package com.netease.nim.uikit.business.session.viewholder;
import android.content.Context; import android.content.Context;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Log;
import android.view.Gravity; import android.view.Gravity;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
@@ -18,7 +17,7 @@ import com.netease.nim.uikit.business.session.module.list.MsgAdapter;
import com.netease.nim.uikit.business.team.helper.TeamHelper; import com.netease.nim.uikit.business.team.helper.TeamHelper;
import com.netease.nim.uikit.common.ui.imageview.HeadImageView; import com.netease.nim.uikit.common.ui.imageview.HeadImageView;
import com.netease.nim.uikit.common.ui.recyclerview.adapter.BaseMultiItemFetchLoadAdapter; import com.netease.nim.uikit.common.ui.recyclerview.adapter.BaseMultiItemFetchLoadAdapter;
import com.netease.nim.uikit.common.ui.recyclerview.holder.BaseViewHolder; import com.netease.nim.uikit.common.ui.recyclerview.holder.NimBaseViewHolder;
import com.netease.nim.uikit.common.ui.recyclerview.holder.RecyclerViewHolder; import com.netease.nim.uikit.common.ui.recyclerview.holder.RecyclerViewHolder;
import com.netease.nim.uikit.common.util.sys.TimeUtil; import com.netease.nim.uikit.common.util.sys.TimeUtil;
import com.netease.nim.uikit.impl.NimUIKitImpl; import com.netease.nim.uikit.impl.NimUIKitImpl;
@@ -34,7 +33,7 @@ import com.netease.nimlib.sdk.msg.model.IMMessage;
* 会话窗口消息列表项的ViewHolder基类负责每个消息项的外层框架包括头像昵称发送/接收进度条,重发按钮等。<br> * 会话窗口消息列表项的ViewHolder基类负责每个消息项的外层框架包括头像昵称发送/接收进度条,重发按钮等。<br>
* 具体的消息展示项可继承该基类,然后完成具体消息内容展示即可。 * 具体的消息展示项可继承该基类,然后完成具体消息内容展示即可。
*/ */
public abstract class MsgViewHolderBase extends RecyclerViewHolder<BaseMultiItemFetchLoadAdapter, BaseViewHolder, IMMessage> { public abstract class MsgViewHolderBase extends RecyclerViewHolder<BaseMultiItemFetchLoadAdapter, NimBaseViewHolder, IMMessage> {
public ImageView nameIconView; public ImageView nameIconView;
// basic // basic
@@ -72,7 +71,7 @@ public abstract class MsgViewHolderBase extends RecyclerViewHolder<BaseMultiItem
abstract protected void inflateContentView(); abstract protected void inflateContentView();
// 在该接口操作BaseViewHolder中的数据进行事件绑定可选 // 在该接口操作BaseViewHolder中的数据进行事件绑定可选
protected void bindHolder(BaseViewHolder holder) { protected void bindHolder(NimBaseViewHolder holder) {
} }
@@ -164,7 +163,7 @@ public abstract class MsgViewHolderBase extends RecyclerViewHolder<BaseMultiItem
/// -- 以下是基类实现代码 /// -- 以下是基类实现代码
@Override @Override
public void convert(BaseViewHolder holder, IMMessage data, int position, boolean isScrolling) { public void convert(NimBaseViewHolder holder, IMMessage data, int position, boolean isScrolling) {
view = holder.getConvertView(); view = holder.getConvertView();
context = holder.getContext(); context = holder.getContext();
message = data; message = data;

View File

@@ -7,7 +7,7 @@ import com.netease.nim.uikit.R;
import com.netease.nim.uikit.business.robot.model.RobotResponseContent; import com.netease.nim.uikit.business.robot.model.RobotResponseContent;
import com.netease.nim.uikit.business.session.viewholder.robot.RobotContentLinearLayout; import com.netease.nim.uikit.business.session.viewholder.robot.RobotContentLinearLayout;
import com.netease.nim.uikit.common.ui.recyclerview.adapter.BaseMultiItemFetchLoadAdapter; import com.netease.nim.uikit.common.ui.recyclerview.adapter.BaseMultiItemFetchLoadAdapter;
import com.netease.nim.uikit.common.ui.recyclerview.holder.BaseViewHolder; import com.netease.nim.uikit.common.ui.recyclerview.holder.NimBaseViewHolder;
import com.netease.nim.uikit.common.util.sys.ScreenUtil; import com.netease.nim.uikit.common.util.sys.ScreenUtil;
import com.netease.nim.uikit.impl.NimUIKitImpl; import com.netease.nim.uikit.impl.NimUIKitImpl;
import com.netease.nimlib.sdk.robot.model.NimRobotInfo; import com.netease.nimlib.sdk.robot.model.NimRobotInfo;
@@ -99,7 +99,7 @@ public class MsgViewHolderRobot extends MsgViewHolderText implements RobotConten
} }
@Override @Override
protected void bindHolder(BaseViewHolder holder) { protected void bindHolder(NimBaseViewHolder holder) {
holder.getChildClickViewIds().clear(); holder.getChildClickViewIds().clear();
for (int id : onClickIds) { for (int id : onClickIds) {
holder.addOnClickListener(id); holder.addOnClickListener(id);

View File

@@ -8,8 +8,8 @@ import android.view.View;
import com.netease.nim.uikit.R; import com.netease.nim.uikit.R;
import com.netease.nim.uikit.api.wrapper.NimToolBarOptions; import com.netease.nim.uikit.api.wrapper.NimToolBarOptions;
import com.netease.nim.uikit.common.ui.recyclerview.adapter.BaseQuickAdapter; import com.netease.nim.uikit.common.ui.recyclerview.adapter.BaseQuickAdapter;
import com.netease.nim.uikit.common.ui.recyclerview.decoration.DividerItemDecoration; import com.netease.nim.uikit.common.ui.recyclerview.decoration.NimDividerItemDecoration;
import com.netease.nim.uikit.common.ui.recyclerview.holder.BaseViewHolder; import com.netease.nim.uikit.common.ui.recyclerview.holder.NimBaseViewHolder;
import com.netease.nim.uikit.common.ui.recyclerview.listener.OnItemClickListener; import com.netease.nim.uikit.common.ui.recyclerview.listener.OnItemClickListener;
import java.util.List; import java.util.List;
@@ -32,7 +32,7 @@ public abstract class ListActivityBase<T> extends UI {
protected abstract int onItemResId(); protected abstract int onItemResId();
protected abstract void convertItem(BaseViewHolder helper, T item); protected abstract void convertItem(NimBaseViewHolder helper, T item);
protected abstract void onItemClick(T item); protected abstract void onItemClick(T item);
@@ -49,7 +49,7 @@ public abstract class ListActivityBase<T> extends UI {
// RecyclerView // RecyclerView
RecyclerView recyclerView = (RecyclerView) findViewById(R.id.data_list); RecyclerView recyclerView = (RecyclerView) findViewById(R.id.data_list);
recyclerView.setLayoutManager(new LinearLayoutManager(this)); recyclerView.setLayoutManager(new LinearLayoutManager(this));
recyclerView.addItemDecoration(new DividerItemDecoration(this, DividerItemDecoration.VERTICAL_LIST)); recyclerView.addItemDecoration(new NimDividerItemDecoration(this, NimDividerItemDecoration.VERTICAL_LIST));
recyclerView.addOnItemTouchListener(new OnItemClickListener<Adapter>() { recyclerView.addOnItemTouchListener(new OnItemClickListener<Adapter>() {
@Override @Override
public void onItemClick(Adapter adapter, View view, int position) { public void onItemClick(Adapter adapter, View view, int position) {
@@ -62,16 +62,16 @@ public abstract class ListActivityBase<T> extends UI {
// adapter // adapter
final List<T> data = onLoadData(); final List<T> data = onLoadData();
final BaseQuickAdapter<T, BaseViewHolder> adapter = new Adapter(recyclerView, onItemResId(), data) { final BaseQuickAdapter<T, NimBaseViewHolder> adapter = new Adapter(recyclerView, onItemResId(), data) {
@Override @Override
protected void convert(BaseViewHolder helper, T item, int position, boolean isScrolling) { protected void convert(NimBaseViewHolder helper, T item, int position, boolean isScrolling) {
convertItem(helper, item); convertItem(helper, item);
} }
}; };
recyclerView.setAdapter(adapter); recyclerView.setAdapter(adapter);
} }
abstract class Adapter extends BaseQuickAdapter<T, BaseViewHolder> { abstract class Adapter extends BaseQuickAdapter<T, NimBaseViewHolder> {
Adapter(RecyclerView recyclerView, final int layoutId, List<T> data) { Adapter(RecyclerView recyclerView, final int layoutId, List<T> data) {
super(recyclerView, layoutId, data); super(recyclerView, layoutId, data);

View File

@@ -22,7 +22,7 @@ import com.netease.nim.uikit.common.ui.recyclerview.animation.ScaleInAnimation;
import com.netease.nim.uikit.common.ui.recyclerview.animation.SlideInBottomAnimation; import com.netease.nim.uikit.common.ui.recyclerview.animation.SlideInBottomAnimation;
import com.netease.nim.uikit.common.ui.recyclerview.animation.SlideInLeftAnimation; import com.netease.nim.uikit.common.ui.recyclerview.animation.SlideInLeftAnimation;
import com.netease.nim.uikit.common.ui.recyclerview.animation.SlideInRightAnimation; import com.netease.nim.uikit.common.ui.recyclerview.animation.SlideInRightAnimation;
import com.netease.nim.uikit.common.ui.recyclerview.holder.BaseViewHolder; import com.netease.nim.uikit.common.ui.recyclerview.holder.NimBaseViewHolder;
import com.netease.nim.uikit.common.ui.recyclerview.loadmore.LoadMoreView; import com.netease.nim.uikit.common.ui.recyclerview.loadmore.LoadMoreView;
import com.netease.nim.uikit.common.ui.recyclerview.loadmore.SimpleLoadMoreView; import com.netease.nim.uikit.common.ui.recyclerview.loadmore.SimpleLoadMoreView;
import com.netease.nim.uikit.common.ui.recyclerview.util.RecyclerViewUtil; import com.netease.nim.uikit.common.ui.recyclerview.util.RecyclerViewUtil;
@@ -34,7 +34,7 @@ import java.util.List;
import static android.view.ViewGroup.LayoutParams.MATCH_PARENT; import static android.view.ViewGroup.LayoutParams.MATCH_PARENT;
public abstract class BaseFetchLoadAdapter<T, K extends BaseViewHolder> extends RecyclerView.Adapter<K> implements IRecyclerView { public abstract class BaseFetchLoadAdapter<T, K extends NimBaseViewHolder> extends RecyclerView.Adapter<K> implements IRecyclerView {
private static final String TAG = BaseFetchLoadAdapter.class.getSimpleName(); private static final String TAG = BaseFetchLoadAdapter.class.getSimpleName();
@@ -701,7 +701,7 @@ public abstract class BaseFetchLoadAdapter<T, K extends BaseViewHolder> extends
* @return new ViewHolder * @return new ViewHolder
*/ */
protected K createBaseViewHolder(View view) { protected K createBaseViewHolder(View view) {
return (K) new BaseViewHolder(view); return (K) new NimBaseViewHolder(view);
} }
protected int getDefItemViewType(int position) { protected int getDefItemViewType(int position) {

View File

@@ -10,14 +10,14 @@ import android.view.View;
import com.netease.nim.uikit.R; import com.netease.nim.uikit.R;
import com.netease.nim.uikit.common.ui.recyclerview.callback.ItemDragAndSwipeCallback; import com.netease.nim.uikit.common.ui.recyclerview.callback.ItemDragAndSwipeCallback;
import com.netease.nim.uikit.common.ui.recyclerview.holder.BaseViewHolder; import com.netease.nim.uikit.common.ui.recyclerview.holder.NimBaseViewHolder;
import com.netease.nim.uikit.common.ui.recyclerview.listener.OnItemDragListener; import com.netease.nim.uikit.common.ui.recyclerview.listener.OnItemDragListener;
import com.netease.nim.uikit.common.ui.recyclerview.listener.OnItemSwipeListener; import com.netease.nim.uikit.common.ui.recyclerview.listener.OnItemSwipeListener;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
public abstract class BaseItemDraggableAdapter<T, K extends BaseViewHolder> extends BaseQuickAdapter<T, K> { public abstract class BaseItemDraggableAdapter<T, K extends NimBaseViewHolder> extends BaseQuickAdapter<T, K> {
private static final int NO_TOGGLE_VIEW = 0; private static final int NO_TOGGLE_VIEW = 0;
protected int mToggleViewId = NO_TOGGLE_VIEW; protected int mToggleViewId = NO_TOGGLE_VIEW;
@@ -57,7 +57,7 @@ public abstract class BaseItemDraggableAdapter<T, K extends BaseViewHolder> exte
if (mItemTouchHelper != null && itemDragEnabled && viewType != LOADING_VIEW && viewType != HEADER_VIEW if (mItemTouchHelper != null && itemDragEnabled && viewType != LOADING_VIEW && viewType != HEADER_VIEW
&& viewType != EMPTY_VIEW && viewType != FOOTER_VIEW) { && viewType != EMPTY_VIEW && viewType != FOOTER_VIEW) {
if (mToggleViewId != NO_TOGGLE_VIEW) { if (mToggleViewId != NO_TOGGLE_VIEW) {
View toggleView = ((BaseViewHolder) holder).getView(mToggleViewId); View toggleView = ((NimBaseViewHolder) holder).getView(mToggleViewId);
if (toggleView != null) { if (toggleView != null) {
toggleView.setTag(R.id.BaseQuickAdapter_viewholder_support, holder); toggleView.setTag(R.id.BaseQuickAdapter_viewholder_support, holder);
if (mDragOnLongPress) { if (mDragOnLongPress) {

View File

@@ -5,7 +5,7 @@ import androidx.recyclerview.widget.RecyclerView;
import android.util.SparseArray; import android.util.SparseArray;
import android.view.ViewGroup; import android.view.ViewGroup;
import com.netease.nim.uikit.common.ui.recyclerview.holder.BaseViewHolder; import com.netease.nim.uikit.common.ui.recyclerview.holder.NimBaseViewHolder;
import com.netease.nim.uikit.common.ui.recyclerview.holder.RecyclerViewHolder; import com.netease.nim.uikit.common.ui.recyclerview.holder.RecyclerViewHolder;
import java.lang.reflect.Constructor; import java.lang.reflect.Constructor;
@@ -13,7 +13,7 @@ import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
public abstract class BaseMultiItemFetchLoadAdapter<T, K extends BaseViewHolder> extends BaseFetchLoadAdapter<T, K> { public abstract class BaseMultiItemFetchLoadAdapter<T, K extends NimBaseViewHolder> extends BaseFetchLoadAdapter<T, K> {
/** /**
* viewType->layoutResId * viewType->layoutResId

View File

@@ -5,7 +5,7 @@ import androidx.recyclerview.widget.RecyclerView;
import android.util.SparseArray; import android.util.SparseArray;
import android.view.ViewGroup; import android.view.ViewGroup;
import com.netease.nim.uikit.common.ui.recyclerview.holder.BaseViewHolder; import com.netease.nim.uikit.common.ui.recyclerview.holder.NimBaseViewHolder;
import com.netease.nim.uikit.common.ui.recyclerview.holder.RecyclerViewHolder; import com.netease.nim.uikit.common.ui.recyclerview.holder.RecyclerViewHolder;
import java.lang.reflect.Constructor; import java.lang.reflect.Constructor;
@@ -13,7 +13,7 @@ import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
public abstract class BaseMultiItemQuickAdapter<T, K extends BaseViewHolder> extends BaseQuickAdapter<T, K> { public abstract class BaseMultiItemQuickAdapter<T, K extends NimBaseViewHolder> extends BaseQuickAdapter<T, K> {
/** /**
* viewType->layoutResId * viewType->layoutResId

View File

@@ -39,7 +39,7 @@ import com.netease.nim.uikit.common.ui.recyclerview.animation.SlideInBottomAnima
import com.netease.nim.uikit.common.ui.recyclerview.animation.SlideInLeftAnimation; import com.netease.nim.uikit.common.ui.recyclerview.animation.SlideInLeftAnimation;
import com.netease.nim.uikit.common.ui.recyclerview.animation.SlideInRightAnimation; import com.netease.nim.uikit.common.ui.recyclerview.animation.SlideInRightAnimation;
import com.netease.nim.uikit.common.ui.recyclerview.entity.IExpandable; import com.netease.nim.uikit.common.ui.recyclerview.entity.IExpandable;
import com.netease.nim.uikit.common.ui.recyclerview.holder.BaseViewHolder; import com.netease.nim.uikit.common.ui.recyclerview.holder.NimBaseViewHolder;
import com.netease.nim.uikit.common.ui.recyclerview.loadmore.LoadMoreView; import com.netease.nim.uikit.common.ui.recyclerview.loadmore.LoadMoreView;
import com.netease.nim.uikit.common.ui.recyclerview.loadmore.SimpleLoadMoreView; import com.netease.nim.uikit.common.ui.recyclerview.loadmore.SimpleLoadMoreView;
import com.netease.nim.uikit.common.ui.recyclerview.util.RecyclerViewUtil; import com.netease.nim.uikit.common.ui.recyclerview.util.RecyclerViewUtil;
@@ -52,7 +52,7 @@ import java.util.List;
import static android.view.ViewGroup.LayoutParams.MATCH_PARENT; import static android.view.ViewGroup.LayoutParams.MATCH_PARENT;
import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT; import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT;
public abstract class BaseQuickAdapter<T, K extends BaseViewHolder> extends RecyclerView.Adapter<K> implements IRecyclerView { public abstract class BaseQuickAdapter<T, K extends NimBaseViewHolder> extends RecyclerView.Adapter<K> implements IRecyclerView {
private boolean isScrolling = false; private boolean isScrolling = false;
@@ -683,7 +683,7 @@ public abstract class BaseQuickAdapter<T, K extends BaseViewHolder> extends Recy
* @return new ViewHolder * @return new ViewHolder
*/ */
protected K createBaseViewHolder(View view) { protected K createBaseViewHolder(View view) {
return (K) new BaseViewHolder(view); return (K) new NimBaseViewHolder(view);
} }
/** /**

View File

@@ -4,11 +4,11 @@ import androidx.recyclerview.widget.RecyclerView;
import android.view.ViewGroup; import android.view.ViewGroup;
import com.netease.nim.uikit.common.ui.recyclerview.entity.SectionEntity; import com.netease.nim.uikit.common.ui.recyclerview.entity.SectionEntity;
import com.netease.nim.uikit.common.ui.recyclerview.holder.BaseViewHolder; import com.netease.nim.uikit.common.ui.recyclerview.holder.NimBaseViewHolder;
import java.util.List; import java.util.List;
public abstract class BaseSectionQuickAdapter<T extends SectionEntity, K extends BaseViewHolder> extends BaseQuickAdapter<T, K> { public abstract class BaseSectionQuickAdapter<T extends SectionEntity, K extends NimBaseViewHolder> extends BaseQuickAdapter<T, K> {
protected int mSectionHeadResId; protected int mSectionHeadResId;
@@ -53,6 +53,6 @@ public abstract class BaseSectionQuickAdapter<T extends SectionEntity, K extends
} }
} }
protected abstract void convertHead(BaseViewHolder helper, T item); protected abstract void convertHead(NimBaseViewHolder helper, T item);
} }

View File

@@ -13,7 +13,7 @@ import android.view.View;
* Created by hzchenkang on 2016/12/2. * Created by hzchenkang on 2016/12/2.
*/ */
public class DividerItemDecoration extends RecyclerView.ItemDecoration { public class NimDividerItemDecoration extends RecyclerView.ItemDecoration {
private static final int[] ATTRS = new int[]{ private static final int[] ATTRS = new int[]{
android.R.attr.listDivider android.R.attr.listDivider
}; };
@@ -26,7 +26,7 @@ public class DividerItemDecoration extends RecyclerView.ItemDecoration {
private int mOrientation; private int mOrientation;
public DividerItemDecoration(Context context, int orientation) { public NimDividerItemDecoration(Context context, int orientation) {
final TypedArray a = context.obtainStyledAttributes(ATTRS); final TypedArray a = context.obtainStyledAttributes(ATTRS);
mDivider = a.getDrawable(0); mDivider = a.getDrawable(0);
a.recycle(); a.recycle();

View File

@@ -40,7 +40,7 @@ import android.widget.TextView;
import java.util.HashSet; import java.util.HashSet;
import java.util.LinkedHashSet; import java.util.LinkedHashSet;
public class BaseViewHolder extends RecyclerView.ViewHolder { public class NimBaseViewHolder extends RecyclerView.ViewHolder {
/** /**
* Views indexed with their IDs * Views indexed with their IDs
@@ -59,7 +59,7 @@ public class BaseViewHolder extends RecyclerView.ViewHolder {
Object associatedObject; Object associatedObject;
public BaseViewHolder(View view) { public NimBaseViewHolder(View view) {
super(view); super(view);
this.views = new SparseArray<View>(); this.views = new SparseArray<View>();
this.childClickViewIds = new LinkedHashSet<>(); this.childClickViewIds = new LinkedHashSet<>();
@@ -87,13 +87,13 @@ public class BaseViewHolder extends RecyclerView.ViewHolder {
* @param value The text to put in the text view. * @param value The text to put in the text view.
* @return The BaseViewHolder for chaining. * @return The BaseViewHolder for chaining.
*/ */
public BaseViewHolder setText(int viewId, CharSequence value) { public NimBaseViewHolder setText(int viewId, CharSequence value) {
TextView view = getView(viewId); TextView view = getView(viewId);
view.setText(value); view.setText(value);
return this; return this;
} }
public BaseViewHolder setText(int viewId, @StringRes int strId) { public NimBaseViewHolder setText(int viewId, @StringRes int strId) {
TextView view = getView(viewId); TextView view = getView(viewId);
view.setText(strId); view.setText(strId);
return this; return this;
@@ -106,7 +106,7 @@ public class BaseViewHolder extends RecyclerView.ViewHolder {
* @param imageResId The image resource id. * @param imageResId The image resource id.
* @return The BaseViewHolder for chaining. * @return The BaseViewHolder for chaining.
*/ */
public BaseViewHolder setImageResource(int viewId, @DrawableRes int imageResId) { public NimBaseViewHolder setImageResource(int viewId, @DrawableRes int imageResId) {
ImageView view = getView(viewId); ImageView view = getView(viewId);
view.setImageResource(imageResId); view.setImageResource(imageResId);
return this; return this;
@@ -119,7 +119,7 @@ public class BaseViewHolder extends RecyclerView.ViewHolder {
* @param color A color, not a resource id. * @param color A color, not a resource id.
* @return The BaseViewHolder for chaining. * @return The BaseViewHolder for chaining.
*/ */
public BaseViewHolder setBackgroundColor(int viewId, int color) { public NimBaseViewHolder setBackgroundColor(int viewId, int color) {
View view = getView(viewId); View view = getView(viewId);
view.setBackgroundColor(color); view.setBackgroundColor(color);
return this; return this;
@@ -132,7 +132,7 @@ public class BaseViewHolder extends RecyclerView.ViewHolder {
* @param backgroundRes A resource to use as a background. * @param backgroundRes A resource to use as a background.
* @return The BaseViewHolder for chaining. * @return The BaseViewHolder for chaining.
*/ */
public BaseViewHolder setBackgroundRes(int viewId, @DrawableRes int backgroundRes) { public NimBaseViewHolder setBackgroundRes(int viewId, @DrawableRes int backgroundRes) {
View view = getView(viewId); View view = getView(viewId);
view.setBackgroundResource(backgroundRes); view.setBackgroundResource(backgroundRes);
return this; return this;
@@ -145,7 +145,7 @@ public class BaseViewHolder extends RecyclerView.ViewHolder {
* @param textColor The text color (not a resource id). * @param textColor The text color (not a resource id).
* @return The BaseViewHolder for chaining. * @return The BaseViewHolder for chaining.
*/ */
public BaseViewHolder setTextColor(int viewId, int textColor) { public NimBaseViewHolder setTextColor(int viewId, int textColor) {
TextView view = getView(viewId); TextView view = getView(viewId);
view.setTextColor(textColor); view.setTextColor(textColor);
return this; return this;
@@ -159,7 +159,7 @@ public class BaseViewHolder extends RecyclerView.ViewHolder {
* @param drawable The image drawable. * @param drawable The image drawable.
* @return The BaseViewHolder for chaining. * @return The BaseViewHolder for chaining.
*/ */
public BaseViewHolder setImageDrawable(int viewId, Drawable drawable) { public NimBaseViewHolder setImageDrawable(int viewId, Drawable drawable) {
ImageView view = getView(viewId); ImageView view = getView(viewId);
view.setImageDrawable(drawable); view.setImageDrawable(drawable);
return this; return this;
@@ -168,7 +168,7 @@ public class BaseViewHolder extends RecyclerView.ViewHolder {
/** /**
* Add an action to set the image of an image view. Can be called multiple times. * Add an action to set the image of an image view. Can be called multiple times.
*/ */
public BaseViewHolder setImageBitmap(int viewId, Bitmap bitmap) { public NimBaseViewHolder setImageBitmap(int viewId, Bitmap bitmap) {
ImageView view = getView(viewId); ImageView view = getView(viewId);
view.setImageBitmap(bitmap); view.setImageBitmap(bitmap);
return this; return this;
@@ -178,7 +178,7 @@ public class BaseViewHolder extends RecyclerView.ViewHolder {
* Add an action to set the alpha of a view. Can be called multiple times. * Add an action to set the alpha of a view. Can be called multiple times.
* Alpha between 0-1. * Alpha between 0-1.
*/ */
public BaseViewHolder setAlpha(int viewId, float value) { public NimBaseViewHolder setAlpha(int viewId, float value) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
getView(viewId).setAlpha(value); getView(viewId).setAlpha(value);
} else { } else {
@@ -198,7 +198,7 @@ public class BaseViewHolder extends RecyclerView.ViewHolder {
* @param visible True for VISIBLE, false for GONE. * @param visible True for VISIBLE, false for GONE.
* @return The BaseViewHolder for chaining. * @return The BaseViewHolder for chaining.
*/ */
public BaseViewHolder setVisible(int viewId, boolean visible) { public NimBaseViewHolder setVisible(int viewId, boolean visible) {
View view = getView(viewId); View view = getView(viewId);
view.setVisibility(visible ? View.VISIBLE : View.GONE); view.setVisibility(visible ? View.VISIBLE : View.GONE);
return this; return this;
@@ -210,7 +210,7 @@ public class BaseViewHolder extends RecyclerView.ViewHolder {
* @param viewId The id of the TextView to linkify. * @param viewId The id of the TextView to linkify.
* @return The BaseViewHolder for chaining. * @return The BaseViewHolder for chaining.
*/ */
public BaseViewHolder linkify(int viewId) { public NimBaseViewHolder linkify(int viewId) {
TextView view = getView(viewId); TextView view = getView(viewId);
Linkify.addLinks(view, Linkify.ALL); Linkify.addLinks(view, Linkify.ALL);
return this; return this;
@@ -219,7 +219,7 @@ public class BaseViewHolder extends RecyclerView.ViewHolder {
/** /**
* Apply the typeface to the given viewId, and enable subpixel rendering. * Apply the typeface to the given viewId, and enable subpixel rendering.
*/ */
public BaseViewHolder setTypeface(int viewId, Typeface typeface) { public NimBaseViewHolder setTypeface(int viewId, Typeface typeface) {
TextView view = getView(viewId); TextView view = getView(viewId);
view.setTypeface(typeface); view.setTypeface(typeface);
view.setPaintFlags(view.getPaintFlags() | Paint.SUBPIXEL_TEXT_FLAG); view.setPaintFlags(view.getPaintFlags() | Paint.SUBPIXEL_TEXT_FLAG);
@@ -229,7 +229,7 @@ public class BaseViewHolder extends RecyclerView.ViewHolder {
/** /**
* Apply the typeface to all the given viewIds, and enable subpixel rendering. * Apply the typeface to all the given viewIds, and enable subpixel rendering.
*/ */
public BaseViewHolder setTypeface(Typeface typeface, int... viewIds) { public NimBaseViewHolder setTypeface(Typeface typeface, int... viewIds) {
for (int viewId : viewIds) { for (int viewId : viewIds) {
TextView view = getView(viewId); TextView view = getView(viewId);
view.setTypeface(typeface); view.setTypeface(typeface);
@@ -245,7 +245,7 @@ public class BaseViewHolder extends RecyclerView.ViewHolder {
* @param progress The progress. * @param progress The progress.
* @return The BaseViewHolder for chaining. * @return The BaseViewHolder for chaining.
*/ */
public BaseViewHolder setProgress(int viewId, int progress) { public NimBaseViewHolder setProgress(int viewId, int progress) {
ProgressBar view = getView(viewId); ProgressBar view = getView(viewId);
view.setProgress(progress); view.setProgress(progress);
return this; return this;
@@ -259,7 +259,7 @@ public class BaseViewHolder extends RecyclerView.ViewHolder {
* @param max The max value of a ProgressBar. * @param max The max value of a ProgressBar.
* @return The BaseViewHolder for chaining. * @return The BaseViewHolder for chaining.
*/ */
public BaseViewHolder setProgress(int viewId, int progress, int max) { public NimBaseViewHolder setProgress(int viewId, int progress, int max) {
ProgressBar view = getView(viewId); ProgressBar view = getView(viewId);
view.setMax(max); view.setMax(max);
view.setProgress(progress); view.setProgress(progress);
@@ -273,7 +273,7 @@ public class BaseViewHolder extends RecyclerView.ViewHolder {
* @param max The max value of a ProgressBar. * @param max The max value of a ProgressBar.
* @return The BaseViewHolder for chaining. * @return The BaseViewHolder for chaining.
*/ */
public BaseViewHolder setMax(int viewId, int max) { public NimBaseViewHolder setMax(int viewId, int max) {
ProgressBar view = getView(viewId); ProgressBar view = getView(viewId);
view.setMax(max); view.setMax(max);
return this; return this;
@@ -286,7 +286,7 @@ public class BaseViewHolder extends RecyclerView.ViewHolder {
* @param rating The rating. * @param rating The rating.
* @return The BaseViewHolder for chaining. * @return The BaseViewHolder for chaining.
*/ */
public BaseViewHolder setRating(int viewId, float rating) { public NimBaseViewHolder setRating(int viewId, float rating) {
RatingBar view = getView(viewId); RatingBar view = getView(viewId);
view.setRating(rating); view.setRating(rating);
return this; return this;
@@ -300,7 +300,7 @@ public class BaseViewHolder extends RecyclerView.ViewHolder {
* @param max The range of the RatingBar to 0...max. * @param max The range of the RatingBar to 0...max.
* @return The BaseViewHolder for chaining. * @return The BaseViewHolder for chaining.
*/ */
public BaseViewHolder setRating(int viewId, float rating, int max) { public NimBaseViewHolder setRating(int viewId, float rating, int max) {
RatingBar view = getView(viewId); RatingBar view = getView(viewId);
view.setMax(max); view.setMax(max);
view.setRating(rating); view.setRating(rating);
@@ -315,7 +315,7 @@ public class BaseViewHolder extends RecyclerView.ViewHolder {
* @return The BaseViewHolder for chaining. * @return The BaseViewHolder for chaining.
*/ */
@Deprecated @Deprecated
public BaseViewHolder setOnClickListener(int viewId, View.OnClickListener listener) { public NimBaseViewHolder setOnClickListener(int viewId, View.OnClickListener listener) {
View view = getView(viewId); View view = getView(viewId);
view.setOnClickListener(listener); view.setOnClickListener(listener);
return this; return this;
@@ -327,7 +327,7 @@ public class BaseViewHolder extends RecyclerView.ViewHolder {
* @param viewId add the child view id can support childview click * @param viewId add the child view id can support childview click
* @return * @return
*/ */
public BaseViewHolder addOnClickListener(int viewId) { public NimBaseViewHolder addOnClickListener(int viewId) {
childClickViewIds.add(viewId); childClickViewIds.add(viewId);
return this; return this;
} }
@@ -338,7 +338,7 @@ public class BaseViewHolder extends RecyclerView.ViewHolder {
* @param viewId * @param viewId
* @return * @return
*/ */
public BaseViewHolder addOnLongClickListener(int viewId) { public NimBaseViewHolder addOnLongClickListener(int viewId) {
itemChildLongClickViewIds.add(viewId); itemChildLongClickViewIds.add(viewId);
return this; return this;
} }
@@ -351,7 +351,7 @@ public class BaseViewHolder extends RecyclerView.ViewHolder {
* @param listener The on touch listener; * @param listener The on touch listener;
* @return The BaseViewHolder for chaining. * @return The BaseViewHolder for chaining.
*/ */
public BaseViewHolder setOnTouchListener(int viewId, View.OnTouchListener listener) { public NimBaseViewHolder setOnTouchListener(int viewId, View.OnTouchListener listener) {
View view = getView(viewId); View view = getView(viewId);
view.setOnTouchListener(listener); view.setOnTouchListener(listener);
return this; return this;
@@ -364,7 +364,7 @@ public class BaseViewHolder extends RecyclerView.ViewHolder {
* @param listener The on long click listener; * @param listener The on long click listener;
* @return The BaseViewHolder for chaining. * @return The BaseViewHolder for chaining.
*/ */
public BaseViewHolder setOnLongClickListener(int viewId, View.OnLongClickListener listener) { public NimBaseViewHolder setOnLongClickListener(int viewId, View.OnLongClickListener listener) {
View view = getView(viewId); View view = getView(viewId);
view.setOnLongClickListener(listener); view.setOnLongClickListener(listener);
return this; return this;
@@ -377,7 +377,7 @@ public class BaseViewHolder extends RecyclerView.ViewHolder {
* @param listener The item on click listener; * @param listener The item on click listener;
* @return The BaseViewHolder for chaining. * @return The BaseViewHolder for chaining.
*/ */
public BaseViewHolder setOnItemClickListener(int viewId, AdapterView.OnItemClickListener listener) { public NimBaseViewHolder setOnItemClickListener(int viewId, AdapterView.OnItemClickListener listener) {
AdapterView view = getView(viewId); AdapterView view = getView(viewId);
view.setOnItemClickListener(listener); view.setOnItemClickListener(listener);
return this; return this;
@@ -390,7 +390,7 @@ public class BaseViewHolder extends RecyclerView.ViewHolder {
* @param listener The item long click listener; * @param listener The item long click listener;
* @return The BaseViewHolder for chaining. * @return The BaseViewHolder for chaining.
*/ */
public BaseViewHolder setOnItemLongClickListener(int viewId, AdapterView.OnItemLongClickListener listener) { public NimBaseViewHolder setOnItemLongClickListener(int viewId, AdapterView.OnItemLongClickListener listener) {
AdapterView view = getView(viewId); AdapterView view = getView(viewId);
view.setOnItemLongClickListener(listener); view.setOnItemLongClickListener(listener);
return this; return this;
@@ -403,7 +403,7 @@ public class BaseViewHolder extends RecyclerView.ViewHolder {
* @param listener The item selected click listener; * @param listener The item selected click listener;
* @return The BaseViewHolder for chaining. * @return The BaseViewHolder for chaining.
*/ */
public BaseViewHolder setOnItemSelectedClickListener(int viewId, AdapterView.OnItemSelectedListener listener) { public NimBaseViewHolder setOnItemSelectedClickListener(int viewId, AdapterView.OnItemSelectedListener listener) {
AdapterView view = getView(viewId); AdapterView view = getView(viewId);
view.setOnItemSelectedListener(listener); view.setOnItemSelectedListener(listener);
return this; return this;
@@ -416,7 +416,7 @@ public class BaseViewHolder extends RecyclerView.ViewHolder {
* @param listener The checked change listener of compound button. * @param listener The checked change listener of compound button.
* @return The BaseViewHolder for chaining. * @return The BaseViewHolder for chaining.
*/ */
public BaseViewHolder setOnCheckedChangeListener(int viewId, CompoundButton.OnCheckedChangeListener listener) { public NimBaseViewHolder setOnCheckedChangeListener(int viewId, CompoundButton.OnCheckedChangeListener listener) {
CompoundButton view = getView(viewId); CompoundButton view = getView(viewId);
view.setOnCheckedChangeListener(listener); view.setOnCheckedChangeListener(listener);
return this; return this;
@@ -429,7 +429,7 @@ public class BaseViewHolder extends RecyclerView.ViewHolder {
* @param tag The tag; * @param tag The tag;
* @return The BaseViewHolder for chaining. * @return The BaseViewHolder for chaining.
*/ */
public BaseViewHolder setTag(int viewId, Object tag) { public NimBaseViewHolder setTag(int viewId, Object tag) {
View view = getView(viewId); View view = getView(viewId);
view.setTag(tag); view.setTag(tag);
return this; return this;
@@ -443,7 +443,7 @@ public class BaseViewHolder extends RecyclerView.ViewHolder {
* @param tag The tag; * @param tag The tag;
* @return The BaseViewHolder for chaining. * @return The BaseViewHolder for chaining.
*/ */
public BaseViewHolder setTag(int viewId, int key, Object tag) { public NimBaseViewHolder setTag(int viewId, int key, Object tag) {
View view = getView(viewId); View view = getView(viewId);
view.setTag(key, tag); view.setTag(key, tag);
return this; return this;
@@ -456,7 +456,7 @@ public class BaseViewHolder extends RecyclerView.ViewHolder {
* @param checked The checked status; * @param checked The checked status;
* @return The BaseViewHolder for chaining. * @return The BaseViewHolder for chaining.
*/ */
public BaseViewHolder setChecked(int viewId, boolean checked) { public NimBaseViewHolder setChecked(int viewId, boolean checked) {
View view = getView(viewId); View view = getView(viewId);
// View unable cast to Checkable // View unable cast to Checkable
if (view instanceof CompoundButton) { if (view instanceof CompoundButton) {
@@ -474,7 +474,7 @@ public class BaseViewHolder extends RecyclerView.ViewHolder {
* @param adapter The adapter; * @param adapter The adapter;
* @return The BaseViewHolder for chaining. * @return The BaseViewHolder for chaining.
*/ */
public BaseViewHolder setAdapter(int viewId, Adapter adapter) { public NimBaseViewHolder setAdapter(int viewId, Adapter adapter) {
AdapterView view = getView(viewId); AdapterView view = getView(viewId);
view.setAdapter(adapter); view.setAdapter(adapter);
return this; return this;

View File

@@ -6,7 +6,7 @@ import androidx.recyclerview.widget.RecyclerView;
* Created by huangjun on 2016/12/11. * Created by huangjun on 2016/12/11.
*/ */
public abstract class RecyclerViewHolder<T extends RecyclerView.Adapter, V extends BaseViewHolder, K> { public abstract class RecyclerViewHolder<T extends RecyclerView.Adapter, V extends NimBaseViewHolder, K> {
final private T adapter; final private T adapter;
public RecyclerViewHolder(T adapter) { public RecyclerViewHolder(T adapter) {

View File

@@ -9,7 +9,7 @@ import android.view.MotionEvent;
import android.view.View; import android.view.View;
import com.netease.nim.uikit.common.ui.recyclerview.adapter.IRecyclerView; import com.netease.nim.uikit.common.ui.recyclerview.adapter.IRecyclerView;
import com.netease.nim.uikit.common.ui.recyclerview.holder.BaseViewHolder; import com.netease.nim.uikit.common.ui.recyclerview.holder.NimBaseViewHolder;
import java.util.Iterator; import java.util.Iterator;
import java.util.Set; import java.util.Set;
@@ -49,7 +49,7 @@ public abstract class SimpleClickListener<T extends IRecyclerView> implements Re
} }
if (!mGestureDetector.onTouchEvent(e) && e.getActionMasked() == MotionEvent.ACTION_UP && mIsShowPress) { if (!mGestureDetector.onTouchEvent(e) && e.getActionMasked() == MotionEvent.ACTION_UP && mIsShowPress) {
if (mPressedView != null) { if (mPressedView != null) {
BaseViewHolder vh = (BaseViewHolder) recyclerView.getChildViewHolder(mPressedView); NimBaseViewHolder vh = (NimBaseViewHolder) recyclerView.getChildViewHolder(mPressedView);
if (vh == null || vh.getItemViewType() != IRecyclerView.LOADING_VIEW || vh.getItemViewType() != IRecyclerView.FETCHING_VIEW) { if (vh == null || vh.getItemViewType() != IRecyclerView.LOADING_VIEW || vh.getItemViewType() != IRecyclerView.FETCHING_VIEW) {
mPressedView.setPressed(false); mPressedView.setPressed(false);
} }
@@ -117,7 +117,7 @@ public abstract class SimpleClickListener<T extends IRecyclerView> implements Re
if (mIsPrepressed && mPressedView != null) { if (mIsPrepressed && mPressedView != null) {
final View pressedView = mPressedView; final View pressedView = mPressedView;
BaseViewHolder vh = (BaseViewHolder) recyclerView.getChildViewHolder(pressedView); NimBaseViewHolder vh = (NimBaseViewHolder) recyclerView.getChildViewHolder(pressedView);
if (isHeaderOrFooterPosition(vh.getLayoutPosition())) { if (isHeaderOrFooterPosition(vh.getLayoutPosition())) {
return false; return false;
@@ -168,7 +168,7 @@ public abstract class SimpleClickListener<T extends IRecyclerView> implements Re
boolean isChildLongClick = false; boolean isChildLongClick = false;
if (mIsPrepressed && mPressedView != null) { if (mIsPrepressed && mPressedView != null) {
mPressedView.performHapticFeedback(HapticFeedbackConstants.LONG_PRESS); mPressedView.performHapticFeedback(HapticFeedbackConstants.LONG_PRESS);
BaseViewHolder vh = (BaseViewHolder) recyclerView.getChildViewHolder(mPressedView); NimBaseViewHolder vh = (NimBaseViewHolder) recyclerView.getChildViewHolder(mPressedView);
if (!isHeaderOrFooterPosition(vh.getLayoutPosition())) { if (!isHeaderOrFooterPosition(vh.getLayoutPosition())) {
longClickViewIds = vh.getItemChildLongClickViewIds(); longClickViewIds = vh.getItemChildLongClickViewIds();
if (longClickViewIds != null && longClickViewIds.size() > 0) { if (longClickViewIds != null && longClickViewIds.size() > 0) {

View File

@@ -4,7 +4,7 @@ import androidx.annotation.IdRes;
import androidx.annotation.LayoutRes; import androidx.annotation.LayoutRes;
import com.netease.nim.uikit.common.ui.recyclerview.adapter.BaseQuickAdapter; import com.netease.nim.uikit.common.ui.recyclerview.adapter.BaseQuickAdapter;
import com.netease.nim.uikit.common.ui.recyclerview.holder.BaseViewHolder; import com.netease.nim.uikit.common.ui.recyclerview.holder.NimBaseViewHolder;
public abstract class LoadMoreView { public abstract class LoadMoreView {
@@ -24,7 +24,7 @@ public abstract class LoadMoreView {
return mLoadMoreStatus; return mLoadMoreStatus;
} }
public void convert(BaseViewHolder holder) { public void convert(NimBaseViewHolder holder) {
switch (mLoadMoreStatus) { switch (mLoadMoreStatus) {
case STATUS_LOADING: case STATUS_LOADING:
visibleLoading(holder, true); visibleLoading(holder, true);
@@ -44,15 +44,15 @@ public abstract class LoadMoreView {
} }
} }
private void visibleLoading(BaseViewHolder holder, boolean visible) { private void visibleLoading(NimBaseViewHolder holder, boolean visible) {
holder.setVisible(getLoadingViewId(), visible); holder.setVisible(getLoadingViewId(), visible);
} }
private void visibleLoadFail(BaseViewHolder holder, boolean visible) { private void visibleLoadFail(NimBaseViewHolder holder, boolean visible) {
holder.setVisible(getLoadFailViewId(), visible); holder.setVisible(getLoadFailViewId(), visible);
} }
private void visibleLoadEnd(BaseViewHolder holder, boolean visible) { private void visibleLoadEnd(NimBaseViewHolder holder, boolean visible) {
final int loadEndViewId = getLoadEndViewId(); final int loadEndViewId = getLoadEndViewId();
if (loadEndViewId != 0) { if (loadEndViewId != 0) {
holder.setVisible(loadEndViewId, visible); holder.setVisible(loadEndViewId, visible);