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>
master
Maarten van Gompel 3 years ago committed by Stacy Harper
parent b4c1ccef76
commit e30aefc253
No known key found for this signature in database
GPG Key ID: 5BAC92328B7C5D65
  1. 46
      configs/default_hooks/postwake
  2. 53
      scripts/core/sxmo_postwake.sh
  3. 3
      scripts/core/sxmo_screenlock.sh

@ -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

@ -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…
Cancel
Save