Merge pull request #8 from ShirkNeko/dev

Dev
This commit is contained in:
ShirkNeko
2025-03-31 22:34:09 +08:00
committed by GitHub
3 changed files with 9 additions and 25 deletions

View File

@@ -51,7 +51,6 @@ import androidx.compose.animation.shrinkVertically
import androidx.compose.runtime.saveable.rememberSaveable import androidx.compose.runtime.saveable.rememberSaveable
import shirkneko.zako.sukisu.ui.theme.CardConfig import shirkneko.zako.sukisu.ui.theme.CardConfig
import androidx.core.content.edit import androidx.core.content.edit
import shirkneko.zako.sukisu.ui.util.KernelConfigUtils.isKpmEnabled
@OptIn(ExperimentalMaterial3Api::class) @OptIn(ExperimentalMaterial3Api::class)
@Destination<RootGraph>(start = true) @Destination<RootGraph>(start = true)
@@ -156,11 +155,10 @@ fun HomeScreen(navigator: DestinationsNavigator) {
} }
InfoCard() InfoCard()
if (!isSimpleMode) { if (!isSimpleMode) {
ContributionCard()
DonateCard() DonateCard()
LearnMoreCard() LearnMoreCard()
ContributionCard()
} }
Spacer(Modifier) Spacer(Modifier)
} }
} }
@@ -351,13 +349,11 @@ private fun StatusCard(
} }
Spacer(modifier = Modifier.height(4.dp)) Spacer(modifier = Modifier.height(4.dp))
if (isKpmEnabled()) { val kpmVersion = getKpmVersion()
val kpmVersion = getKpmVersion() Text(
Text( text = stringResource(R.string.home_kpm_version, kpmVersion),
text = stringResource(R.string.home_kpm_version, kpmVersion), style = MaterialTheme.typography.bodyMedium
style = MaterialTheme.typography.bodyMedium )
)
}
} }
} }

View File

@@ -1,15 +0,0 @@
package shirkneko.zako.sukisu.ui.util
import java.io.File
object KernelConfigUtils {
fun isKpmEnabled(): Boolean {
return try {
val config = File("/proc/config.gz").readText()
config.contains("CONFIG_KPM=y")
} catch (e: Exception) {
false
}
}
}

View File

@@ -70,6 +70,9 @@ int main(int argc, char *argv[]) {
if (strcmp(argv[1], "load") == 0 && argc >= 3) { if (strcmp(argv[1], "load") == 0 && argc >= 3) {
// 加载 KPM 模块 // 加载 KPM 模块
ret = prctl(KSU_OPTIONS, CONTROL_CODE(SUKISU_KPM_LOAD), argv[2], (argc > 3 ? argv[3] : NULL), &out); ret = prctl(KSU_OPTIONS, CONTROL_CODE(SUKISU_KPM_LOAD), argv[2], (argc > 3 ? argv[3] : NULL), &out);
if(out == 0) {
printf("Success");
}
} else if (strcmp(argv[1], "unload") == 0 && argc >= 3) { } else if (strcmp(argv[1], "unload") == 0 && argc >= 3) {
// 卸载 KPM 模块 // 卸载 KPM 模块
ret = prctl(KSU_OPTIONS, CONTROL_CODE(SUKISU_KPM_UNLOAD), argv[2], NULL, &out); ret = prctl(KSU_OPTIONS, CONTROL_CODE(SUKISU_KPM_UNLOAD), argv[2], NULL, &out);