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

Commit f8d36a0d authored by Wei Wang's avatar Wei Wang Committed by android-build-merger
Browse files

Merge branch \'nyc-dev\' of...

Merge branch \'nyc-dev\' of /usr/local/google/game/mirror/googleplex-android_googlesource_com/platform/frameworks/base into nyc-dev
am: a360443c

* commit 'a360443c':
  Don't enable move to for non deletable selections.
parents 97111a7a a360443c
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -491,7 +491,8 @@ public class DirectoryFragment extends Fragment
            // triggered on "silent" selection updates (i.e. we might be reacting to unfinalized
            // selection changes here)
            final int docFlags = getCursorInt(cursor, Document.COLUMN_FLAGS);
            if ((docFlags & Document.FLAG_SUPPORTS_DELETE) == 0) {
            if ((docFlags & Document.FLAG_SUPPORTS_DELETE) == 0
                    && (docFlags & Document.FLAG_SUPPORTS_DELETE) == 0) {
                mNoDeleteCount += selected ? 1 : -1;
            }
            if ((docFlags & Document.FLAG_SUPPORTS_RENAME) != 0) {
@@ -1501,7 +1502,8 @@ public class DirectoryFragment extends Fragment
                    contentsUri = DocumentsContract.setManageMode(contentsUri);
                }
                return new DirectoryLoader(
                        context, mType, mRoot, mDocument, contentsUri, state.userSortOrder, mSearchMode);
                        context, mType, mRoot, mDocument, contentsUri, state.userSortOrder,
                        mSearchMode);
            case TYPE_RECENT_OPEN:
                final RootsCache roots = DocumentsApplication.getRootsCache(context);
                return new RecentsLoader(context, roots, state);
+24 −39
Original line number Diff line number Diff line
@@ -26,7 +26,6 @@ import static com.android.documentsui.State.ACTION_OPEN_TREE;
import static com.android.internal.util.Preconditions.checkArgument;

import android.content.Context;
import android.os.SystemProperties;
import android.provider.DocumentsContract.Document;
import android.util.Log;
import android.view.Menu;
@@ -66,8 +65,8 @@ public abstract class FragmentTuner {
    }


    public abstract void updateActionMenu(Menu menu, int dirType, boolean canDelete,
            boolean canRename);
    public abstract void updateActionMenu(
            Menu menu, @ResultType int dirType, boolean canDelete, boolean canRename);

    // Subtly different from isDocumentEnabled. The reason may be illuminated as follows.
    // A folder is enabled such that it may be double clicked, even in settings
@@ -140,28 +139,17 @@ public abstract class FragmentTuner {
        }

        @Override
        public void updateActionMenu(Menu menu, int dirType, boolean canDelete,
                boolean canRename) {
        public void updateActionMenu(
                Menu menu, @ResultType int dirType, boolean canDelete, boolean canRename) {

            boolean copyEnabled = dirType != DirectoryFragment.TYPE_RECENT_OPEN;
            boolean moveEnabled =
                    SystemProperties.getBoolean("debug.documentsui.enable_move", false);
            menu.findItem(R.id.menu_copy_to_clipboard).setEnabled(copyEnabled);

            final MenuItem open = menu.findItem(R.id.menu_open);
            final MenuItem share = menu.findItem(R.id.menu_share);
            final MenuItem delete = menu.findItem(R.id.menu_delete);
            final MenuItem copyTo = menu.findItem(R.id.menu_copy_to);
            final MenuItem moveTo = menu.findItem(R.id.menu_move_to);
            final MenuItem rename = menu.findItem(R.id.menu_rename);
            MenuItem open = menu.findItem(R.id.menu_open);
            MenuItem share = menu.findItem(R.id.menu_share);
            MenuItem delete = menu.findItem(R.id.menu_delete);
            MenuItem rename = menu.findItem(R.id.menu_rename);

            open.setVisible(true);
            share.setVisible(false);
            delete.setVisible(false);
            copyTo.setVisible(copyEnabled);
            copyTo.setEnabled(copyEnabled);
            moveTo.setVisible(moveEnabled);
            moveTo.setEnabled(moveEnabled);
            rename.setVisible(false);
        }

@@ -186,27 +174,24 @@ public abstract class FragmentTuner {
        }

        @Override
        public void updateActionMenu(Menu menu, int dirType, boolean canDelete,
                boolean canRename) {
            checkArgument(dirType != DirectoryFragment.TYPE_RECENT_OPEN);

            boolean moveEnabled =
                    SystemProperties.getBoolean("debug.documentsui.enable_move", false);
            menu.findItem(R.id.menu_copy_to_clipboard).setEnabled(true);

            final MenuItem open = menu.findItem(R.id.menu_open);
            final MenuItem share = menu.findItem(R.id.menu_share);
            final MenuItem delete = menu.findItem(R.id.menu_delete);
            final MenuItem copyTo = menu.findItem(R.id.menu_copy_to);
            final MenuItem moveTo = menu.findItem(R.id.menu_move_to);
            final MenuItem rename = menu.findItem(R.id.menu_rename);
        public void updateActionMenu(
                Menu menu, @ResultType int resultType, boolean canDelete, boolean canRename) {
            checkArgument(resultType != DirectoryFragment.TYPE_RECENT_OPEN);

            MenuItem open = menu.findItem(R.id.menu_open);
            MenuItem delete = menu.findItem(R.id.menu_delete);
            MenuItem copyTo = menu.findItem(R.id.menu_copy_to);
            MenuItem moveTo = menu.findItem(R.id.menu_move_to);
            MenuItem rename = menu.findItem(R.id.menu_rename);
            MenuItem copy = menu.findItem(R.id.menu_copy_to_clipboard);

            open.setVisible(false);
            delete.setVisible(canDelete);
            copy.setEnabled(true);  // to clipboard
            copyTo.setVisible(true);
            copyTo.setEnabled(true);
            moveTo.setVisible(moveEnabled);
            moveTo.setEnabled(moveEnabled);
            moveTo.setVisible(true);
            moveTo.setEnabled(true);
            rename.setVisible(false);
        }

@@ -226,8 +211,8 @@ public abstract class FragmentTuner {
        }

        @Override
        public void updateActionMenu(Menu menu, int dirType, boolean canDelete,
                boolean canRename) {
        public void updateActionMenu(
                Menu menu, @ResultType int dirType, boolean canDelete, boolean canRename) {

            MenuItem copy = menu.findItem(R.id.menu_copy_to_clipboard);
            MenuItem paste = menu.findItem(R.id.menu_paste_from_clipboard);
@@ -239,10 +224,10 @@ public abstract class FragmentTuner {

            menu.findItem(R.id.menu_share).setVisible(true);
            menu.findItem(R.id.menu_delete).setVisible(canDelete);

            menu.findItem(R.id.menu_open).setVisible(false);
            menu.findItem(R.id.menu_copy_to).setVisible(true);
            menu.findItem(R.id.menu_move_to).setVisible(true);
            menu.findItem(R.id.menu_move_to).setEnabled(canDelete);

            Menus.disableHiddenItems(menu, copy, paste);
        }
+10 −0
Original line number Diff line number Diff line
@@ -207,7 +207,13 @@ public class DocumentInfo implements Durable, Parcelable {
        return "Document{"
                + "docId=" + documentId
                + ", name=" + displayName
                + ", isContainer=" + isContainer()
                + ", isDirectory=" + isDirectory()
                + ", isArchive=" + isArchive()
                + ", isVirtualDocument=" + isVirtualDocument()
                + ", isDeleteSupported=" + isDeleteSupported()
                + ", isCreateSupported=" + isCreateSupported()
                + ", isRenameSupported=" + isRenameSupported()
                + "}";
    }

@@ -231,6 +237,10 @@ public class DocumentInfo implements Durable, Parcelable {
        return (flags & Document.FLAG_SUPPORTS_DELETE) != 0;
    }

    public boolean isRemoveSupported() {
        return (flags & Document.FLAG_SUPPORTS_REMOVE) != 0;
    }

    public boolean isRenameSupported() {
        return (flags & Document.FLAG_SUPPORTS_RENAME) != 0;
    }