diff --git a/briar-android/src/main/java/org/briarproject/briar/android/blog/RssFeedImportActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/blog/RssFeedImportActivity.java index 90b91eb14..0a3ab6994 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/blog/RssFeedImportActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/blog/RssFeedImportActivity.java @@ -29,6 +29,7 @@ import javax.inject.Inject; import static android.view.View.GONE; import static android.view.View.VISIBLE; +import static android.view.inputmethod.EditorInfo.IME_ACTION_DONE; import static java.util.logging.Level.WARNING; import static org.briarproject.bramble.util.LogUtils.logException; @@ -72,6 +73,15 @@ public class RssFeedImportActivity extends BriarActivity { enableOrDisableImportButton(); } }); + urlInput.setOnEditorActionListener((v, actionId, event) -> { + if (actionId == IME_ACTION_DONE && importButton.isEnabled() && + importButton.getVisibility() == VISIBLE) { + publish(); + hideSoftKeyboard(urlInput); + return true; + } + return false; + }); importButton = findViewById(R.id.importButton); importButton.setOnClickListener(v -> publish()); diff --git a/briar-android/src/main/java/org/briarproject/briar/android/view/EmojiTextInputView.java b/briar-android/src/main/java/org/briarproject/briar/android/view/EmojiTextInputView.java index cff9bcd0d..30f2e7079 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/view/EmojiTextInputView.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/view/EmojiTextInputView.java @@ -26,6 +26,7 @@ import javax.inject.Inject; import static android.content.Context.INPUT_METHOD_SERVICE; import static android.content.Context.LAYOUT_INFLATER_SERVICE; import static android.view.KeyEvent.KEYCODE_ENTER; +import static android.view.inputmethod.EditorInfo.IME_ACTION_SEND; import static android.view.inputmethod.InputMethodManager.SHOW_IMPLICIT; import static java.util.Objects.requireNonNull; import static org.briarproject.bramble.util.StringUtils.utf8IsTooLong; @@ -80,7 +81,15 @@ public class EmojiTextInputView extends KeyboardAwareLinearLayout implements if (maxLines > 0) editText.setMaxLines(maxLines); editText.setOnClickListener(v -> showSoftKeyboard()); editText.addTextChangedListener(this); - // support sending with Ctrl+Enter + editText.setOnEditorActionListener((v, actionId, event) -> { + if (actionId == IME_ACTION_SEND) { + listener.onSendEvent(); + hideSoftKeyboard(); + return true; + } + return false; + }); + // also support sending with Ctrl+Enter editText.setOnKeyListener((v, keyCode, event) -> { if (listener != null && keyCode == KEYCODE_ENTER && event.isCtrlPressed()) { diff --git a/briar-android/src/main/res/layout/activity_rss_feed_import.xml b/briar-android/src/main/res/layout/activity_rss_feed_import.xml index f3932c178..03714c906 100644 --- a/briar-android/src/main/res/layout/activity_rss_feed_import.xml +++ b/briar-android/src/main/res/layout/activity_rss_feed_import.xml @@ -25,6 +25,7 @@ android:background="@android:color/transparent" android:gravity="top" android:hint="@string/blogs_rss_feeds_import_hint" + android:imeOptions="actionDone" android:inputType="textUri" android:padding="@dimen/margin_medium" android:textColor="?android:attr/textColorPrimary"/> diff --git a/briar-android/src/main/res/layout/emoji_text_input_view.xml b/briar-android/src/main/res/layout/emoji_text_input_view.xml index 02c8a2867..78aa1cd0e 100644 --- a/briar-android/src/main/res/layout/emoji_text_input_view.xml +++ b/briar-android/src/main/res/layout/emoji_text_input_view.xml @@ -26,6 +26,7 @@ android:layout_height="wrap_content" android:layout_gravity="bottom" android:background="@android:color/transparent" + android:imeOptions="actionSend" android:inputType="textMultiLine|textCapSentences|textAutoCorrect" android:minHeight="@dimen/text_input_height" android:textColor="?android:attr/textColorPrimary"