re-adding a postwake wrapper script so the hook can be simplified
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>
This commit is contained in:
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
|
|
||||||
|
|
53
scripts/core/sxmo_postwake.sh
Executable file
53
scripts/core/sxmo_postwake.sh
Executable file
|
@ -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
|
|
@ -179,7 +179,8 @@ elif [ "$1" = "crust" ] ; then
|
||||||
if [ "$UNSUSPENDREASON" != "modem" ]; then
|
if [ "$UNSUSPENDREASON" != "modem" ]; then
|
||||||
echo 1200 > "$NETWORKRTCSCAN"
|
echo 1200 > "$NETWORKRTCSCAN"
|
||||||
fi
|
fi
|
||||||
sxmo_hooks.sh postwake "$UNSUSPENDREASON"
|
#this will in turn invoke the postwake hook
|
||||||
|
sxmo_postwake.sh "$UNSUSPENDREASON"
|
||||||
exit 0
|
exit 0
|
||||||
elif [ "$1" = "getCurState" ] ; then
|
elif [ "$1" = "getCurState" ] ; then
|
||||||
getCurState
|
getCurState
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue