Merge changes from topic "wifi-data-activity-model" into tm-qpr-dev am: e2ccdcbec5
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20671506 Change-Id: Ia21b2e92c387e4944dc25a2850539b7314773808 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -14,20 +14,19 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.android.systemui.statusbar.pipeline.wifi.shared.model
|
package com.android.systemui.statusbar.pipeline.shared.data.model
|
||||||
|
|
||||||
import com.android.systemui.log.table.Diffable
|
import com.android.systemui.log.table.Diffable
|
||||||
import com.android.systemui.log.table.TableRowLogger
|
import com.android.systemui.log.table.TableRowLogger
|
||||||
|
|
||||||
/** Provides information on the current wifi activity. */
|
/** Provides information about the current data activity direction */
|
||||||
data class WifiActivityModel(
|
data class DataActivityModel(
|
||||||
/** True if the wifi has activity in (download). */
|
/** True if the connection has activity in (download). */
|
||||||
val hasActivityIn: Boolean,
|
val hasActivityIn: Boolean,
|
||||||
/** True if the wifi has activity out (upload). */
|
/** True if the connection has activity out (upload). */
|
||||||
val hasActivityOut: Boolean,
|
val hasActivityOut: Boolean,
|
||||||
) : Diffable<WifiActivityModel> {
|
) : Diffable<DataActivityModel> {
|
||||||
|
override fun logDiffs(prevVal: DataActivityModel, row: TableRowLogger) {
|
||||||
override fun logDiffs(prevVal: WifiActivityModel, row: TableRowLogger) {
|
|
||||||
if (prevVal.hasActivityIn != hasActivityIn) {
|
if (prevVal.hasActivityIn != hasActivityIn) {
|
||||||
row.logChange(COL_ACTIVITY_IN, hasActivityIn)
|
row.logChange(COL_ACTIVITY_IN, hasActivityIn)
|
||||||
}
|
}
|
||||||
@@ -42,6 +41,6 @@ data class WifiActivityModel(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const val ACTIVITY_PREFIX = "wifiActivity"
|
const val ACTIVITY_PREFIX = "dataActivity"
|
||||||
private const val COL_ACTIVITY_IN = "in"
|
private const val COL_ACTIVITY_IN = "in"
|
||||||
private const val COL_ACTIVITY_OUT = "out"
|
private const val COL_ACTIVITY_OUT = "out"
|
||||||
@@ -42,9 +42,8 @@ import com.android.systemui.statusbar.pipeline.dagger.WifiTableLog
|
|||||||
import com.android.systemui.statusbar.pipeline.shared.ConnectivityPipelineLogger
|
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.SB_LOGGING_TAG
|
||||||
import com.android.systemui.statusbar.pipeline.shared.ConnectivityPipelineLogger.Companion.logInputChange
|
import com.android.systemui.statusbar.pipeline.shared.ConnectivityPipelineLogger.Companion.logInputChange
|
||||||
|
import com.android.systemui.statusbar.pipeline.shared.data.model.DataActivityModel
|
||||||
import com.android.systemui.statusbar.pipeline.wifi.data.model.WifiNetworkModel
|
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 java.util.concurrent.Executor
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
import kotlinx.coroutines.CoroutineScope
|
import kotlinx.coroutines.CoroutineScope
|
||||||
@@ -74,7 +73,7 @@ interface WifiRepository {
|
|||||||
val wifiNetwork: StateFlow<WifiNetworkModel>
|
val wifiNetwork: StateFlow<WifiNetworkModel>
|
||||||
|
|
||||||
/** Observable for the current wifi network activity. */
|
/** Observable for the current wifi network activity. */
|
||||||
val wifiActivity: StateFlow<WifiActivityModel>
|
val wifiActivity: StateFlow<DataActivityModel>
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Real implementation of [WifiRepository]. */
|
/** Real implementation of [WifiRepository]. */
|
||||||
@@ -230,7 +229,7 @@ class WifiRepositoryImpl @Inject constructor(
|
|||||||
initialValue = WIFI_NETWORK_DEFAULT
|
initialValue = WIFI_NETWORK_DEFAULT
|
||||||
)
|
)
|
||||||
|
|
||||||
override val wifiActivity: StateFlow<WifiActivityModel> =
|
override val wifiActivity: StateFlow<DataActivityModel> =
|
||||||
if (wifiManager == null) {
|
if (wifiManager == null) {
|
||||||
Log.w(SB_LOGGING_TAG, "Null WifiManager; skipping activity callback")
|
Log.w(SB_LOGGING_TAG, "Null WifiManager; skipping activity callback")
|
||||||
flowOf(ACTIVITY_DEFAULT)
|
flowOf(ACTIVITY_DEFAULT)
|
||||||
@@ -238,7 +237,7 @@ class WifiRepositoryImpl @Inject constructor(
|
|||||||
conflatedCallbackFlow {
|
conflatedCallbackFlow {
|
||||||
val callback = TrafficStateCallback { state ->
|
val callback = TrafficStateCallback { state ->
|
||||||
logger.logInputChange("onTrafficStateChange", prettyPrintActivity(state))
|
logger.logInputChange("onTrafficStateChange", prettyPrintActivity(state))
|
||||||
trySend(trafficStateToWifiActivityModel(state))
|
trySend(trafficStateToDataActivityModel(state))
|
||||||
}
|
}
|
||||||
wifiManager.registerTrafficStateCallback(mainExecutor, callback)
|
wifiManager.registerTrafficStateCallback(mainExecutor, callback)
|
||||||
awaitClose { wifiManager.unregisterTrafficStateCallback(callback) }
|
awaitClose { wifiManager.unregisterTrafficStateCallback(callback) }
|
||||||
@@ -256,7 +255,9 @@ class WifiRepositoryImpl @Inject constructor(
|
|||||||
)
|
)
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
val ACTIVITY_DEFAULT = WifiActivityModel(hasActivityIn = false, hasActivityOut = false)
|
private const val ACTIVITY_PREFIX = "wifiActivity"
|
||||||
|
|
||||||
|
val ACTIVITY_DEFAULT = DataActivityModel(hasActivityIn = false, hasActivityOut = false)
|
||||||
// Start out with no known wifi network.
|
// Start out with no known wifi network.
|
||||||
// Note: [WifiStatusTracker] (the old implementation of connectivity logic) does do an
|
// Note: [WifiStatusTracker] (the old implementation of connectivity logic) does do an
|
||||||
// initial fetch to get a starting wifi network. But, it uses a deprecated API
|
// initial fetch to get a starting wifi network. But, it uses a deprecated API
|
||||||
@@ -265,8 +266,8 @@ class WifiRepositoryImpl @Inject constructor(
|
|||||||
// NetworkCallback inside [wifiNetwork] for our wifi network information.
|
// NetworkCallback inside [wifiNetwork] for our wifi network information.
|
||||||
val WIFI_NETWORK_DEFAULT = WifiNetworkModel.Inactive
|
val WIFI_NETWORK_DEFAULT = WifiNetworkModel.Inactive
|
||||||
|
|
||||||
private fun trafficStateToWifiActivityModel(state: Int): WifiActivityModel {
|
private fun trafficStateToDataActivityModel(state: Int): DataActivityModel {
|
||||||
return WifiActivityModel(
|
return DataActivityModel(
|
||||||
hasActivityIn = state == TrafficStateCallback.DATA_ACTIVITY_IN ||
|
hasActivityIn = state == TrafficStateCallback.DATA_ACTIVITY_IN ||
|
||||||
state == TrafficStateCallback.DATA_ACTIVITY_INOUT,
|
state == TrafficStateCallback.DATA_ACTIVITY_INOUT,
|
||||||
hasActivityOut = state == TrafficStateCallback.DATA_ACTIVITY_OUT ||
|
hasActivityOut = state == TrafficStateCallback.DATA_ACTIVITY_OUT ||
|
||||||
|
|||||||
@@ -19,10 +19,10 @@ package com.android.systemui.statusbar.pipeline.wifi.domain.interactor
|
|||||||
import android.net.wifi.WifiManager
|
import android.net.wifi.WifiManager
|
||||||
import com.android.systemui.dagger.SysUISingleton
|
import com.android.systemui.dagger.SysUISingleton
|
||||||
import com.android.systemui.statusbar.pipeline.shared.data.model.ConnectivitySlot
|
import com.android.systemui.statusbar.pipeline.shared.data.model.ConnectivitySlot
|
||||||
|
import com.android.systemui.statusbar.pipeline.shared.data.model.DataActivityModel
|
||||||
import com.android.systemui.statusbar.pipeline.shared.data.repository.ConnectivityRepository
|
import com.android.systemui.statusbar.pipeline.shared.data.repository.ConnectivityRepository
|
||||||
import com.android.systemui.statusbar.pipeline.wifi.data.model.WifiNetworkModel
|
import com.android.systemui.statusbar.pipeline.wifi.data.model.WifiNetworkModel
|
||||||
import com.android.systemui.statusbar.pipeline.wifi.data.repository.WifiRepository
|
import com.android.systemui.statusbar.pipeline.wifi.data.repository.WifiRepository
|
||||||
import com.android.systemui.statusbar.pipeline.wifi.shared.model.WifiActivityModel
|
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
import kotlinx.coroutines.flow.Flow
|
import kotlinx.coroutines.flow.Flow
|
||||||
import kotlinx.coroutines.flow.StateFlow
|
import kotlinx.coroutines.flow.StateFlow
|
||||||
@@ -50,8 +50,8 @@ interface WifiInteractor {
|
|||||||
/** Our current wifi network. See [WifiNetworkModel]. */
|
/** Our current wifi network. See [WifiNetworkModel]. */
|
||||||
val wifiNetwork: Flow<WifiNetworkModel>
|
val wifiNetwork: Flow<WifiNetworkModel>
|
||||||
|
|
||||||
/** Our current wifi activity. See [WifiActivityModel]. */
|
/** Our current wifi activity. See [DataActivityModel]. */
|
||||||
val activity: StateFlow<WifiActivityModel>
|
val activity: StateFlow<DataActivityModel>
|
||||||
|
|
||||||
/** True if we're configured to force-hide the wifi icon and false otherwise. */
|
/** True if we're configured to force-hide the wifi icon and false otherwise. */
|
||||||
val isForceHidden: Flow<Boolean>
|
val isForceHidden: Flow<Boolean>
|
||||||
@@ -82,7 +82,7 @@ class WifiInteractorImpl @Inject constructor(
|
|||||||
|
|
||||||
override val wifiNetwork: Flow<WifiNetworkModel> = wifiRepository.wifiNetwork
|
override val wifiNetwork: Flow<WifiNetworkModel> = wifiRepository.wifiNetwork
|
||||||
|
|
||||||
override val activity: StateFlow<WifiActivityModel> = wifiRepository.wifiActivity
|
override val activity: StateFlow<DataActivityModel> = wifiRepository.wifiActivity
|
||||||
|
|
||||||
override val isForceHidden: Flow<Boolean> = connectivityRepository.forceHiddenSlots.map {
|
override val isForceHidden: Flow<Boolean> = connectivityRepository.forceHiddenSlots.map {
|
||||||
it.contains(ConnectivitySlot.WIFI)
|
it.contains(ConnectivitySlot.WIFI)
|
||||||
|
|||||||
@@ -37,10 +37,10 @@ import com.android.systemui.statusbar.pipeline.airplane.ui.viewmodel.AirplaneMod
|
|||||||
import com.android.systemui.statusbar.pipeline.shared.ConnectivityConstants
|
import com.android.systemui.statusbar.pipeline.shared.ConnectivityConstants
|
||||||
import com.android.systemui.statusbar.pipeline.shared.ConnectivityPipelineLogger
|
import com.android.systemui.statusbar.pipeline.shared.ConnectivityPipelineLogger
|
||||||
import com.android.systemui.statusbar.pipeline.shared.ConnectivityPipelineLogger.Companion.logOutputChange
|
import com.android.systemui.statusbar.pipeline.shared.ConnectivityPipelineLogger.Companion.logOutputChange
|
||||||
|
import com.android.systemui.statusbar.pipeline.shared.data.model.DataActivityModel
|
||||||
import com.android.systemui.statusbar.pipeline.wifi.data.model.WifiNetworkModel
|
import com.android.systemui.statusbar.pipeline.wifi.data.model.WifiNetworkModel
|
||||||
import com.android.systemui.statusbar.pipeline.wifi.domain.interactor.WifiInteractor
|
import com.android.systemui.statusbar.pipeline.wifi.domain.interactor.WifiInteractor
|
||||||
import com.android.systemui.statusbar.pipeline.wifi.shared.WifiConstants
|
import com.android.systemui.statusbar.pipeline.wifi.shared.WifiConstants
|
||||||
import com.android.systemui.statusbar.pipeline.wifi.shared.model.WifiActivityModel
|
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
import kotlinx.coroutines.CoroutineScope
|
import kotlinx.coroutines.CoroutineScope
|
||||||
import kotlinx.coroutines.flow.Flow
|
import kotlinx.coroutines.flow.Flow
|
||||||
@@ -147,7 +147,7 @@ constructor(
|
|||||||
)
|
)
|
||||||
|
|
||||||
/** The wifi activity status. Null if we shouldn't display the activity status. */
|
/** The wifi activity status. Null if we shouldn't display the activity status. */
|
||||||
private val activity: Flow<WifiActivityModel?> =
|
private val activity: Flow<DataActivityModel?> =
|
||||||
if (!wifiConstants.shouldShowActivityConfig) {
|
if (!wifiConstants.shouldShowActivityConfig) {
|
||||||
flowOf(null)
|
flowOf(null)
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -16,9 +16,9 @@
|
|||||||
|
|
||||||
package com.android.systemui.statusbar.pipeline.wifi.data.repository
|
package com.android.systemui.statusbar.pipeline.wifi.data.repository
|
||||||
|
|
||||||
|
import com.android.systemui.statusbar.pipeline.shared.data.model.DataActivityModel
|
||||||
import com.android.systemui.statusbar.pipeline.wifi.data.model.WifiNetworkModel
|
import com.android.systemui.statusbar.pipeline.wifi.data.model.WifiNetworkModel
|
||||||
import com.android.systemui.statusbar.pipeline.wifi.data.repository.WifiRepositoryImpl.Companion.ACTIVITY_DEFAULT
|
import com.android.systemui.statusbar.pipeline.wifi.data.repository.WifiRepositoryImpl.Companion.ACTIVITY_DEFAULT
|
||||||
import com.android.systemui.statusbar.pipeline.wifi.shared.model.WifiActivityModel
|
|
||||||
import kotlinx.coroutines.flow.MutableStateFlow
|
import kotlinx.coroutines.flow.MutableStateFlow
|
||||||
import kotlinx.coroutines.flow.StateFlow
|
import kotlinx.coroutines.flow.StateFlow
|
||||||
|
|
||||||
@@ -35,7 +35,7 @@ class FakeWifiRepository : WifiRepository {
|
|||||||
override val wifiNetwork: StateFlow<WifiNetworkModel> = _wifiNetwork
|
override val wifiNetwork: StateFlow<WifiNetworkModel> = _wifiNetwork
|
||||||
|
|
||||||
private val _wifiActivity = MutableStateFlow(ACTIVITY_DEFAULT)
|
private val _wifiActivity = MutableStateFlow(ACTIVITY_DEFAULT)
|
||||||
override val wifiActivity: StateFlow<WifiActivityModel> = _wifiActivity
|
override val wifiActivity: StateFlow<DataActivityModel> = _wifiActivity
|
||||||
|
|
||||||
fun setIsWifiEnabled(enabled: Boolean) {
|
fun setIsWifiEnabled(enabled: Boolean) {
|
||||||
_isWifiEnabled.value = enabled
|
_isWifiEnabled.value = enabled
|
||||||
@@ -49,7 +49,7 @@ class FakeWifiRepository : WifiRepository {
|
|||||||
_wifiNetwork.value = wifiNetworkModel
|
_wifiNetwork.value = wifiNetworkModel
|
||||||
}
|
}
|
||||||
|
|
||||||
fun setWifiActivity(activity: WifiActivityModel) {
|
fun setWifiActivity(activity: DataActivityModel) {
|
||||||
_wifiActivity.value = activity
|
_wifiActivity.value = activity
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,10 +31,10 @@ import com.android.systemui.SysuiTestCase
|
|||||||
import com.android.systemui.broadcast.BroadcastDispatcher
|
import com.android.systemui.broadcast.BroadcastDispatcher
|
||||||
import com.android.systemui.log.table.TableLogBuffer
|
import com.android.systemui.log.table.TableLogBuffer
|
||||||
import com.android.systemui.statusbar.pipeline.shared.ConnectivityPipelineLogger
|
import com.android.systemui.statusbar.pipeline.shared.ConnectivityPipelineLogger
|
||||||
|
import com.android.systemui.statusbar.pipeline.shared.data.model.DataActivityModel
|
||||||
import com.android.systemui.statusbar.pipeline.wifi.data.model.WifiNetworkModel
|
import com.android.systemui.statusbar.pipeline.wifi.data.model.WifiNetworkModel
|
||||||
import com.android.systemui.statusbar.pipeline.wifi.data.repository.WifiRepositoryImpl.Companion.ACTIVITY_DEFAULT
|
import com.android.systemui.statusbar.pipeline.wifi.data.repository.WifiRepositoryImpl.Companion.ACTIVITY_DEFAULT
|
||||||
import com.android.systemui.statusbar.pipeline.wifi.data.repository.WifiRepositoryImpl.Companion.WIFI_NETWORK_DEFAULT
|
import com.android.systemui.statusbar.pipeline.wifi.data.repository.WifiRepositoryImpl.Companion.WIFI_NETWORK_DEFAULT
|
||||||
import com.android.systemui.statusbar.pipeline.wifi.shared.model.WifiActivityModel
|
|
||||||
import com.android.systemui.util.concurrency.FakeExecutor
|
import com.android.systemui.util.concurrency.FakeExecutor
|
||||||
import com.android.systemui.util.mockito.any
|
import com.android.systemui.util.mockito.any
|
||||||
import com.android.systemui.util.mockito.argumentCaptor
|
import com.android.systemui.util.mockito.argumentCaptor
|
||||||
@@ -724,7 +724,7 @@ class WifiRepositoryImplTest : SysuiTestCase() {
|
|||||||
fun wifiActivity_nullWifiManager_receivesDefault() = runBlocking(IMMEDIATE) {
|
fun wifiActivity_nullWifiManager_receivesDefault() = runBlocking(IMMEDIATE) {
|
||||||
underTest = createRepo(wifiManagerToUse = null)
|
underTest = createRepo(wifiManagerToUse = null)
|
||||||
|
|
||||||
var latest: WifiActivityModel? = null
|
var latest: DataActivityModel? = null
|
||||||
val job = underTest
|
val job = underTest
|
||||||
.wifiActivity
|
.wifiActivity
|
||||||
.onEach { latest = it }
|
.onEach { latest = it }
|
||||||
@@ -737,7 +737,7 @@ class WifiRepositoryImplTest : SysuiTestCase() {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun wifiActivity_callbackGivesNone_activityFlowHasNone() = runBlocking(IMMEDIATE) {
|
fun wifiActivity_callbackGivesNone_activityFlowHasNone() = runBlocking(IMMEDIATE) {
|
||||||
var latest: WifiActivityModel? = null
|
var latest: DataActivityModel? = null
|
||||||
val job = underTest
|
val job = underTest
|
||||||
.wifiActivity
|
.wifiActivity
|
||||||
.onEach { latest = it }
|
.onEach { latest = it }
|
||||||
@@ -746,7 +746,7 @@ class WifiRepositoryImplTest : SysuiTestCase() {
|
|||||||
getTrafficStateCallback().onStateChanged(TrafficStateCallback.DATA_ACTIVITY_NONE)
|
getTrafficStateCallback().onStateChanged(TrafficStateCallback.DATA_ACTIVITY_NONE)
|
||||||
|
|
||||||
assertThat(latest).isEqualTo(
|
assertThat(latest).isEqualTo(
|
||||||
WifiActivityModel(hasActivityIn = false, hasActivityOut = false)
|
DataActivityModel(hasActivityIn = false, hasActivityOut = false)
|
||||||
)
|
)
|
||||||
|
|
||||||
job.cancel()
|
job.cancel()
|
||||||
@@ -754,7 +754,7 @@ class WifiRepositoryImplTest : SysuiTestCase() {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun wifiActivity_callbackGivesIn_activityFlowHasIn() = runBlocking(IMMEDIATE) {
|
fun wifiActivity_callbackGivesIn_activityFlowHasIn() = runBlocking(IMMEDIATE) {
|
||||||
var latest: WifiActivityModel? = null
|
var latest: DataActivityModel? = null
|
||||||
val job = underTest
|
val job = underTest
|
||||||
.wifiActivity
|
.wifiActivity
|
||||||
.onEach { latest = it }
|
.onEach { latest = it }
|
||||||
@@ -763,7 +763,7 @@ class WifiRepositoryImplTest : SysuiTestCase() {
|
|||||||
getTrafficStateCallback().onStateChanged(TrafficStateCallback.DATA_ACTIVITY_IN)
|
getTrafficStateCallback().onStateChanged(TrafficStateCallback.DATA_ACTIVITY_IN)
|
||||||
|
|
||||||
assertThat(latest).isEqualTo(
|
assertThat(latest).isEqualTo(
|
||||||
WifiActivityModel(hasActivityIn = true, hasActivityOut = false)
|
DataActivityModel(hasActivityIn = true, hasActivityOut = false)
|
||||||
)
|
)
|
||||||
|
|
||||||
job.cancel()
|
job.cancel()
|
||||||
@@ -771,7 +771,7 @@ class WifiRepositoryImplTest : SysuiTestCase() {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun wifiActivity_callbackGivesOut_activityFlowHasOut() = runBlocking(IMMEDIATE) {
|
fun wifiActivity_callbackGivesOut_activityFlowHasOut() = runBlocking(IMMEDIATE) {
|
||||||
var latest: WifiActivityModel? = null
|
var latest: DataActivityModel? = null
|
||||||
val job = underTest
|
val job = underTest
|
||||||
.wifiActivity
|
.wifiActivity
|
||||||
.onEach { latest = it }
|
.onEach { latest = it }
|
||||||
@@ -780,7 +780,7 @@ class WifiRepositoryImplTest : SysuiTestCase() {
|
|||||||
getTrafficStateCallback().onStateChanged(TrafficStateCallback.DATA_ACTIVITY_OUT)
|
getTrafficStateCallback().onStateChanged(TrafficStateCallback.DATA_ACTIVITY_OUT)
|
||||||
|
|
||||||
assertThat(latest).isEqualTo(
|
assertThat(latest).isEqualTo(
|
||||||
WifiActivityModel(hasActivityIn = false, hasActivityOut = true)
|
DataActivityModel(hasActivityIn = false, hasActivityOut = true)
|
||||||
)
|
)
|
||||||
|
|
||||||
job.cancel()
|
job.cancel()
|
||||||
@@ -788,7 +788,7 @@ class WifiRepositoryImplTest : SysuiTestCase() {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun wifiActivity_callbackGivesInout_activityFlowHasInAndOut() = runBlocking(IMMEDIATE) {
|
fun wifiActivity_callbackGivesInout_activityFlowHasInAndOut() = runBlocking(IMMEDIATE) {
|
||||||
var latest: WifiActivityModel? = null
|
var latest: DataActivityModel? = null
|
||||||
val job = underTest
|
val job = underTest
|
||||||
.wifiActivity
|
.wifiActivity
|
||||||
.onEach { latest = it }
|
.onEach { latest = it }
|
||||||
@@ -796,7 +796,7 @@ class WifiRepositoryImplTest : SysuiTestCase() {
|
|||||||
|
|
||||||
getTrafficStateCallback().onStateChanged(TrafficStateCallback.DATA_ACTIVITY_INOUT)
|
getTrafficStateCallback().onStateChanged(TrafficStateCallback.DATA_ACTIVITY_INOUT)
|
||||||
|
|
||||||
assertThat(latest).isEqualTo(WifiActivityModel(hasActivityIn = true, hasActivityOut = true))
|
assertThat(latest).isEqualTo(DataActivityModel(hasActivityIn = true, hasActivityOut = true))
|
||||||
|
|
||||||
job.cancel()
|
job.cancel()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,10 +20,10 @@ import android.net.wifi.WifiManager
|
|||||||
import androidx.test.filters.SmallTest
|
import androidx.test.filters.SmallTest
|
||||||
import com.android.systemui.SysuiTestCase
|
import com.android.systemui.SysuiTestCase
|
||||||
import com.android.systemui.statusbar.pipeline.shared.data.model.ConnectivitySlot
|
import com.android.systemui.statusbar.pipeline.shared.data.model.ConnectivitySlot
|
||||||
|
import com.android.systemui.statusbar.pipeline.shared.data.model.DataActivityModel
|
||||||
import com.android.systemui.statusbar.pipeline.shared.data.repository.FakeConnectivityRepository
|
import com.android.systemui.statusbar.pipeline.shared.data.repository.FakeConnectivityRepository
|
||||||
import com.android.systemui.statusbar.pipeline.wifi.data.model.WifiNetworkModel
|
import com.android.systemui.statusbar.pipeline.wifi.data.model.WifiNetworkModel
|
||||||
import com.android.systemui.statusbar.pipeline.wifi.data.repository.FakeWifiRepository
|
import com.android.systemui.statusbar.pipeline.wifi.data.repository.FakeWifiRepository
|
||||||
import com.android.systemui.statusbar.pipeline.wifi.shared.model.WifiActivityModel
|
|
||||||
import com.google.common.truth.Truth.assertThat
|
import com.google.common.truth.Truth.assertThat
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.ExperimentalCoroutinesApi
|
import kotlinx.coroutines.ExperimentalCoroutinesApi
|
||||||
@@ -225,23 +225,23 @@ class WifiInteractorImplTest : SysuiTestCase() {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun activity_matchesRepoWifiActivity() = runBlocking(IMMEDIATE) {
|
fun activity_matchesRepoWifiActivity() = runBlocking(IMMEDIATE) {
|
||||||
var latest: WifiActivityModel? = null
|
var latest: DataActivityModel? = null
|
||||||
val job = underTest
|
val job = underTest
|
||||||
.activity
|
.activity
|
||||||
.onEach { latest = it }
|
.onEach { latest = it }
|
||||||
.launchIn(this)
|
.launchIn(this)
|
||||||
|
|
||||||
val activity1 = WifiActivityModel(hasActivityIn = true, hasActivityOut = true)
|
val activity1 = DataActivityModel(hasActivityIn = true, hasActivityOut = true)
|
||||||
wifiRepository.setWifiActivity(activity1)
|
wifiRepository.setWifiActivity(activity1)
|
||||||
yield()
|
yield()
|
||||||
assertThat(latest).isEqualTo(activity1)
|
assertThat(latest).isEqualTo(activity1)
|
||||||
|
|
||||||
val activity2 = WifiActivityModel(hasActivityIn = false, hasActivityOut = false)
|
val activity2 = DataActivityModel(hasActivityIn = false, hasActivityOut = false)
|
||||||
wifiRepository.setWifiActivity(activity2)
|
wifiRepository.setWifiActivity(activity2)
|
||||||
yield()
|
yield()
|
||||||
assertThat(latest).isEqualTo(activity2)
|
assertThat(latest).isEqualTo(activity2)
|
||||||
|
|
||||||
val activity3 = WifiActivityModel(hasActivityIn = true, hasActivityOut = false)
|
val activity3 = DataActivityModel(hasActivityIn = true, hasActivityOut = false)
|
||||||
wifiRepository.setWifiActivity(activity3)
|
wifiRepository.setWifiActivity(activity3)
|
||||||
yield()
|
yield()
|
||||||
assertThat(latest).isEqualTo(activity3)
|
assertThat(latest).isEqualTo(activity3)
|
||||||
|
|||||||
@@ -27,13 +27,13 @@ import com.android.systemui.statusbar.pipeline.airplane.ui.viewmodel.AirplaneMod
|
|||||||
import com.android.systemui.statusbar.pipeline.shared.ConnectivityConstants
|
import com.android.systemui.statusbar.pipeline.shared.ConnectivityConstants
|
||||||
import com.android.systemui.statusbar.pipeline.shared.ConnectivityPipelineLogger
|
import com.android.systemui.statusbar.pipeline.shared.ConnectivityPipelineLogger
|
||||||
import com.android.systemui.statusbar.pipeline.shared.data.model.ConnectivitySlot
|
import com.android.systemui.statusbar.pipeline.shared.data.model.ConnectivitySlot
|
||||||
|
import com.android.systemui.statusbar.pipeline.shared.data.model.DataActivityModel
|
||||||
import com.android.systemui.statusbar.pipeline.shared.data.repository.FakeConnectivityRepository
|
import com.android.systemui.statusbar.pipeline.shared.data.repository.FakeConnectivityRepository
|
||||||
import com.android.systemui.statusbar.pipeline.wifi.data.model.WifiNetworkModel
|
import com.android.systemui.statusbar.pipeline.wifi.data.model.WifiNetworkModel
|
||||||
import com.android.systemui.statusbar.pipeline.wifi.data.repository.FakeWifiRepository
|
import com.android.systemui.statusbar.pipeline.wifi.data.repository.FakeWifiRepository
|
||||||
import com.android.systemui.statusbar.pipeline.wifi.domain.interactor.WifiInteractor
|
import com.android.systemui.statusbar.pipeline.wifi.domain.interactor.WifiInteractor
|
||||||
import com.android.systemui.statusbar.pipeline.wifi.domain.interactor.WifiInteractorImpl
|
import com.android.systemui.statusbar.pipeline.wifi.domain.interactor.WifiInteractorImpl
|
||||||
import com.android.systemui.statusbar.pipeline.wifi.shared.WifiConstants
|
import com.android.systemui.statusbar.pipeline.wifi.shared.WifiConstants
|
||||||
import com.android.systemui.statusbar.pipeline.wifi.shared.model.WifiActivityModel
|
|
||||||
import com.android.systemui.statusbar.pipeline.wifi.ui.model.WifiIcon
|
import com.android.systemui.statusbar.pipeline.wifi.ui.model.WifiIcon
|
||||||
import com.google.common.truth.Truth.assertThat
|
import com.google.common.truth.Truth.assertThat
|
||||||
import kotlinx.coroutines.CoroutineScope
|
import kotlinx.coroutines.CoroutineScope
|
||||||
@@ -209,7 +209,7 @@ class WifiViewModelTest : SysuiTestCase() {
|
|||||||
.launchIn(this)
|
.launchIn(this)
|
||||||
|
|
||||||
// WHEN we update the repo to have activity
|
// WHEN we update the repo to have activity
|
||||||
val activity = WifiActivityModel(hasActivityIn = true, hasActivityOut = true)
|
val activity = DataActivityModel(hasActivityIn = true, hasActivityOut = true)
|
||||||
wifiRepository.setWifiActivity(activity)
|
wifiRepository.setWifiActivity(activity)
|
||||||
yield()
|
yield()
|
||||||
|
|
||||||
@@ -252,7 +252,7 @@ class WifiViewModelTest : SysuiTestCase() {
|
|||||||
.launchIn(this)
|
.launchIn(this)
|
||||||
|
|
||||||
// WHEN we update the repo to have activity
|
// WHEN we update the repo to have activity
|
||||||
val activity = WifiActivityModel(hasActivityIn = true, hasActivityOut = true)
|
val activity = DataActivityModel(hasActivityIn = true, hasActivityOut = true)
|
||||||
wifiRepository.setWifiActivity(activity)
|
wifiRepository.setWifiActivity(activity)
|
||||||
yield()
|
yield()
|
||||||
|
|
||||||
@@ -293,7 +293,7 @@ class WifiViewModelTest : SysuiTestCase() {
|
|||||||
.onEach { latestQs = it }
|
.onEach { latestQs = it }
|
||||||
.launchIn(this)
|
.launchIn(this)
|
||||||
|
|
||||||
val activity = WifiActivityModel(hasActivityIn = true, hasActivityOut = true)
|
val activity = DataActivityModel(hasActivityIn = true, hasActivityOut = true)
|
||||||
wifiRepository.setWifiActivity(activity)
|
wifiRepository.setWifiActivity(activity)
|
||||||
yield()
|
yield()
|
||||||
|
|
||||||
@@ -319,7 +319,7 @@ class WifiViewModelTest : SysuiTestCase() {
|
|||||||
.onEach { latest = it }
|
.onEach { latest = it }
|
||||||
.launchIn(this)
|
.launchIn(this)
|
||||||
|
|
||||||
val activity = WifiActivityModel(hasActivityIn = true, hasActivityOut = false)
|
val activity = DataActivityModel(hasActivityIn = true, hasActivityOut = false)
|
||||||
wifiRepository.setWifiActivity(activity)
|
wifiRepository.setWifiActivity(activity)
|
||||||
yield()
|
yield()
|
||||||
|
|
||||||
@@ -341,7 +341,7 @@ class WifiViewModelTest : SysuiTestCase() {
|
|||||||
.onEach { latest = it }
|
.onEach { latest = it }
|
||||||
.launchIn(this)
|
.launchIn(this)
|
||||||
|
|
||||||
val activity = WifiActivityModel(hasActivityIn = false, hasActivityOut = true)
|
val activity = DataActivityModel(hasActivityIn = false, hasActivityOut = true)
|
||||||
wifiRepository.setWifiActivity(activity)
|
wifiRepository.setWifiActivity(activity)
|
||||||
yield()
|
yield()
|
||||||
|
|
||||||
@@ -363,7 +363,7 @@ class WifiViewModelTest : SysuiTestCase() {
|
|||||||
.onEach { latest = it }
|
.onEach { latest = it }
|
||||||
.launchIn(this)
|
.launchIn(this)
|
||||||
|
|
||||||
val activity = WifiActivityModel(hasActivityIn = false, hasActivityOut = true)
|
val activity = DataActivityModel(hasActivityIn = false, hasActivityOut = true)
|
||||||
wifiRepository.setWifiActivity(activity)
|
wifiRepository.setWifiActivity(activity)
|
||||||
yield()
|
yield()
|
||||||
|
|
||||||
@@ -385,7 +385,7 @@ class WifiViewModelTest : SysuiTestCase() {
|
|||||||
.onEach { latest = it }
|
.onEach { latest = it }
|
||||||
.launchIn(this)
|
.launchIn(this)
|
||||||
|
|
||||||
val activity = WifiActivityModel(hasActivityIn = true, hasActivityOut = false)
|
val activity = DataActivityModel(hasActivityIn = true, hasActivityOut = false)
|
||||||
wifiRepository.setWifiActivity(activity)
|
wifiRepository.setWifiActivity(activity)
|
||||||
yield()
|
yield()
|
||||||
|
|
||||||
@@ -407,7 +407,7 @@ class WifiViewModelTest : SysuiTestCase() {
|
|||||||
.onEach { latest = it }
|
.onEach { latest = it }
|
||||||
.launchIn(this)
|
.launchIn(this)
|
||||||
|
|
||||||
val activity = WifiActivityModel(hasActivityIn = true, hasActivityOut = false)
|
val activity = DataActivityModel(hasActivityIn = true, hasActivityOut = false)
|
||||||
wifiRepository.setWifiActivity(activity)
|
wifiRepository.setWifiActivity(activity)
|
||||||
yield()
|
yield()
|
||||||
|
|
||||||
@@ -429,7 +429,7 @@ class WifiViewModelTest : SysuiTestCase() {
|
|||||||
.onEach { latest = it }
|
.onEach { latest = it }
|
||||||
.launchIn(this)
|
.launchIn(this)
|
||||||
|
|
||||||
val activity = WifiActivityModel(hasActivityIn = false, hasActivityOut = true)
|
val activity = DataActivityModel(hasActivityIn = false, hasActivityOut = true)
|
||||||
wifiRepository.setWifiActivity(activity)
|
wifiRepository.setWifiActivity(activity)
|
||||||
yield()
|
yield()
|
||||||
|
|
||||||
@@ -451,7 +451,7 @@ class WifiViewModelTest : SysuiTestCase() {
|
|||||||
.onEach { latest = it }
|
.onEach { latest = it }
|
||||||
.launchIn(this)
|
.launchIn(this)
|
||||||
|
|
||||||
val activity = WifiActivityModel(hasActivityIn = true, hasActivityOut = true)
|
val activity = DataActivityModel(hasActivityIn = true, hasActivityOut = true)
|
||||||
wifiRepository.setWifiActivity(activity)
|
wifiRepository.setWifiActivity(activity)
|
||||||
yield()
|
yield()
|
||||||
|
|
||||||
@@ -473,7 +473,7 @@ class WifiViewModelTest : SysuiTestCase() {
|
|||||||
.onEach { latest = it }
|
.onEach { latest = it }
|
||||||
.launchIn(this)
|
.launchIn(this)
|
||||||
|
|
||||||
val activity = WifiActivityModel(hasActivityIn = false, hasActivityOut = false)
|
val activity = DataActivityModel(hasActivityIn = false, hasActivityOut = false)
|
||||||
wifiRepository.setWifiActivity(activity)
|
wifiRepository.setWifiActivity(activity)
|
||||||
yield()
|
yield()
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user