fix view in chat clickable

This commit is contained in:
luvletter2333 2022-06-21 18:11:39 +08:00
parent e3fcc75eca
commit 23952a1dd5
No known key found for this signature in database
GPG Key ID: A26A8880836E1978
2 changed files with 9 additions and 2 deletions

View File

@ -370,6 +370,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
private ActionBarMenuItem editTextItem; private ActionBarMenuItem editTextItem;
private ActionBarMenuItem searchItem; private ActionBarMenuItem searchItem;
private ActionBarMenuItem searchIconItem; private ActionBarMenuItem searchIconItem;
private ActionBarMenuItem viewInChatItem;
private ActionBarMenuItem audioCallIconItem; private ActionBarMenuItem audioCallIconItem;
private boolean searchItemVisible; private boolean searchItemVisible;
private RadialProgressView progressBar; private RadialProgressView progressBar;
@ -2718,8 +2719,8 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
ActionBarMenu menu = actionBar.createMenu(); ActionBarMenu menu = actionBar.createMenu();
if (isThreadChat() && threadMessageId != 0 && isComments) { if (isThreadChat() && threadMessageId != 0) {
menu.addItem(nkbtn_view_in_chat, R.drawable.baseline_forum_24); viewInChatItem = menu.addItem(nkbtn_view_in_chat, R.drawable.baseline_forum_24, themeDelegate);
} }
if (currentEncryptedChat == null && chatMode == 0 && reportType < 0) { if (currentEncryptedChat == null && chatMode == 0 && reportType < 0) {
@ -2807,6 +2808,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
if (threadMessageId == 0 && !UserObject.isReplyUser(currentUser) || threadMessageObject != null && threadMessageObject.getRepliesCount() == 0) { if (threadMessageId == 0 && !UserObject.isReplyUser(currentUser) || threadMessageObject != null && threadMessageObject.getRepliesCount() == 0) {
searchItem.setVisibility(View.GONE); searchItem.setVisibility(View.GONE);
} }
viewInChatItem.setVisibility(View.VISIBLE);
searchItemVisible = false; searchItemVisible = false;
getMediaDataController().clearFoundMessageObjects(); getMediaDataController().clearFoundMessageObjects();
if (messagesSearchAdapter != null) { if (messagesSearchAdapter != null) {
@ -24714,6 +24716,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
audioCallIconItem.setVisibility(View.GONE); audioCallIconItem.setVisibility(View.GONE);
} }
searchItemVisible = true; searchItemVisible = true;
viewInChatItem.setVisibility(View.GONE);
updateSearchButtons(0, 0, -1); updateSearchButtons(0, 0, -1);
updateBottomOverlay(); updateBottomOverlay();
} }

View File

@ -304,6 +304,10 @@ public class ChatAvatarContainer extends FrameLayout implements NotificationCent
@Override @Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int width = MeasureSpec.getSize(widthMeasureSpec); int width = MeasureSpec.getSize(widthMeasureSpec);
if (parentFragment != null && parentFragment.isThreadChat() && parentFragment.getThreadId() != 0) {
width -= AndroidUtilities.dp(48);
// leave some width for viewInChatItem
}
int availableWidth = width - AndroidUtilities.dp((avatarImageView.getVisibility() == VISIBLE ? 54 : 0) + 16); int availableWidth = width - AndroidUtilities.dp((avatarImageView.getVisibility() == VISIBLE ? 54 : 0) + 16);
avatarImageView.measure(MeasureSpec.makeMeasureSpec(AndroidUtilities.dp(42), MeasureSpec.EXACTLY), MeasureSpec.makeMeasureSpec(AndroidUtilities.dp(42), MeasureSpec.EXACTLY)); avatarImageView.measure(MeasureSpec.makeMeasureSpec(AndroidUtilities.dp(42), MeasureSpec.EXACTLY), MeasureSpec.makeMeasureSpec(AndroidUtilities.dp(42), MeasureSpec.EXACTLY));
titleTextView.measure(MeasureSpec.makeMeasureSpec(availableWidth, MeasureSpec.AT_MOST), MeasureSpec.makeMeasureSpec(AndroidUtilities.dp(24), MeasureSpec.AT_MOST)); titleTextView.measure(MeasureSpec.makeMeasureSpec(availableWidth, MeasureSpec.AT_MOST), MeasureSpec.makeMeasureSpec(AndroidUtilities.dp(24), MeasureSpec.AT_MOST));