You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.3 KiB
49 lines
1.3 KiB
#!/vendor/bin/sh
|
|
# /vendor/bin/init.fingerprint.sh [max_init_retry_times]
|
|
|
|
# fps_hal service prop
|
|
fps_svc_prop='init.svc.vendor.fps_hal'
|
|
# fps_hal service name
|
|
fps_svc_name='vendor.fps_hal'
|
|
# fps_hal service init retry count
|
|
init_retry_count_prop='vendor.fps.init_retry.count'
|
|
# fps_hal service init succeed
|
|
init_succeed_prop='vendor.fps.init.succeed'
|
|
# Define maximum init retry times as default 10
|
|
max_times=10
|
|
|
|
# Deal with the input parameter
|
|
if [ "$#" -ge 1 ]; then
|
|
# Check is it positive number or not
|
|
# If so, then set maximum times as $1
|
|
# If not, $max_times keeps in default value
|
|
if [ "$1" -eq "$1" ] && [ "$1" -gt 0 ]; then
|
|
max_times=$1
|
|
echo $max_times
|
|
fi
|
|
fi
|
|
|
|
# fps_hal service init retry count
|
|
init_retry_count=0
|
|
|
|
while [ "$init_retry_count" -le "$max_times" ]
|
|
do
|
|
# debouncing time for init processing
|
|
sleep 5
|
|
# Get fps_hal service state and count init retry times
|
|
fps_svc_state=$(getprop $fps_svc_prop)
|
|
if [ "$fps_svc_state" == "stopped" ]; then
|
|
if [ "$init_retry_count" -lt "$max_times" ]; then
|
|
init_retry_count=$((init_retry_count+1))
|
|
setprop $init_retry_count_prop $init_retry_count
|
|
setprop $init_succeed_prop false
|
|
start $fps_svc_name
|
|
else
|
|
break;
|
|
fi
|
|
elif [ "$fps_svc_state" == "running" ]; then
|
|
setprop $init_succeed_prop true
|
|
break
|
|
fi
|
|
done
|