On Android 15+ NsdManager.discoverServices() triggers an unavoidable system
consent dialog. This replaces the BLE/Network/USB tab bar with a single
scrollable device list and gates NSD behind an explicit user-initiated scan
toggle, preventing the dialog from appearing unexpectedly.
- Add gated NSD flow (flatMapLatest on isNetworkScanning) in ScannerViewModel
- Simplify GetDiscoveredDevicesUseCase to accept resolvedList as a parameter
- Create unified DeviceList composable with per-transport sections
- Add BLE scan toggle matching the network scan pattern
- Delete BLEDevices, NetworkDevices, UsbDevices, ConnectionsSegmentedBar
- Add onCleared() scan cleanup as a safety net
- Remove unused supportedDeviceTypes from ViewModel