From 2ad444a425333d6a9d214632b1faaccf56dc5f78 Mon Sep 17 00:00:00 2001 From: Jonas Kalderstam Date: Sun, 3 Jul 2016 16:24:06 +0200 Subject: [PATCH] Hide files correctly in new mode --- .../filepicker/AbstractFilePickerFragment.java | 15 +++++++++++++++ .../filepicker/FilePickerFragment.java | 3 +-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/library/src/main/java/com/nononsenseapps/filepicker/AbstractFilePickerFragment.java b/library/src/main/java/com/nononsenseapps/filepicker/AbstractFilePickerFragment.java index 3f0dd6b..aee3c2a 100644 --- a/library/src/main/java/com/nononsenseapps/filepicker/AbstractFilePickerFragment.java +++ b/library/src/main/java/com/nononsenseapps/filepicker/AbstractFilePickerFragment.java @@ -689,6 +689,21 @@ public abstract class AbstractFilePickerFragment extends Fragment } } + /** + * Cab be used by the list to determine whether a file should be displayed or not. + * Default behavior is to always display folders. If files can be selected, + * then files are also displayed. In case a new file is supposed to be selected, + * the {@link #allowExistingFile} determines if existing files are visible + * + * @param file either a directory or file. + * @return True if item should be visible in the picker, false otherwise + */ + protected boolean isItemVisible(final T file) { + return (isDir(file) || + (mode == MODE_FILE || mode == MODE_FILE_AND_DIR) || + (mode == MODE_NEW_FILE && allowExistingFile)); + } + /** * Browses to the designated directory. It is up to the caller verify that the argument is * in fact a directory. If another directory is in the process of being loaded, this method diff --git a/library/src/main/java/com/nononsenseapps/filepicker/FilePickerFragment.java b/library/src/main/java/com/nononsenseapps/filepicker/FilePickerFragment.java index d7a32a9..9619261 100644 --- a/library/src/main/java/com/nononsenseapps/filepicker/FilePickerFragment.java +++ b/library/src/main/java/com/nononsenseapps/filepicker/FilePickerFragment.java @@ -324,8 +324,7 @@ public class FilePickerFragment extends AbstractFilePickerFragment { if (!showHiddenItems && file.isHidden()) { return false; } - return (isDir(file) || - (mode != MODE_DIR)); + return super.isItemVisible(file); } /**