Merge "[SB Refactor] Support all possible data connection ints." into tm-qpr-dev am: 7183782a78 am: 54e506ff44
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/21161759 Change-Id: Iadbca4bc085539d6c25223ba8649ff0aff3d34fd Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -20,16 +20,21 @@ import android.telephony.TelephonyManager.DATA_CONNECTED
|
||||
import android.telephony.TelephonyManager.DATA_CONNECTING
|
||||
import android.telephony.TelephonyManager.DATA_DISCONNECTED
|
||||
import android.telephony.TelephonyManager.DATA_DISCONNECTING
|
||||
import android.telephony.TelephonyManager.DATA_HANDOVER_IN_PROGRESS
|
||||
import android.telephony.TelephonyManager.DATA_SUSPENDED
|
||||
import android.telephony.TelephonyManager.DATA_UNKNOWN
|
||||
import android.telephony.TelephonyManager.DataState
|
||||
|
||||
/** Internal enum representation of the telephony data connection states */
|
||||
enum class DataConnectionState(@DataState val dataState: Int) {
|
||||
Connected(DATA_CONNECTED),
|
||||
Connecting(DATA_CONNECTING),
|
||||
Disconnected(DATA_DISCONNECTED),
|
||||
Disconnecting(DATA_DISCONNECTING),
|
||||
Unknown(DATA_UNKNOWN),
|
||||
enum class DataConnectionState {
|
||||
Connected,
|
||||
Connecting,
|
||||
Disconnected,
|
||||
Disconnecting,
|
||||
Suspended,
|
||||
HandoverInProgress,
|
||||
Unknown,
|
||||
Invalid,
|
||||
}
|
||||
|
||||
fun @receiver:DataState Int.toDataConnectionType(): DataConnectionState =
|
||||
@@ -38,6 +43,8 @@ fun @receiver:DataState Int.toDataConnectionType(): DataConnectionState =
|
||||
DATA_CONNECTING -> DataConnectionState.Connecting
|
||||
DATA_DISCONNECTED -> DataConnectionState.Disconnected
|
||||
DATA_DISCONNECTING -> DataConnectionState.Disconnecting
|
||||
DATA_SUSPENDED -> DataConnectionState.Suspended
|
||||
DATA_HANDOVER_IN_PROGRESS -> DataConnectionState.HandoverInProgress
|
||||
DATA_UNKNOWN -> DataConnectionState.Unknown
|
||||
else -> throw IllegalArgumentException("unknown data state received $this")
|
||||
else -> DataConnectionState.Invalid
|
||||
}
|
||||
|
||||
@@ -94,7 +94,7 @@ data class MobileConnectionModel(
|
||||
) : Diffable<MobileConnectionModel> {
|
||||
override fun logDiffs(prevVal: MobileConnectionModel, row: TableRowLogger) {
|
||||
if (prevVal.dataConnectionState != dataConnectionState) {
|
||||
row.logChange(COL_CONNECTION_STATE, dataConnectionState.toString())
|
||||
row.logChange(COL_CONNECTION_STATE, dataConnectionState.name)
|
||||
}
|
||||
|
||||
if (prevVal.isEmergencyOnly != isEmergencyOnly) {
|
||||
@@ -139,7 +139,7 @@ data class MobileConnectionModel(
|
||||
}
|
||||
|
||||
override fun logFull(row: TableRowLogger) {
|
||||
row.logChange(COL_CONNECTION_STATE, dataConnectionState.toString())
|
||||
row.logChange(COL_CONNECTION_STATE, dataConnectionState.name)
|
||||
row.logChange(COL_EMERGENCY, isEmergencyOnly)
|
||||
row.logChange(COL_ROAMING, isRoaming)
|
||||
row.logChange(COL_OPERATOR, operatorAlphaShort)
|
||||
|
||||
@@ -41,6 +41,8 @@ import android.telephony.TelephonyManager.DATA_CONNECTED
|
||||
import android.telephony.TelephonyManager.DATA_CONNECTING
|
||||
import android.telephony.TelephonyManager.DATA_DISCONNECTED
|
||||
import android.telephony.TelephonyManager.DATA_DISCONNECTING
|
||||
import android.telephony.TelephonyManager.DATA_HANDOVER_IN_PROGRESS
|
||||
import android.telephony.TelephonyManager.DATA_SUSPENDED
|
||||
import android.telephony.TelephonyManager.DATA_UNKNOWN
|
||||
import android.telephony.TelephonyManager.ERI_OFF
|
||||
import android.telephony.TelephonyManager.ERI_ON
|
||||
@@ -254,6 +256,37 @@ class MobileConnectionRepositoryTest : SysuiTestCase() {
|
||||
job.cancel()
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testFlowForSubId_dataConnectionState_suspended() =
|
||||
runBlocking(IMMEDIATE) {
|
||||
var latest: MobileConnectionModel? = null
|
||||
val job = underTest.connectionInfo.onEach { latest = it }.launchIn(this)
|
||||
|
||||
val callback =
|
||||
getTelephonyCallbackForType<TelephonyCallback.DataConnectionStateListener>()
|
||||
callback.onDataConnectionStateChanged(DATA_SUSPENDED, 200 /* unused */)
|
||||
|
||||
assertThat(latest?.dataConnectionState).isEqualTo(DataConnectionState.Suspended)
|
||||
|
||||
job.cancel()
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testFlowForSubId_dataConnectionState_handoverInProgress() =
|
||||
runBlocking(IMMEDIATE) {
|
||||
var latest: MobileConnectionModel? = null
|
||||
val job = underTest.connectionInfo.onEach { latest = it }.launchIn(this)
|
||||
|
||||
val callback =
|
||||
getTelephonyCallbackForType<TelephonyCallback.DataConnectionStateListener>()
|
||||
callback.onDataConnectionStateChanged(DATA_HANDOVER_IN_PROGRESS, 200 /* unused */)
|
||||
|
||||
assertThat(latest?.dataConnectionState)
|
||||
.isEqualTo(DataConnectionState.HandoverInProgress)
|
||||
|
||||
job.cancel()
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testFlowForSubId_dataConnectionState_unknown() =
|
||||
runBlocking(IMMEDIATE) {
|
||||
@@ -269,6 +302,21 @@ class MobileConnectionRepositoryTest : SysuiTestCase() {
|
||||
job.cancel()
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testFlowForSubId_dataConnectionState_invalid() =
|
||||
runBlocking(IMMEDIATE) {
|
||||
var latest: MobileConnectionModel? = null
|
||||
val job = underTest.connectionInfo.onEach { latest = it }.launchIn(this)
|
||||
|
||||
val callback =
|
||||
getTelephonyCallbackForType<TelephonyCallback.DataConnectionStateListener>()
|
||||
callback.onDataConnectionStateChanged(45, 200 /* unused */)
|
||||
|
||||
assertThat(latest?.dataConnectionState).isEqualTo(DataConnectionState.Invalid)
|
||||
|
||||
job.cancel()
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testFlowForSubId_dataActivity() =
|
||||
runBlocking(IMMEDIATE) {
|
||||
|
||||
Reference in New Issue
Block a user