Changes from v1: This triggers the hook (without the 5 second sleep!) also when the unsuspendreason is modem or rtc, so the user can always override the behaviour and do what he/she wants. Signed-off-by: Stacy Harper <contact@stacyharper.net>master
parent
b4c1ccef76
commit
e30aefc253
3 changed files with 60 additions and 42 deletions
@ -1,45 +1,9 @@ |
|||||||
#!/usr/bin/env sh |
#!/usr/bin/env sh |
||||||
|
|
||||||
. "$(which sxmo_common.sh)" |
UNSUSPENDREASON="$1" |
||||||
|
|
||||||
if [ "$1" = "modem" ]; then |
#The UNSUSPENDREASON can be "usb power", "modem", "rtc" (real-time clock |
||||||
# Modem wakeup will be handled by the modemmonitor loops |
#periodic wakeup) or "button". You will likely want to check against this and |
||||||
# We should not manage the phone lock state here |
#decide what to do |
||||||
exit 0 |
|
||||||
fi |
|
||||||
|
|
||||||
REDLED_PATH="/sys/class/leds/red:indicator/brightness" |
# Add here whatever you want to do |
||||||
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=$! |
|
||||||
|
|
||||||
# Replace this by wathever you want to do |
|
||||||
sleep 5 |
|
||||||
|
@ -0,0 +1,53 @@ |
|||||||
|
#!/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 |
Loading…
Reference in new issue