[SB Refactor] Add table logging to the rest of the wifi repository.
Bug: 238425913 Test: `adb shell dumpsys activity service com.android.systemui/.SystemUIService WifiTableLog` -> has logs for enabled, default, activity Test: atest WifiRepositoryImplTest Change-Id: I1496b81509dc7abbce458c49102b7e83ae9b5479
This commit is contained in:
@@ -43,6 +43,7 @@ import com.android.systemui.statusbar.pipeline.shared.ConnectivityPipelineLogger
|
||||
import com.android.systemui.statusbar.pipeline.shared.ConnectivityPipelineLogger.Companion.SB_LOGGING_TAG
|
||||
import com.android.systemui.statusbar.pipeline.shared.ConnectivityPipelineLogger.Companion.logInputChange
|
||||
import com.android.systemui.statusbar.pipeline.wifi.data.model.WifiNetworkModel
|
||||
import com.android.systemui.statusbar.pipeline.wifi.shared.model.ACTIVITY_PREFIX
|
||||
import com.android.systemui.statusbar.pipeline.wifi.shared.model.WifiActivityModel
|
||||
import java.util.concurrent.Executor
|
||||
import javax.inject.Inject
|
||||
@@ -109,7 +110,12 @@ class WifiRepositoryImpl @Inject constructor(
|
||||
merge(wifiNetworkChangeEvents, wifiStateChangeEvents)
|
||||
.mapLatest { wifiManager.isWifiEnabled }
|
||||
.distinctUntilChanged()
|
||||
.logInputChange(logger, "enabled")
|
||||
.logDiffsForTable(
|
||||
wifiTableLogBuffer,
|
||||
columnPrefix = "",
|
||||
columnName = "isWifiEnabled",
|
||||
initialValue = wifiManager.isWifiEnabled,
|
||||
)
|
||||
.stateIn(
|
||||
scope = scope,
|
||||
started = SharingStarted.WhileSubscribed(),
|
||||
@@ -143,7 +149,12 @@ class WifiRepositoryImpl @Inject constructor(
|
||||
awaitClose { connectivityManager.unregisterNetworkCallback(callback) }
|
||||
}
|
||||
.distinctUntilChanged()
|
||||
.logInputChange(logger, "isWifiDefault")
|
||||
.logDiffsForTable(
|
||||
wifiTableLogBuffer,
|
||||
columnPrefix = "",
|
||||
columnName = "isWifiDefault",
|
||||
initialValue = false,
|
||||
)
|
||||
.stateIn(
|
||||
scope,
|
||||
started = SharingStarted.WhileSubscribed(),
|
||||
@@ -233,6 +244,11 @@ class WifiRepositoryImpl @Inject constructor(
|
||||
awaitClose { wifiManager.unregisterTrafficStateCallback(callback) }
|
||||
}
|
||||
}
|
||||
.logDiffsForTable(
|
||||
wifiTableLogBuffer,
|
||||
columnPrefix = ACTIVITY_PREFIX,
|
||||
initialValue = ACTIVITY_DEFAULT,
|
||||
)
|
||||
.stateIn(
|
||||
scope,
|
||||
started = SharingStarted.WhileSubscribed(),
|
||||
|
||||
@@ -16,10 +16,32 @@
|
||||
|
||||
package com.android.systemui.statusbar.pipeline.wifi.shared.model
|
||||
|
||||
import com.android.systemui.log.table.Diffable
|
||||
import com.android.systemui.log.table.TableRowLogger
|
||||
|
||||
/** Provides information on the current wifi activity. */
|
||||
data class WifiActivityModel(
|
||||
/** True if the wifi has activity in (download). */
|
||||
val hasActivityIn: Boolean,
|
||||
/** True if the wifi has activity out (upload). */
|
||||
val hasActivityOut: Boolean,
|
||||
)
|
||||
) : Diffable<WifiActivityModel> {
|
||||
|
||||
override fun logDiffs(prevVal: WifiActivityModel, row: TableRowLogger) {
|
||||
if (prevVal.hasActivityIn != hasActivityIn) {
|
||||
row.logChange(COL_ACTIVITY_IN, hasActivityIn)
|
||||
}
|
||||
if (prevVal.hasActivityOut != hasActivityOut) {
|
||||
row.logChange(COL_ACTIVITY_OUT, hasActivityOut)
|
||||
}
|
||||
}
|
||||
|
||||
override fun logFull(row: TableRowLogger) {
|
||||
row.logChange(COL_ACTIVITY_IN, hasActivityIn)
|
||||
row.logChange(COL_ACTIVITY_OUT, hasActivityOut)
|
||||
}
|
||||
}
|
||||
|
||||
const val ACTIVITY_PREFIX = "wifiActivity"
|
||||
private const val COL_ACTIVITY_IN = "in"
|
||||
private const val COL_ACTIVITY_OUT = "out"
|
||||
|
||||
Reference in New Issue
Block a user