mirror of https://github.com/NekoX-Dev/NekoX.git
long press repeat
This commit is contained in:
parent
6054710c53
commit
b7b12d6dc5
|
@ -13972,6 +13972,18 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|||
scrimPopupWindow.dismiss();
|
||||
}
|
||||
});
|
||||
cell.setOnLongClickListener(v1 -> {
|
||||
if (selectedObject == null || i < 0 || i >= options.size()) {
|
||||
return false;
|
||||
}
|
||||
if (processSelectedOptionLongClick(options.get(i))) {
|
||||
if (scrimPopupWindow != null) {
|
||||
scrimPopupWindow.dismiss();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
});
|
||||
}
|
||||
scrollView.addView(linearLayout, LayoutHelper.createScroll(LayoutHelper.WRAP_CONTENT, LayoutHelper.WRAP_CONTENT, Gravity.LEFT | Gravity.TOP));
|
||||
scrimPopupWindow = new ActionBarPopupWindow(popupLayout, LayoutHelper.WRAP_CONTENT, LayoutHelper.WRAP_CONTENT) {
|
||||
|
@ -14843,6 +14855,38 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
|
|||
selectedObjectToEditCaption = null;
|
||||
}
|
||||
|
||||
private boolean processSelectedOptionLongClick(int option) {
|
||||
switch (option) {
|
||||
case 94: {
|
||||
ArrayList<MessageObject> messages = new ArrayList<>();
|
||||
messages.add(selectedObject);
|
||||
if (selectedObject.type == 0 || selectedObject.isAnimatedEmoji() || getMessageCaption(selectedObject, selectedObjectGroup) != null) {
|
||||
CharSequence caption = getMessageCaption(selectedObject, selectedObjectGroup);
|
||||
if (caption == null) {
|
||||
caption = getMessageContent(selectedObject, 0, false);
|
||||
}
|
||||
if (caption != null) {
|
||||
StringBuilder toSend = new StringBuilder();
|
||||
for (int i = 0; i < caption.length(); i++){
|
||||
char c = caption.charAt(i);
|
||||
if (c == '我') {
|
||||
toSend.append('你');
|
||||
} else if (c == '你') {
|
||||
toSend.append('我');
|
||||
} else {
|
||||
toSend.append(c);
|
||||
}
|
||||
}
|
||||
SendMessagesHelper.getInstance(currentAccount).sendMessage(toSend.toString(), dialog_id, selectedObject, null, false,
|
||||
null, null, null, true, 0);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void didSelectDialogs(DialogsActivity fragment, ArrayList<Long> dids, CharSequence message, boolean param) {
|
||||
if (forwardingMessage == null && selectedMessagesIds[0].size() == 0 && selectedMessagesIds[1].size() == 0) {
|
||||
|
|
Loading…
Reference in New Issue