add capability check for conversation avatar

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
This commit is contained in:
Marcel Hibbe 2023-04-24 14:09:37 +02:00
parent 5870a30410
commit dc09f21870
No known key found for this signature in database
GPG Key ID: C793F8B59F43CE7B
2 changed files with 21 additions and 11 deletions

View File

@ -199,6 +199,7 @@ class ConversationInfoActivity :
} }
private fun setupAvatarOptions() { private fun setupAvatarOptions() {
if (CapabilitiesUtilNew.isConversationAvatarEndpointAvailable(conversationUser)) {
pickImage = PickImage(this, conversationUser) pickImage = PickImage(this, conversationUser)
binding.avatarUpload.setOnClickListener { pickImage.selectLocal() } binding.avatarUpload.setOnClickListener { pickImage.selectLocal() }
binding.avatarChoose.setOnClickListener { pickImage.selectRemote() } binding.avatarChoose.setOnClickListener { pickImage.selectRemote() }
@ -212,6 +213,9 @@ class ConversationInfoActivity :
viewThemeUtils.material.themeFAB(it.avatarCamera) viewThemeUtils.material.themeFAB(it.avatarCamera)
viewThemeUtils.material.themeFAB(it.avatarDelete) viewThemeUtils.material.themeFAB(it.avatarDelete)
} }
} else {
binding.avatarButtons.visibility = GONE
}
} }
private fun setupActionBar() { private fun setupActionBar() {
@ -269,9 +273,11 @@ class ConversationInfoActivity :
data data
) { uploadAvatar(it.toFile()) } ) { uploadAvatar(it.toFile()) }
} }
ImagePicker.RESULT_ERROR -> { ImagePicker.RESULT_ERROR -> {
Toast.makeText(this, ImagePicker.getError(data), Toast.LENGTH_SHORT).show() Toast.makeText(this, ImagePicker.getError(data), Toast.LENGTH_SHORT).show()
} }
else -> { else -> {
Log.i(TAG, "Task Cancelled") Log.i(TAG, "Task Cancelled")
} }

View File

@ -144,6 +144,10 @@ object CapabilitiesUtilNew {
return user.capabilities?.spreedCapability?.features?.contains("temp-user-avatar-api") == true return user.capabilities?.spreedCapability?.features?.contains("temp-user-avatar-api") == true
} }
fun isConversationAvatarEndpointAvailable(user: User): Boolean {
return user.capabilities?.spreedCapability?.features?.contains("avatar") == true
}
fun canEditScopes(user: User): Boolean { fun canEditScopes(user: User): Boolean {
return user.capabilities?.provisioningCapability?.accountPropertyScopesVersion != null && return user.capabilities?.provisioningCapability?.accountPropertyScopesVersion != null &&
user.capabilities!!.provisioningCapability!!.accountPropertyScopesVersion!! > 1 user.capabilities!!.provisioningCapability!!.accountPropertyScopesVersion!! > 1