|
|
@@ -9,11 +9,10 @@ import android.widget.FrameLayout;
|
|
|
import android.widget.ImageView;
|
|
|
import android.widget.LinearLayout;
|
|
|
import android.widget.TextView;
|
|
|
+
|
|
|
import androidx.recyclerview.widget.RecyclerView;
|
|
|
-import com.tencent.imsdk.v2.V2TIMManager;
|
|
|
+
|
|
|
import com.tencent.imsdk.v2.V2TIMMessage;
|
|
|
-import com.tencent.imsdk.v2.V2TIMUserFullInfo;
|
|
|
-import com.tencent.imsdk.v2.V2TIMValueCallback;
|
|
|
import com.tencent.qcloud.tuicore.TUIConstants;
|
|
|
import com.tencent.qcloud.tuicore.TUICore;
|
|
|
import com.tencent.qcloud.tuicore.TUIThemeManager;
|
|
|
@@ -116,7 +115,6 @@ public abstract class MessageContentHolder extends MessageBaseHolder {
|
|
|
@Override
|
|
|
public void layoutViews(final TUIMessageBean msg, final int position) {
|
|
|
super.layoutViews(msg, position);
|
|
|
-
|
|
|
if (isForwardMode || isMessageDetailMode) {
|
|
|
isShowStart = true;
|
|
|
} else {
|
|
|
@@ -190,61 +188,36 @@ public abstract class MessageContentHolder extends MessageBaseHolder {
|
|
|
}
|
|
|
|
|
|
if (onItemClickListener != null) {
|
|
|
- msgContentFrame.setOnLongClickListener(new View.OnLongClickListener() {
|
|
|
- @Override
|
|
|
- public boolean onLongClick(View v) {
|
|
|
- onItemClickListener.onMessageLongClick(msgArea, position, msg);
|
|
|
- return true;
|
|
|
- }
|
|
|
+ msgContentFrame.setOnLongClickListener(v -> {
|
|
|
+ onItemClickListener.onMessageLongClick(msgArea, position, msg);
|
|
|
+ return true;
|
|
|
});
|
|
|
|
|
|
- msgArea.setOnLongClickListener(new View.OnLongClickListener() {
|
|
|
- @Override
|
|
|
- public boolean onLongClick(View v) {
|
|
|
- onItemClickListener.onMessageLongClick(msgArea, position, msg);
|
|
|
- return true;
|
|
|
- }
|
|
|
+ msgArea.setOnLongClickListener(v -> {
|
|
|
+ onItemClickListener.onMessageLongClick(msgArea, position, msg);
|
|
|
+ return true;
|
|
|
});
|
|
|
|
|
|
- leftUserIcon.setOnClickListener(new View.OnClickListener() {
|
|
|
- @Override
|
|
|
- public void onClick(View view) {
|
|
|
- onItemClickListener.onUserIconClick(view, position, msg);
|
|
|
- }
|
|
|
- });
|
|
|
- leftUserIcon.setOnLongClickListener(new View.OnLongClickListener() {
|
|
|
- @Override
|
|
|
- public boolean onLongClick(View view) {
|
|
|
- onItemClickListener.onUserIconLongClick(view, position, msg);
|
|
|
- return true;
|
|
|
- }
|
|
|
- });
|
|
|
- rightUserIcon.setOnClickListener(new View.OnClickListener() {
|
|
|
- @Override
|
|
|
- public void onClick(View view) {
|
|
|
- onItemClickListener.onUserIconClick(view, position, msg);
|
|
|
- }
|
|
|
+ leftUserIcon.setOnClickListener(view -> onItemClickListener.onUserIconClick(view, position, msg));
|
|
|
+ leftUserIcon.setOnLongClickListener(view -> {
|
|
|
+ onItemClickListener.onUserIconLongClick(view, position, msg);
|
|
|
+ return true;
|
|
|
});
|
|
|
+ rightUserIcon.setOnClickListener(view -> onItemClickListener.onUserIconClick(view, position, msg));
|
|
|
}
|
|
|
|
|
|
if (msg.getStatus() == TUIMessageBean.MSG_STATUS_SEND_FAIL) {
|
|
|
messageStatusImage.setVisibility(View.VISIBLE);
|
|
|
|
|
|
- messageStatusImage.setOnClickListener(new View.OnClickListener() {
|
|
|
- @Override
|
|
|
- public void onClick(View v) {
|
|
|
- if (onItemClickListener != null) {
|
|
|
- onItemClickListener.onSendFailBtnClick(messageStatusImage, position, msg);
|
|
|
- }
|
|
|
+ messageStatusImage.setOnClickListener(v -> {
|
|
|
+ if (onItemClickListener != null) {
|
|
|
+ onItemClickListener.onSendFailBtnClick(messageStatusImage, position, msg);
|
|
|
}
|
|
|
});
|
|
|
} else {
|
|
|
- msgContentFrame.setOnClickListener(new View.OnClickListener() {
|
|
|
- @Override
|
|
|
- public void onClick(View v) {
|
|
|
- if (onItemClickListener != null) {
|
|
|
- onItemClickListener.onMessageClick(msgContentFrame, position, msg);
|
|
|
- }
|
|
|
+ msgContentFrame.setOnClickListener(v -> {
|
|
|
+ if (onItemClickListener != null) {
|
|
|
+ onItemClickListener.onMessageClick(msgContentFrame, position, msg);
|
|
|
}
|
|
|
});
|
|
|
messageStatusImage.setVisibility(View.GONE);
|
|
|
@@ -309,7 +282,6 @@ public abstract class MessageContentHolder extends MessageBaseHolder {
|
|
|
param.put(TUIConstants.TUIChat.MESSAGE_BEAN, msg);
|
|
|
param.put(TUIConstants.TUIChat.CHAT_RECYCLER_VIEW, recyclerView);
|
|
|
param.put(TUIConstants.TUIChat.FRAGMENT, fragment);
|
|
|
-
|
|
|
TUICore.raiseExtension(TUIConstants.TUITranslationPlugin.Extension.TranslationView.MINIMALIST_EXTENSION_ID, translationContentFrameLayout, param);
|
|
|
}
|
|
|
|
|
|
@@ -363,7 +335,7 @@ public abstract class MessageContentHolder extends MessageBaseHolder {
|
|
|
// rightUserIcon.setIconUrls(null);
|
|
|
// leftUserIcon.setIconUrls(null);
|
|
|
// }
|
|
|
- if(!TextUtils.isEmpty(faceUrl)) {
|
|
|
+ if (!TextUtils.isEmpty(faceUrl)) {
|
|
|
List<Object> urllist = new ArrayList<>();
|
|
|
urllist.add(faceUrl);
|
|
|
if (right) {
|
|
|
@@ -371,6 +343,12 @@ public abstract class MessageContentHolder extends MessageBaseHolder {
|
|
|
} else {
|
|
|
leftUserIcon.setIconUrls(urllist);
|
|
|
}
|
|
|
+ } else {
|
|
|
+ if (right) {
|
|
|
+ rightUserIcon.setIconUrls(null);
|
|
|
+ } else {
|
|
|
+ leftUserIcon.setIconUrls(null);
|
|
|
+ }
|
|
|
}
|
|
|
if (isShowSelfAvatar) {
|
|
|
rightUserIcon.setVisibility(View.VISIBLE);
|
|
|
@@ -439,7 +417,8 @@ public abstract class MessageContentHolder extends MessageBaseHolder {
|
|
|
optimizeMessageContent(isShowAvatar);
|
|
|
}
|
|
|
|
|
|
- protected void optimizeMessageContent(boolean isShowAvatar) {}
|
|
|
+ protected void optimizeMessageContent(boolean isShowAvatar) {
|
|
|
+ }
|
|
|
|
|
|
private void setMessageGravity(TUIMessageBean messageBean) {
|
|
|
if (isForwardMode || isMessageDetailMode) {
|
|
|
@@ -463,9 +442,9 @@ public abstract class MessageContentHolder extends MessageBaseHolder {
|
|
|
rightUserIcon.setDefaultImageResId(properties.getAvatar());
|
|
|
} else {
|
|
|
leftUserIcon.setDefaultImageResId(
|
|
|
- TUIThemeManager.getAttrResId(leftUserIcon.getContext(), com.tencent.qcloud.tuikit.timcommon.R.attr.core_default_user_icon));
|
|
|
+ TUIThemeManager.getAttrResId(leftUserIcon.getContext(), com.tencent.qcloud.tuikit.timcommon.R.attr.core_default_user_icon));
|
|
|
rightUserIcon.setDefaultImageResId(
|
|
|
- TUIThemeManager.getAttrResId(rightUserIcon.getContext(), com.tencent.qcloud.tuikit.timcommon.R.attr.core_default_user_icon));
|
|
|
+ TUIThemeManager.getAttrResId(rightUserIcon.getContext(), com.tencent.qcloud.tuikit.timcommon.R.attr.core_default_user_icon));
|
|
|
}
|
|
|
if (properties.getAvatarRadius() != 0) {
|
|
|
leftUserIcon.setRadius(properties.getAvatarRadius());
|
|
|
@@ -560,12 +539,9 @@ public abstract class MessageContentHolder extends MessageBaseHolder {
|
|
|
extraInfoArea.setVisibility(View.VISIBLE);
|
|
|
replyPreviewView.setVisibility(View.VISIBLE);
|
|
|
replyPreviewView.setMessageRepliesBean(messageRepliesBean);
|
|
|
- replyPreviewView.setOnClickListener(new View.OnClickListener() {
|
|
|
- @Override
|
|
|
- public void onClick(View v) {
|
|
|
- if (onItemClickListener != null) {
|
|
|
- onItemClickListener.onReplyDetailClick(messageBean);
|
|
|
- }
|
|
|
+ replyPreviewView.setOnClickListener(v -> {
|
|
|
+ if (onItemClickListener != null) {
|
|
|
+ onItemClickListener.onReplyDetailClick(messageBean);
|
|
|
}
|
|
|
});
|
|
|
} else {
|
|
|
@@ -578,22 +554,16 @@ public abstract class MessageContentHolder extends MessageBaseHolder {
|
|
|
if (messageReactBean != null && messageReactBean.getReactSize() > 0) {
|
|
|
reactView.setVisibility(View.VISIBLE);
|
|
|
reactView.setData(messageReactBean);
|
|
|
- reactView.setOnLongClickListener(new View.OnLongClickListener() {
|
|
|
- @Override
|
|
|
- public boolean onLongClick(View v) {
|
|
|
- if (onItemClickListener != null) {
|
|
|
- onItemClickListener.onMessageLongClick(msgArea, 0, messageBean);
|
|
|
- }
|
|
|
- return true;
|
|
|
+ reactView.setOnLongClickListener(v -> {
|
|
|
+ if (onItemClickListener != null) {
|
|
|
+ onItemClickListener.onMessageLongClick(msgArea, 0, messageBean);
|
|
|
}
|
|
|
+ return true;
|
|
|
});
|
|
|
|
|
|
- reactView.setOnClickListener(new View.OnClickListener() {
|
|
|
- @Override
|
|
|
- public void onClick(View v) {
|
|
|
- if (onItemClickListener != null) {
|
|
|
- onItemClickListener.onReactOnClick(null, messageBean);
|
|
|
- }
|
|
|
+ reactView.setOnClickListener(v -> {
|
|
|
+ if (onItemClickListener != null) {
|
|
|
+ onItemClickListener.onReactOnClick(null, messageBean);
|
|
|
}
|
|
|
});
|
|
|
|
|
|
@@ -630,42 +600,34 @@ public abstract class MessageContentHolder extends MessageBaseHolder {
|
|
|
private void setShowReadStatusClickListener(TUIMessageBean messageBean) {
|
|
|
if (timeInLineTextLayout != null) {
|
|
|
if (messageBean.isSelf()) {
|
|
|
- timeInLineTextLayout.setOnStatusAreaClickListener(new View.OnClickListener() {
|
|
|
- @Override
|
|
|
- public void onClick(View v) {
|
|
|
- if (onItemClickListener != null) {
|
|
|
- onItemClickListener.onMessageReadStatusClick(v, messageBean);
|
|
|
- }
|
|
|
+ timeInLineTextLayout.setOnStatusAreaClickListener(v -> {
|
|
|
+ if (onItemClickListener != null) {
|
|
|
+ onItemClickListener.onMessageReadStatusClick(v, messageBean);
|
|
|
}
|
|
|
});
|
|
|
} else {
|
|
|
timeInLineTextLayout.setOnStatusAreaClickListener(null);
|
|
|
}
|
|
|
- timeInLineTextLayout.setOnStatusAreaLongClickListener(new View.OnLongClickListener() {
|
|
|
- @Override
|
|
|
- public boolean onLongClick(View v) {
|
|
|
- if (onItemClickListener != null) {
|
|
|
- onItemClickListener.onMessageLongClick(msgArea, 0, messageBean);
|
|
|
- }
|
|
|
- return true;
|
|
|
+ timeInLineTextLayout.setOnStatusAreaLongClickListener(v -> {
|
|
|
+ if (onItemClickListener != null) {
|
|
|
+ onItemClickListener.onMessageLongClick(msgArea, 0, messageBean);
|
|
|
}
|
|
|
+ return true;
|
|
|
});
|
|
|
|
|
|
- timeInLineTextLayout.setOnLongClickListener(new View.OnLongClickListener() {
|
|
|
- @Override
|
|
|
- public boolean onLongClick(View v) {
|
|
|
- if (onItemClickListener != null) {
|
|
|
- onItemClickListener.onMessageLongClick(msgArea, 0, messageBean);
|
|
|
- }
|
|
|
- return true;
|
|
|
+ timeInLineTextLayout.setOnLongClickListener(v -> {
|
|
|
+ if (onItemClickListener != null) {
|
|
|
+ onItemClickListener.onMessageLongClick(msgArea, 0, messageBean);
|
|
|
}
|
|
|
+ return true;
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
|
|
|
public abstract void layoutVariableViews(final TUIMessageBean msg, final int position);
|
|
|
|
|
|
- public void onRecycled() {}
|
|
|
+ public void onRecycled() {
|
|
|
+ }
|
|
|
|
|
|
public void setNeedShowTranslation(boolean needShowTranslation) {
|
|
|
isNeedShowTranslation = needShowTranslation;
|