Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 68689622 authored by Ben Lin's avatar Ben Lin
Browse files

Add Snackbar for Deletion so TalkBack can speak about it.

Also, moved Rename to Snackbar static method.

Bug: 32488613
Change-Id: Ie9347c05ee06b20c8f55b05e32c37b1ea02680fe
parent ec19b4b6
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -202,8 +202,8 @@
        <item quantity="one">Copied <xliff:g id="count" example="1">%1$d</xliff:g> file to clipboard.</item>
        <item quantity="other">Copied <xliff:g id="count" example="3">%1$d</xliff:g> files to clipboard.</item>
    </plurals>
    <!-- Toast shown when a user tries to paste files into an unsupported location. -->
    <string name="clipboard_files_cannot_paste">Cannot paste the selected files in this location.</string>
    <!-- Toast shown when the file operation is not supported [CHAR LIMIT=48] -->
    <string name="file_operation_error">File operation is not supported.</string>
    <!-- Toast shown when renaming document failed with an error [CHAR LIMIT=48] -->
    <string name="rename_error">Failed to rename document</string>
    <!-- Context Menu item that ejects the root selected [CHAR LIMIT=24] -->
+5 −5
Original line number Diff line number Diff line
@@ -108,6 +108,7 @@ import com.android.documentsui.services.FileOperationService.OpType;
import com.android.documentsui.services.FileOperations;
import com.android.documentsui.sorting.SortDimension;
import com.android.documentsui.sorting.SortModel;
import com.android.documentsui.ui.DialogController;

import java.io.IOException;
import java.lang.annotation.Retention;
@@ -462,11 +463,10 @@ public class DirectoryFragment extends Fragment
        }

        operation.setDestination(data.getParcelableExtra(Shared.EXTRA_STACK));

        FileOperations.start(
                mActivity,
                operation,
                mInjector.dialogs::showFileOperationFailures);
                mInjector.dialogs::showFileOperationStatus);
    }

    protected boolean onContextMenuClick(InputEvent e) {
@@ -840,7 +840,7 @@ public class DirectoryFragment extends Fragment
        mClipper.copyFromClipboard(
                destination,
                mState.stack,
                mInjector.dialogs::showFileOperationFailures);
                mInjector.dialogs::showFileOperationStatus);
        getActivity().invalidateOptionsMenu();
    }

@@ -858,7 +858,7 @@ public class DirectoryFragment extends Fragment
        mClipper.copyFromClipboard(
                destination,
                mState.stack,
                mInjector.dialogs::showFileOperationFailures);
                mInjector.dialogs::showFileOperationStatus);
        getActivity().invalidateOptionsMenu();
    }

@@ -974,7 +974,7 @@ public class DirectoryFragment extends Fragment
                dst,
                mState.stack,
                clipData,
                mInjector.dialogs::showFileOperationFailures);
                mInjector.dialogs::showFileOperationStatus);
        return true;
    }

+1 −2
Original line number Diff line number Diff line
@@ -231,8 +231,7 @@ public class RenameDocumentFragment extends DialogFragment {
            if (result != null) {
                Metrics.logRenameFileOperation(getContext());
            } else {
                Snackbars.makeSnackbar(mActivity, R.string.rename_error, Snackbar.LENGTH_SHORT)
                        .show();
                Snackbars.showRenameFailed(mActivity);
                Metrics.logRenameFileError(getContext());
            }
            mActivity.setPending(false);
+3 −3
Original line number Diff line number Diff line
@@ -116,7 +116,7 @@ public class ActionHandler<T extends Activity & Addons> extends AbstractActionHa
                mActivity,
                mActivity::isDestroyed,
                (DocumentInfo doc) -> mClipper.copyFromClipData(
                        root, doc, data, mDialogs::showFileOperationFailures)
                        root, doc, data, mDialogs::showFileOperationStatus)
        ).executeOnExecutor(mExecutors.lookup(root.authority));
        return true;
    }
@@ -151,7 +151,7 @@ public class ActionHandler<T extends Activity & Addons> extends AbstractActionHa
    private void pasteIntoFolder(RootInfo root, DocumentInfo doc) {
        DocumentClipper clipper = DocumentsApplication.getDocumentClipper(mActivity);
        DocumentStack stack = new DocumentStack(root, doc);
        clipper.copyFromClipboard(doc, stack, mDialogs::showFileOperationFailures);
        clipper.copyFromClipboard(doc, stack, mDialogs::showFileOperationStatus);
    }

    @Override
@@ -275,7 +275,7 @@ public class ActionHandler<T extends Activity & Addons> extends AbstractActionHa
                    .withSrcParent(srcParent.derivedUri)
                    .build();

            FileOperations.start(mActivity, operation, mDialogs::showFileOperationFailures);
            FileOperations.start(mActivity, operation, mDialogs::showFileOperationStatus);
        };

        mDialogs.confirmDelete(docs, result);
+5 −5
Original line number Diff line number Diff line
@@ -42,7 +42,7 @@ public interface DialogController {
        }

        @Override
        public void showFileOperationFailures(int status, int opType, int docCount) {
        public void showFileOperationStatus(int status, int opType, int docCount) {
            throw new UnsupportedOperationException();
        }

@@ -58,7 +58,7 @@ public interface DialogController {
    };

    void confirmDelete(List<DocumentInfo> docs, ConfirmationCallback callback);
    void showFileOperationFailures(int status, int opType, int docCount);
    void showFileOperationStatus(int status, int opType, int docCount);
    void showNoApplicationFound();
    void showDocumentsClipped(int size);

@@ -111,10 +111,10 @@ public interface DialogController {
        }

        @Override
        public void showFileOperationFailures(
        public void showFileOperationStatus(
                @Status int status, @OpType int opType, int docCount) {
            if (status == FileOperations.Callback.STATUS_REJECTED) {
                Snackbars.showPasteFailed(mActivity);
                Snackbars.showOperationFailed(mActivity);
                return;
            }

@@ -131,7 +131,7 @@ public interface DialogController {
                    Snackbars.showCopy(mActivity, docCount);
                    break;
                case FileOperationService.OPERATION_DELETE:
                    // We don't show anything for deletion.
                    Snackbars.showDelete(mActivity, docCount);
                    break;
                default:
                    throw new UnsupportedOperationException("Unsupported Operation: " + opType);
Loading