add check_managed_features to installer.sh
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user