Skip to content
Snippets Groups Projects
Commit 3a7d8c01 authored by Taras's avatar Taras
Browse files

Fix set initial profile data on edit profile

parent 05fbdad0
No related branches found
No related tags found
No related merge requests found
...@@ -63,7 +63,7 @@ class EditProfileDialogFragment : ...@@ -63,7 +63,7 @@ class EditProfileDialogFragment :
} }
) )
viewModel.profileLiveData.observeData(this) { viewModel.profileLiveData.observeData(this) {
it.getOrNull()?.let { user -> setInitialUserInfo(user) } it?.let { user -> setInitialUserInfo(user) }
} }
viewModel.threePidLiveData.observeData(this) { viewModel.threePidLiveData.observeData(this) {
binding.tilContactInfo.editText?.setText(it.firstOrNull()?.value ?: "") binding.tilContactInfo.editText?.setText(it.firstOrNull()?.value ?: "")
......
...@@ -7,6 +7,8 @@ import org.futo.circles.auth.feature.sign_up.setup_profile.SetupProfileDataSourc ...@@ -7,6 +7,8 @@ import org.futo.circles.auth.feature.sign_up.setup_profile.SetupProfileDataSourc
import org.futo.circles.core.SingleEventLiveData import org.futo.circles.core.SingleEventLiveData
import org.futo.circles.core.extensions.Response import org.futo.circles.core.extensions.Response
import org.futo.circles.core.extensions.launchBg import org.futo.circles.core.extensions.launchBg
import org.matrix.android.sdk.api.session.identity.ThreePid
import org.matrix.android.sdk.api.session.user.model.User
class EditProfileViewModel( class EditProfileViewModel(
private val dataSource: SetupProfileDataSource private val dataSource: SetupProfileDataSource
...@@ -14,8 +16,12 @@ class EditProfileViewModel( ...@@ -14,8 +16,12 @@ class EditProfileViewModel(
val selectedImageLiveData = MutableLiveData<Uri>() val selectedImageLiveData = MutableLiveData<Uri>()
val editProfileResponseLiveData = SingleEventLiveData<Response<Unit?>>() val editProfileResponseLiveData = SingleEventLiveData<Response<Unit?>>()
val profileLiveData = dataSource.profileLiveData val profileLiveData = SingleEventLiveData<User?>().apply {
val threePidLiveData = dataSource.threePidLiveData postValue(dataSource.getUserData())
}
val threePidLiveData = SingleEventLiveData<List<ThreePid>>().apply {
postValue(dataSource.getThreePidData())
}
val isProfileDataChangedLiveData = MutableLiveData(false) val isProfileDataChangedLiveData = MutableLiveData(false)
fun setImageUri(uri: Uri) { fun setImageUri(uri: Uri) {
......
...@@ -18,8 +18,9 @@ class SetupProfileDataSource( ...@@ -18,8 +18,9 @@ class SetupProfileDataSource(
) )
} }
val profileLiveData = session.userService().getUserLive(session.myUserId) fun getUserData() = session.userService().getUser(session.myUserId)
val threePidLiveData = session.profileService().getThreePidsLive(true)
fun getThreePidData() = session.profileService().getThreePids()
suspend fun saveProfileData(profileImageUri: Uri?, displayName: String?) = createResult { suspend fun saveProfileData(profileImageUri: Uri?, displayName: String?) = createResult {
profileImageUri?.let { uri -> profileImageUri?.let { uri ->
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment