From 81b60857318ca486da49c9f1696c542e23af9080 Mon Sep 17 00:00:00 2001 From: dvrajan Date: Mon, 26 Oct 2015 23:16:13 +0530 Subject: [PATCH] Hidden files will not be shown by default, can diplay them if required --- .../filepicker/AbstractFilePickerFragment.java | 9 +++++++++ .../nononsenseapps/filepicker/FilePickerFragment.java | 8 ++++++-- 2 files changed, 15 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 15d4d4d..d88e889 100644 --- a/library/src/main/java/com/nononsenseapps/filepicker/AbstractFilePickerFragment.java +++ b/library/src/main/java/com/nononsenseapps/filepicker/AbstractFilePickerFragment.java @@ -77,6 +77,7 @@ public abstract class AbstractFilePickerFragment extends Fragment protected T mCurrentPath = null; protected boolean allowCreateDir = false; protected boolean allowMultiple = false; + protected boolean showHiddenItems = false; protected OnFilePickedListener mListener; protected FileItemAdapter mAdapter = null; protected TextView mCurrentDirView; @@ -404,6 +405,14 @@ public abstract class AbstractFilePickerFragment extends Fragment return true; } + public void showHiddenItems(boolean showHiddenItems){ + this.showHiddenItems = showHiddenItems; + } + + public boolean areHiddenItemsShown(){ + return showHiddenItems; + } + /** * Instantiate and return a new Loader for the given ID. * diff --git a/library/src/main/java/com/nononsenseapps/filepicker/FilePickerFragment.java b/library/src/main/java/com/nononsenseapps/filepicker/FilePickerFragment.java index d7ab18d..0a6d8cf 100644 --- a/library/src/main/java/com/nononsenseapps/filepicker/FilePickerFragment.java +++ b/library/src/main/java/com/nononsenseapps/filepicker/FilePickerFragment.java @@ -297,14 +297,18 @@ public class FilePickerFragment extends AbstractFilePickerFragment { /** * 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. Override this method to enable other + * then files are also displayed. Set the showHiddenFiles property to show + * hidden file. Default behaviour is to hide hidden files. Override this method to enable other * filtering behaviour, like only displaying files with specific extensions (.zip, .txt, etc). * * @param file to maybe add. Can be either a directory or file. * @return True if item should be added to the list, false otherwise */ protected boolean isItemVisible(final File file) { - return isDir(file) || (mode == MODE_FILE || mode == MODE_FILE_AND_DIR); + if(!showHiddenFiles && file.isHidden()){ + return false; + } + return (isDir(file) || (mode == MODE_FILE || mode == MODE_FILE_AND_DIR); } /**