Send initial status for wifiStateFlow

To make sure this flow is never empty, use unknown as default.

Fix: 383050153
Flag: EXEMPT bug fix
Test: manual - on Network & internet
Test: unit test
Change-Id: Iaa421749ab917ebc651a95ccdf1a4ab1cb9ba112
This commit is contained in:
Chaohui Wang
2024-12-23 11:50:51 +08:00
parent 18fe317f1d
commit d830acf625
2 changed files with 27 additions and 14 deletions

View File

@@ -25,6 +25,7 @@ import com.android.settingslib.spaprivileged.framework.common.broadcastReceiverF
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.map
import kotlinx.coroutines.flow.onEach
import kotlinx.coroutines.flow.onStart
class WifiRepository(
private val context: Context,
@@ -32,11 +33,13 @@ class WifiRepository(
context.broadcastReceiverFlow(IntentFilter(WifiManager.WIFI_STATE_CHANGED_ACTION)),
) {
fun wifiStateFlow() = wifiStateChangedActionFlow
.map { intent ->
intent.getIntExtra(WifiManager.EXTRA_WIFI_STATE, WifiManager.WIFI_STATE_UNKNOWN)
}
.onEach { Log.d(TAG, "wifiStateFlow: $it") }
fun wifiStateFlow(): Flow<Int> =
wifiStateChangedActionFlow
.map { intent ->
intent.getIntExtra(WifiManager.EXTRA_WIFI_STATE, WifiManager.WIFI_STATE_UNKNOWN)
}
.onStart { emit(WifiManager.WIFI_STATE_UNKNOWN) }
.onEach { Log.d(TAG, "wifiStateFlow: $it") }
private companion object {
private const val TAG = "WifiRepository"