Merge "Block directory selection in openable modes." into mnc-dr-dev am: 00765ef5a2

am: e6538dcc06

* commit 'e6538dcc06c2547ac8a58c265e6b586fc9652ef3':
  Block directory selection in openable modes.
This commit is contained in:
Jeff Sharkey
2015-11-09 21:53:02 +00:00
committed by android-build-merger

View File

@@ -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);
valid = isDocumentEnabled(docMimeType, docFlags);
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) {