mirror of
https://github.com/SchildiChat/SchildiChat-android.git
synced 2025-03-18 04:08:44 +03:00
Make the small avatar also clickable and little change in the API to factorize code
This commit is contained in:
parent
a3af0be103
commit
d3e7e7e109
4 changed files with 21 additions and 19 deletions
|
@ -26,6 +26,7 @@ import androidx.core.view.ViewCompat
|
|||
import im.vector.matrix.android.api.session.crypto.verification.IncomingSasVerificationTransaction
|
||||
import im.vector.matrix.android.api.session.crypto.verification.VerificationMethod
|
||||
import im.vector.matrix.android.api.session.room.model.roomdirectory.PublicRoom
|
||||
import im.vector.matrix.android.api.util.MatrixItem
|
||||
import im.vector.riotx.R
|
||||
import im.vector.riotx.core.di.ActiveSessionHolder
|
||||
import im.vector.riotx.core.error.fatalError
|
||||
|
@ -179,12 +180,16 @@ class DefaultNavigator @Inject constructor(
|
|||
context.startActivity(RoomProfileActivity.newIntent(context, roomId))
|
||||
}
|
||||
|
||||
override fun openBigImageViewer(activity: Activity, sharedElement: View?, title: String, avatarUrl: String) {
|
||||
val intent = BigImageViewerActivity.newIntent(activity, title, avatarUrl)
|
||||
val options = sharedElement?.let {
|
||||
ActivityOptionsCompat.makeSceneTransitionAnimation(activity, it, ViewCompat.getTransitionName(it) ?: "")
|
||||
}
|
||||
activity.startActivity(intent, options?.toBundle())
|
||||
override fun openBigImageViewer(activity: Activity, sharedElement: View?, matrixItem: MatrixItem) {
|
||||
matrixItem.avatarUrl
|
||||
?.takeIf { it.isNotBlank() }
|
||||
?.let { avatarUrl ->
|
||||
val intent = BigImageViewerActivity.newIntent(activity, matrixItem.getBestName(), avatarUrl)
|
||||
val options = sharedElement?.let {
|
||||
ActivityOptionsCompat.makeSceneTransitionAnimation(activity, it, ViewCompat.getTransitionName(it) ?: "")
|
||||
}
|
||||
activity.startActivity(intent, options?.toBundle())
|
||||
}
|
||||
}
|
||||
|
||||
private fun startActivity(context: Context, intent: Intent, buildTask: Boolean) {
|
||||
|
|
|
@ -20,6 +20,7 @@ import android.app.Activity
|
|||
import android.content.Context
|
||||
import android.view.View
|
||||
import im.vector.matrix.android.api.session.room.model.roomdirectory.PublicRoom
|
||||
import im.vector.matrix.android.api.util.MatrixItem
|
||||
import im.vector.riotx.features.settings.VectorSettingsActivity
|
||||
import im.vector.riotx.features.share.SharedData
|
||||
|
||||
|
@ -61,5 +62,5 @@ interface Navigator {
|
|||
|
||||
fun openRoomProfile(context: Context, roomId: String)
|
||||
|
||||
fun openBigImageViewer(activity: Activity, sharedElement: View?, title: String, avatarUrl: String)
|
||||
fun openBigImageViewer(activity: Activity, sharedElement: View?, matrixItem: MatrixItem)
|
||||
}
|
||||
|
|
|
@ -196,6 +196,9 @@ class RoomMemberProfileFragment @Inject constructor(
|
|||
memberProfileAvatarView.setOnClickListener { view ->
|
||||
onAvatarClicked(view, userMatrixItem)
|
||||
}
|
||||
matrixProfileToolbarAvatarImageView.setOnClickListener { view ->
|
||||
onAvatarClicked(view, userMatrixItem)
|
||||
}
|
||||
}
|
||||
}
|
||||
memberProfilePowerLevelView.setTextOrHide(state.userPowerLevelString())
|
||||
|
@ -233,11 +236,6 @@ class RoomMemberProfileFragment @Inject constructor(
|
|||
}
|
||||
|
||||
private fun onAvatarClicked(view: View, userMatrixItem: MatrixItem) {
|
||||
userMatrixItem.avatarUrl
|
||||
?.takeIf { it.isNotBlank() }
|
||||
?.let { avatarUrl ->
|
||||
val title = userMatrixItem.getBestName()
|
||||
navigator.openBigImageViewer(requireActivity(), view, title, avatarUrl)
|
||||
}
|
||||
navigator.openBigImageViewer(requireActivity(), view, userMatrixItem)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -169,6 +169,9 @@ class RoomProfileFragment @Inject constructor(
|
|||
roomProfileAvatarView.setOnClickListener { view ->
|
||||
onAvatarClicked(view, matrixItem)
|
||||
}
|
||||
matrixProfileToolbarAvatarImageView.setOnClickListener { view ->
|
||||
onAvatarClicked(view, matrixItem)
|
||||
}
|
||||
}
|
||||
}
|
||||
roomProfileController.setData(state)
|
||||
|
@ -218,11 +221,6 @@ class RoomProfileFragment @Inject constructor(
|
|||
}
|
||||
|
||||
private fun onAvatarClicked(view: View, matrixItem: MatrixItem.RoomItem) {
|
||||
matrixItem.avatarUrl
|
||||
?.takeIf { it.isNotBlank() }
|
||||
?.let { avatarUrl ->
|
||||
val title = matrixItem.getBestName()
|
||||
navigator.openBigImageViewer(requireActivity(), view, title, avatarUrl)
|
||||
}
|
||||
navigator.openBigImageViewer(requireActivity(), view, matrixItem)
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue