diff --git a/briar-android/src/main/java/org/briarproject/briar/android/view/TextInputView.java b/briar-android/src/main/java/org/briarproject/briar/android/view/TextInputView.java index bf83a61dcc2c925e4d11580d1e2364fe107093d1..06bd583e69bf2febdcb3d9c3c300830cde29e147 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/view/TextInputView.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/view/TextInputView.java @@ -28,6 +28,7 @@ import javax.annotation.Nullable; import static android.content.Context.INPUT_METHOD_SERVICE; import static android.content.Context.LAYOUT_INFLATER_SERVICE; import static android.view.KeyEvent.KEYCODE_BACK; +import static android.view.KeyEvent.KEYCODE_ENTER; import static android.view.inputmethod.InputMethodManager.SHOW_IMPLICIT; @UiThread @@ -82,16 +83,22 @@ public class TextInputView extends KeyboardAwareLinearLayout hideEmojiDrawer(); return true; } - return false; - }); - ui.sendButton.setOnClickListener(v -> { - if (listener != null) { - listener.onSendClick(ui.editText.getText().toString()); + if (keyCode == KEYCODE_ENTER && event.isCtrlPressed()) { + trySendMessage(); + return true; } + return false; }); + ui.sendButton.setOnClickListener(v -> trySendMessage()); ui.emojiDrawer.setEmojiEventListener(this); } + private void trySendMessage() { + if (listener != null) { + listener.onSendClick(ui.editText.getText().toString()); + } + } + @Override public void setVisibility(int visibility) { if (visibility == GONE && isKeyboardOpen()) {