From 80140f47fe7a34e3b08d558e2673c0d50ce7773c Mon Sep 17 00:00:00 2001
From: Adrien Beraud <adrien.beraud@savoirfairelinux.com>
Date: Mon, 6 Jan 2025 16:10:29 -0500
Subject: [PATCH] =?UTF-8?q?sip:=20use=20=E2=80=A2=20instead=20of=20*=20to?=
 =?UTF-8?q?=20mask=20password?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Change-Id: If1ed0d1cdbd3b8cc523b68666afc812c09d0ef65
---
 .../ring/fragments/AdvancedAccountFragment.kt |  2 +-
 .../ring/fragments/GeneralAccountFragment.kt  | 24 ++++---------------
 2 files changed, 6 insertions(+), 20 deletions(-)

diff --git a/jami-android/app/src/main/java/cx/ring/fragments/AdvancedAccountFragment.kt b/jami-android/app/src/main/java/cx/ring/fragments/AdvancedAccountFragment.kt
index a04b3fc1d..21ad6ce9e 100644
--- a/jami-android/app/src/main/java/cx/ring/fragments/AdvancedAccountFragment.kt
+++ b/jami-android/app/src/main/java/cx/ring/fragments/AdvancedAccountFragment.kt
@@ -149,7 +149,7 @@ class AdvancedAccountFragment : BasePreferenceFragment<AdvancedAccountPresenter>
             }
             is PasswordPreference -> {
                 presenter.passwordPreferenceChanged(key, newValue)
-                preference.setSummary(if (TextUtils.isEmpty(newValue.toString())) "" else "******")
+                preference.setSummary(if (TextUtils.isEmpty(newValue.toString())) "" else "••••••")
             }
             else -> {
                 presenter.preferenceChanged(key, newValue)
diff --git a/jami-android/app/src/main/java/cx/ring/fragments/GeneralAccountFragment.kt b/jami-android/app/src/main/java/cx/ring/fragments/GeneralAccountFragment.kt
index a65e6b8af..0a58c6680 100644
--- a/jami-android/app/src/main/java/cx/ring/fragments/GeneralAccountFragment.kt
+++ b/jami-android/app/src/main/java/cx/ring/fragments/GeneralAccountFragment.kt
@@ -50,18 +50,12 @@ class GeneralAccountFragment : BasePreferenceFragment<GeneralAccountPresenter>()
         false
     }
     private val changeBasicPreferenceListener = Preference.OnPreferenceChangeListener { preference: Preference, newValue: Any ->
-        Log.i(TAG, "Changing preference " + preference.key + " to value:" + newValue)
+        Log.i(TAG, "Changing preference ${preference.key} type ${preference.javaClass.simpleName} to value:$newValue")
         val key = fromString(preference.key) ?: return@OnPreferenceChangeListener false
         if (preference is TwoStatePreference) {
             presenter.twoStatePreferenceChanged(key, newValue)
         } else if (preference is PasswordPreference) {
-            val tmp = StringBuilder()
-            var i = 0
-            while (i < (newValue as String).length) {
-                tmp.append("*")
-                ++i
-            }
-            preference.setSummary(tmp.toString())
+            preference.setSummary((newValue as CharSequence).map { "•" }.joinToString(""))
             presenter.passwordPreferenceChanged(key, newValue)
         } else if (key === ConfigKey.ACCOUNT_USERNAME) {
             presenter.userNameChanged(key, newValue)
@@ -173,11 +167,7 @@ class GeneralAccountFragment : BasePreferenceFragment<GeneralAccountPresenter>()
                 val value = details[confKey]
                 (pref as EditTextPreference).text = value
                 if (pref is PasswordPreference) {
-                    val tmp = StringBuilder()
-                    for (i in value.indices) {
-                        tmp.append("*")
-                    }
-                    pref.setSummary(tmp.toString())
+                    pref.setSummary(value.map { "•" }.joinToString(""))
                 } else {
                     pref.setSummary(value)
                 }
@@ -222,12 +212,8 @@ class GeneralAccountFragment : BasePreferenceFragment<GeneralAccountPresenter>()
     companion object {
         val TAG = GeneralAccountFragment::class.simpleName!!
         private const val DIALOG_FRAGMENT_TAG = "androidx.preference.PreferenceFragment.DIALOG"
-        fun newInstance(accountId: String): GeneralAccountFragment {
-            val bundle = Bundle()
-            bundle.putString(AccountEditionFragment.ACCOUNT_ID_KEY, accountId)
-            val generalAccountFragment = GeneralAccountFragment()
-            generalAccountFragment.arguments = bundle
-            return generalAccountFragment
+        fun newInstance(accountId: String) = GeneralAccountFragment().apply {
+            arguments = Bundle().apply { putString(AccountEditionFragment.ACCOUNT_ID_KEY, accountId) }
         }
     }
 }
\ No newline at end of file
-- 
GitLab