Search in sources :

Example 1 with BottomSheetFragmentItemView

use of com.owncloud.android.presentation.ui.common.BottomSheetFragmentItemView in project android by owncloud.

the class OCFileListFragment method registerFabUploadListeners.

/**
 * registers {@link android.view.View.OnClickListener} and {@link android.view.View.OnLongClickListener}
 * on the Upload mini FAB for the linked action an {@link Snackbar} showing the underlying action.
 */
private void registerFabUploadListeners() {
    getFabUpload().setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            final View uploadBottomSheet = getLayoutInflater().inflate(R.layout.upload_bottom_sheet_fragment, null);
            final BottomSheetDialog dialog = new BottomSheetDialog(requireContext());
            dialog.setContentView(uploadBottomSheet);
            final BottomSheetFragmentItemView uploadFromFilesItemView = uploadBottomSheet.findViewById(R.id.upload_from_files_item_view);
            BottomSheetFragmentItemView uploadFromCameraItemView = uploadBottomSheet.findViewById(R.id.upload_from_camera_item_view);
            TextView uploadToTextView = uploadBottomSheet.findViewById(R.id.upload_to_text_view);
            uploadFromFilesItemView.setOnTouchListener((v13, event) -> {
                Intent action = new Intent(Intent.ACTION_GET_CONTENT);
                action = action.setType(ALL_FILES_SAF_REGEX).addCategory(Intent.CATEGORY_OPENABLE);
                action.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
                getActivity().startActivityForResult(Intent.createChooser(action, getString(R.string.upload_chooser_title)), FileDisplayActivity.REQUEST_CODE__SELECT_CONTENT_FROM_APPS);
                dialog.hide();
                return false;
            });
            uploadFromCameraItemView.setOnTouchListener((v12, event) -> {
                ((FileDisplayActivity) getActivity()).getFilesUploadHelper().uploadFromCamera(FileDisplayActivity.REQUEST_CODE__UPLOAD_FROM_CAMERA);
                dialog.hide();
                return false;
            });
            uploadToTextView.setText(String.format(getResources().getString(R.string.upload_to), getResources().getString(R.string.app_name)));
            final BottomSheetBehavior uploadBottomSheetBehavior = BottomSheetBehavior.from((View) uploadBottomSheet.getParent());
            dialog.setOnShowListener(dialog1 -> uploadBottomSheetBehavior.setPeekHeight(uploadBottomSheet.getMeasuredHeight()));
            dialog.show();
            getFabMain().collapse();
            recordMiniFabClick();
        }
    });
    getFabUpload().setOnLongClickListener(v -> {
        showSnackMessage(R.string.actionbar_upload);
        return true;
    });
}
Also used : BottomSheetDialog(com.google.android.material.bottomsheet.BottomSheetDialog) ActionMode(android.view.ActionMode) Bundle(android.os.Bundle) CreateFolderDialogFragment(com.owncloud.android.ui.dialog.CreateFolderDialogFragment) NonNull(androidx.annotation.NonNull) OCFile(com.owncloud.android.datamodel.OCFile) PreferenceUtils(com.owncloud.android.utils.PreferenceUtils) OnEnforceableRefreshListener(com.owncloud.android.ui.activity.OnEnforceableRefreshListener) PowerManager(android.os.PowerManager) SortType(com.owncloud.android.presentation.ui.files.SortType) Handler(android.os.Handler) View(android.view.View) OwnCloudVersion(com.owncloud.android.lib.resources.status.OwnCloudVersion) Animation(android.view.animation.Animation) AdapterView(android.widget.AdapterView) ConfirmationDialogFragment(com.owncloud.android.ui.dialog.ConfirmationDialogFragment) PreferenceManager(android.preference.PreferenceManager) CoordinatorLayout(androidx.coordinatorlayout.widget.CoordinatorLayout) FileMenuFilter(com.owncloud.android.files.FileMenuFilter) FolderPickerActivity(com.owncloud.android.ui.activity.FolderPickerActivity) BottomSheetFragmentItemView(com.owncloud.android.presentation.ui.common.BottomSheetFragmentItemView) SearchView(androidx.appcompat.widget.SearchView) PreviewAudioFragment(com.owncloud.android.ui.preview.PreviewAudioFragment) ViewGroup(android.view.ViewGroup) Timber(timber.log.Timber) SparseBooleanArrayParcelable(com.owncloud.android.ui.helpers.SparseBooleanArrayParcelable) List(java.util.List) TextView(android.widget.TextView) Nullable(androidx.annotation.Nullable) SortOrder(com.owncloud.android.presentation.ui.files.SortOrder) FileDataStorageManager(com.owncloud.android.datamodel.FileDataStorageManager) FragmentExtKt(com.owncloud.android.extensions.FragmentExtKt) ListView(android.widget.ListView) NotNull(org.jetbrains.annotations.NotNull) Window(android.view.Window) Snackbar(com.google.android.material.snackbar.Snackbar) R(com.owncloud.android.R) FileListListAdapter(com.owncloud.android.ui.adapter.FileListListAdapter) Context(android.content.Context) DrawerLayout(androidx.drawerlayout.widget.DrawerLayout) ViewType(com.owncloud.android.presentation.ui.files.ViewType) BottomSheetBehavior(com.google.android.material.bottomsheet.BottomSheetBehavior) FileActivity(com.owncloud.android.ui.activity.FileActivity) Intent(android.content.Intent) RenameFileDialogFragment(com.owncloud.android.ui.dialog.RenameFileDialogFragment) FileListOption(com.owncloud.android.ui.activity.FileListOption) MenuItem(android.view.MenuItem) ArrayList(java.util.ArrayList) AnimationUtils(android.view.animation.AnimationUtils) SortBottomSheetFragment(com.owncloud.android.presentation.ui.files.SortBottomSheetFragment) MenuInflater(android.view.MenuInflater) PreviewImageFragment(com.owncloud.android.ui.preview.PreviewImageFragment) Menu(android.view.Menu) PreviewVideoFragment(com.owncloud.android.ui.preview.PreviewVideoFragment) SortOptionsView(com.owncloud.android.presentation.ui.files.SortOptionsView) LayoutInflater(android.view.LayoutInflater) SwipeRefreshLayout(androidx.swiperefreshlayout.widget.SwipeRefreshLayout) PreviewTextFragment(com.owncloud.android.ui.preview.PreviewTextFragment) AbsListView(android.widget.AbsListView) AccountUtils(com.owncloud.android.authentication.AccountUtils) File(java.io.File) FileStorageUtils(com.owncloud.android.utils.FileStorageUtils) SparseBooleanArray(android.util.SparseBooleanArray) SharedPreferences(android.content.SharedPreferences) FileDisplayActivity(com.owncloud.android.ui.activity.FileDisplayActivity) RemoveFilesDialogFragment(com.owncloud.android.ui.dialog.RemoveFilesDialogFragment) BottomSheetDialog(com.google.android.material.bottomsheet.BottomSheetDialog) FileDisplayActivity(com.owncloud.android.ui.activity.FileDisplayActivity) BottomSheetBehavior(com.google.android.material.bottomsheet.BottomSheetBehavior) TextView(android.widget.TextView) Intent(android.content.Intent) View(android.view.View) AdapterView(android.widget.AdapterView) BottomSheetFragmentItemView(com.owncloud.android.presentation.ui.common.BottomSheetFragmentItemView) SearchView(androidx.appcompat.widget.SearchView) TextView(android.widget.TextView) ListView(android.widget.ListView) SortOptionsView(com.owncloud.android.presentation.ui.files.SortOptionsView) AbsListView(android.widget.AbsListView) BottomSheetFragmentItemView(com.owncloud.android.presentation.ui.common.BottomSheetFragmentItemView)

Aggregations

Context (android.content.Context)1 Intent (android.content.Intent)1 SharedPreferences (android.content.SharedPreferences)1 Bundle (android.os.Bundle)1 Handler (android.os.Handler)1 PowerManager (android.os.PowerManager)1 PreferenceManager (android.preference.PreferenceManager)1 SparseBooleanArray (android.util.SparseBooleanArray)1 ActionMode (android.view.ActionMode)1 LayoutInflater (android.view.LayoutInflater)1 Menu (android.view.Menu)1 MenuInflater (android.view.MenuInflater)1 MenuItem (android.view.MenuItem)1 View (android.view.View)1 ViewGroup (android.view.ViewGroup)1 Window (android.view.Window)1 Animation (android.view.animation.Animation)1 AnimationUtils (android.view.animation.AnimationUtils)1 AbsListView (android.widget.AbsListView)1 AdapterView (android.widget.AdapterView)1