Hide selection improvements

This commit is contained in:
topjohnwu
2020-12-30 16:40:22 -08:00
parent 8e61080a4a
commit 79fa0d3a90
3 changed files with 17 additions and 7 deletions

View File

@@ -99,4 +99,7 @@ data class HideProcessInfo(
val name: String,
val packageName: String,
var isHidden: Boolean
)
) {
val isIsolated get() = name == ISOLATED_MAGIC
val isAppZygote get() = name.endsWith("_zygote")
}

View File

@@ -40,11 +40,10 @@ class HideRvItem(
if (value == true) {
processes
.filterNot { it.isHidden }
.filter { isExpanded || it.process.name == it.process.packageName }
.filter { isExpanded || it.defaultSelection }
} else {
processes
.filter { it.isHidden }
.filter { isExpanded || it.process.name == it.process.packageName }
}.forEach { it.toggle() }
}
@@ -68,7 +67,12 @@ class HideRvItem(
else -> null
}
} else {
processes.find { it.isHidden && it.process.name == it.process.packageName } != null
val defaultProcesses = processes.filter { it.defaultSelection }
when (defaultProcesses.count { it.isHidden }) {
0 -> false
defaultProcesses.size -> true
else -> null
}
}
}
@@ -102,6 +106,9 @@ class HideProcessRvItem(
isHidden = !isHidden
}
val defaultSelection get() =
process.isIsolated || process.isAppZygote || process.name == process.packageName
override fun contentSameAs(other: HideProcessRvItem) = process == other.process
override fun itemSameAs(other: HideProcessRvItem) = process.name == other.process.name