#!/bin/bash # check-alarm-logs.sh # Author: Matthew Raymer # Description: Check logs around a specific time to see if alarm fired # Function to find adb command find_adb() { # Check if adb is in PATH if command -v adb >/dev/null 2>&1; then echo "adb" return 0 fi # Check for ANDROID_HOME if [ -n "$ANDROID_HOME" ] && [ -x "$ANDROID_HOME/platform-tools/adb" ]; then echo "$ANDROID_HOME/platform-tools/adb" return 0 fi # Check for local.properties local local_props="android/local.properties" if [ -f "$local_props" ]; then local sdk_dir=$(grep "^sdk.dir=" "$local_props" 2>/dev/null | cut -d'=' -f2 | sed 's/^[[:space:]]*//;s/[[:space:]]*$//' | sed "s|^file://||") if [ -n "$sdk_dir" ] && [ -x "$sdk_dir/platform-tools/adb" ]; then echo "$sdk_dir/platform-tools/adb" return 0 fi fi # Try common macOS locations local common_locations=( "$HOME/Library/Android/sdk" "$HOME/Android/Sdk" "$HOME/.android/sdk" ) for sdk_path in "${common_locations[@]}"; do if [ -x "$sdk_path/platform-tools/adb" ]; then echo "$sdk_path/platform-tools/adb" return 0 fi done # Not found return 1 } # Find adb ADB_CMD=$(find_adb) if [ $? -ne 0 ] || [ -z "$ADB_CMD" ]; then echo "Error: adb command not found!" exit 1 fi echo "Checking logs for alarm activity..." echo "Looking for: DN|RECEIVE_START, AlarmManager, DailyNotification, timesafari" echo "" # Check recent logs for alarm-related activity echo "=== Recent alarm/receiver logs ===" "$ADB_CMD" logcat -d | grep -iE "DN|RECEIVE_START|RECEIVE_ERR|alarm.*timesafari|daily.*notification|com\.timesafari\.daily" | tail -20 echo "" echo "=== All AlarmManager activity (last 50 lines) ===" "$ADB_CMD" logcat -d | grep -i "AlarmManager" | tail -50 echo "" echo "=== Check if alarm is still scheduled ===" echo "Run this to see all scheduled alarms:" echo " $ADB_CMD shell dumpsys alarm | grep -A 5 timesafari"