From 82f78f002eb141d87a8c56bcb3bf1594b6162236 Mon Sep 17 00:00:00 2001 From: tibbi Date: Wed, 4 Nov 2020 12:36:02 +0100 Subject: [PATCH] add an option for showing character counter at sending messages --- .../activities/SettingsActivity.kt | 9 ++++++ .../smsmessenger/activities/ThreadActivity.kt | 2 ++ .../smsmessenger/helpers/Config.kt | 4 +++ .../smsmessenger/helpers/Constants.kt | 1 + app/src/main/res/layout/activity_settings.xml | 23 ++++++++++++++ app/src/main/res/layout/activity_thread.xml | 31 ++++++++++++++++--- 6 files changed, 65 insertions(+), 5 deletions(-) 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" /> + +