manager: disabled KMI/LKM installation

manager: check if overlayfs is available to allow mount system switching
ksud: disabled KMI/LKM commands
ci: disabled LKM build workflow
ksud: removed ksuinit
This commit is contained in:
rifsxd
2025-05-01 15:58:18 +06:00
parent 4f35240203
commit 1336996129
9 changed files with 135 additions and 134 deletions
@@ -34,7 +34,7 @@ import androidx.compose.ui.unit.dp
import androidx.core.content.pm.PackageInfoCompat
import com.ramcosta.composedestinations.annotation.Destination
import com.ramcosta.composedestinations.annotation.RootGraph
import com.ramcosta.composedestinations.generated.destinations.InstallScreenDestination
// import com.ramcosta.composedestinations.generated.destinations.InstallScreenDestination // DISBAND LKM MODE
import com.ramcosta.composedestinations.navigation.DestinationsNavigator
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext
@@ -60,9 +60,9 @@ fun HomeScreen(navigator: DestinationsNavigator) {
TopBar(
kernelVersion,
ksuVersion,
onInstallClick = {
navigator.navigate(InstallScreenDestination)
},
// onInstallClick = {
// navigator.navigate(InstallScreenDestination)
// }, // DISBAND LKM MODE
scrollBehavior = scrollBehavior
)
},
@@ -81,7 +81,7 @@ fun HomeScreen(navigator: DestinationsNavigator) {
}
StatusCard(kernelVersion, ksuVersion, lkmMode) {
navigator.navigate(InstallScreenDestination)
// navigator.navigate(InstallScreenDestination) // DISBAND LKM MODE
}
if (isManager && Natives.requireNewKernel()) {
WarningCard(
@@ -167,20 +167,20 @@ fun RebootDropdownItem(@StringRes id: Int, reason: String = "") {
private fun TopBar(
kernelVersion: KernelVersion,
ksuVersion: Int?,
onInstallClick: () -> Unit,
// onInstallClick: () -> Unit, // DISBAND LKM MODE
scrollBehavior: TopAppBarScrollBehavior? = null
) {
TopAppBar(
title = { Text(stringResource(R.string.app_name)) },
actions = {
if (kernelVersion.isGKI()) {
IconButton(onClick = onInstallClick) {
Icon(
imageVector = Icons.Filled.Archive,
contentDescription = stringResource(id = R.string.install)
)
}
}
// if (kernelVersion.isGKI()) {
// IconButton(onClick = onInstallClick) {
// Icon(
// imageVector = Icons.Filled.Archive,
// contentDescription = stringResource(id = R.string.install)
// )
// }
// } // DISBAND LKM MODE
if (ksuVersion != null) {
var showDropdown by remember { mutableStateOf(false) }
@@ -228,7 +228,9 @@ fun SettingScreen(navigator: DestinationsNavigator) {
var showRebootDialog by remember { mutableStateOf(false) }
if (ksuVersion != null) {
val isOverlayAvailable = overlayFsAvailable()
if (ksuVersion != null && isOverlayAvailable) {
SwitchItem(
icon = Icons.Filled.Build,
title = stringResource(id = R.string.use_overlay_fs),
@@ -336,23 +338,7 @@ fun SettingScreen(navigator: DestinationsNavigator) {
}
}
if (ksuVersion != null) {
val backupRestore = stringResource(id = R.string.backup_restore)
ListItem(
leadingContent = {
Icon(
Icons.Filled.Backup,
backupRestore
)
},
headlineContent = { Text(backupRestore) },
modifier = Modifier.clickable {
navigator.navigate(BackupRestoreScreenDestination)
}
)
}
if (useOverlayFs) {
if (isOverlayAvailable && useOverlayFs) {
val shrink = stringResource(id = R.string.shrink_sparse_image)
val shrinkMessage = stringResource(id = R.string.shrink_sparse_image_message)
ListItem(
@@ -376,6 +362,21 @@ fun SettingScreen(navigator: DestinationsNavigator) {
)
}
if (ksuVersion != null) {
val backupRestore = stringResource(id = R.string.backup_restore)
ListItem(
leadingContent = {
Icon(
Icons.Filled.Backup,
backupRestore
)
},
headlineContent = { Text(backupRestore) },
modifier = Modifier.clickable {
navigator.navigate(BackupRestoreScreenDestination)
}
)
}
val lkmMode = Natives.version >= Natives.MINIMAL_SUPPORTED_KERNEL_LKM && Natives.isLkmMode
if (lkmMode) {
Vendored Regular → Executable
View File