From 13a4bf12c3308c57a812406aee527e4a7ce86a25 Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Sun, 3 Nov 2019 21:54:05 +0530 Subject: PasswordRepository: Rewrite and micro-optimize password loader Signed-off-by: Harsh Shandilya --- .../com/zeapo/pwdstore/utils/PasswordRepository.kt | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) (limited to 'app/src/main') diff --git a/app/src/main/java/com/zeapo/pwdstore/utils/PasswordRepository.kt b/app/src/main/java/com/zeapo/pwdstore/utils/PasswordRepository.kt index fdcccc6c..2c13fe61 100644 --- a/app/src/main/java/com/zeapo/pwdstore/utils/PasswordRepository.kt +++ b/app/src/main/java/com/zeapo/pwdstore/utils/PasswordRepository.kt @@ -215,22 +215,17 @@ open class PasswordRepository protected constructor() { @JvmStatic fun getPasswords(path: File, rootDir: File, sortOrder: PasswordSortOrder): ArrayList { // We need to recover the passwords then parse the files - val passList = getFilesList(path) - - if (passList.size == 0) return ArrayList() - + val passList = getFilesList(path).also { it.sortBy { f -> f.name } } val passwordList = ArrayList() - for (file in passList) { - if (file.isFile) { - if (!file.isHidden) { - passwordList.add(PasswordItem.newPassword(file.name, file, rootDir)) - } + if (passList.size == 0) return passwordList + + passList.filter { !it.isHidden }.forEach { file -> + passwordList.add(if (file.isFile) { + PasswordItem.newPassword(file.name, file, rootDir) } else { - if (!file.isHidden) { - passwordList.add(PasswordItem.newCategory(file.name, file, rootDir)) - } - } + PasswordItem.newCategory(file.name, file, rootDir) + }) } passwordList.sortWith(sortOrder.comparator) return passwordList -- cgit v1.2.3