@@ -19,69 +19,98 @@ class FilePickerConfig(private val pickerManager: FilePickerManager) {
1919 * 是否显示隐藏文件,默认隐藏
2020 * 以符号 . 开头的文件或文件夹视为隐藏
2121 */
22- internal var isShowHiddenFiles = false
22+ var isShowHiddenFiles = false
23+ private set
24+
2325 /* *
2426 * 是否显示选中框,默认显示
2527 */
26- internal var isShowingCheckBox = true
28+ var isShowingCheckBox = true
29+ private set
30+
2731 /* *
2832 * 在选中时是否忽略文件夹
2933 */
30- internal var isSkipDir = true
34+ var isSkipDir = true
35+ private set
36+
3137 /* *
3238 * 是否是单选
3339 * 如果是单选,则隐藏顶部【全选/取消全选按钮】
3440 */
35- internal var singleChoice = false
41+ var singleChoice = false
42+ private set
43+
3644 /* *
3745 * 最大可被选中数量
3846 */
39- internal var maxSelectable = Int .MAX_VALUE
47+ var maxSelectable = Int .MAX_VALUE
48+ private set
49+
4050 /* *
4151 * 存储类型
4252 */
43- internal var mediaStorageName = contextRes.getString(R .string.file_picker_tv_sd_card)
53+ var mediaStorageName = contextRes.getString(R .string.file_picker_tv_sd_card)
54+ private set
4455
4556 /* *
4657 * 自定义存储类型,根据此返回根目录
4758 */
4859 @get:StorageMediaType
4960 @set:StorageMediaType
50- internal var mediaStorageType: String = STORAGE_EXTERNAL_STORAGE
61+ var mediaStorageType: String = STORAGE_EXTERNAL_STORAGE
62+ private set
63+
5164 /* *
5265 * 自定义根目录路径,需要先设置 [mediaStorageType] 为 [STORAGE_CUSTOM_ROOT_PATH]
5366 */
54- internal var customRootPath: String = " "
67+ var customRootPath: String = " "
68+ private set
69+
5570 /* *
5671 * 自定义过滤器
5772 */
58- internal var selfFilter: AbstractFileFilter ? = null
73+ var selfFilter: AbstractFileFilter ? = null
74+ private set
75+
5976 /* *
6077 * 自定文件类型甄别器和默认类型甄别器
6178 */
62- internal var selfFileType: AbstractFileType ? = null
63- internal val defaultFileType: DefaultFileType by lazy { DefaultFileType () }
79+ var customDetector: AbstractFileDetector ? = null
80+ private set
81+ val defaultFileDetector: DefaultFileDetector by lazy { DefaultFileDetector () }
82+
6483 /* *
6584 * 点击操作接口,采用默认实现
6685 */
67- internal var fileItemOnClickListener: FileItemOnClickListener ? = null
86+ var fileItemOnClickListener: FileItemOnClickListener ? = null
87+ private set
88+
6889 /* *
6990 * 主题
7091 */
71- internal var themeId: Int = R .style.FilePickerThemeRail
92+ var themeId: Int = R .style.FilePickerThemeRail
93+ private set
94+
7295 /* *
7396 * 全选文字,取消全选文字,返回文字,已选择文字,确认按钮,选择限制提示语,空列表提示
7497 */
75- internal var selectAllText: String = contextRes.getString(R .string.file_picker_tv_select_all)
98+ var selectAllText: String = contextRes.getString(R .string.file_picker_tv_select_all)
99+ private set
100+ var deSelectAllText: String = contextRes.getString(R .string.file_picker_tv_deselect_all)
101+ private set
76102
77- internal var deSelectAllText: String =
78- contextRes.getString(R .string.file_picker_tv_deselect_all)
79103 @StringRes
80- internal var hadSelectedText: Int = R .string.file_picker_selected_count
81- internal var confirmText: String = contextRes.getString(R .string.file_picker_tv_select_done)
104+ var hadSelectedText: Int = R .string.file_picker_selected_count
105+ private set
106+ var confirmText: String = contextRes.getString(R .string.file_picker_tv_select_done)
107+ private set
108+
82109 @StringRes
83- internal var maxSelectCountTips: Int = R .string.max_select_count_tips
84- internal var emptyListTips: String = contextRes.getString(R .string.empty_list_tips_file_picker)
110+ var maxSelectCountTips: Int = R .string.max_select_count_tips
111+ private set
112+ var emptyListTips: String = contextRes.getString(R .string.empty_list_tips_file_picker)
113+ private set
85114
86115 fun showHiddenFiles (isShow : Boolean ): FilePickerConfig {
87116 isShowHiddenFiles = isShow
@@ -120,8 +149,12 @@ class FilePickerConfig(private val pickerManager: FilePickerManager) {
120149 return this
121150 }
122151
123- fun fileType (fileType : AbstractFileType ): FilePickerConfig {
124- selfFileType = fileType
152+ /* *
153+ * 实现 [AbstractFileDetector] 以自定义您自己的文件类型检测器
154+ * Custom your file detector by implementing [AbstractFileDetector]
155+ */
156+ fun customDetector (detector : AbstractFileDetector ): FilePickerConfig {
157+ customDetector = detector
125158 return this
126159 }
127160
0 commit comments