diff --git a/owncloudApp/src/main/java/com/owncloud/android/presentation/spaces/SpacesListAdapter.kt b/owncloudApp/src/main/java/com/owncloud/android/presentation/spaces/SpacesListAdapter.kt index 19826575bb0..f04be044164 100644 --- a/owncloudApp/src/main/java/com/owncloud/android/presentation/spaces/SpacesListAdapter.kt +++ b/owncloudApp/src/main/java/com/owncloud/android/presentation/spaces/SpacesListAdapter.kt @@ -41,6 +41,7 @@ import com.owncloud.android.utils.PreferenceUtils class SpacesListAdapter( private val listener: SpacesListAdapterListener, + private val isPickerMode: Boolean ) : RecyclerView.Adapter() { private val spacesList = mutableListOf() @@ -98,6 +99,10 @@ class SpacesListAdapter( } } + if (isPickerMode) { + spacesThreeDotMenu.visibility = View.GONE + } + spacesThreeDotMenu.setOnClickListener { listener.onThreeDotButtonClick(space) } 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 510401cdbb9..e5149bdf5ad 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 @@ -149,7 +149,7 @@ class SpacesListFragment : private fun initViews() { setHasOptionsMenu(true) setSpacesLayout(resources.configuration) - spacesListAdapter = SpacesListAdapter(this) + spacesListAdapter = SpacesListAdapter(this, isPickerMode()) binding.recyclerSpacesList.adapter = spacesListAdapter binding.swipeRefreshSpacesList.setOnRefreshListener { @@ -220,7 +220,7 @@ class SpacesListFragment : is UIResult.Success -> { Timber.d("The permissions for $accountName are: ${uiResult.data}") uiResult.data?.let { - binding.fabCreateSpace.isVisible = it.contains(DRIVES_CREATE_ALL_PERMISSION) + binding.fabCreateSpace.isVisible = it.contains(DRIVES_CREATE_ALL_PERMISSION) && !isPickerMode() if(it.contains(DRIVES_READ_WRITE_ALL_PERMISSION)) userPermissions.add(UserPermissions.CAN_EDIT_SPACES) editQuotaPermission = it.contains(DRIVES_READ_WRITE_PROJECT_QUOTA_ALL_PERMISSION) if(it.contains(DRIVES_DELETE_PROJECT_ALL_PERMISSION)) userPermissions.add(UserPermissions.CAN_DELETE_SPACES) @@ -452,10 +452,13 @@ class SpacesListFragment : private fun shouldShowDisabledSpace(space: OCSpace): Boolean = !space.isDisabled || spacesListViewModel.showDisabledSpaces + private fun isPickerMode(): Boolean = requireArguments().getBoolean(BUNDLE_IS_PICKER_MODE, false) + companion object { const val REQUEST_KEY_CLICK_SPACE = "REQUEST_KEY_CLICK_SPACE" const val BUNDLE_KEY_CLICK_SPACE = "BUNDLE_KEY_CLICK_SPACE" const val BUNDLE_SHOW_PERSONAL_SPACE = "showPersonalSpace" + const val BUNDLE_IS_PICKER_MODE = "isPickerMode" const val BUNDLE_ACCOUNT_NAME = "accountName" const val DRIVES_CREATE_ALL_PERMISSION = "Drives.Create.all" const val DRIVES_READ_WRITE_ALL_PERMISSION = "Drives.ReadWrite.all" @@ -467,10 +470,12 @@ class SpacesListFragment : fun newInstance( showPersonalSpace: Boolean, + isPickerMode: Boolean, accountName: String ): SpacesListFragment { val args = Bundle().apply { putBoolean(BUNDLE_SHOW_PERSONAL_SPACE, showPersonalSpace) + putBoolean(BUNDLE_IS_PICKER_MODE, isPickerMode) putString(BUNDLE_ACCOUNT_NAME, accountName) } return SpacesListFragment().apply { arguments = args } diff --git a/owncloudApp/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.kt b/owncloudApp/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.kt index c5da3ad9a8b..c849947a10b 100644 --- a/owncloudApp/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.kt +++ b/owncloudApp/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.kt @@ -407,6 +407,7 @@ class FileDisplayActivity : FileActivity(), private fun initAndShowListOfSpaces() { val listOfSpaces = SpacesListFragment.newInstance( showPersonalSpace = false, + isPickerMode = false, accountName = com.owncloud.android.presentation.authentication.AccountUtils.getCurrentOwnCloudAccount(applicationContext).name ).apply { setSearchListener(findViewById(R.id.root_toolbar_search_view)) diff --git a/owncloudApp/src/main/java/com/owncloud/android/ui/activity/FolderPickerActivity.kt b/owncloudApp/src/main/java/com/owncloud/android/ui/activity/FolderPickerActivity.kt index 15b41d6084b..ed0f469b2dc 100644 --- a/owncloudApp/src/main/java/com/owncloud/android/ui/activity/FolderPickerActivity.kt +++ b/owncloudApp/src/main/java/com/owncloud/android/ui/activity/FolderPickerActivity.kt @@ -6,8 +6,9 @@ * @author Abel García de Prada * @author Juan Carlos Garrote Gascón * @author Aitor Ballesteros Pavón + * @author Jorge Aguado Recio * - * Copyright (C) 2023 ownCloud GmbH. + * Copyright (C) 2025 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, @@ -272,7 +273,7 @@ open class FolderPickerActivity : FileActivity(), val accountNameIntent = intent.getStringExtra(KEY_ACCOUNT_NAME) val accountName = accountNameIntent ?: AccountUtils.getCurrentOwnCloudAccount(applicationContext).name - val listOfSpaces = SpacesListFragment.newInstance(showPersonalSpace = true, accountName = accountName) + val listOfSpaces = SpacesListFragment.newInstance(showPersonalSpace = true, isPickerMode = true, accountName = accountName) val transaction = supportFragmentManager.beginTransaction() transaction.replace(R.id.fragment_container, listOfSpaces) transaction.commit() diff --git a/owncloudApp/src/main/java/com/owncloud/android/ui/activity/ReceiveExternalFilesActivity.java b/owncloudApp/src/main/java/com/owncloud/android/ui/activity/ReceiveExternalFilesActivity.java index 9a297905cee..24bbca0ca0d 100644 --- a/owncloudApp/src/main/java/com/owncloud/android/ui/activity/ReceiveExternalFilesActivity.java +++ b/owncloudApp/src/main/java/com/owncloud/android/ui/activity/ReceiveExternalFilesActivity.java @@ -296,7 +296,7 @@ private void showRetainerFragment() { } private void initAndShowListOfSpaces() { - SpacesListFragment listOfSpaces = SpacesListFragment.Companion.newInstance(true, getAccount().name); + SpacesListFragment listOfSpaces = SpacesListFragment.Companion.newInstance(true, true, getAccount().name); FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); transaction.replace(R.id.fragment_container, listOfSpaces, TAG_SPACE_LIST_FRAGMENT); transaction.commit();