diff --git a/app/src/main/java/org/futo/circles/feature/settings/profile/edit/EditProfileDialogFragment.kt b/app/src/main/java/org/futo/circles/feature/settings/profile/edit/EditProfileDialogFragment.kt index 8b6f65051743bfd13734ee22a0e1a27bea9bff55..0a76911a7eaba44d5c81da98feec095659d468f1 100644 --- a/app/src/main/java/org/futo/circles/feature/settings/profile/edit/EditProfileDialogFragment.kt +++ b/app/src/main/java/org/futo/circles/feature/settings/profile/edit/EditProfileDialogFragment.kt @@ -63,7 +63,7 @@ class EditProfileDialogFragment : } ) viewModel.profileLiveData.observeData(this) { - it.getOrNull()?.let { user -> setInitialUserInfo(user) } + it?.let { user -> setInitialUserInfo(user) } } viewModel.threePidLiveData.observeData(this) { binding.tilContactInfo.editText?.setText(it.firstOrNull()?.value ?: "") diff --git a/app/src/main/java/org/futo/circles/feature/settings/profile/edit/EditProfileViewModel.kt b/app/src/main/java/org/futo/circles/feature/settings/profile/edit/EditProfileViewModel.kt index 5dc2b5b5546a9351c8bc5fe751ded9660eddc376..af79524ac48e324e37848413972ad5a2a1548104 100644 --- a/app/src/main/java/org/futo/circles/feature/settings/profile/edit/EditProfileViewModel.kt +++ b/app/src/main/java/org/futo/circles/feature/settings/profile/edit/EditProfileViewModel.kt @@ -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.extensions.Response 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( private val dataSource: SetupProfileDataSource @@ -14,8 +16,12 @@ class EditProfileViewModel( val selectedImageLiveData = MutableLiveData<Uri>() val editProfileResponseLiveData = SingleEventLiveData<Response<Unit?>>() - val profileLiveData = dataSource.profileLiveData - val threePidLiveData = dataSource.threePidLiveData + val profileLiveData = SingleEventLiveData<User?>().apply { + postValue(dataSource.getUserData()) + } + val threePidLiveData = SingleEventLiveData<List<ThreePid>>().apply { + postValue(dataSource.getThreePidData()) + } val isProfileDataChangedLiveData = MutableLiveData(false) fun setImageUri(uri: Uri) { diff --git a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/setup_profile/SetupProfileDataSource.kt b/auth/src/main/java/org/futo/circles/auth/feature/sign_up/setup_profile/SetupProfileDataSource.kt index 5796be25cf05d99b0b410b69c7da9641dde281bc..49bb9b49afa5ad59c54d7ad5da90354a40798a3a 100644 --- a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/setup_profile/SetupProfileDataSource.kt +++ b/auth/src/main/java/org/futo/circles/auth/feature/sign_up/setup_profile/SetupProfileDataSource.kt @@ -18,8 +18,9 @@ class SetupProfileDataSource( ) } - val profileLiveData = session.userService().getUserLive(session.myUserId) - val threePidLiveData = session.profileService().getThreePidsLive(true) + fun getUserData() = session.userService().getUser(session.myUserId) + + fun getThreePidData() = session.profileService().getThreePids() suspend fun saveProfileData(profileImageUri: Uri?, displayName: String?) = createResult { profileImageUri?.let { uri ->