diff --git a/hidl/thermal/Android.bp b/hidl/thermal/Android.bp index 5fbad22b..f5e06463 100644 --- a/hidl/thermal/Android.bp +++ b/hidl/thermal/Android.bp @@ -41,6 +41,15 @@ cc_binary { "clang-analyzer-security*", ], tidy_flags: [ - "-warnings-as-errors=android-*,clang-analyzer-security*,cert-*" + "-warnings-as-errors=android-*,clang-analyzer-security*,cert-*" + ], +} + +sh_binary { + name: "thermal_logd.samsung", + src: "init.thermal.logging.sh", + vendor: true, + init_rc: [ + "samsung-thermal-logd.rc", ], } diff --git a/hidl/thermal/init.thermal.logging.sh b/hidl/thermal/init.thermal.logging.sh new file mode 100755 index 00000000..de385ab5 --- /dev/null +++ b/hidl/thermal/init.thermal.logging.sh @@ -0,0 +1,25 @@ +#!/vendor/bin/sh + +if [ $# -eq 1 ]; then + interval=$1 +else + exit 1 +fi + +while true +do + logline="tz:" + for f in /sys/class/thermal/thermal* + do + temp=`cat $f/temp` + logline+="|$temp" + done + logline+=" cdev:" + for f in /sys/class/thermal/cooling_device* + do + cur_state=`cat $f/cur_state` + logline+="|$cur_state" + done + log -p w -t THERMAL_LOG $logline + sleep $interval +done diff --git a/hidl/thermal/samsung-thermal-logd.rc b/hidl/thermal/samsung-thermal-logd.rc new file mode 100644 index 00000000..f973cbc9 --- /dev/null +++ b/hidl/thermal/samsung-thermal-logd.rc @@ -0,0 +1,14 @@ +on property:persist.vendor.log.thermal=1 + start vendor.thermal.logd + +on property:persist.vendor.log.thermal=0 + stop vendor.thermal.logd + +on property:persist.vendor.log.thermal=1 && property:persist.vendor.log.thermal.interval=* + restart vendor.thermal.logd + +service vendor.thermal.logd /vendor/bin/thermal_logd.samsung ${persist.vendor.log.thermal.interval:-5} + class main + user root + group root system + disabled