diff --git a/opencloudApp/src/main/java/eu/opencloud/android/presentation/files/filelist/MainFileListFragment.kt b/opencloudApp/src/main/java/eu/opencloud/android/presentation/files/filelist/MainFileListFragment.kt index 41d7a25d7d..21acbf63bb 100644 --- a/opencloudApp/src/main/java/eu/opencloud/android/presentation/files/filelist/MainFileListFragment.kt +++ b/opencloudApp/src/main/java/eu/opencloud/android/presentation/files/filelist/MainFileListFragment.kt @@ -1013,16 +1013,19 @@ class MainFileListFragment : Fragment(), toggleFabVisibility(true) if (!currentFolder.hasAddFilePermission) { binding.fabUpload.isVisible = false + binding.fabTakePhoto.isVisible = false binding.fabNewfile.isVisible = false } else if (!currentFolder.hasAddSubdirectoriesPermission) { binding.fabMkdir.isVisible = false } registerFabMainListener() registerFabUploadListener() + registerFabTakePhotoListener() registerFabMkDirListener() registerFabNewShortcutListener() binding.apply { fabUpload.isFocusable = false + fabTakePhoto.isFocusable = false fabMkdir.isFocusable = false fabNewfile.isFocusable = false fabNewshortcut.isFocusable = false @@ -1041,6 +1044,7 @@ class MainFileListFragment : Fragment(), private fun toggleFabVisibility(shouldBeShown: Boolean) { binding.fabMain.isVisible = shouldBeShown binding.fabUpload.isVisible = shouldBeShown + binding.fabTakePhoto.isVisible = shouldBeShown binding.fabMkdir.isVisible = shouldBeShown } @@ -1049,6 +1053,7 @@ class MainFileListFragment : Fragment(), fabMain.findViewById(R.id.fab_expand_menu_button).setOnClickListener { fabMain.toggle() fabUpload.isFocusable = isFabExpanded() + fabTakePhoto.isFocusable = isFabExpanded() fabMkdir.isFocusable = isFabExpanded() fabNewfile.isFocusable = isFabExpanded() fabNewshortcut.isFocusable = isFabExpanded() @@ -1072,6 +1077,16 @@ class MainFileListFragment : Fragment(), } } + /** + * Registers [android.view.View.OnClickListener] on the 'Take a photo' mini FAB for the linked action. + */ + private fun registerFabTakePhotoListener() { + binding.fabTakePhoto.setOnClickListener { + uploadActions?.uploadFromCamera() + collapseFab() + } + } + /** * Registers [android.view.View.OnClickListener] on the 'New folder' mini FAB for the linked action. */ @@ -1108,6 +1123,7 @@ class MainFileListFragment : Fragment(), binding.apply { fabMain.collapse() fabUpload.isFocusable = false + fabTakePhoto.isFocusable = false fabMkdir.isFocusable = false fabNewfile.isFocusable = false fabNewshortcut.isFocusable = false diff --git a/opencloudApp/src/main/res/drawable/ic_action_take_photo.xml b/opencloudApp/src/main/res/drawable/ic_action_take_photo.xml new file mode 100644 index 0000000000..7d90376edc --- /dev/null +++ b/opencloudApp/src/main/res/drawable/ic_action_take_photo.xml @@ -0,0 +1,9 @@ + + + diff --git a/opencloudApp/src/main/res/layout/main_file_list_fragment.xml b/opencloudApp/src/main/res/layout/main_file_list_fragment.xml index 57bad44974..de6c1c3603 100644 --- a/opencloudApp/src/main/res/layout/main_file_list_fragment.xml +++ b/opencloudApp/src/main/res/layout/main_file_list_fragment.xml @@ -152,6 +152,17 @@ fab:fab_size="mini" fab:fab_title="@string/actionbar_upload" /> + + Sort by New document New shortcut + Take a photo All files Available offline Shared by link