mirror of
https://github.com/nextcloud/talk-android
synced 2025-07-01 17:41:10 +01:00
Add tracking circles support
Signed-off-by: Joas Schilling <coding@schilljs.com>
This commit is contained in:
parent
51b8656d0e
commit
7e1cc872bd
@ -226,6 +226,9 @@ public class UserItem extends AbstractFlexibleItem<UserItem.UserItemViewHolder>
|
|||||||
if (participant.getActorType() == Participant.ActorType.GROUPS) {
|
if (participant.getActorType() == Participant.ActorType.GROUPS) {
|
||||||
userType = NextcloudTalkApplication.Companion.getSharedApplication().getString(R.string.nc_group);
|
userType = NextcloudTalkApplication.Companion.getSharedApplication().getString(R.string.nc_group);
|
||||||
}
|
}
|
||||||
|
if (participant.getActorType() == Participant.ActorType.CIRCLES) {
|
||||||
|
userType = NextcloudTalkApplication.Companion.getSharedApplication().getString(R.string.nc_circle);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
userType = NextcloudTalkApplication.Companion.getSharedApplication().getString(R.string.nc_guest);
|
userType = NextcloudTalkApplication.Companion.getSharedApplication().getString(R.string.nc_guest);
|
||||||
|
@ -62,6 +62,7 @@ import com.nextcloud.talk.models.json.conversations.RoomOverall
|
|||||||
import com.nextcloud.talk.models.json.converters.EnumNotificationLevelConverter
|
import com.nextcloud.talk.models.json.converters.EnumNotificationLevelConverter
|
||||||
import com.nextcloud.talk.models.json.generic.GenericOverall
|
import com.nextcloud.talk.models.json.generic.GenericOverall
|
||||||
import com.nextcloud.talk.models.json.participants.Participant
|
import com.nextcloud.talk.models.json.participants.Participant
|
||||||
|
import com.nextcloud.talk.models.json.participants.Participant.ActorType.CIRCLES
|
||||||
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.USERS
|
import com.nextcloud.talk.models.json.participants.Participant.ActorType.USERS
|
||||||
import com.nextcloud.talk.models.json.participants.ParticipantsOverall
|
import com.nextcloud.talk.models.json.participants.ParticipantsOverall
|
||||||
@ -900,6 +901,26 @@ class ConversationInfoController(args: Bundle) :
|
|||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (participant.getActorType() == CIRCLES) {
|
||||||
|
val items = mutableListOf(
|
||||||
|
BasicListItemWithImage(
|
||||||
|
R.drawable.ic_delete_grey600_24dp,
|
||||||
|
context!!.getString(R.string.nc_remove_circle_and_members)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
MaterialDialog(activity!!, BottomSheet(WRAP_CONTENT)).show {
|
||||||
|
cornerRadius(res = R.dimen.corner_radius)
|
||||||
|
|
||||||
|
title(text = participant.displayName)
|
||||||
|
listItemsWithImage(items = items) { dialog, index, _ ->
|
||||||
|
if (index == 0) {
|
||||||
|
removeAttendeeFromConversation(apiVersion, participant)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
val items = mutableListOf(
|
val items = mutableListOf(
|
||||||
BasicListItemWithImage(
|
BasicListItemWithImage(
|
||||||
R.drawable.ic_lock_grey600_24px,
|
R.drawable.ic_lock_grey600_24px,
|
||||||
@ -975,8 +996,8 @@ class ConversationInfoController(args: Bundle) :
|
|||||||
*/
|
*/
|
||||||
class UserItemComparator : Comparator<UserItem> {
|
class UserItemComparator : Comparator<UserItem> {
|
||||||
override fun compare(left: UserItem, right: UserItem): Int {
|
override fun compare(left: UserItem, right: UserItem): Int {
|
||||||
val leftIsGroup = left.model.actorType == GROUPS
|
val leftIsGroup = left.model.actorType == GROUPS || left.model.actorType == CIRCLES
|
||||||
val rightIsGroup = right.model.actorType == GROUPS
|
val rightIsGroup = right.model.actorType == GROUPS || right.model.actorType == CIRCLES
|
||||||
if (leftIsGroup != rightIsGroup) {
|
if (leftIsGroup != rightIsGroup) {
|
||||||
// Groups below participants
|
// Groups below participants
|
||||||
return if (rightIsGroup) {
|
return if (rightIsGroup) {
|
||||||
|
@ -257,6 +257,7 @@
|
|||||||
<string name="nc_demote">Demote from moderator</string>
|
<string name="nc_demote">Demote from moderator</string>
|
||||||
<string name="nc_promote">Promote to moderator</string>
|
<string name="nc_promote">Promote to moderator</string>
|
||||||
<string name="nc_remove_participant">Remove participant</string>
|
<string name="nc_remove_participant">Remove participant</string>
|
||||||
|
<string name="nc_remove_circle_and_members">Remove circle and members</string>
|
||||||
<string name="nc_remove_group_and_members">Remove group and members</string>
|
<string name="nc_remove_group_and_members">Remove group and members</string>
|
||||||
<string name="nc_attendee_pin">Pin: %1$s</string>
|
<string name="nc_attendee_pin">Pin: %1$s</string>
|
||||||
|
|
||||||
@ -315,6 +316,7 @@
|
|||||||
<string name="nc_limit_hit">%s characters limit has been hit</string>
|
<string name="nc_limit_hit">%s characters limit has been hit</string>
|
||||||
<string name="nc_email">Email</string>
|
<string name="nc_email">Email</string>
|
||||||
<string name="nc_group">Group</string>
|
<string name="nc_group">Group</string>
|
||||||
|
<string name="nc_circle">Circle</string>
|
||||||
<string name="nc_groups">Groups</string>
|
<string name="nc_groups">Groups</string>
|
||||||
<string name="nc_circles">Circles</string>
|
<string name="nc_circles">Circles</string>
|
||||||
<string name="nc_participants">Participants</string>
|
<string name="nc_participants">Participants</string>
|
||||||
|
Loading…
Reference in New Issue
Block a user