kernel/manager: No longer need to add unmounting for default mount points

This commit is contained in:
ShirkNeko
2025-11-20 20:28:00 +08:00
parent 954ecd9644
commit c574f39ae3
4 changed files with 22 additions and 66 deletions

View File

@@ -39,7 +39,6 @@ private val SPACING_LARGE = 16.dp
data class UmountPathEntry(
val path: String,
val flags: Int,
val isDefault: Boolean
)
@OptIn(ExperimentalMaterial3Api::class)
@@ -291,10 +290,7 @@ fun UmountPathCard(
Icon(
imageVector = Icons.Filled.Folder,
contentDescription = null,
tint = if (entry.isDefault)
MaterialTheme.colorScheme.primary
else
MaterialTheme.colorScheme.secondary,
tint = MaterialTheme.colorScheme.primary,
modifier = Modifier.size(24.dp)
)
@@ -311,35 +307,28 @@ fun UmountPathCard(
append(context.getString(R.string.flags))
append(": ")
append(entry.flags.toUmountFlagName(context))
if (entry.isDefault) {
append(" | ")
append(context.getString(R.string.default_entry))
}
},
style = MaterialTheme.typography.bodySmall,
color = MaterialTheme.colorScheme.onSurfaceVariant
)
}
if (!entry.isDefault) {
IconButton(
onClick = {
scope.launch {
if (confirmDialog.awaitConfirm(
title = context.getString(R.string.confirm_delete),
content = context.getString(R.string.confirm_delete_umount_path, entry.path)
) == ConfirmResult.Confirmed) {
onDelete()
}
IconButton(
onClick = {
scope.launch {
if (confirmDialog.awaitConfirm(
title = context.getString(R.string.confirm_delete),
content = context.getString(R.string.confirm_delete_umount_path, entry.path)
) == ConfirmResult.Confirmed) {
onDelete()
}
}
) {
Icon(
imageVector = Icons.Filled.Delete,
contentDescription = null,
tint = MaterialTheme.colorScheme.error
)
}
) {
Icon(
imageVector = Icons.Filled.Delete,
contentDescription = null,
tint = MaterialTheme.colorScheme.error
)
}
}
}
@@ -404,11 +393,10 @@ private fun parseUmountPaths(output: String): List<UmountPathEntry> {
return lines.drop(2).mapNotNull { line ->
val parts = line.trim().split(Regex("\\s+"))
if (parts.size >= 3) {
if (parts.size >= 2) {
UmountPathEntry(
path = parts[0],
flags = parts[1].toIntOrNull() ?: -1,
isDefault = parts[2].equals("Yes", ignoreCase = true)
flags = parts[1].toIntOrNull() ?: -1
)
} else null
}