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

Commit 00765ef5 authored by Jeff Sharkey's avatar Jeff Sharkey Committed by Android (Google) Code Review
Browse files

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

parents 83702ec3 7ecaea83
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) {