Skip to content

Commit 8733b6e

Browse files
authored
Merge pull request #85 from rosuH/dev
Fix NPE when not data.
2 parents e808774 + 974319e commit 8733b6e

File tree

2 files changed

+12
-13
lines changed

2 files changed

+12
-13
lines changed

filepicker/src/main/java/me/rosuh/filepicker/FilePickerActivity.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -541,6 +541,9 @@ class FilePickerActivity : AppCompatActivity(), View.OnClickListener,
541541
}
542542
// 确认按钮
543543
R.id.btn_confirm_file_picker -> {
544+
if (listAdapter?.dataList.isNullOrEmpty()) {
545+
return
546+
}
544547
val list = ArrayList<String>()
545548
val intent = Intent()
546549

filepicker/src/main/java/me/rosuh/filepicker/utils/FileUtils.kt

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,10 @@ class FileUtils {
5353
for (file in rootFile.listFiles()) {
5454
//以符号 . 开头的视为隐藏文件或隐藏文件夹,后面进行过滤
5555
val isHiddenFile = file.name.startsWith(".")
56+
if (!FilePickerManager.config.isShowHiddenFiles && isHiddenFile) {
57+
// skip hidden files
58+
continue
59+
}
5660
if (file.isDirectory) {
5761
listData.add(
5862
FileItemBeanImpl(
@@ -81,13 +85,11 @@ class FileUtils {
8185
?: FilePickerManager.config.defaultFileDetector.fillFileType(itemBean)
8286
listData.add(itemBean)
8387
}
84-
listData.run {
85-
// 隐藏文件处理
86-
this.hideFiles<FileItemBeanImpl>(!FilePickerManager.config.isShowHiddenFiles)
87-
// 排序
88-
this.sortWith(compareBy({ !it.isDir }, { it.fileName.toUpperCase() }))
89-
}
88+
// 默认字典排序
89+
// Default sort by alphabet
90+
listData.sortWith(compareBy({ !it.isDir }, { it.fileName.toUpperCase() }))
9091
// 将当前列表数据暴露,以供调用者自己处理数据
92+
// expose data list to outside caller
9193
return FilePickerManager.config.selfFilter?.doFilter(listData) ?: listData
9294
}
9395

@@ -152,10 +154,4 @@ class FileUtils {
152154
return currentDataSource
153155
}
154156
}
155-
}
156-
157-
private fun <E> java.util.ArrayList<FileItemBeanImpl>?.hideFiles(hide: Boolean) {
158-
if (hide) {
159-
this?.removeAll { it.isHide }
160-
}
161-
}
157+
}

0 commit comments

Comments
 (0)