Make user displayName live in the setting, it should fix #1926
This commit is contained in:
parent
20e2b3beb8
commit
bd238dcbfa
|
@ -8,7 +8,7 @@ Improvements 🙌:
|
|||
-
|
||||
|
||||
Bugfix 🐛:
|
||||
-
|
||||
- Display name not shown under Settings/General (#1926)
|
||||
|
||||
Translations 🗣:
|
||||
-
|
||||
|
|
|
@ -128,6 +128,7 @@ class VectorSettingsGeneralFragment : VectorSettingsBaseFragment() {
|
|||
super.onViewCreated(view, savedInstanceState)
|
||||
|
||||
observeUserAvatar()
|
||||
observeUserDisplayName()
|
||||
}
|
||||
|
||||
private fun observeUserAvatar() {
|
||||
|
@ -140,6 +141,21 @@ class VectorSettingsGeneralFragment : VectorSettingsBaseFragment() {
|
|||
.disposeOnDestroyView()
|
||||
}
|
||||
|
||||
private fun observeUserDisplayName() {
|
||||
session.rx()
|
||||
.liveUser(session.myUserId)
|
||||
.unwrap()
|
||||
.distinctUntilChanged { user -> user.displayName }
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe { user ->
|
||||
mDisplayNamePreference.let {
|
||||
it.summary = user.displayName ?: ""
|
||||
it.text = user.displayName ?: ""
|
||||
}
|
||||
}
|
||||
.disposeOnDestroyView()
|
||||
}
|
||||
|
||||
override fun bindPref() {
|
||||
// Avatar
|
||||
mUserAvatarPreference.let {
|
||||
|
@ -151,8 +167,6 @@ class VectorSettingsGeneralFragment : VectorSettingsBaseFragment() {
|
|||
|
||||
// Display name
|
||||
mDisplayNamePreference.let {
|
||||
it.summary = session.getUser(session.myUserId)?.displayName ?: ""
|
||||
it.text = it.summary.toString()
|
||||
it.onPreferenceChangeListener = Preference.OnPreferenceChangeListener { _, newValue ->
|
||||
newValue
|
||||
?.let { value -> (value as? String)?.trim() }
|
||||
|
|
Loading…
Reference in New Issue