Skip to content

Commit a6b5793

Browse files
committed
feat: add "(me)" label for current user in space members list
1 parent 5fbbcd6 commit a6b5793

File tree

4 files changed

+19
-5
lines changed

4 files changed

+19
-5
lines changed

owncloudApp/src/main/java/com/owncloud/android/presentation/spaces/members/SpaceMembersActivity.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,8 @@ class SpaceMembersActivity: FileActivity(), SpaceMembersFragment.SpaceMemberFrag
7373

7474
supportFragmentManager.transaction {
7575
if (savedInstanceState == null && currentSpace != null) {
76-
val fragment = SpaceMembersFragment.newInstance(account.name, currentSpace)
76+
val accountId = AccountManager.get(baseContext).getUserData(account, KEY_UUID)
77+
val fragment = SpaceMembersFragment.newInstance(account.name, accountId, currentSpace)
7778
replace(R.id.members_fragment_container, fragment, TAG_SPACE_MEMBERS_FRAGMENT)
7879
}
7980
}
@@ -124,6 +125,7 @@ class SpaceMembersActivity: FileActivity(), SpaceMembersFragment.SpaceMemberFrag
124125
private const val TAG_ADD_MEMBER_FRAGMENT ="ADD_MEMBER_FRAGMENT"
125126
private const val TYPE_PLAIN = "text/plain"
126127
private const val KEY_DISPLAY_NAME = "oc_display_name"
128+
private const val KEY_UUID = "oc_uuid"
127129

128130
const val EXTRA_SPACE = "EXTRA_SPACE"
129131
}

owncloudApp/src/main/java/com/owncloud/android/presentation/spaces/members/SpaceMembersAdapter.kt

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,8 @@ import com.owncloud.android.utils.DisplayUtils
3535
import com.owncloud.android.utils.PreferenceUtils
3636

3737
class SpaceMembersAdapter(
38-
private val listener: SpaceMembersAdapterListener
38+
private val listener: SpaceMembersAdapterListener,
39+
private val accountId: String?
3940
): RecyclerView.Adapter<SpaceMembersAdapter.SpaceMembersViewHolder>() {
4041

4142
private var members: List<SpaceMember> = emptyList()
@@ -59,8 +60,14 @@ class SpaceMembersAdapter(
5960

6061
holder.binding.apply {
6162
val isGroup = member.id.startsWith(GROUP_PREFIX)
63+
val isMyAccount = accountId?.let { member.id.contains(it) }
64+
val displayName = if (isMyAccount == true) {
65+
"${member.displayName} ${holder.itemView.context.getString(R.string.my_account_label)}"
66+
} else {
67+
member.displayName
68+
}
6269
memberIcon.setImageResource(if (isGroup) R.drawable.ic_group else R.drawable.ic_user)
63-
memberName.text = member.displayName
70+
memberName.text = displayName
6471
memberName.contentDescription = holder.itemView.context.getString(
6572
if (isGroup) R.string.content_description_member_group else R.string.content_description_member_user, member.displayName
6673
)

owncloudApp/src/main/java/com/owncloud/android/presentation/spaces/members/SpaceMembersFragment.kt

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,8 @@ class SpaceMembersFragment : Fragment(), SpaceMembersAdapter.SpaceMembersAdapter
7575

7676
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
7777
super.onViewCreated(view, savedInstanceState)
78-
spaceMembersAdapter = SpaceMembersAdapter(this)
78+
val accountId = requireArguments().getString(ARG_ACCOUNT_ID)
79+
spaceMembersAdapter = SpaceMembersAdapter(this, accountId)
7980
recyclerView = binding.membersRecyclerView
8081
recyclerView.apply {
8182
layoutManager = LinearLayoutManager(requireContext())
@@ -257,6 +258,7 @@ class SpaceMembersFragment : Fragment(), SpaceMembersAdapter.SpaceMembersAdapter
257258
companion object {
258259
private const val ARG_CURRENT_SPACE = "CURRENT_SPACE"
259260
private const val ARG_ACCOUNT_NAME = "ACCOUNT_NAME"
261+
private const val ARG_ACCOUNT_ID = "ACCOUNT_ID"
260262
private const val DRIVES_CREATE_PERMISSION = "libre.graph/driveItem/permissions/create"
261263
private const val DRIVES_DELETE_PERMISSION = "libre.graph/driveItem/permissions/delete"
262264
private const val DRIVES_UPDATE_PERMISSION = "libre.graph/driveItem/permissions/update"
@@ -265,10 +267,12 @@ class SpaceMembersFragment : Fragment(), SpaceMembersAdapter.SpaceMembersAdapter
265267

266268
fun newInstance(
267269
accountName: String,
268-
currentSpace: OCSpace
270+
accountId: String,
271+
currentSpace: OCSpace,
269272
): SpaceMembersFragment {
270273
val args = Bundle().apply {
271274
putString(ARG_ACCOUNT_NAME, accountName)
275+
putString(ARG_ACCOUNT_ID, accountId)
272276
putParcelable(ARG_CURRENT_SPACE, currentSpace)
273277
}
274278
return SpaceMembersFragment().apply {

owncloudApp/src/main/res/values/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -904,6 +904,7 @@
904904
<string name="members_edit_failed">Member could not be edited</string>
905905
<string name="member_type_user">User</string>
906906
<string name="member_type_group">Group</string>
907+
<string name="my_account_label">(me)</string>
907908

908909
<string name="feedback_dialog_get_in_contact_description"><![CDATA[ Ask for help in our <a href=\"%1$s\"><b>forum</b></a> or contribute in our <a href=\"%2$s\"><b>GitHub repo</b></a>]]></string>
909910

0 commit comments

Comments
 (0)