mirror of
https://github.com/nextcloud/talk-android
synced 2025-07-26 22:25:38 +01:00
Merge pull request #5005 from nextcloud/phone_conversation
Resolve bugs in phone conversation
This commit is contained in:
commit
ed7a569fcf
@ -25,6 +25,7 @@ import com.nextcloud.talk.extensions.loadDefaultAvatar
|
|||||||
import com.nextcloud.talk.extensions.loadDefaultGroupCallAvatar
|
import com.nextcloud.talk.extensions.loadDefaultGroupCallAvatar
|
||||||
import com.nextcloud.talk.extensions.loadFederatedUserAvatar
|
import com.nextcloud.talk.extensions.loadFederatedUserAvatar
|
||||||
import com.nextcloud.talk.extensions.loadFirstLetterAvatar
|
import com.nextcloud.talk.extensions.loadFirstLetterAvatar
|
||||||
|
import com.nextcloud.talk.extensions.loadPhoneAvatar
|
||||||
import com.nextcloud.talk.extensions.loadTeamAvatar
|
import com.nextcloud.talk.extensions.loadTeamAvatar
|
||||||
import com.nextcloud.talk.extensions.loadUserAvatar
|
import com.nextcloud.talk.extensions.loadUserAvatar
|
||||||
import com.nextcloud.talk.models.domain.ConversationModel
|
import com.nextcloud.talk.models.domain.ConversationModel
|
||||||
@ -237,6 +238,10 @@ class ParticipantItem(
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Participant.ActorType.PHONES -> {
|
||||||
|
holder.binding.avatarView.loadPhoneAvatar(viewThemeUtils)
|
||||||
|
}
|
||||||
|
|
||||||
else -> {
|
else -> {
|
||||||
Log.w(TAG, "Avatar not shown because of unknown ActorType " + model.calculatedActorType)
|
Log.w(TAG, "Avatar not shown because of unknown ActorType " + model.calculatedActorType)
|
||||||
}
|
}
|
||||||
|
@ -423,7 +423,8 @@ data class ChatMessage(
|
|||||||
AVATAR_SET,
|
AVATAR_SET,
|
||||||
AVATAR_REMOVED,
|
AVATAR_REMOVED,
|
||||||
FEDERATED_USER_ADDED,
|
FEDERATED_USER_ADDED,
|
||||||
FEDERATED_USER_REMOVED
|
FEDERATED_USER_REMOVED,
|
||||||
|
PHONE_ADDED
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
@ -204,6 +204,11 @@ private fun ImageView.loadAvatarInternal(
|
|||||||
fun ImageView.loadAvatarWithUrl(user: User? = null, url: String): io.reactivex.disposables.Disposable =
|
fun ImageView.loadAvatarWithUrl(user: User? = null, url: String): io.reactivex.disposables.Disposable =
|
||||||
loadAvatarInternal(user, url, false, null)
|
loadAvatarInternal(user, url, false, null)
|
||||||
|
|
||||||
|
fun ImageView.loadPhoneAvatar(viewThemeUtils: ViewThemeUtils): io.reactivex.disposables.Disposable {
|
||||||
|
val drawable = viewThemeUtils.talk.themePlaceholderAvatar(this, R.drawable.ic_phone_small)
|
||||||
|
return loadUserAvatar(drawable)
|
||||||
|
}
|
||||||
|
|
||||||
fun ImageView.loadThumbnail(url: String, user: User): io.reactivex.disposables.Disposable {
|
fun ImageView.loadThumbnail(url: String, user: User): io.reactivex.disposables.Disposable {
|
||||||
val requestBuilder = ImageRequest.Builder(context)
|
val requestBuilder = ImageRequest.Builder(context)
|
||||||
.data(url)
|
.data(url)
|
||||||
|
@ -16,6 +16,7 @@ import com.nextcloud.talk.models.json.participants.Participant.ActorType.FEDERAT
|
|||||||
import com.nextcloud.talk.models.json.participants.Participant.ActorType.GROUPS
|
import com.nextcloud.talk.models.json.participants.Participant.ActorType.GROUPS
|
||||||
import com.nextcloud.talk.models.json.participants.Participant.ActorType.GUESTS
|
import com.nextcloud.talk.models.json.participants.Participant.ActorType.GUESTS
|
||||||
import com.nextcloud.talk.models.json.participants.Participant.ActorType.USERS
|
import com.nextcloud.talk.models.json.participants.Participant.ActorType.USERS
|
||||||
|
import com.nextcloud.talk.models.json.participants.Participant.ActorType.PHONES
|
||||||
|
|
||||||
class EnumActorTypeConverter : StringBasedTypeConverter<Participant.ActorType>() {
|
class EnumActorTypeConverter : StringBasedTypeConverter<Participant.ActorType>() {
|
||||||
override fun getFromString(string: String?): Participant.ActorType =
|
override fun getFromString(string: String?): Participant.ActorType =
|
||||||
@ -26,6 +27,7 @@ class EnumActorTypeConverter : StringBasedTypeConverter<Participant.ActorType>()
|
|||||||
"users" -> USERS
|
"users" -> USERS
|
||||||
"circles" -> CIRCLES
|
"circles" -> CIRCLES
|
||||||
"federated_users" -> FEDERATED
|
"federated_users" -> FEDERATED
|
||||||
|
"phones" -> PHONES
|
||||||
else -> DUMMY
|
else -> DUMMY
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -41,6 +43,7 @@ class EnumActorTypeConverter : StringBasedTypeConverter<Participant.ActorType>()
|
|||||||
USERS -> "users"
|
USERS -> "users"
|
||||||
CIRCLES -> "circles"
|
CIRCLES -> "circles"
|
||||||
FEDERATED -> "federated_users"
|
FEDERATED -> "federated_users"
|
||||||
|
PHONES -> "phones"
|
||||||
else -> ""
|
else -> ""
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -71,6 +71,7 @@ import com.nextcloud.talk.chat.data.model.ChatMessage.SystemMessageType.RECORDIN
|
|||||||
import com.nextcloud.talk.chat.data.model.ChatMessage.SystemMessageType.RECORDING_STOPPED
|
import com.nextcloud.talk.chat.data.model.ChatMessage.SystemMessageType.RECORDING_STOPPED
|
||||||
import com.nextcloud.talk.chat.data.model.ChatMessage.SystemMessageType.USER_ADDED
|
import com.nextcloud.talk.chat.data.model.ChatMessage.SystemMessageType.USER_ADDED
|
||||||
import com.nextcloud.talk.chat.data.model.ChatMessage.SystemMessageType.USER_REMOVED
|
import com.nextcloud.talk.chat.data.model.ChatMessage.SystemMessageType.USER_REMOVED
|
||||||
|
import com.nextcloud.talk.chat.data.model.ChatMessage.SystemMessageType.PHONE_ADDED
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* see https://nextcloud-talk.readthedocs.io/en/latest/chat/#system-messages
|
* see https://nextcloud-talk.readthedocs.io/en/latest/chat/#system-messages
|
||||||
@ -141,6 +142,7 @@ class EnumSystemMessageTypeConverter : StringBasedTypeConverter<ChatMessage.Syst
|
|||||||
"avatar_removed" -> AVATAR_REMOVED
|
"avatar_removed" -> AVATAR_REMOVED
|
||||||
"federated_user_added" -> FEDERATED_USER_ADDED
|
"federated_user_added" -> FEDERATED_USER_ADDED
|
||||||
"federated_user_removed" -> FEDERATED_USER_REMOVED
|
"federated_user_removed" -> FEDERATED_USER_REMOVED
|
||||||
|
"phone_added" -> PHONE_ADDED
|
||||||
else -> DUMMY
|
else -> DUMMY
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -209,6 +211,7 @@ class EnumSystemMessageTypeConverter : StringBasedTypeConverter<ChatMessage.Syst
|
|||||||
AVATAR_REMOVED -> "avatar_removed"
|
AVATAR_REMOVED -> "avatar_removed"
|
||||||
FEDERATED_USER_ADDED -> "federated_user_added"
|
FEDERATED_USER_ADDED -> "federated_user_added"
|
||||||
FEDERATED_USER_REMOVED -> "federated_user_removed"
|
FEDERATED_USER_REMOVED -> "federated_user_removed"
|
||||||
|
PHONE_ADDED -> "phone_added"
|
||||||
else -> ""
|
else -> ""
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -117,7 +117,8 @@ data class Participant(
|
|||||||
GUESTS,
|
GUESTS,
|
||||||
USERS,
|
USERS,
|
||||||
CIRCLES,
|
CIRCLES,
|
||||||
FEDERATED
|
FEDERATED,
|
||||||
|
PHONES
|
||||||
}
|
}
|
||||||
|
|
||||||
enum class ParticipantType {
|
enum class ParticipantType {
|
||||||
|
@ -6,22 +6,22 @@
|
|||||||
-->
|
-->
|
||||||
|
|
||||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:width="48dp"
|
android:width="24dp"
|
||||||
android:height="48dp"
|
android:height="24dp"
|
||||||
android:viewportWidth="24"
|
android:viewportWidth="24"
|
||||||
android:viewportHeight="24">
|
android:viewportHeight="24">
|
||||||
|
|
||||||
<path
|
<path
|
||||||
android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2z"
|
android:fillColor="#3B3B3B"
|
||||||
android:fillColor="#3B3B3B" />
|
android:pathData="M12,0A12,12 0 1,0 12,24A12,12 0 1,0 12,0Z"/>
|
||||||
|
|
||||||
<group
|
<group
|
||||||
android:scaleX="0.55"
|
android:scaleX="0.55"
|
||||||
android:scaleY="0.55"
|
android:scaleY="0.55"
|
||||||
android:pivotX="12"
|
android:pivotX="12"
|
||||||
android:pivotY="12">
|
android:pivotY="12">
|
||||||
<path
|
|
||||||
android:pathData="M6.62,10.79C8.06,13.62 10.38,15.94 13.21,17.38l2.2,-2.2c0.27,-0.27 0.67,-0.36 1.02,-0.24 1.12,0.37 2.33,0.57 3.57,0.57 0.55,0 1,0.45 1,1v3.5c0,0.55 -0.45,1 -1,1C10.07,21 3,13.93 3,5.5 3,4.95 3.45,4.5 4,4.5H7.5c0.55,0 1,0.45 1,1 0,1.24 0.2,2.45 0.57,3.57 0.11,0.35 0.03,0.74 -0.25,1.02l-2.2,2.2z"
|
<path android:fillColor="@android:color/white"
|
||||||
android:fillColor="#FFFFFF" />
|
android:pathData="M6.54,5c0.06,0.89 0.21,1.76 0.45,2.59l-1.2,1.2c-0.41,-1.2 -0.67,-2.47 -0.76,-3.79h1.51m9.86,12.02c0.85,0.24 1.72,0.39 2.6,0.45v1.49c-1.32,-0.09 -2.59,-0.35 -3.8,-0.75l1.2,-1.19M7.5,3H4c-0.55,0 -1,0.45 -1,1 0,9.39 7.61,17 17,17 0.55,0 1,-0.45 1,-1v-3.49c0,-0.55 -0.45,-1 -1,-1 -1.24,0 -2.45,-0.2 -3.57,-0.57 -0.1,-0.04 -0.21,-0.05 -0.31,-0.05 -0.26,0 -0.51,0.1 -0.71,0.29l-2.2,2.2c-2.83,-1.45 -5.15,-3.76 -6.59,-6.59l2.2,-2.2c0.28,-0.28 0.36,-0.67 0.25,-1.02C8.7,6.45 8.5,5.25 8.5,4c0,-0.55 -0.45,-1 -1,-1z"/>
|
||||||
</group>
|
</group>
|
||||||
</vector>
|
</vector>
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
~ SPDX-FileCopyrightText: 2018-2025 Google LLC
|
~ SPDX-FileCopyrightText: 2018-2025 Google LLC
|
||||||
~ SPDX-License-Identifier: Apache-2.0
|
~ SPDX-License-Identifier: Apache-2.0
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:width="24dp"
|
android:width="24dp"
|
||||||
android:height="24dp"
|
android:height="24dp"
|
||||||
|
@ -6,17 +6,19 @@
|
|||||||
-->
|
-->
|
||||||
|
|
||||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:width="24dp"
|
android:height="24dp"
|
||||||
android:height="24dp"
|
android:viewportHeight="24"
|
||||||
android:viewportWidth="960"
|
android:viewportWidth="24"
|
||||||
android:viewportHeight="960">
|
android:width="24dp">
|
||||||
<group
|
|
||||||
android:pivotX="480"
|
<group
|
||||||
android:pivotY="480"
|
android:pivotX="12"
|
||||||
android:scaleX="0.6"
|
android:pivotY="12"
|
||||||
android:scaleY="0.6">
|
android:scaleX="0.6"
|
||||||
<path
|
android:scaleY="0.6">
|
||||||
android:fillColor="@android:color/white"
|
|
||||||
android:pathData="M798,840Q673,840 551,785.5Q429,731 329,631Q229,531 174.5,409Q120,287 120,162Q120,144 132,132Q144,120 162,120L324,120Q338,120 349,129.5Q360,139 362,152L388,292Q390,308 387,319Q384,330 376,338L279,436Q299,473 326.5,507.5Q354,542 387,574Q418,605 452,631.5Q486,658 524,680L618,586Q627,577 641.5,572.5Q656,568 670,570L808,598Q822,602 831,612.5Q840,623 840,636L840,798Q840,816 828,828Q816,840 798,840Z" />
|
|
||||||
</group>
|
<path android:fillColor="@android:color/white"
|
||||||
|
android:pathData="M6.54,5c0.06,0.89 0.21,1.76 0.45,2.59l-1.2,1.2c-0.41,-1.2 -0.67,-2.47 -0.76,-3.79h1.51m9.86,12.02c0.85,0.24 1.72,0.39 2.6,0.45v1.49c-1.32,-0.09 -2.59,-0.35 -3.8,-0.75l1.2,-1.19M7.5,3H4c-0.55,0 -1,0.45 -1,1 0,9.39 7.61,17 17,17 0.55,0 1,-0.45 1,-1v-3.49c0,-0.55 -0.45,-1 -1,-1 -1.24,0 -2.45,-0.2 -3.57,-0.57 -0.1,-0.04 -0.21,-0.05 -0.31,-0.05 -0.26,0 -0.51,0.1 -0.71,0.29l-2.2,2.2c-2.83,-1.45 -5.15,-3.76 -6.59,-6.59l2.2,-2.2c0.28,-0.28 0.36,-0.67 0.25,-1.02C8.7,6.45 8.5,5.25 8.5,4c0,-0.55 -0.45,-1 -1,-1z"/>
|
||||||
|
</group>
|
||||||
</vector>
|
</vector>
|
@ -12,16 +12,16 @@
|
|||||||
android:viewportHeight="24">
|
android:viewportHeight="24">
|
||||||
|
|
||||||
<path
|
<path
|
||||||
android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2z"
|
android:fillColor="#6B6B6B"
|
||||||
android:fillColor="#6B6B6B" />
|
android:pathData="M12,0A12,12 0 1,0 12,24A12,12 0 1,0 12,0Z"/>
|
||||||
|
|
||||||
<group
|
<group
|
||||||
android:scaleX="0.55"
|
android:scaleX="0.55"
|
||||||
android:scaleY="0.55"
|
android:scaleY="0.55"
|
||||||
android:pivotX="12"
|
android:pivotX="12"
|
||||||
android:pivotY="12">
|
android:pivotY="12">
|
||||||
<path
|
|
||||||
android:pathData="M6.62,10.79C8.06,13.62 10.38,15.94 13.21,17.38l2.2,-2.2c0.27,-0.27 0.67,-0.36 1.02,-0.24 1.12,0.37 2.33,0.57 3.57,0.57 0.55,0 1,0.45 1,1v3.5c0,0.55 -0.45,1 -1,1C10.07,21 3,13.93 3,5.5 3,4.95 3.45,4.5 4,4.5H7.5c0.55,0 1,0.45 1,1 0,1.24 0.2,2.45 0.57,3.57 0.11,0.35 0.03,0.74 -0.25,1.02l-2.2,2.2z"
|
<path android:fillColor="@android:color/white"
|
||||||
android:fillColor="#FFFFFF" />
|
android:pathData="M6.54,5c0.06,0.89 0.21,1.76 0.45,2.59l-1.2,1.2c-0.41,-1.2 -0.67,-2.47 -0.76,-3.79h1.51m9.86,12.02c0.85,0.24 1.72,0.39 2.6,0.45v1.49c-1.32,-0.09 -2.59,-0.35 -3.8,-0.75l1.2,-1.19M7.5,3H4c-0.55,0 -1,0.45 -1,1 0,9.39 7.61,17 17,17 0.55,0 1,-0.45 1,-1v-3.49c0,-0.55 -0.45,-1 -1,-1 -1.24,0 -2.45,-0.2 -3.57,-0.57 -0.1,-0.04 -0.21,-0.05 -0.31,-0.05 -0.26,0 -0.51,0.1 -0.71,0.29l-2.2,2.2c-2.83,-1.45 -5.15,-3.76 -6.59,-6.59l2.2,-2.2c0.28,-0.28 0.36,-0.67 0.25,-1.02C8.7,6.45 8.5,5.25 8.5,4c0,-0.55 -0.45,-1 -1,-1z"/>
|
||||||
</group>
|
</group>
|
||||||
</vector>
|
</vector>
|
||||||
|
Loading…
Reference in New Issue
Block a user