AeroToss: полный рефакторинг discovery

- TcpDiscovery принимает DeviceType в конструкторе (PHONE/DESKTOP)
- Desktop: type=DESKTOP, Phone: type=PHONE (больше не захардкожено)
- Удалён NSD discovery из Android (только TCP + Wi-Fi Direct)
- CompositeAndroidDiscovery больше не использует AndroidNsdDiscovery
- Удалён UdpBroadcastDiscovery (дублировал TcpDiscovery)
- deviceType теперь корректно передаётся в DiscoveryResponse
- hostAddress теперь всегда содержит реальный IP
This commit is contained in:
2026-08-19 23:24:01 +03:00
parent 2800f862b7
commit 827d431311
4 changed files with 85 additions and 171 deletions
@@ -5,12 +5,13 @@ import androidx.compose.ui.window.Window
import androidx.compose.ui.window.application
import com.aerotoss.core.AeroTossManager
import com.aerotoss.discovery.TcpDiscovery
import com.aerotoss.model.DeviceType
import com.aerotoss.transfer.DesktopFileTransferManager
import com.aerotoss.ui.App
fun main() = application {
val transferManager = remember { DesktopFileTransferManager() }
val discoveryManager = remember { TcpDiscovery() }
val discoveryManager = remember { TcpDiscovery(DeviceType.DESKTOP) }
val manager = remember { AeroTossManager(discoveryManager, transferManager) }
LaunchedEffect(Unit) {
@@ -19,10 +20,7 @@ fun main() = application {
}
Window(
onCloseRequest = {
manager.dispose()
exitApplication()
},
onCloseRequest = { manager.dispose(); exitApplication() },
title = "AeroToss"
) {
App(manager)