@@ -72,6 +72,7 @@ class SpaceMembersFragment : Fragment(), SpaceMembersAdapter.SpaceMembersAdapter
7272 private var listener: SpaceMemberFragmentListener ? = null
7373 private var canRemoveMembers = false
7474 private var canEditMembers = false
75+ private var canReadMembers = false
7576 private var numberOfManagers = 1
7677
7778 override fun onCreateView (inflater : LayoutInflater , container : ViewGroup ? , savedInstanceState : Bundle ? ): View {
@@ -98,7 +99,9 @@ class SpaceMembersFragment : Fragment(), SpaceMembersAdapter.SpaceMembersAdapter
9899 savedInstanceState?.let {
99100 canRemoveMembers = it.getBoolean(CAN_REMOVE_MEMBERS , false )
100101 canEditMembers = it.getBoolean(CAN_EDIT_MEMBERS , false )
102+ canReadMembers = it.getBoolean(CAN_READ_MEMBERS , false )
101103 }
104+ binding.membersRecyclerView.isVisible = canReadMembers
102105
103106 subscribeToViewModels()
104107
@@ -138,6 +141,7 @@ class SpaceMembersFragment : Fragment(), SpaceMembersAdapter.SpaceMembersAdapter
138141 super .onSaveInstanceState(outState)
139142 outState.putBoolean(CAN_REMOVE_MEMBERS , canRemoveMembers)
140143 outState.putBoolean(CAN_EDIT_MEMBERS , canEditMembers)
144+ outState.putBoolean(CAN_READ_MEMBERS , canReadMembers)
141145 }
142146
143147 override fun onRemoveMember (spaceMember : SpaceMember ) {
@@ -193,7 +197,8 @@ class SpaceMembersFragment : Fragment(), SpaceMembersAdapter.SpaceMembersAdapter
193197 spaceMember.roles.contains(OCRoleType .toString(OCRoleType .CAN_MANAGE )) }
194198 spaceMembers = it.members
195199 addMemberRoles = it.roles
196- spaceMembersAdapter.setSpaceMembers(spaceMembers, roles, canRemoveMembers, canEditMembers, numberOfManagers)
200+ val membersForList = if (canReadMembers) spaceMembers else emptyList()
201+ spaceMembersAdapter.setSpaceMembers(membersForList, roles, canRemoveMembers, canEditMembers, numberOfManagers)
197202 val hasLinks = it.links.isNotEmpty()
198203 showOrHideEmptyView(hasLinks)
199204 if (hasLinks) { showSpaceLinks(it.links) }
@@ -218,7 +223,10 @@ class SpaceMembersFragment : Fragment(), SpaceMembersAdapter.SpaceMembersAdapter
218223 binding.addMemberButton.isVisible = DRIVES_CREATE_PERMISSION in spacePermissions
219224 canRemoveMembers = DRIVES_DELETE_PERMISSION in spacePermissions
220225 canEditMembers = DRIVES_UPDATE_PERMISSION in spacePermissions
221- spaceMembersAdapter.setSpaceMembers(spaceMembers, roles, canRemoveMembers, canEditMembers, numberOfManagers)
226+ canReadMembers = DRIVES_READ_PERMISSION in spacePermissions
227+ binding.membersRecyclerView.isVisible = canReadMembers
228+ val membersForList = if (canReadMembers) spaceMembers else emptyList()
229+ spaceMembersAdapter.setSpaceMembers(membersForList, roles, canRemoveMembers, canEditMembers, numberOfManagers)
222230 }
223231 }
224232 is UIResult .Loading -> { }
@@ -302,8 +310,10 @@ class SpaceMembersFragment : Fragment(), SpaceMembersAdapter.SpaceMembersAdapter
302310 private const val DRIVES_CREATE_PERMISSION = " libre.graph/driveItem/permissions/create"
303311 private const val DRIVES_DELETE_PERMISSION = " libre.graph/driveItem/permissions/delete"
304312 private const val DRIVES_UPDATE_PERMISSION = " libre.graph/driveItem/permissions/update"
313+ private const val DRIVES_READ_PERMISSION = " libre.graph/driveItem/permissions/read"
305314 private const val CAN_REMOVE_MEMBERS = " CAN_REMOVE_MEMBERS"
306315 private const val CAN_EDIT_MEMBERS = " CAN_EDIT_MEMBERS"
316+ private const val CAN_READ_MEMBERS = " CAN_READ_MEMBERS"
307317
308318 fun newInstance (
309319 accountName : String ,
0 commit comments