add check_managed_features to installer.sh

This commit is contained in:
Ylarod
2025-11-03 09:55:32 +08:00
committed by ShirkNeko
parent 7ece40bb2c
commit ab8e966b7f

View File

@@ -248,6 +248,42 @@ api_level_arch_detect() {
# Module Related
#################
check_managed_features() {
local PROP_FILE=$1
local MANAGED_FEATURES=$(grep_prop ksu_managed_features "$PROP_FILE")
[ -z "$MANAGED_FEATURES" ] && return 0
ui_print "- Checking managed features: $MANAGED_FEATURES"
# Split features by comma
echo "$MANAGED_FEATURES" | tr ',' '\n' | while read -r feature; do
# Trim whitespace
feature=$(echo "$feature" | xargs)
[ -z "$feature" ] && continue
# Check feature status using ksud
local status=$(/data/adb/ksud feature check "$feature" 2>/dev/null)
case "$status" in
"unsupported")
ui_print "! WARNING: Feature '$feature' is NOT SUPPORTED by kernel"
ui_print "! This module may not work correctly!"
;;
"managed")
ui_print "! WARNING: Feature '$feature' is already MANAGED by another module"
ui_print "! Feature conflicts may occur!"
;;
"supported")
ui_print "- Feature '$feature' is supported and available"
;;
*)
ui_print "! WARNING: Unable to check feature '$feature' status"
;;
esac
done
}
set_perm() {
chown $2:$3 $1 || return 1
chmod $4 $1 || return 1
@@ -344,6 +380,9 @@ install_module() {
MODAUTH=`grep_prop author $TMPDIR/module.prop`
MODPATH=$MODULEROOT/$MODID
# Check managed features
check_managed_features $TMPDIR/module.prop
# Create mod paths
rm -rf $MODPATH
mkdir -p $MODPATH