diff --git a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/SettingsActivity.kt b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/SettingsActivity.kt
index c9a3d38d..680c3422 100644
--- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/SettingsActivity.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/SettingsActivity.kt
@@ -34,6 +34,7 @@ class SettingsActivity : SimpleActivity() {
setupManageBlockedNumbers()
setupChangeDateTimeFormat()
setupFontSize()
+ setupShowCharacterCounter()
updateTextColors(settings_scrollview)
if (blockedNumbersAtPause != -1 && blockedNumbersAtPause != getBlockedNumbers().hashCode()) {
@@ -106,4 +107,12 @@ class SettingsActivity : SimpleActivity() {
}
}
}
+
+ private fun setupShowCharacterCounter() {
+ settings_show_character_counter.isChecked = config.showCharacterCounter
+ settings_show_character_counter_holder.setOnClickListener {
+ settings_show_character_counter.toggle()
+ config.showCharacterCounter = settings_show_character_counter.isChecked
+ }
+ }
}
diff --git a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/ThreadActivity.kt b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/ThreadActivity.kt
index 6dc53da3..93034cfe 100644
--- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/ThreadActivity.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/ThreadActivity.kt
@@ -263,6 +263,7 @@ class ThreadActivity : SimpleActivity() {
thread_send_message.applyColorFilter(textColor)
confirm_manage_contacts.applyColorFilter(textColor)
thread_add_attachment.applyColorFilter(textColor)
+ thread_character_counter.beVisibleIf(config.showCharacterCounter)
thread_send_message.setOnClickListener {
sendMessage()
@@ -271,6 +272,7 @@ class ThreadActivity : SimpleActivity() {
thread_send_message.isClickable = false
thread_type_message.onTextChangeListener {
checkSendMessageAvailability()
+ thread_character_counter.text = it.length.toString()
}
confirm_manage_contacts.setOnClickListener {
diff --git a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/helpers/Config.kt b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/helpers/Config.kt
index c5e95e68..451fe60f 100644
--- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/helpers/Config.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/helpers/Config.kt
@@ -13,4 +13,8 @@ class Config(context: Context) : BaseConfig(context) {
}
fun getUseSIMIdAtNumber(number: String) = prefs.getInt(USE_SIM_ID_PREFIX + number, 0)
+
+ var showCharacterCounter: Boolean
+ get() = prefs.getBoolean(SHOW_CHARACTER_COUNTER, false)
+ set(showCharacterCounter) = prefs.edit().putBoolean(SHOW_CHARACTER_COUNTER, showCharacterCounter).apply()
}
diff --git a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/helpers/Constants.kt b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/helpers/Constants.kt
index d98055db..d4190f1a 100644
--- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/helpers/Constants.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/helpers/Constants.kt
@@ -11,6 +11,7 @@ const val THREAD_ATTACHMENT_URI = "thread_attachment_uri"
const val THREAD_ATTACHMENT_URIS = "thread_attachment_uris"
const val USE_SIM_ID_PREFIX = "use_sim_id_"
const val NOTIFICATION_CHANNEL = "simple_sms_messenger"
+const val SHOW_CHARACTER_COUNTER = "show_character_counter"
private const val PATH = "com.simplemobiletools.smsmessenger.action."
const val MARK_AS_READ = PATH + "mark_as_read"
diff --git a/app/src/main/res/layout/activity_settings.xml b/app/src/main/res/layout/activity_settings.xml
index 618b9b70..c71368f9 100644
--- a/app/src/main/res/layout/activity_settings.xml
+++ b/app/src/main/res/layout/activity_settings.xml
@@ -149,5 +149,28 @@
android:clickable="false" />
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/activity_thread.xml b/app/src/main/res/layout/activity_thread.xml
index 33ec03ed..240c0c39 100644
--- a/app/src/main/res/layout/activity_thread.xml
+++ b/app/src/main/res/layout/activity_thread.xml
@@ -66,6 +66,7 @@
android:layout_marginStart="@dimen/medium_margin"
android:layout_marginEnd="@dimen/medium_margin"
android:background="?selectableItemBackgroundBorderless"
+ android:contentDescription="@string/confirm_selection"
android:paddingStart="@dimen/medium_margin"
android:paddingEnd="@dimen/medium_margin"
android:src="@drawable/ic_check_vector"
@@ -125,6 +126,7 @@
android:layout_marginEnd="@dimen/small_margin"
android:alpha="0.9"
android:background="?selectableItemBackgroundBorderless"
+ android:contentDescription="@string/attachment"
android:padding="@dimen/normal_margin"
android:src="@drawable/ic_plus_vector" />
@@ -166,14 +168,17 @@
@@ -190,6 +195,21 @@
android:visibility="gone"
tools:text="1" />
+
+