diff --git a/CHANGELOG.md b/CHANGELOG.md index 65d828240ab..c926a8d96b1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -40,6 +40,7 @@ ownCloud admins and users. ## Summary +* Bugfix - Edit space option available when there is no connection: [#4742](https://github.com/owncloud/android/issues/4742) * Change - Migrate tests to the new kotlinx-coroutines-test API: [#4710](https://github.com/owncloud/android/issues/4710) * Change - Increase rating dialog delay: [#4744](https://github.com/owncloud/android/pull/4744) * Enhancement - Show members of a space: [#4612](https://github.com/owncloud/android/issues/4612) @@ -48,6 +49,14 @@ ownCloud admins and users. ## Details +* Bugfix - Edit space option available when there is no connection: [#4742](https://github.com/owncloud/android/issues/4742) + + A new condition has been added to hide the edit space option when no network + connection is available. + + https://github.com/owncloud/android/issues/4742 + https://github.com/owncloud/android/pull/4750 + * Change - Migrate tests to the new kotlinx-coroutines-test API: [#4710](https://github.com/owncloud/android/issues/4710) Some tests from view model classes have been refactored in order to use the new diff --git a/changelog/unreleased/4750 b/changelog/unreleased/4750 new file mode 100644 index 00000000000..c987f6d98b0 --- /dev/null +++ b/changelog/unreleased/4750 @@ -0,0 +1,6 @@ +Bugfix: Edit space option available when there is no connection + +A new condition has been added to hide the edit space option when no network connection is available. + +https://github.com/owncloud/android/issues/4742 +https://github.com/owncloud/android/pull/4750 diff --git a/owncloudApp/src/main/java/com/owncloud/android/presentation/spaces/SpacesListFragment.kt b/owncloudApp/src/main/java/com/owncloud/android/presentation/spaces/SpacesListFragment.kt index a2194711120..529a101112c 100644 --- a/owncloudApp/src/main/java/com/owncloud/android/presentation/spaces/SpacesListFragment.kt +++ b/owncloudApp/src/main/java/com/owncloud/android/presentation/spaces/SpacesListFragment.kt @@ -5,7 +5,7 @@ * @author Jorge Aguado Recio * @author Aitor Ballesteros Pavón * - * Copyright (C) 2025 ownCloud GmbH. + * Copyright (C) 2026 ownCloud GmbH. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2, @@ -94,6 +94,7 @@ class SpacesListFragment : private var userPermissions = mutableSetOf() private var editQuotaPermission = false private var selectedImagePath: String? = null + private var accountId: String? = null private lateinit var currentSpace: OCSpace private val spacesListViewModel: SpacesListViewModel by viewModel { @@ -205,7 +206,10 @@ class SpacesListFragment : when (val uiResult = event.peekContent()) { is UIResult.Success -> { Timber.d("The account id for $accountName is: ${uiResult.data}") - uiResult.data?.let { spacesListViewModel.getUserPermissions(it) } + uiResult.data?.let { + accountId = it + spacesListViewModel.getUserPermissions(it) + } } is UIResult.Loading -> { } is UIResult.Error -> { @@ -231,6 +235,7 @@ class SpacesListFragment : is UIResult.Loading -> { } is UIResult.Error -> { Timber.e(uiResult.error, "Failed to retrieve user permissions for account $accountName") + userPermissions.clear() binding.fabCreateSpace.isVisible = false } } @@ -304,6 +309,7 @@ class SpacesListFragment : override fun onThreeDotButtonClick(ocSpace: OCSpace) { currentSpace = ocSpace + accountId?.let { spacesListViewModel.getUserPermissions(it) } spacesListViewModel.filterMenuOptions(ocSpace, userPermissions) } diff --git a/owncloudDomain/src/main/java/com/owncloud/android/domain/spaces/usecases/FilterSpaceMenuOptionsUseCase.kt b/owncloudDomain/src/main/java/com/owncloud/android/domain/spaces/usecases/FilterSpaceMenuOptionsUseCase.kt index fc4a6543dd2..136c0b2b638 100644 --- a/owncloudDomain/src/main/java/com/owncloud/android/domain/spaces/usecases/FilterSpaceMenuOptionsUseCase.kt +++ b/owncloudDomain/src/main/java/com/owncloud/android/domain/spaces/usecases/FilterSpaceMenuOptionsUseCase.kt @@ -3,7 +3,7 @@ * * @author Jorge Aguado Recio * - * Copyright (C) 2025 ownCloud GmbH. + * Copyright (C) 2026 ownCloud GmbH. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2, @@ -49,7 +49,7 @@ class FilterSpaceMenuOptionsUseCase( optionsToShow.add(SpaceMenuOption.MEMBERS) } - if (editPermission || isSpaceManager) { + if (editPermission || (isSpaceManager && currentSpace.isDisabled)) { optionsToShow.add(SpaceMenuOption.EDIT) }