mirror of
https://github.com/vector-im/element-android.git
synced 2024-11-15 01:35:07 +08:00
Merge pull request #1983 from vector-im/feature/live_display_name
Make user displayName live in the setting, it should fix #1926
This commit is contained in:
commit
f745e22a52
@ -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,22 @@ class VectorSettingsGeneralFragment : VectorSettingsBaseFragment() {
|
||||
.disposeOnDestroyView()
|
||||
}
|
||||
|
||||
private fun observeUserDisplayName() {
|
||||
session.rx()
|
||||
.liveUser(session.myUserId)
|
||||
.unwrap()
|
||||
.map { it.displayName ?: "" }
|
||||
.distinctUntilChanged()
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe { displayName ->
|
||||
mDisplayNamePreference.let {
|
||||
it.summary = displayName
|
||||
it.text = displayName
|
||||
}
|
||||
}
|
||||
.disposeOnDestroyView()
|
||||
}
|
||||
|
||||
override fun bindPref() {
|
||||
// Avatar
|
||||
mUserAvatarPreference.let {
|
||||
@ -151,8 +168,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
Block a user