|
@@ -63,6 +63,7 @@ import android.text.style.ClickableSpan;
|
|
|
import android.text.style.ForegroundColorSpan;
|
|
|
import android.text.style.ImageSpan;
|
|
|
import android.text.style.URLSpan;
|
|
|
+import android.util.Log;
|
|
|
import android.util.Property;
|
|
|
import android.util.SparseArray;
|
|
|
import android.util.SparseIntArray;
|
|
@@ -1048,7 +1049,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
replaceAnimator.cancel();
|
|
|
}
|
|
|
replaceProgress = 0;
|
|
|
- replaceAnimator = ValueAnimator.ofFloat(0,1f);
|
|
|
+ replaceAnimator = ValueAnimator.ofFloat(0, 1f);
|
|
|
replaceAnimator.addUpdateListener(animation -> {
|
|
|
replaceProgress = (float) animation.getAnimatedValue();
|
|
|
invalidate();
|
|
@@ -1095,10 +1096,10 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
if (textLayout != null) {
|
|
|
int lineWidth = (int) Math.ceil(textLayout.getLineWidth(0));
|
|
|
int contentWidth;
|
|
|
- if (getMeasuredWidth() == ((View)getParent()).getMeasuredWidth()) {
|
|
|
+ if (getMeasuredWidth() == ((View) getParent()).getMeasuredWidth()) {
|
|
|
contentWidth = getMeasuredWidth() - AndroidUtilities.dp(96);
|
|
|
} else {
|
|
|
- if (botInfo != null) {
|
|
|
+ if (botInfo != null) {
|
|
|
contentWidth = getMeasuredWidth();
|
|
|
} else {
|
|
|
contentWidth = lineWidth + (circleWidth > 0 ? circleWidth + AndroidUtilities.dp(8) : 0);
|
|
@@ -1360,6 +1361,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
}
|
|
|
chatListView.startMultiselect(position, false, new RecyclerListView.onMultiSelectionChanged() {
|
|
|
boolean limitReached;
|
|
|
+
|
|
|
@Override
|
|
|
public void onSelectionChanged(int position, boolean selected, float x, float y) {
|
|
|
int i = position - chatAdapter.messagesStartRow;
|
|
@@ -3432,7 +3434,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
if (backgroundColor != color) {
|
|
|
backgroundPaint.setColor(backgroundColor = color);
|
|
|
}
|
|
|
- int offset = (int) (bottomPanelTranslationY - chatActivityEnterView.getEmojiPadding()) + 3;
|
|
|
+ int offset = (int) (bottomPanelTranslationY - chatActivityEnterView.getEmojiPadding()) + 3;
|
|
|
canvas.drawRect(0, getMeasuredHeight() - offset, getMeasuredWidth(), getMeasuredHeight(), backgroundPaint);
|
|
|
setFragmentPanTranslationOffset(chatActivityEnterView.getEmojiPadding());
|
|
|
}
|
|
@@ -3698,7 +3700,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
if (backgroundColor != color) {
|
|
|
backgroundPaint.setColor(backgroundColor = color);
|
|
|
}
|
|
|
- canvas.drawRect(0,getMeasuredHeight() - fixedKeyboardHeight, getMeasuredWidth(), getMeasuredHeight(), backgroundPaint);
|
|
|
+ canvas.drawRect(0, getMeasuredHeight() - fixedKeyboardHeight, getMeasuredWidth(), getMeasuredHeight(), backgroundPaint);
|
|
|
}
|
|
|
if (pullingDownDrawable != null && pullingDownDrawable.needDrawBottomPanel()) {
|
|
|
int top, bottom;
|
|
@@ -4908,8 +4910,8 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
canvas.translate(cell.getX(), cell.getY());
|
|
|
if (cell.getScaleX() != 1f) {
|
|
|
canvas.scale(
|
|
|
- cell.getScaleX(), cell.getScaleY(),
|
|
|
- cell.getPivotX(), (cell.getHeight() >> 1)
|
|
|
+ cell.getScaleX(), cell.getScaleY(),
|
|
|
+ cell.getPivotX(), (cell.getHeight() >> 1)
|
|
|
);
|
|
|
}
|
|
|
cell.drawBackgroundInternal(canvas, true);
|
|
@@ -5020,7 +5022,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
t = chatListViewPaddingTop - chatListViewPaddingVisibleOffset - AndroidUtilities.dp(20);
|
|
|
}
|
|
|
|
|
|
- if (b > chatListView.getMeasuredHeight() + AndroidUtilities.dp(20)) {
|
|
|
+ if (b > chatListView.getMeasuredHeight() + AndroidUtilities.dp(20)) {
|
|
|
b = chatListView.getMeasuredHeight() + AndroidUtilities.dp(20);
|
|
|
}
|
|
|
|
|
@@ -5243,14 +5245,14 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
nextPosition = p - 1;
|
|
|
}
|
|
|
if (cell.willRemovedAfterAnimation()) {
|
|
|
- View view = chatScrollHelper.positionToOldView.get(nextPosition);
|
|
|
- if (view != null) {
|
|
|
- if (child.getTranslationY() != 0) {
|
|
|
- canvas.restore();
|
|
|
- }
|
|
|
- imageReceiver.setVisible(false, false);
|
|
|
- return result;
|
|
|
- }
|
|
|
+ View view = chatScrollHelper.positionToOldView.get(nextPosition);
|
|
|
+ if (view != null) {
|
|
|
+ if (child.getTranslationY() != 0) {
|
|
|
+ canvas.restore();
|
|
|
+ }
|
|
|
+ imageReceiver.setVisible(false, false);
|
|
|
+ return result;
|
|
|
+ }
|
|
|
} else {
|
|
|
ViewHolder holder = chatListView.findViewHolderForAdapterPosition(nextPosition);
|
|
|
if (holder != null) {
|
|
@@ -6049,7 +6051,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
boolean result;
|
|
|
if (child == pinnedMessageTextView[0] || child == pinnedMessageTextView[1]) {
|
|
|
canvas.save();
|
|
|
- canvas.clipRect(0,0,getMeasuredWidth() - AndroidUtilities.dp(38),getMeasuredHeight());
|
|
|
+ canvas.clipRect(0, 0, getMeasuredWidth() - AndroidUtilities.dp(38), getMeasuredHeight());
|
|
|
result = super.drawChild(canvas, child, drawingTime);
|
|
|
canvas.restore();
|
|
|
} else {
|
|
@@ -7185,7 +7187,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
}
|
|
|
messageEditTextAnimator = a;
|
|
|
a.setDuration(ChatListItemAnimator.DEFAULT_DURATION);
|
|
|
- // a.setStartDelay(chatActivityEnterViewAnimateBeforeSending ? 20 : 0);
|
|
|
+ // a.setStartDelay(chatActivityEnterViewAnimateBeforeSending ? 20 : 0);
|
|
|
a.setInterpolator(ChatListItemAnimator.DEFAULT_INTERPOLATOR);
|
|
|
a.start();
|
|
|
shouldAnimateEditTextWithBounds = false;
|
|
@@ -8104,24 +8106,24 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
// showDialog(new JoinGroupAlert(context, currentChat, null, this));
|
|
|
showBottomOverlayProgress(true, true);
|
|
|
MessagesController.getInstance(currentAccount).addUserToChat(
|
|
|
- currentChat.id,
|
|
|
- UserConfig.getInstance(currentAccount).getCurrentUser(),
|
|
|
- 0,
|
|
|
- null,
|
|
|
- null,
|
|
|
- true,
|
|
|
- () -> {
|
|
|
- showBottomOverlayProgress(false, true);
|
|
|
- },
|
|
|
- err -> {
|
|
|
- SharedPreferences preferences = MessagesController.getNotificationsSettings(currentAccount);
|
|
|
- preferences.edit().putLong("dialog_join_requested_time_" + dialog_id, System.currentTimeMillis()).commit();
|
|
|
- if (err != null && "INVITE_REQUEST_SENT".equals(err.text)) {
|
|
|
- JoinGroupAlert.showBulletin(context, this, ChatObject.isChannel(currentChat) && !currentChat.megagroup);
|
|
|
+ currentChat.id,
|
|
|
+ UserConfig.getInstance(currentAccount).getCurrentUser(),
|
|
|
+ 0,
|
|
|
+ null,
|
|
|
+ null,
|
|
|
+ true,
|
|
|
+ () -> {
|
|
|
+ showBottomOverlayProgress(false, true);
|
|
|
+ },
|
|
|
+ err -> {
|
|
|
+ SharedPreferences preferences = MessagesController.getNotificationsSettings(currentAccount);
|
|
|
+ preferences.edit().putLong("dialog_join_requested_time_" + dialog_id, System.currentTimeMillis()).commit();
|
|
|
+ if (err != null && "INVITE_REQUEST_SENT".equals(err.text)) {
|
|
|
+ JoinGroupAlert.showBulletin(context, this, ChatObject.isChannel(currentChat) && !currentChat.megagroup);
|
|
|
+ }
|
|
|
+ showBottomOverlayProgress(false, true);
|
|
|
+ return false;
|
|
|
}
|
|
|
- showBottomOverlayProgress(false, true);
|
|
|
- return false;
|
|
|
- }
|
|
|
);
|
|
|
} else {
|
|
|
if (chatInviteRunnable != null) {
|
|
@@ -8444,7 +8446,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
if (cell != null) {
|
|
|
TLRPC.MessagePeerReaction reaction = cell.getMessageObject().getRandomUnreadReaction();
|
|
|
if (reaction != null && cell.reactionsLayoutInBubble.hasUnreadReactions) {
|
|
|
- ReactionsEffectOverlay.show(ChatActivity.this, null, cell, null,0, 0, ReactionsLayoutInBubble.VisibleReaction.fromTLReaction(reaction.reaction), currentAccount, reaction.big ? ReactionsEffectOverlay.LONG_ANIMATION : ReactionsEffectOverlay.SHORT_ANIMATION);
|
|
|
+ ReactionsEffectOverlay.show(ChatActivity.this, null, cell, null, 0, 0, ReactionsLayoutInBubble.VisibleReaction.fromTLReaction(reaction.reaction), currentAccount, reaction.big ? ReactionsEffectOverlay.LONG_ANIMATION : ReactionsEffectOverlay.SHORT_ANIMATION);
|
|
|
ReactionsEffectOverlay.startAnimation();
|
|
|
}
|
|
|
cell.markReactionsAsRead();
|
|
@@ -8465,7 +8467,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
dimBehindView(enable ? 0.2f : 0, true);
|
|
|
}
|
|
|
|
|
|
- private void dimBehindView(float value, boolean hidePagedownButtons) {
|
|
|
+ private void dimBehindView(float value, boolean hidePagedownButtons) {
|
|
|
boolean enable = value > 0;
|
|
|
if (scrimView instanceof ChatMessageCell) {
|
|
|
ChatMessageCell cell = (ChatMessageCell) scrimView;
|
|
@@ -8547,11 +8549,13 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
@Override
|
|
|
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
|
|
|
super.onMeasure(
|
|
|
- View.MeasureSpec.makeMeasureSpec(Math.min(View.MeasureSpec.getSize(widthMeasureSpec), (int) (AndroidUtilities.displaySize.x * 0.45f)), View.MeasureSpec.AT_MOST),
|
|
|
- heightMeasureSpec
|
|
|
+ View.MeasureSpec.makeMeasureSpec(Math.min(View.MeasureSpec.getSize(widthMeasureSpec), (int) (AndroidUtilities.displaySize.x * 0.45f)), View.MeasureSpec.AT_MOST),
|
|
|
+ heightMeasureSpec
|
|
|
);
|
|
|
}
|
|
|
- };
|
|
|
+ }
|
|
|
+
|
|
|
+ ;
|
|
|
|
|
|
private void updatePagedownButtonsPosition() {
|
|
|
float baseTranslationY = chatActivityEnterView.getAnimatedTop() + chatActivityEnterView.getTranslationY() + (chatActivityEnterTopView.getVisibility() == View.VISIBLE ? chatActivityEnterTopView.getTranslationY() : 0);
|
|
@@ -8744,6 +8748,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
int stackIndex = getParentLayout().fragmentsStack.indexOf(this);
|
|
|
BackButtonMenu.addToPulledDialogs(this, stackIndex, currentChat, currentUser, dialog_id, dialogFilterId, dialogFolderId);
|
|
|
}
|
|
|
+
|
|
|
private void addToPulledDialogs(TLRPC.Chat chat, long dialogId, int folderId, int filterId) {
|
|
|
if (getParentLayout() == null) {
|
|
|
return;
|
|
@@ -9188,7 +9193,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
if (!inPreviewMode && chatActivityEnterView != null) {
|
|
|
if (chatActivityEnterView.getAnimatedTop() != 0) {
|
|
|
chatListViewPaddingTop += chatActivityEnterView.getHeightWithTopView() - AndroidUtilities.dp(51) - chatActivityEnterView.getAnimatedTop();
|
|
|
- } else if (!chatActivityEnterView.panelAnimationInProgress()) {
|
|
|
+ } else if (!chatActivityEnterView.panelAnimationInProgress()) {
|
|
|
chatListViewPaddingTop += chatActivityEnterView.getHeightWithTopView() - AndroidUtilities.dp(51);
|
|
|
if (chatActivityEnterView.currentTopViewAnimation == null) {
|
|
|
chatListViewPaddingTop -= chatListView.getTranslationY();
|
|
@@ -9455,7 +9460,8 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- } catch (Exception ignore) {}
|
|
|
+ } catch (Exception ignore) {
|
|
|
+ }
|
|
|
return false;
|
|
|
}
|
|
|
|
|
@@ -9893,9 +9899,11 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
public long getDialogId() {
|
|
|
return dialog_id;
|
|
|
}
|
|
|
+
|
|
|
public int getDialogFolderId() {
|
|
|
return dialogFolderId;
|
|
|
}
|
|
|
+
|
|
|
public int getDialogFilterId() {
|
|
|
return dialogFilterId;
|
|
|
}
|
|
@@ -10067,7 +10075,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
}
|
|
|
|
|
|
private void showVoiceHint(boolean hide, boolean video) {
|
|
|
- if (getParentActivity() == null || fragmentView == null || hide && voiceHintTextView == null || chatMode != 0 || chatActivityEnterView == null || chatActivityEnterView.getAudioVideoButtonContainer() == null || chatActivityEnterView.getAudioVideoButtonContainer().getVisibility() != View.VISIBLE) {
|
|
|
+ if (getParentActivity() == null || fragmentView == null || hide && voiceHintTextView == null || chatMode != 0 || chatActivityEnterView == null || chatActivityEnterView.getAudioVideoButtonContainer() == null || chatActivityEnterView.getAudioVideoButtonContainer().getVisibility() != View.VISIBLE) {
|
|
|
return;
|
|
|
}
|
|
|
if (voiceHintTextView == null) {
|
|
@@ -10077,7 +10085,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
return;
|
|
|
}
|
|
|
voiceHintTextView = new HintView(getParentActivity(), 9, themeDelegate);
|
|
|
- frameLayout.addView(voiceHintTextView, index + 1, LayoutHelper.createFrame(LayoutHelper.WRAP_CONTENT, LayoutHelper.WRAP_CONTENT, Gravity.LEFT | Gravity.TOP, 10, 0, 10, 0));
|
|
|
+ frameLayout.addView(voiceHintTextView, index + 1, LayoutHelper.createFrame(LayoutHelper.WRAP_CONTENT, LayoutHelper.WRAP_CONTENT, Gravity.LEFT | Gravity.TOP, 10, 0, 10, 0));
|
|
|
}
|
|
|
if (hide) {
|
|
|
voiceHintTextView.hide();
|
|
@@ -10923,7 +10931,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
SendMessagesHelper.getInstance(currentAccount).sendMessage(caption, dialog_id, null, null, null, true, null, null, null, true, 0, null, false);
|
|
|
caption = null;
|
|
|
}
|
|
|
- getSendMessagesHelper().sendMessage(fmessages, dialog_id, false, false,true, 0);
|
|
|
+ getSendMessagesHelper().sendMessage(fmessages, dialog_id, false, false, true, 0);
|
|
|
SendMessagesHelper.prepareSendingDocuments(getAccountInstance(), files, files, null, caption, null, dialog_id, replyingMessageObject, getThreadMessage(), null, editingMessageObject, notify, scheduleDate);
|
|
|
afterMessageSend();
|
|
|
}
|
|
@@ -11483,7 +11491,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
} else if (type == 1) {
|
|
|
replyNameTextView.setText(LocaleController.formatPluralString("PreviewForwardPhoto", messageObjectsToForward.size()));
|
|
|
if (messageObjectsToForward.size() == 1) {
|
|
|
- messageObjectToReply = messageObjectsToForward.get(0);
|
|
|
+ messageObjectToReply = messageObjectsToForward.get(0);
|
|
|
}
|
|
|
} else if (type == 4) {
|
|
|
replyNameTextView.setText(LocaleController.formatPluralString("PreviewForwardLocation", messageObjectsToForward.size()));
|
|
@@ -11893,7 +11901,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
} else {
|
|
|
MediaController.getInstance().setCurrentVideoVisible(true);
|
|
|
if (messageObject.isRoundVideo() || scrollToVideo) {
|
|
|
- // scrollToMessageId(messageObject.getId(), 0, false, 0, true, 0);
|
|
|
+ // scrollToMessageId(messageObject.getId(), 0, false, 0, true, 0);
|
|
|
} else {
|
|
|
chatListView.invalidate();
|
|
|
}
|
|
@@ -12093,7 +12101,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
if (reactionsMentionCount >= 0) {
|
|
|
TLRPC.MessagePeerReaction reaction = messageCell.getMessageObject().getRandomUnreadReaction();
|
|
|
if (reaction != null) {
|
|
|
- ReactionsLayoutInBubble.VisibleReaction visibleReaction = ReactionsLayoutInBubble.VisibleReaction.fromTLReaction(reaction.reaction);
|
|
|
+ ReactionsLayoutInBubble.VisibleReaction visibleReaction = ReactionsLayoutInBubble.VisibleReaction.fromTLReaction(reaction.reaction);
|
|
|
ReactionsEffectOverlay.show(ChatActivity.this, null, messageCell, null, 0, 0, visibleReaction, currentAccount, reaction.big ? ReactionsEffectOverlay.LONG_ANIMATION : ReactionsEffectOverlay.SHORT_ANIMATION);
|
|
|
ReactionsEffectOverlay.startAnimation();
|
|
|
}
|
|
@@ -12104,7 +12112,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
updateReactionsMentionButton(true);
|
|
|
}
|
|
|
getDownloadController().checkUnviewedDownloads(messageCell.getId(), dialog_id);
|
|
|
- boolean allowPlayEffect = ((messageObject.messageOwner.media != null && !messageObject.messageOwner.media.nopremium) || (messageObject.isAnimatedEmojiStickerSingle() && dialog_id > 0));
|
|
|
+ boolean allowPlayEffect = ((messageObject.messageOwner.media != null && !messageObject.messageOwner.media.nopremium) || (messageObject.isAnimatedEmojiStickerSingle() && dialog_id > 0));
|
|
|
if ((chatListItemAnimator == null || !chatListItemAnimator.isRunning()) && (!messageObject.isOutOwner() || messageObject.forcePlayEffect) && allowPlayEffect && !messageObject.messageOwner.premiumEffectWasPlayed && (messageObject.isPremiumSticker() || messageObject.isAnimatedEmojiStickerSingle()) && emojiAnimationsOverlay.isIdle() && emojiAnimationsOverlay.checkPosition(messageCell, chatListViewPaddingTop, chatListView.getMeasuredHeight() - blurredViewBottomOffset)) {
|
|
|
emojiAnimationsOverlay.onTapItem(messageCell, ChatActivity.this, false);
|
|
|
} else if (messageObject.isAnimatedAnimatedEmoji()) {
|
|
@@ -12449,6 +12457,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
private int getScrollOffsetForMessage(MessageObject object) {
|
|
|
return getScrollOffsetForMessage(getHeightForMessage(object));
|
|
|
}
|
|
|
+
|
|
|
private int getScrollOffsetForMessage(int messageHeight) {
|
|
|
return (int) Math.max(-AndroidUtilities.dp(2), (chatListView.getMeasuredHeight() - blurredViewBottomOffset - chatListViewPaddingTop - messageHeight) / 2);
|
|
|
}
|
|
@@ -13302,7 +13311,8 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
forwardItem.setEnabled(cantForwardMessagesCount == 0 || noforwards);
|
|
|
forwardItem.setAlpha(cantForwardMessagesCount == 0 ? 1.0f : 0.5f);
|
|
|
if (noforwards) {
|
|
|
- if (forwardItem.getBackground() != null) forwardButton.setBackground(null);
|
|
|
+ if (forwardItem.getBackground() != null)
|
|
|
+ forwardButton.setBackground(null);
|
|
|
} else if (forwardItem.getBackground() == null) {
|
|
|
forwardItem.setBackground(Theme.createSelectorDrawable(getThemedColor(Theme.key_actionBarActionModeDefaultSelector), 3));
|
|
|
}
|
|
@@ -13310,7 +13320,8 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
if (forwardButton != null) {
|
|
|
forwardButton.setEnabled(cantForwardMessagesCount == 0 || noforwards);
|
|
|
if (noforwards) {
|
|
|
- if (forwardButton.getBackground() != null) forwardButton.setBackground(null);
|
|
|
+ if (forwardButton.getBackground() != null)
|
|
|
+ forwardButton.setBackground(null);
|
|
|
} else if (forwardButton.getBackground() == null) {
|
|
|
forwardButton.setBackground(Theme.createSelectorDrawable(getThemedColor(Theme.key_actionBarActionModeDefaultSelector), 3));
|
|
|
}
|
|
@@ -13556,7 +13567,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
avatarContainer.setTitle(UserObject.getUserName(currentUser), currentUser.scam, currentUser.fake, currentUser.verified, getMessagesController().isPremiumUser(currentUser), currentUser.emoji_status, animated);
|
|
|
}
|
|
|
} else {
|
|
|
- avatarContainer.setTitle(UserObject.getUserName(currentUser), currentUser.scam, currentUser.fake, currentUser.verified, getMessagesController().isPremiumUser(currentUser), currentUser.emoji_status, animated);
|
|
|
+ avatarContainer.setTitle(UserObject.getUserName(currentUser), currentUser.scam, currentUser.fake, currentUser.verified, getMessagesController().isPremiumUser(currentUser), currentUser.emoji_status, animated);
|
|
|
}
|
|
|
}
|
|
|
setParentActivityTitle(avatarContainer.getTitleTextView().getText());
|
|
@@ -13786,6 +13797,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
}
|
|
|
return true;
|
|
|
}
|
|
|
+
|
|
|
private void sendPhotosGroup(ArrayList<MediaController.PhotoEntry> entries, boolean notify, int scheduleDate, boolean forceDocument) {
|
|
|
if (!entries.isEmpty()) {
|
|
|
ArrayList<SendMessagesHelper.SendingMediaInfo> photos = new ArrayList<>();
|
|
@@ -15534,11 +15546,11 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
Integer msgId = (Integer) args[0];
|
|
|
MessageObject obj = messagesDict[0].get(msgId);
|
|
|
if (isThreadChat() && pendingSendMessagesDict.size() > 0) {
|
|
|
- MessageObject object = pendingSendMessagesDict.get(msgId);
|
|
|
- if (object != null) {
|
|
|
- Integer newMsgId = (Integer) args[1];
|
|
|
- pendingSendMessagesDict.put(newMsgId, object);
|
|
|
- }
|
|
|
+ MessageObject object = pendingSendMessagesDict.get(msgId);
|
|
|
+ if (object != null) {
|
|
|
+ Integer newMsgId = (Integer) args[1];
|
|
|
+ pendingSendMessagesDict.put(newMsgId, object);
|
|
|
+ }
|
|
|
}
|
|
|
if (obj != null) {
|
|
|
checkChecksHint();
|
|
@@ -17062,6 +17074,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
}
|
|
|
|
|
|
private boolean sponsoredMessagesAdded;
|
|
|
+
|
|
|
private void addSponsoredMessages(boolean animated) {
|
|
|
if (sponsoredMessagesAdded || chatMode != 0 || !ChatObject.isChannel(currentChat) || !forwardEndReached[0] || getUserConfig().isPremium()) {
|
|
|
return;
|
|
@@ -17074,7 +17087,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
MessageObject messageObject = arrayList.get(i);
|
|
|
messageObject.resetLayout();
|
|
|
long dialogId = MessageObject.getPeerId(messageObject.messageOwner.from_id);
|
|
|
- int messageId = 0 ;
|
|
|
+ int messageId = 0;
|
|
|
if (messageObject.sponsoredChannelPost != 0) {
|
|
|
messageId = messageObject.sponsoredChannelPost;
|
|
|
}
|
|
@@ -18751,7 +18764,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
if (!TextUtils.isEmpty(attachMenuBotToOpen)) {
|
|
|
TLRPC.TL_contacts_resolveUsername req = new TLRPC.TL_contacts_resolveUsername();
|
|
|
req.username = attachMenuBotToOpen;
|
|
|
- getConnectionsManager().sendRequest(req, (response, error) -> AndroidUtilities.runOnUIThread(()->{
|
|
|
+ getConnectionsManager().sendRequest(req, (response, error) -> AndroidUtilities.runOnUIThread(() -> {
|
|
|
if (response != null) {
|
|
|
TLRPC.TL_contacts_resolvedPeer resolvedPeer = (TLRPC.TL_contacts_resolvedPeer) response;
|
|
|
if (!resolvedPeer.users.isEmpty()) {
|
|
@@ -18759,7 +18772,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
if (user.bot && user.bot_attach_menu) {
|
|
|
TLRPC.TL_messages_getAttachMenuBot getAttachMenuBot = new TLRPC.TL_messages_getAttachMenuBot();
|
|
|
getAttachMenuBot.bot = MessagesController.getInstance(currentAccount).getInputUser(user.id);
|
|
|
- ConnectionsManager.getInstance(currentAccount).sendRequest(getAttachMenuBot, (response1, error1) -> AndroidUtilities.runOnUIThread(()-> {
|
|
|
+ ConnectionsManager.getInstance(currentAccount).sendRequest(getAttachMenuBot, (response1, error1) -> AndroidUtilities.runOnUIThread(() -> {
|
|
|
if (response1 instanceof TLRPC.TL_attachMenuBotsBot) {
|
|
|
TLRPC.TL_attachMenuBotsBot attachMenuBotsBot = (TLRPC.TL_attachMenuBotsBot) response1;
|
|
|
MessagesController.getInstance(currentAccount).putUsers(attachMenuBotsBot.users, false);
|
|
@@ -19417,9 +19430,9 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
|
|
|
private TLRPC.KeyboardButton pinnedButton(MessageObject message) {
|
|
|
return (message != null && message.messageOwner != null && message.messageOwner.reply_markup != null &&
|
|
|
- message.messageOwner.reply_markup.rows != null && message.messageOwner.reply_markup.rows.size() == 1 &&
|
|
|
- message.messageOwner.reply_markup.rows.get(0) != null && message.messageOwner.reply_markup.rows.get(0).buttons != null &&
|
|
|
- message.messageOwner.reply_markup.rows.get(0).buttons.size() == 1 ?
|
|
|
+ message.messageOwner.reply_markup.rows != null && message.messageOwner.reply_markup.rows.size() == 1 &&
|
|
|
+ message.messageOwner.reply_markup.rows.get(0) != null && message.messageOwner.reply_markup.rows.get(0).buttons != null &&
|
|
|
+ message.messageOwner.reply_markup.rows.get(0).buttons.size() == 1 ?
|
|
|
message.messageOwner.reply_markup.rows.get(0).buttons.get(0) :
|
|
|
null
|
|
|
);
|
|
@@ -19469,6 +19482,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
ValueAnimator animator = ValueAnimator.ofFloat(pinnedMessageEnterOffset, 0);
|
|
|
animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
|
|
|
int position = -1;
|
|
|
+
|
|
|
@Override
|
|
|
public void onAnimationUpdate(ValueAnimator animation) {
|
|
|
pinnedMessageEnterOffset = (float) animation.getAnimatedValue();
|
|
@@ -19548,7 +19562,8 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
openClickableLink(null, botButton.url, true, null, buttonMessage);
|
|
|
try {
|
|
|
buttonTextView.performHapticFeedback(HapticFeedbackConstants.LONG_PRESS, HapticFeedbackConstants.FLAG_IGNORE_VIEW_SETTING);
|
|
|
- } catch (Exception ignore) {}
|
|
|
+ } catch (Exception ignore) {
|
|
|
+ }
|
|
|
return true;
|
|
|
}
|
|
|
return false;
|
|
@@ -19557,12 +19572,12 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
buttonTextView.measure(View.MeasureSpec.makeMeasureSpec(999999, View.MeasureSpec.AT_MOST), View.MeasureSpec.makeMeasureSpec(AndroidUtilities.dp(28), View.MeasureSpec.EXACTLY));
|
|
|
if (messageTextView.getLayoutParams() instanceof ViewGroup.MarginLayoutParams) {
|
|
|
((ViewGroup.MarginLayoutParams) messageTextView.getLayoutParams()).rightMargin = (
|
|
|
- (botButton == null ? AndroidUtilities.dp(44) : buttonTextView.getMeasuredWidth() + AndroidUtilities.dp(14 + 8))
|
|
|
+ (botButton == null ? AndroidUtilities.dp(44) : buttonTextView.getMeasuredWidth() + AndroidUtilities.dp(14 + 8))
|
|
|
);
|
|
|
}
|
|
|
if (nameTextView.getLayoutParams() instanceof ViewGroup.MarginLayoutParams) {
|
|
|
((ViewGroup.MarginLayoutParams) nameTextView.getLayoutParams()).rightMargin = (
|
|
|
- (botButton == null ? AndroidUtilities.dp(44) : buttonTextView.getMeasuredWidth() + AndroidUtilities.dp(14 + 8))
|
|
|
+ (botButton == null ? AndroidUtilities.dp(44) : buttonTextView.getMeasuredWidth() + AndroidUtilities.dp(14 + 8))
|
|
|
);
|
|
|
}
|
|
|
|
|
@@ -19677,8 +19692,8 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
}
|
|
|
} else {
|
|
|
if (pinnedMessageObject.isInvoice() &&
|
|
|
- pinnedMessageObject.messageOwner != null && pinnedMessageObject.messageOwner.media != null &&
|
|
|
- pinnedMessageObject.messageOwner.media.title != null) {
|
|
|
+ pinnedMessageObject.messageOwner != null && pinnedMessageObject.messageOwner.media != null &&
|
|
|
+ pinnedMessageObject.messageOwner.media.title != null) {
|
|
|
nameTextView.setTrackWidth(false);
|
|
|
nameTextView.setText(pinnedMessageObject.messageOwner.media.title);
|
|
|
shouldAnimateName = true;
|
|
@@ -19935,7 +19950,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
|
|
|
pinnedNextAnimation[1].setDuration(180 * 2);
|
|
|
// if (forceScrollToFirst && loadedPinnedMessagesCount > 5) {
|
|
|
- pinnedNextAnimation[1].setInterpolator(CubicBezierInterpolator.EASE_OUT_QUINT);
|
|
|
+ pinnedNextAnimation[1].setInterpolator(CubicBezierInterpolator.EASE_OUT_QUINT);
|
|
|
// }
|
|
|
pinnedNextAnimation[1].playTogether(animators2);
|
|
|
|
|
@@ -20085,9 +20100,11 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
}
|
|
|
|
|
|
private boolean trackWidth = true;
|
|
|
+
|
|
|
public void setTrackWidth(boolean value) {
|
|
|
this.trackWidth = value;
|
|
|
}
|
|
|
+
|
|
|
public boolean getTrackWidth() {
|
|
|
return this.trackWidth;
|
|
|
}
|
|
@@ -21375,7 +21392,8 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
for (TLRPC.TL_pollAnswer answer : poll.answers)
|
|
|
pollText.append("\n\uD83D\uDD18 ").append(answer.text);
|
|
|
messageTextToTranslate = pollText.toString();
|
|
|
- } catch (Exception e) {}
|
|
|
+ } catch (Exception e) {
|
|
|
+ }
|
|
|
}
|
|
|
if (messageTextToTranslate == null) {
|
|
|
messageTextToTranslate = getMessageContent(selectedObject, 0, false);
|
|
@@ -21835,7 +21853,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
} else {
|
|
|
isReactionsAvailable = !message.isSecretMedia() && !isSecretChat() && !isInScheduleMode() && message.isReactionsAvailable() && (chatInfo != null && !(chatInfo.available_reactions instanceof TLRPC.TL_chatReactionsNone) || (chatInfo == null && !ChatObject.isChannel(currentChat)) || currentUser != null) && !availableReacts.isEmpty();
|
|
|
}
|
|
|
- boolean showMessageSeen = !isReactionsViewAvailable && !isInScheduleMode() && currentChat != null && message.isOutOwner() && message.isSent() && !message.isEditing() && !message.isSending() && !message.isSendError() && !message.isContentUnread() && !message.isUnread() && (ConnectionsManager.getInstance(currentAccount).getCurrentTime() - message.messageOwner.date < getMessagesController().chatReadMarkExpirePeriod) && (ChatObject.isMegagroup(currentChat) || !ChatObject.isChannel(currentChat)) && chatInfo != null && chatInfo.participants_count <= getMessagesController().chatReadMarkSizeThreshold && !(message.messageOwner.action instanceof TLRPC.TL_messageActionChatJoinedByRequest) && (v instanceof ChatMessageCell);
|
|
|
+ boolean showMessageSeen = !isReactionsViewAvailable && !isInScheduleMode() && currentChat != null && message.isOutOwner() && message.isSent() && !message.isEditing() && !message.isSending() && !message.isSendError() && !message.isContentUnread() && !message.isUnread() && (ConnectionsManager.getInstance(currentAccount).getCurrentTime() - message.messageOwner.date < getMessagesController().chatReadMarkExpirePeriod) && (ChatObject.isMegagroup(currentChat) || !ChatObject.isChannel(currentChat)) && chatInfo != null && chatInfo.participants_count <= getMessagesController().chatReadMarkSizeThreshold && !(message.messageOwner.action instanceof TLRPC.TL_messageActionChatJoinedByRequest) && (v instanceof ChatMessageCell);
|
|
|
|
|
|
int flags = 0;
|
|
|
if (isReactionsViewAvailable || showMessageSeen) {
|
|
@@ -22360,29 +22378,29 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
cell.setVisibility(View.GONE);
|
|
|
waitForLangDetection.set(true);
|
|
|
LanguageDetector.detectLanguage(
|
|
|
- finalMessageText.toString(),
|
|
|
- (String lang) -> {
|
|
|
- fromLang[0] = lang;
|
|
|
- if (fromLang[0] != null && (!fromLang[0].equals(toLang) || fromLang[0].equals("und")) && (
|
|
|
- translateButtonEnabled && !RestrictedLanguagesSelectActivity.getRestrictedLanguages().contains(fromLang[0]) ||
|
|
|
- (currentChat != null && (currentChat.has_link || currentChat.username != null)) && ("uk".equals(fromLang[0]) || "ru".equals(fromLang[0]))
|
|
|
+ finalMessageText.toString(),
|
|
|
+ (String lang) -> {
|
|
|
+ fromLang[0] = lang;
|
|
|
+ if (fromLang[0] != null && (!fromLang[0].equals(toLang) || fromLang[0].equals("und")) && (
|
|
|
+ translateButtonEnabled && !RestrictedLanguagesSelectActivity.getRestrictedLanguages().contains(fromLang[0]) ||
|
|
|
+ (currentChat != null && (currentChat.has_link || currentChat.username != null)) && ("uk".equals(fromLang[0]) || "ru".equals(fromLang[0]))
|
|
|
)) {
|
|
|
- cell.setVisibility(View.VISIBLE);
|
|
|
- }
|
|
|
- waitForLangDetection.set(false);
|
|
|
- if (onLangDetectionDone.get() != null) {
|
|
|
- onLangDetectionDone.get().run();
|
|
|
- onLangDetectionDone.set(null);
|
|
|
- }
|
|
|
- },
|
|
|
- (Exception e) -> {
|
|
|
- FileLog.e("mlkit: failed to detect language in message");
|
|
|
- waitForLangDetection.set(false);
|
|
|
- if (onLangDetectionDone.get() != null) {
|
|
|
- onLangDetectionDone.get().run();
|
|
|
- onLangDetectionDone.set(null);
|
|
|
+ cell.setVisibility(View.VISIBLE);
|
|
|
+ }
|
|
|
+ waitForLangDetection.set(false);
|
|
|
+ if (onLangDetectionDone.get() != null) {
|
|
|
+ onLangDetectionDone.get().run();
|
|
|
+ onLangDetectionDone.set(null);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ (Exception e) -> {
|
|
|
+ FileLog.e("mlkit: failed to detect language in message");
|
|
|
+ waitForLangDetection.set(false);
|
|
|
+ if (onLangDetectionDone.get() != null) {
|
|
|
+ onLangDetectionDone.get().run();
|
|
|
+ onLangDetectionDone.set(null);
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
);
|
|
|
cell.setOnClickListener(e -> {
|
|
|
if (selectedObject == null || i >= options.size() || getParentActivity() == null) {
|
|
@@ -22467,7 +22485,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
reactionsLayout.setDelegate(new ReactionsContainerLayout.ReactionsContainerDelegate() {
|
|
|
@Override
|
|
|
public void onReactionClicked(View v, ReactionsLayoutInBubble.VisibleReaction visibleReaction, boolean longpress, boolean addToRecent) {
|
|
|
- selectReaction(primaryMessage, finalReactionsLayout, v,0, 0, visibleReaction,false, longpress, addToRecent);
|
|
|
+ selectReaction(primaryMessage, finalReactionsLayout, v, 0, 0, visibleReaction, false, longpress, addToRecent);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -23045,7 +23063,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
String restrictionReason = MessagesController.getRestrictionReason(messageObject.messageOwner.restriction_reason);
|
|
|
if (!TextUtils.isEmpty(restrictionReason)) {
|
|
|
str.append(restrictionReason);
|
|
|
- } else if (messageObject.caption != null){
|
|
|
+ } else if (messageObject.caption != null) {
|
|
|
str.append(messageObject.caption);
|
|
|
} else {
|
|
|
str.append(messageObject.messageText);
|
|
@@ -23144,7 +23162,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
return;
|
|
|
}
|
|
|
preserveDim = true;
|
|
|
- createDeleteMessagesAlert(selectedObject, selectedObjectGroup, 1,true);
|
|
|
+ createDeleteMessagesAlert(selectedObject, selectedObjectGroup, 1, true);
|
|
|
break;
|
|
|
}
|
|
|
case OPTION_FORWARD: {
|
|
@@ -23721,14 +23739,14 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
MessageObject message = selectedObject;
|
|
|
MessageObject.GroupedMessages group = selectedObjectGroup;
|
|
|
AlertsCreator.createScheduleDatePickerDialog(getParentActivity(), dialog_id, message.messageOwner.date, (notify, scheduleDate) -> {
|
|
|
- if (group != null && !group.messages.isEmpty()) {
|
|
|
- SendMessagesHelper.getInstance(currentAccount).editMessage(group.messages.get(0), null, false, ChatActivity.this, null, scheduleDate);
|
|
|
- } else {
|
|
|
- SendMessagesHelper.getInstance(currentAccount).editMessage(message, null, false, ChatActivity.this, null, scheduleDate);
|
|
|
- }
|
|
|
- }, null, themeDelegate)
|
|
|
- .setOnPreDismissListener(di -> dimBehindView(false))
|
|
|
- .setDimBehind(false);
|
|
|
+ if (group != null && !group.messages.isEmpty()) {
|
|
|
+ SendMessagesHelper.getInstance(currentAccount).editMessage(group.messages.get(0), null, false, ChatActivity.this, null, scheduleDate);
|
|
|
+ } else {
|
|
|
+ SendMessagesHelper.getInstance(currentAccount).editMessage(message, null, false, ChatActivity.this, null, scheduleDate);
|
|
|
+ }
|
|
|
+ }, null, themeDelegate)
|
|
|
+ .setOnPreDismissListener(di -> dimBehindView(false))
|
|
|
+ .setDimBehind(false);
|
|
|
preserveDim = true;
|
|
|
break;
|
|
|
}
|
|
@@ -23789,7 +23807,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
if (message != null) {
|
|
|
getSendMessagesHelper().sendMessage(message.toString(), did, null, null, null, true, null, null, null, true, 0, null, false);
|
|
|
}
|
|
|
- getSendMessagesHelper().sendMessage(fmessages, did, false, false,true, 0);
|
|
|
+ getSendMessagesHelper().sendMessage(fmessages, did, false, false, true, 0);
|
|
|
}
|
|
|
fragment.finishFragment();
|
|
|
if (dids.size() == 1) {
|
|
@@ -23953,7 +23971,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
for (int i = 0; i < n; i++) {
|
|
|
View child = chatListView.getChildAt(i);
|
|
|
if (child instanceof ChatMessageCell && ((ChatMessageCell) child).getMessageObject() == unreadMessageObject) {
|
|
|
- int unreadMessageIndex = messages.indexOf(unreadMessageObject);
|
|
|
+ int unreadMessageIndex = messages.indexOf(unreadMessageObject);
|
|
|
if (unreadMessageIndex >= 0) {
|
|
|
lastVisibleItem = chatAdapter.messagesStartRow + messages.indexOf(unreadMessageObject);
|
|
|
top = chatListView.getMeasuredHeight() - child.getBottom() - chatListView.getPaddingBottom();
|
|
@@ -24016,7 +24034,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
}
|
|
|
}
|
|
|
if (lastVisibleItem != RecyclerView.NO_POSITION) {
|
|
|
- // chatLayoutManager.scrollToPositionWithOffset(lastVisibleItem, top);
|
|
|
+ // chatLayoutManager.scrollToPositionWithOffset(lastVisibleItem, top);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -24318,7 +24336,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
if (originalMessage != null && originalMessage.messageOwner.reactions != null) {
|
|
|
chatActivity.threadMessageObject.messageOwner.reactions = originalMessage.messageOwner.reactions;
|
|
|
}
|
|
|
- final boolean[] chatOpened = new boolean[] { false };
|
|
|
+ final boolean[] chatOpened = new boolean[]{false};
|
|
|
Runnable openCommentsChat = () -> {
|
|
|
if (chatOpened[0] || thisCommentLoadingMessageId != commentLoadingMessageId || !isFullyVisible || isFinishing()) {
|
|
|
return;
|
|
@@ -24675,7 +24693,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
}
|
|
|
final int finalTimestamp = timestamp;
|
|
|
boolean noforwards = getMessagesController().isChatNoForwards(currentChat) || (messageObject != null && messageObject.messageOwner != null && messageObject.messageOwner.noforwards);
|
|
|
- builder.setItems(noforwards ? new CharSequence[] {LocaleController.getString("Open", R.string.Open)} : new CharSequence[]{LocaleController.getString("Open", R.string.Open), LocaleController.getString("Copy", R.string.Copy)}, (dialog, which) -> {
|
|
|
+ builder.setItems(noforwards ? new CharSequence[]{LocaleController.getString("Open", R.string.Open)} : new CharSequence[]{LocaleController.getString("Open", R.string.Open), LocaleController.getString("Copy", R.string.Copy)}, (dialog, which) -> {
|
|
|
if (which == 0) {
|
|
|
if (str.startsWith("video?")) {
|
|
|
didPressMessageUrl(url, false, messageObject, cell);
|
|
@@ -24741,7 +24759,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
if (str.startsWith("@")) {
|
|
|
String username = str.substring(1).toLowerCase();
|
|
|
if (currentChat != null && !TextUtils.isEmpty(currentChat.username) && username.equals(currentChat.username.toLowerCase()) ||
|
|
|
- currentUser != null && !TextUtils.isEmpty(currentUser.username) && username.equals(currentUser.username.toLowerCase())) {
|
|
|
+ currentUser != null && !TextUtils.isEmpty(currentUser.username) && username.equals(currentUser.username.toLowerCase())) {
|
|
|
Bundle args = new Bundle();
|
|
|
if (currentChat != null) {
|
|
|
args.putLong("chat_id", currentChat.id);
|
|
@@ -24807,6 +24825,8 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
}
|
|
|
|
|
|
private void didPressMessageUrl(CharacterStyle url, boolean longPress, MessageObject messageObject, ChatMessageCell cell) {
|
|
|
+// Log.e("didPressMessageUrl>>>>>>>>>>>>:::", "链接点击响应了");
|
|
|
+// Log.e("CharacterStyle>>>>>>>>>>>>:::", ur
|
|
|
if (url == null || getParentActivity() == null) {
|
|
|
return;
|
|
|
}
|
|
@@ -24823,6 +24843,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
TLRPC.User user = getMessagesController().getUser(Utilities.parseLong(((URLSpanUserMention) url).getURL()));
|
|
|
if (user != null) {
|
|
|
MessagesController.openChatOrProfileWith(user, null, ChatActivity.this, 0, false);
|
|
|
+// Log.e("didPressMessageUrl>>>>>>>>>>>>:::", "进入ChatActivity了");
|
|
|
}
|
|
|
if (longPress && cell != null) {
|
|
|
cell.resetPressedLink(-1);
|
|
@@ -24954,7 +24975,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
}
|
|
|
builder.setTitle(formattedUrl);
|
|
|
builder.setTitleMultipleLines(true);
|
|
|
- builder.setItems(noforwards ? new CharSequence[] {LocaleController.getString("Open", R.string.Open)} : new CharSequence[]{LocaleController.getString("Open", R.string.Open), LocaleController.getString("Copy", R.string.Copy)}, (dialog, which) -> {
|
|
|
+ builder.setItems(noforwards ? new CharSequence[]{LocaleController.getString("Open", R.string.Open)} : new CharSequence[]{LocaleController.getString("Open", R.string.Open), LocaleController.getString("Copy", R.string.Copy)}, (dialog, which) -> {
|
|
|
if (which == 0) {
|
|
|
processExternalUrl(1, urlFinal, false);
|
|
|
} else if (which == 1) {
|
|
@@ -25551,10 +25572,10 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
@Override
|
|
|
public void didPressBotButton(ChatMessageCell cell, TLRPC.KeyboardButton button) {
|
|
|
if (getParentActivity() == null || bottomOverlayChat.getVisibility() == View.VISIBLE &&
|
|
|
- !(button instanceof TLRPC.TL_keyboardButtonSwitchInline) && !(button instanceof TLRPC.TL_keyboardButtonCallback) &&
|
|
|
- !(button instanceof TLRPC.TL_keyboardButtonGame) && !(button instanceof TLRPC.TL_keyboardButtonUrl) &&
|
|
|
- !(button instanceof TLRPC.TL_keyboardButtonBuy) && !(button instanceof TLRPC.TL_keyboardButtonUrlAuth) &&
|
|
|
- !(button instanceof TLRPC.TL_keyboardButtonUserProfile)) {
|
|
|
+ !(button instanceof TLRPC.TL_keyboardButtonSwitchInline) && !(button instanceof TLRPC.TL_keyboardButtonCallback) &&
|
|
|
+ !(button instanceof TLRPC.TL_keyboardButtonGame) && !(button instanceof TLRPC.TL_keyboardButtonUrl) &&
|
|
|
+ !(button instanceof TLRPC.TL_keyboardButtonBuy) && !(button instanceof TLRPC.TL_keyboardButtonUrlAuth) &&
|
|
|
+ !(button instanceof TLRPC.TL_keyboardButtonUserProfile)) {
|
|
|
return;
|
|
|
}
|
|
|
chatActivityEnterView.didPressedBotButton(button, cell.getMessageObject(), cell.getMessageObject());
|
|
@@ -25568,17 +25589,18 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
@Override
|
|
|
public void didLongPressBotButton(ChatMessageCell cell, TLRPC.KeyboardButton button) {
|
|
|
if (getParentActivity() == null || bottomOverlayChat.getVisibility() == View.VISIBLE &&
|
|
|
- !(button instanceof TLRPC.TL_keyboardButtonSwitchInline) && !(button instanceof TLRPC.TL_keyboardButtonCallback) &&
|
|
|
- !(button instanceof TLRPC.TL_keyboardButtonGame) && !(button instanceof TLRPC.TL_keyboardButtonUrl) &&
|
|
|
- !(button instanceof TLRPC.TL_keyboardButtonBuy) && !(button instanceof TLRPC.TL_keyboardButtonUrlAuth) &&
|
|
|
- !(button instanceof TLRPC.TL_keyboardButtonUserProfile)) {
|
|
|
+ !(button instanceof TLRPC.TL_keyboardButtonSwitchInline) && !(button instanceof TLRPC.TL_keyboardButtonCallback) &&
|
|
|
+ !(button instanceof TLRPC.TL_keyboardButtonGame) && !(button instanceof TLRPC.TL_keyboardButtonUrl) &&
|
|
|
+ !(button instanceof TLRPC.TL_keyboardButtonBuy) && !(button instanceof TLRPC.TL_keyboardButtonUrlAuth) &&
|
|
|
+ !(button instanceof TLRPC.TL_keyboardButtonUserProfile)) {
|
|
|
return;
|
|
|
}
|
|
|
if (button instanceof TLRPC.TL_keyboardButtonUrl) {
|
|
|
openClickableLink(null, button.url, true, cell, cell.getMessageObject());
|
|
|
try {
|
|
|
cell.performHapticFeedback(HapticFeedbackConstants.LONG_PRESS, HapticFeedbackConstants.FLAG_IGNORE_VIEW_SETTING);
|
|
|
- } catch (Exception ignore) {}
|
|
|
+ } catch (Exception ignore) {
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -25696,7 +25718,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
}
|
|
|
int popupY;
|
|
|
if (height < totalHeight) {
|
|
|
- if (height < totalHeight / 2f && chatListView.getY() + cell.getY() + cell.reactionsLayoutInBubble.y + button.y > totalHeight / 2f) {
|
|
|
+ if (height < totalHeight / 2f && chatListView.getY() + cell.getY() + cell.reactionsLayoutInBubble.y + button.y > totalHeight / 2f) {
|
|
|
popupY = (int) (chatListView.getY() + cell.getY() + cell.reactionsLayoutInBubble.y + button.y - height);
|
|
|
} else {
|
|
|
popupY = (int) (chatListView.getY() + cell.getY() + cell.reactionsLayoutInBubble.y + button.y + button.height);
|
|
@@ -25723,7 +25745,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
}
|
|
|
} else if (reaction != null) {
|
|
|
ReactionsLayoutInBubble.VisibleReaction visibleReaction = ReactionsLayoutInBubble.VisibleReaction.fromTLReaction(reaction.reaction);
|
|
|
- selectReaction(cell.getPrimaryMessageObject(), null, null,0, 0, visibleReaction,false, false, false);
|
|
|
+ selectReaction(cell.getPrimaryMessageObject(), null, null, 0, 0, visibleReaction, false, false, false);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -26921,7 +26943,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
@Override
|
|
|
public void notifyItemMoved(int fromPosition, int toPosition) {
|
|
|
if (BuildVars.LOGS_ENABLED) {
|
|
|
- FileLog.d("notify item moved" + fromPosition + ":" + toPosition);
|
|
|
+ FileLog.d("notify item moved" + fromPosition + ":" + toPosition);
|
|
|
}
|
|
|
if (!fragmentBeginToShow) {
|
|
|
chatListView.setItemAnimator(null);
|
|
@@ -27168,7 +27190,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
}
|
|
|
scrollTo = null;
|
|
|
checkTextureViewPosition = true;
|
|
|
- // chatListView.getOnScrollListener().onScrolled(chatListView, 0, chatScrollHelper.getScrollDirection() == RecyclerAnimationScrollHelper.SCROLL_DIRECTION_DOWN ? 1 : -1);
|
|
|
+ // chatListView.getOnScrollListener().onScrolled(chatListView, 0, chatScrollHelper.getScrollDirection() == RecyclerAnimationScrollHelper.SCROLL_DIRECTION_DOWN ? 1 : -1);
|
|
|
|
|
|
updateVisibleRows();
|
|
|
|
|
@@ -28679,7 +28701,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|
|
|
|
|
MotionBackgroundDrawable motionDrawable = new MotionBackgroundDrawable();
|
|
|
motionDrawable.setPatternBitmap(chatTheme.getWallpaper(isDark ? 1 : 0).settings.intensity);
|
|
|
- motionDrawable.setColors(backgroundColor, gradientColor1, gradientColor2, gradientColor3, 0,true);
|
|
|
+ motionDrawable.setColors(backgroundColor, gradientColor1, gradientColor2, gradientColor3, 0, true);
|
|
|
motionDrawable.setPhase(prevPhase);
|
|
|
int patternColor = motionDrawable.getPatternColor();
|
|
|
final boolean isDarkTheme = isDark;
|