aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/com/zeapo/pwdstore/utils
diff options
context:
space:
mode:
authorHarsh Shandilya <me@msfjarvis.dev>2020-10-18 23:56:13 +0530
committerHarsh Shandilya <me@msfjarvis.dev>2020-10-19 00:11:28 +0530
commit95d53e495c66fd0c785397c64991a0d17509b767 (patch)
tree8265e0064f0f3c10286f4d86781d84b0478023a6 /app/src/main/java/com/zeapo/pwdstore/utils
parent12fe561be7ca86bf311530422a4506a5f2036a77 (diff)
downloadHardenedPass-95d53e495c66fd0c785397c64991a0d17509b767.tar.gz
HardenedPass-95d53e495c66fd0c785397c64991a0d17509b767.zip
PasswordRepository: split out PasswordSortOrder
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
Diffstat (limited to 'app/src/main/java/com/zeapo/pwdstore/utils')
-rw-r--r--app/src/main/java/com/zeapo/pwdstore/utils/PasswordRepository.kt39
-rw-r--r--app/src/main/java/com/zeapo/pwdstore/utils/PasswordSortOrder.kt46
2 files changed, 46 insertions, 39 deletions
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 6e090ba3..beb1c7b4 100644
--- a/app/src/main/java/com/zeapo/pwdstore/utils/PasswordRepository.kt
+++ b/app/src/main/java/com/zeapo/pwdstore/utils/PasswordRepository.kt
@@ -4,8 +4,6 @@
*/
package com.zeapo.pwdstore.utils
-import android.content.Context
-import android.content.SharedPreferences
import android.os.Build
import androidx.annotation.RequiresApi
import androidx.core.content.edit
@@ -17,7 +15,6 @@ import java.io.File
import java.io.FileFilter
import java.nio.file.Files
import java.nio.file.LinkOption
-import java.util.Comparator
import org.eclipse.jgit.api.Git
import org.eclipse.jgit.lib.Repository
import org.eclipse.jgit.storage.file.FileRepositoryBuilder
@@ -54,42 +51,6 @@ open class PasswordRepository protected constructor() {
}
}
- enum class PasswordSortOrder(val comparator: Comparator<PasswordItem>) {
-
- FOLDER_FIRST(Comparator { p1: PasswordItem, p2: PasswordItem ->
- (p1.type + p1.name)
- .compareTo(p2.type + p2.name, ignoreCase = true)
- }),
-
- INDEPENDENT(Comparator { p1: PasswordItem, p2: PasswordItem ->
- p1.name.compareTo(p2.name, ignoreCase = true)
- }),
-
- RECENTLY_USED(Comparator { p1: PasswordItem, p2: PasswordItem ->
- val recentHistory = Application.instance.getSharedPreferences("recent_password_history", Context.MODE_PRIVATE)
- val timeP1 = recentHistory.getString(p1.file.absolutePath.base64())
- val timeP2 = recentHistory.getString(p2.file.absolutePath.base64())
- when {
- timeP1 != null && timeP2 != null -> timeP2.compareTo(timeP1)
- timeP1 != null && timeP2 == null -> return@Comparator -1
- timeP1 == null && timeP2 != null -> return@Comparator 1
- else -> p1.name.compareTo(p2.name, ignoreCase = true)
- }
- }),
-
- FILE_FIRST(Comparator { p1: PasswordItem, p2: PasswordItem ->
- (p2.type + p1.name).compareTo(p1.type + p2.name, ignoreCase = true)
- });
-
- companion object {
-
- @JvmStatic
- fun getSortOrder(settings: SharedPreferences): PasswordSortOrder {
- return valueOf(settings.getString(PreferenceKeys.SORT_ORDER) ?: FOLDER_FIRST.name)
- }
- }
- }
-
companion object {
private var repository: Repository? = null
diff --git a/app/src/main/java/com/zeapo/pwdstore/utils/PasswordSortOrder.kt b/app/src/main/java/com/zeapo/pwdstore/utils/PasswordSortOrder.kt
new file mode 100644
index 00000000..0613c97d
--- /dev/null
+++ b/app/src/main/java/com/zeapo/pwdstore/utils/PasswordSortOrder.kt
@@ -0,0 +1,46 @@
+/*
+ * Copyright © 2014-2020 The Android Password Store Authors. All Rights Reserved.
+ * SPDX-License-Identifier: GPL-3.0-only
+ */
+
+package com.zeapo.pwdstore.utils
+
+import android.content.Context
+import android.content.SharedPreferences
+import com.zeapo.pwdstore.Application
+
+enum class PasswordSortOrder(val comparator: java.util.Comparator<PasswordItem>) {
+
+ FOLDER_FIRST(Comparator { p1: PasswordItem, p2: PasswordItem ->
+ (p1.type + p1.name)
+ .compareTo(p2.type + p2.name, ignoreCase = true)
+ }),
+
+ INDEPENDENT(Comparator { p1: PasswordItem, p2: PasswordItem ->
+ p1.name.compareTo(p2.name, ignoreCase = true)
+ }),
+
+ RECENTLY_USED(Comparator { p1: PasswordItem, p2: PasswordItem ->
+ val recentHistory = Application.instance.getSharedPreferences("recent_password_history", Context.MODE_PRIVATE)
+ val timeP1 = recentHistory.getString(p1.file.absolutePath.base64())
+ val timeP2 = recentHistory.getString(p2.file.absolutePath.base64())
+ when {
+ timeP1 != null && timeP2 != null -> timeP2.compareTo(timeP1)
+ timeP1 != null && timeP2 == null -> return@Comparator -1
+ timeP1 == null && timeP2 != null -> return@Comparator 1
+ else -> p1.name.compareTo(p2.name, ignoreCase = true)
+ }
+ }),
+
+ FILE_FIRST(Comparator { p1: PasswordItem, p2: PasswordItem ->
+ (p2.type + p1.name).compareTo(p1.type + p2.name, ignoreCase = true)
+ });
+
+ companion object {
+
+ @JvmStatic
+ fun getSortOrder(settings: SharedPreferences): PasswordSortOrder {
+ return valueOf(settings.getString(PreferenceKeys.SORT_ORDER) ?: FOLDER_FIRST.name)
+ }
+ }
+}