safetynet-fix/riru/template/magisk_module/service.sh
osm0sis f09cb3dd6e
magisk: fix OnePlus display issues, reorganize props
- vendor.boot.verifiedbootstate was a "late_prop" in MagiskHide so needs to be set at boot_completed; this works around OnePlus display mode and in-display fingerprint reader breakage when this prop is reset to green earlier in the boot
- tidy up prop groupings and document them a bit more
2021-09-14 02:16:08 -03:00

40 lines
961 B
Bash

#!/system/bin/sh
# Conditional MagiskHide properties
maybe_set_prop() {
local prop="$1"
local contains="$2"
local value="$3"
if [[ "$(getprop "$prop")" == *"$contains"* ]]; then
resetprop "$prop" "$value"
fi
}
# Magisk recovery mode
maybe_set_prop ro.bootmode recovery unknown
maybe_set_prop ro.boot.mode recovery unknown
maybe_set_prop vendor.boot.mode recovery unknown
# MIUI cross-region flash
maybe_set_prop ro.boot.hwc CN GLOBAL
maybe_set_prop ro.boot.hwcountry China GLOBAL
resetprop --delete ro.build.selinux
# SELinux permissive
if [[ "$(cat /sys/fs/selinux/enforce)" == "0" ]]; then
chmod 640 /sys/fs/selinux/enforce
chmod 440 /sys/fs/selinux/policy
fi
# Late props which must be set after boot_completed
{
until [[ "$(getprop sys.boot_completed)" == "1" ]]; do
sleep 1
done
# avoid breaking OnePlus display modes/fingerprint scanners
resetprop vendor.boot.verifiedbootstate green
}&