diff --git a/app/src/main/java/com/example/dronedetect/DroneSignalDetector.kt b/app/src/main/java/com/example/dronedetect/DroneSignalDetector.kt index 88c413e..b1d2180 100644 --- a/app/src/main/java/com/example/dronedetect/DroneSignalDetector.kt +++ b/app/src/main/java/com/example/dronedetect/DroneSignalDetector.kt @@ -6,19 +6,34 @@ import android.content.Intent import android.net.wifi.WifiManager import android.os.Handler import android.os.Looper +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.SupervisorJob +import kotlinx.coroutines.cancel +import kotlinx.coroutines.launch +import kotlinx.coroutines.withContext class DroneSignalDetector(private val context: Context) { private val handler = Handler(Looper.getMainLooper()) private val wifiManager = context.applicationContext.getSystemService(Context.WIFI_SERVICE) as WifiManager private val receiver = WifiScanReceiver() + private val scope = CoroutineScope(SupervisorJob() + Dispatchers.IO) fun startScan() { - // TODO: implement scanning logic + scope.launch { + fetchFlightData() + // TODO: implement scanning logic + } + } + + suspend fun fetchFlightData() = withContext(Dispatchers.IO) { + // TODO: implement fetching flight data } fun stopScan() { handler.removeCallbacksAndMessages(null) context.unregisterReceiver(receiver) + scope.cancel() } }