#!/usr/bin/env bash
# Запустить НА FEDORA перед отправкой файла с Mac.
#   bash prepare-receive-fedora.sh
set -euo pipefail

DEST="${1:-$HOME/Downloads}"
mkdir -p "$DEST"

printf '=== Приём файла по Bluetooth (Fedora) ===\n\n'

# obex user session (GNOME/KDE)
if systemctl --user list-unit-files 2>/dev/null | grep -q '^obex.service'; then
  systemctl --user start obex 2>/dev/null && printf '[ok] obex.service запущен\n' || true
fi

# obexpushd — слушает входящие push (если установлен)
if command -v obexpushd >/dev/null 2>&1; then
  printf '[ok] obexpushd → %s (Ctrl+C после приёма)\n' "$DEST"
  exec obexpushd -B -n -p "$DEST"
fi

printf 'Автоматический приём недоступен без obexpushd.\n\n'
printf 'Сделайте вручную (обязательно ДО отправки с Mac):\n'
printf '  1. Иконка Bluetooth (Blueman) в трее\n'
printf '  2. «Принять файл» / «Receive a File»\n'
printf '  3. Должен появиться диалог «Ожидание входящего файла…»\n\n'
printf 'Если Blueman нет:\n'
printf '  sudo dnf install blueman bluez-obexd\n'
printf '  blueman-applet &\n\n'
printf 'Затем на Mac:\n'
printf '  bash …/send-to-fedora-bluetooth.sh\n\n'

# Попытка открыть Blueman (GUI)
if command -v blueman-manager >/dev/null 2>&1; then
  blueman-manager >/dev/null 2>&1 &
fi

printf 'Ожидание файла в: %s\n' "$DEST"
printf 'Нажмите Ctrl+C когда файл получен.\n'

# Держим скрипт живым, пока пользователь жмёт Receive в Blueman
while true; do
  sleep 2
  if ls "$DEST"/fedora-bcm4322-wifi-fix.tar.gz >/dev/null 2>&1; then
    printf '\n[ok] Файл получен: %s/fedora-bcm4322-wifi-fix.tar.gz\n' "$DEST"
    exit 0
  fi
done
