Enhancements: - Adjusted the way the alarm sound is played by introducing a loop to increase volume gradually. - Utilized a loop to iterate over volume levels from 10 to 100 with increments of 10. - Replaced the previous mpv command with a loop to control the volume for a smoother alarm experience. Code Clarity: - Added comments to clarify the purpose of the loop and volume adjustment. Note: This modification provides a more gradual increase in volume for the morning alarm, enhancing the user experience.
56 lines
1.5 KiB
Bash
Executable File
56 lines
1.5 KiB
Bash
Executable File
#!/data/data/com.termux/files/usr/bin/zsh
|
|
#
|
|
# 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
|
|
|
|
# Increase volume and check notification
|
|
while true; do
|
|
increase_volume
|
|
check_notification
|
|
done &
|
|
|
|
## Play alarm sound
|
|
for ((volume = 20; volume <= 100; volume += 10)); do
|
|
echo "Actual volume: $volume"
|
|
/data/data/com.termux/files/usr/bin/mpv --replaygain=track --volume="$volume" /data/scripts/your-new-morning-alarm.ogg
|
|
done
|
|
|