Skip to content

Commit df4da6d

Browse files
committed
fix: refresh space permissions on space members fragment resume
1 parent 8309988 commit df4da6d

File tree

2 files changed

+17
-10
lines changed

2 files changed

+17
-10
lines changed

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

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import android.os.Bundle
2525
import android.view.LayoutInflater
2626
import android.view.View
2727
import android.view.ViewGroup
28+
import androidx.core.view.isVisible
2829
import androidx.fragment.app.Fragment
2930
import androidx.recyclerview.widget.LinearLayoutManager
3031
import androidx.recyclerview.widget.RecyclerView
@@ -116,7 +117,7 @@ class SpaceMembersFragment : Fragment() {
116117
when (val uiResult = event.peekContent()) {
117118
is UIResult.Success -> {
118119
uiResult.data?.let { spacePermissions ->
119-
if (DRIVES_CREATE_PERMISSION in spacePermissions) { binding.addMemberButton.visibility = View.VISIBLE }
120+
binding.addMemberButton.isVisible = DRIVES_CREATE_PERMISSION in spacePermissions
120121
}
121122
}
122123
is UIResult.Loading -> { }
@@ -147,6 +148,11 @@ class SpaceMembersFragment : Fragment() {
147148
}
148149
}
149150

151+
override fun onResume() {
152+
super.onResume()
153+
spaceMembersViewModel.getSpacePermissions()
154+
}
155+
150156
interface SpaceMemberFragmentListener {
151157
fun addMember(space: OCSpace, spaceMembers: List<SpaceMember>, roles: List<OCRole>)
152158
}

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

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -84,18 +84,19 @@ class SpaceMembersViewModel(
8484
showLoading = false,
8585
requiresConnection = true
8686
)
87-
88-
runUseCaseWithResult(
89-
coroutineDispatcher = coroutineDispatcherProvider.io,
90-
flow = _spacePermissions,
91-
useCase = getSpacePermissionsAsyncUseCase,
92-
useCaseParams = GetSpacePermissionsAsyncUseCase.Params(accountName = accountName, spaceId = space.id),
93-
showLoading = false,
94-
requiresConnection = true
95-
)
87+
getSpacePermissions()
9688

9789
}
9890

91+
fun getSpacePermissions() = runUseCaseWithResult(
92+
coroutineDispatcher = coroutineDispatcherProvider.io,
93+
flow = _spacePermissions,
94+
useCase = getSpacePermissionsAsyncUseCase,
95+
useCaseParams = GetSpacePermissionsAsyncUseCase.Params(accountName = accountName, spaceId = space.id),
96+
showLoading = false,
97+
requiresConnection = true
98+
)
99+
99100
fun getSpaceMembers() = runUseCaseWithResult(
100101
coroutineDispatcher = coroutineDispatcherProvider.io,
101102
flow = _spaceMembers,

0 commit comments

Comments
 (0)