[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:
Caitlin Shkuratov
2022-11-29 15:27:11 +00:00
parent eda61eeeeb
commit 8e91950d55
2 changed files with 41 additions and 3 deletions

View File

@@ -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(),

View File

@@ -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"