diff --git a/app/src/main/java/com/futo/circles/feature/people/user/UserFragment.kt b/app/src/main/java/com/futo/circles/feature/people/user/UserFragment.kt index 251e4f36544ae44238baca1fdef92370d1457246..0b3a8b2fc49215e8169dc8c3974542b0c1c7bbe5 100644 --- a/app/src/main/java/com/futo/circles/feature/people/user/UserFragment.kt +++ b/app/src/main/java/com/futo/circles/feature/people/user/UserFragment.kt @@ -13,6 +13,7 @@ import com.futo.circles.extensions.loadProfileIcon import com.futo.circles.extensions.observeData import com.futo.circles.extensions.setIsVisible import com.futo.circles.feature.people.user.list.UsersCirclesAdapter +import com.futo.circles.mapping.notEmptyDisplayName import org.koin.androidx.viewmodel.ext.android.viewModel import org.koin.core.parameter.parametersOf import org.matrix.android.sdk.api.session.user.model.User @@ -56,13 +57,13 @@ class UserFragment : Fragment(R.layout.user_fragment) { private fun setupUserInfo(user: User) { with(binding) { - (activity as? AppCompatActivity)?.supportActionBar?.title = user.displayName + (activity as? AppCompatActivity)?.supportActionBar?.title = user.notEmptyDisplayName() tvUserId.text = user.userId - tvUserName.text = user.displayName - ivUser.loadProfileIcon(user.avatarUrl, user.displayName ?: "") - tvCirclesListTitle.text = getString(R.string.users_circles_format, user.displayName) + tvUserName.text = user.notEmptyDisplayName() + ivUser.loadProfileIcon(user.avatarUrl, user.notEmptyDisplayName()) + tvCirclesListTitle.text = getString(R.string.users_circles_format, user.notEmptyDisplayName()) tvEmptyCirclesList.text = - getString(R.string.not_following_any_circles_format, user.displayName) + getString(R.string.not_following_any_circles_format, user.notEmptyDisplayName()) } } diff --git a/app/src/main/java/com/futo/circles/feature/settings/edit_profile/EditProfileDialogFragment.kt b/app/src/main/java/com/futo/circles/feature/settings/edit_profile/EditProfileDialogFragment.kt index 1b760054060158da6586c99e4ea9719c0e041465..5a2ef3dee9f710a4bed7d851f761812fe79e2ed7 100644 --- a/app/src/main/java/com/futo/circles/feature/settings/edit_profile/EditProfileDialogFragment.kt +++ b/app/src/main/java/com/futo/circles/feature/settings/edit_profile/EditProfileDialogFragment.kt @@ -10,6 +10,7 @@ import com.futo.circles.core.fragment.BaseFullscreenDialogFragment import com.futo.circles.core.fragment.HasLoadingState import com.futo.circles.databinding.EditProfileDialogFragmentBinding import com.futo.circles.extensions.* +import com.futo.circles.mapping.notEmptyDisplayName import org.koin.androidx.viewmodel.ext.android.viewModel import org.matrix.android.sdk.api.session.user.model.User @@ -76,7 +77,7 @@ class EditProfileDialogFragment : private fun setInitialUserInfo(user: User) { with(binding) { - ivProfile.loadProfileIcon(user.avatarUrl, user.displayName ?: "") + ivProfile.loadProfileIcon(user.avatarUrl, user.notEmptyDisplayName()) tilName.editText?.setText(user.displayName) tilUserId.editText?.setText(user.userId) } diff --git a/app/src/main/java/com/futo/circles/feature/sign_up/setup_circles/SetupCirclesDataSource.kt b/app/src/main/java/com/futo/circles/feature/sign_up/setup_circles/SetupCirclesDataSource.kt index bee40830ad0ed0f89b1455e60ddd387f89f5821b..c0b0502d348d10d5e9c89a1123623054b3d89add 100644 --- a/app/src/main/java/com/futo/circles/feature/sign_up/setup_circles/SetupCirclesDataSource.kt +++ b/app/src/main/java/com/futo/circles/feature/sign_up/setup_circles/SetupCirclesDataSource.kt @@ -4,6 +4,7 @@ import android.content.Context import android.net.Uri import androidx.lifecycle.MutableLiveData import com.futo.circles.R +import com.futo.circles.mapping.notEmptyDisplayName import com.futo.circles.model.SetupCircleListItem import com.futo.circles.provider.MatrixSessionProvider import org.matrix.android.sdk.api.session.getUser @@ -26,7 +27,7 @@ class SetupCirclesDataSource( private fun getUserName(): String { val session = MatrixSessionProvider.currentSession val userId = session?.myUserId ?: return "" - return session.getUser(userId)?.displayName ?: "" + return session.getUser(userId)?.notEmptyDisplayName()?:"" } fun addCirclesCoverImage(id: Int, uri: Uri) { diff --git a/app/src/main/java/com/futo/circles/mapping/MatrixUserMapping.kt b/app/src/main/java/com/futo/circles/mapping/MatrixUserMapping.kt index 0bf37fd2d88a242cdc40fee85825c85a99a8c1dc..43ad674466cbb4bfbb1ef0ef57af655ac58dad53 100644 --- a/app/src/main/java/com/futo/circles/mapping/MatrixUserMapping.kt +++ b/app/src/main/java/com/futo/circles/mapping/MatrixUserMapping.kt @@ -8,7 +8,7 @@ import org.matrix.android.sdk.api.session.user.model.User fun User.toUserListItem(isSelected: Boolean) = UserListItem( user = CirclesUserSummary( id = userId, - name = displayName ?: userId, + name = notEmptyDisplayName(), avatarUrl = avatarUrl ?: "" ), isSelected = isSelected @@ -17,8 +17,12 @@ fun User.toUserListItem(isSelected: Boolean) = UserListItem( fun User.toPeopleUserListItem(isIgnored: Boolean) = PeopleUserListItem( user = CirclesUserSummary( id = userId, - name = displayName ?: userId, + name = notEmptyDisplayName(), avatarUrl = avatarUrl ?: "" ), isIgnored = isIgnored -) \ No newline at end of file +) + +fun User.notEmptyDisplayName() = + displayName?.takeIf { it.isNotEmpty() } + ?: userId.replace("@", "").substringBefore(":") \ No newline at end of file diff --git a/app/src/main/java/com/futo/circles/view/ProfileView.kt b/app/src/main/java/com/futo/circles/view/ProfileView.kt index c8b3a666e9d587a6420e904d9411b9c24c376727..6f0f7a793990c51a67d99130de06688ae1740e1c 100644 --- a/app/src/main/java/com/futo/circles/view/ProfileView.kt +++ b/app/src/main/java/com/futo/circles/view/ProfileView.kt @@ -6,6 +6,7 @@ import android.view.LayoutInflater import androidx.constraintlayout.widget.ConstraintLayout import com.futo.circles.databinding.ProfileViewBinding import com.futo.circles.extensions.loadProfileIcon +import com.futo.circles.mapping.notEmptyDisplayName import org.matrix.android.sdk.api.session.user.model.User class ProfileView( @@ -19,7 +20,7 @@ class ProfileView( fun setData(user: User) { with(binding) { - ivProfile.loadProfileIcon(user.avatarUrl, user.displayName ?: "") + ivProfile.loadProfileIcon(user.avatarUrl, user.notEmptyDisplayName()) tvUserName.text = user.displayName tvUserId.text = user.userId }