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.
54 lines
1.2 KiB
54 lines
1.2 KiB
3 years ago
|
#!/usr/bin/env sh
|
||
|
|
||
|
. "$(which sxmo_common.sh)"
|
||
|
|
||
|
UNSUSPENDREASON="$1"
|
||
|
if [ "$UNSUSPENDREASON" = "modem" ] || [ "$UNSUSPENDREASON" = "rtc" ]; then
|
||
|
# Modem wakeup will be handled by the modemmonitor loops
|
||
|
# Rtc wakeup will eventually be handled by the rtcwake script
|
||
|
# We should not manage those phone lock state here
|
||
|
# we will still call the postwake hook though
|
||
|
sxmo_hooks.sh postwake "$UNSUSPENDREASON"
|
||
|
exit 0
|
||
|
fi
|
||
|
|
||
|
REDLED_PATH="/sys/class/leds/red:indicator/brightness"
|
||
|
BLUELED_PATH="/sys/class/leds/blue:indicator/brightness"
|
||
|
|
||
|
finish() {
|
||
|
kill $BLINKPID
|
||
|
|
||
|
echo 0 > "$REDLED_PATH"
|
||
|
echo 0 > "$BLUELED_PATH"
|
||
|
|
||
|
# Going back to crust
|
||
|
if [ "$(sxmo_screenlock.sh getCurState)" != "unlock" ]; then
|
||
|
sxmo_screenlock.sh crust
|
||
|
fi
|
||
|
|
||
|
exit 0
|
||
|
}
|
||
|
|
||
|
trap 'finish' TERM INT EXIT
|
||
|
|
||
|
blink() {
|
||
|
while [ "$(sxmo_screenlock.sh getCurState)" != "unlock" ]; do
|
||
|
echo 1 > "$REDLED_PATH"
|
||
|
echo 0 > "$BLUELED_PATH"
|
||
|
sleep 0.25
|
||
|
echo 0 > "$REDLED_PATH"
|
||
|
echo 1 > "$BLUELED_PATH"
|
||
|
sleep 0.25
|
||
|
done
|
||
|
}
|
||
|
|
||
|
blink &
|
||
|
BLINKPID=$!
|
||
|
|
||
|
# call the user hook, but ensure we wait at least 5 seconds which is essential for
|
||
|
# the unlock functionality to function well
|
||
|
sleep 5 &
|
||
|
SLEEPPID=$!
|
||
|
sxmo_hooks.sh postwake "$UNSUSPENDREASON"
|
||
|
wait $SLEEPPID
|