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.
52 lines
1.4 KiB
Bash
Executable File
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
|