Skip to content

Commit

Permalink
Added icons and suitable titles for menu options in bottom sheet
Browse files Browse the repository at this point in the history
  • Loading branch information
JuancaG05 committed Jul 4, 2023
1 parent e0fa0c7 commit 5bca97d
Show file tree
Hide file tree
Showing 5 changed files with 61 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -41,3 +41,41 @@ fun FileMenuOption.toResId() =
FileMenuOption.SET_AV_OFFLINE -> R.id.action_set_available_offline
FileMenuOption.UNSET_AV_OFFLINE -> R.id.action_unset_available_offline
}

fun FileMenuOption.toStringResId() =
when (this) {
FileMenuOption.SELECT_ALL -> R.string.actionbar_select_all
FileMenuOption.SELECT_INVERSE -> R.string.actionbar_select_inverse
FileMenuOption.DOWNLOAD -> R.string.filedetails_download
FileMenuOption.RENAME -> R.string.common_rename
FileMenuOption.MOVE -> R.string.actionbar_move
FileMenuOption.COPY -> android.R.string.copy
FileMenuOption.REMOVE -> R.string.common_remove
FileMenuOption.OPEN_WITH -> R.string.actionbar_open_with
FileMenuOption.SYNC -> R.string.filedetails_sync_file
FileMenuOption.CANCEL_SYNC -> R.string.common_cancel_sync
FileMenuOption.SHARE -> R.string.action_share
FileMenuOption.DETAILS -> R.string.actionbar_see_details
FileMenuOption.SEND -> R.string.actionbar_send_file
FileMenuOption.SET_AV_OFFLINE -> R.string.set_available_offline
FileMenuOption.UNSET_AV_OFFLINE -> R.string.unset_available_offline
}

fun FileMenuOption.toDrawableResId() =
when (this) {
FileMenuOption.SELECT_ALL -> R.drawable.ic_select_all
FileMenuOption.SELECT_INVERSE -> R.drawable.ic_select_inverse
FileMenuOption.DOWNLOAD -> R.drawable.ic_action_download
FileMenuOption.RENAME -> R.drawable.ic_pencil
FileMenuOption.MOVE -> R.drawable.ic_action_move
FileMenuOption.COPY -> R.drawable.ic_action_copy
FileMenuOption.REMOVE -> R.drawable.ic_action_delete_white
FileMenuOption.OPEN_WITH -> R.drawable.ic_open_in_app
FileMenuOption.SYNC -> R.drawable.ic_action_refresh
FileMenuOption.CANCEL_SYNC -> R.drawable.ic_action_cancel_white
FileMenuOption.SHARE -> R.drawable.ic_action_share
FileMenuOption.DETAILS -> R.drawable.ic_info_white
FileMenuOption.SEND -> R.drawable.ic_send_white
FileMenuOption.SET_AV_OFFLINE -> R.drawable.ic_action_set_available_offline
FileMenuOption.UNSET_AV_OFFLINE -> R.drawable.ic_action_unset_available_offline
}
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,9 @@ import com.owncloud.android.extensions.sendDownloadedFilesByShareSheet
import com.owncloud.android.extensions.showErrorInSnackbar
import com.owncloud.android.extensions.showMessageInSnackbar
import com.owncloud.android.extensions.toDrawableRes
import com.owncloud.android.extensions.toDrawableResId
import com.owncloud.android.extensions.toResId
import com.owncloud.android.extensions.toStringResId
import com.owncloud.android.extensions.toSubtitleStringRes
import com.owncloud.android.extensions.toTitleStringRes
import com.owncloud.android.presentation.authentication.AccountUtils
Expand Down Expand Up @@ -341,7 +344,6 @@ class MainFileListFragment : Fragment(),
// Observe the menu filtered options for a single file
collectLatestLifecycleFlow(mainFileListViewModel.menuOptionsSingleFile) { menuOptions ->
fileSingleFile?.let {
val hasWritePermission = it.hasWritePermission
val fileOptionsBottomSheetSingleFile = layoutInflater.inflate(R.layout.file_options_bottom_sheet_fragment, null)
val dialog = BottomSheetDialog(requireContext())
dialog.setContentView(fileOptionsBottomSheetSingleFile)
Expand Down Expand Up @@ -397,8 +399,12 @@ class MainFileListFragment : Fragment(),
menuOptions.forEach { menuOption ->
val fileOptionItemView = BottomSheetFragmentItemView(requireContext())
fileOptionItemView.apply {
title = menuOption.name
itemIcon = ResourcesCompat.getDrawable(resources, R.drawable.ic_spaces, null)
title = if (menuOption.toResId() == R.id.action_open_file_with && !it.hasWritePermission) {
getString(R.string.actionbar_open_with_read_only)
} else {
getString(menuOption.toStringResId())
}
itemIcon = ResourcesCompat.getDrawable(resources, menuOption.toDrawableResId(), null)
setOnClickListener {

}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -107,10 +107,6 @@ class FilterFileMenuOptionsUseCase(
if (!isAnyFileSynchronizing && !isAnyFileVideoPreviewing && !onlyAvailableOfflineFiles && !onlySharedByLinkFiles) {
optionsToShow.add(FileMenuOption.COPY)
}
// Remove
if (!isAnyFileSynchronizing && !onlyAvailableOfflineFiles && !onlySharedByLinkFiles && hasRemovePermission) {
optionsToShow.add(FileMenuOption.REMOVE)
}
// Open with (different to preview!)
if (!isAnyFileSynchronizing && isSingleFile(files)) {
optionsToShow.add(FileMenuOption.OPEN_WITH)
Expand Down Expand Up @@ -146,6 +142,10 @@ class FilterFileMenuOptionsUseCase(
if (anyAvailableOfflineFile(files) && !isAnyFileVideoStreaming) {
optionsToShow.add(FileMenuOption.UNSET_AV_OFFLINE)
}
// Remove
if (!isAnyFileSynchronizing && !onlyAvailableOfflineFiles && !onlySharedByLinkFiles && hasRemovePermission) {
optionsToShow.add(FileMenuOption.REMOVE)
}

return optionsToShow
}
Expand Down
5 changes: 5 additions & 0 deletions owncloudApp/src/main/res/drawable/ic_select_all.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<vector android:height="24dp" android:tint="#000000"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@android:color/white" android:pathData="M3,5h2L5,3c-1.1,0 -2,0.9 -2,2zM3,13h2v-2L3,11v2zM7,21h2v-2L7,19v2zM3,9h2L5,7L3,7v2zM13,3h-2v2h2L13,3zM19,3v2h2c0,-1.1 -0.9,-2 -2,-2zM5,21v-2L3,19c0,1.1 0.9,2 2,2zM3,17h2v-2L3,15v2zM9,3L7,3v2h2L9,3zM11,21h2v-2h-2v2zM19,13h2v-2h-2v2zM19,21c1.1,0 2,-0.9 2,-2h-2v2zM19,9h2L21,7h-2v2zM19,17h2v-2h-2v2zM15,21h2v-2h-2v2zM15,5h2L17,3h-2v2zM7,17h10L17,7L7,7v10zM9,9h6v6L9,15L9,9z"/>
</vector>
5 changes: 5 additions & 0 deletions owncloudApp/src/main/res/drawable/ic_select_inverse.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<vector android:height="24dp" android:tint="#000000"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@android:color/white" android:pathData="M1,9h2L3,7L1,7v2zM1,13h2v-2L1,11v2zM1,5h2L3,3c-1.1,0 -2,0.9 -2,2zM9,21h2v-2L9,19v2zM1,17h2v-2L1,15v2zM3,21v-2L1,19c0,1.1 0.9,2 2,2zM21,3h-8v6h10L23,5c0,-1.1 -0.9,-2 -2,-2zM21,17h2v-2h-2v2zM9,5h2L11,3L9,3v2zM5,21h2v-2L5,19v2zM5,5h2L7,3L5,3v2zM21,21c1.1,0 2,-0.9 2,-2h-2v2zM21,13h2v-2h-2v2zM13,21h2v-2h-2v2zM17,21h2v-2h-2v2z"/>
</vector>

0 comments on commit 5bca97d

Please sign in to comment.