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:
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user