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

Commit 4c3dcbbf authored by Jeff Sharkey's avatar Jeff Sharkey Committed by android-build-merger
Browse files

Merge "Block directory selection in openable modes." into mnc-dr-dev

am: 00765ef5a2

* commit '00765ef5a2a0981d18a15f3acaf4119592d42996':
  Block directory selection in openable modes.
parents ffb57fa5 38c07456
Loading
Loading
Loading
Loading
+16 −1
Original line number Diff line number Diff line
@@ -19,7 +19,10 @@ package com.android.documentsui;
import static com.android.documentsui.BaseActivity.State.ACTION_BROWSE;
import static com.android.documentsui.BaseActivity.State.ACTION_BROWSE_ALL;
import static com.android.documentsui.BaseActivity.State.ACTION_CREATE;
import static com.android.documentsui.BaseActivity.State.ACTION_GET_CONTENT;
import static com.android.documentsui.BaseActivity.State.ACTION_MANAGE;
import static com.android.documentsui.BaseActivity.State.ACTION_OPEN;
import static com.android.documentsui.BaseActivity.State.ACTION_OPEN_TREE;
import static com.android.documentsui.BaseActivity.State.MODE_GRID;
import static com.android.documentsui.BaseActivity.State.MODE_LIST;
import static com.android.documentsui.BaseActivity.State.MODE_UNKNOWN;
@@ -578,11 +581,23 @@ public class DirectoryFragment extends Fragment {
                // Directories and footer items cannot be checked
                boolean valid = false;

                final State state = getDisplayState(DirectoryFragment.this);
                final Cursor cursor = mAdapter.getItem(position);
                if (cursor != null) {
                    final String docMimeType = getCursorString(cursor, Document.COLUMN_MIME_TYPE);
                    final int docFlags = getCursorInt(cursor, Document.COLUMN_FLAGS);
                    switch (state.action) {
                        case ACTION_OPEN:
                        case ACTION_CREATE:
                        case ACTION_GET_CONTENT:
                        case ACTION_OPEN_TREE:
                            valid = isDocumentEnabled(docMimeType, docFlags)
                                    && !Document.MIME_TYPE_DIR.equals(docMimeType);
                            break;
                        default:
                            valid = isDocumentEnabled(docMimeType, docFlags);
                            break;
                    }
                }

                if (!valid) {