@@ -42,6 +42,7 @@ import com.owncloud.android.extensions.showErrorInSnackbar
4242import com.owncloud.android.extensions.showMessageInSnackbar
4343import com.owncloud.android.presentation.common.UIResult
4444import com.owncloud.android.presentation.spaces.links.SpaceLinksAdapter
45+ import com.owncloud.android.presentation.spaces.links.SpaceLinksViewModel
4546import com.owncloud.android.utils.DisplayUtils
4647import org.koin.androidx.viewmodel.ext.android.activityViewModel
4748import org.koin.core.parameter.parametersOf
@@ -61,6 +62,12 @@ class SpaceMembersFragment : Fragment(), SpaceMembersAdapter.SpaceMembersAdapter
6162 requireArguments().getParcelable<OCSpace >(ARG_CURRENT_SPACE )
6263 )
6364 }
65+ private val spaceLinksViewModel: SpaceLinksViewModel by activityViewModel {
66+ parametersOf(
67+ requireArguments().getString(ARG_ACCOUNT_NAME ),
68+ requireArguments().getParcelable(ARG_CURRENT_SPACE )
69+ )
70+ }
6471
6572 private lateinit var spaceMembersAdapter: SpaceMembersAdapter
6673 private lateinit var spaceLinksAdapter: SpaceLinksAdapter
@@ -170,6 +177,16 @@ class SpaceMembersFragment : Fragment(), SpaceMembersAdapter.SpaceMembersAdapter
170177 }
171178
172179 private fun subscribeToViewModels () {
180+ observeRoles()
181+ observeSpaceMembers()
182+ observeSpacePermissions()
183+ observeAddMemberResult()
184+ observeRemoveMemberResult()
185+ observeEditMemberResult()
186+ observeAddLinkResult()
187+ }
188+
189+ private fun observeRoles () {
173190 collectLatestLifecycleFlow(spaceMembersViewModel.roles) { event ->
174191 event?.let {
175192 when (val uiResult = event.peekContent()) {
@@ -186,7 +203,9 @@ class SpaceMembersFragment : Fragment(), SpaceMembersAdapter.SpaceMembersAdapter
186203 }
187204 }
188205 }
206+ }
189207
208+ private fun observeSpaceMembers () {
190209 collectLatestLifecycleFlow(spaceMembersViewModel.spaceMembers) { event ->
191210 event?.let {
192211 when (val uiResult = event.peekContent()) {
@@ -213,7 +232,9 @@ class SpaceMembersFragment : Fragment(), SpaceMembersAdapter.SpaceMembersAdapter
213232 }
214233 }
215234 }
235+ }
216236
237+ private fun observeSpacePermissions () {
217238 collectLatestLifecycleFlow(spaceMembersViewModel.spacePermissions) { event ->
218239 event?.let {
219240 when (val uiResult = event.peekContent()) {
@@ -230,7 +251,9 @@ class SpaceMembersFragment : Fragment(), SpaceMembersAdapter.SpaceMembersAdapter
230251 }
231252 }
232253 }
254+ }
233255
256+ private fun observeAddMemberResult () {
234257 collectLatestLifecycleFlow(spaceMembersViewModel.addMemberResultFlow) { event ->
235258 event?.peekContent()?.let { uiResult ->
236259 when (uiResult) {
@@ -243,7 +266,9 @@ class SpaceMembersFragment : Fragment(), SpaceMembersAdapter.SpaceMembersAdapter
243266 }
244267 }
245268 }
269+ }
246270
271+ private fun observeRemoveMemberResult () {
247272 collectLatestLifecycleFlow(spaceMembersViewModel.removeMemberResultFlow) { uiResult ->
248273 when (uiResult) {
249274 is UIResult .Loading -> { }
@@ -257,7 +282,9 @@ class SpaceMembersFragment : Fragment(), SpaceMembersAdapter.SpaceMembersAdapter
257282 }
258283 }
259284 }
285+ }
260286
287+ private fun observeEditMemberResult () {
261288 collectLatestLifecycleFlow(spaceMembersViewModel.editMemberResultFlow) { event ->
262289 event?.peekContent()?.let { uiResult ->
263290 when (uiResult) {
@@ -272,6 +299,18 @@ class SpaceMembersFragment : Fragment(), SpaceMembersAdapter.SpaceMembersAdapter
272299 }
273300 }
274301
302+ private fun observeAddLinkResult () {
303+ collectLatestLifecycleFlow(spaceLinksViewModel.addLinkResultFlow) { event ->
304+ event?.peekContent()?.let { uiResult ->
305+ when (uiResult) {
306+ is UIResult .Loading -> { }
307+ is UIResult .Success -> showMessageInSnackbar(getString(R .string.public_link_add_correctly))
308+ is UIResult .Error -> { }
309+ }
310+ }
311+ }
312+ }
313+
275314 private fun checkPermissions (spacePermissions : List <String >) {
276315 binding.apply {
277316 val hasCreatePermission = DRIVES_CREATE_PERMISSION in spacePermissions
0 commit comments