wecker/morning-alarm.sh
Ratatoskr fe66c936c4
Refactor morning-alarm.sh script
Adjusted comments and translated the comments and script messages into English for better clarity. The script now provides more informative output during its execution, including status messages for Bluetooth operations, volume adjustment, and alarm notification checks. Additionally, introduced error handling for Bluetooth and volume adjustment operations to ensure the script exits gracefully in case of failures.

The main program section and function names have been retained for continuity, but the script's overall readability and understandability have been improved through language translation and comments rephrasing.
2024-01-26 23:47:02 +01:00

52 lines
1.4 KiB
Bash
Executable File

#!/bin/sh
#
# Alarm Control Script
#
# This script controls the alarm on the Android device.
# It turns off Bluetooth, increases the volume, and checks if the alarm has been dismissed.
# After the alarm is dismissed, it plays the alarm sound.
echo "Script executed at: $(date)" > /data/scripts/morning-alarm.log
# Function to turn off Bluetooth
turn_off_bluetooth() {
echo "Turning off Bluetooth."
svc bluetooth disable || { echo "Error turning off Bluetooth." ; exit 1; }
}
# Function to increase the volume
increase_volume() {
echo "Increasing volume."
cmd media_session volume --set 15 --stream 9 || { echo "Error increasing volume." ; exit 1; }
}
# Function to check the alarm notification
check_notification() {
# Run the dumpsys command within a timeout
output=$(timeout 5s dumpsys activity processes | grep "com.urbandroid.sleep/")
# Check if the result is not empty and contains the alarm
if [ -n "$output" ] && echo "$output" | grep -q "AlarmKlaxon"; then
date && echo "Alarm not dismissed yet."
else
date && echo "Alarm dismissed."
killall mpv
echo "$output"
exit
fi
}
# Main program
# Turn off Bluetooth
turn_off_bluetooth
# Play alarm sound
/data/data/com.termux/files/usr/bin/mpv --replaygain=track --loop=inf /data/scripts/your-new-morning-alarm.ogg &
# Increase volume and check notification
while true; do
increase_volume
check_notification
done