Skip to content

Commit b393cc3

Browse files
authored
Merge pull request #474 from orange-elephant/enter-to-send
Add option to send on enter pressed
2 parents bf74f4d + 2794160 commit b393cc3

File tree

50 files changed

+98
-2
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+98
-2
lines changed

app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/SettingsActivity.kt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ class SettingsActivity : SimpleActivity() {
3838
setupFontSize()
3939
setupShowCharacterCounter()
4040
setupUseSimpleCharacters()
41+
setupSendOnEnter()
4142
setupEnableDeliveryReports()
4243
setupSendLongMessageAsMMS()
4344
setupGroupMessageAsMMS()
@@ -174,6 +175,14 @@ class SettingsActivity : SimpleActivity() {
174175
}
175176
}
176177

178+
private fun setupSendOnEnter() {
179+
settings_send_on_enter.isChecked = config.sendOnEnter
180+
settings_send_on_enter_holder.setOnClickListener {
181+
settings_send_on_enter.toggle()
182+
config.sendOnEnter = settings_send_on_enter.isChecked
183+
}
184+
}
185+
177186
private fun setupEnableDeliveryReports() {
178187
settings_enable_delivery_reports.isChecked = config.enableDeliveryReports
179188
settings_enable_delivery_reports_holder.setOnClickListener {

app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/ThreadActivity.kt

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import android.text.format.DateUtils.FORMAT_SHOW_DATE
2424
import android.text.format.DateUtils.FORMAT_SHOW_TIME
2525
import android.util.TypedValue
2626
import android.view.Gravity
27+
import android.view.KeyEvent
2728
import android.view.View
2829
import android.view.WindowManager
2930
import android.view.animation.OvershootInterpolator
@@ -461,6 +462,26 @@ class ThreadActivity : SimpleActivity() {
461462
val messageLength = SmsMessage.calculateLength(messageString, false)
462463
thread_character_counter.text = "${messageLength[2]}/${messageLength[0]}"
463464
}
465+
466+
if (config.sendOnEnter) {
467+
thread_type_message.inputType = EditorInfo.TYPE_TEXT_FLAG_CAP_SENTENCES
468+
thread_type_message.imeOptions = EditorInfo.IME_ACTION_SEND
469+
470+
thread_type_message.setOnEditorActionListener { _, action, _ ->
471+
if (action == EditorInfo.IME_ACTION_SEND) {
472+
dispatchKeyEvent(KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_ENTER))
473+
return@setOnEditorActionListener true
474+
}
475+
false
476+
}
477+
thread_type_message.setOnKeyListener { _, keyCode, event ->
478+
if (keyCode == KeyEvent.KEYCODE_ENTER && event.action == KeyEvent.ACTION_UP) {
479+
sendMessage()
480+
return@setOnKeyListener true
481+
}
482+
false
483+
}
484+
}
464485

465486
confirm_manage_contacts.setOnClickListener {
466487
hideKeyboard()

app/src/main/kotlin/com/simplemobiletools/smsmessenger/helpers/Config.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,10 @@ class Config(context: Context) : BaseConfig(context) {
2424
get() = prefs.getBoolean(USE_SIMPLE_CHARACTERS, false)
2525
set(useSimpleCharacters) = prefs.edit().putBoolean(USE_SIMPLE_CHARACTERS, useSimpleCharacters).apply()
2626

27+
var sendOnEnter: Boolean
28+
get() = prefs.getBoolean(SEND_ON_ENTER, false)
29+
set(sendOnEnter) = prefs.edit().putBoolean(SEND_ON_ENTER, sendOnEnter).apply()
30+
2731
var enableDeliveryReports: Boolean
2832
get() = prefs.getBoolean(ENABLE_DELIVERY_REPORTS, false)
2933
set(enableDeliveryReports) = prefs.edit().putBoolean(ENABLE_DELIVERY_REPORTS, enableDeliveryReports).apply()

app/src/main/kotlin/com/simplemobiletools/smsmessenger/helpers/Constants.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ const val USE_SIM_ID_PREFIX = "use_sim_id_"
1414
const val NOTIFICATION_CHANNEL = "simple_sms_messenger"
1515
const val SHOW_CHARACTER_COUNTER = "show_character_counter"
1616
const val USE_SIMPLE_CHARACTERS = "use_simple_characters"
17+
const val SEND_ON_ENTER = "send_on_enter"
1718
const val LOCK_SCREEN_VISIBILITY = "lock_screen_visibility"
1819
const val ENABLE_DELIVERY_REPORTS = "enable_delivery_reports"
1920
const val SEND_LONG_MESSAGE_MMS = "send_long_message_mms"

app/src/main/res/layout/activity_settings.xml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -298,6 +298,22 @@
298298

299299
</RelativeLayout>
300300

301+
<RelativeLayout
302+
android:id="@+id/settings_send_on_enter_holder"
303+
style="@style/SettingsHolderCheckboxStyle"
304+
android:layout_width="match_parent"
305+
android:layout_height="wrap_content"
306+
android:background="@drawable/ripple_background">
307+
308+
<com.simplemobiletools.commons.views.MyAppCompatCheckbox
309+
android:id="@+id/settings_send_on_enter"
310+
style="@style/SettingsCheckboxStyle"
311+
android:layout_width="match_parent"
312+
android:layout_height="wrap_content"
313+
android:text="@string/send_on_enter" />
314+
315+
</RelativeLayout>
316+
301317
<RelativeLayout
302318
android:id="@+id/settings_enable_delivery_reports_holder"
303319
style="@style/SettingsHolderCheckboxStyle"

app/src/main/res/values-ar/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@
7676
<string name="sender_only">المرسل فقط</string>
7777
<string name="enable_delivery_reports">تمكين تقارير التسليم</string>
7878
<string name="use_simple_characters">إزالة اللهجات والتشكيل عند إرسال الرسائل</string>
79+
<string name="send_on_enter">Send message on pressing Enter</string>
7980
<string name="mms_file_size_limit">تغيير حجم صور MMS المرسلة</string>
8081
<string name="mms_file_size_limit_none">لا يوجد حد</string>
8182
<string name="outgoing_messages">الرسائل المرسلة</string>

app/src/main/res/values-az/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@
6464
<string name="sender_only">Sender only</string>
6565
<string name="enable_delivery_reports">Enable delivery reports</string>
6666
<string name="use_simple_characters">Remove accents and diacritics at sending messages</string>
67+
<string name="send_on_enter">Send message on pressing Enter</string>
6768
<string name="mms_file_size_limit">Resize sent MMS images</string>
6869
<string name="mms_file_size_limit_none">No limit</string>
6970
<string name="outgoing_messages">Outgoing messages</string>

app/src/main/res/values-be/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@
7070
<string name="sender_only">Толькі адпраўнік</string>
7171
<string name="enable_delivery_reports">Уключыць справаздачы аб дастаўцы</string>
7272
<string name="use_simple_characters">Выдаляць націскі і дыякрытычныя знакі пры адпраўцы паведамленняў</string>
73+
<string name="send_on_enter">Send message on pressing Enter</string>
7374
<string name="mms_file_size_limit">Змяняць памер выяў, якія дасыляюцца ў MMS</string>
7475
<string name="mms_file_size_limit_none">Без абмежаванняў</string>
7576
<string name="outgoing_messages">Выходныя паведамленні</string>

app/src/main/res/values-bg/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@
6464
<string name="sender_only">Само изпращач</string>
6565
<string name="enable_delivery_reports">Включи отчети за доставка</string>
6666
<string name="use_simple_characters">Премахни ударенията и диактричните знаци при изпращане на съобщение</string>
67+
<string name="send_on_enter">Send message on pressing Enter</string>
6768
<string name="mms_file_size_limit">Промяна на размера на изпратените MMS изображения</string>
6869
<string name="mms_file_size_limit_none">Без ограничения</string>
6970
<string name="outgoing_messages">Изходящи съобщения</string>

app/src/main/res/values-ca/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@
6464
<string name="sender_only">Només el remitent</string>
6565
<string name="enable_delivery_reports">Activa els informes de lliurament</string>
6666
<string name="use_simple_characters">Elimina els accents i els diacrítics en enviar missatges</string>
67+
<string name="send_on_enter">Send message on pressing Enter</string>
6768
<string name="mms_file_size_limit">Canvia la mida de les imatges MMS enviades</string>
6869
<string name="mms_file_size_limit_none">Sense límit</string>
6970
<string name="outgoing_messages">Missatges sortints</string>

0 commit comments

Comments
 (0)