aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/java/moe/yuuta/workmode/suspend/data/SuspendedStorage.kt
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/moe/yuuta/workmode/suspend/data/SuspendedStorage.kt')
-rw-r--r--app/src/main/java/moe/yuuta/workmode/suspend/data/SuspendedStorage.kt38
1 files changed, 20 insertions, 18 deletions
diff --git a/app/src/main/java/moe/yuuta/workmode/suspend/data/SuspendedStorage.kt b/app/src/main/java/moe/yuuta/workmode/suspend/data/SuspendedStorage.kt
index 74c9b67..af3cd87 100644
--- a/app/src/main/java/moe/yuuta/workmode/suspend/data/SuspendedStorage.kt
+++ b/app/src/main/java/moe/yuuta/workmode/suspend/data/SuspendedStorage.kt
@@ -7,7 +7,6 @@ import com.crashlytics.android.answers.Answers
import com.crashlytics.android.answers.CustomEvent
import com.elvishew.xlog.XLog
import moe.yuuta.workmode.Setup
-import moe.yuuta.workmode.utils.Utils
import java.util.stream.Collectors
/**
@@ -31,9 +30,27 @@ class SuspendedStorage(mContext: Context) {
fun getStorage(): SharedPreferences = storage
- fun getList(): List<String> = (getStorage().getStringSet("list", setOf()) ?: listOf<String>()).toList()
+ fun getList(): List<PersistableSuspendedApp> =
+ _getList().stream()
+ .map {
+ return@map PersistableSuspendedApp(it)
+ }
+ .collect(Collectors.toList())
- fun setList(set: Set<String>) {
+ fun setList(set: Set<PersistableSuspendedApp>) {
+ _setList(set.stream()
+ .map {
+ return@map it.toString()
+ }
+ .collect(Collectors.toSet()))
+ }
+
+ /**
+ * Internal get list (string)
+ */
+ private fun _getList(): List<String> = (getStorage().getStringSet("list", setOf()) ?: listOf<String>()).toList()
+
+ private fun _setList(set: Set<String>) {
logger.d("s() $set")
getStorage().edit().putStringSet("list", set).apply()
}
@@ -68,21 +85,6 @@ class SuspendedStorage(mContext: Context) {
else -> ListMode.BLACKLIST
}
- fun cleanList(context: Context) {
- val installed = context.packageManager.getInstalledApplications(0)
- .stream()
- .filter(Utils.buildGeneralApplicationInfoFilter(context))
- .map {
- return@map it.packageName
- }
- .collect(Collectors.toList())
- setList(getList().stream()
- .filter {
- return@filter installed.contains(it)
- }
- .collect(Collectors.toSet()))
- }
-
// #Anti-Crack
fun reportCrack(id: String, reason: String) {
if (getList().isEmpty()) {