grendervill 0083a0fc66 AeroToss: скорость, входящая передача, share intent, ленивый фон
1. Скорость передачи:
- TransferProgress: lastUpdateTimeMs + lastBytesTransferred для расчёта
- Прогресс обновляется каждые 500мс вместо каждого чанка
- Скорость = (bytesDelta * 1000) / timeDelta — реальная скорость

2. Входящая передача:
- HomeScreen показывает статус входящей передачи
- Отдельная карточка для исходящих и входящих передач
- Кнопка отмены для исходящих передач

3. Android share intent:
- ACTION_SEND / ACTION_SEND_MULTIPLE в AndroidManifest
- При отправке файла из проводника появляется AeroToss
- Файлы копируются в temp директорию и отправляются

4. Ленивая работа в фоне:
- isActive / isTransferring флаги в TcpDiscovery
- Интервал broadcast: активен=3с, передача=1с, фон=15с
- Экономия батареи при простое
2026-08-20 00:40:00 +03:00

AeroToss

Кроссплатформенное приложение для передачи файлов между Android устройствами и компьютерами (Mac/Linux/Windows), а также между самими Android устройствами. Работает как удобный аналог AirDrop.

Возможности

  • Передача файлов в обе стороны: телефон ↔ компьютер, телефон ↔ телефон
  • Автоматическое обнаружение устройств в Wi-Fi сети (mDNS/Bonjour)
  • Автономный режим через Wi-Fi Direct (без роутера)
  • Передача файлов любого размера (стриминг чанками по 64 КБ)
  • Прогресс передачи, скорость, проверка целостности (SHA-256)

Поддерживаемые платформы

Платформа Статус
Android ✅ Поддерживается (Wi-Fi + Wi-Fi Direct)
macOS ✅ Поддерживается (Wi-Fi)
Linux ✅ Поддерживается (Wi-Fi)
Windows ✅ Поддерживается (Wi-Fi)

Стек технологий

  • Язык: Kotlin 2.3.21
  • UI: Compose Multiplatform 1.11.1
  • Обнаружение: mDNS — JMDNS 3.6.3 (desktop) / Android NSD API + Wi-Fi Direct P2P (Android)
  • Передача файлов: Java Socket + DataInputStream/DataOutputStream
  • Сборка: Gradle 8.13 + AGP 8.13.2

Лицензия

GNU General Public License v3.0 (GPLv3)

S
Description
No description provided
Readme 304 KiB
Languages
Kotlin 100%