Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3a8ce3f9 authored by Chaohui Wang's avatar Chaohui Wang Committed by Android (Google) Code Review
Browse files

Merge "Call wifiStatusTracker.fetchInitialState first" into main

parents d5225c23 0be6705d
Loading
Loading
Loading
Loading
+9 −3
Original line number Original line Diff line number Diff line
@@ -50,14 +50,20 @@ class WifiStatusRepository(
                var wifiStatusTracker: WifiStatusTracker? = null
                var wifiStatusTracker: WifiStatusTracker? = null
                wifiStatusTracker = wifiStatusTrackerFactory { wifiStatusTracker?.let(::trySend) }
                wifiStatusTracker = wifiStatusTrackerFactory { wifiStatusTracker?.let(::trySend) }


                // Fetches initial state first, before set listening to true, otherwise could cause
                // race condition.
                wifiStatusTracker.fetchInitialState()
                trySend(wifiStatusTracker)

                context
                context
                    .broadcastReceiverFlow(INTENT_FILTER)
                    .broadcastReceiverFlow(INTENT_FILTER)
                    .onEach { intent -> wifiStatusTracker.handleBroadcast(intent) }
                    .onEach { intent ->
                        wifiStatusTracker.handleBroadcast(intent)
                        trySend(wifiStatusTracker)
                    }
                    .launchIn(this)
                    .launchIn(this)


                wifiStatusTracker.setListening(true)
                wifiStatusTracker.setListening(true)
                wifiStatusTracker.fetchInitialState()
                trySend(wifiStatusTracker)


                awaitClose { wifiStatusTracker.setListening(false) }
                awaitClose { wifiStatusTracker.setListening(false) }
            }
            }